Michael Glanznig <nebulon42@yandex.com>
Petr Kadlec <mormegil@centrum.cz>
Richard Fairhurst <richard@systemeD.net> <richard@systemed.net>
-Simon Poole <simon@poole.ch> <simon@rails-dev.poole.ch>
+Simon Poole <simon@poole.ch> <simon@rails-dev.poole.ch> <simonpoole@users.noreply.github.com>
Rails/SkipsModelValidations:
Exclude:
- 'db/migrate/*.rb'
- - 'app/controllers/user_controller.rb'
+ - 'app/controllers/users_controller.rb'
Style/BracesAroundHashParameters:
EnforcedStyle: context_dependent
Style/IfInsideElse:
Enabled: false
-Style/GlobalVars:
- Exclude:
- - 'lib/quad_tile/extconf.rb'
-
Style/GuardClause:
Enabled: false
- 'app/controllers/geocoder_controller.rb'
- 'app/controllers/notes_controller.rb'
- 'app/controllers/traces_controller.rb'
- - 'app/controllers/user_controller.rb'
+ - 'app/controllers/users_controller.rb'
- 'app/controllers/user_preferences_controller.rb'
- 'app/helpers/application_helper.rb'
- 'app/helpers/browse_helper.rb'
- 'app/models/client_application.rb'
- - 'app/models/notifier.rb'
+ - 'app/mailers/notifier.rb'
- 'lib/nominatim.rb'
- 'lib/osm.rb'
- 'script/deliver-message'
Lint/HandleExceptions:
Exclude:
- 'app/controllers/amf_controller.rb'
- - 'app/controllers/user_controller.rb'
+ - 'app/controllers/users_controller.rb'
# Offense count: 692
Metrics/AbcSize:
- Max: 280
+ Max: 283
# Offense count: 40
# Configuration parameters: CountComments, ExcludedMethods.
# ExcludedMethods: refine
Metrics/BlockLength:
- Max: 259
+ Max: 262
# Offense count: 11
# Configuration parameters: CountBlocks.
# Offense count: 63
# Configuration parameters: CountComments.
Metrics/ClassLength:
- Max: 1795
+ Max: 1801
# Offense count: 72
Metrics/CyclomaticComplexity:
# Offense count: 20
Rails/OutputSafety:
Exclude:
- - 'app/controllers/user_controller.rb'
+ - 'app/controllers/users_controller.rb'
- 'app/helpers/application_helper.rb'
- 'app/helpers/changeset_helper.rb'
- 'app/helpers/geocoder_helper.rb'
sudo: false
language: ruby
rvm:
- - 2.3.1
+ - 2.3.3
cache: bundler
addons:
postgresql: 9.5
# Load rails plugins
gem "actionpack-page_caching"
+gem "cancancan"
gem "composite_primary_keys", "~> 11.0.0"
+gem "delayed_job_active_record"
gem "dynamic_form"
gem "http_accept_language", "~> 2.0.0"
gem "i18n-js", ">= 3.0.0"
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionpack-page_caching (1.1.0)
+ actionpack-page_caching (1.1.1)
actionpack (>= 4.0.0, < 6)
actionview (5.2.0)
activesupport (= 5.2.0)
bootsnap (1.3.2)
msgpack (~> 1.0)
builder (3.2.3)
+ cancancan (2.1.3)
canonical-rails (0.2.4)
rails (>= 4.1, < 5.3)
capybara (2.18.0)
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.4)
- dalli (2.7.8)
+ dalli (2.7.9)
debug_inspector (0.0.3)
+ delayed_job (4.1.5)
+ activesupport (>= 3.0, < 5.3)
+ delayed_job_active_record (4.1.3)
+ activerecord (>= 3.0, < 5.3)
+ delayed_job (>= 3.0, < 5)
docile (1.3.1)
dynamic_form (1.1.4)
erubi (1.7.1)
factory_bot_rails (4.11.1)
factory_bot (~> 4.11.1)
railties (>= 3.0.0)
- faraday (0.12.2)
+ faraday (0.15.3)
multipart-post (>= 1.2, < 3)
ffi (1.9.25)
fspath (3.1.0)
http_accept_language (2.0.5)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
- i18n-js (3.0.11)
+ i18n-js (3.1.0)
i18n (>= 0.6.6, < 2)
- image_optim (0.26.2)
+ image_optim (0.26.3)
exifr (~> 1.2, >= 1.2.2)
fspath (~> 3.0)
image_size (>= 1.5, < 3)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
logstash-event (1.2.02)
- logstasher (1.2.2)
+ logstasher (1.3.0)
activesupport (>= 4.0)
logstash-event (~> 1.2.0)
request_store
- loofah (2.2.2)
+ loofah (2.2.3)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
- mail (2.7.0)
+ mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (0.3.3)
mimemagic (~> 0.3.2)
multi_xml (0.6.0)
multipart-post (2.0.0)
nio4r (2.3.1)
- nokogiri (1.8.4)
+ nokogiri (1.8.5)
mini_portile2 (~> 2.3.0)
- nokogumbo (1.5.0)
- nokogiri
+ nokogumbo (2.0.0)
+ nokogiri (~> 1.8, >= 1.8.4)
oauth (0.4.7)
oauth-plugin (0.5.1)
multi_json
oauth (~> 0.4.4)
oauth2 (>= 0.5.0)
rack
- oauth2 (1.4.0)
- faraday (>= 0.8, < 0.13)
- jwt (~> 1.0)
+ oauth2 (1.4.1)
+ faraday (>= 0.8, < 0.16.0)
+ jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
mimemagic (~> 0.3.0)
terrapin (~> 0.6.0)
parallel (1.12.1)
- parser (2.5.1.2)
+ parser (2.5.3.0)
ast (~> 2.4.0)
pg (0.21.0)
poltergeist (1.18.1)
cliver (~> 0.3.1)
websocket-driver (>= 0.2.0)
powerpack (0.1.2)
- progress (3.4.0)
- psych (3.0.2)
+ progress (3.5.0)
+ psych (3.0.3)
public_suffix (3.0.3)
puma (3.12.0)
quad_tile (1.0.1)
request_store (1.4.1)
rack (>= 1.4)
rinku (2.0.4)
- rotp (3.3.1)
- rubocop (0.59.1)
+ rotp (4.0.2)
+ addressable (~> 2.5)
+ rubocop (0.60.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.5, != 2.5.1.1)
powerpack (~> 0.1)
rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (~> 1.0, >= 1.0.1)
+ unicode-display_width (~> 1.4.0)
ruby-openid (2.7.0)
ruby-progressbar (1.10.0)
ruby_dep (1.5.0)
safe_yaml (1.0.4)
- sanitize (4.6.6)
+ sanitize (5.0.0)
crass (~> 1.0.2)
- nokogiri (>= 1.4.4)
- nokogumbo (~> 1.4)
- sass (3.6.0)
- sass-listen (~> 4.0.0)
- sass-listen (4.0.0)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
- sassc (1.12.1)
+ nokogiri (>= 1.8.0)
+ nokogumbo (~> 2.0)
+ sassc (2.0.0)
ffi (~> 1.9.6)
- sass (>= 3.3.0)
- sassc-rails (1.3.0)
+ rake
+ sassc-rails (2.0.0)
railties (>= 4.0.0)
- sass
- sassc (~> 1.9)
- sprockets (> 2.11)
+ sassc (>= 2.0)
+ sprockets (> 3.0)
sprockets-rails
tilt
secure_headers (6.0.0)
thor (0.19.4)
thread_safe (0.3.6)
tilt (2.0.8)
- tins (1.16.3)
+ tins (1.17.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uglifier (4.1.19)
unicode-display_width (1.4.0)
validates_email_format_of (1.6.3)
i18n
- vendorer (0.1.16)
+ vendorer (0.2.0)
webmock (3.4.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
websocket-driver (0.7.0)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
- xpath (3.1.0)
+ xpath (3.2.0)
nokogiri (~> 1.8)
PLATFORMS
bigdecimal (~> 1.1.0)
binding_of_caller
bootsnap (>= 1.1.0)
+ cancancan
canonical-rails
capybara (~> 2.13)
coffee-rails (~> 4.2)
composite_primary_keys (~> 11.0.0)
coveralls
dalli
+ delayed_job_active_record
dynamic_form
factory_bot_rails
faraday
--- /dev/null
+# frozen_string_literal: true
+
+class Ability
+ include CanCan::Ability
+
+ def initialize(user)
+ can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :preview, :copyright, :key, :id], :site
+ can [:index, :rss, :show, :comments], DiaryEntry
+ can [:search, :search_latlon, :search_ca_postcode, :search_osm_nominatim,
+ :search_geonames, :search_osm_nominatim_reverse, :search_geonames_reverse], :geocoder
+
+ if user
+ can :welcome, :site
+ can [:create, :edit, :comment, :subscribe, :unsubscribe], DiaryEntry
+ can [:new, :create], Report
+ can [:read, :read_one, :update, :update_one, :delete_one], UserPreference
+
+ if user.moderator?
+ can [:index, :show, :resolve, :ignore, :reopen], Issue
+ can :create, IssueComment
+ end
+
+ if user.administrator?
+ can [:hide, :hidecomment], [DiaryEntry, DiaryComment]
+ can [:index, :show, :resolve, :ignore, :reopen], Issue
+ can :create, IssueComment
+ end
+ end
+
+ # Define abilities for the passed in user here. For example:
+ #
+ # user ||= User.new # guest user (not logged in)
+ # if user.admin?
+ # can :manage, :all
+ # else
+ # can :read, :all
+ # end
+ #
+ # The first argument to `can` is the action you are giving the user
+ # permission to do.
+ # If you pass :manage it will apply to every action. Other common actions
+ # here are :read, :create, :update and :destroy.
+ #
+ # The second argument is the resource the user can perform the action on.
+ # If you pass :all it will apply to every resource. Otherwise pass a Ruby
+ # class of the resource.
+ #
+ # The third argument is an optional hash of conditions to further filter the
+ # objects.
+ # For example, here the user can only update published articles.
+ #
+ # can :update, Article, :published => true
+ #
+ # See the wiki for details:
+ # https://github.com/CanCanCommunity/cancancan/wiki/Defining-Abilities
+ end
+end
--- /dev/null
+# frozen_string_literal: true
+
+class Capability
+ include CanCan::Ability
+
+ def initialize(token)
+ can [:read, :read_one], UserPreference if capability?(token, :allow_read_prefs)
+ can [:update, :update_one, :delete_one], UserPreference if capability?(token, :allow_write_prefs)
+ end
+
+ private
+
+ def capability?(token, cap)
+ token&.read_attribute(cap)
+ end
+end
});
}
- function updateMap() {
+ var changesets = [];
+
+ function updateBounds() {
group.clearLayers();
- var changesets = [];
+ changesets.forEach(function(changeset) {
+ var bottomLeft = map.project(L.latLng(changeset.bbox.minlat, changeset.bbox.minlon)),
+ topRight = map.project(L.latLng(changeset.bbox.maxlat, changeset.bbox.maxlon)),
+ width = topRight.x - bottomLeft.x,
+ height = bottomLeft.y - topRight.y,
+ minSize = 20; // Min width/height of changeset in pixels
+
+ if (width < minSize) {
+ bottomLeft.x -= ((minSize - width) / 2);
+ topRight.x += ((minSize - width) / 2);
+ }
- $("[data-changeset]").each(function () {
- var changeset = $(this).data('changeset');
- if (changeset.bbox) {
- changeset.bounds = L.latLngBounds(
- [changeset.bbox.minlat, changeset.bbox.minlon],
- [changeset.bbox.maxlat, changeset.bbox.maxlon]);
- changesets.push(changeset);
+ if (height < minSize) {
+ bottomLeft.y += ((minSize - height) / 2);
+ topRight.y -= ((minSize - height) / 2);
}
+
+ changeset.bounds = L.latLngBounds(map.unproject(bottomLeft),
+ map.unproject(topRight));
});
changesets.sort(function (a, b) {
rect.id = changeset.id;
rect.addTo(group);
}
+ }
+
+ function updateMap() {
+ changesets = $("[data-changeset]").map(function (index,element) {
+ return $(element).data('changeset');
+ }).get().filter(function (changeset) {
+ return changeset.bbox;
+ });
+
+ updateBounds();
if (window.location.pathname !== '/history') {
var bounds = group.getBounds();
map.on("moveend", update);
}
+ map.on("zoomend", updateBounds);
+
update();
};
margin: $lineheight/2 0;
p {
- margin-left: 10px;
+ margin: 10px 6px 0 6px;
+ line-height: 1.5;
}
}
#maxlat { margin-top: -1px; }
#minlon {
float: left;
- margin-left: -1px;
+ /* no-r2 */ margin-left: -1px;
}
#maxlon {
float: right;
- margin-right: -1px;
+ /* no-r2 */ margin-right: -1px;
}
#minlat { margin-bottom: 0; }
}
/* Overrides for pages that use new layout conventions */
-.user-new,
-.user-create,
-.user-terms {
+.users-new,
+.users-create,
+.users-terms {
.content-body .content-inner {
padding: 0;
}
}
-.user-new,
-.user-create,
-.user-terms,
-.user-confirm {
+.users-new,
+.users-create,
+.users-terms,
+.users-confirm {
.content-heading .content-inner {
height: 200px;
}
margin-left: 70px;
}
-.user-show {
+.users-show {
// Silly exception; remove when user page is redesigned.
.content-inner {
max-width: none;
/* Rules for the account confirmation page */
-.user-terms {
+.users-terms {
.legale {
border: 1px solid #ccc;
padding: $lineheight;
font-size: 13px;
background: #e8e8e8;
padding: 2px 3px;
+ white-space: pre-wrap;
code {
padding: 0;
protect_from_forgery :with => :exception
+ rescue_from CanCan::AccessDenied, :with => :deny_access
+
before_action :fetch_body
around_action :better_errors_allow_inline, :if => proc { Rails.env.development? }
session.delete(:user)
session_expires_automatically
- redirect_to :controller => "user", :action => "suspended"
+ redirect_to :controller => "users", :action => "suspended"
# don't allow access to any auth-requiring part of the site unless
# the new CTs have been seen (and accept/decline chosen).
elsif !current_user.terms_seen && flash[:skip_terms].nil?
- flash[:notice] = t "user.terms.you need to accept or decline"
+ flash[:notice] = t "users.terms.you need to accept or decline"
if params[:referer]
- redirect_to :controller => "user", :action => "terms", :referer => params[:referer]
+ redirect_to :controller => "users", :action => "terms", :referer => params[:referer]
else
- redirect_to :controller => "user", :action => "terms", :referer => request.fullpath
+ redirect_to :controller => "users", :action => "terms", :referer => request.fullpath
end
end
elsif session[:token]
def require_user
unless current_user
if request.get?
- redirect_to :controller => "user", :action => "login", :referer => request.fullpath
+ redirect_to :controller => "users", :action => "login", :referer => request.fullpath
else
head :forbidden
end
##
# render a "no such user" page
def render_unknown_user(name)
- @title = t "user.no_such_user.title"
+ @title = t "users.no_such_user.title"
@not_found_user = name
respond_to do |format|
- format.html { render :template => "user/no_such_user", :status => :not_found }
+ format.html { render :template => "users/no_such_user", :status => :not_found }
format.all { head :not_found }
end
end
raise
end
+ def current_ability
+ # Add in capabilities from the oauth token if it exists and is a valid access token
+ if Authenticator.new(self, [:token]).allow?
+ Ability.new(current_user).merge(Capability.new(current_token))
+ else
+ Ability.new(current_user)
+ end
+ end
+
+ def deny_access(_exception)
+ if current_token
+ set_locale
+ report_error t("oauth.permissions.missing"), :forbidden
+ elsif current_user
+ set_locale
+ report_error t("application.permission_denied"), :forbidden
+ elsif request.get?
+ redirect_to :controller => "users", :action => "login", :referer => request.fullpath
+ else
+ head :forbidden
+ end
+ end
+
private
# extract authorisation credentials from headers, returns user = nil if none
@node_pages, @nodes = paginate(:old_nodes, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "node_page")
@way_pages, @ways = paginate(:old_ways, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "way_page")
@relation_pages, @relations = paginate(:old_relations, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "relation_page")
- if @changeset.user.data_public?
+ if @changeset.user.active? && @changeset.user.data_public?
@next_by_user = @changeset.user.changesets.where("id > ?", @changeset.id).reorder(:id => :asc).first
@prev_by_user = @changeset.user.changesets.where("id < ?", @changeset.id).reorder(:id => :desc).first
end
# Notify current subscribers of the new comment
changeset.subscribers.visible.each do |user|
- Notifier.changeset_comment_notification(comment, user).deliver_now if current_user != user
+ Notifier.changeset_comment_notification(comment, user).deliver_later if current_user != user
end
# Add the commenter to the subscribers if necessary
before_action :authorize_web
before_action :set_locale
- before_action :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
+
+ authorize_resource
+
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, :index, :show, :comments]
def new
# Notify current subscribers of the new comment
@entry.subscribers.visible.each do |user|
- Notifier.diary_comment_notification(@diary_comment, user).deliver_now if current_user != user
+ Notifier.diary_comment_notification(@diary_comment, user).deliver_later if current_user != user
end
# Add the commenter to the subscribers if necessary
private
+ # This is required because, being a default-deny system, cancancan
+ # _cannot_ tell you the reason you were denied access; and so
+ # the "nice" feedback presenting next steps can't be gleaned from
+ # the exception
+ ##
+ # for the hide actions, require that the user is a administrator, or fill out
+ # a helpful error message and return them to the user page.
+ def deny_access(exception)
+ if current_user && exception.action.in?([:hide, :hidecomment])
+ flash[:error] = t("users.filter.not_an_administrator")
+ redirect_to :action => "show"
+ else
+ super
+ end
+ end
+
##
# return permitted diary entry parameters
def entry_params
params.require(:diary_comment).permit(:body)
end
- ##
- # require that the user is a administrator, or fill out a helpful error message
- # and return them to the user page.
- def require_administrator
- unless current_user.administrator?
- flash[:error] = t("user.filter.not_an_administrator")
- redirect_to :action => "show"
- end
- end
-
##
# decide on a location for the diary entry map
def set_map_location
before_action :authorize_web
before_action :set_locale
- before_action :require_user
- before_action :check_permission
+
+ authorize_resource
def create
@issue = Issue.find(params[:issue_id])
params.require(:issue_comment).permit(:body)
end
- def check_permission
- unless current_user.administrator? || current_user.moderator?
+ def deny_access(_exception)
+ if current_user
flash[:error] = t("application.require_moderator_or_admin.not_a_moderator_or_admin")
redirect_to root_path
+ else
+ super
end
end
before_action :authorize_web
before_action :set_locale
- before_action :require_user
- before_action :check_permission
+
+ authorize_resource
+
before_action :find_issue, :only => [:show, :resolve, :reopen, :ignore]
def index
@issue = Issue.find(params[:id])
end
- def check_permission
- unless current_user.administrator? || current_user.moderator?
+ def deny_access(_exception)
+ if current_user
flash[:error] = t("application.require_moderator_or_admin.not_a_moderator_or_admin")
redirect_to root_path
+ else
+ super
end
end
end
render :action => "new"
elsif @message.save
flash[:notice] = t ".message_sent"
- Notifier.message_notification(@message).deliver_now
+ Notifier.message_notification(@message).deliver_later
redirect_to :action => :inbox
else
render :action => "new"
render :action => "new"
else
flash[:notice] = t ".wrong_user", :user => current_user.display_name
- redirect_to :controller => "user", :action => "login", :referer => request.fullpath
+ redirect_to :controller => "users", :action => "login", :referer => request.fullpath
end
rescue ActiveRecord::RecordNotFound
@title = t "messages.no_such_message.title"
@message.save
else
flash[:notice] = t ".wrong_user", :user => current_user.display_name
- redirect_to :controller => "user", :action => "login", :referer => request.fullpath
+ redirect_to :controller => "users", :action => "login", :referer => request.fullpath
end
rescue ActiveRecord::RecordNotFound
@title = t "messages.no_such_message.title"
# Destroy the message.
def destroy
- @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:message_id])
+ @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:id])
@message.from_user_visible = false if @message.sender == current_user
@message.to_user_visible = false if @message.recipient == current_user
if @message.save && !request.xhr?
##
# Return a list of notes matching a given string
def search
- # Check the arguments are sane
- raise OSM::APIBadUserInput, "No query string was given" unless params[:q]
-
- # Get any conditions that need to be applied
+ # Get the initial set of notes
@notes = closed_condition(Note.all)
- @notes = @notes.joins(:comments).where("to_tsvector('english', note_comments.body) @@ plainto_tsquery('english', ?)", params[:q])
+
+ # Add any user filter
+ if params[:display_name] || params[:user]
+ if params[:display_name]
+ @user = User.find_by(:display_name => params[:display_name])
+
+ raise OSM::APIBadUserInput, "User #{params[:display_name]} not known" unless @user
+ else
+ @user = User.find_by(:id => params[:user])
+
+ raise OSM::APIBadUserInput, "User #{params[:user]} not known" unless @user
+ end
+
+ @notes = @notes.joins(:comments).where(:note_comments => { :author_id => @user })
+ end
+
+ # Add any text filter
+ @notes = @notes.joins(:comments).where("to_tsvector('english', note_comments.body) @@ plainto_tsquery('english', ?)", params[:q]) if params[:q]
+
+ # Add any date filter
+ if params[:from]
+ begin
+ from = Time.parse(params[:from])
+ rescue ArgumentError
+ raise OSM::APIBadUserInput, "Date #{params[:from]} is in a wrong format"
+ end
+
+ begin
+ to = if params[:to]
+ Time.parse(params[:to])
+ else
+ Time.now
+ end
+ rescue ArgumentError
+ raise OSM::APIBadUserInput, "Date #{params[:to]} is in a wrong format"
+ end
+
+ @notes = @notes.where(:created_at => from..to)
+ end
# Find the notes we want to return
@notes = @notes.order("updated_at DESC").limit(result_limit).preload(:comments)
@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"
+ @title = t "users.no_such_user.title"
@not_found_user = params[:display_name]
- render :template => "user/no_such_user", :status => :not_found
+ render :template => "users/no_such_user", :status => :not_found
end
end
end
comment = note.comments.create!(attributes)
note.comments.map(&:author).uniq.each do |user|
- Notifier.note_comment_notification(comment, user).deliver_now if notify && user && user != current_user && user.visible?
+ Notifier.note_comment_notification(comment, user).deliver_later if notify && user && user != current_user && user.visible?
end
end
end
before_action :authorize_web
before_action :set_locale
- before_action :require_user
+
+ authorize_resource
def new
if required_new_report_params_present?
before_action :set_locale
before_action :redirect_browse_params, :only => :index
before_action :redirect_map_params, :only => [:index, :edit, :export]
- before_action :require_user, :only => [:welcome]
before_action :require_oauth, :only => [:index]
before_action :update_totp, :only => [:index]
+ authorize_resource :class => false
+
def index
session[:location] ||= OSM.ip_location(request.env["REMOTE_ADDR"]) unless STATUS == :database_readonly || STATUS == :database_offline
end
class UserPreferencesController < ApplicationController
skip_before_action :verify_authenticity_token
before_action :authorize
- before_action :require_allow_read_prefs, :only => [:read_one, :read]
- before_action :require_allow_write_prefs, :except => [:read_one, :read]
+
+ authorize_resource
+
around_action :api_call_handle_error
##
-class UserController < ApplicationController
+class UsersController < ApplicationController
layout "site", :except => [:api_details]
skip_before_action :verify_authenticity_token, :only => [:api_read, :api_users, :api_details, :api_gpx_files, :auth_success]
if request.xhr?
render :partial => "terms"
else
- @title = t "user.terms.title"
+ @title = t "users.terms.title"
if current_user&.terms_agreed?
# Already agreed to terms, so just show settings
end
def save
- @title = t "user.new.title"
+ @title = t "users.new.title"
if params[:decline]
if current_user
current_user.terms_seen = true
- flash[:notice] = t("user.new.terms declined", :url => t("user.new.terms declined url")).html_safe if current_user.save
+ flash[:notice] = t("users.new.terms declined", :url => t("users.new.terms declined url")).html_safe if current_user.save
if params[:referer]
redirect_to params[:referer]
redirect_to :action => :account, :display_name => current_user.display_name
end
else
- redirect_to t("user.terms.declined")
+ redirect_to t("users.terms.declined")
end
elsif current_user
unless current_user.terms_agreed?
current_user.terms_agreed = Time.now.getutc
current_user.terms_seen = true
- flash[:notice] = t "user.new.terms accepted" if current_user.save
+ flash[:notice] = t "users.new.terms accepted" if current_user.save
end
if params[:referer]
successful_login(current_user)
else
session[:token] = current_user.tokens.create.token
- Notifier.signup_confirm(current_user, current_user.tokens.create(:referer => referer)).deliver_now
+ Notifier.signup_confirm(current_user, current_user.tokens.create(:referer => referer)).deliver_later
redirect_to :action => "confirm", :display_name => current_user.display_name
end
else
current_user.errors.add(attribute, error)
end
end
- @title = t "user.account.title"
+ @title = t "users.account.title"
end
def go_public
current_user.data_public = true
current_user.save
- flash[:notice] = t "user.go_public.flash success"
+ flash[:notice] = t "users.go_public.flash success"
redirect_to :action => "account", :display_name => current_user.display_name
end
def lost_password
- @title = t "user.lost_password.title"
+ @title = t "users.lost_password.title"
if params[:user] && params[:user][:email]
user = User.visible.find_by(:email => params[:user][:email])
if user
token = user.tokens.create
- Notifier.lost_password(user, token).deliver_now
- flash[:notice] = t "user.lost_password.notice email on way"
+ Notifier.lost_password(user, token).deliver_later
+ flash[:notice] = t "users.lost_password.notice email on way"
redirect_to :action => "login"
else
- flash.now[:error] = t "user.lost_password.notice email cannot find"
+ flash.now[:error] = t "users.lost_password.notice email cannot find"
end
end
end
def reset_password
- @title = t "user.reset_password.title"
+ @title = t "users.reset_password.title"
if params[:token]
token = UserToken.find_by(:token => params[:token])
if current_user.save
token.destroy
- flash[:notice] = t "user.reset_password.flash changed"
+ flash[:notice] = t "users.reset_password.flash changed"
successful_login(current_user)
end
end
else
- flash[:error] = t "user.reset_password.flash token bad"
+ flash[:error] = t "users.reset_password.flash token bad"
redirect_to :action => "lost_password"
end
else
end
def new
- @title = t "user.new.title"
+ @title = t "users.new.title"
@referer = params[:referer] || session[:referer]
append_content_security_policy_directives(
end
def logout
- @title = t "user.logout.title"
+ @title = t "users.logout.title"
if params[:session] == session.id
if session[:token]
if request.post?
token = UserToken.find_by(:token => params[:confirm_string])
if token&.user&.active?
- flash[:error] = t("user.confirm.already active")
+ flash[:error] = t("users.confirm.already active")
redirect_to :action => "login"
elsif !token || token.expired?
- flash[:error] = t("user.confirm.unknown token")
+ flash[:error] = t("users.confirm.unknown token")
redirect_to :action => "confirm"
else
user = token.user
end
if token.nil? || token.user != user
- flash[:notice] = t("user.confirm.success")
+ flash[:notice] = t("users.confirm.success")
redirect_to :action => :login, :referer => referer
else
token.destroy
token = UserToken.find_by(:token => session[:token])
if user.nil? || token.nil? || token.user != user
- flash[:error] = t "user.confirm_resend.failure", :name => params[:display_name]
+ flash[:error] = t "users.confirm_resend.failure", :name => params[:display_name]
else
- Notifier.signup_confirm(user, user.tokens.create).deliver_now
- flash[:notice] = t("user.confirm_resend.success", :email => user.email, :sender => SUPPORT_EMAIL).html_safe
+ Notifier.signup_confirm(user, user.tokens.create).deliver_later
+ flash[:notice] = t("users.confirm_resend.success", :email => user.email, :sender => SUPPORT_EMAIL).html_safe
end
redirect_to :action => "login"
gravatar_enabled = gravatar_enable(current_user)
if current_user.save
flash[:notice] = if gravatar_enabled
- t("user.confirm_email.success") + " " + gravatar_status_message(current_user)
+ t("users.confirm_email.success") + " " + gravatar_status_message(current_user)
else
- t("user.confirm_email.success")
+ t("users.confirm_email.success")
end
else
flash[:errors] = current_user.errors
session[:user] = current_user.id
redirect_to :action => "account", :display_name => current_user.display_name
elsif token
- flash[:error] = t "user.confirm_email.failure"
+ flash[:error] = t "users.confirm_email.failure"
redirect_to :action => "account", :display_name => token.user.display_name
else
- flash[:error] = t "user.confirm_email.unknown_token"
+ flash[:error] = t "users.confirm_email.unknown_token"
end
end
end
friend.befriender = current_user
friend.befriendee = @new_friend
if current_user.is_friends_with?(@new_friend)
- flash[:warning] = t "user.make_friend.already_a_friend", :name => @new_friend.display_name
+ flash[:warning] = t "users.make_friend.already_a_friend", :name => @new_friend.display_name
elsif friend.save
- flash[:notice] = t "user.make_friend.success", :name => @new_friend.display_name
- Notifier.friend_notification(friend).deliver_now
+ flash[:notice] = t "users.make_friend.success", :name => @new_friend.display_name
+ Notifier.friend_notification(friend).deliver_later
else
- friend.add_error(t("user.make_friend.failed", :name => @new_friend.display_name))
+ friend.add_error(t("users.make_friend.failed", :name => @new_friend.display_name))
end
if params[:referer]
if request.post?
if current_user.is_friends_with?(@friend)
Friend.where(:user_id => current_user.id, :friend_user_id => @friend.id).delete_all
- flash[:notice] = t "user.remove_friend.success", :name => @friend.display_name
+ flash[:notice] = t "users.remove_friend.success", :name => @friend.display_name
else
- flash[:error] = t "user.remove_friend.not_a_friend", :name => @friend.display_name
+ flash[:error] = t "users.remove_friend.not_a_friend", :name => @friend.display_name
end
if params[:referer]
when "active", "confirmed" then
successful_login(user, request.env["omniauth.params"]["referer"])
when "suspended" then
- failed_login t("user.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}").html_safe
+ failed_login t("users.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}").html_safe
else
- failed_login t("user.login.auth failure")
+ failed_login t("users.login.auth failure")
end
else
redirect_to :action => "new", :nickname => name, :email => email,
##
# omniauth failure callback
def auth_failure
- flash[:error] = t("user.auth_failure." + params[:message])
+ flash[:error] = t("users.auth_failure." + params[:message])
redirect_to params[:origin] || login_url
end
elsif user = User.authenticate(:username => username, :password => password, :pending => true)
unconfirmed_login(user)
elsif User.authenticate(:username => username, :password => password, :suspended => true)
- failed_login t("user.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}").html_safe, username
+ failed_login t("users.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}").html_safe, username
else
- failed_login t("user.login.auth failure"), username
+ failed_login t("users.login.auth failure"), username
end
end
set_locale(true)
if user.new_email.blank? || user.new_email == user.email
- flash.now[:notice] = t "user.account.flash update success"
+ flash.now[:notice] = t "users.account.flash update success"
else
user.email = user.new_email
if user.valid?
- flash.now[:notice] = t "user.account.flash update success confirm needed"
+ flash.now[:notice] = t "users.account.flash update success confirm needed"
begin
- Notifier.email_confirm(user, user.tokens.create).deliver_now
+ Notifier.email_confirm(user, user.tokens.create).deliver_later
rescue StandardError
# Ignore errors sending email
end
# and return them to the user page.
def require_administrator
if current_user && !current_user.administrator?
- flash[:error] = t("user.filter.not_an_administrator")
+ flash[:error] = t("users.filter.not_an_administrator")
if params[:display_name]
redirect_to user_path(:display_name => params[:display_name])
# display a message about th current status of the gravatar setting
def gravatar_status_message(user)
if user.image_use_gravatar
- t "user.account.gravatar.enabled"
+ t "users.account.gravatar.enabled"
else
- t "user.account.gravatar.disabled"
+ t "users.account.gravatar.disabled"
end
end
end
module ChangesetHelper
def changeset_user_link(changeset)
if changeset.user.status == "deleted"
- t("user.no_such_user.deleted")
+ t("users.no_such_user.deleted")
elsif changeset.user.data_public?
link_to(changeset.user.display_name, user_path(changeset.user))
else
if author.nil?
""
elsif author.status == "deleted"
- t("user.no_such_user.deleted")
+ t("users.no_such_user.deleted")
else
- link_to h(author.display_name), link_options.merge(:controller => "user", :action => "show", :display_name => author.display_name)
+ link_to h(author.display_name), link_options.merge(:controller => "users", :action => "show", :display_name => author.display_name)
end
end
end
# External authentication support
def openid_logo
- image_tag "openid_small.png", :alt => t("user.login.openid_logo_alt"), :class => "openid_logo"
+ image_tag "openid_small.png", :alt => t("users.login.openid_logo_alt"), :class => "openid_logo"
end
def auth_button(name, provider, options = {})
link_to(
- image_tag("#{name}.png", :alt => t("user.login.auth_providers.#{name}.alt")),
+ image_tag("#{name}.png", :alt => t("users.login.auth_providers.#{name}.alt")),
auth_path(options.merge(:provider => provider)),
:class => "auth_button",
- :title => t("user.login.auth_providers.#{name}.title")
+ :title => t("users.login.auth_providers.#{name}.title")
)
end
if current_user&.administrator?
if user.has_role?(role)
image = "roles/#{role}"
- alt = t("user.show.role.revoke.#{role}")
- title = t("user.show.role.revoke.#{role}")
+ alt = t("users.show.role.revoke.#{role}")
+ title = t("users.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.show.role.grant.#{role}")
- title = t("user.show.role.grant.#{role}")
+ alt = t("users.show.role.grant.#{role}")
+ title = t("users.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.show.role.#{role}")
- title = t("user.show.role.#{role}")
+ alt = t("users.show.role.#{role}")
+ title = t("users.show.role.#{role}")
end
if image
def signup_confirm(user, token)
with_recipient_locale user do
- @url = url_for(:controller => "user", :action => "confirm",
+ @url = url_for(:controller => "users", :action => "confirm",
:display_name => user.display_name,
:confirm_string => token.token)
def email_confirm(user, token)
with_recipient_locale user do
@address = user.new_email
- @url = url_for(:controller => "user", :action => "confirm_email",
+ @url = url_for(:controller => "users", :action => "confirm_email",
:confirm_string => token.token)
mail :to => user.new_email,
def lost_password(user, token)
with_recipient_locale user do
- @url = url_for(:controller => "user", :action => "reset_password",
+ @url = url_for(:controller => "users", :action => "reset_password",
:token => token.token)
mail :to => user.email,
@text = message.body
@title = message.title
@readurl = message_url(message)
- @replyurl = reply_message_url(message)
+ @replyurl = message_reply_url(message)
@author = @from_user
attach_user_avatar(message.sender)
with_recipient_locale friend.befriendee do
@friend = friend
@viewurl = user_url(@friend.befriender)
- @friendurl = url_for(:controller => "user", :action => "make_friend",
+ @friendurl = url_for(:controller => "users", :action => "make_friend",
:display_name => @friend.befriender.display_name)
@author = @friend.befriender.display_name
require "delegate"
module GeoRecord
+ extend ActiveSupport::Concern
+
# Ensure that when coordinates are printed that they are always in decimal degrees,
# and not e.g. 4.0e-05
# Unfortunately you can't extend Numeric classes directly (e.g. `Coord < Float`).
# the database.
SCALE = 10000000
- def self.included(base)
- base.scope :bbox, ->(bbox) { base.where(OSM.sql_for_area(bbox)) }
- base.before_save :update_tile
+ included do
+ scope :bbox, ->(bbox) { where(OSM.sql_for_area(bbox)) }
+ before_save :update_tile
end
# Is this node within -90 >= latitude >= 90 and -180 >= longitude >= 180
-require "osm"
-
module NotRedactable
+ extend ActiveSupport::Concern
+
def redacted?
false
end
module ObjectMetadata
+ extend ActiveSupport::Concern
+
def add_metadata_to_xml_node(el, osm, changeset_cache, user_display_name_cache)
el["changeset"] = osm.changeset_id.to_s
el["redacted"] = osm.redaction.id.to_s if osm.redacted?
validates :visible, :inclusion => [true, false]
validates :author, :associated => true
validates :event, :inclusion => %w[opened closed reopened commented hidden]
- validates :body, :format => /\A[^\x00-\x08\x0b-\x0c\x0e-\x1f\x7f\ufffe\uffff]*\z/
+ validates :body, :allow_blank => false, :length => { :maximum => 2000 },
+ :format => /\A[^\x00-\x08\x0b-\x0c\x0e-\x1f\x7f\ufffe\uffff]*\z/
# Return the comment text
def body
changed_members.collect { |type, _id, _role| type == "Relation" }
.inject(false) { |acc, elem| acc || elem }
- update_members = if tags_changed || any_relations
+ # if the relation is being deleted tags_changed will be true and members empty
+ # so we need to use changed_members to create a correct bounding box
+ update_members = if visible && (tags_changed || any_relations)
# add all non-relation bounding boxes to the changeset
# FIXME: check for tag changes along with element deletions and
# make sure that the deleted element's bounding box is hit.
<% unless current_user %>
<div class="notice">
- <%= link_to(t(".join_discussion"), :controller => 'user', :action => 'login', :referer => request.fullpath) %>
+ <%= link_to(t(".join_discussion"), :controller => 'users', :action => 'login', :referer => request.fullpath) %>
</div>
<% end %>
<form action="#">
<input type="hidden" name="lon">
<input type="hidden" name="lat">
- <textarea class="comment" name="text" cols="40" rows="10" placeholder="<%= t('javascripts.notes.new.advice') %>"></textarea>
+ <textarea class="comment" name="text" cols="40" rows="10" maxlength="2000" placeholder="<%= t('javascripts.notes.new.advice') %>"></textarea>
<div class="buttons clearfix">
<input type="submit" name="add" value="<%= t('javascripts.notes.new.add') %>" disabled="1">
</div>
<% if @note.status == "open" %>
<form action="#">
- <textarea class="comment" name="text" cols="40" rows="5"></textarea>
+ <textarea class="comment" name="text" cols="40" rows="5" maxlength="2000"></textarea>
<div class="buttons clearfix">
<% if current_user and current_user.moderator? -%>
<input type="submit" name="hide" value="<%= t('javascripts.notes.show.hide') %>" class="deemphasize" data-note-id="<%= @note.id %>" data-method="DELETE" data-url="<%= note_url(@note, 'json') %>">
-xml.a(user.display_name, :href => url_for(:controller => "user", :action => "view", :display_name => user.display_name))
+xml.a(user.display_name, :href => url_for(:controller => "users", :action => "view", :display_name => user.display_name))
<div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.subscribe'), diary_entry_subscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
<% end %>
<% else %>
- <h3 id="newcomment"><%= raw t(".login_to_leave_a_comment", :login_link => link_to(t(".login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h3>
+ <h3 id="newcomment"><%= raw t(".login_to_leave_a_comment", :login_link => link_to(t(".login"), :controller => 'users', :action => 'login', :referer => request.fullpath)) %></h3>
<% end %>
</div>
<li id="compact-secondary-nav" class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#"><%= t 'layouts.more' %> <b class="caret"></b></a>
<ul class="dropdown-menu">
- <% if current_user and ( current_user.administrator? or current_user.moderator? ) %>
+ <% if can? :index, Issue %>
<li class="<%= current_page_class(issues_path) %>">
<%= link_to issues_path(:status => 'open') do %>
<%= open_issues_count %>
<li>
<%= link_to inbox_messages_path do %>
<span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
- <%= t('user.show.my messages') %>
+ <%= t('users.show.my messages') %>
<% end %>
</li>
<li>
- <%= link_to t('user.show.my profile'), user_path(current_user) %>
+ <%= link_to t('users.show.my profile'), user_path(current_user) %>
</li>
<li>
- <%= link_to t('user.show.my settings'), :controller => 'user', :action => 'account', :display_name => current_user.display_name %>
+ <%= link_to t('users.show.my settings'), :controller => 'users', :action => 'account', :display_name => current_user.display_name %>
</li>
<li class="divider"></li>
<li>
<td class="inbox-sender"><%= link_to h(message_summary.sender.display_name), user_path(message_summary.sender) %></td>
<td class="inbox-subject"><%= link_to h(message_summary.title), message_path(message_summary) %></td>
<td class="inbox-sent"><%= l message_summary.sent_on, :format => :friendly %></td>
- <td class="inbox-mark-unread"><%= button_to t('.unread_button'), mark_message_path(message_summary, :mark => 'unread'), { :remote => true } %></td>
- <td class="inbox-mark-read"><%= button_to t('.read_button'), mark_message_path(message_summary, :mark => 'read'), { :remote => true } %></td>
- <td class="inbox-destroy"><%= button_to t('.destroy_button'), destroy_message_path(message_summary, :referer => request.fullpath), { :remote => true } %></td>
+ <td class="inbox-mark-unread"><%= button_to t('.unread_button'), message_mark_path(message_summary, :mark => 'unread'), { :remote => true } %></td>
+ <td class="inbox-mark-read"><%= button_to t('.read_button'), message_mark_path(message_summary, :mark => 'read'), { :remote => true } %></td>
+ <td class="inbox-destroy"><%= button_to t('.destroy_button'), message_path(message_summary, :referer => request.fullpath), { :method => :delete, :remote => true } %></td>
</tr>
<td class="inbox-sender"><%= link_to h(sent_message_summary.recipient.display_name), user_path(sent_message_summary.recipient) %></td>
<td class="inbox-subject"><%= link_to h(sent_message_summary.title), message_path(sent_message_summary) %></td>
<td class="inbox-sent"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
- <td class="inbox-destroy"><%= button_to t('.destroy_button'), destroy_message_path(sent_message_summary, :referer => request.fullpath), { :remote => true } %></td>
+ <td class="inbox-destroy"><%= button_to t('.destroy_button'), message_path(sent_message_summary, :referer => request.fullpath), { :method => :delete, :remote => true } %></td>
</tr>
<div class="richtext"><%= @message.body.to_html %></div>
<div class='message-buttons buttons'>
- <%= button_to t('.reply_button'), reply_message_path(@message), :class => 'reply-button' %>
- <%= button_to t('.unread_button'), mark_message_path(@message, :mark => 'unread'), :class => 'mark-unread-button' %>
- <%= button_to t('.destroy_button'), destroy_message_path(@message), :class => 'destroy-button' %>
+ <%= button_to t('.reply_button'), message_reply_path(@message), :class => 'reply-button' %>
+ <%= button_to t('.unread_button'), message_mark_path(@message, :mark => 'unread'), :class => 'mark-unread-button' %>
+ <%= button_to t('.destroy_button'), message_path(@message), :method => 'delete', :class => 'destroy-button' %>
<% else %>
<b><%= t '.user' %></b>
<%= link_to(@redaction.user.display_name, user_path(@redaction.user)) %>
</p>
-<p class="richtext">
+<div class="richtext">
<b><%= t '.description' %></b>
<%= @redaction.description.to_html %>
-</p>
+</div>
<% if current_user and current_user.moderator? %>
<div class="buttons">
<p><%= t ".legal_babble.contributors_intro_html", :locale => @locale %></p>
<ul id="contributors">
<li><%= t ".legal_babble.contributors_at_html", :locale => @locale %></li>
+ <li><%= t ".legal_babble.contributors_au_html", :locale => @locale %></li>
<li><%= t ".legal_babble.contributors_ca_html", :locale => @locale %></li>
<li><%= t ".legal_babble.contributors_fi_html", :locale => @locale %></li>
<li><%= t ".legal_babble.contributors_fr_html", :locale => @locale %></li>
+++ /dev/null
-<% content_for :heading do %>
- <h1><%= t 'user.new.title' %></h1>
- <div class='header-illustration new-user-main'></div>
- <div class='header-illustration new-user-arm'></div>
-<% end %>
-
-<div class="message">
- <h1><%= t 'user.new.no_auto_account_create' %></h1>
- <h2><%= raw t 'user.new.contact_webmaster', :webmaster => "mailto:#{SUPPORT_EMAIL}" %></h2>
-</div>
<% 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.show.m away', :count => (distance * 1000).round %>)
+ (<%= t 'users.show.m away', :count => (distance * 1000).round %>)
<% else %>
- (<%= t 'user.show.km away', :count => distance.round %>)
+ (<%= t 'users.show.km away', :count => distance.round %>)
<% end %>
<% end %>
</p>
<p>
<% changeset = contact.changesets.first %>
<% if changeset %>
- <%= t('user.show.latest edit', :ago => t('user.show.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
+ <%= t('users.show.latest edit', :ago => t('users.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.show.send message'), new_message_path(contact) %></li>
+ <li><%= link_to t('users.show.send message'), new_message_path(contact) %></li>
<li>
<% if current_user.is_friends_with?(contact) %>
- <%= link_to t('user.show.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
+ <%= link_to t('users.show.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% else %>
- <%= link_to t('user.show.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
+ <%= link_to t('users.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.index.summary',
+ <%= raw t 'users.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.index.summary_no_ip',
+ <%= raw t 'users.index.summary_no_ip',
:name => link_to(h(user.display_name), user_path(user)),
:date => l(user.creation_time, :format => :friendly)
%>
<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.show.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
+ <li><%= link_to t('users.show.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
</ul>
<% end %>
<%= form_for current_user, :url => { :action => :account }, :method => :post, :html => { :multipart => true, :id => 'accountForm', :class => 'standard-form', :autocomplete => :off } do |f| %>
<fieldset>
<div class="form-row">
- <label class="standard-label"><%= t 'user.new.display name' %></label>
+ <label class="standard-label"><%= t 'users.new.display name' %></label>
<%= f.text_field :display_name %>
</div>
</fieldset>
<fieldset>
<div class="form-row">
- <label class="standard-label"><%= t 'user.new.password' %></label>
+ <label class="standard-label"><%= t 'users.new.password' %></label>
<%= f.password_field :pass_crypt, {:value => '', :autocomplete => :off} %>
</div>
<div class="form-row">
- <label class="standard-label"><%= t 'user.new.confirm password' %></label>
+ <label class="standard-label"><%= t 'users.new.confirm password' %></label>
<%= f.password_field :pass_crypt_confirmation, {:value => '', :autocomplete => :off} %>
</div>
</fieldset>
<% end %>
<% else %>
<%= t '.contributor terms.not yet agreed' %>
- <%= link_to t('.contributor terms.review link text'), :controller => 'user', :action => 'terms' %>
+ <%= link_to t('.contributor terms.review link text'), :controller => 'users', :action => 'terms' %>
<% end %>
</span>
</div>
--- /dev/null
+<% content_for :heading do %>
+ <h1><%= t 'users.new.title' %></h1>
+ <div class='header-illustration new-user-main'></div>
+ <div class='header-illustration new-user-arm'></div>
+<% end %>
+
+<div class="message">
+ <h1><%= t 'users.new.no_auto_account_create' %></h1>
+ <h2><%= raw t 'users.new.contact_webmaster', :webmaster => "mailto:#{SUPPORT_EMAIL}" %></h2>
+</div>
<%= password_field_tag "password", "", :tabindex => 2 %>
</div>
<span class="form-help deemphasize">
- <%= link_to t('.lost password link'), :controller => 'user', :action => 'lost_password' %>
+ <%= link_to t('.lost password link'), :controller => 'users', :action => 'lost_password' %>
</span>
</fieldset>
<div id='login_openid_url' class='form-row'>
<label for='openid_url' class="standard-label"><%= raw t '.openid', :logo => openid_logo %></label>
<%= text_field_tag("openid_url", "", { :tabindex => 3, :class => "openid_url" }) %>
- <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span>
+ <span class="minorNote">(<a href="<%= t 'users.account.openid.link' %>" target="_new"><%= t 'users.account.openid.link text' %></a>)</span>
</div>
<div class='form-row'>
<%= link_to t('.my comments' ), :controller => 'diary_entry', :action => 'comments', :display_name => current_user.display_name %>
</li>
<li>
- <%= link_to t('.my settings'), :controller => 'user', :action => 'account', :display_name => current_user.display_name %>
+ <%= link_to t('.my settings'), :controller => 'users', :action => 'account', :display_name => current_user.display_name %>
</li>
<% if current_user.blocks.exists? %>
<% if current_user and @user.id == current_user.id %>
<% if @user.home_lat.nil? or @user.home_lon.nil? %>
<div id="map" class="content_map">
- <p id="no_home_location"><%= raw(t '.if set location', :settings_link => (link_to t('.settings_link_text'), :controller => 'user', :action => 'account', :display_name => current_user.display_name)) %></p>
+ <p id="no_home_location"><%= raw(t '.if set location', :settings_link => (link_to t('.settings_link_text'), :controller => 'users', :action => 'account', :display_name => current_user.display_name)) %></p>
</div>
<% else %>
<% content_for :head do %>
# Enable autoloading of dependencies.
config.enable_dependency_loading = true
+
+ # Use delayed job to queue jobs in production.
+ config.active_job.queue_adapter = :delayed_job
end
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
+ # Export translations automatically
+ config.middleware.use I18n::JS::Middleware
+
# Raises error for missing translations
config.action_view.raise_on_missing_translations = true
+
+ # Use the test adapter for ActiveJob during testing
+ config.active_job.queue_adapter = :test
end
require "r2"
-class R2ScssProcessor < Sprockets::ScssProcessor
+class R2ScssProcessor < SassC::Rails::ScssTemplate
def self.call(input)
output = super(input)
data = R2.r2(output[:data])
allow_write_api: wysig die kaart.
not_found:
sorry: Jammer, die %{type} blyk onverkrygbaar te wees.
- user:
+ users:
login:
title: Meld aan
heading: Meld aan
agjenci ose burim kryesor ka qenë i përfshirë në
OpenStreetMap, ai mund të jetë e arsyeshme për kredi nga ana e tyre direkt
riprodhimin e kreditit e tyre apo duke i lidhur me të në këtë faqe.
+ contributors_au_html: |-
+ <strong> Australi </ strong>: Përmban të dhëna të bazuara periferi
+ në Zyra Australiane e Statistikave të dhënave.
contributors_ca_html: |-
<strong> Kanada </ strong>: Përmban të dhëna nga
GeoBase ®, GeoGratis (© Departamenti i Natyrore
flash: Përditësuar më të dhënat e klientit me sukses
destroy:
flash: Shkatërruar kërkesë e klientit regjistrimit
- user:
+ users:
login:
title: Kyçu
heading: Kycu
models:
acl: لائحة التحكم بالوصول
changeset: حزمة التغييرات
- changeset_tag: سمة حزمة التغييرات
- country: البلد/الدولة
+ changeset_tag: وسم مجموعة التغييرات
+ country: البلد
diary_comment: تعليق يومية
diary_entry: مدخلة يومية
friend: صديق
language: اللغة
message: الرسالة
node: عقدة
- node_tag: سمة عقدة
+ node_tag: وسم عقدة
notifier: المخطر
old_node: عقدة قديمة
- old_node_tag: سمة عقدة قديمة
+ old_node_tag: وسم عقدة قديمة
old_relation: علاقة قديمة
old_relation_member: عضو علاقة قديم
- old_relation_tag: سمة علاقة قديمة
- old_way: طريق قديم
+ old_relation_tag: وسم علاقة قديمة
+ old_way: طريقةط قديمة
old_way_node: عقدة طريق قديمة
- old_way_tag: سمة طريق قديمة
+ old_way_tag: وسم طريق قديم
relation: علاقة
relation_member: عضو علاقة
- relation_tag: سمة علاقة
+ relation_tag: وسم علاقة
session: جلسة
trace: أثر
tracepoint: نقطة أثر
tracetag: سمة الأثر
user: المستخدم
user_preference: تفضيل المستخدم
- user_token: نموذج المستخدم
- way: طريق
+ user_token: رمز المستخدم
+ way: طريقة
way_node: عقدة طريق
way_tag: سمة طريق
attributes:
diary_comment:
- body: نص الرسالة
+ body: الجسم
diary_entry:
user: المستخدم
title: الموضوع
message:
sender: المرسل
title: الموضوع
- body: نص الرسالة
+ body: الجسم
recipient: المستلم
user:
email: البريد الإلكتروني
name: Potlatch 1
description: Potlatch 1 (محرّر ضمن المتصفح)
id:
- name: Ù\85عرÙ\91Ù\81
- description: iD (محرِّر عبر المتصفِّح)
+ name: معرف
+ description: معرف (محرر عبر المتصفِّح)
potlatch2:
name: Potlatch 2
- description: Potlatch 2 (محرّر ضمن المتصفح)
+ description: Potlatch 2 (محرر ضمن المتصفح)
remote:
name: تحكم عن بعد
description: تحكم عن بعد (JOSM أو Merkaartor)
edited_by_html: تم التعديل قبل <abbr title='%{title}'>%{time}</abbr> على يد %{user}
closed_by_html: تم الإغلاق قبل <abbr title='%{title}'>%{time}</abbr> على يد %{user}
version: الإصدار
- in_changeset: التغييرات
+ in_changeset: مجموعة التغييرات
anonymous: مجهول
no_comment: (لا تعليق)
part_of: جزء من
- download_xml: ØÙ\85Ù\91ل XML
- view_history: السجل
+ download_xml: تÙ\86زÙ\8aل XML
+ view_history: عرض اÙ\84سجÙ\84
view_details: شاهد التفاصيل
location: 'الموقع:'
changeset:
history_title: 'تاريخ الصلة: %{name}'
members: الأعضاء
relation_member:
- entry_role: '%{type} %{name} كــ %{role}'
+ entry_role: '%{type} %{name} كــ%{role}'
type:
node: عقدة
way: طريق
relation: علاقة
containing_relation:
entry: العلاقة %{relation_name}
- entry_role: العلاقة %{relation_name} (كــ %{relation_role})
+ entry_role: العلاقة %{relation_name} (كــ%{relation_role})
not_found:
sorry: 'عفوًا، تعذر العثور على %{type} #%{id}.'
type:
tag_details:
tags: الوسوم
wiki_link:
- key: صفحة وصف الويكي لعلامة %{key}
- tag: صفحة وصف الويكي لعلامة %{key}=%{value}
- wikidata_link: صÙ\81ØØ© %{page} عÙ\84Ù\89 Ù\88Ù\8aÙ\83Ù\8a داتا
- wikipedia_link: الـ%{page} مقالة على ويكيبيديا
- telephone_link: اتصل بـ %{phone_number}
+ key: صفحة وصف الويكي للوسم %{key}
+ tag: صفحة وصف الويكي للوسم %{key}=%{value}
+ wikidata_link: اÙ\84عÙ\86صر %{page} عÙ\84Ù\89 Ù\88Ù\8aÙ\83Ù\8a بÙ\8aاÙ\86ات
+ wikipedia_link: مقالة %{page} على ويكيبيديا
+ telephone_link: اتصل بـ%{phone_number}
note:
title: 'ملاحظة: %{id}'
new_note: ملاحظة جديدة
commented_by: تعليق من %{user} قبل <abbr title='%{exact_time}'>%{when} </abbr>
commented_by_anonymous: تعليق من مجهول قبل <abbr title='%{exact_time}'>%{when}
</abbr>
- closed_by: حلّه %{user} قبل <abbr title='%{exact_time}'>%{when} </abbr>
- closed_by_anonymous: حلّه مجهول قبل <abbr title='%{exact_time}'>%{when} </abbr>
+ closed_by: تم الحل بواسطة %{user} قبل <abbr title='%{exact_time}'>%{when} </abbr>
+ closed_by_anonymous: تم الحل بواسطة مجهول قبل <abbr title='%{exact_time}'>%{when}
+ </abbr>
reopened_by: أعاد تنشيطه %{user} قبل <abbr title='%{exact_time}'>%{when} </abbr>
reopened_by_anonymous: أعاد تنشيطه مجهول قبل <abbr title='%{exact_time}'>%{when}
</abbr>
hidden_by: أخفاه %{user} قبل <abbr title='%{exact_time}'>%{when} =</abbr>
- report: أبلغ هذه الملاحظة
+ report: أبلغ عن هذه الملاحظة
query:
- title: إشارات الاستفهام
+ title: ميزات الاستفهام
introduction: اضغط على الخريطة لمعرفة النقاط القريبة
nearby: نقاط قريبة
enclosing: نقاط مرافقة
no_edits: (لا تعديلات)
view_changeset_details: اعرض تفاصيل حزمة التغييرات
changesets:
- id: رÙ\82Ù\85
- saved_at: حُفظ في
+ id: اÙ\84Ù\85عرÙ\81
+ saved_at: حُفِظ في
user: المستخدم
comment: التعليق
area: منطقة
empty_user: لم يُعثَر على أي حزم تغييرات لهذا المستخدم.
no_more: لم يُعثَر على حزم تغييرات أخرى.
no_more_area: لم يُعثَر على حزم تغييرات أخرى في هذه المنطقة.
- no_more_user: ' يُعثَر على حزم تغييرات أخرى لهذا المستخدم.'
+ no_more_user: لم يُعثَر على حزم تغييرات أخرى لهذا المستخدم.
load_more: حمِّل المزيد؟
timeout:
- sorry: عذراÙ\8bØ\8c Ù\84Ù\82د إستÙ\85رت لائحة حزم التغييرات اللتي طلبتها وقتاً طويلاً للسحب.
+ sorry: عذراÙ\8bØ\8c Ù\84Ù\82د استغرÙ\82ت لائحة حزم التغييرات اللتي طلبتها وقتاً طويلاً للسحب.
rss:
title_all: مناقشة مجموعة تغيير خريطة الشارع المفتوحة
- title_particular: 'مناقشة #%{changeset_id} مجموعة تغيير خريطة الشارع المفتوحة'
+ title_particular: مناقشة مجموعة تغيير خريطة الشارع المفتوحة %{changeset_id}
comment: 'تعليق جديد على مجموعة التغيير #%{changeset_id} بواسطة %{author}'
commented_at_html: تم التحديث قبل %{when}
commented_at_by_html: تم التحديث قبل %{when} بواسطة %{user}
index:
title: يوميات المستخدمين
title_friends: يوميات الأصدقاء
- title_nearby: يوميات/مفكرات المستخدمين في المقبرة
+ title_nearby: يوميات المستخدمين القريبين
user_title: يومية %{user}
in_language_title: مدخلات اليومية باللغة %{language}
new: مدخلة يومية جديدة
new_title: تأليف إدخال جديد في مذكرات المستخدم الخاصة بي
- no_entries: لا يوجد مدخلات يومية
- recent_entries: إدخاÙ\84ات Ù\8aÙ\88Ù\85Ù\8aات اÙ\84ØدÙ\8aثة
+ no_entries: لا توجد مدخلات يومية
+ recent_entries: إدخالات يوميات حديثة
older_entries: المدخلات الأقدم
newer_entries: المدخلات الأحدث
edit:
- title: عدÙ\91Ù\84 Ù\85دخÙ\84Ø© Ù\8aÙ\88Ù\85Ù\8aØ©
+ title: عدل مدخلة يومية
subject: 'الموضوع:'
- body: 'نص الرسالة:'
+ body: 'النص:'
language: 'اللغة:'
location: 'الموقع:'
latitude: 'خط العرض:'
login: تسجيل الدخول
save_button: احفظ
no_such_entry:
- title: Ù\85دخÙ\84Ø© Ù\8aÙ\88Ù\85Ù\8aØ© غÙ\8aر Ù\85Ù\88جÙ\88دة
- heading: 'لا يوجد مدخلة بالمعرّف: %{id}'
- body: عذرًا، لا يوجد مدخلة يومية أو تعليق بالمعرّف %{id}. يرجى تدقيق التهجئة،
- أو ربما يكون الرابط الذي تم النقر عليه خاطئ.
+ title: Ù\84ا تÙ\88جد Ù\85Ø«Ù\84 Ù\87Ø°Ù\87 اÙ\84Ù\8aÙ\88Ù\85Ù\8aة
+ heading: 'لا توجد مدخلة بالمعرف: %{id}'
+ body: عذرًا، لا توجد مدخلة يومية أو تعليق بالمعرف %{id}؛ يُرجَى تدقيق التهجئة،
+ أو ربما يكون الرابط الذي نقرت عليه خاطئا.
diary_entry:
- posted_by: أُرسل بواسطة %{link_user} في %{created} باللغة %{language_link}
- comment_link: عÙ\84Ù\91Ù\82 عÙ\84Ù\89 Ù\87Ø°Ù\87 اÙ\84Ù\85دخÙ\84Ø©
- reply_link: رد برسالة
+ posted_by: نُشِر بواسطة %{link_user} في %{created} باللغة %{language_link}
+ comment_link: علق على هذه المدخلة
+ reply_link: رد عÙ\84Ù\89 Ù\87Ø°Ù\87 اÙ\84رسالة
comment_count:
zero: لا تعليق
one: '%{count} تعليق'
- other: '%{count} تعليق'
- edit_link: عدÙ\91Ù\84 Ù\87Ø°Ù\87 اÙ\84Ù\85دخÙ\84Ø©
+ other: '%{count} تعليقات'
+ edit_link: عدل هذه المدخلة
hide_link: اخفِ هذه المدخلة
- confirm: Ø£Ù\83Ù\91د
- report: أببلغ عن هذه المذكرة
+ confirm: تأÙ\83Ù\8aد
+ report: أبلغ عن هذه المدخلة
diary_comment:
- comment_from: تعليق من %{link_user} في %{comment_created_at}
+ comment_from: تعليق من %{link_user} في %{comment_created_at}
hide_link: اخفِ هذا التعليق
- confirm: Ø£Ù\83Ù\91د
+ confirm: تأÙ\83Ù\8aد
report: أبلغ عن هذا التعليق
location:
location: 'الموقع:'
edit: تعديل
feed:
user:
- title: مدخلات يومية خريطة الشارع المفتوحة للمستخدم %{user}
- description: المدخلات الحديثة في يومية خريطة الشارع المفتوحة بواسطة المستخدم
- %{user}
+ title: مدخلات يومية خريطة الشارع المفتوحة للمستخدم ل%{user}
+ description: المدخلات الحديثة في يومية خريطة الشارع المفتوحة من %{user}
language:
- title: مدخلات يومية خريطة الشارع المفتوحة باللغة %{language_name}
- description: المدخلات الحديثة في يومية مستخدمي خريطة الشارع المفتوحة باللغة
- %{language_name}
+ title: مدخلات يومية خريطة الشارع المفتوحة ب%{language_name}
+ description: المدخلات الحديثة في يومية مستخدمي خريطة الشارع المفتوحة ب%{language_name}
all:
title: مدخلات اليومية في خريطة الشارع المفتوحة
description: المدخلات الحديثة في يومية مستخدمي خريطة الشارع المفتوحة
comments:
- has_commented_on: '%{display_name} عÙ\84Ù\91Ù\82 عÙ\84Ù\89 Ù\85دخÙ\84ات اÙ\84Ù\8aÙ\88Ù\85Ù\8aØ© اÙ\84تاÙ\84Ù\8aØ©'
+ has_commented_on: '%{display_name} علق على مدخلات اليومية التالية'
post: إرسال
when: متى
comment: التعليق
aerialway:
cable_car: عربة قطار هوائي
chair_lift: كرسي تلفريك
- drag_lift: اسحبها لليسار
+ drag_lift: اسحب لليسار
gondola: تلفريك
platter: مصعد تزلج
pylon: نقطة تعليق
car_sharing: مشاركة سيارات
car_wash: غسيل سيارات
casino: نادي قمار
- charging_station: Ù\85Øطة تعبئة
+ charging_station: Ù\85Øطة Ø´ØÙ\86
childcare: رعاية الأطفال
cinema: سينما
clinic: عيادة
monastery: دير
motorcycle_parking: مرآب دراجات نارية
nightclub: نادي ليلي
- nursing_home: دار رعاية مسنين/معاقين
+ nursing_home: دار رعاية
office: مكتب
parking: موقف سيارات
parking_entrance: مدخل مرآب
sauna: حمّام بخاري حار
school: مدرسة
shelter: ملجأ
- shop: متجر/دكان/حانوت
+ shop: متجر
shower: غسيل بالدش
- social_centre: Ù\85رÙ\83ز Ø¥جتماعي
+ social_centre: Ù\85رÙ\83ز اجتماعي
social_club: نادي اجتماعي
social_facility: مرفق اجتماعي
studio: ستوديو
university: جامعة
vending_machine: آلة بيع
veterinary: جراحة بيطرية
- village_hall: Ù\85بÙ\86Ù\89/دار اÙ\84قرية
+ village_hall: Ù\82اعة قرية
waste_basket: سلة نفايات
waste_disposal: التخلص من النفايات
water_point: موقع مياه
- youth_centre: مركز نشاطات للشباب
+ youth_centre: مركز شباب
boundary:
administrative: حدود إدارية
census: حدود تعدادية
craft:
brewery: مصنع الجعة
carpenter: نجار
- electrician: اختصاصي كهرباء
+ electrician: كهربائي
gardener: بستاني
painter: رسام
photographer: مصور
emergency_access_point: نقطة دخول طوارئ
footway: ممر للمشاة
ford: مخاضة
- give_way: اشارة تÙ\85Ù\87Ù\84
+ give_way: إشارة Ø¥Ù\81Ø³Ø§Ø Ø§Ù\84طرÙ\8aÙ\82
living_street: شارع سكني
milestone: معلم
motorway: طريق سريع
platform: منصة
primary: طريق أولي
primary_link: طريق أولي
- proposed: طريق تحت الإنشاء
+ proposed: طريق مقترح
raceway: حلبة سباق
residential: طريق سكني
- rest_area: Ù\85Ù\86Ø·Ù\82Ø© Ø¥ستراحة
+ rest_area: Ù\85Ù\86Ø·Ù\82Ø© استراحة
road: طريق
secondary: طريق ثانوي
secondary_link: طريق ثانوي
trunk: طريق رئيسي
trunk_link: طريق رئيسي
turning_loop: جولة
- unclassified: طرÙ\8aÙ\82 غÙ\8aر Ù\85صÙ\86Ù\91Ù\81
+ unclassified: طريق غير مصنف
"yes": طريق
historic:
archaeological_site: موقع أثري
battlefield: ساحة معركة
- boundary_stone: Øجر/صخرة تعÙ\84Ù\8aÙ\85 حدود
+ boundary_stone: صخرة حدود
building: مبنى تاريخي
bunker: برج دفاعي
castle: قلعة
manor: عزبة
memorial: نصب تذكاري
mine: منجم
- mine_shaft: منجم
+ mine_shaft: Ù\81تØØ© Ù\85Ù\86جÙ\85
monument: أثر
roman_road: طريق روماني
ruins: أطلال
stone: حجر
tomb: قبر
tower: برج
- wayside_cross: صÙ\84Ù\8aب تذÙ\83ارÙ\8a
+ wayside_cross: صÙ\84Ù\8aب جاÙ\86ب طرÙ\8aÙ\82
wayside_shrine: مزار جانب طريق
wreck: حطام
"yes": موقع تاريخي
reservoir: خزان
reservoir_watershed: خزان مستجمعات المياه
residential: منطقة سكنية
- retail: بيع بالمفرق
+ retail: بيع بالتجزئة
road: منطقة الطريق
village_green: أرض خضراء
- vineyard: كرم عنب
+ vineyard: حقل عنب
"yes": استخدام الأرض
leisure:
beach_resort: شاطئ منتجع
sauna: حمّام بخاري حار
slipway: مزلقة
sports_centre: مركز رياضي
- stadium: مدرج ألعاب رياضية
- swimming_pool: بركة سباحة
+ stadium: ستاد
+ swimming_pool: مسبح
track: مضمار سباق
water_park: منتزه ألعاب مائية
"yes": وقت الفراغ
man_made:
- adit: مدخل الى منجم
+ adit: مدخل منجم
beacon: منارة
beehive: خلية نحل
breakwater: مكسر أمواج
crane: رافعة
dolphin: مرسى
dyke: حاجز
- embankment: ساÙ\8aÙ\84Ù\87
+ embankment: سد
flagpole: سارية علم
gasometer: مقياس غاز
groyne: مصد أمواج
kiln: تنور
lighthouse: منارة
- mast: ØاÙ\81ظة اÙ\86تÙ\8aÙ\86ا
- mine: Ù\84غم
- mineshaft: Ù\85Ù\86جÙ\85 Ø£Ù\84غام
+ mast: سارÙ\8aØ©
+ mine: Ù\85Ù\86جم
+ mineshaft: Ù\81تØØ© Ù\85Ù\86جم
monitoring_station: محطة مراقبة
petroleum_well: بئر بترول
pier: رصيف بحري
natural:
bay: خليج
beach: شاطئ
- cape: رأس (أرض داخÙ\84Ø© Ù\81Ù\8a اÙ\84بØر(
+ cape: Ø®Ù\84Ù\8aج
cave_entrance: مدخل كهف
cliff: جرف
crater: فوهة بركان
fjord: مضيق بحري
forest: غابة
geyser: نافورة ماء حار
- glacier: نهر/بحر جليدي
+ glacier: نهر جليدي
grassland: أرض عشبية
heath: أرض بور
hill: تلة
mud: وحل
peak: ذروة
point: نقطة
- reef: سÙ\84سÙ\84Ø© صخÙ\88ر Ù\82رب Ø³Ø·Ø Ø§Ù\84Ù\85اء
+ reef: شعاب
ridge: أرض مرتفعة
rock: صخرة
saddle: سرج
it: مكتب تقنية معلومات
lawyer: محامي
ngo: مكتب منظمة غير حكومية
- telecommunication: Ù\85Ù\83تب شرÙ\83Ø© Ø¥تصالات
+ telecommunication: Ù\85Ù\83تب اتصالات
travel_agent: وكيل سفريات
"yes": مكتب
place:
quarter: حارة
region: المنطقة
sea: بحر
- square: مربع
+ square: ميدان
state: ولاية
subdivision: التقسيم الفرعي
suburb: ضاحية
junction: تقاطع سكك حديدية
level_crossing: تقاطع سكك حديدية
light_rail: قطار خفيف
- miniature: مصغرة السكك الحديدية
- monorail: قطار ذات سكة حديد واحدة
+ miniature: سكة حديدية مصغرة
+ monorail: قطار ذو سكة حديد واحدة
narrow_gauge: سكة حديد ضيقة
platform: رصيف محطة قطار
preserved: سكة حديدية تراثية
beauty: صالون تجميل
beverages: متجر مشروبات
bicycle: متجر دراجات
- bookmaker: Ù\85ØÙ\84 Ù\82Ù\85ار
+ bookmaker: Ù\86اشر
books: متجر كتب
boutique: دكان
butcher: جزار
cosmetics: بائع مستحضرات تجميل
deli: دكان أطعمة شهية
department_store: متجر متعدد الأقسام
- discount: Ù\85ØÙ\84 رخصة
+ discount: Ù\85ØÙ\84 عÙ\86اصر خصÙ\85
doityourself: براعة منزلية
dry_cleaning: تنظيف جاف
electronics: متجر إلكترونيات
gift: متجر هدايا
greengrocer: محل خضروات
grocery: بقالة
- hairdresser: مزين/مصفف شعر
+ hairdresser: حلاق
hardware: متجر عتاد
hifi: متجر هاي فاي
houseware: متجر أدوات منزلية
vacant: متجر شاغر
variety_store: متجر شامل
video: متجر فيديو
- wine: Ù\85ØÙ\84 Ù\84بÙ\8aع اÙ\84نبيذ
+ wine: Ù\85تجر نبيذ
"yes": متجر
tourism:
alpine_hut: كوخ جبلي
information: معلومات
motel: نُزل
museum: متحف
- picnic_site: Ù\85Ù\88Ù\82ع بÙ\8aÙ\83 Ù\86Ù\8aÙ\83
+ picnic_site: Ù\85Ù\88Ù\82ع تÙ\86زÙ\87
theme_park: حديقة ملاهي
viewpoint: موقع كاشف
zoo: حديقة حيوانات
culvert: مجرى مائي
"yes": نفق
waterway:
- artificial: Ù\85جرÙ\89 Ù\85اء Ø¥صطناعي
+ artificial: Ù\85جرÙ\89 Ù\85اء اصطناعي
boatyard: حوض سفن
canal: قناة
dam: سدّ
stream: جدول
wadi: وادي
waterfall: شلال
- weir: هدار (سدّ منخفض)
+ weir: سياج
"yes": معبر مائي
admin_levels:
level2: حدود قطرية
level10: حدود الضاحية
description:
title:
- osm_nominatim: موقع من <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
- Nominatim</a>
+ osm_nominatim: موقع من <a href="http://nominatim.openstreetmap.org/">Nominatim
+ خريطة الشارع المفتوحة</a>
geonames: موقع من <a href="http://www.geonames.org/">GeoNames</a>
types:
cities: مدن
search: البحث
search_guidance: 'بحث عن مشاكل:'
user_not_found: المستخدم غير موجود
- issues_not_found: لم يتم العثور على مشاكل
+ issues_not_found: لم يتم العثور على مشاكل كهذه
status: الحالة
reports: بلاغات
last_updated: آخر تحديث
- last_updated_time_html: <abbr title='%{title}'>%{time} ago</abbr>
- last_updated_time_user_html: <abbr title='%{title}'>%{time} ago</abbr> by %{user}
+ 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 Report
- other: '%{count} Reports'
+ one: 1 بلاغ
+ other: '%{count} بلاغات'
reported_item: شيء تم الابلاغ عنه
states:
ignored: تم تجاهله
update:
new_report: لقد تم تسجيل بلاغك بنجاح
successful_update: لقد تم تحديث بلاغك بنجاح
- provide_details: يرجى تقديم التفاصيل المطلوبة
+ provide_details: يُرجَى تقديم التفاصيل المطلوبة
show:
title: '%{status} المشكلة #%{issue_id}'
reports:
- zero: No reports
- one: 1 report
- other: '%{count} reports'
- report_created_at: اول بلاغ تم في %{datetime}
+ zero: لا توجد بلاغات
+ one: 1 بلاغ
+ other: '%{count} بلاغات'
+ report_created_at: Ø£ول بلاغ تم في %{datetime}
last_resolved_at: آخر حل تم في %{datetime}
last_updated_at: آخر تحديث تم في %{datetime} بواسطة %{displayname}
resolve: حل
ignore: تجاهل
- reopen: اعادة فتح
+ reopen: Ø¥عادة فتح
reports_of_this_issue: بلاغات هذه المشكلة
read_reports: اقرأ البلاغات
new_reports: بلاغات جديدة
no_other_issues: لا مشاكل أخرى ضد هذا المستخدم.
comments_on_this_issue: التعليقات على هذه المشكلة
resolve:
- resolved: تم تعيين حالة المشكلة إلى 'تم حله'
+ resolved: تم تعيين حالة المشكلة إلى 'محلولة'
ignore:
- ignored: تم تعيين حالة المشكلة إلى 'تم تجاهله'
+ ignored: تم تعيين حالة المشكلة إلى 'تم تجاهلها'
reopen:
- reopened: تÙ\85 تعÙ\8aÙ\8aÙ\86 ØاÙ\84Ø© اÙ\84Ù\85Ø´Ù\83Ù\84Ø© Ø¥Ù\84Ù\89 'Ù\81تØ'
+ reopened: تÙ\85 تعÙ\8aÙ\8aÙ\86 ØاÙ\84Ø© اÙ\84Ù\85Ø´Ù\83Ù\84Ø© Ø¥Ù\84Ù\89 'Ù\85Ù\81تÙ\88ØØ©'
comments:
created_at: في %{datetime}
- reassign_param: إعادة تعيين المشكلة ؟
+ reassign_param: إعادة تعيين المشكلة؟
reports:
updated_at: في %{datetime}
- reported_by_html: تم الابلاغ عنه ك %{category} بواسطة %{user}
+ reported_by_html: تم الابلاغ عنه ك%{category} بواسطة %{user}
helper:
reportable_title:
- diary_comment: '%{entry_title}, تعليق #%{comment_id}'
+ diary_comment: '%{entry_title}، تعليق #%{comment_id}'
note: 'ملاحظة #%{note_id}'
issue_comments:
create:
- comment_created: تÙ\85 انشاء تعليقك بنجاح
+ comment_created: تÙ\85 Ø¥نشاء تعليقك بنجاح
reports:
new:
title_html: بلاغ %{link}
- missing_params: Ù\84ا Ù\8aÙ\85Ù\83Ù\86 انشاء بلاغ جديد
- details: يرجى تقديم بعض التفاصيل حول المشكلة (مطلوب).
- select: 'حدد سبب بلاغك:'
+ missing_params: Ù\84ا Ù\8aÙ\85Ù\83Ù\86 Ø¥نشاء بلاغ جديد
+ details: يُرجَى تقديم بعض التفاصيل حول المشكلة (مطلوب).
+ select: 'حدد سببا لبلاغك:'
disclaimer:
- intro: 'قبل إرسال تقريرك إلى مشرف الموقع ، يرجى التأكد مما يلي:'
+ intro: 'قبل إرسال تقريرك إلى مشرف الموقع، يُرجَى التأكد مما يلي:'
not_just_mistake: أنك متأكد من أن المشكلة ليست مجرد خطأ
unable_to_fix: أنت غير قادر على إصلاح المشكلة بنفسك أو بمساعدة زملائك أعضاء
المجتمع
resolve_with_user: لقد حاولت بالفعل حل المشكلة مع المستخدم المعني
categories:
diary_entry:
- spam_label: هذه المذكرة / تحتوي على بريد مزعج
+ spam_label: هذه المذكرة هي/تحتوي على بريد مزعج
offensive_label: هذه المذكرة مسيئة
threat_label: هذا المذكرة تحتوي على تهديد
other_label: أخرى
threat_label: مذكرة التعليق هذه تحتوي على تهديد
other_label: أخرى
user:
- spam_label: ' ملف المستخدم هذا يحتوي على بريد مزعج'
- offensive_label: ' ملف المستخدم هذا مسيء'
- threat_label: ' ملف المستخدم هذا يحتوي على تهديد'
+ spam_label: ملف المستخدم هذا يكون/يحتوي على بريد مزعج
+ offensive_label: ملف المستخدم هذا مسيء
+ threat_label: ملف المستخدم هذا يحتوي على تهديد
vandal_label: هذا المستخدم مخرب
other_label: أخرى
note:
other_label: أخرى
create:
successful_report: لقد تم تسجيل بلاغك بنجاح
- provide_details: يرجى تقديم التفاصيل المطلوبة
+ provide_details: يُرجَى تقديم التفاصيل المطلوبة
layouts:
logo:
alt_text: شعار خريطة الشارع المفتوحة
home: اذهب إلى الصفحة الرئيسية
logout: سجل خروج
log_in: تسجيل الدخول
- log_in_tooltip: سجÙ\91Ù\84 اÙ\84دخÙ\88Ù\84 Ù\85ع حساب موجود
+ log_in_tooltip: تسجÙ\8aÙ\84 اÙ\84دخÙ\88Ù\84 Ù\84حساب موجود
sign_up: أنشئ حسابًا
start_mapping: ابدأ التخطيط
- sign_up_tooltip: Ø£Ù\86شئ ØسابÙ\8bا Ù\83Ù\8a تستطÙ\8aع اÙ\84Ù\85ساÙ\87Ù\85Ø©
+ sign_up_tooltip: Ø£Ù\86شئ ØسابÙ\8bا Ù\84Ù\84تعدÙ\8aÙ\84
edit: تعديل
history: تاريخ
export: صدِّر
gps_traces_tooltip: عالج آثار جي بي إس
user_diaries: يوميات المستخدمين
user_diaries_tooltip: اعرض يوميات المستخدمين
- edit_with: Øرر بإستعمال %{editor}
+ edit_with: Øرر باستعمال %{editor}
tag_line: ويكي خريطة العالم الحرة
- intro_header: مرحبا بكم في !OpenStreetMap
- intro_text: Ø¥Ù\86 OpenStreetMap Ù\87Ù\8a خرÙ\8aطة اÙ\84عاÙ\84Ù\85, Ø£Ù\86شئت بÙ\88اسطة أشخاص Ù\85Ø«Ù\84Ù\83 Ù\88Øرة اÙ\84استخداÙ\85
- برخصة مفتوحة.
+ intro_header: مرحبا بكم في خريطة الشارع المفتوحة!
+ intro_text: خرÙ\8aطة اÙ\84شارع اÙ\84Ù\85Ù\81تÙ\88ØØ© Ù\87Ù\8a خرÙ\8aطة اÙ\84عاÙ\84Ù\85Ø\8c Ø£Ù\8fÙ\86Ø´Ù\90ئت بÙ\88اسطة أشخاص Ù\85Ø«Ù\84Ù\83 Ù\88Øرة
+ اÙ\84استخداÙ\85 برخصة Ù\85Ù\81تÙ\88ØØ©.
intro_2_create_account: أنشئ حساب مستخدم
- partners_html: الضيافة مدعومة من %{ucl}, %{ic} و %{bytemark}, و %{partners} آخرون.
+ hosting_partners_html: يتم دعم الاستضافة بواسطة %{ucl} و%{bytemark} و%{partners}
+ آخرين.
partners_ucl: UCL
- partners_ic: كلية امبراطورية لندن
partners_bytemark: استضافة Bytemark
partners_partners: الشركاء
osm_offline: حاليًا قاعدة بيانات خريطة الشارع المفتوحة مغلقة بينما يتم الانتهاء
diary_comment_notification:
subject: '[خريطة الشارع المفتوحة] %{user} علق على مدخلتك في اليومية'
hi: مرحبًا %{to_user}،
- header: '%{from_user} علق على مدخلتك في اليومية في خريطة الشارع المفتوحة بالعنوان
- %{subject}:'
+ header: '%{from_user} علق على مدخلة يومية خريطة الشارع المفتوحة بالعنوان %{subject}:'
footer: يمكنك أيضًا قراءة التعليق على %{readurl} ويمكنك التعليق على %{commenturl}
أو الرد على %{replyurl}
message_notification:
greeting: تحياتي،
your_gpx_file: يبدو أنه ملف جي بي إكس الخاص بك
with_description: مع الوصف
- and_the_tags: 'والسمات التالية:'
- and_no_tags: ولا يوجد سمات.
+ and_the_tags: 'والوسوم التالية:'
+ and_no_tags: ولا توجد وسوم.
failure:
subject: '[خريطة الشارع المفتوحة] فشل استيراد جي بي إكس'
- failed_to_import: 'فشل الاستيراد. الخطأ هو:'
- more_info_1: المزيد من المعلومات حول فشل استيراد جي بي إكس وكيفية تجنبها
- more_info_2: 'Ù\88Ù\87Ù\85 Ù\85Ù\88جÙ\88دÙ\8aÙ\86 على:'
+ failed_to_import: 'فشل الاستيراد، الخطأ هو:'
+ more_info_1: المزيد من المعلومات حول فشل استيراد جي بي إكس وكيفية تجنبه
+ more_info_2: 'Ù\88Ù\87Ù\8a Ù\85Ù\88جÙ\88دة على:'
success:
subject: '[خريطة الشارع المفتوحة] نجاح استيراد جي بي إكس'
loaded_successfully: تم تحميل بنجاح %{trace_points} نقطة من أصل %{possible_points}
نقطة ممكنة.
signup_confirm:
- subject: '[خرائط اوبن ستريت] مرحباً بك في خرائط اوبن ستريت'
+ subject: '[خريطة الشارع المفتوحة] مرحبا بك في خريطة الشارع المفتوحة'
greeting: مرحبا هناك!
created: شخص ما (نأمل أن تكون أنت) أنشأ حسابا في %{site_url}.
- confirm: 'Ù\82بÙ\84 Ø£Ù\86 تÙ\81عÙ\84 Ø£Ù\8a Ø´Ù\8aØ¡ آخرØ\8c Ù\88Ù\86ØÙ\86 بØاجة Ù\84Ù\84تأÙ\83د Ù\85Ù\86 Ø£Ù\86 Ù\87ذا اÙ\84Ø·Ù\84ب جاء Ù\85Ù\86Ù\83Ø\8c
+ confirm: 'Ù\82بÙ\84 Ø£Ù\86 تÙ\81عÙ\84 Ø£Ù\8a Ø´Ù\8aØ¡ آخرØ\8c Ù\86ØÙ\86 بØاجة Ù\84Ù\84تأÙ\83د Ù\85Ù\86 Ø£Ù\86 Ù\87ذا اÙ\84Ø·Ù\84ب جاء Ù\85Ù\86Ù\83Ø\9b
لذلك إذا كان كذلك، الرجاء الضغط على الرابط أدناه لتأكيد حسابك:'
welcome: بعد تأكيد حسابك، سوف نقدم لك بعض المعلومات الإضافية للبدء.
email_confirm:
greeting: تحياتي،
hopefully_you: شخص ما (نأمل أن تكون أنت) يرغب في تغيير عنوان بريده الإلكتروني
في %{server_url} إلى %{new_address}.
- click_the_link: إذا كان هذا هو أنت، يرجى الضغط على الرابط أدناه لتأكيد التغيير.
+ click_the_link: إذا كان هذا أنت، يُرجَى الضغط على الرابط أدناه لتأكيد التغيير.
email_confirm_html:
greeting: مرحبًا،
hopefully_you: شخص ما (نأمل أنت) يرغب بتغيير عنوان بريده الإلكتروني على %{server_url}
- to %{new_address}.
- click_the_link: إذا كان هذا هو أنت، رجاءًا انقر فوق الرابط أدناه لتأكيد التغيير.
+ إلى %{new_address}.
+ click_the_link: إذا كان هذا أنت، رجاءً انقر فوق الرابط أدناه لتأكيد التغيير.
lost_password:
subject: '[خريطة الشارع المفتوحة] طلب إعادة تعيين كلمة المرور'
lost_password_plain:
greeting: تحياتي،
- hopefully_you: شخص Ù\85ا (ربÙ\85ا Ø£Ù\86ت) Ø·Ù\84ب إعادة تعÙ\8aÙ\8aÙ\86 Ù\83Ù\84Ù\85Ø© اÙ\84Ù\85رÙ\88ر Ù\84حساب openstreetmap.org
- على عنوان البريد الإلكتروني هذا.
- click_the_link: إذا كان هذا هو أنت، يرجى الضغط على الرابط أدناه لإعادة تعيين
+ hopefully_you: طاÙ\84ب شخص Ù\85ا (ربÙ\85ا Ø£Ù\86ت) بإعادة تعÙ\8aÙ\8aÙ\86 Ù\83Ù\84Ù\85Ø© اÙ\84Ù\85رÙ\88ر عÙ\84Ù\89 حساب openstreetmap.org
+ لعنوان البريد الإلكتروني هذا.
+ click_the_link: إذا كان هذا أنت، يُرجَى الضغط على الرابط أدناه لإعادة تعيين
كلمة المرور.
lost_password_html:
greeting: تحياتي،
- hopefully_you: شخص Ù\85ا (ربÙ\85ا Ø£Ù\86ت) Ø·Ù\84ب إعادة تعÙ\8aÙ\8aÙ\86 Ù\83Ù\84Ù\85Ø© اÙ\84Ù\85رÙ\88ر Ù\84Øساب openstreetmap.org عÙ\84Ù\89
- عنوان البريد الإلكتروني هذا.
- click_the_link: إذا كان هذا هو أنت، يرجى الضغط على الرابط أدناه لإعادة تعيين
+ hopefully_you: طاÙ\84ب شخص Ù\85ا (ربÙ\85ا Ø£Ù\86ت) بإعادة تعÙ\8aÙ\8aÙ\86 Ù\83Ù\84Ù\85Ø© اÙ\84Ù\85رÙ\88ر عÙ\84Ù\89 Øساب openstreetmap.org
+ لعنوان البريد الإلكتروني هذا.
+ click_the_link: إذا كان هذا أنت، يُرجَى الضغط على الرابط أدناه لإعادة تعيين
كلمة المرور.
note_comment_notification:
anonymous: مستخدم مجهول
- greeting: أهلا,
+ greeting: مرحبا،
commented:
- subject_own: '[OpenStreetMap] علق %{commenter} على واحدة من ملاحظاتك'
+ subject_own: '[OpenStreetMap] قدعلق %{commenter} على إحدى ملاحظاتك'
subject_other: '[OpenStreetMap] علق %{commenter} على ملاحظة تههتم بها'
- your_note: علق %{commenter} على واحدة من ملاحظات خريطتك بالقرب من %{place}.
- commented_note: علق %{commenter} على ملاحظة الخريطة التي علقت عليها. كانت
+ your_note: علق %{commenter} على إحدى ملاحظات خريطتك بالقرب من %{place}.
+ commented_note: علق %{commenter} على ملاحظة الخريطة التي علقت عليها، كانت
الملاحظة بالقرب من %{place}.
closed:
subject_own: '[OpenStreetMap] حل %{commenter} إحدى ملاحظاتك'
subject_other: '[OpenStreetMap] حل %{commenter} ملاحظة تهتم بها'
- your_note: ØÙ\84 %{commenter} Ø¥ØدÙ\89 Ù\85Ù\84اØظات اÙ\84خرÙ\8aطة بالقرب من %{place}.
- commented_note: حل %{commenter} ملاحظة الخريطة التي علقت عليها.كانت الملاحظة
- بالقرب من %{place}.
+ your_note: ØÙ\84 %{commenter} Ø¥ØدÙ\89 Ù\85Ù\84اØظات خرÙ\8aطتÙ\83 بالقرب من %{place}.
+ commented_note: حل %{commenter} ملاحظة الخريطة التي علقت عليها، الملاحظة بالقرب
+ من %{place}.
reopened:
- subject_own: نشط [OpenStreetMap] %{commenter} إحدى ملاحظاتك
- subject_other: نشط [OpenStreetMap] %{commenter} ملاحظة كنت مهتما بها
- your_note: نشط %{commenter} إحدى ملاحظات الخريطة بالقرب من %{place}.
- commented_note: نشط %{commenter} ملاحظة الخريطة التي علقت عليها.كانت الملاحظة
- بالقرب من %{place}.
+ subject_own: لقد أعاد [OpenStreetMap] %{commenter} تنشيط إحدى ملاحظاتك
+ subject_other: لقد أعاد [OpenStreetMap] %{commenter} تنشيط ملاحظة كنت مهتما
+ بها
+ your_note: لقد أعاد %{commenter} تنشيط إحدى ملاحظات الخريطة بالقرب من %{place}.
+ commented_note: لقد أعاد %{commenter} تنشيط ملاحظة الخريطة التي علقت عليها،
+ الملاحظة بالقرب من %{place}.
details: يمكن العثور على مزيد من التفاصيل حول هذه الملاحظة في %{url}.
changeset_comment_notification:
hi: أهلا %{to_user}،
- greeting: مرحبا ،
+ greeting: مرحبا،
commented:
- subject_own: '[OpenStreetMap] علق %{commenter} على على إحدى تغييراتك'
- subject_other: '[OpenStreetMap] علق %{commenter} على ملاحظة تهتم بها'
- your_changeset: '%{commenter} عÙ\84Ù\82 عÙ\84Ù\89 Ø£Øد اÙ\84تغÙ\8aÙ\8aرات في %{time}'
- commented_changeset: '%{commenter} ترك تعليقاً على الخريطة التي تشاهدها بواسطة
- %{changeset_author} في %{time}'
+ subject_own: '[OpenStreetMap] علق %{commenter} على على إحدى مجموعات تغييراتك'
+ subject_other: '[OpenStreetMap] علق %{commenter} على مجموعة تغييرات تهتم بها'
+ your_changeset: '%{commenter} عÙ\84Ù\82 عÙ\84Ù\89 Ø¥ØدÙ\89 Ù\85جÙ\85Ù\88عات تغÙ\8aÙ\8aراتÙ\83 في %{time}'
+ commented_changeset: '%{commenter} ترك تعليقاً على مجموعة تغييرات الخريطة
+ التي تشاهدها بواسطة %{changeset_author} في %{time}'
partial_changeset_with_comment: مع تعليق '%{changeset_comment}'
partial_changeset_without_comment: بدون تعليق
- details: Ù\8aÙ\85Ù\83Ù\86 اÙ\84عثÙ\88ر عÙ\84Ù\89 Ù\85زÙ\8aد Ù\85Ù\86 اÙ\84تÙ\81اصÙ\8aÙ\84 ØÙ\88Ù\84 Ù\87Ø°Ù\87 اÙ\84Ù\85Ù\84اØظة في %{url}.
- unsubscribe: لإلغاء الاشتراك من التحديثات لهذه التغييرات ، تفضل بزيارة %{url}
- وانقر على "إلغاء الاشتراك".
+ details: Ù\8aÙ\85Ù\83Ù\86 اÙ\84عثÙ\88ر عÙ\84Ù\89 Ù\85زÙ\8aد Ù\85Ù\86 اÙ\84تÙ\81اصÙ\8aÙ\84 ØÙ\88Ù\84 Ù\85جÙ\85Ù\88عة اÙ\84تغÙ\8aÙ\8aرات في %{url}.
+ unsubscribe: لإلغاء الاشتراك من التحديثات لهذه التغييرات؛ قم بزيارة %{url} وانقر
+ على "إلغاء الاشتراك".
messages:
inbox:
title: الوارد
my_inbox: الوارد
outbox: الصادر
- messages: لديك %{new_messages} و %{old_messages}
+ messages: لديك %{new_messages} و%{old_messages}
new_messages:
one: '%{count} رسالة جديدة'
other: '%{count} رسائل جديدة'
from: من
subject: الموضوع
date: التاريخ
- no_messages_yet: لا يوجد لديك رسائل بعد. لماذا لا تقوم بالاتصال مع بعض %{people_mapping_nearby_link}؟
+ no_messages_yet: ليست لديك رسائل بعد، لماذا لا تقوم بالاتصال ببعض %{people_mapping_nearby_link}؟
people_mapping_nearby: مخططون في جواري
message_summary:
- unread_button: عÙ\84Ù\91م كغير مقروءة
- read_button: عÙ\84Ù\91م كمقروءة
+ unread_button: اÙ\84تعÙ\84Ù\8aم كغير مقروءة
+ read_button: اÙ\84تعÙ\84Ù\8aم كمقروءة
reply_button: رد
destroy_button: حذف
new:
back_to_inbox: العودة إلى صندوق الوارد
create:
message_sent: تم إرسال الرسالة
- limit_exceeded: لقد أرسلت الكثير من الرسائل مؤخرًا. الرجاء الانتظار بعض الوقت
+ limit_exceeded: لقد أرسلت الكثير من الرسائل مؤخرًا؛ الرجاء الانتظار بعض الوقت
قبل أن تحاول إرسال المزيد.
no_such_message:
title: "\uFEFFلا توجد مثل هذه الرسالة"
heading: "\uFEFFلا توجد مثل هذه الرسالة"
- body: عذرًا لا يوجد أي رسالة بهذا المعرف.
+ body: عذرًا لا توجد رسالة بذلك المعرف.
outbox:
title: صندوق الصادر
- my_inbox: رابطي %{inbox_link}
- inbox: صندوق البريد الوارد
- outbox: الصادر
+ my_inbox: '%{inbox_link} الخاص بي'
+ inbox: صندوق الوارد
+ outbox: صÙ\86دÙ\88Ù\82 اÙ\84صادر
messages:
one: لديك %{count} رسالة مبعوثة
- other: لديك %{count} رسالة مبعوثة
+ other: لديك %{count} رسائل مبعوثة
to: إلى
subject: الموضوع
date: التاريخ
- no_sent_messages: لا يوجد لديك رسائل مرسلة بعد. لماذا لا تقم بالاتصال مع بعض
- %{people_mapping_nearby_link}؟
+ no_sent_messages: ليست لديك رسائل مرسلة بعد، لماذا لا تقوم بالاتصال ببعض %{people_mapping_nearby_link}؟
people_mapping_nearby: مخططون في جواري
reply:
- wrong_user: "\uFEFFأنت مسجل دخول باسم '%{user}' ولكن الرسالة التي طلبت الرد
- عليها لم تكن مرسلة لذلك المستخدم. يرجى تسجيل الدخول كمستخدم صحيح للرد."
+ wrong_user: "\uFEFFأنت مسجل للدخول باسم '%{user}' ولكن الرسالة التي طلبت الرد
+ عليها لم تكن مرسلة لذلك المستخدم؛ يُرجَى تسجيل الدخول كمستخدم صحيح للرد."
show:
title: اقرأ الرسالة
from: من
subject: الموضوع
date: التاريخ
reply_button: رد
- unread_button: عÙ\84Ù\91م كغير مقروءة
+ unread_button: اÙ\84تعÙ\84Ù\8aم كغير مقروءة
destroy_button: احذف
back: رجوع
to: إلى
- wrong_user: "\uFEFFأنت مسجل دخول باسم '%{user}' ولكن الرسالة التي طلبت قراءتها
- لم تكن من أو إلى ذلك المستخدم. يرجى تسجيل الدخول كمستخدم صحيح للرد."
+ wrong_user: "\uFEFFأنت مسجل للدخول باسم '%{user}' ولكن الرسالة التي طلبت قراءتها
+ لم تكن من أو إلى ذلك المستخدم؛ يُرجَى تسجيل الدخول كمستخدم صحيح للرد."
sent_message_summary:
destroy_button: حذف
mark:
- as_read: عÙ\8fÙ\84Ù\91Ù\85ت اÙ\84رساÙ\84Ø© مقروءة
- as_unread: عُلّمت الرسالة كغير مقروءة
+ as_read: عÙ\8fÙ\84Ù\90Ù\91Ù\85ت اÙ\84رساÙ\84Ø© Ù\83مقروءة
+ as_unread: عÙ\8fÙ\84Ù\90Ù\91Ù\85ت اÙ\84رساÙ\84Ø© Ù\83غÙ\8aر Ù\85Ù\82رÙ\88ءة
destroy:
- destroyed: حُذفت الرسالة
+ destroyed: ØÙ\8fØ°Ù\90Ù\81ت اÙ\84رساÙ\84Ø©
site:
about:
next: التالي
من ذلك بكثير، في جميع أنحاء العالم.
local_knowledge_title: المعرفة المحلية
local_knowledge_html: |-
- OpenStreetMap يؤكد على المعرفة المحلية. يستخدم المساهمون
- الصور الجوية وأجهزة GPS والخرائط الميدانية ذات التقنية المنخفضة للتحقق من ذلك OSM
+ خريطة الشارع المفتوحة يؤكد على المعرفة المحلية، يستخدم المساهمون
+ الصور الجوية وأجهزة GPS والخرائط الميدانية ذات التقنية المنخفضة للتحقق من ذلك خريطة الشارع المفتوحة
دقيقة وحديثة.
community_driven_title: نابعة من المجتمع المحلي
- community_driven_html: |-
- مجتمع OpenStreetMap متنوع, عاطفي, ويزيد كل يوم.
- يشمل المساهمون لدينا رسامي خرائط متحمسون, ومحترفي GIS, ومهندسين
- تشغيل خوادم OSM ، والمساعدات الإنسانية للمناطق المتضررة من الكوارث ،
- و أكثر من ذلك بكثير.
- لمعرفة المزيد عن المجتمع ، انظر
- <a href='https://blog.openstreetmap.org'></a>
- <a href='%{diary_path}'></a>
- <a href='https://blogs.openstreetmap.org/'></a>
- و موقع <a href='https://www.osmfoundation.org/'></a>
+ community_driven_html: "مجتمع خريطة الشارع المفتوحة متنوع ومتحمس وينمو كل يوم،
+ \nيشمل المساهمون لدينا مصممي خرائط متحمسون، ومهنيي نظم المعلومات الجغرافية،
+ والمهندسون \nالذين يديرون خوادم خريطة الشارع المفتوحة، والمساعدات الإنسانية
+ للمناطق المتضررة من الكوارث،\nوغيرها الكثير،\nلمعرفة المزيد حول المجتمع; راجع
+ \n<a href='https://blog.openstreetmap.org'>مدونة خريطة الشارع المفتوحة</a>،\nو<a
+ href='%{diary_path}'> يوميات المستخدم</a>،\nو<a href='https://blogs.openstreetmap.org/'>مدونات
+ المجتمع</a>،\nوموقع the <a href='https://www.osmfoundation.org/'>مؤسسة خريطة
+ الشارع المفتوحة</a>."
open_data_title: البيانات المفتوحة
open_data_html: "خريطة الشارع المفتوحة <i>بيانات مفتوحة</i>: أنت حر في استخدامها
لأي غرض\nطالما أنك تقوم بإحالة خريطة الشارع المفتوحة والمساهمين فيها، إذا
english_link: النص الإنجليزي الأصلي
native:
title: حول هذه الصفحة
- text: أنت تشاهد النسخة الإنجليزية لصفحة حقوق النشر. يمكنك الرجوع إلى %{native_link}٪
+ text: أنت تشاهد النسخة الإنجليزية لصفحة حقوق النشر، يمكنك الرجوع إلى %{native_link}٪
{native_link} من هذه الصفحة أو يمكنك التوقف عن القراءة حول حقوق الطبع والنشر
- و %{mapping_link}
+ و%{mapping_link}
native_link: النسخة العربية
mapping_link: ابدأ التخطيط
legal_babble:
title_html: حقوق النشر والترخيص
intro_1_html: |-
- OpenStreetMap <sup> <a href="#trademarks"> & reg؛ </a> </ sup> هو <i> بيانات مفتوحة </ i> ، مرخص بموجب <a
- href = "https://opendatacommons.org/licenses/odbl/"> فتح البيانات
- ترخيص Open Database License </a> (ODbL) بواسطة <a
- href = "https://osmfoundation.org/"> مؤسسة OpenStreetMap </a> (OSMF).
- intro_2_html: أنت حر في نسخ وتوزيع ونقل وتكييف بياناتنا، طالما كنت تأئتمن
- خريطة الشارع المفتوحة والمساهمين فيها. إذا عدلت أو بنيت على البيانات المتوفرة
- لدينا، فلا يحق لك توزيع النتيجة إلا تحت نفس الترخيص.<a href="http://opendatacommons.org/licenses/odbl/1.0/">
- الكود القانوني الكامل</A> يشرح حقوقك ومسؤولياتك.
+ OpenStreetMap<sup><a href="#trademarks">®</a></sup> عبارة عن <i> بيانات مفتوحة</i>، ومرخصة تحت <a
+ href="https://opendatacommons.org/licenses/odbl/">رخصة قاعدة بيانات حرة</a> (ODbL)
+ بواسطة <a href="https://osmfoundation.org/">مؤسسة خريطة الشارع المفتوحة</a> (OSMF).
+ intro_2_html: "أنت حر في نسخ، وتوزيع، ونقل وتطويع بياناتنا، \nطالما أنك تقيد
+ خريطة الشارع المفتوحة\nوالمساهمين فيها، إذا عدلت أو بنيت على بياناتنا، \nفلا
+ يحق لك توزيع النتيجة إلا تحت نفس الترخيص، و\n<a href=\"https://opendatacommons.org/licenses/odbl/1.0/\">الكود
+ القانوني</a> الكامل يشرح حقوقك ومسؤولياتك."
intro_3_html: |-
- رسم الخرائط على الخريطة الخاص بنا ، ووثائقنا ،
- مرخصة بموجب <a href="https://creativecommons.org/licenses/by-sa/2.0/"> Creative
- الترخيص Attribution-ShareAlike 2.0 </a> (CC BY-SA).
- credit_title_html: كيفية ائتمان OpenStreetMap
+ يتم ترخيص رسم الخرائط في بلاط خرائطنا، ووثائقنا
+ بموجب ترخيص <a href="https://creativecommons.org/licenses/by-sa/2.0/">رخصة المشاع الإبداعي: النسبة-الترخيص بالمثل 2.0</a> (CC BY-SA).
+ credit_title_html: كيفية النسبة لخريطة الشارع المفتوحة
credit_1_html: |-
نطلب منك استخدام الائتمان “© OpenStreetMap
contributors”.
- credit_2_html: |-
- يجب أيضًا أن توضح أن البيانات متوفرة تحت Open
- ترخيص قاعدة البيانات ، وإذا كان استخدام خريطتنا الخريطة ، فإن رسم الخرائط هو
- مرخص كـ CC BY-SA. يمكنك القيام بذلك عن طريق ربط ل
- <a href="https://www.openstreetmap.org/copyright"> صفحة حقوق الطبع والنشر هذه </a>.
- بدلا من ذلك ، وكشرط إذا كنت تقوم بتوزيع OSM في
- نموذج البيانات ، يمكنك تسمية والارتباط مباشرة إلى الترخيص (التراخيص). في وسائل الإعلام
- حيث الروابط غير ممكنة (مثل الأعمال المطبوعة) ، فإننا نقترح عليك
- توجيه القراء إلى openstreetmap.org (ربما عن طريق التوسع
- "OpenStreetMap" إلى هذا العنوان الكامل) ، إلى opendatacommons.org ، و
- إذا كان مناسبًا ، إلى creativecommons.org.
- credit_3_html: 'للحصول على الخريطة الإلكترونية للتصفح، يجب أن يظهر الائتمان
+ credit_2_html: "يجب أيضا أن توضح أن البيانات متوفرة بموجب ترخيص\nقاعدة البيانات
+ المفتوحة، وفي حالة استخدام بلاط خرائطنا، يتم \nترخيص رسم الخرائط كـCC BY-SA،
+ يمكنك القيام بذلك عن طريق الربط بـ\n<a href=\"https://www.openstreetmap.org/copyright\">صفحة
+ حقوق الطبع والنشر هذه</a>.\nبدلا من ذلك، وكشرط إذا كنت تقوم بتوزيع خريطة
+ الشارع المفتوحة في \nنموذج بيانات، فيمكنك التسمية والربط مباشرةً إلى الترخيص(التراخيص).
+ في وسائل الإعلام\nحيث الروابط غير ممكنة (مثل الأعمال المطبوعة)، نقترح عليك
+ \nتوجيه القراء إلى openstreetmap.org (ربما عن طريق توسيع \n'OpenStreetMap'
+ إلى هذا العنوان الكامل)، وإلى opendatacommons.org، \nوإذا كان ذلك مناسبا،
+ إلى creativecommons.org."
+ credit_3_html: 'للحصول على الخريطة الإلكترونية للتصفح; يجب أن يظهر الائتمان
في زاوية من الخريطة، مثلا:'
attribution_example:
- alt: مثال على كيفية إسناد OpenStreetMap على صفحة ويب
+ alt: مثال على كيفية إسناد خريطة الشارع المفتوحة على صفحة ويب
title: مثال الإسناد
more_title_html: معرفة المزيد
more_1_html: |-
اقرأ المزيد حول استخدام بياناتنا ، وكيفية اعتمادنا ، على <a
href = "https://osmfoundation.org/Licence"> صفحة ترخيص OSMF </a>
- more_2_html: |-
- عÙ\84Ù\89 اÙ\84رغÙ\85 Ù\85Ù\86 Ø£Ù\86 OpenStreetMap عبارة عÙ\86 بÙ\8aاÙ\86ات Ù\85Ù\81تÙ\88ØØ© Ø\8c Ø¥Ù\84ا Ø£Ù\86Ù\86ا Ù\84ا Ù\86ستطÙ\8aع تÙ\88Ù\81Ù\8aر
- خريطة API مجانية للجهات الخارجية.
- راجع <a href="https://operations.osmfoundation.org/policies/api/"> سÙ\8aاسة استخداÙ\85 Ù\88اجÙ\87Ø© برÙ\85جة اÙ\84تطبÙ\8aÙ\82ات </a> Ø\8c
- <a href="https://operations.osmfoundation.org/policies/tiles/"> سياسة استخدام الخريطة </a>
- و <a href="https://operations.osmfoundation.org/policies/nominatim/"> سياسة استخدام Nominatim </a>.
+ more_2_html: "على الرغم من أن خريطة الشارع المفتوحة عبارة عن بيانات مفتوحة،
+ Ø¥Ù\84ا Ø£Ù\86Ù\87 Ù\84ا Ù\8aÙ\85Ù\83Ù\86Ù\86ا تÙ\88Ù\81Ù\8aر \nÙ\88اجÙ\87Ø© برÙ\85جة تطبÙ\8aÙ\82ات خرÙ\8aطة Øرة Ù\84Ù\84أطراÙ\81 اÙ\84ثاÙ\84ثةØ\8c
+ \nراجع <a href=\"https://operations.osmfoundation.org/policies/api/\">سياسة
+ استخداÙ\85 Ù\88اجÙ\87Ø© برÙ\85جة اÙ\84تطبÙ\8aÙ\82ات</a>Ø\8c\nÙ\88<a href=\"https://operations.osmfoundation.org/policies/tiles/\">سÙ\8aاسة
+ استخدام البلاط</a>،\nو<a href=\"https://operations.osmfoundation.org/policies/nominatim/\">سياسة
+ الاستخدام حسب الاسم</a> لدينا."
contributors_title_html: المساهمين
- contributors_intro_html: |-
- مساهمينا هم الآلاف من الأفراد. نحن تشمل أيضا
- بيانات مرخصة بشكل علني من وكالات الخرائط الوطنية
- ومصادر أخرى ، من بينها:
+ contributors_intro_html: "مساهمونا هم آلاف الأفراد، نوفر أيضا \nبيانات مرخصة
+ بشكلٍ مفتوح من وكالات الخرائط الوطنية \nوغيرها من المصادر، من بينها:"
contributors_at_html: |-
<strong> النمسا </ strong>: يحتوي على بيانات من
<a href="https://data.wien.gv.at/"> Stadt Wien </a> (under
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de"> CC BY </a>) ،
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm"> Land Vorarlberg </a> and
Land Tirol (ضمن <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/"> CC BY AT مع التعديلات </a>).
+ contributors_au_html: |-
+ <strong>أستراليا</strong>: تحتوي على البيانات المستمدة من
+ <a href="https://www.psma.com.au/psma-data-copyright-and-disclaimer">PSMA Australia Limited</a>
+ المرخصة بواسطة كومنولث أستراليا تحت
+ <a href="https://creativecommons.org/licenses/by/4.0/">رخصة المشاع الإبداعي: النسبة-الترخيص بالمثل 4.0</a>.
contributors_ca_html: |-
<strong> كندا </ strong>: يحتوي على بيانات من
GeoBase & reg ؛، GeoGratis (& copy؛ Department of Natural
، فيرجى الاطلاع على <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">
سياسة العلامات التجارية </a>.
index:
- js_1: Ø£Ù\86ت Ø¥Ù\85ا تستخدÙ\85 Ù\85تصÙ\81Ø لا يدعم جافا سكريبت، أو أنك عطلت استعمال جافا سكريبت.
+ js_1: Ø¥Ù\85ا Ø£Ù\86Ù\83 تستخدÙ\85 Ù\85تصÙ\81Øا لا يدعم جافا سكريبت، أو أنك عطلت استعمال جافا سكريبت.
js_2: خريطة الشارع المفتوحة تستخدم جافا سكريبت لخريطتها المنزلقة.
permalink: وصلة دائمة
shortlink: وصلة قصيرة
remote_failed: فشل التعديل - تأكد من تحميل JOSM أو Merkaartor وتمكين خيار التحكم
عن بعد
edit:
- not_public: لم تقم بتعيين تعديلاتك لتظهر بشكل علني.
- not_public_description: أنت لم تعد قادر على تعديل الخريطة إلا إذا قمت بذلك.
- يمكنك تعيين تعديلاتك لتظهر بشكل علني من حسابك %{user_page}.
+ not_public: لم تقم بتعيين تعديلاتك لتكون علنية.
+ not_public_description: أنت لم تعد قادر على تعديل الخريطة إلا إذا قمت بذلك،
+ يمكنك تعيين تعديلاتك لتكون علنية من %{user_page} الخاصة بك.
user_page_link: صفحة مستخدم
anon_edits_link_text: ابحث عن السبب لماذا هو هذا الحال.
flash_player_required: أنت بحاجة لمشغل فلاش لاستخدام Potlatch، محرر فلاش خريطة
الشارع المفتوحة. يمكنك <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">تنزيل
مشغل الفلاش من موقع أدوبي</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">وهناك
خيارات أخرى</a> أيضًا متاحة لتعديل خريطة الشارع المفتوحة.
- potlatch_unsaved_changes: Ù\84دÙ\8aÙ\83 تغÙ\8aÙ\8aرات غÙ\8aر Ù\85ØÙ\81Ù\88ظة. (Ù\84Ù\84ØÙ\81ظ Ù\81Ù\8a PotlatchØ\8c يجب إلغاء
- الطريق أو النقطة الحاليين إن كان التعديل في الوضع المباشر، أو انقر فوق حفظ
- إن كان لديك زر الحفظ.)
+ potlatch_unsaved_changes: Ù\84دÙ\8aÙ\83 تغÙ\8aÙ\8aرات غÙ\8aر Ù\85ØÙ\81Ù\88ظة. (Ù\84Ù\84ØÙ\81ظ Ù\81Ù\8a PotlatchØ\9b يجب إلغاء
+ الطريق أو النقطة الحاليين إن كان التعديل في الوضع الحي، أو انقر فوق حفظ إن
+ كان لديك زر الحفظ.)
potlatch2_not_configured: لم يتم تكوين Potlatch 2 - يُرجَى الاطلاع على http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
- for more information
+ للمزيد من المعلومات
potlatch2_unsaved_changes: لديك تغييرات غير محفوظة. (للحفظ في Potlatch 2; يجب
النقر فوق حفظ.)
id_not_configured: لم يتم تكوين المعرف
area_to_export: المنطقة المطلوب تصديرها
manually_select: اختر يدويًا منطقة أخرى
format_to_export: الهيئة المطلوب تصديرها
- osm_xml_data: معطيات خريطة الطريق المفتوح بنسق إكس أم أل
+ osm_xml_data: بيانات خريطة الشارع المفتوحة بصيغة XML
map_image: صورة الخريطة (عرض الطبقة الإفتراضية)
embeddable_html: HTML مضمن
licence: الرخصة
export_details: بيانات خريطة الشارع المفتوحة مرخصة تحت <a href="https://opendatacommons.org/licenses/odbl/1.0/">رخصة
قاعدة بيانات حرة</a>.
too_large:
- advice: 'إذا فشل التصدير أعلاه، فكّر من فضلك باستخدام أحد المصادر الموضَّحة
+ advice: 'إذا Ù\81Ø´Ù\84 اÙ\84تصدÙ\8aر أعÙ\84اÙ\87Ø\8c Ù\81Ù\83Ù\90Ù\91ر Ù\85Ù\86 Ù\81ضÙ\84Ù\83 باستخداÙ\85 Ø£Øد اÙ\84Ù\85صادر اÙ\84Ù\85Ù\88ضÙ\8eÙ\91ØØ©
أدناه:'
- body: 'Ù\87Ø°Ù\87 اÙ\84Ù\85Ù\86Ø·Ù\82Ø© Ù\83بÙ\8aرة جدÙ\8bا Ù\84Ù\84تصدÙ\8aر عÙ\84Ù\89 Ù\87Ù\8aئة بÙ\8aاÙ\86ات Ø¥Ù\83س Ø¥Ù\85 Ø¥Ù\84 Ù\84خرÙ\8aطة اÙ\84شارع
- اÙ\84Ù\85Ù\81تÙ\88ØØ©. Ù\8aرجÙ\89 تÙ\83بÙ\8aر اÙ\84خرÙ\8aطة Ø£Ù\88 استخداÙ\85 Ù\85Ù\86Ø·Ù\82Ø© أصغر Ø£Ù\88 استخداÙ\85 Ø£Øد اÙ\84Ù\85صادر
- اÙ\84تاÙ\84Ù\8aØ© Ù\84تÙ\86زÙ\8aÙ\84 اÙ\84بÙ\8aاÙ\86ات اÙ\84ضخÙ\85Ø©:'
+ body: 'Ù\87Ø°Ù\87 اÙ\84Ù\85Ù\86Ø·Ù\82Ø© Ù\83بÙ\8aرة جدÙ\8bا Ù\84Ù\84تصدÙ\8aر بصÙ\8aغة XML Ù\84خرÙ\8aطة اÙ\84شارع اÙ\84Ù\85Ù\81تÙ\88ØØ©Ø\9b Ù\8aÙ\8fرجÙ\8eÙ\89
+ تÙ\83بÙ\8aر اÙ\84خرÙ\8aطة Ø£Ù\88 استخداÙ\85 Ù\85Ù\86Ø·Ù\82Ø© أصغر Ø£Ù\88 استخداÙ\85 Ø£Øد اÙ\84Ù\85صادر اÙ\84تاÙ\84Ù\8aØ© Ù\84تÙ\86زÙ\8aÙ\84
+ البيانات الضخمة:'
planet:
- title: كوكب OSM
+ title: كوكب خريطة الشارع المفتوحة
description: نسخ محدثة بشكل دوري من قاعدة بيانات خرائط الشوارع المفتوحة
- OpenStreetMap
overpass:
title: تجاوز API
description: تحميل مربع الإحاطة من مرآة قاعدة بيانات خريطة الشارع المفتوحة
title: مصادر أخرى
description: مصادر إضافية مدرجة في الويكي خريطة الشارع المفتوحة
options: خيارات
- format: الهيئة
+ format: الصيغة
scale: القياس
max: الأقصى
image_size: حجم الصورة
add_marker: أضف علامة على الخريطة
latitude: 'خط العرض:'
longitude: 'خط الطول:'
- output: اÙ\84خرج
+ output: اÙ\84إخراج
paste_html: ألصق HTML لتضمينه في موقع ما
export_button: صدِّر
fixthemap:
title: الإبلاغ عن مشكلة / إصلاح الخريطة
how_to_help:
- title: كيف نساعدك ؟
+ title: كيف تساعد
join_the_community:
- title: اÙ\86ضÙ\85 Ù\84Ù\87ذا اÙ\84Ù\85جتÙ\85ع
+ title: انضم للمجتمع
explanation_html: إذا كنت قد لاحظت وجود مشكلة في بيانات الخرائط لدينا، على
سبيل المثال طريق مفقود أو عنوانك، فإن أفضل طريقة للمضي قدما هو الانضمام
إلى مجتمع خريطة الشارع المفتوحة وإضافة أو إصلاح البيانات بنفسك.
add_a_note:
instructions_html: |-
- انقر فقط على <a class='icon note'> </a> أو على الرمز نفسه على عرض الخريطة.
- سيضيف هذا علامة إلى الخريطة ، والتي يمكنك نقلها
- عن طريق السحب. أضف رسالتك ، ثم انقر على "حفظ" ، وسيتحرى مصممو الخرائط الآخرين.
+ انقر فقط على <a class='icon note'> </a> أو على الرمز نفسه على عرض الخريطة،
+ سيضيف هذا علامة إلى الخريطة، والتي يمكنك نقلها
+ عن طريق السحب، أضف رسالتك، ثم انقر على "حفظ"، وسيتحرى مصممو الخرائط الآخرين.
other_concerns:
title: اهتمامات أخرى
- explanation_html: |-
- إذا كانت لديك مخاوف بشأن كيفية استخدام البيانات الخاصة بنا أو حول المحتويات ، فيرجى الرجوع إلى موقعنا
- <a href='/copyright'> صفحة حقوق الطبع والنشر </a> لمزيد من المعلومات القانونية ، أو اتصل بالشكل المناسب
- <a href='https://wiki.osmfoundation.org/wiki/Working_Groups'> مجموعة عمل OSMF </a>.
+ explanation_html: "إذا كانت لديك مخاوف بشأن كيفية استخدام بياناتنا أو حول
+ محتوياتها، فالرجاء الرجوع إلى \n<a href='/copyright'>صفحة حقوق الطبع والنشر
+ لدينا</a> لمزيد من المعلومات القانونية، أو الاتصال\n<a href='https://wiki.osmfoundation.org/wiki/Working_Groups'>بمجموعة
+ عمل مؤسسة خريطة الشارع المفتوحة</a>."
help:
title: الحصول على مساعدة
- introduction: |-
- يحتوي OpenStreetMap على العديد من الموارد للتعلم حول المشروع ، وطرح الأسئلة والإجابة عليها ،
- والمشاركة في مناقشة وتوثيق مواضيع الخرائط.
+ introduction: "يحتوي خريطة الشارع المفتوحة على العديد من الموارد للتعلم حول
+ المشروع، وطرح الأسئلة والإجابة عليها، \nومناقشة مواضيع التخطيط وتوثيقها بشكل
+ تعاوني."
welcome:
url: أهلا بك.
- title: مرحبا بك في خرائط الشوارع " المفتوحة المصدر"
+ title: مرحبا بك في خريطة الشارع المفتوحة
description: ابدأ مع هذا الدليل السريع تغطية أساسيات خريطة الشارع المفتوحة.
beginners_guide:
url: http://wiki.openstreetmap.org/wiki/Ar:Beginners%27_guide
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
- description: تصفح ويكي لوثائق OSM المتعمقة.
+ description: تصفح ويكي لوثائق خريطة الشارع المفتوحة المتعمقة.
sidebar:
search_results: نتائج البحث
close: أغلق
- عربة أسلاك
- تلفريك
runway:
- - مدرج مطار للإقلاع/الهبوط
+ - مدرج مطار
- مدرج مطار لمناورات الطائرات
apron:
- ساحة مطار
lake:
- بحيرة
- خزان
- farm: أرض زراعية
+ farm: مزرعة
brownfield: موقع مخلفات
cemetery: مقبرة
allotments: حصص سكنية
- ذروة
tunnel: غطاء متقطع = نفق
bridge: غطاء أسود = جسر
- private: استخدام خصوصي
- destination: استخدام إلى الوجهة
+ private: وصول خصوصي
+ destination: وجهة الوصول
construction: الطرق تحت الإنشاء
bicycle_shop: متجر دراجات
bicycle_parking: مرآب دراجات
toilets: مرحاض
richtext_area:
- edit: ØرÙ\91ر
+ edit: تعدÙ\8aÙ\84
preview: شاهد
markdown_help:
title_html: تم التحليل بواسطة <a href="https://daringfireball.net/projects/markdown/">Markdown</a>
text: النص
image: الصورة
alt: النص البديل
- url: الرابط
+ url: المسار
welcome:
- title: أهلاً بك.
+ title: مرحبا!
introduction_html: مرحبًا بك في OpenStreetMap ، خريطة مجانية ومعدلة للعالم.
الآن بعد أن سجلت ، أنت جاهز للبدء في رسم الخرائط. وإليك دليل سريع مع الأشياء
الأكثر أهمية تحتاج إلى معرفتها.
يلي بعض الكلمات الرئيسية التي سوف تأتي في متناول اليدين.
editor_html: <strong>محرر</strong> هو برنامج أو موقع يمكنك استخدامه لتعديل
الخريطة.
- node_html: A <strong>عقدة</strong> هي نقطة على الخريطة، مثل مطعم واحد أو شجرة
+ node_html: <strong>عقدة</strong> هي نقطة على الخريطة، مثل مطعم واحد أو شجرة
واحدة.
- way_html: A <strong>طريق</strong> هو خط أو منطقة، مثل طريق أو تيار أو بحيرة
+ way_html: <strong>طريق</strong> هو خط أو منطقة، مثل طريق أو تيار أو بحيرة
أو بناء.
- tag_html: A <strong>وسم</strong> هو قليل من البيانات حول عقدة أو طريقة، مثل
+ tag_html: <strong>وسم</strong> هو قليل من البيانات حول عقدة أو طريقة، مثل
اسم أحد المطاعم أو الحد الأقصى للسرعة على الطريق.
rules:
title: قواعد!
<a href='https://wiki.openstreetmap.org/wiki/Import/Guidelines'> الواردات </a> و
<a href='https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'> التعديلات التلقائية </a>.
questions:
- title: هل هناك أسئلة ؟
+ title: هل هناك أسئلة؟
paragraph_1_html: "تحتوي خريطة الشارع المفتوحة على العديد من الموارد للتعلم
حول المشروع، وطرح \nالأسئلة والإجابة عليها، ومناقشة مواضيع التخطيط وتوثيقها
بشكل تعاوني،\n<a href='%{help_url}'>احصل على المساعدة هنا</a>."
paragraph_1_html: إذا كنت تريد إصلاح مجرد شيء صغير وليس لديك الوقت للتسجيل
ومعرفة كيفية التحرير، فإنه من السهل أن تضيف ملاحظة.
paragraph_2_html: |-
- ما عليك سوى الانتقال إلى <a href='%{map_url}'> الخريطة </a> والنقر على رمز الملاحظة:
- <span class = 'icon note'> </ span>. سيضيف هذا علامة إلى الخريطة ، والتي يمكنك نقلها
- عÙ\86 طرÙ\8aÙ\82 اÙ\84سØب. أضÙ\81 رساÙ\84تÙ\83 Ø\8c Ø«Ù\85 اÙ\86Ù\82ر عÙ\84Ù\89 "ØÙ\81ظ" ، وسيتحرى مصممو الخرائط الآخرين.
+ ما عليك سوى الانتقال إلى <a href='%{map_url}'>الخريطة </a> والنقر على أيقونة الملاحظة:
+ <span class='icon note'></span>، سيضيف هذا علامة إلى الخريطة، والتي يمكنك نقلها
+ باÙ\84سØبØ\8c أضÙ\81 رساÙ\84تÙ\83Ø\8c Ø«Ù\85 اÙ\86Ù\82ر عÙ\84Ù\89 "ØÙ\81ظ"، وسيتحرى مصممو الخرائط الآخرين.
traces:
visibility:
private: خصوصي (يظهر كمجهول الهوية ونقاط غير مرتبة)
allow_read_prefs: يقرأ تفضيلات المستخدم.
allow_write_prefs: عدّل تفضيلات المستخدم.
allow_write_diary: إنشاء مدخلات يومية، تعليقات وإضافة أصدقاء.
- allow_write_api: يعدّل الخريطة.
+ allow_write_api: تعديل الخريطة.
allow_read_gpx: قراءة آثار جي بي أس الخاصة بك.
allow_write_gpx: ارفع آثار جي بي أس.
allow_write_notes: تعديل الملاحظات.
missing: لم تسمح بالوصول إلى التطبيق لهذا المرفق
oauth_clients:
new:
- title: سجÙ\91Ù\90Ù\84 تطبÙ\8aÙ\82 جديد
+ title: سجÙ\90Ù\91Ù\84 Ø·Ù\84با جديد
submit: سجِّل
edit:
- title: عدÙ\91Ù\84 تطبÙ\8aÙ\82ك
+ title: عدÙ\84 Ø·Ù\84بك
submit: تعديل
show:
- title: تÙ\81اصÙ\8aÙ\84 OAuth Ù\84Ù\84تطبÙ\8aÙ\82 %{app_name}
+ title: تÙ\81اصÙ\8aÙ\84 OAuth Ù\84Ù\80%{app_name}
key: 'مفتاح المستهلك:'
secret: 'سر المستهلك:'
url: 'رابط طلب النموذج:'
update:
flash: تم تحديث معلومات العميل بنجاح
destroy:
- flash: دÙ\85Ù\91ر تسجÙ\8aÙ\84 اÙ\84تطبÙ\8aÙ\82
- user:
+ flash: دÙ\8fÙ\85Ù\90Ù\91ر تسجÙ\8aÙ\84 تطبÙ\8aÙ\82 اÙ\84عÙ\85Ù\8aÙ\84
+ users:
login:
title: تسجيل الدخول
heading: تسجيل الدخول
email or username: 'عنوان البريد الإلكتروني أو اسم المستخدم:'
password: 'كلمة السر:'
- openid: '%{logo} OpenID:'
+ openid: '%{logo} معرف مفتوح:'
remember: 'تذكرني:'
lost password link: أنسيت كلمة المرور؟
login_button: تسجيل الدخول
register now: سجل حسابًا الآن
with username: 'هل لديك بالفعل حساب خريطة الشارع المفتوحة؟ الرجاء الدخول باسم
المستخدم وكلمة المرور الخاصين بك:'
- with external: 'بدÙ\84ا Ù\85Ù\86 Ø°Ù\84Ù\83Ø\8c استخدÙ\85 طرÙ\81ا آخر Ù\84لدخول:'
- new to osm: جدÙ\8aد Ù\84خرÙ\8aطة اÙ\84شارع اÙ\84Ù\85Ù\81تÙ\88ØØ© ؟
+ with external: 'بدÙ\84ا Ù\85Ù\86 Ø°Ù\84Ù\83Ø\8c استخدÙ\85 طرÙ\81ا ثاÙ\84ثا Ù\84تسجÙ\8aÙ\84 الدخول:'
+ new to osm: جدÙ\8aد Ù\81Ù\8a خرÙ\8aطة اÙ\84شارع اÙ\84Ù\85Ù\81تÙ\88ØØ©؟
to make changes: لإجراء تغييرات على بيانات خريطة الشارع المفتوحة; يجب أن يكون
لديك حساب.
- create account minute: Ø£Ù\86شئ ØساباÙ\91. تØتاج Ù\81Ù\82Ø· Ø¥Ù\84Ù\89 دÙ\82Ù\8aÙ\82Ø©.
- no account: ليس لديك حسابا ؟
- account not active: عذراً، حسابك غير نشط حتى الآن.<br />يُرجى إستخدام الرابط
- اÙ\84Ø°Ù\8a اÙ\8fرسÙ\90Ù\84Ù\8e Ø¥Ù\84Ù\8aÙ\83 Ù\81Ù\89 رساÙ\84Ø© تأÙ\83Ù\8aد اÙ\84برÙ\8aد اÙ\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8aØ\8c Ù\83Ù\85ا <a href="%{reconfirm}">Ù\8aÙ\8fÙ\85Ù\83Ù\86Ù\83
- Ø·Ù\84ب رساÙ\84Ø© تأÙ\83Ù\8aد جدÙ\8aدة Ù\81Ù\89 ØاÙ\84Ø© عدÙ\85 Ø¥ستلام الاولى</a>.
+ create account minute: اÙ\86شئ ØساباØ\8c Ø¥Ù\86Ù\87ا تستغرÙ\82 دÙ\82Ù\8aÙ\82Ø© Ù\88اØدة Ù\81Ù\82Ø·.
+ no account: ليس لديك حسابا؟
+ account not active: عذراÙ\8bØ\8c ØسابÙ\83 غÙ\8aر Ù\86شط ØتÙ\89 اÙ\84Ø¢Ù\86.<br />Ù\8aÙ\8fرجÙ\8eÙ\89 إستخداÙ\85 اÙ\84رابط
+ الذي اُرسِلَ إليك فى رسالة تأكيد البريد الإلكتروني، كما <a href="%{reconfirm}">يمكنك
+ Ø·Ù\84ب رساÙ\84Ø© تأÙ\83Ù\8aد جدÙ\8aدة Ù\81Ù\89 ØاÙ\84Ø© عدÙ\85 استلام الاولى</a>.
account is suspended: عذرا، تم تعليق حسابك بسبب نشاط مشبوه.<br />يُرجَى الاتصال
ب<a href="%{webmaster}">webmaster</a> إذا كنت ترغب في مناقشة هذا.
auth failure: آسف، لا يمكن الدخول بتلك التفاصيل.
auth_providers:
openid:
title: تسجيل الدخول بOpenID
- alt: تسجيل الدخول باستخدام OpenID URL
+ alt: تسجيل الدخول باستخدام مسار OpenID
google:
- title: قم بتسجيل الدخول عن طريق جوجل
+ title: تسجيل الدخول باستخدام جوجل
alt: تسجيل الدخول ب Google OpenID
facebook:
- title: قم بتسجيل الدخول باستخدام الفيس بوك
+ title: تسجيل الدخول باستخدام فيس بوك
alt: تسجيل الدخول بحساب فيسبوك
windowslive:
title: تسجيل الدخول عبر ويندوز لايف
alt: سجل الدخول باستخدام حساب ويكيبيديا
yahoo:
title: تسجيل الدخول بياهو
- alt: تسجيل الدخول ب Yahoo OpenID
+ alt: تسجيل الدخول بـYahoo OpenID
wordpress:
title: تسجيل الدخول بووردبريس
- alt: تسجيل الدخول ب Wordpress OpenID
+ alt: تسجيل الدخول بـWordpress OpenID
aol:
title: تسجيل الدخول بإيه أو إل
- alt: تسجيل الدخول ب AOL OpenID
+ alt: تسجيل الدخول بـAOL OpenID
logout:
title: تسجيل الخروج
heading: الخروج من خريطة الشارع المفتوحة
heading: أنسيت كلمة المرور؟
email address: 'عنوان البريد الإلكتروني:'
new password button: أعد ضبط كلمة السر
- help_text: أدخل عنوان البريد الإلكتروني الذي استخدمته للتسجيل ، وسوف نرسل عليه
- رابط يمكنك استخدامه لإعادة تعيين كلمة المرور.
+ help_text: أدخل عنوان البريد الإلكتروني الذي استخدمته للتسجيل، وسوف نرسل عليه
+ رابطا يمكنك استخدامه لإعادة تعيين كلمة المرور.
notice email on way: نأسف لأنك أضعتها :-( ولكن هناك رسالة إلكترونية في طريقها
إليك ستمكنك من إعادة تعيينها قريبًا.
- notice email cannot find: تعذّر إيجاد عنوان البريد الإلكتروني، نحن آسفون.
+ notice email cannot find: معذرةً، تعذر إيجاد عنوان البريد الإلكتروني.
reset_password:
title: إعادة ضبط كلمة السر
heading: إعادة تعيين كلمة المرور %{user}
password: 'كلمة السر:'
- confirm password: 'Ø£Ù\83Ù\91د Ù\83Ù\84Ù\85Ø© اÙ\84Ù\85رÙ\88ر:'
+ confirm password: 'تأÙ\83Ù\8aد Ù\83Ù\84Ù\85Ø© اÙ\84سر:'
reset: أعد ضبط كلمة السر
- flash changed: كلمة المرور الخاصة بك قد تغيرت.
- flash token bad: لم نجد هذا النموذج، تحقق من الرابط ربما؟
+ flash changed: كلمة مرورك قد تغيرت.
+ flash token bad: لم نجد هذا النموذج، تحقق من المسار ربما؟
new:
title: أنشئ حسابا
no_auto_account_create: للأسف نحن غير قادرين في الوقت الحالي على إنشاء حساب
header: حًرَّة وقابلة للتحرير
html: |-
<p>على عكس الخرائط الأخرى تماما، يتم إنشاء خريطة الشارع المفتوحة من قبل الناس مثلك، وهي حرة ويمكن لأي أحد الإصلاح والتحديث والتنزيل والاستخدام.</p>
- <P> أنشىء حسابا لبدء المساهمة.سنقوم بإرسال بريد إلكتروني لتأكيد حسابك.</p>
+ <P> أنشىء حسابا لبدء المساهمة.سنقوم بإرسال بريد إلكتروني لتأكيد حسابك.</p>
license_agreement: عند تأكيد حسابك ستحتاج إلى الموافقة على <a href="HTTPS://www.osmfoundation.org/wiki/License/Contributor_Terms">شروط
المساهم</a>.
email address: 'عنوان البريد الإلكتروني:'
confirm email address: 'تأكيد عنوان البريد الإلكتروني:'
- not displayed publicly: Ù\84ا Ù\8aعرض عÙ\84Ù\86Ù\8bا (اÙ\86ظر <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="ويكي سياسة الخصوصية المتضمنة قسم عن عناوين البريد الإلكتروني">سياسة
- الخصوصية</a>)
- display name: 'اسم المستخدم:'
- display name description: اسم المستخدم الخاص بك الظاهر علنًا. يمكنك تغيير هذه
- التفضيلات في وقت لاحق.
+ not displayed publicly: Ù\84ا Ù\8aتÙ\85 عرض عÙ\86Ù\88اÙ\86Ù\83 بشÙ\83Ù\84 عاÙ\85Ø\8c راجع <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy"
+ title="سياسة خصوصية OSMF بما في ذلك القسم عن عناوين البريد الإلكتروني ">سياسة
+ الخصوصية</a> لمزيد من المعلومات
+ display name: 'اسم العرض:'
+ display name description: اسم المستخدم الخاص بك الظاهر علنًا، يمكنك تغيير هذا
+ في التفضيلات في وقت لاحق.
external auth: 'مصادقة طرف ثالث:'
password: 'كلمة السر:'
confirm password: 'تأكيد كلمة المرور:'
- use external auth: 'بدÙ\84ا Ù\85Ù\86 Ø°Ù\84Ù\83Ø\8c استخدÙ\85 طرÙ\81ا آخر Ù\84لدخول:'
+ use external auth: 'بدÙ\84ا Ù\85Ù\86 Ø°Ù\84Ù\83Ø\8c استخدÙ\85 طرÙ\81ا ثاÙ\84ثا Ù\84تسجÙ\8aÙ\84 الدخول:'
auth no password: مع مصادقة طرف ثالث كلمة السر غير مطلوبة، ولكن بعض الأدوات
إضافية أو الخادم قد لا تزال تحتاج إلى واحدة.
continue: أنشئ حسابا
terms accepted: نشكرك على قبول شروط المساهم الجديدة!
- terms declined: نحن نأسف أن كنت قد قررت عدم قبول شروط المساهمة الجديدة. لمزيد
- من المعلومات، يرجى الاطلاع على <a href="%{url}">صفحة الويكي هذه</a>.
+ terms declined: نحن نأسف أن كنت قد قررت عدم قبول شروط المساهمة الجديدة، لمزيد
+ من المعلومات; يُرجَى الاطلاع على <a href="%{url}">صفحة الويكي هذه</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: 'شروط المساهم:'
heading: 'شروط المساهم:'
- read and accept: يرجى قراءة الاتفاقية أدناه والضغط على زر الموافقة لتأكيد قبول
- شروط هذا الاتفاق على مشاركاتك الموجودة حاليًا والمستقبلية.
+ read and accept: تُرجَى قراءة الاتفاقية أدناه والضغط على زر الموافقة لتأكيد
+ قبول شروط هذا الاتفاق على مشاركاتك الموجودة والمستقبلية.
consider_pd: وبالإضافة إلى الاتفاقية أعلاه، أريد أن تكون مساهماتي ملكية عامة.
consider_pd_why: ما هذا؟
- guidance: 'معلومات للمساعدة في فهم هذه المصطلحات: <a href="%{summary}"> ملخص
- قابل للقراءة بالإنسان </a> وبعض <a href="%{translations}"> ترجمة غير رسمية
- </a>'
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+ guidance: 'معلومات للمساعدة في فهم هذه المصطلحات: <a href="%{summary}">ملخص
+ قابل للقراءة بواسطة الإنسان </a> وبعض <a href="%{translations}">ترجمات غير
+ رسمية</a>'
agree: أوافق
- decline: انخفاض
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
+ decline: أرفض
you need to accept or decline: الرجاء القراءة ومن ثم قبول أو رفض شروط المساهمة
الجديدة للمتابعة.
- legale_select: 'اÙ\84رجاء اختÙ\8aار بÙ\84د اÙ\84Ø¥Ù\82اÙ\85Ø©:'
+ legale_select: 'بلد الإقامة:'
legale_names:
france: فرنسا
italy: إيطاليا
rest_of_world: بقية العالم
no_such_user:
- title: Ù\85ستخدÙ\85 غÙ\8aر Ù\85Ù\88جÙ\88د
+ title: Ù\84ا Ù\8aÙ\88جد Ù\85ستخدÙ\85 Ù\83Ù\87ذا
heading: المستخدم %{user} غير موجود
- body: عذرًا، لا يوجد مستخدم بالاسم %{user}. يرجى تدقيق الاسم، أو ربما يكون الرابط
- الذي تم النقر عليه خاطئ.
+ body: عذرًا، لا يوجد مستخدم بالاسم %{user}; يُرجَى تدقيق الاسم، أو ربما يكون
+ اÙ\84رابط اÙ\84Ø°Ù\8a تÙ\85 اÙ\84Ù\86Ù\82ر عÙ\84Ù\8aÙ\87 خاطئ.
deleted: تم حذفه
show:
my diary: اليوميات
new diary entry: مدخلة يومية جديدة
- my edits: اÙ\84Ù\85Ù\8fساÙ\87Ù\85ات
+ my edits: تعدÙ\8aÙ\84اتÙ\8a
my traces: آثاري
my notes: ملاحظاتي
my messages: رسائلي
my profile: ملفي الشخصي
- my settings: اÙ\84إعدادات
+ my settings: إعداداتÙ\8a
my comments: تعليقاتي
oauth settings: "\uFEFFإعدادات oauth"
- blocks on me: اÙ\84عرÙ\82Ù\84ات عÙ\84ي
- blocks by me: اÙ\84عرÙ\82Ù\84ات بواسطتي
+ blocks on me: عÙ\85Ù\84Ù\8aات Ù\85Ù\86عي
+ blocks by me: عÙ\85Ù\84Ù\8aات اÙ\84Ù\85Ù\86ع بواسطتي
send message: إرسل رسالة
diary: يومية
edits: مساهمات
remove as friend: إلغاء الصداقة
add as friend: أضف كصديق
mapper since: 'مُخطط منذ:'
- ago: (%{time_in_words_ago})
+ ago: منذ %{time_in_words_ago}
ct status: 'شروط المساهم:'
ct undecided: متردد
ct declined: مرفوض
- ct accepted: مقبول %{ago} سابقاً
+ ct accepted: مقبول منذ %{ago}
latest edit: 'آخر تغيير %{ago}:'
email address: 'عنوان البريد الإلكتروني:'
- created from: 'Ø£Ù\8fÙ\86Ø´Ù\89Ø¡ من:'
+ created from: 'Ø£Ù\8fÙ\86Ø´Ù\90ئ من:'
status: 'الحالة:'
spam score: 'نتيجة السخام:'
description: الوصف
- user location: الموقع
- if set location: عين موقعك على صفحة %{settings_link} لرؤية المستخدمون القريبون
+ user location: موقع المستخدم
+ if set location: قم بتعيين موقعك على صفحة %{settings_link} لرؤية المستخدمون
+ القريبين
settings_link_text: إعدادات
my friends: أصدقائي
no friends: لم تقم بإضافة أي أصدقاء بعد.
km away: على بعد %{count}كم
m away: على بعد %{count}متر
- nearby users: 'مستخدمين أيضًا بالجوار:'
+ nearby users: مستخدمون آخرون قريبون
no nearby users: لا يوجد بعد المزيد من المستخدمين أفصحوا عن تخطيطهم بالجوار.
role:
administrator: هذا المستخدم إداري
- moderator: Ù\87ذا اÙ\84Ù\85ستخدÙ\85 Ù\88سÙ\8aØ·
+ moderator: Ù\87ذا اÙ\84Ù\85ستخدÙ\85 Ù\85شرÙ\81
grant:
administrator: منح وصول إداري
- moderator: Ù\85Ù\86Ø Ù\88صÙ\88Ù\84 Ù\88سÙ\8aØ·
+ moderator: Ù\85Ù\86Ø Ù\88صÙ\88Ù\84 Ù\85شرÙ\81
revoke:
- administrator: ابطل وصول إداري
- moderator: ابطÙ\84 Ù\88صÙ\88Ù\84 Ù\88سÙ\8aØ·
- block_history: اÙ\84عرÙ\82Ù\84ات المفعلة
- moderator_history: ' العرقلات المعطاة'
+ administrator: إبطال وصول إداري
+ moderator: إبطاÙ\84 Ù\88صÙ\88Ù\84 Ù\85شرÙ\81
+ block_history: عÙ\85Ù\84Ù\8aات اÙ\84Ù\85Ù\86ع المفعلة
+ moderator_history: عمليات المنع المعطاة
comments: التعليقات
create_block: امنع هذا المستخدم
- activate_user: نشّط هذا المستخدم
- deactivate_user: اØØ°Ù\81 هذا المستخدم
+ activate_user: Ù\86Ø´Ù\90Ù\91Ø· Ù\87ذا اÙ\84Ù\85ستخدÙ\85
+ deactivate_user: تعطÙ\8aÙ\84 هذا المستخدم
confirm_user: تأكيد هذا المستخدم
hide_user: اخفِ هذا المستخدم
unhide_user: أظهر هذا المستخدم
delete_user: احذف هذا المستخدم
- confirm: Ø£Ù\83Ù\91د
- friends_changesets: تصفح كل حزم التغييرات من قبل الأصدقاء
- friends_diaries: تصفح جميع مدخلات مدونات الأصدقاء
- nearby_changesets: تصÙ\81Ø Ù\83Ù\84 ØزÙ\85 اÙ\84تغÙ\8aÙ\8aرات Ù\85Ù\86 Ù\82بÙ\84 اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 اÙ\84Ù\82رÙ\8aبÙ\88ن
- nearby_diaries: تصÙ\81Ø Ø¬Ù\85Ù\8aع Ù\85دخÙ\84ات Ù\85دÙ\88Ù\86ات اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ù\81Ù\8a اÙ\84Ù\82رÙ\8aبÙ\88ن
- report: أبلغ عن هذه المستخدم
+ confirm: تأÙ\83Ù\8aد
+ friends_changesets: مجموعات تغييرات الأصدقاء
+ friends_diaries: مدخلات مدونات الأصدقاء
+ nearby_changesets: ØزÙ\85 تغÙ\8aÙ\8aرات اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 اÙ\84Ù\82رÙ\8aبÙ\8aن
+ nearby_diaries: إدخاÙ\84ات Ù\8aÙ\88Ù\85Ù\8aات اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 اÙ\84Ù\82رÙ\8aبÙ\8aن
+ report: أبلغ عن هذا المستخدم
popup:
your location: مكانك
nearby mapper: مخطط بالجوار
friend: صديق
account:
- title: عدÙ\91Ù\84 اÙ\84Øساب
+ title: عدل الحساب
my settings: إعداداتي
current email address: 'عنوان البريد الإلكرتروني الحالي:'
new email address: 'عنوان البريد الإلكتروني الجديد:'
external auth: 'مصادقة خارجية:'
openid:
link: http://wiki.openstreetmap.org/wiki/OpenID
- link text: ما هذا ؟
+ link text: ما هذا؟
public editing:
heading: 'تعديل عام:'
- enabled: Ù\85Ù\81عÙ\91Ù\84. غير مجهول ويمكنك تعديل البيانات.
+ enabled: Ù\85Ù\81عÙ\8eÙ\91Ù\84Ø\8c غير مجهول ويمكنك تعديل البيانات.
enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
enabled link text: ما هذا؟
disabled: مُعطل ولا يمكن تعديل البيانات، جميع التعديلات السابقة مجهولة الهوية.
disabled link text: لماذا لا أستطيع التعديل؟
public editing note:
heading: تعديل عام
- text: حاليًا تعديلاتك تظهر بشكل مجهول ولا يمكن للناس إرسال رسائل لك أو رؤية
- موقعك. لإظهار ما قمت بتعديله وللسماح للناس بالاتصال بك من خلال الموقع، انقر
- عÙ\84Ù\89 اÙ\84زر أدÙ\86اÙ\87. <b>Ù\85Ù\86Ø° اÙ\84تغÙ\8aÙ\8aر Ø¥Ù\84Ù\89 اÙ\84Ø£Ù\8a بÙ\8a Ø£Ù\8a 0.6Ø\8c Ù\81Ù\82Ø· اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 اÙ\84عÙ\84Ù\86Ù\8aÙ\8aÙ\86
- يمكنه تحرير بيانات الخريطة</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">لمعرفة
- السبب</a>). <ul><li>عنوانك البريدي لن يكشف به علنّا.</li><li>هذا الإجراء
- Ù\84ا Ù\8aÙ\85Ù\83Ù\86 عÙ\83سÙ\87 Ù\88جÙ\85Ù\8aع اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 اÙ\84جدÙ\8aد عÙ\84Ù\86Ù\8aÙ\8aÙ\86 بشÙ\83Ù\84 اÙ\81تراضÙ\8a.</li></ul>
+ text: في الوقت الحالي، تعديلاتك مجهولة الهوية ولا يمكن للأشخاص إرسال رسائل
+ إليك أو الاطلاع على موقعك، لإظهار ما قمت بتحريره والسماح للأشخاص بالاتصال
+ بÙ\83 عبر Ù\85Ù\88Ù\82ع اÙ\84Ù\88Ù\8aب; اÙ\86Ù\82ر Ù\81Ù\88Ù\82 اÙ\84زر أدÙ\86اÙ\87<b>Ù\85Ù\86Ø° تغÙ\8aÙ\8aر Ù\88اجÙ\87Ø© برÙ\85جة اÙ\84تطبÙ\8aÙ\82ات
+ 0.6، لا يمكن سوى للمستخدمين العموميين تعديل بيانات الخريطة</b>. (<a href="https://wiki.openstreetmap.org/wiki/Anonymous_edits">اكتشف
+ السبب</a>).<ul><li>لن يتم الكشف عن عنوان بريدك الإلكتروني من خلال جعله عاما.</li><li>لا
+ Ù\8aÙ\85Ù\83Ù\86 عÙ\83س Ù\87ذا اÙ\84إجراء Ù\88Ø£ØµØ¨Ø Ø¬Ù\85Ù\8aع اÙ\84Ù\85ستخدÙ\85Ù\8aÙ\86 اÙ\84جدد عاÙ\85Ù\8aÙ\86 اÙ\81تراضÙ\8aا.</li></ul>
contributor terms:
heading: 'شروط المساهم:'
- agreed: لقد وافقتَ على شروط المساهم الجديدة.
+ agreed: لقد وافقت على شروط المساهم الجديدة.
not yet agreed: لم توافق بعد على شروط المساهم الجديدة.
- review link text: يرجى اتباع هذا الرابط في الوقت الذي يناسبك لمراجعة وقبول
+ review link text: يُرجَى اتباع هذا الرابط في الوقت الذي يناسبك لمراجعة وقبول
شروط المساهمة الجديدة.
- agreed_with_pd: وقد أعلنتَ أيضًا أنك تعتبر تعديلاتك ملكية عامة.
+ agreed_with_pd: وقد أعلنت أيضًا أنك تعتبر تعديلاتك ملكية عامة.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: ما هذا؟
profile description: 'وصف الملف الشخصي:'
- preferred languages: 'اÙ\84Ù\84غات اÙ\84Ù\85Ù\81ضÙ\91Ù\84Ø©:'
+ preferred languages: 'اللغات المفضلة:'
preferred editor: 'المحرر المفضل:'
image: "\uFEFFالصورة:"
gravatar:
gravatar: استخدام Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: ما هذا؟
disabled: تم تعطيل Gravatar .
enabled: تم تمكين عرض Gravatar الخاص بك.
no home location: لم تدخل موقع منزلك.
latitude: 'خط العرض:'
longitude: 'خط الطول:'
- update home location on click: ØدÙ\91ث موقع المنزل عندما أنقر على الخريطة؟
+ update home location on click: تØدÙ\8aث موقع المنزل عندما أنقر على الخريطة؟
save changes button: احفظ التغييرات
make edits public button: اجعل جميع تعديلاتي عامة
return to profile: العودة إلى الملف الشخصي
- flash update success confirm needed: تم تحديث معلومات المستخدم بنجاح. تحقق من
- بريدك الإلكتروني لمذكرة تأكيد العنوان الإلكتروني الجديد.
+ flash update success confirm needed: تم تحديث معلومات المستخدم بنجاح، تحقق من
+ بريدك الإلكتروني لملاحظة تأكيد العنوان الإلكتروني الجديد.
flash update success: تم تحديث معلومات المستخدم بنجاح.
confirm:
heading: تحقق من بريدك الإلكتروني
introduction_2: أكد حسابك عن طريق النقر على الرابط في البريد الإلكتروني وستكون
قادرا على البدء في رسم الخرائط.
press confirm button: اضغط على زر التأكيد أدناه لتنشيط حسابك.
- button: Ø£Ù\83Ù\91د
+ button: تأÙ\83Ù\8aد
success: تم تأكيد حسابك، شكرًا للاشتراك!
already active: هذا الحساب سبق أن تم تأكيده.
unknown token: رمز التأكيد انتهت صلاحيته أو غير موجود.
- reconfirm_html: إذا كنت في حاجة لإعادة إرسال تأكيد البريد الإلكتروني، email
- <a href="%{reconfirm}">انقر هنا</a>.
+ reconfirm_html: إذا كنت في حاجة لإعادة إرسال تأكيد البريد الإلكتروني، <a href="%{reconfirm}">انقر
+ هنا</a>.
confirm_resend:
success: لقد أرسلنا رسالة تأكيد جديدة إلى %{email} وبمجرد تأكيد حسابك ستتمكن
- من رسم الخرائط. <br /> <br /> إذا كنت تستخدم نظامًا مضادًا للبريد العشوائي
- يرسل طلبات تأكيد ، فيرجى تأكد من أنك القائمة البيضاء %{sender} لأننا غير قادرين
- على الرد على أي طلبات تأكيد.
+ من رسم الخرائط.<br /><br />إذا كنت تستخدم نظاما مضادا للبريد العشوائي يرسل
+ طلبات تأكيد، فيُرجَى التأكد من أنك وضعت في القائمة البيضاء %{sender} لأننا
+ غÙ\8aر Ù\82ادرÙ\8aÙ\86 عÙ\84Ù\89 اÙ\84رد عÙ\84Ù\89 Ø£Ù\8a Ø·Ù\84بات تأÙ\83Ù\8aد.
failure: المستخدم %{name} غير موجود.
confirm_email:
- heading: أكّد تغيير عنوان البريد الإلكتروني
+ heading: أكد تغيير عنوان البريد الإلكتروني
press confirm button: اضغط على زر تأكيد أدناه لتأكيد عنوان بريدك الإلكتروني
الجديد.
- button: Ø£Ù\83Ù\91د
- success: تم تأكيد عنوان بريدك الإلكتروني، شكرًا للاشتراك!
- failure: عنوان بريد إلكتروني تم تفعيله مسبقًا بهذا النموذج.
+ button: تأÙ\83Ù\8aد
+ success: تم تأكيد عنوان بريدك الإلكتروني!
+ failure: عنوان بريد إلكتروني تم تفعيله مسبقًا بهذا الرمز.
unknown_token: رمز التأكيد انتهت صلاحيته أو غير موجود.
set_home:
- flash success: موقع المنزل حُفظ بنجاح
+ flash success: موقع المنزل حُفِظ بنجاح
go_public:
flash success: جميع تعديلاتك الآن عامة، ومسموح لك بالتعديل الآن.
make_friend:
heading: إضافة %{user} كصديق؟
button: أضف كصديق
success: '%{name} الآن صديقك.'
- failed: عفوًا، تعذر إضافة %{name} كصديق.
- already_a_friend: حاليًا أنت و %{name} أصدقاء.
+ failed: عفوًا، تعذرت إضافة %{name} كصديق.
+ already_a_friend: حاليًا أنت و%{name} أصدقاء.
remove_friend:
- heading: غÙ\8aر صدÙ\8aÙ\82 %{user}؟
- button: الغاء الصداقة
- success: تم إزالة %{name} من قائمة أصدقائك.
- not_a_friend: '%{name} ليس من أحد أصدقائك.'
+ heading: Ø¥Ù\84غاء صداÙ\82Ø© %{user}؟
+ button: Ø¥لغاء الصداقة
+ success: تمت إزالة %{name} من قائمة أصدقائك.
+ not_a_friend: '%{name} ليس أحد أصدقائك.'
filter:
- not_an_administrator: عليك أن تكون إداري لتنفيذ هذا الإجراء.
+ not_an_administrator: عليك أن تكون إداريا لتنفيذ هذا الإجراء.
index:
title: المستخدمون
heading: المستخدمون
showing:
- one: صفحة%{page} (%{first_item} %{items})
- other: صفحة %{page} (%{first_item}-%{last_item} %{items})
+ one: صفحة %{page} (%{first_item} من %{items})
+ other: صفحة %{page} (%{first_item}-%{last_item} من %{items})
summary: '%{name} تم إنشاؤها من %{ip_address} في %{date}'
- summary_no_ip: '%{name} تم إنشاؤها في %{date}'
+ summary_no_ip: '%{name} تم إنشاؤه في %{date}'
confirm: تأكيد المستخدمين المحددين
hide: إخفاء المستخدمين المحددين
- empty: لا سجلات مطابقة تم العثور عليها!
+ empty: لم يتم العثور على مستخدمين متطابقين
suspended:
title: حساب معلق
heading: حساب معلق
unknown_signature_algorithm: خوارزمية توقيع غير معروفة
invalid_scope: نطاق غير صالح
auth_association:
- heading: لم يرتبط اسم المستخدم الخاص بك بحساب خريطة الشارع المفتوحة حتى الآن.
- option_1: إذا كنت جديدا في خريطة الشارع المفتوح، الرجاء إنشاء حساب جديد باستخدام
- النموذج أدناه.
- option_2: إذا كان لديك بالفعل حساب، يمكنك الدخول إلى حسابك باستخدام اسم المستخدم
- وكلمة المرور الخاصة بك ومن ثم ربط الحساب باسم المستخدم الخاص بك في إعدادات
- المستخدم.
+ heading: لم يرتبط معرفك بحساب خريطة الشارع المفتوحة حتى الآن.
+ option_1: |-
+ إذا كنت جديدا في خريطة الشارع المفتوح، الرجاء إنشاء حساب جديد
+ باستخدام النموذج أدناه.
+ option_2: "إذا كان لديك حساب بالفعل، فيمكنك تسجيل الدخول إلى حسابك \nباستخدام
+ اسم المستخدم وكلمة المرور الخاصة بك، ثم ربط الحساب \nبمعرفك في إعدادات المستخدم
+ الخاصة بك."
user_role:
filter:
not_an_administrator: يحق فقط للإداريين القيام بتغيير دور المستخدم، وأنت لست
offramp_right: اسلك الطريق المنحدر على اليمين
offramp_right_with_exit: اسلك المخرج %{exit} على اليسار
offramp_right_with_exit_name: اسلك المخرج %{exit} على اليمين إلى %{name}
- offramp_right_with_exit_directions: اسلك المخرج%{exit} على اليمين نحو%{directions}
- offramp_right_with_exit_name_directions: اسلك المخرج%{exit} على اليسار باتجاه%{name}
- ، نحو%{directions}
+ offramp_right_with_exit_directions: اسلك المخرج %{exit} على اليمين نحو %{directions}
+ offramp_right_with_exit_name_directions: اسلك المخرج %{exit} على اليسار باتجاه
+ %{name}، نحو %{directions}
offramp_right_with_name: خذ الطريق المنحدرة إلى اليمين باتجاه %{name}
- offramp_right_with_directions: اسلك الطريق المنحدر نحو اليمين نحو%{directions}
- offramp_right_with_name_directions: اسلك الطريق المنحدر إلى اليمين في%{name}
- ، نحو%{directions}
+ offramp_right_with_directions: اسلك الطريق المنحدر نحو اليمين نحو %{directions}
+ offramp_right_with_name_directions: اسلك الطريق المنحدر إلى اليمين في %{name}،
+ نحو %{directions}
onramp_right_without_exit: اتجه يمينا على منحدر إلى %{name}
onramp_right_with_directions: اتجه إلى اليمين باتجاه المنحدر نحو %{directions}
- onramp_right_with_name_directions: الاتجاه يمينًا على المنحدر نحو%{name} ،
- نحو%{directions}
+ onramp_right_with_name_directions: الاتجاه يمينًا على المنحدر نحو %{name}،
+ نحو %{directions}
onramp_right_without_directions: استدر يمينًا على المنحدر
onramp_right: استدر يمينًا على المنحدر
endofroad_right_without_exit: في نهاية الطريق انعطف يمينا إلى %{name}
turn_right_without_exit: انعطف يمينا إلى %{name}
sharp_right_without_exit: إلى أقصى اليمين في%{name}
uturn_without_exit: انعطف على طول %{name}
- sharp_left_without_exit: إلى أقصى اليسار نحو%{name}
+ sharp_left_without_exit: إلى أقصى اليسار نحو %{name}
turn_left_without_exit: انعطف يسارا إلى %{name}
offramp_left: اسلك الطريق المنحدر على اليسار
offramp_left_with_exit: اسلك المخرج %{exit} على اليسار
relation: علاقة
nothing_found: لم يتم إيجاد ميزات
error: 'خطأ في الاتصال %{server}: %{error}'
- timeout: مهلة الاتصال %{server}
+ timeout: Ù\86Ù\81ذت Ù\85Ù\87Ù\84Ø© اÙ\84اتصاÙ\84 %{server}
context:
directions_from: الاتجاهات من هنا
directions_to: الاتجاهات إلى هنا
title: تحرير التنقيح
index:
empty: لا يوجد تنقيح لإظهاره.
- heading: قائمة التنقيح
- title: قائمة التنقيح
+ heading: قائمة التنقيحات
+ title: قائمة التنقيحات
new:
description: الوصف
heading: أدخل معلومات عن التنقيح الجديد
pass_crypt: كلمه المرور
browse:
changeset:
- title: حزمه التغييرات
+ title: 'حزمه التغييرات: %{id}'
changesetxml: حزمه التغييرات إكس إم إل
osmchangexml: osmChange XML
feed:
load_data: تحميل البيانات
loading: تحميل...
tag_details:
- tags: 'الوسوم:'
+ tags: الوسوم
changeset:
changeset_paging_nav:
- showing_page: إظÙ\87ار اÙ\84صÙ\81ØÙ\87 %{page}
+ showing_page: الصفحه %{page}
next: التالى »
previous: «السابق
changeset:
layouts:
logo:
alt_text: شعار خريطه الشارع المفتوحة
- home: اÙ\84صÙ\81ØÙ\87 اÙ\84رئÙ\8aسÙ\8aØ©
+ home: رÙ\88Ø Ù\84Ù\84صÙ\81ØÙ\87 اÙ\84رئÙ\8aسÙ\8aÙ\87
logout: اخرج
log_in: دخول
log_in_tooltip: سجّل الدخول مع حساب موجود
- sign_up: Ø£Ù\86شئ ØسابÙ\8bا
+ sign_up: اعÙ\85Ù\84 Øساب
sign_up_tooltip: أنشئ حسابًا كى تستطيع المساهمة
edit: عدّل هذه الخريطة
history: تاريخ
export: صدِّر
gps_traces: آثار جى بى أس
- gps_traces_tooltip: عاÙ\84ج اÙ\84آثار
+ gps_traces_tooltip: اتØÙ\83Ù\85 Ù\81Ù\89 اثار GPS
user_diaries: يوميات المستخدمين
user_diaries_tooltip: اعرض يوميات المستخدمين
tag_line: ويكى خريطه العالم الحرة
loaded_successfully: تم تحميل بنجاح %{trace_points} نقطه من أصل %{possible_points}
نقطه ممكنه.
signup_confirm:
- subject: '[خريطه الشارع المفتوحة] أكّد عنوان بريدك الإلكتروني'
+ subject: '[خريطه الشارع المفتوحه] اهلا بيك فى اوبن ستريت ماب'
email_confirm:
subject: '[خريطه الشارع المفتوحة] أكّد عنوان بريدك الإلكتروني'
email_confirm_plain:
flash: تم تحديث معلومات العميل بنجاح
destroy:
flash: دمّر تسجيل التطبيق
- user:
+ users:
login:
title: ولوج
heading: ولوج
flash changed: كلمه المرور الخاصه بك قد تغيرت.
flash token bad: لم تجد تلك المعلومات، تحقق من الرابط ربما؟
new:
- title: Ø£Ù\86شئ حساب
+ title: اعÙ\85Ù\84 حساب
no_auto_account_create: للأسف نحن غير قادرين فى الوقت الحالى على إنشاء حساب
لك تلقائيًا.
contact_webmaster: يرجى الاتصال <a href="mailto:webmaster@openstreetmap.org">بمسؤول
public editing:
heading: 'تعديل عام:'
enabled: مفعّل. غير مجهول ويمكنك تعديل البيانات.
- enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
+ enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
enabled link text: ما هذا؟
disabled: مُعطل ولا يمكن تعديل البيانات، جميع التعديلات السابقه مجهوله الهويه.
disabled link text: لماذا لا أستطيع التعديل؟
بريدك الإلكترونى لمذكره تأكيد العنوان الإلكترونى الجديد.
flash update success: تم تحديث معلومات المستخدم بنجاح.
confirm:
- heading: Ø£Ù\83Ù\91د Øساب اÙ\84Ù\85ستخدÙ\85
+ heading: راجع اÙ\8aÙ\85Ù\8aÙ\84Ù\83!
press confirm button: اضغط على زر التأكيد أدناه لتنشيط حسابك.
button: أكّد
success: تم تأكيد حسابك، شكرًا للاشتراك!
press confirm button: اضغط على زر تأكيد أدناه لتأكيد عنوان بريدك الإلكترونى
الجديد.
button: أكّد
- success: تÙ\85 تأÙ\83Ù\8aد عÙ\86Ù\88اÙ\86 برÙ\8aدÙ\83 اÙ\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\89Ø\8c Ø´Ù\83رÙ\8bا Ù\84Ù\84اشتراÙ\83!
+ success: تÙ\85 تأÙ\83Ù\8aد تغÙ\8aÙ\8aر عÙ\86Ù\88اÙ\86 برÙ\8aدÙ\83 اÙ\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\89!
failure: عنوان بريد إلكترونى تم تفعيله مسبقًا بهذه البيانات.
set_home:
flash success: موقع المنزل حُفظ بنجاح
go_public:
flash success: جميع تعديلاتك الآن عامه، ومسموح لك بالتعديل الآن.
make_friend:
- success: '%{name} الآن صديقك.'
+ success: '%{name} الآن صديقك!'
failed: عفوًا، تعذر إضافه %{name} كصديق.
already_a_friend: حاليًا أنت و %{name} أصدقاء.
remove_friend:
intro_text: OpenStreetMap ye un mapa del mundu, creáu por persones como tu y d'usu
llibre baxo una llicencia abierta.
intro_2_create_account: Crear una cuenta d'usuariu
- partners_html: L'agospiamientu tien l'encontu de %{ucl}, %{bytemark}, %{ic}, y
- otros %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College de Londres
partners_bytemark: Bytemark Hosting
partners_partners: asociaos
osm_offline: La base de datos d'OpenStreetMap anguaño ta desconectada mentanto
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> y
Land Tirol (baxo <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT con enmiendes</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: Contien datos de barrios basaos en datos de Australian Bureau of
+ Statistics.
contributors_ca_html: |-
<strong>Canadá</strong>: Contien datos de GeoBase®, GeoGratis (© Department of Natural
Resources Canada), CanVec (© Department of Natural
flash: S'anovó la información del cliente correutamente
destroy:
flash: Se destruyó'l rexistru de l'aplicación cliente
- user:
+ users:
login:
title: Entrar
heading: Entrar
edit_with: '%{editor} köməyi ilə dəyişdir'
tag_line: Azad Viki Dünya Xəritəsi
intro_2_create_account: İstifadəçi hesabı yarat
- partners_ic: London İmperial Kolleci tərəfindən
partners_bytemark: Bytemark Hosting
partners_partners: partnyorlar
help: Kömək
revoke: Ləğv et!
form:
name: Ad
- user:
+ users:
login:
title: Daxil olun
heading: Daxil olun
-# Messages for Belarusian (Taraškievica orthography) (беларуская (тарашкевіца))
+# Messages for be-tarask (be-tarask)
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: EugeneZelenko
edit_with: Рэдагаваць праз %{editor}
tag_line: Вольная Wiki-мапа сьвету
intro_2_create_account: Стварыце рахунак
- partners_html: Гостынг падтрымліваецца %{ucl}, %{bytemark}, %{ic} і іншымі %{partners}.
partners_ucl: UCL
- partners_ic: Лёнданскім імпэрскім каледжам
osm_offline: База зьвестак OpenStreetMap у цяперашні момант недаступная, таму
што праводзяцца неабходныя тэхнічныя работы.
osm_read_only: База зьвестак OpenStreetMap у цяперашні момант даступная толькі
<strong>Аўстрыя</strong>: утрымлівае зьвесткі <a href="https://data.wien.gv.at/">гораду Вены</a> (на ўмовах
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>), а таксама земляў <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Форарльбэрг</a> і
Тыроль (на ўмовах <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT з дапаўненьнямі</a>).
+ contributors_au_html: |-
+ <strong>Аўстралія</strong>: Утрымлівае зьвесткі пра прыгарады ад
+ Аўстралійскага бюро статыстыкі.
contributors_ca_html: |-
<strong>Канада</strong>: Утрымлівае зьвесткі
GeoBase®, GeoGratis (© Дэпартамэнта прыродных рэсурсаў
flash: Кліенцкая інфармацыя была абноўленая пасьпяхова
destroy:
flash: Зьнішчаная рэгістрацыя кліенцкага дастасаваньня
- user:
+ users:
login:
title: Увайсьці
heading: Уваход
intro_text: OpenStreetMap - гэта карта свету, створаная людзьмі, як вы, і бясплатная
для выкарыстання на ўмовах адкрытай ліцэнзіі.
intro_2_create_account: Стварыць рахунак удзельніка
- partners_html: Хостынг падтрымліваецца %{ucl}, %{ic} і %{bytemark}, і іншымі %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: партнёрамi
osm_offline: База дадзеных OpenStreetMap зараз па-за сецівам, таму што праходзіць
flash: Кліенцкая інфармацыя была абноўленая паспяхова
destroy:
flash: Знішчаная рэгістрацыя кліенцкага дастасавання
- user:
+ users:
login:
title: Уваход
heading: Уваход
form:
name: Име
allow_write_api: промяна на картата.
- user:
+ users:
login:
title: Вписване
heading: Вписване
intro_text: ওপেনস্ট্রীটম্যাপ বিশ্বের, একটি মানচিত্র; যা আপনার মতো মানুষের দ্বারা
নির্মিত এবং এটি মুক্ত লাইসেন্সের অধীনে বিনামূল্যে ব্যবহারযোগ্য।
intro_2_create_account: একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করুন
- partners_html: হোস্টিং %{ucl}, %{bytemark}, %{ic}, এবং অন্যান্য %{partners} কর্তৃক
- সমর্থিত।
partners_ucl: UCL
- partners_ic: ইম্পেরিয়াল মহাবিদ্যালয় লন্ডন
partners_partners: সহযোগীগণ
help: সাহায্য
about: পরিচিতি
issued_at: অনুমোদনের তারিখ
form:
name: নাম
- user:
+ users:
login:
title: প্রবেশ
heading: প্রবেশ
pennadoù deizlevr-mañ
post: Postañ
when: Peur
- comment: Addipleg
+ comment: Addispleg
ago: '%{ago} zo'
newer_comments: Evezhiadennoù nevesoo'h
older_comments: Evezhiadennoù koshañ
water_park: Kreizenn dour
"yes": Diduamantoù
man_made:
+ adit: Toullenn moned d'ar mengleuz
beacon: Tour-tan
beehive: Ruskenn
breakwater: Diwagenner
accountant: Kontour
administrative: Melestradur
architect: Ti-savour
- association: kevredigezh
+ association: Kevredigezh
company: Embregerezh
educational_institution: Ensavadur desavadurel
employment_agency: Ajañs evit al labour
results:
no_results: N'eus bet kavet respont ebet
more_results: Muioc'h a zisoc'hoù
+ issues:
+ index:
+ title: Kudennoù
+ select_status: Diuzañ ur statud
+ select_last_updated_by: Diuzañ an hizivadenn diwezhañ gant
+ not_updated: Nann hizvivaet
+ search: Klask
+ search_guidance: 'Kudennoù enklask :'
+ user_not_found: N'eus ket eus an implijer
+ status: Statud
+ reports: Danevelloù
+ last_updated: Hizivaet da ziwezhañ
+ last_updated_time_html: <abbr title='%{title}'>%{time} zo</abbr>
+ last_updated_time_user_html: <abbr title='%{title}'>%{time} zo</abbr> by %{user}
+ link_to_reports: Gwelet an danevelloù
+ reports_count:
+ one: 1 Danevell
+ other: '%{count} Danevelloù'
+ states:
+ ignored: Lezet a-gostez
+ open: Digor
+ resolved: Diskoulmet
+ update:
+ new_report: Enrollet mat eo bet ho tanevell
+ successful_update: Hizivaet mat eo bet ho tanevell
+ show:
+ title: '%{status} Kudenn #%{issue_id}'
+ reports:
+ zero: Danevell ebet
+ one: 1 rapport
+ other: '%{count} danevelloù'
+ resolve: Diskoulmañ
+ ignore: Lezel a-gostez
+ reopen: Addigeriñ
+ read_reports: Lenn an danevelloù
+ new_reports: Danevelloù nevez
+ other_issues_against_this_user: Kudennoù all a sell ouzh an implijer-mañ
+ no_other_issues: Kudenn all ebet gant an implijer-mañ.
+ comments_on_this_issue: Displegadennoù war ar gudenn-mañ
+ comments:
+ created_at: D'an %{datetime}
+ reports:
+ updated_at: D'an %{datetime}
+ helper:
+ reportable_title:
+ note: 'Notenn #%{note_id}'
+ issue_comments:
+ create:
+ comment_created: Krouet mat eo bet hoc'h evezhiadenn.
layouts:
logo:
alt_text: Logo OpenStreetMap
intro_text: Ur gartenn eus ar bed eo OprenStreetMap, krouet gant tud eveldoc'h
ha frank hec'h implij dindan un aotre-implij digor.
intro_2_create_account: Krouiñ ur gont implijer
- partners_html: '%{ucl}, %{ic}, %{bytemark}, ha %{partners} all a ra war-dro an
- herberc''hiañ.'
partners_ucl: ↓"Universiy College" Londrez
- partners_ic: Skolaj impalaerel Londrez
partners_bytemark: ↓Herberc'hiañ Bytemark
partners_partners: Kevelourien
osm_offline: Ezlinenn eo diaz roadennoù OpenStreetMap evit bremañ e-pad ma pleder
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> ha
Land Tirol (dindan <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT gant enkemmadoù</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: Ennañ ar roadennoù diwar-benn an bannlevioù
+ diazezet war roadennoù Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Kanada</strong> : Ennañ roadennoù eus
GeoBase®, GeoGratis (© Department of Natural
flash: Hizivaet eo bet titouroù an arval
destroy:
flash: Distrujet eo bet marilhadur an arload arval
- user:
+ users:
login:
title: Kevreañ
heading: Kevreañ
intro_text: OpenStreetMap predstavlja mapu svijeta, kreiranu od strane ljudi kao
što ste vi i može se besplatno koristiti.
intro_2_create_account: Napravite korisnički račun
- partners_html: Hosting je podržan od strane %{ucl}, %{ic} i %{bytemark}, i drugih
- %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnera
osm_offline: OpenStreetMap baza podataka je trenutno nedostupna dok se ne završe
flash: Informacije o klijentu uspješno osvježene
destroy:
flash: Uništena registracija klijent aplikacije
- user:
+ users:
login:
title: Prijava
heading: Prijava
intro_text: L'OpenStreetMap és un mapa del món, creat per persones com tu i d'ús
lliure sota una llicència oberta.
intro_2_create_account: Crea un compte d'usuari
- partners_html: L'allotjament és a càrrec de %{ucl}, %{ic}, %{bytemark} i d'altres
- %{partners}.
partners_ucl: el Centre UCL VR
- partners_ic: Imperial College Londres
partners_bytemark: Allotjament Bytemark
partners_partners: socis
osm_offline: La base de dades OpenStreetMap és fora de línia, mentre es fan actuacions
<strong>Àustria</strong>: conté dades de
<a href="http://data.wien.gv.at/">Stadt Wien</a> sota
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>.
+ contributors_au_html: |-
+ <strong>Austràlia</strong>: conté dades suburbi basats
+ en les dades d'Austràlia Oficina d'estadístiques.
contributors_ca_html: |-
<strong>Canadà</strong>: conté dades de
GeoBase ®, GeoGratis (© Departament de Natural
flash: La informació de client ha actualitzat correctament
destroy:
flash: S'ha destruït el registre de l'aplicació client
- user:
+ users:
login:
title: Accés
heading: Accés
application: ТӀетохаран цӀе
form:
required: Оьшу
- user:
+ users:
new:
continue: Кхин дӀа
show:
intro_text: OpenStreetMap je mapa světa, vytvořená lidmi jako vy a volně využitelná
pod otevřenou licencí.
intro_2_create_account: Vytvořit uživatelský účet
- partners_html: Hosting podporují %{ucl}, %{bytemark}, %{ic} a další %{partners}.
+ hosting_partners_html: Hosting podporují %{ucl}, %{bytemark}, a další %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partneři
osm_offline: Databáze OpenStreetMap je momentálně kvůli probíhající neodkladné
BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">země
Vorarlbersko</a> a země Tyrolsko (pod <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC
BY AT s dodatky</a>).'
+ contributors_au_html: '<strong>Austrálie</strong>: Obsahuje data předměstí
+ založená na datech Australského statistického úřadu.'
contributors_ca_html: '<strong>Kanada</strong>: Obsahuje data z GeoBase®,
GeoGratis (© Department of Natural Resources Canada), CanVec (©
Department of Natural Resources Canada) a StatCan (Geography Division, Statistics
flash: Klientské informace úspěšně aktualizovány
destroy:
flash: Registrace klientské aplikace zrušena
- user:
+ users:
login:
title: Přihlásit se
heading: Přihlášení
i budoucí příspěvky.
consider_pd: Navíc k výše uvedené dohodě považuji své příspěvky za volné dílo.
consider_pd_why: co to znamená?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Informace, které pomohou tyto podmínky pochopit: <a href="%{summary}">lidsky
čitelné shrnutí</a> a nějaké <a href="%{translations}">neoficiální překlady</a>'
agree: Souhlasím
intro_text: Mae OpenStreetMap yn fap o'r byd, wedi'i greu gan bobl fel chi ac
sydd ar gael i'w ddefnyddio am ddim a dan drwydded rydd.
intro_2_create_account: Creu cyfrif defnyddiwr
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: Partneriaid
osm_offline: Mae cronfa ddata OpenStreetMap all-lein ar hyn o bryd er mwyn gwaith
allow_read_gpx: ddarllen eu dargopiadau GPS preifat.
allow_write_gpx: uwchlwytho dargopiadau GPS.
allow_write_notes: addasu nodiadau.
- user:
+ users:
login:
title: Mewngofnodi
heading: Mewngofnodi
title: Problemer
select_status: Vælg status
select_type: Vælg type
+ select_last_updated_by: Vælg sidst opdateret af
+ reported_user: Rapporteret bruger
not_updated: Ikke opdateret
search: Søg
user_not_found: Brugeren findes ikke
reopen: Genåbn
read_reports: Læs rapporter
new_reports: Nye rapporter
+ comments_on_this_issue: Kommentarer på denne sag
+ comments:
+ created_at: Den %{datetime}
+ reports:
+ updated_at: Den %{datetime}
reports:
new:
missing_params: Kan ikke oprette en ny rapport
edit: Redigér
history: Historik
export: Eksportér
+ issues: Problemer
data: Data
export_data: Eksporter data
gps_traces: GPS-spor
intro_text: OpenStreetMap er et kort over verden, skabt af folk som dig og gratis
at bruge under en åben licens.
intro_2_create_account: Opret en brugerkonto
- partners_html: Driften støttes af %{ucl}, %{ic}, %{bytemark} og andre %{partners}.
partners_ucl: University College London
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnere
osm_offline: OpenStreetMap-databasen er for øjeblikket offline på grund af nødvendig
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Delstaten Vorarlberg</a> og
Delstaten Tyrol (under <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT med tilføjelser</a>).
+ contributors_au_html: |-
+ <strong>Australien</strong>: Indeholder forstadsdata baseret
+ på data fra Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Canada</strong>: Indeholder data fra
GeoBase®, GeoGratis (© Department of Natural
tags_help: kommasepareret
visibility: 'Synlighed:'
visibility_help: hvad betyder det her?
+ visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
upload_button: Upload
help: Hjælp
+ help_url: https://wiki.openstreetmap.org/wiki/Upload
create:
upload_trace: Upload GPS-spor
trace_uploaded: Din GPX-fil er uploadet og afventer lagring i databasen. Det
flash: Opdateret klientoplysninger
destroy:
flash: Annulerede klient programmets registrering
- user:
+ users:
login:
title: Log på
heading: Log på
terms declined: Vi er kede af at du har besluttet at du ikke kan acceptere de
nye vilkår for bidragsydere. For yderligere oplysninger, se venligst <a href="%{url}">denne
wikiside</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: Vilkår for bidragsydere
heading: Vilkår for bidragsydere
intro_text: OpenStreetMap ist eine Karte der Welt, erstellt von Menschen wie dir
und frei verwendbar unter einer offenen Lizenz.
intro_2_create_account: Erstelle ein Benutzerkonto
- partners_html: Das Hosting wird von %{ucl}, %{bytemark}, %{ic} und weiteren %{partners}
+ hosting_partners_html: Das Hosting wird von %{ucl}, %{bytemark} und anderen %{partners}
unterstützt.
partners_ucl: UCL
- partners_ic: dem Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: Partnern
osm_offline: Die OpenStreetMap-Datenbank ist im Moment wegen wichtiger Wartungsarbeiten
BY AT</a>), des <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Landes
Vorarlberg</a> und des Landes Tirol (<a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">lizenziert
gemäß CC BY AT samt Erweiterungen zur Lizenz</a>).'
+ contributors_au_html: '<strong>Australien</strong>: Enthält Daten zu Siedlungen,
+ die auf Daten des <i>Australian Bureau of Statistics</i> basieren.'
contributors_ca_html: '<strong>Kanada</strong>: Enthält Daten von GeoBase®,
GeoGratis (© <i>Department of Natural Resources Canada</i>), CanVec
(© <i>Department of Natural Resources Canada</i>) und StatCan (<i>Geography
flash: Client-Informationen erfolgreich aktualisiert
destroy:
flash: Die registrierte Client-Anwendung wurde entfernt
- user:
+ users:
login:
title: Anmelden
heading: Anmelden
terms declined: Wir bedauern es, dass du dich dazu entschieden hast, den neuen
Bedingungen für Mitwirkende nicht zuzustimmen. Weitere Informationen findest
du auf <a href="%{url}">dieser Wikiseite</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/DE:Contributor_Terms_Declined
terms:
title: Bedingungen für Mitwirkende
heading: Bedingungen für Mitwirkende
consider_pd: Zusätzlich zu den oben genannten Bedingungen betrachte ich meine
Beiträge als gemeinfrei (Public Domain)
consider_pd_why: Was bedeutet dies?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Informationen die dabei helfen, diese Bedingungen zu verstehen: eine
<a href="%{summary}">verständliche Zusammenfassung</a> sowie einige <a href="%{translations}">inoffizielle
Übersetzungen</a>'
agree: Akzeptieren
+ declined: https://wiki.openstreetmap.org/wiki/DE:Contributor_Terms_Declined
decline: Ablehnen
you need to accept or decline: Bitte lies die neuen Bedingungen für Mitwirkende
und nimm sie an oder lehne sie ab, bevor du weitermachst.
durchzulesen sowie zu akzeptieren.
agreed_with_pd: Du hast zudem erklärt, dass du deine Beiträge gemeinfrei veröffentlichst
(unter Public Domain stellst).
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: Worum handelt es sich?
profile description: 'Profil-Beschreibung:'
preferred languages: 'Bevorzugte Sprachen:'
output: Vıcyaen
export_button: Teberdayış
sidebar:
- search_results: Neticeyê geyrayışi
+ search_results: Peyniya cıgeyrayışi
close: Racnê
search:
search: Cı geyre
form:
name: Name
required: Mecburiyo
- user:
+ users:
login:
title: Cıkewtış
heading: Cıkewtış
intro_text: OpenStreetMap jó kórta swěta, napórana wót luźi ako ty a dajo se licho
pód wótwórjoneju licencu wužywaś.
intro_2_create_account: Załož wužywarske konto
- partners_html: Hostowanje pódpěra se wót %{ucl}, %{ic}, %{bytemark} a drugich
- %{partners}.
partners_ucl: z UCL VR Centre
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnerow
osm_offline: Datowa banka OpenStreetMap jo tuchylu offline, dokulaž se wažne źěło
BY</a>), <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a> a Land Tirol (pod <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT ze změnami</a>).'
+ contributors_au_html: '<strong>Awstralska</strong>: Wopśimujo pśedměsćańske
+ daty na zakłaźe datow awstralskego amta za statistiku (Australian Bureau
+ of Statistics).'
contributors_ca_html: '<strong>Kanada</strong>: Wopśimujo daty z GeoBase®,
GeoGratis (© Department of Natural Resources Canada), CanVec (©
Department of Natural Resources Canada), a StatCan (Geography Division,
flash: Informacije wó klienśe wuspěšnje zaktualizěrowane
destroy:
flash: Registrěrowanje aplikacije znicone
- user:
+ users:
login:
title: Pśizjawjenje
heading: Pśizjawjenje
intro_text: Το OpenStreetMap είναι χάρτης του κόσμου, που δημιουργήθηκε από ανθρώπους
σαν κι εσάς και είναι δωρεάν, υπό άδεια ελεύθερης χρήσης.
intro_2_create_account: Δημιουργήστε ένα λογαριασμό χρήστη
- partners_html: Η λειτουργία υποστηρίζεται από το %{ucl}, %{bytemark}, %{ic}, και
- άλλους %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College του Λονδίνου
partners_bytemark: Bytemark Hosting
partners_partners: συνεργάτες
osm_offline: Η βάση δεδομένων του OpenStreetMap είναι προσωρινά εκτός λειτουργίας
flash: Οι πληροφορίες του πελάτη ενημερώθηκαν με επιτυχία
destroy:
flash: Η εισαγωγή του προγράμματος του πελάτη χάλασε
- user:
+ users:
login:
title: Σύνδεση
heading: Σύνδεση
intro_text: OpenStreetMap is a map of the world, created by people like you and
free to use under an open licence.
intro_2_create_account: Create a user account
- partners_html: Hosting is supported by %{ucl}, %{ic} and %{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
flash: Updated the client information successfully
destroy:
flash: Destroyed the client application registration
- user:
+ users:
login:
title: Login
heading: Login
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> and
Land Tirol (under <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT with amendments</a>).
+ contributors_au_html: |
+ <strong>Australia</strong>: Contains data sourced from
+ <a href="https://www.psma.com.au/psma-data-copyright-and-disclaimer">PSMA Australia Limited</a>
+ licensed by the Commonwealth of Australia under
+ <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
contributors_ca_html: |
<strong>Canada</strong>: Contains data from
GeoBase®, GeoGratis (© Department of Natural
other: "GPX file with %{count} points from %{user}"
description_without_count: "GPX file from %{user}"
application:
+ permission_denied: You do not have permission to access that action
require_cookies:
cookies_needed: "You appear to have cookies disabled - please enable cookies in your browser before continuing."
require_admin:
flash: "Updated the client information successfully"
destroy:
flash: "Destroyed the client application registration"
- user:
+ users:
login:
title: "Login"
heading: "Login"
intro_text: OpenStreetMap estas mapo de la mondo, kreata de homoj kiel vi, kaj
libere uzebla laŭ malferma permesilo.
intro_2_create_account: Krei konton
- partners_html: Retgastigo estas liverata de %{ucl}, %{bytemark}, %{ic} kaj aliaj
+ hosting_partners_html: Retgastigo estas subtenata de %{ucl}, %{bytemark} kaj aliaj
%{partners}.
partners_ucl: University College London
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: kunlaborantoj
osm_offline: La OpenStreetMap-datumbazo estas nuntempe nealireabla pro necesaj
<strong>Aŭstrujo</strong>: enhavas datumojn el <a href="https://data.wien.gv.at/">Stadt Wien</a> (laŭ <a href="https://creativecommons.org/licenses/by/3.0/at/deed.eo">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> kaj
Land Tirol (laŭ <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT kun postaj ŝanĝoj</a>).
+ contributors_au_html: '<strong>Aŭstralio</strong>: enhavas datumojn el <a
+ href="https://www.psma.com.au/psma-data-copyright-and-disclaimer">PSMA Australia
+ Limited</a> kunhavigataj de Komunejo de Aŭstralio laŭ la permesilo <a href="https://creativecommons.org/licenses/by/4.0/deed.eo">CC
+ BY 4.0</a>.'
contributors_ca_html: |-
<strong>Kanado</strong>: enhavas datumojn el
GeoBase®, GeoGratis (© Department of Natural
flash: Informoj pri kliento estas ĝisdatigitaj sukcese
destroy:
flash: La porklienta aplikaĵo forigita
- user:
+ users:
login:
title: Ensaluti
heading: Ensaluti
# Author: Rubenwap
# Author: Ruila
# Author: Sim6
+# Author: Tiberius1701
# Author: Toliño
# Author: Translationista
# Author: VegaDark
intro_text: OpenStreetMap es un mapa del mundo, creado por gente como tú y de
uso libre bajo una licencia abierta.
intro_2_create_account: Crear una cuenta de usuario
- partners_html: El alojamiento de los servidores está respaldado por %{ucl}, %{ic}
- y %{bytemark}, y otros %{partners}.
+ hosting_partners_html: El alojamiento es apoyado por %{ucl}, %{bytemark}, y otros
+ %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College de Londres
partners_bytemark: Bytemark Hosting
partners_partners: socios
osm_offline: La base de datos de OpenStreetMap no está disponible en estos momentos
<strong>Austria</strong>: Contiene datos de
<a href="https://data.wien.gv.at/">Stadt Wien</a> (bajo
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> y Land Tirol (bajo licencia <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT con modificaciones</a>).
+ contributors_au_html: '<strong>Australia</strong>: Contiene datos suburbanos
+ cuya base es la información provista por Australian Bureau of Statistics.'
contributors_ca_html: '<strong>Canadá</strong>: contiene datos de GeoBase®,
GeoGratis (© Department of Natural Resources Canada), CanVec (©
Department of Natural Resources Canada) y StatCan (Geography Division, Statistics
flash: Actualizada la información del cliente exitosamente
destroy:
flash: Destruido el registro de aplicación del cliente
- user:
+ users:
login:
title: Iniciar sesión
heading: Iniciar sesión
title: Registrarse
no_auto_account_create: Desafortunadamente no estamos actualmente habilitados
para crear una cuenta para ti automáticamente.
- contact_webmaster: Contacta al <a href="%{webmaster}">webmaster</a> para gestionar
- la creación de una cuenta. Intentaremos gestionar la solicitud lo más pronto
- posible.
+ contact_webmaster: Contacta con el <a href="%{webmaster}">webmaster</a> para
+ gestionar la creación de una cuenta. Intentaremos gestionar la solicitud lo
+ más pronto posible.
about:
header: Libre y editable
html: <p>A diferencia de otros mapas, OpenStreetMap está creado completamente
terms declined: Lamentamos que haya decidido no aceptar los nuevos Términos
de contribución. Para obtener más información, consulte <a href="%{url}">esta
página wiki</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/ES:Contributor_Terms_Declined
terms:
title: Términos del colaborador
heading: Términos del colaborador
consider_pd: Además del acuerdo anterior, considero que mis contribuciones se
encuentran en Dominio Público.
consider_pd_why: ¿qué es esto?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Información para ayudar a comprender estos términos: un <a href="%{summary}">resumen
legible</a> y algunas <a href="%{translations}">traducciones informales</a>'
agree: Aceptar
+ declined: https://wiki.openstreetmap.org/wiki/ES:Contributor_Terms_Declined
decline: Declinar
you need to accept or decline: Por favor lea y, a continuación, acepte o rechace
los nuevos Términos de contribución para continuar.
los nuevos Términos de Colaborador.
agreed_with_pd: También has declarado que consideras tus modificaciones como
de Dominio Público.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: ¿Qué es esto?
profile description: 'Descripción del perfil:'
preferred languages: 'Idiomas preferidos:'
relation: Relación
nothing_found: No se encontraron características
error: 'Error al contactar con %{server}: %{error}'
- timeout: Tiempo de espera agotado al contactar a %{server}
+ timeout: Tiempo de espera agotado al contactar con %{server}
context:
directions_from: Indicaciones desde aquí
directions_to: Indicaciones hasta aquí
intro_text: OpenStreetMap on maailma kaart, mille on loonud inimesed nagu sina
ja seda võib vabalt kasutada avatud litsentsi tingimustel.
intro_2_create_account: loo oma konto
- partners_html: Majutust toetavad %{ucl}, %{ic} ja %{bytemark} ning teised %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnerid
osm_offline: OpenStreetMapi andmebaas ei ole hetkel juurdepääsetav sest teostatakse
flash: Kliendi informatsioon uuendati edukalt
destroy:
flash: Klientrakenduse registratsioon hävitati
- user:
+ users:
login:
title: Sisselogimise leht
heading: Logi sisse
intro_text: OpenStreetMap munduko mapa da, zu bezalako jendeak sortutakoa eta
doako lizentzia irekiarekin erabiltzeko dagoena.
intro_2_create_account: Erabiltzaile kontua sortu
- partners_html: '%{ucl}, %{bytemark}, %{ic}, eta beste %{partners}-k babestua.'
partners_ucl: UCLa
- partners_ic: Londreseko Imperial College
partners_bytemark: Bytemark Ostatua
partners_partners: bazkideak
osm_offline: OpenStreetMap datu-basea orain konexiorik gabe dago funtsezko datu-basearen
flash: Bezero informazioa arrakastaz eguneratu da
destroy:
flash: Bezeroaren eskaera erregistroa suntsitua
- user:
+ users:
login:
title: Saio-hasiera
heading: Saio-hasiera
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Alirezaaa
+# Author: Amirsara
# Author: Arash.pt
# Author: Armin1392
# Author: BMRG14
sorry: پوزش، بازیابی فهرست تغییرات درخواستی شما خیلی زمان برد.
rss:
title_all: بحث در مورد جعبه تغییر OpenStreetMap
- title_particular: 'بØØ« در Ù\85Ù\88رد جعبÙ\87 تغÛ\8cÛ\8cر Ø´Ù\85ارÙ\87 #% {changeset_id} OpenStreetMap'
+ title_particular: 'بØØ« در Ù\85Ù\88رد تغÛ\8cÛ\8cرات اÙ\86جاÙ\85 شدÙ\87 در #%{changeset_id} OpenStreetMap'
comment: 'نظر جدید در مورد جعبه تغییر %{changeset_id}{changeset_id} #% توسط
%{author}'
commented_at_html: بروز شده %{when} قبل
ferry_terminal: پایانه کشتی
fire_station: آتشنشانی
food_court: پذيرايي
- fountain: چشمه
+ fountain: فواره
fuel: پمپ بنزین
gambling: قمار
grave_yard: محوطهٔ گورستان
"yes": دفتر
place:
allotments: سهم
- city: شهر بزرگ
+ city: شهر
city_block: بلوک شهری
country: کشور
county: شهرستان
other: '%{count} گزارش'
reports_of_this_issue: گزارشهای این مشکل
new_reports: گزارشهای تازه
+ comments:
+ created_at: در %{datetime}
reports:
+ updated_at: در %{datetime}
reported_by_html: '%{user} آن را بهعنوان %{category} گزارش کرد'
helper:
reportable_title:
new:
title_html: گزارش %{link}
missing_params: ایجاد گزارش جدید ممکن نیست
+ details: لطفاً جزئیات بیشتری از مشکل ارائه دهید (ضروری است).
select: 'دلیل گزارش شما:'
+ disclaimer:
+ intro: 'پیش از اینکه گزارش خود را برای مدیران سایت ارسال کنید، مطمئن شوید
+ که:'
+ not_just_mistake: قطعاً این مسئله سهوی نبوده
+ unable_to_fix: بهتنهایی یا با کمک نقشهکشهای همکارتان نمیتوانید مشکل را
+ حل کنید
+ resolve_with_user: قبلاً تلاش کردهاید مشکل را با کاربر مربوطه برطرف کنید
categories:
diary_entry:
spam_label: این روزنوشت هرزنامه است/دارد
threat_label: این روزنوشت تهدیدآمیز است
+ other_label: سایر
diary_comment:
spam_label: این نظر (بر روزنوشت) هرزنامه است/دارد
threat_label: این نظر (بر روزنوشت) تهدیدآمیز است
+ other_label: سایر
+ user:
+ other_label: سایر
note:
spam_label: این یادداشت هرزنامه است
+ personal_label: این یادداشت حاوی دادههای شخصی است
abusive_label: این یادداشت زشت است
+ other_label: سایر
create:
successful_report: گزارشتان با موفقیت ثبت شد
+ provide_details: لطفاً جزئیات لازم را ارائه دهید
layouts:
logo:
alt_text: لوگوی OpenStreetMap
intro_text: OpenStreetMap یک نقشه از جهان است، که توسط افرادی مثل شما ایجاد شده
و تحت یک مجوز آزاد برای استفاده رایگان همگان است.
intro_2_create_account: ایجاد حساب کاربری
- partners_html: میزبانی وب توسط %{ucl}, %{bytemark}, %{ic} و سایر %{partners} پشتیبانی
- میشود.
partners_ucl: UCL
- partners_ic: کالج سلطنتی لندن
partners_bytemark: میزبانی Bytemark
partners_partners: شرکای تجاری
osm_offline: دیتابیس OpenStreetMap در حال حاضر آفلاین است در حالی که کار تعمیر
befriend_them: همچنین میتوانید در %{befriendurl} او را بعنوان دوست اضافه کنید.
gpx_notification:
greeting: سلام ،
- your_gpx_file: پرÙ\88Ù\86دÙ\87 Û\8c GPX شما اینگونه است
+ your_gpx_file: Ù\81اÛ\8cÙ\84 GPX شما اینگونه است
with_description: با توضیحات
and_the_tags: 'و برچسب های زیر:'
and_no_tags: و بدون برچسب.
confirm: 'قبل از اینکه ما کار دیگری انجام دهیم، نیاز داریم که تأیید شود این
درخواست از شما آمده، پس اگر این چنین است لطفاً برای تأیید حسابتان روی پیوند
زیر کلیک کنید:'
- welcome: بعد از اینکه حسابتان را تأیید کردید، ما به شما برخی از اطلاعات اضافی
- را ارائÙ\87 Ù\85Û\8cدÙ\87Û\8cÙ\85 تا بتÙ\88اÙ\86Û\8cد شرÙ\88ع Ú©Ù\86Û\8cد.
+ welcome: بعد از اینکه حسابتان را تأیید کردید، اطلاعات بیشتری به شما ارائه میدهیم
+ تا بتوانید شروع کنید.
email_confirm:
subject: '[OpenStreetMap] ایمیلتان را تأیید کنید'
email_confirm_plain:
ارتباط برقرار نمی کنید؟
people_mapping_nearby: افراد نقشه کش نزدیک
message_summary:
- unread_button: علامتگذاری به عنوان خواندهشده
- read_button: علامتگذاری به عنوان خواندهشده
+ unread_button: نشان بزن نخواندم
+ read_button: نشان بزن که خواندم
reply_button: پاسخ
destroy_button: حذف
new:
subject: عنوان
date: تاریخ
reply_button: پاسخ
- unread_button: علامتگذاری به عنوان خواندهشده
+ unread_button: نشان بزن نخواندم
destroy_button: حذف
back: برگشت
to: به
partners_title: شرکای تجاری
copyright:
foreign:
- title: درباره این ترجمهها
- text: در زÙ\85اÙ\86 بÙ\87 Ù\88جÙ\88د Ø¢Ù\85دÙ\86 تداخÙ\84 بÛ\8cÙ\86 برگرداÙ\86 Ù\81ارسÛ\8c Ù\88 %{english_original_link}Ø\8c
- نوشتهٔ انگلیسی برتری دارد
+ title: دربارهٔ این ترجمه
+ text: اگر بÛ\8cÙ\86 برگرداÙ\86 Ù\81ارسÛ\8c Ù\88 %{english_original_link} Ù\86اسازگارÛ\8c باشدØ\8c صÙ\81ØÙ\87Ù\94
+ انگلیسی برتری دارد
english_link: اصل انگلیسی
native:
title: درباره این صفحه
OpenStreetMap <i> داده باز است</i>، تحت مجوز <a
href="http://opendatacommons.org/licenses/odbl/">Open Data
Commons Open Database License</a> (ODbL).
- intro_2_html: Ø´Ù\85ا براÛ\8c Ú©Ù¾Û\8c بردارÛ\8cØ\8c تÙ\88زÛ\8cعØ\8c اÙ\86تÙ\82اÙ\84 Ù\88 اÙ\86طباÙ\82 دادÙ\87 Ù\87اÛ\8c Ù\85ا آزاد
- هستید، تا زمانی که معتبران و همکاران OpenStreetMap باشید. اگر شما تغییر
- دهید یا بسازید داده های ما را، شما باید نتایج را فقط تحت همین مجوز توزیع
- کنید. اطلاعات کامل <a href="http://opendatacommons.org/licenses/odbl/1.0/">کد
- قانونی</a> حقوق و وظایف شما را توضیح میدهد.
+ intro_2_html: تا زÙ\85اÙ\86Û\8c Ú©Ù\87 از OpenStreetMap Ù\88 Ù\85شارکتâ\80\8cÚ©Ù\86Ù\86دگاÙ\86 Ø¢Ù\86 Û\8cاد Ú©Ù\86Û\8cدØ\8c براÛ\8c
+ کپیبرداری، توزیع، انتقال و اقتباس (از) دادههای ما آزاد هستید. اگر دادههای
+ ما را تغییر دهید یا بر پایهٔ آنها تولید کنید، باید نتایج را فقط تحت همان
+ مجوز توزیع کنید. نسخهٔ کامل <a href="http://opendatacommons.org/licenses/odbl/1.0/">بایدونبایدهای
+ قانونی</a> حقوق و وظایف شما را توضیح میدهد.
intro_3_html: |-
- نقشه کشی در کاشی های نقشه ی ما، و مدارک ما، تحت مجوز <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative
- Commons Attribution-ShareAlike 2.0</a>هستند ، مجوز (CC BY-SA).
- credit_title_html: چگونه از OpenStreetMap اعتبار بگیریم
- credit_1_html: ما نیاز داریم که شما استفاده کنید از اعتبار “© همکاران
- OpenStreetMap”.
- credit_2_html: همچنین مطمئن باشید که پاک کردن داده ها تحت یک مجوز دیتابیس
- باز است، و اگر از کاشیهای نقشهٔ ما استفاده میکنید، نقشهبرداری تحت مجوز
- CC BY-SA است. میتوانید با پیونددادن به <a href="http://www.openstreetmap.org/copyright">این
- صفحه حق نشر</a> متناوبا آن را انجام دهید، و به عنوان یک درخواست اگر شما
- توزیع کنندهٔ نوع دادههای OSM هستید، میتوانید نام و پیوند را بطور مستقیم
- به مجوز بدهید. در رسانهها جاهایی که پیوندها مقدور نیستند(مثل کارهای چاپی)،
- پیشنهاد میکنیم خوانندگانتان را به openstreetmap.org راهنمایی کنید(شاید
- با گسترش 'OpenStreetMap' به این نشانی کامل)، به opendatacommons.org، و اگر
- مناسب باشد، به creativecommons.org.
+ نقشهنگاریهای ارائهشده در کاشیهای نقشهٔ ما و در مستنداتمان، همگی تحت پروانهٔ <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative
+ Commons Attribution-ShareAlike 2.0</a>هستند (CC BY-SA).
+ credit_title_html: چگونه از OpenStreetMap یاد کنیم
+ credit_1_html: |-
+ بایسته است که اینگونه از ما یاد کنید:
+ “©مشارکتکنندگان OpenStreetMap”.
+ credit_2_html: همچنین باید روشن کنید که دادهها تحت پروانهٔ پایگاهدادهٔ باز
+ یا Open Database License قرار دارند و اگر کاشیهای نقشهٔ ما را استفاده کردید
+ بهروشنی بیان کنید که نقشهنگاریها تحت پروانهٔ CC BY-SA است. این کار را
+ با پیونددادن به <a href="https://www.openstreetmap.org/copyright"> این صفحهٔ
+ حق نشر</a> انجام دهید. بهعنوان جایگزین، میتوانید با نام و پیوند مستقیماً
+ به مجوز(ها) ارجاع بدهید (اگر OSM را در قالب داده توزیع میکنید انجام این
+ کار ضروری است). در رسانههایی که درج پیوند ممکن نیست ( مثلاً کارهای چاپی)،
+ توصیه میکنیم که خوانندگان خود را به openstreetmap.org (شاید با گسترش OpenStreetMap
+ به این نشانی کامل)، به opendatacommons.org و در صورت تناسب به creativecommons.org
+ هدایت کنید.
credit_3_html: |-
- براÛ\8c Û\8cÚ© Ù\86Ù\82Ø´Ù\87 اÙ\84کترÙ\88Ù\86Û\8cÚ©Û\8c Ù\82ابÙ\84 Ù\85رÙ\88رØ\8c اعتبار باÛ\8cد در Ú¯Ù\88Ø´Ù\87 اÛ\8c از نقشه ظاهر شود.
+ در Û\8cÚ© Ù\86Ù\82Ø´Ù\87Ù\94 اÙ\84کترÙ\88Ù\86Û\8cÚ©Û\8c Ù\82ابÙ\84 Ù\85رÙ\88رØ\8c Û\8cادکرد باÛ\8cد در Ú¯Ù\88Ø´Ù\87Ù\94 نقشه ظاهر شود.
برای مثال:
attribution_example:
- alt: مثال برای چگونه OpenStreetMap را در صفحه ی وبی نسبت دهیم
+ alt: مثالی از شیوهٔ انتساب به OpenStreetMap در صفحهٔ وبی.
title: مثال انتساب
- more_title_html: پیدا کردن اطلاعات بیشتر
- more_1_html: |-
- درباره استفاده از داده های ما، و چگونه به ما اعتبار دهید بیشتر بخوانید، در <a
- href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">Legal
- FAQ</a>.
- more_2_html: اگرچه OpenStreetMap داده باز است، ما نمی توانیم API نقشه را به
- رایگان در اختیار توسعه دهندگان شخص ثالث قرار دهیم. <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API
- Usage Policy</a> ما را ببینید، <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">Tile
- Usage Policy</a> و <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatim
- Usage Policy</a>.
+ more_title_html: یافتن اطلاعات بیشتر
+ more_1_html: برای اطلاعات بیشتر دربارهٔ استفاده از دادههای ما و چگونگی یادکرد
+ ما <a href="https://osmfoundation.org/Licence">صفحهٔ مجوز بنیاد OSM</a>
+ را بخوانید.
+ more_2_html: اگرچه OpenStreetMap داده باز است، اما نمیتوانیم API نقشه را
+ بهرایگان در اختیار توسعهدهندگان شخص ثالث قرار دهیم. <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">سیاست
+ استفاده از API </a> ، <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">سیاست
+ استفاده از کاشیها</a> و <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">سیاست
+ استفاده از Nominatim</a> را ببینید.
contributors_title_html: همکاران ما
- contributors_intro_html: 'شرکای ما هزاران شخص هستند. ما همچنین جواز علنی داده
- از سازمان نقشه برداری ملی و دیگر منابع را شامل میشویم، در بین آنها:'
+ contributors_intro_html: 'مشارکتکنندگانی که با ما همکاری میکنند هزاران شخص
+ هستند. دادههایی با مجوز باز از سازمانهای نقشهبرداری ملی و دیگر منابع
+ را نیز در کنار آنها داریم، از جمله:'
contributors_at_html: |-
<strong>Austria</strong>: Contains data from
<a href="http://data.wien.gv.at/">Stadt Wien</a> (under
<strong>United Kingdom</strong>: Contains Ordnance
Survey data © Crown copyright and database right
2010-12.
- contributors_footer_1_html: برای اطلاعات بیشتر درباره این منابع و سایر منابع
- مورد استفاده برای پیشرفت اوپناستریتمپ، لطفاً این پیوند را نگاه کنید.
+ contributors_footer_1_html: |-
+ برای اطلاعات بیشتر درباره اینها و سایر منابعی که برای پیشرفت اوپناستریتمپ استفاده شدهاند، لطفاً <a
+ href="https://wiki.openstreetmap.org/wiki/Contributors">صفحهٔ مشارکتکنندگان</a> را در ویکی نگاه کنید.
contributors_footer_2_html: ورود دادهها در OpenStreetMap به این معنی نیست
- که ارائهدهندهٔ اصلی دادهها توسط OpenStreetMap تأییدشده، هر گونه ضمانتی
- فراهم میکند، یا هر گونه مسئولیت را میپذیرد.
- infringement_title_html: نقض کپی رایت
- infringement_1_html: شرکای OSM یادآوری میکنند هرگز داده ای را از منابع حق
- نشر اضافه نکنید(مثلا نقشه های گوگل یا نقشه های چاپ شده) بدون اجازه صریح
- از دارندگان حق تکثیر.
- infringement_2_html: اگر فکر میکنید که این حق نشر داده شده بهطور نامناسب
- به پایگاه دادههای OpenStreetMap یا این سایت اضافه شدهاست، لطفاً به <a
- href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">رویهٔ
- حذف</a> ما یا پرونده مستقیم در <a href="http://dmca.openstreetmap.org/">صفحهٔ
- بایگانی برخط</a> ما مراجعه کنید.
- trademarks_title_html: <span id="trademarks"></span>علائم ثبت شده تجاری
+ که فراهمکنندهٔ اصلی دادهها OpenStreetMap را تأیید میکند، ضمانتی میدهد،
+ یا مسئولیتی را میپذیرد.
+ infringement_title_html: نقض کپیرایت
+ infringement_1_html: به مشارکتکنندگان OSM یادآوری می کنیم که هرگز دادهای
+ را از منابع دارای حق نشر اضافه نکنند (مثلاً نقشههای گوگل یا نقشههای چاپشده)،
+ مگر با اجازهٔ صریح و آشکار از صاحبان حق نشر.
+ infringement_2_html: اگر بر این باورید که دادههای مشمول حق نشر بهطور نامناسبی
+ به پایگاهدادهٔ OpenStreetMap یا به این وبسایت افزوده شده، لطفاً به <a
+ href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">روندنامهٔ
+ حذف</a> مراجعه کنید یا دادخواست خود را مستقیماً در <a href="http://dmca.openstreetmap.org/">صفحهٔ
+ دادخواهی برخط</a> تسلیم کنید.
+ trademarks_title_html: <span id="trademarks"></span>نشانهای تجاری
+ trademarks_1_html: OpenStreetMap، نشانوارهٔ ذرهبیندار و State of the Map
+ نشانهای تجاری ثبتشده و متعلق به بنیاد OpenStreetMap هستند. برای یافتن
+ پاسخ پرسشهای خود دربارهٔ استفاده از این نشانها، لطفاً <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">سسیاستنامهٔ
+ نشان تجاری</a> را ببینید.
index:
js_1: شما در حال استفاده از مرورگری هستید که جاوا اسکریپت را پشتیبانی نمی کند،
یا جاوا اسکریپت را غیر فعال کرده اید.
identifiable: قابل شناسایی (نمایش در لیست ردها، قابل شناسایی، نقاط مرتب بر اساس
زمان)
new:
- upload_trace: بارگذاری رد GPS
- upload_gpx: 'بارگذارÛ\8c پرÙ\88Ù\86دÙ\87Ù\94 GPX:'
+ upload_trace: بارگذاری رد جیپیاس
+ upload_gpx: 'بارگذارÛ\8c Ù\81اÛ\8cÙ\84 GPX:'
description: 'توضیحات:'
tags: 'برچسبها:'
tags_help: جداشده با کاما (,)
visibility: 'پدیداری:'
- visibility_help: این به چه معناست؟
+ visibility_help: این چیست؟
upload_button: بارگذاری
help: کمک
create:
- upload_trace: بارگذاری رد GPS
- trace_uploaded: پرÙ\88Ù\86دÙ\87Ù\94 GPX Ø´Ù\85ا بارگذارÛ\8c شدÙ\87 Ù\88 در اÙ\86تظار درج در پاÛ\8cگاÙ\87â\80\8cدادÙ\87
- است. این کار معمولاً کمتر از نیم ساعت طول میکشد. هنگامی که انجام شد ایمیلی
- براÛ\8c Ø´Ù\85ا Ù\81رستادÙ\87 Ù\85Û\8câ\80\8cØ´Ù\88د.
+ upload_trace: بارگذاری رد جیپیاس
+ trace_uploaded: Ù\81اÛ\8cÙ\84 GPX Ø´Ù\85ا بارگذارÛ\8c شدÙ\87 Ù\88 در اÙ\86تظار درج در پاÛ\8cگاÙ\87â\80\8cدادÙ\87 است.
+ این کار معمولاً کمتر از نیم ساعت طول میکشد. هنگامی که انجام شد ایمیلی برای
+ شما فرستاده میشود.
traces_waiting:
one: شما %{count} رد منتظر بارگذاری دارید. لطفاً قبل از بارگذاری موارد بیشتر
منتظر بمانید تا اینها بارگذاری بشوند که صف برای سایر کاربران بسته نشود.
edit:
title: ویرایش رد %{name}
heading: ویرایش رد %{name}
- filename: 'Ù\86اÙ\85 پرÙ\88Ù\86دÙ\87:'
+ filename: 'Ù\86اÙ\85 Ù\81اÛ\8cÙ\84:'
download: دریافت
uploaded_at: 'تاریخ بارگذاری:'
points: 'نقاط:'
tags_help: جداشده با کاما (,)
save_button: ذخیرهٔ تغییرات
visibility: 'پدیداری:'
- visibility_help: بÙ\87 Ú\86Ù\87 Ù\85عÙ\86Û\8c است؟
+ visibility_help: اÛ\8cÙ\86 Ú\86Û\8cست؟
update:
updated: رد بهروز شد
trace_optionals:
title: دیدن رد %{name}
heading: دیدن رد %{name}
pending: در انتظار
- filename: 'Ù\86اÙ\85 پرÙ\88Ù\86دÙ\87:'
+ filename: 'Ù\86اÙ\85 Ù\81اÛ\8cÙ\84:'
download: دریافت
uploaded: 'تاریخ بارگذاری:'
points: 'نقاط:'
message: سامانهٔ بارگذاری جیپیاکس در حال حاضر در دسترس نیست
offline:
heading: ذخیره سازی آفلاین GPX
- message: ذخیرهسازی پروندهٔ جیپیاکس و سامانهٔ بارگذاری در حال حاضر در دسترس
- نیست.
+ message: ذخیرهگاه فایل جیپیاکس و سامانهٔ بارگذاری هماکنون در دسترس نیستند.
georss:
- title: ردهای جیپیاس OpenStreetMap
+ title: ردهای جیپیاس OpenStreetMap
description:
description_with_count:
- one: پرونده GPX با %{count} نقطه از %{user}
- other: ' پرونده GPX با %{count} نقطه از %{user}'
- description_without_count: پرÙ\88Ù\86دÙ\87 GPX از %{user}
+ one: فایل GPX با %{count} نقطه از %{user}
+ other: ' فایل GPX با %{count} نقطه از %{user}'
+ description_without_count: Ù\81اÛ\8cÙ\84 GPX از %{user}
application:
require_cookies:
cookies_needed: بنظر میرسد که کوکیها را غیرفعال کردهاید - لطفاً قبل از ادامه
require_moderator:
not_a_moderator: برای انجام آن عمل نیاز هست مدیر باشید.
setup_user_auth:
+ blocked_zero_hour: در وبسایت OpenStreetMap یک پیام خیلی مهم برایتان ارسال شده.
+ برای اینکه بتوانید ویرایشهای خود را ذخیره کنید باید ابتدا آن را بخوانید.
blocked: دسترسی شما به API مسدود شده. برای یافتن اطلاعات بیشتر لطفاً به رابط
کاربری وب وارد شوید (log in).
need_to_see_terms: دسترسی شما به API بطور موقت معلق شدهاست. برای مشاهدهٔ شرایط
allow_write_diary: ساخت روزنوشتها، نظردادن و افزودن دوست.
allow_write_api: ویرایش نقشه.
allow_read_gpx: خواندن ردهای GPS شخصی شما.
- allow_write_gpx: بارگذاری ردهای GPS
+ allow_write_gpx: بارگذاری ردهای GPS.
allow_write_notes: اصلاح یادداشتها.
grant_access: دسترسی میدهم
authorize_success:
flash: بهروزرسانی اطلاعات کارخواه موفقیتآمیز بود
destroy:
flash: ثبتنام برنامه کارخواه از بین رفت
- user:
+ users:
login:
title: ورود
heading: ورود
را بررسی کنید، یا شاید پیوندی که کلیک کردید اشتباه است.
deleted: حذف شده
show:
- my diary: روزنوشت من
+ my diary: روزنوشتهای من
new diary entry: روزنوشت تازه
my edits: ویرایش های من
my traces: ردهای من
gps: ردهای GPS عمومی
overlays: برای اشکالزدایی از نقشه رولایهها را فعال کنید
title: لایهها
- copyright: © <a href='%{copyright_url}'>شرکت کنندگانOpenStreetMap</a>
+ copyright: © <a href='%{copyright_url}'>مشارکتکنندگان OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>کمک مالی</a>
site:
edit_tooltip: ویرایش نقشه
unhide_comment: نمایش
notes:
new:
- intro: چیزی مشکل دارد؟ به نقشهکشهای دیگر اصلاع دهید تا آن را اصلاح کنند.
- علامت موشواره را بر روی محلی که مشکل دارد قرار دهید و مشکل را شرح دهید (لطفاً
- اطلاعات شخصی در بخش ننویسید یا اطلاعاتی از حق تکثیر نقشه یا فهرست دایرکتوریها)
+ intro: مشکلی بر روی نقشه پیدا کردهاید یا چیزی از قلم افتاده؟ به نقشهکشهای
+ دیگر اطلاع دهید تا آن را اصلاح کنند. نشانه را بر روی محلی که مشکل دارد قرار
+ دهید و با نوشتن یادداشت، مشکل را بهطور کامل شرح دهید.
+ advice: همهٔ افراد این یادداشت شما را میبینند. بنابراین اطلاعات خصوصی یا
+ اطلاعات برداشتشده از منابع دارای حق تکثیر را اینجا ننویسید.
add: افزودن یادداشت
show:
anonymous_warning: این یادداشت شامل نظرات کاربران ناشناس است که باید بهطور
hide: نهفتن
resolve: حل شد
reactivate: فعال سازی مجدد
- comment_and_resolve: نظر و راه حل
+ comment_and_resolve: نظر + حل شد
comment: نظر
edit_help: نقشه را جابجا کنید و روی مکانی که میخواهید ویرایش کنید بزرگنمایی کنید،
سپس اینجا کلیک کنید.
mapquest_car: اتومبیل (MapQuest)
mapquest_foot: پیاده (MapQuest)
osrm_car: اتومبیل (OSRM)
- directions: جÙ\87ت
+ directions: دستÙ\88راÙ\84عÙ\85Ù\84
distance: مسافت
errors:
- no_route: نتوانستیم بین آن دو مکان، مسیری بیابیم.
+ no_route: بین این دو مکان، مسیری پیدا نشد.
no_place: متاسفیم - محل پیدا نشد.
instructions:
continue_without_exit: به مسیر %{name} ادامه دهید
end_oneway_without_exit: انتهای مسیر یطرفه در %{name}
roundabout_with_exit: در میدان، خروجی %{exit} به طرف %{name} را انتخاب کنید
unnamed: بی نام
- courtesy: جÙ\87ت از %{link}
+ courtesy: دستÙ\88راÙ\84عÙ\85Ù\84â\80\8cÙ\87ا با Ù\87Ù\85کارÛ\8c %{link}
exit_counts:
first: اول
second: دوم
intro_text: OpenStreetMap on tavallisten ihmisten luoma maailmankartta. Palvelun
käyttäminen on ilmaista avoimen lisenssin ansiosta.
intro_2_create_account: luomalla ensin käyttäjätunnuksen
- partners_html: Palvelinta ylläpitävät %{ucl}, %{bytemark}, %{ic} sekä muut %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: kumppanimme
osm_offline: OpenStreetMapin tietokanta ei toistaiseksi ole käytettävissä välttämättömien
<a href="https://data.wien.gv.at/">Stadt Wienistä</a> (<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY -lisenssillä</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlbergista</a> ja
Land Tirolista (<a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT -lisenssillä tietyin muutoksin</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: Sisältää kaupunginosatietoja
+ Australian Bureau of Statisticsilta.
contributors_ca_html: |-
<strong>Kanada</strong>: Sisältää karttatietoja
GeoBasesta ®, GeoGratisista (© Department of Natural
flash: Sovelluksen tiedot on päivitetty.
destroy:
flash: Sovelluksen käyttöoikeus on poistettu.
- user:
+ users:
login:
title: Kirjautumissivu
heading: Kirjaudu
# Author: Wladek92
# Author: Yodaspirine
# Author: Yvecai
+# Author: Zarisi
---
fr:
time:
intro_text: OpenStreetMap est une carte du monde, créée par des gens comme vous
et libre d’utilisation sous licence libre.
intro_2_create_account: Créez un compte d’utilisateur
- partners_html: L’hébergement est pris en charge par %{ucl}, %{bytemark}, %{ic}
+ hosting_partners_html: L’hébergement est pris en charge par %{ucl}, %{bytemark},
et d’autres %{partners}.
partners_ucl: L’University College de Londres
- partners_ic: le Collège impérial de Londres
partners_bytemark: l'hébergeur Bytemark
partners_partners: partenaires
osm_offline: La base de données OpenStreetMap est actuellement hors ligne ; une
la <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">région
du Vorarlberg</a> et la région du Tyrol (sous licence <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC
BY AT avec amendements</a>).'
+ contributors_au_html: "<strong>Australie</strong> : contient des données source
+ de \n<a href=\"https://www.psma.com.au/psma-data-copyright-and-disclaimer\">PSMA
+ Australia Limited</a>\ndont la licence appartient au Commonwealth d'Australie
+ sous \n<a href=\"https://creativecommons.org/licenses/by/4.0/\">CC BY 4.0</a>."
contributors_ca_html: '<strong>Canada</strong> : contient des données de <em>GeoBase</em>®,
<em>GeoGratis</em> (© Département des Ressources naturelles du Canada),
<em>CanVec</em> (© Département des Ressources naturelles du Canada) et <em>StatCan</em>
flash: Informations du client enregistrées avec succès
destroy:
flash: Enregistrement de l’application cliente supprimé
- user:
+ users:
login:
title: Se connecter
heading: Connexion
consider_pd: En plus de l’accord ci-dessus, je considère mes contributions comme
étant dans le domaine public
consider_pd_why: qu’est-ce que ceci ?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Pour plus d''information sur ces termes : un <a href="%{summary}">résumé
lisible</a> et quelques <a href="%{translations}">traductions informelles</a>'
agree: J’accepte
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Décliner
you need to accept or decline: Veuillez lire et ensuite soit accepter ou refuser
les nouvelles conditions de contributeur pour continuer.
intro_text: OpenStreetMap e je une mape dal mont, creade di int come te e di ûs
libar sot di une licence vierte.
intro_2_create_account: Cree il to profîl utent
- partners_html: L'hosting al è sostignût di %{ucl}, %{ic}, %{bytemark} e altris
- %{partners}.
partners_ucl: UCL VR Centre
- partners_ic: Imperial College di Londre
partners_bytemark: Bytemark Hosting
osm_offline: La base di dâts di OpenStreetMap e je par cumò fûr linie parcè che
o sin daûr a fâ lavôrs essenziâi di manutenzion de base di dâts.
allow_write_diary: creâ vôs dal diari, comentâ e zontâ amîs.
allow_write_api: modificâ la mape.
allow_write_notes: cambiâ lis notis.
- user:
+ users:
login:
title: Jentre
heading: Jentre
intro_text: Is léarscáil den domhan é OpenStreetMap, a chruthaigh daoine cosúil
leatsa agus atá saor in aisce le húsáid faoi cheadúnas oscailte.
intro_2_create_account: Cruthaigh cuntas úsáideora
- partners_html: Tugann %{ucl}, %{bytemark}, %{ic} agus %{partners} eile tacaíocht
- don óstáil.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: comhpháirtithe
osm_offline: Tá bunachar sonraí OpenStreetMap as líne faoi láthair fad agus atá
flash: Tugadh an fhaisnéis faoin gcliant cothrom le dáta
destroy:
flash: Scriosadh clárú an chliant-fheidhmchláir
- user:
+ users:
login:
title: Logáil isteach
heading: Logáil isteach
intro_text: '''S e mapa an t-saoghail a tha san OpenStreetMap a chaidh a chruthachadh
le daoine mar thu fhèin ''s a tha saor fo cheadachas fhosgailte.'
intro_2_create_account: Cruthaich cunntas cleachdaiche
- partners_html: Cuiridh an %{ucl}, an %{ic}, %{bytemark} agus %{partners} eile
- taic ris an òstadh.
partners_ucl: UCL VR Centre
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: com-pàirtichean eile
osm_offline: Tha an stòr-dàta aig OpenStreetMap far loidhńe an-dràsta on a tha
flash: Chaidh fiosrachadh a' chliant ùrachadh gu soirbheachail
destroy:
flash: Chaidh clàradh na h-aplacaid cliant a mhilleadh
- user:
+ users:
login:
title: Clàraich a-steach
heading: Clàraich a-steach
activerecord:
models:
acl: Listaxe do control de acceso
- changeset: Conxunto de cambios
- changeset_tag: Etiqueta do conxunto de cambios
+ changeset: Conxunto de mudanzas
+ changeset_tag: Etiqueta do conxunto de mudanzas
country: País
diary_comment: Comentario do diario
diary_entry: Entrada do diario
edited_by_html: Editado <abbr title='%{title}'>hai %{time}</abbr> por %{user}
closed_by_html: Pechado <abbr title='%{title}'>hai %{time}</abbr> por %{user}
version: Versión
- in_changeset: Conxunto de cambios
+ in_changeset: Conxunto de mudanzas
anonymous: anónimo
no_comment: (sen comentarios)
part_of: Parte de
view_details: Ve-los detalles
location: 'Localización:'
changeset:
- title: 'Conxunto de cambios: %{id}'
+ title: 'Conxunto de mudanzas: %{id}'
belongs_to: Autor
node: Nós (%{count})
node_paginated: Nós (%{x}-%{y} de %{count})
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 do XML
+ changesetxml: Conxunto de mudanzas do XML
osmchangexml: osmChange XML
feed:
- title: Conxunto de cambios %{id}
- title_comment: Conxunto de cambios %{id} - %{comment}
+ title: Conxunto de mudanzas %{id}
+ title_comment: Conxunto de mudanzas %{id} - %{comment}
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.
+ still_open: O conxunto de mudanzas segue aberto - Abrirase a parola cando o
+ conxunto de mudanzas estea pechado.
node:
title: 'Nó: %{name}'
history_title: 'Historial do nó: %{name}'
node: nó
way: camiño
relation: relación
- changeset: conxunto de cambios
+ changeset: conxunto de mudanzas
note: nota
timeout:
sorry: Tardouse demasiado en obter os datos para o %{type} co id %{id}.
node: nó
way: camiño
relation: relación
- changeset: conxunto de cambios
+ changeset: conxunto de mudanzas
note: nota
redacted:
redaction: Redacción %{id}
relation: relación
start_rjs:
feature_warning: A carga de %{num_features} características pode facer que o
- seu navegador vaia lento ou que non responda. Está seguro de querer amosar
+ seu navegador vaia lento ou que non responda. Está na certeza de querer amosar
eses datos?
load_data: Cargar os datos
loading: Cargando...
report: Informar desta nota
query:
title: Consulta-las características
- introduction: Prema no mapa para atopar características preto de aquí.
- nearby: Características preto de aquí
+ introduction: Prema no mapa para atopar características preto daquí.
+ nearby: Características preto daquí
enclosing: Características envolventes
changeset:
changeset_paging_nav:
changeset:
anonymous: Anónimo
no_edits: (sen edicións)
- view_changeset_details: Ve-los detalles do conxunto de cambios
+ view_changeset_details: Ve-los detalles do conxunto de mudanzas
changesets:
id: ID
saved_at: Gardado o
comment: Comentario
area: Zona
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 preto de ti
- empty: Non se atoparon conxuntos de cambios.
- empty_area: Non hai conxuntos de cambios nesta zona.
- 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: Non hai máis conxuntos de cambios deste usuario.
+ title: Conxuntos de mudanzas
+ title_user: Conxuntos de mudanzas por %{user}
+ title_friend: Conxuntos de mudanzas das amizades
+ title_nearby: Conxuntos de mudanzas dos usuarios de lugares preto de ti
+ empty: Non se atoparon conxuntos de mudanzas.
+ empty_area: Non hai conxuntos de mudanzas nesta zona.
+ empty_user: Non hai conxuntos de mudanzas deste usuario.
+ no_more: Non se atoparon máis conxuntos de mudanzas.
+ no_more_area: Non hai máis conxuntos de mudanzas nesta zona.
+ no_more_user: Non hai máis conxuntos de mudanzas deste usuario.
load_more: Cargar máis
timeout:
- sorry: Desculpe que levase moito tempo obter a listaxe do conxunto de cambios
+ sorry: Desculpe que levase moito tempo obte-la listaxe do conxunto de mudanzas
que solicitou.
rss:
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}'
+ comment: 'Novo comentario sobre as mudanzas #%{changeset_id} de %{author}'
commented_at_html: Actualizado hai %{when}
commented_at_by_html: Actualizado hai %{when} por %{user}
full: Parola completa
stop: Parada de ferrocarril
subway: Metro
subway_entrance: Boca de metro
- switch: Puntos de cambio de vía
+ switch: Puntos de mudanza de vía
tram: Vía de tranvías
tram_stop: Parada de tranvías
shop:
select: Seleccione unha razón pola que queira informarnos
disclaimer:
intro: 'Antes de enviarlle o informe aos moderadores, asegúrese de que:'
- not_just_mistake: Vostede está seguro/a de que o problema non é un simple
+ not_just_mistake: Vostede está na certeza de que o problema non é un sinxelo
erro
unable_to_fix: Non é quen de arranxar o problema só ou coa axuda dos membros
da comunidade
intro_text: O OpenStreetMap é un mapa do mundo, creado por xente coma vostede
e de libre uso baixo unha licenza aberta.
intro_2_create_account: Cree unha conta de usuario
- partners_html: O aloxamento é posible grazas ao %{ucl}, %{bytemark}, %{ic}, e
- outros %{partners}.
+ hosting_partners_html: O hosting é apoiado por %{ucl}, %{bytemark} e outros %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: socios
osm_offline: A base de datos do OpenStreetMap atópase desconectada mentres realizamos
subject: '[OpenStreetMap] Confirme o seu enderezo de correo electrónico'
email_confirm_plain:
greeting: 'Ola:'
- hopefully_you: Alguén (probablemente vostede) quere cambiar o seu enderezo de
+ hopefully_you: Alguén (probábelmente vostede) quere muda-lo seu enderezo do
correo electrónico en %{server_url} a %{new_address}.
click_the_link: Se este é vostede, prema na seguinte ligazón para confirma-la
modificación.
email_confirm_html:
greeting: 'Ola:'
- hopefully_you: Alguén (probablemente vostede) quere cambiar o seu enderezo de
+ hopefully_you: Alguén (probábelmente vostede) quere muda-lo seu enderezo do
correo electrónico en %{server_url} a %{new_address}.
click_the_link: Se este é vostede, prema na seguinte ligazón para confirma-la
modificación.
greeting: Ola,
commented:
subject_own: O %{commenter} de [OpenStreetMap] fixo un comentario nun dos
- seus conxuntos de cambios
- subject_other: '[OpenStreetMap] %{commenter} comentou nun conxunto de cambios
+ seus conxuntos de mudanzas
+ subject_other: '[OpenStreetMap] %{commenter} comentou nun conxunto de mudanzas
no que estás atinxido'
your_changeset: '%{commenter} deixou un comentario nun dos seus conxuntos
- de cambios xerado o %{time}'
- commented_changeset: '%{commenter} deixou un comentario nun conxunto de cambios
- do mapa que está seguindo, xerado por %{changeset_author} o %{time}'
+ de mudanzas xerado o %{time}'
+ commented_changeset: '%{commenter} deixou un comentario nun conxunto de mudanzas
+ do mapa que está a seguer, xerado por %{changeset_author} o %{time}'
partial_changeset_with_comment: co comentario '%{changeset_comment}'
partial_changeset_without_comment: sen comentarios
- 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,
+ details: Pódense atopar máis detalles acerca do conxunto de mudanzas en %{url}.
+ unsubscribe: Para darse de baixa das actualizacións deste conxunto de mudanzas,
olle %{url} e prema en "darse de baixa".
messages:
inbox:
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> e
Land Tirol (baixo a licenza <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT con emendas</a>).
+ contributors_au_html: |-
+ <strong>Australia:</strong> Contén datos de barrios baseados
+ nos datos do Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Canadá:</strong> Contén datos de
GeoBase®, GeoGratis (© Department of Natural
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 gardalos no Potlatch
- ten que desmarcar o camiño actual ou o punto se está a editar no modo en vivo
+ potlatch_unsaved_changes: Ten mudanzas sen gardar. (Para gardalas no Potlatch
+ ten que desmarca-la vía actual ou o punto se está a editar no modo ao 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
+ potlatch2_unsaved_changes: Ten mudanzas sen gardar. (Para gardar no Potlatch
2, prema en "Gardar".)
id_not_configured: O iD non está configurado
no_iframe_support: O seu navegador non soporta os iframes HTML, necesarios para
description: 'Descrición:'
tags: 'Etiquetas:'
tags_help: separadas por comas
- save_button: Garda-los cambios
+ save_button: Garda-las mudanzas
visibility: 'Visibilidade:'
visibility_help: que significa isto?
visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
support_notice: Soportamos HMAC-SHA1 (recomendado) e sinaturas RSA-SHA1.
edit: Edita-los detalles
delete: Borrar o cliente
- confirm: Está seguro?
+ confirm: Está na certeza?
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.
flash: Actualizou correctamente a información do cliente
destroy:
flash: Destruíu o rexistro da aplicación de cliente
- user:
+ users:
login:
title: Rexistrarse
heading: Rexistro
unhide_user: Descobrir este usuario
delete_user: Borrar este usuario
confirm: Confirmar
- friends_changesets: conxuntos de cambios das amizades
+ friends_changesets: conxuntos de mudanzas das amizades
friends_diaries: entradas de diario das amizades
- nearby_changesets: conxuntos de cambios dos usuarios de lugares preto de ti
+ nearby_changesets: conxuntos de mudanzas dos usuarios de lugares preto de ti
nearby_diaries: entradas de diario dos usuarios de lugares preto de ti
report: Denunciar este usuario
popup:
longitude: 'Lonxitude:'
update home location on click: Quere actualiza-lo lugar do enderezo ó premer
sobre o mapa?
- save changes button: Garda-los cambios
+ save changes button: Garda-las mudanzas
make edits public button: Facer públicas todas as miñas edicións
return to profile: Voltar ó perfil
flash update success confirm needed: Información de usuario actualizada correctamente.
proceso sen problemas.
failure: Non se atopou o usuario "%{name}".
confirm_email:
- heading: Confirma-lo cambio do enderezo de correo electrónico
+ heading: Confirma-la mudanza 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: Confirmámoslle o cambio enderezo de enderezo electrónico!
+ success: Confirmámoslle a mudanza do enderezo de correo 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: Gardouse o domicilio
go_public:
- flash success: Todas as súas edicións son públicas e agora está autorizado a
+ flash success: Tódalas súas edicións son públicas e agora está autorizado a
editar.
make_friend:
heading: Quere engadir a %{user} coma amizade?
hide: Agochar os usuarios seleccionados
empty: Non se atoparon usuarios que coincidisen
suspended:
- title: Conta cancelada
- heading: Conta cancelada
+ title: Conta suspendida
+ heading: Conta suspendida
webmaster: webmaster
body: |-
<p>
grant:
title: Confirma-la concesión do rol
heading: Confirma-la concesión do rol
- are_you_sure: Seguro que quere concederlle o rol "%{role}" ao usuario "%{name}"?
+ are_you_sure: Está na certeza de que quere concederlle o rol "%{role}" ó usuario
+ "%{name}"?
confirm: Confirmar
fail: Non se lle puido conceder o rol "%{role}" ao usuario "%{name}". Comprobe
que tanto o usuario coma o rol son correctos.
revoke:
title: Confirma-la revogación do rol
heading: Confirma-la revogación do rol
- are_you_sure: Seguro que quere revogarlle o rol "%{role}" ao usuario "%{name}"?
+ are_you_sure: Está na certeza de que quere revogarlle o rol "%{role}" ó usuario
+ "%{name}"?
confirm: Confirmar
fail: Non se lle puido revogar o rol "%{role}" ao usuario "%{name}". Comprobe
que tanto o usuario coma o rol son correctos.
heading: Revogando o bloqueo en %{block_on} por %{block_by}
time_future: Este bloqueo rematará en %{time}.
past: Este bloqueo rematou hai %{time}. Entón, xa non se pode retirar.
- confirm: Está seguro de querer retirar este bloqueo?
+ confirm: Está na certeza de querer retirar este bloqueo?
revoke: Revogar!
flash: Revogouse o bloqueo.
period:
show: Amosar
edit: Editar
revoke: Revogar!
- confirm: Está seguro?
+ confirm: Está na certeza?
reason: 'Motivo para o bloqueo:'
back: Ollar tódolos bloqueos
revoker: 'Autor da revogación:'
close: Pechar
share:
title: Compartir
- cancel: Cancelar
+ cancel: Desbotar
image: Imaxe
link: Ligazón ou HTML
long_link: Ligazón
show:
comment: Comentario
subscribe: Subscribirse
- unsubscribe: Cancela-la subscrición
+ unsubscribe: Desbota-la subscrición
hide_comment: agochar
unhide_comment: amosar
notes:
user: 'Creador:'
edit: Editar esta redacción
destroy: Eliminar esta redacción
- confirm: Está seguro?
+ confirm: Está na certeza?
create:
flash: Redacción creada.
update:
- flash: Gardáronse os cambios.
+ flash: Gardáronse as mudanzas.
destroy:
not_empty: A redacción non está baleira. Elimine todas as versións previas pertencentes
a esta redacción antes de destruíla.
intro_text: OpenStreetMap היא מפה של העולם, שנוצרת על־ידי אנשים כמוך, וחופשית
לשימוש תחת רישיון פתוח.
intro_2_create_account: נא ליצור חשבון משתמש
- partners_html: האירוח נתמך על־ידי %{ucl}, %{bytemark}, %{ic}, ו%{partners} אחרים
partners_ucl: UCL
- partners_ic: המכללה המלכותית של לונדון
partners_bytemark: Bytemark Hosting
partners_partners: שותפים
osm_offline: מסד הנתונים של אתר OpenStreetMap אינו מקוון כעת בשל עבודות תחזוקה
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>,
מ<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">מדינת פורארלברג</a>
וממדינת טירול (לפי <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT עם תיקונים</a>).
+ contributors_au_html: |-
+ <strong>אוסטרליה</strong>: מכיל מנתוני פרוורים המבוססים על
+ נתוני הלשכה האוסטרלית לסטטיסטיקה (Australian Bureau of Statistics).
contributors_ca_html: |-
<strong>קנדה</strong>: מכיל נתונים
מ־GeoBase®‏, GeoGratis‏ (©‏ Department of Natural
flash: מידע הלקוח עודכן בהצלחה
destroy:
flash: רישום יישום הלקוח נהרס
- user:
+ users:
login:
title: כניסה
heading: כניסה
contributors_intro_html: 'Sudionici projekta su tisuće individualaca. Projekt
također uključuje podatke pod slobodnim licencama od nacionalnih kartografskih
agencija i drugih izvora, među kojima su:'
+ contributors_au_html: '<strong>Australija</strong>: Sadrži podatke o predgrađima
+ na osnovu podataka Australian Bureau of Statistics.'
contributors_ca_html: |-
<strong>Kanada</strong>: Sadrži podatke iz
GeoBase®, GeoGratis (© Department of Natural
flash: Informacije o klijentu uspješno ažurirane
destroy:
flash: Uništena registracija klijent aplikacije
- user:
+ users:
login:
title: Prijava
heading: 'Prijava:'
intro_text: OpenStreetMap je karta swěta, wutworjena wot ludźi kaž tebje a hodźi
so swobodnje pod wotewrjenej licencu wužiwać.
intro_2_create_account: Załož wužiwarske konto
- partners_html: Hostowanje so wot %{ucl}, %{ic}, %{bytemark} a druhich %{partners}
- podpěruje.
partners_ucl: z UCL VR Centre
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnerow
osm_offline: Datowa banka OpenStreetMap je tuchwilu offline, dokelž so wažne wobhladowankse
BY</a>), <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a> a Land Tirol (pod <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT ze změnami</a>).'
+ contributors_au_html: '<strong>Awstralska</strong>: Wobsahuje předměšćanske
+ daty na zakładźe datow Awstralskeho zarjada za statistiku (Australian Bureau
+ of Statistics).'
contributors_ca_html: '<strong>Kanada</strong>: Wobsahuje daty z GeoBase®,
GeoGratis (© Department of Natural Resources Canada), CanVec (©
Department of Natural Resources Canada), a StatCan (Geography Division,
flash: Klientowe informacije wuspěšnje zaktualizowane
destroy:
flash: Registrowanje klientoweje aplikacije bu zničene
- user:
+ users:
login:
title: Přizjewjenje
heading: Přizjewjenje
intro_text: Az OpenStreetMap egy világtérkép, amelyet hozzád hasonló emberek készítenek
és szabad licenc alatt elérhető.
intro_2_create_account: Felhasználói fiók létrehozása
- partners_html: A szerver üzemeltetését az %{ucl}, a %{bytemark}, az %{ic} és további
- %{partners} támogatják.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnerek
osm_offline: Az OpenStreetMap-adatbázis jelenleg offline, miközben alapvető adatbázis-karbantartási
<strong>Ausztria</strong>: adatokat tartalmaz a következő forrásból:
<a href="https://data.wien.gv.at/">Bécs városa</a>
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a> licenc alatt.
+ contributors_au_html: |-
+ <strong>Ausztrália</strong>: tartalmaz külvárosi adatokat az
+ Ausztrál Statisztikai Hivatal adatain alapulva.
contributors_ca_html: |-
<strong>Kanada</strong>: adatokat tartalmaz a következő forrásokból:
GeoBase®, GeoGratis (© Department of Natural
flash: A kliens információi sikeresen frissítve
destroy:
flash: A kliensalkalmazás regisztrációja törölve
- user:
+ users:
login:
title: Bejelentkezés
heading: Bejelentkezés
intro_text: OpenStreetMap es un carta del mundo, create per gente como tu e libere
de usar sub un licentia aperte.
intro_2_create_account: Crea un conto de usator
- partners_html: Le allogiamento web es supportate per %{ucl}, %{bytemark}, %{ic}
- e altere %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partners
osm_offline: Le base de datos de OpenStreetMap non es disponibile al momento debite
<strong>Austria</strong>: Contine datos ab le
<a href="https://data.wien.gv.at/">Citate de Vienna</a> licentiate sub
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>.
+ contributors_au_html: |-
+ <strong>Australia</strong>: Contine datos de suburbios a base
+ de datos del Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Canada</strong>: Contine datos ab
GeoBase®, GeoGratis (© Department of Natural
flash: Le information del cliente ha essite actualisate con successo
destroy:
flash: Le registration del application cliente ha essite destruite
- user:
+ users:
login:
title: Aperir session
heading: Aperir session
intro_text: OpenStreetMap adalah peta dunia, diciptakan oleh orang-orang seperti
Anda dan bebas untuk digunakan di bawah lisensi terbuka.
intro_2_create_account: Buat Akun
- partners_html: Hosting didukung oleh %{ucl}, %{ic} dan %{bytemark} dan %{partners}
- lainnya.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Hosting Bytemark
partners_partners: mitra
osm_offline: Database OpenStreetMap saat ini sedang dimatikan karena sedang dilakukan
flash: Informasi klien telah sukses diperbarui.
destroy:
flash: Registrasi aplikasi klien telah dibatalkan.
- user:
+ users:
login:
title: Login
heading: Login
intro_text: OpenStreetMap er heimskort búið til af fólki eins og þér. Það er gefið
út með opnu hugbúnaðarleyfi og það kostar ekkert að nota það.
intro_2_create_account: Búa til notandaaðgang
- partners_html: Vefhýsing er studd af %{ucl}, %{bytemark}, %{ic}, og öðrum %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: samstarfsaðilum
osm_offline: OpenStreetMap gagnagrunnurinn er niðri vegna viðhalds.
flash: Uppfærði upplýsingar biðlaraforritsins
destroy:
flash: Eyðilagði skráningu biðlaraforritsins
- user:
+ users:
login:
title: Innskrá
heading: Innskrá
intro_text: OpenStreetMap è una mappa del mondo, creata da persone come te e libera
da utilizzare secondo una licenza aperta.
intro_2_create_account: Crea un account utente
- partners_html: L'hosting è supportato da %{ucl}, %{bytemark}, %{ic} e da altri
- %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College (Londra)
partners_bytemark: Bytemark Hosting
partners_partners: partner
osm_offline: Il database di OpenStreetMap è al momento non in linea per permettere
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> e
Land Tirol (sotto <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT con emendamenti</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: contiene i dati della periferia basati
+ sui dati dell'Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Canada</strong>: contiene i dati della
GeoBase®, GeoGratis (© Department of Natural
flash: Aggiornate con successo le informazioni sul client
destroy:
flash: Distrutta la registrazione dell'applicazione client
- user:
+ users:
login:
title: Entra
heading: Entra
results:
no_results: 該当するものはありません
more_results: その他の結果
+ issues:
+ index:
+ last_updated_time_html: <abbr title='%{title}'>%{time}前</abbr>
layouts:
logo:
alt_text: OpenStreetMap ロゴ
intro_header: OpenStreetMap へようこそ!
intro_text: OpenStreetMap は、あなたのような人々が作成した世界地図であり、オープン ライセンスの下で自由に利用できます。
intro_2_create_account: 新しい利用者アカウントを作成
- partners_html: 'ホスティング支援者: %{ucl}、%{bytemark}、%{ic}及びその他の%{partners}'
partners_ucl: UCL
- partners_ic: インペリアル カレッジ ロンドン
partners_bytemark: バイトマーク ホスティング
partners_partners: パートナー
osm_offline: OpenStreetMap のデータベースはメンテナンスのため一時的に停止しています。
flash: クライアント情報の更新が正常に終了しました
destroy:
flash: 破棄されたクライアント アプリケーションの登録
- user:
+ users:
login:
title: ログイン
heading: ログイン
name: სახელი
required: სავალდებულოა
allow_write_api: რუკის რედაქტირება.
- user:
+ users:
login:
title: შესვლა
heading: შესვლა
# Export driver: phpyaml
# Author: Alem
# Author: Belkacem77
+# Author: Marzuquccen
# Author: Mastanabal
# Author: Mhenni
# Author: MustaphaLateb
geocoder:
search:
title:
- latlon: Igmaḍ <a href="http://openstreetmap.org/">igensanen</a>
- ca_postcode: Igmaḍ si <a href="http://geocoder.ca/">Geocoder.CA</a>
- osm_nominatim: Igmaḍ si <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ latlon: Igmaḍ seg <a href="https://openstreetmap.org/">igensanen</a>
+ ca_postcode: Igmaḍ si <a href="https://geocoder.ca/">Geocoder.CA</a>
+ osm_nominatim: Igmaḍ si <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
Nominatim</a>
geonames: Igmaḍ si <a href="http://www.geonames.org/">GeoNames</a>
- osm_nominatim_reverse: Igmaḍ si <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ osm_nominatim_reverse: Igmaḍ si <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
Nominatim</a>
geonames_reverse: Igmaḍ si <a href="http://www.geonames.org/">GeoNames</a>
search_osm_nominatim:
butcher: Agezzar
car: Tahanutt n tkeryas
car_parts: Ticeqqufin n ubeddel n tkeryas
+ clothes: Taḥanut n icetiḍen
+ computer: Taḥanut n iselkimen
+ confectionery: Taḥanut n ḥlawat
+ copyshop: Taḥanut n talsuffeɣt
+ cosmetics: Taḥanut n rwayeḥ
+ department_store: Taḥanut tameqqrant
+ farm: Tahanutt n tkeryas n tfellaḥt
+ fish: Taḥanut n iselman
+ florist: Taḥanut n ijeǧǧigen
+ food: Taḥanut n wuččan
+ gift: Taḥanut n isefan
+ greengrocer: Ameznuz n lxeḍra
+ hairdresser: Aḥeffaf
+ hifi: Taḥanut Hi-Fi
+ interior_decoration: Azewweq n daxel
+ jewelry: Taḥanut n sdaq
+ lottery: Loto
+ market: Suq
+ mobile_phone: Taḥanut n tilifunat ufus
+ newsagent: Ameznuz n iǧarnanen
+ optician: Taḥanut n nwaḍer
+ pharmacy: Taḥanut n ddwa
+ shoes: Taḥanut n isebbaḍen
+ sports: Taḥanut n tɣawsiwin n waddal
+ supermarket: Ssuq ameqqran
+ ticket: Taḥanut n itikiyen
+ tobacco: Birutabac
+ toys: Taḥanut n illelucen
+ tyres: Taḥanut n rwadi
"yes": Taḥanut
tourism:
hostel: Azebriz
hotel: Asensu
information: Talɣut
museum: Asalay
+ zoo: Zoo
tunnel:
"yes": Ifri
waterway:
level10: Talast n ugmama
description:
title:
- osm_nominatim: Asideg si <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ osm_nominatim: Asideg si <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
Nominatim</a>
geonames: Adig si <a href="http://www.geonames.org/">GeoNames</a>
types:
intro_text: OpenStreetMap d takarḍa n umadal, rnna-tt yemdanen am kečč d tilellit
i useqdec ddaw n turagt tilellit.
intro_2_create_account: Rnu amiḍan n useqdac
- partners_html: Tanezduɣt muddentt-id %{ucl},%{bytemark}, %{ic}, d %{partners}
- nniḍen.
partners_ucl: UCL
- partners_ic: Aɣerbaz impiryal n Lundun
partners_bytemark: Tanezduɣt n Bytemark
partners_partners: imendiden
osm_offline: Taffa n isefka n OpenStreetMap ur teqqin ara yakan tura imi aseǧǧem
get_directions: Awi iwellihen
from: Seg
to: I
- where_am_i: Anida lliɣ?
+ where_am_i: Anida yella waya?
submit_text: Ddu
key:
table:
richtext_area:
edit: Ẓreg
markdown_help:
- title_html: Yettwasleḍ s <a href="http://daringfireball.net/projects/markdown/">Markdown</a>
+ title_html: Yettwasleḍ s <a href="https://daringfireball.net/projects/markdown/">Markdown</a>
headings: Izwal
heading: Azwel
subheading: Azwel asnawan
allow_read_gpx: ɣeṛ lǧerrat GPS usligen.
allow_write_gpx: azen lǧerrat GPS.
allow_write_notes: snifel tizmilin.
- user:
+ users:
login:
title: Qqen
heading: Qqen
form:
name: ឈ្មោះ
allow_write_api: កែសម្រួលផែនទី
- user:
+ users:
login:
title: កត់ឈ្មោះចូល
heading: កត់ឈ្មោះចូល
map: ನಕ್ಷೆ
edit: ಸಂಪಾದಿಸಿ
description: 'ವಿವರ:'
- user:
+ users:
login:
title: ಲಾಗ್ ಇನ್
password: 'ಪ್ರವೇಶಪದ:'
diary_entry:
spam_label: 이 일기 항목은 스팸입니다
offensive_label: 이 일기 항목은 음란물이거나 모욕적입니다
+ threat_label: 이 일기 항목은 위협을 포함합니다
other_label: 기타
diary_comment:
spam_label: 이 일기 댓글은 스팸입니다
+ offensive_label: 이 일기 댓글은 타당치 않거나 공격적입니다
+ threat_label: 이 일기 댓글은 위협을 포함합니다
other_label: 기타
user:
spam_label: 이 사용자 프로필은 스팸이거나 스팸을 포함합니다
+ offensive_label: 이 사용자 프로필은 타당치 않거나 공격적입니다
threat_label: 이 사용자 프로필에 위협이 포함되어 있습니다
vandal_label: 이 사용자는 문서 훼손자입니다
other_label: 기타
intro_header: OpenStreetMap에 오신 것을 환영합니다!
intro_text: OpenStreetMap은 여러분과 같은 사람들이 만들어, 개방형 라이선스에 따라 자유롭게 사용할 수 있는 세계 지도입니다.
intro_2_create_account: 사용자 계정을 만드세요
- partners_html: 호스팅은 %{ucl}, %{ic}, %{bytemark}, 다른 %{partners}에서 지원합니다.
+ hosting_partners_html: 호스팅은 %{ucl}, %{bytemark}, 다른 %{partners}에서 지원합니다.
partners_ucl: UCL
- partners_ic: 임페리얼 칼리지 런던 대학
partners_bytemark: 바이트마크 호스팅
partners_partners: 협력단체
osm_offline: 데이터베이스 점검을 위해 OpenStreetMap의 데이터가 현재 오프라인입니다.
save_button: 바뀜 저장
visibility: '공개 여부:'
visibility_help: 이게 무슨 뜻입니까?
+ update:
+ updated: 추적 업데이트됨
trace_optionals:
tags: 태그
show:
flash: 성공적으로 클라이언트 정보를 업데이트했습니다
destroy:
flash: 클라이언트 애플리케이션 등록을 파기했습니다
- user:
+ users:
login:
title: 로그인
heading: 로그인
read and accept: 아래의 계약을 읽고 기존 및 앞으로의 기여가 계약 약관에 동의했는지 확인하려면 동의 버튼을 누르세요.
consider_pd: 위의 계약뿐만 아니라 내 기여가 퍼블릭 도메인에 있는지 고려하세요
consider_pd_why: 이게 뭐죠?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: '약관을 이해하는 데 유용한 정보: <a href="%{summary}">사람이 읽을 수 있는 요약</a>과 일부 <a
href="%{translations}">비공식 번역</a>'
agree: 동의
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: 거부
you need to accept or decline: 계속하려면 새 기여자 약관을 읽고 나서 동의나 거부하세요.
legale_select: '거주 국가:'
image: '그림:'
gravatar:
gravatar: Gravatar 사용
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: 이게 뭐죠?
disabled: 그라바타가 비활성화되었습니다.
enabled: 그라바타의 표시가 활성화되었습니다
intro_text: OpenStreetMap xerîteyekî dinyayê ye ku ji aliyê kesên wek te ve tê
çêkirin û emilandina we belaş e û di bin lîsansa azad de ye.
intro_2_create_account: Ji xwe re hesabekî çêbike
- partners_html: Pêşkêşkirina bernameyê ji alî %{ucl}, %{bytemark}, %{ic} û %{partners}
- ve tê piştgirîkirin.
partners_ucl: University College London
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: şirîkên me
osm_offline: Databasa OpenStreetMapê vê gavê offline e ji ber ku niha xebatên
flash: Agahiyên mişteriyê bi serkeftinî hate nûkirin.
destroy:
flash: Sepana telebkar qeyda xwe ji holê rakir
- user:
+ users:
login:
title: Têkeve
heading: Têkeve
lb:
time:
formats:
- friendly: '%e %B %Y ëm %H:%M'
+ friendly: '%e %B %Y um %H:%M'
activerecord:
models:
changeset: Set vun Ännerungen
name: Numm
required: Obligatoresch
allow_write_api: Kaart änneren
- user:
+ users:
login:
title: Umellen
heading: Umellen
intro_text: OpenStreetMap yra pasaulio žemėlapis, kuriamas žmonių, tokių kaip
jūs. Jis atviras ir laisvas - naudojamas pagal atvirą licenciją.
intro_2_create_account: sukurti naudotojo paskyrą
- partners_html: Serveris palaikomas %{ucl}, %{bytemark}, %{ic} ir kiti %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark serveris
partners_partners: partneriai
osm_offline: Šiuo metu OpenStreetMap duomenų bazė išjungta, nes vykdomi svarbūs
flash: Kliento informacija sėkmingai atnaujinta
destroy:
flash: Panaikinta kliento programos registracija
- user:
+ users:
login:
title: Prisijungti
heading: Prisijungti
reopened_by_anonymous: Atkal aktivizēja anonīms <abbr title='%{exact_time}'>%{when}
atpakaļ</abbr>
hidden_by: Paslēpa %{user} <abbr title='%{exact_time}'>%{when} atpakaļ</abbr>
+ report: Ziņot par šo piezīmi
query:
title: Vaicājuma funkcijas
introduction: Noklikšķiniet uz kartes, lai atrastu tuvumā esošos objektus.
bridge: Tilts
bunker_silo: Bunkurs
chimney: Skurstenis
+ flagpole: Karoga masts
lighthouse: Bāka
pipeline: Cauruļvads
tower: Tornis
pet: Zooveikals
pharmacy: Aptieka
photo: Fotoveikals
+ seafood: Jūras veltes
second_hand: Lietoto preču veikals
shoes: Apavu veikals
sports: Sporta veikals
index:
search: Meklēt
status: Statuss
+ reports: Ziņojumi
states:
ignored: Ignorēts
open: Atvērt
intro_text: OpenStreetMap ir pasaules karte, kuru veido cilvēki kā tu, un tā ir
bezmaksas lietošanai zem atvērtas licences.
intro_2_create_account: Izveidot lietotāja kontu
- partners_html: Servera vietu atbalsta %{ucl}, %{ic} un %{bytemark}, un citi %{partners}.
partners_ucl: UCL
- partners_ic: Londonas Imperiālā Koledža
partners_bytemark: Bytemark Hosting
partners_partners: partneri
osm_offline: OpenStreetMap datubāze šobrīd nav pieejama, tiek veikti svarīgi datubāzes
<strong>Austrija</strong>: Ietver datus no
<a href="http://data.wien.gv.at/">Stadt Wien</a> (zem
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>).
+ contributors_au_html: |-
+ <strong>Austrālija</strong>: Ietver pilsētu datus no
+ Australian Bureau of Statistics data.
contributors_ca_html: |-
<strong>Kanāda</strong>: Ietver datus no
GeoBase®, GeoGratis (© Department of Natural
flash: Klienta informācija atjaunināta veiksmīgi
destroy:
flash: Iznīcināja klienta aplikācijas reģistrāciju
- user:
+ users:
login:
title: Pieslēgties
heading: Pieslēgties
intro_text: OpenStreetMap е карта на светот создадена од луѓе како вас и се нуди
за слободна употреба под отворена лиценца.
intro_2_create_account: Создајте корисничка сметка
- partners_html: Вдомувањето е поддржано од %{ucl}, %{bytemark}, %{ic} како и други
+ hosting_partners_html: Вдомувањето е поддржано од %{ucl}, %{bytemark} и други
%{partners}.
partners_ucl: UCL
- partners_ic: Империјалниот колеџ - Лондон
partners_bytemark: вдомителот „Bytemark“
partners_partners: партнери
osm_offline: Базата на податоци на OpenStreetMap моментално е исклучена додека
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.mk">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Покраина Предарлска</a> и
Покраина Тирол (под <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT со исправки</a>).
+ contributors_au_html: |-
+ <strong>Австралија</strong>: Содржи податоци за населби од
+ Австралиското биро за статистика.
contributors_ca_html: |-
<strong>Canada</strong>: Содржи податоци од
GeoBase®, GeoGratis (© Министерство за природни ресурси на Канада), CanVec (© Министерство за природни ресурси на Канада), and StatCan (Географско одделение,
flash: Клиентските информации се успешно подновени
destroy:
flash: Уништена е пријавната регистрација за клиентскиот програм.
- user:
+ users:
login:
title: Најава
heading: Најава
old_relation_tag: Маркаж пентру релация веке
old_way: Кале веке
relation: Релацие
+ relation_member: Мембру ал релацией
session: Сесиуне
trace: Маршрутэ
user: Утилизатор
intro_text: OpenStreetMap есте о хартэ а лумий, креатэ де оамень ка ши думнявоастрэ,
ши поате фи утилизатэ ын мод либер суб о личенцэ дескисэ.
intro_2_create_account: Креаць ун конт де утилизатор
- partners_html: Хостингул есте сусцинут де %{ucl}, %{bytemark} ши %{ic}, прекум
- ши де кэтре алць %{partners}.
partners_ucl: Колеӂиул Университар дин Лондра (UCL)
- partners_ic: Колеӂиул Империал дин Лондра
partners_bytemark: Хостингул Bytemark
partners_partners: партенерь
help: Ажутор
site:
export:
title: Експортаре
- user:
+ users:
login:
title: Презентаци-вэ
heading: Презентаци-вэ
heading: Аць уйтат парола?
email address: 'Адреса де поштэ електроникэ:'
new password button: Рестабилиря паролей
+ reset_password:
+ password: 'Паролэ:'
+ confirm password: 'Конфирмаць парола:'
+ new:
+ display name: 'Нумеле афишат:'
+ password: 'Паролэ:'
+ confirm password: 'Конфирмаць парола:'
show:
my diary: Журналул меу
my messages: Месажеле меле
my friends: Приетений мей
account:
my settings: Реглажеле меле
+ current email address: 'Адреса де поштэ електроникэ курентэ:'
+ new email address: 'Адреса де поштэ електроникэ ноуэ:'
+ email never displayed publicly: (ну се афишязэ публик)
+ external auth: 'Ынтраря ын конт екстернэ:'
+ openid:
+ link text: че май есте ши аста?
+ public editing:
+ enabled link text: че май есте ши аста?
+ contributor terms:
+ link text: че май есте ши аста?
+ preferred editor: 'Редактор преферат:'
+ gravatar:
+ link text: че май есте ши аста?
...
आहे, व जो खुल्या परवान्यांतर्गत वापरास मुक्त आहे.
intro_2_create_account: सदस्यखाते तयार करा
partners_ucl: UCL VR सेंटर
- partners_ic: इम्पिरियल कॉलेज लंडन
partners_bytemark: बाईटमार्क होस्टिंग
partners_partners: भागीदार
osm_offline: डाटाबेसचे आवश्यक देखरेखीचे काम असल्यामुळे ओपनस्ट्रीटमॅप डाटाबेस ही
required: आवश्यक
url: मुख्य अनुप्रयोग URL
requests: 'सदस्याकडून खालील परवानग्यांची मागणी करा:'
- user:
+ users:
login:
title: सनोंद प्रवेश करा
heading: सनोंद प्रवेश करा
intro_text: OpenStreetMap ialah peta dunia yang diwujudkan oleh insan seperti
anda, dan bebas digunakan dengan berlandaskan lesen terbuka.
intro_2_create_account: Buka akaun pengguna
- partners_html: Pengehosan disokong oleh %{ucl}, %{ic} dan %{bytemark}, serta %{partners}
- yang lain.
partners_ucl: Pusat VR UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: rakan-rakan kongsi
osm_offline: Pangkalan data OpenStreetMap kini diputuskan sambungannya sementara
BY</a>) dan <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a>, dan Land Tirol (under <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT dengan pindaan</a>).'
+ contributors_au_html: '<strong>Australia</strong>: Mengandungi data subbandar
+ berasaskan data Australian Bureau of Statistics.'
contributors_ca_html: '<strong>Kanada</strong>: Mengandungi data daripada
GeoBase®, GeoGratis (© Department of Natural Resources Canada),
CanVec (© Department of Natural Resources Canada), and StatCan (Geography
flash: Maklumat klien berjaya dikemaskinikan
destroy:
flash: Permohonan aplikasi klien dihapuskan
- user:
+ users:
login:
title: Log masuk
heading: Log masuk
index:
title: Endringssett
title_user: Endringssett av %{user}
- title_friend: Endringssett fra mine venner
+ title_friend: Endringssett av mine venner
title_nearby: Endringssett av brukere i nærheten
empty: Inget endringssett funnet.
empty_area: Ingen endringssett i dette området.
- empty_user: Ingen endringssett fra denne brukeren.
+ empty_user: Ingen endringssett av denne brukeren.
no_more: Ingen flere endringssett funnet.
no_more_area: Ingen flere endringssett i dette området.
- no_more_user: Ingen flere endringssett fra denne brukeren.
+ no_more_user: Ingen flere endringssett av denne brukeren.
load_more: Last inn mer
timeout:
sorry: Beklager, listen over endringssett som du ba om tok for lang tid å hente.
intro_text: OpenStreetMap er et kart over verden, skapt av mennesker som deg,
og gratis å bruke under en åpen lisens.
intro_2_create_account: Opprett en brukerkonto
- partners_html: Hosting støttes av %{ucl}, %{bytemark}, %{ic}, og andre %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnere
osm_offline: OpenStreetMap databasen er for øyeblikket utilgjengelig mens essensielt
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>,
<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> og
Land Tirol (under <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT med tilføyelser</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: Inneholder forstaddata basert
+ på Australian Bureau of Statistics data.
contributors_ca_html: |-
<strong>Canada</strong>: Inneholder data fra
GeoBase®, GeoGratis (© Department of Natural
flash: Oppdaterte klientinformasjonen
destroy:
flash: Ødelagt klientapplikasjonsregistreringen
- user:
+ users:
login:
title: Logg inn
heading: Logg inn
name: Naam
required: Nödig
allow_write_api: Koort ännern.
- user:
+ users:
login:
title: Anmellen
heading: Anmellen
अगाडि</abbr> पुनःसक्रिय गरिएको
hidden_by: '%{user}द्वारा <abbr title=''%{exact_time}''>%{when} अगाडि</abbr>
लुकाइएको'
+ report: यस टिपोटलाई उजुरी गर्नुहोस्
query:
title: क्वेरी गुणहरू
introduction: नजिकैका फिचरहरू भेटाउन नक्सामा क्लिक गर्नुहोस्
edit_link: यो प्रविष्टी सम्पादन गर्ने
hide_link: यो प्रविष्टी लुकाउने
confirm: निश्चित गर्ने
+ report: यो प्रविष्टीको उजुरी गर्ने
diary_comment:
comment_from: '%{link_user}द्वारा %{comment_created_at}मा गरिएको टिप्पणी'
hide_link: यो टिप्पणी लुकाउनुहोस्
track: ट्रयाक
cycleway: साइकल मार्ग
rail: रेलमार्ग
+ subway: सबवे
cable:
- केबल कार
- कुर्सी लिफ्ट
form:
name: नाम
required: आवश्यक पर्दछ
- user:
+ users:
login:
title: प्रवेश
heading: प्रवेश
# Author: Greencaps
# Author: HanV
# Author: Hansmuller
+# Author: Henke
# Author: JaapDeKleine
# Author: Jochempluim
# Author: Joost schouppe
# Author: MrLeopold
# Author: Optilete
# Author: Pje335
+# Author: Robin van der Linde
# Author: Robin van der Vliet
# Author: Robin0van0der0vliet
# Author: Romaine
reopened_by_anonymous: <abbr title='%{exact_time}'>%{when} geleden</abbr> opnieuw
geactiveerd door anoniem
hidden_by: <abbr title='%{exact_time}'>%{when} ago</abbr> verborgen door %{user}
+ report: Notitie rapporteren
query:
title: Nabije objecten opvragen
introduction: Klik op de kaart om nabije eigenschappen te ontdekken.
comment_from: Reactie van %{link_user} op %{comment_created_at}
hide_link: Reactie verbergen
confirm: Bevestigen
+ report: Rapporteer deze opmerking
location:
location: 'Locatie:'
view: Bekijken
protected_area: Beschermd gebied
bridge:
aqueduct: Aquaduct
+ boardwalk: Plankenweg
suspension: Hangbrug
swing: Draaibrug
viaduct: Viaduct
water_tank: Watertank voor noodgevallen
"yes": Noodgeval
highway:
- abandoned: Verlaten snelweg
+ abandoned: Verlaten weg
bridleway: Ruiterpad
bus_guideway: Vrijliggende busbaan
bus_stop: Bushalte
- construction: Snelweg in aanbouw
+ construction: Weg in aanbouw
corridor: Corridor
cycleway: Fietspad
elevator: Lift
track: Veld- of bosweg
traffic_signals: Verkeerslichten
trail: Pad
- trunk: Autosnelweg
+ trunk: Autoweg
trunk_link: Autoweg
turning_loop: Keerlus
unclassified: Ongeclassificeerde weg
wastewater_plant: Afvalwaterzuivering
watermill: Watermolen
water_tower: Watertoren
+ water_well: Put
water_works: Waterwerken
windmill: Windmolen
works: Fabriek
square: Plein
state: Staat
subdivision: Deelgebied
- suburb: Buitenwijk
+ suburb: Stadsdeel
town: Stad
unincorporated_area: Gemeentevrij gebied
village: Dorp
organic: Organische winkel
outdoor: Buitensportwinkel
paint: Verfwinkel
+ pawnbroker: Pandmakelaar
pet: Dierenwinkel
pharmacy: Apotheek
photo: Fotowinkel
+ seafood: Zeevruchten
second_hand: Kringloopwinkel
shoes: Schoenenzaak
sports: Sportwinkel
tobacco: Tabakswinkel
toys: Speelgoedwinkel
travel_agency: Reisbureau
+ tyres: Bandenwinkel
video: Videotheek
wine: Wijnwinkel
"yes": Winkel
level6: Countygrens
level8: Stadsgrens
level9: Dorpsgrens
- level10: Wijkgrens
+ level10: Stadsdeelgrens
description:
title:
osm_nominatim: Locatie van <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
results:
no_results: Geen resultaten gevonden
more_results: Meer resultaten
+ issues:
+ index:
+ title: Problemen
+ select_status: Selecteer Status
+ select_type: Selecteer Type
+ select_last_updated_by: Selecteer Laats Bijgewerkt Door
+ reported_user: Gerapporteerde Gebruiker
+ not_updated: Niet Bijgewerkt
+ search: Zoeken
+ search_guidance: 'Zoek Problemen:'
+ user_not_found: Gebruiker bestaat niet
+ status: Status
+ reports: Rapportages
+ last_updated: Laatst Bijgewerkt
+ reported_item: Gerapporteerd Item
+ states:
+ ignored: Genegeerd
+ open: Open
+ resolved: Opgelost
+ update:
+ new_report: Uw rapport is succesvol geregistreerd
+ successful_update: Uw rapport is succesvol bijgewerkt
+ provide_details: Geef a.u.b. de vereiste gegevens in
+ show:
+ title: '%{status} Probleem #%{issue_id}'
+ report_created_at: Voor het eerst vermeld op %{datetime}
+ last_resolved_at: Laatst opgelost op %{datetime}
+ last_updated_at: Laatst bijgewerkt op %{datetime} door %{displayname}
+ resolve: Oplossen
+ ignore: Negeren
+ reopen: Heropenen
+ reports_of_this_issue: Meldingen van deze kwestie
+ read_reports: Lees Meldingen
+ new_reports: Nieuwe Meldingen
+ other_issues_against_this_user: Andere problemen met deze gebruiker
+ no_other_issues: Geen andere problemen tegen deze gebruiker.
+ comments_on_this_issue: Commentaar op deze kwestie
+ resolve:
+ resolved: De status van het probleem is ingesteld op 'Opgelost'
+ ignore:
+ ignored: De status van het probleem is ingesteld op 'Genegeerd'
+ reopen:
+ reopened: De status van het probleem is ingesteld op 'Open'
+ comments:
+ created_at: Op %{datetime}
+ reassign_param: Probleem opnieuw toewijzen?
+ reports:
+ updated_at: Op %{datetime}
+ reported_by_html: Gerapporteerd als %{category} door %{user}
+ helper:
+ reportable_title:
+ diary_comment: '%{entry_title}, commentaar #%{comment_id}'
+ note: 'Nota #%{note_id}'
+ issue_comments:
+ create:
+ comment_created: Je reactie is succesvol gemaakt
+ reports:
+ new:
+ categories:
+ diary_entry:
+ other_label: Anders
+ diary_comment:
+ other_label: Anders
+ user:
+ other_label: Anders
+ note:
+ spam_label: Deze notitie is spam
+ other_label: Anders
layouts:
logo:
alt_text: Logo OpenStreetMap
intro_text: OpenStreetMap is een kaart van de wereld, gemaakt door mensen zoals
u en vrij te gebruiken onder een open licentie.
intro_2_create_account: Maak een gebruiker aan
- partners_html: De hosting wordt ondersteund door %{ucl}, %{ic} en %{bytemark},
- en andere %{partners}.
+ hosting_partners_html: Hosting wordt ondersteund door %{ucl}, %{bytemark}, en
+ andere %{partners}.
partners_ucl: het UCL VR Centre
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partners
osm_offline: De OpenStreetMap-database is op het moment niet beschikbaar wegens
<a href="https://data.wien.gv.at/">Stad Wenen</a> (onder
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> en
Land Tirol (onder <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY-AT met aanvullingen</a>).
+ contributors_au_html: |-
+ <strong>Australië</strong>: Bevat wijkgegevens
+ gebaseerd op gegevens van het Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Canada</strong>: Bevat gegevens van
GeoBase®, GeoGratis (© Department of Natural
flash: De informatie voor de client is bijgewerkt
destroy:
flash: De clientapplicatieregistratie is verwijderd
- user:
+ users:
login:
title: Aanmelden
heading: Aanmelden
friends_diaries: dagboekberichten van vrienden
nearby_changesets: wijzigingensets van gebruikers in de buurt
nearby_diaries: dagboekberichten van gebruikers in de buurt
+ report: Rapporteer deze Gebruiker
popup:
your location: Uw locatie
nearby mapper: Dichtbijzijnde mapper
roundabout_with_exit: Neem op de rotonde afslag %{exit} naar %{name}
unnamed: naamloos
courtesy: Routebeschrijving met dank aan %{link}
+ exit_counts:
+ first: 1e
+ second: 2e
+ third: 3e
+ fourth: 4e
+ fifth: 5e
+ sixth: 6e
+ seventh: 7e
time: Tijd
query:
node: Node
intro_text: OpenStreetMap er eit verdskart, laga av folks som deg, det er ope
og gratis å bruke, med ein open lisens.
intro_2_create_account: Opprett ein brukarkonto
- partners_html: Drifta er støtta av %{ucl}, %{ic}, %{bytemark} og andre %{partners}.
partners_ucl: UCL VR-senteret
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partnarar
osm_offline: OpenStreetMap databasen er for augneblunken utilgjengelig medan essensielt
inbox: innboks
outbox: utboks
messages:
- one: Du har %{count} sendt melding
- other: Du har %{count} sendte meldingar
+ one: Du har %{count} send melding
+ other: Du har %{count} sende meldingar
to: Til
subject: Emne
date: Dato
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.dei">CC BY</a>,
<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> og
Land Tirol (under <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT med tilleg</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: Inneheld forstadsdata basert
+ på Australian Bureau of Statistics data.
contributors_ca_html: |-
<strong>Canada</strong>: Inneheld data frå
GeoBase®, GeoGratis (© Department of Natural
flash: Oppdaterte klientinformasjonen
destroy:
flash: Øydelagt klientapplikasjonsregistreringen
- user:
+ users:
login:
title: Logg inn
heading: Logg inn
intro_text: OpenStreetMap es una mapa del mond, creada per de personas coma vos
e liura d’utilizacion jos licéncia liura.
intro_2_create_account: Creatz un compte d'utilizaire
- partners_html: L'albergament es pres en carga per %{ucl}, %{ic} e %{bytemark},
- e d'autres %{partners}.
partners_ucl: UCL
- partners_ic: lo Collègi Imperial de Londres
partners_bytemark: Albergament Bytemark
partners_partners: partenaris
osm_offline: La basa de donadas de OpenStreetMap es actualament fòra linha; una
flash: Informacions del client enregistradas amb succès
destroy:
flash: Enregistrament de l'aplicacion clienta suprimit
- user:
+ users:
login:
title: Se connectar
heading: Connexion
export_data: ਸਮੱਗਰੀ ਬਰਾਮਦ ਕਰੋ
edit_with: '%{editor} ਨਾਲ ਸੋਧੋ'
intro_2_create_account: ਇੱਕ ਵਰਤੋਂਕਾਰ ਖਾਤਾ ਬਣਾਉ
- partners_ic: ਇੰਪੀਰੀਅਲ ਕਾਲਜ ਲੰਡਨ
partners_bytemark: ਬਾਈਟਮਾਰਕ ਹੋਸਟਿੰਗ
partners_partners: ਜੋੜੀਦਾਰ
help: ਮਦਦ
name: ਨਾਂ
required: ਲੋੜੀਂਦਾ
support_url: ਮਦਦ URL
- user:
+ users:
login:
title: ਦਾਖ਼ਲਾ
heading: ਦਾਖ਼ਲਾ
intro_text: OpenStreetMap to mapa świata, stworzona przez ludzi, takich jak ty,
i z możliwością użycia pod otwartą licencją.
intro_2_create_account: Utwórz konto
- partners_html: Hosting obsługuje %{ucl}, %{ic}, %{bytemark}, a także %{partners}.
partners_ucl: University College London
- partners_ic: Imperial College London
partners_bytemark: Hosting Bytemark
partners_partners: partnerzy
osm_offline: Baza danych OpenStreetMap jest niedostępna na czas ważnych zadań
<strong>Austria</strong>: Zawiera dane <a href="https://data.wien.gv.at/">miasta Wiednia</a> (na licencji <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> oraz
Land Tyrol (na licencji <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT z późniejszymi zmianami</a>).
+ contributors_au_html: '<strong>Australia</strong>: Zawiera dane o miejscowościach
+ oparte na danych ''''Australian Bureau of Statistics''''.'
contributors_ca_html: '<strong>Kanada</strong>: Zawiera dane z GeoBase®,
GeoGratis (© ''Department of Natural Resources Canada''), CanVec (©
''Department of Natural Resources Canada'') i StatCan (''Geography Division,
flash: Informacje o kliencie zostały pomyślnie zaktualizowane
destroy:
flash: Usunięto rejestrację aplikacji
- user:
+ users:
login:
title: Logowanie
heading: Logowanie
intro_text: O OpenStreetMap é um mapa do mundo, criado por pessoas como você e
de uso livre sob uma licença aberta.
intro_2_create_account: Criar uma conta de usuário
- partners_html: A hospedagem é apoiada por %{ucl}, %{bytemark}, %{ic}, e outros
+ hosting_partners_html: A hospedagem é suportada por %{ucl}, %{bytemark} e outros
%{partners}.
partners_ucl: UCL
- partners_ic: Imperial College de Londres
partners_bytemark: Hospedagem Bytemark
partners_partners: parceiros
osm_offline: A base de dados do OpenStreetMap está fora do ar para manutenção.
BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a> e Land Tirol (sob a licença <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT com emendas</a>).'
+ contributors_au_html: |-
+ <strong>Austrália</strong>: Contém dados do subúrbio baseado
+ nos dados do Australian Bureau of Statistics.
contributors_ca_html: "<strong>Canadá</strong>: Contém dados do\n GeoBase®,
GeoGratis (© Departamento de Recursos\n Naturais do Canadá), CanVec
(© Departamento de Recursos\n Naturais do Canadá), and StatCan (Divisão
flash: Sucesso ao atualizar as informações do cliente
destroy:
flash: O registro da aplicação cliente foi apagado
- user:
+ users:
login:
title: Entrar
heading: Entrar
reopened_by_anonymous: Reaberto por um anónimo há <abbr title='%{exact_time}'>%{when}
atrás</abbr>
hidden_by: Ocultado por %{user} há <abbr title='%{exact_time}'>%{when} atrás</abbr>
+ report: Denunciar este erro reportado
query:
title: Consultar elementos em redor
introduction: Clique no mapa para descobrir elementos em redor.
edit_link: Editar esta entrada
hide_link: Ocultar esta entrada
confirm: Confirmar
+ report: Denunciar esta entrada
diary_comment:
comment_from: Comentário de %{link_user} em %{comment_created_at}
hide_link: Ocultar este comentário
confirm: Confirmar
+ report: Denunciar este comentário
location:
location: 'Localização:'
view: Ver
issues:
index:
title: Problemas
+ select_status: Selecionar Estado
+ select_type: Selecionar Tipo
+ select_last_updated_by: Selecionar Último Atualizado por
+ reported_user: Denunciar Utilizador
+ not_updated: Não Atualizado
search: Pesquisar
+ search_guidance: 'Pesquisar Problemas:'
+ user_not_found: O utilizador não existe
+ issues_not_found: Não foi encontrado nenhum problema desse tipo
status: Estado
+ reports: Denúncias
+ last_updated: Última Atualização
+ last_updated_time_html: <abbr title='%{title}'>%{time} atrás</abbr>
+ last_updated_time_user_html: <abbr title='%{title}'>%{time} atrás</abbr> por
+ %{user}
+ link_to_reports: Ver Denúncias
+ reports_count:
+ one: 1 denúncia
+ other: '%{count} denúncias'
+ reported_item: Item Denunciado
+ states:
+ ignored: Ignorado
+ open: Aberto
+ resolved: Resolvido
+ update:
+ new_report: A sua denúncia por registada com sucesso
+ successful_update: A sua denúncia foi atualizada com sucesso
+ provide_details: Por favor forneça os detalhes necessários
show:
+ title: '%{status} Denúncia #%{issue_id}'
+ reports:
+ zero: Sem denúncias
+ one: 1 denúncia
+ other: '%{count} denúncias'
+ report_created_at: Denunciado primeiro em %{datetime}
+ last_resolved_at: Último resolvido em %{datetime}
+ last_updated_at: Último atualizado em %{datetime} por %{displayname}
+ resolve: Resolver
ignore: Ignorar
+ reopen: Reabrir
+ reports_of_this_issue: Denúncias deste Problema
+ read_reports: Ler Denúncias
+ new_reports: Novas Denúncias
+ other_issues_against_this_user: Outros problemas sobre este utilizador
+ no_other_issues: Nenhum outro problema com este utilizador.
+ comments_on_this_issue: Comentários sobre este problema
+ resolve:
+ resolved: O estado do problema foi alterado para 'Resolvido'
+ ignore:
+ ignored: O estado do problema foi alterado para 'Ignorado'
+ reopen:
+ reopened: O estado do problema foi alterado para 'Aberto'
+ comments:
+ created_at: Em %{datetime}
+ reassign_param: Reatribuir o problema?
+ reports:
+ updated_at: Em %{datetime}
+ reported_by_html: Denunciado como %{category} por %{user}
+ helper:
+ reportable_title:
+ diary_comment: '%{entry_title}, comentário #%{comment_id}'
+ note: 'Erro reportado #%{note_id}'
+ issue_comments:
+ create:
+ comment_created: O seu comentário foi criado com sucesso
+ reports:
+ new:
+ title_html: Denunciar %{link}
+ missing_params: Não foi possível criar uma denúncia
+ details: Por favor forneça mais alguns detalhes sobre o problema (obrigatório).
+ select: Selecione um motivo para a sua denúnciaː
+ disclaimer:
+ intro: Antes de enviar a sua denúncia aos moderadores, por favor certifique-se
+ queː
+ not_just_mistake: Tem a certeza que o problema não é um mero engano
+ unable_to_fix: Não consegue corrigir o problema por si próprio nem com a ajuda
+ dos membros da comunidade
+ resolve_with_user: Já tentou resolver o problema com o utilizador em questão
+ categories:
+ diary_entry:
+ spam_label: Esta entrada do diário é ou contém SPAM/publicidade
+ offensive_label: Esta entrada do diário é obscena ou ofensiva
+ threat_label: Esta entrada do diário contém uma ameaça
+ other_label: Outro
+ diary_comment:
+ spam_label: Este comentário na entrada do diário é ou contém SPAM/publicidade
+ offensive_label: Este comentário na entrada do diário é obsceno ou ofensivo
+ threat_label: Este comentário na entrada do diário contém uma ameaça
+ other_label: Outro
+ user:
+ spam_label: Este perfil de utilizador é ou contém SOAM/publicidade
+ offensive_label: Este perfil de utilizador é obsceno ou ofensivo
+ threat_label: Este perfil de utilizador contém uma ameaça
+ vandal_label: Este utilizador é um vândalo
+ other_label: Outro
+ note:
+ spam_label: Este erro reportado é SPAM/publicidade
+ personal_label: Este erro reportado contém dados pessoais
+ abusive_label: Este erro reportado é abusivo
+ other_label: Outro
+ create:
+ successful_report: A sua denúncia foi registada com sucesso
+ provide_details: Por favor forneça os detalhes necessários
layouts:
logo:
alt_text: Logotipo do OpenStreetMap
edit: Editar
history: Histórico
export: Exportar
+ issues: Problemas
data: Dados
export_data: Exportar dados
gps_traces: Trilhos GPS
intro_text: O OpenStreetMap é um mapa do mundo, criado por pessoas como você e
de uso livre sob uma licença aberta.
intro_2_create_account: Crie uma conta de utilizador
- partners_html: O alojamento é suportado por %{ucl}, %{bytemark}, %{ic}, e outros
+ hosting_partners_html: O alojamento é suportado por %{ucl}, %{bytemark} e outros
%{partners}.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: parceiros
osm_offline: A base de dados do OpenStreetMap não está disponível neste momento
BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a> e Land Tirol (sob a licença <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT com emendas</a>).'
+ contributors_au_html: '<strong>Austrália</strong>: Contém dados de periferias
+ provenientes de dados do Australian Bureau of Statistics.'
contributors_ca_html: '<strong>Canadá</strong>: Contém dados de GeoBase®,
GeoGratis (© Department of Natural Resources Canada), CanVec (©
Department of Natural Resources Canada), e StatCan (Geography Division,
trace_uploaded: O seu ficheiro GPX (GPS) foi enviado e está a aguardar a inclusão
na base de dados. Normalmente este processo dura cerca de uma hora. Quando
for incluído na base de dados será enviado um email a informá-lo.
+ upload_failed: Desculpe, o envio do GPX falhou. Foi enviado um alerta a um administrador
+ sobre o erro. Por favor tente novamente
traces_waiting:
one: Tem %{count} trilho GPS na fila para ser colocado na base de dados do
OpenStreetMap. Por favor, antes de enviar mais trilhos aguarde um pouco
save_button: Gravar Alterações
visibility: 'Visibilidade:'
visibility_help: o que significa isto?
+ update:
+ updated: Trilho atualizado
trace_optionals:
tags: Etiquetas
show:
require_cookies:
cookies_needed: Parece que tem os "cookies" desativados - por favor ative-os
no seu navegador de Internet antes de continuar.
+ require_admin:
+ not_an_admin: Tem de ser um administrador para realizar essa ação.
require_moderator:
not_a_moderator: Tem de ser um moderador para poder fazer essa ação.
+ require_moderator_or_admin:
+ not_a_moderator_or_admin: Tem de ser um moderador ou um administrador para realizar
+ essa ação
setup_user_auth:
blocked_zero_hour: Tem uma mensagem urgente no site do OpenStreetMap. Tem de
ler a mensagem antes de poder gravar as suas edições.
flash: A atualização da informação do programa foi feita com sucesso
destroy:
flash: O registo do programa foi eliminado
- user:
+ users:
login:
title: Entrar
heading: Iniciar sessão
email or username: 'E-mail ou Utilizador:'
password: 'Palavra-passe:'
openid: '%{logo} OpenID:'
- remember: 'Lembrar-me:'
+ remember: Permanecer autenticado entre sessões
lost password link: Perdeu a sua palavra-passe?
login_button: Entrar
register now: Criar conta agora
terms accepted: Obrigado por aceitar os novos termos de colaborador!
terms declined: Lamentamos não ter aceitado os novos Termos de Colaborador.
Para obter mais informações consulte <a href="%{url}">esta página wiki</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: Termos de colaborador
heading: Termos de colaborador
consider_pd: para além do acordo exposto acima, considero que as minhas contribuições
se encontram em Domínio Público.
consider_pd_why: O que é isto?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Informação para ajudar a compreender os termos: um <a href="%{summary}">resumo
inteligível</a> e algumas <a href="%{translations}">traduções informais</a>'
agree: Aceitar
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Rejeitar
you need to accept or decline: Por favor leia e depois aceite ou recuse os novos
Termos de Colaborador para continuar.
os Termos de Colaborador.
agreed_with_pd: Também declarou que as suas edições são disponibilizadas em
Domínio Público.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: o que é isto?
profile description: 'Descrição do perfil:'
preferred languages: 'Línguas preferidas:'
image: 'Imagem:'
gravatar:
gravatar: Usar imagem do site Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: o que é isto?
disabled: O Gravatar foi desativado.
enabled: A visualização do seu avatar de Gravatar foi ativada.
form:
name: Nume
required: Necesar
- user:
+ users:
login:
email or username: 'Adresa de e-mail sau numele de utilizator:'
password: 'Parolă:'
# Author: Helpau
# Author: Ignatus
# Author: Iluvatar
+# Author: Infovarius
# Author: Irus
# Author: Kaganer
# Author: Komzpa
intro_text: OpenStreetMap является картой мира, созданной такими же людьми, как
и вы, и может свободно использоваться под открытой лицензией.
intro_2_create_account: Создайте учётную запись
- partners_html: Хостинг поддерживается %{ucl}, %{bytemark} и %{ic}, а также другими
- %{partners}.
+ hosting_partners_html: Хостинг поддерживается %{ucl}, %{bytemark} и другими %{partners}.
partners_ucl: UCL
- partners_ic: Имперским колледжем Лондона
partners_bytemark: Bytemark Hosting
partners_partners: партнёрами
osm_offline: База данных OpenStreetMap в данный момент не доступна, так как проводится
contributors_at_html: |-
<strong>Австрия.</strong> Данные <a href="https://data.wien.gv.at/">города Вена</a> (на условиях <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>), а также земель <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Форарльберга</a> и
Тироля (на условиях <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT с дополнениями</a>).
+ contributors_au_html: <strong>Австралия.</strong> Данные пригородов от Австралийского
+ бюро статистики.
contributors_ca_html: <strong>Канада.</strong> Данные от GeoBase ®, GeoGratis
(© Департамент природных ресурсов Канады), CanVec (© Департамент природных
ресурсов Канады) и StatCan (Отдел Географии, Статистическое ведомство Канады).
flash: Клиентская информация успешно обновлена
destroy:
flash: Уничтожена регистрация клиентского приложения
- user:
+ users:
login:
title: Представьтесь
heading: Представьтесь
terms accepted: Спасибо за принятие новых условий участия!
terms declined: Нам жаль, что вы решили не принимать новые условия участия.
Дополнительную информацию можно найти <a href="%{url}">на следующей странице</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=ru
terms:
title: Условия сотрудничества
heading: Условия сотрудничества
consider_pd: В дополнение к вышеизложенному соглашению, я принимаю во внимание,
что мой вклад находится в общественном достоянии
consider_pd_why: что это значит?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain?uselang=ru
guidance: 'Информация, которая поможет понять эти условия: <a href="%{summary}">краткое
описание</a> и несколько <a href="%{translations}">неофициальных переводов</a>'
agree: Принять
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=ru
decline: Отклонить
you need to accept or decline: Пожалуйста, прочитайте, а затем согласитесь или
отклоните новые Условия участия.
image: 'Изображение:'
gravatar:
gravatar: Использовать Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar?uselang=ru
link text: что это?
disabled: Gravatar отключён.
enabled: Отображение вашего Gravatar включено.
intro_text: OpenStreetMap è na cartina dû munnu, criata di genti comu a tìa e
lìbbira a adupirari secunnu na licenza graputa.
intro_2_create_account: Crea un cuntu d'utenti
- partners_html: L'hosting veni sustinutu di %{ucl}, %{ic} e %{bytemark}, e àutri
- %{partners}.
partners_ucl: the UCL VR Centre
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: cullabburatura
osm_offline: La basi di dati d'OpenStreetMap comu a ora nun è n lìnia pirchì si
flash: Li nfurmazzioni dû clienti foru aggiurnati boni
destroy:
flash: Fu distruiuta la riggistrazzioni di l'applicazzioni clienti
- user:
+ users:
login:
title: Trasi
heading: Trasi
intro_text: OpenStreetMap is a cairt o the warld, creatit bi fowk lik ye an free
tae uise unner an open license.
intro_2_create_account: Create a uiser accoont
- partners_html: Hostin is supportit bi %{ucl}, %{ic} an %{bytemark}, an ither %{partners}.
partners_ucl: the UCL VR Centre
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: pairtners
osm_offline: The OpenStreetMap database is currently offline while essential database
traces:
create:
upload_trace: Uplaid GPS Trace
- user:
+ users:
login:
auth_providers:
google:
intro_text: OpenStreetMap je mapa sveta, vytvorené ľuďmi ako vy, voľne využiteľná
pod slobodnou licenciou.
intro_2_create_account: Založte si konto
- partners_html: Prevádzku podporujú %{ucl}, %{ic}, %{bytemark} a iní %{partners}.
partners_ucl: VR centrum UCL
- partners_ic: Imperial College v Londýne
partners_bytemark: Bytemark Hosting
partners_partners: partneri
osm_offline: OpenStreetMap databáza je teraz offline, zatiaľ čo potrebná údržba
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">krajiny Vorarlberg</a> a
krajiny Tirol (pod licenciou <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT s úpravami</a>).
+ contributors_au_html: '<strong>Austrália</strong>: Obsahuje dáta predmestí
+ založené na dátach Austrálskeho štatistického úradu.'
contributors_ca_html: '<strong>Kanada</strong>: Obsahuje dáta z GeoBase ®,
GeoGratis (© Department of Natural Resources Canada), CanVec (© Department
of Natural Resources Canada) a StatCan (Geography Division, Statistics Canada).'
flash: Úspešne aktualizované informácie o klientovi
destroy:
flash: Registrácia klientskej aplikácie bola zrušená
- user:
+ users:
login:
title: Prihlásiť sa
heading: Prihlásenie
browse:
created: Ustvarjeno
closed: Zaprto
- created_html: Ustvarjeno <abbr title='%{title}'>%{time} nazas</abbr>
+ created_html: Ustvarjeno <abbr title='%{title}'>%{time} nazaj</abbr>
closed_html: Zaprto <abbr title='%{title}'>%{time} nazaj</abbr>
created_by_html: Ustvaril %{user} <abbr title='%{title}'>%{time} nazaj</abbr>
deleted_by_html: Izbrisal %{user} <abbr title='%{title}'>%{time} nazaj</abbr>
intro_text: OpenStreetMap je zemljevid sveta, ki ga ustvarjajo ljudje kot ste
vi, brezplačen za uporabo z odprto licenco.
intro_2_create_account: Ustvarite uporabniški račun
- partners_html: Gostovanje podpira %{ucl}, %{bytemark} in %{ic}, ter ostali %{partners}.
partners_ucl: UCL
- partners_ic: Imperial College v Londonu
partners_bytemark: Bytemark Hosting
partners_partners: partnerji
osm_offline: Baza OpenStreetMap zaradi izvajanja nujnih vzdrževalnih del trenutno
flash: Informacije odjemalca uspešno posodobljene
destroy:
flash: Registracija odjemalske aplikacije uničena
- user:
+ users:
login:
title: Prijava
heading: Prijava
intro_text: OpenStreetMap është hartë e botës, e krijuar nga njerëz si ti dhe
për përdorim të lirshëm në kuadrin e një licence të hapur.
intro_2_create_account: Krijo një llogari përdoruesi
- partners_html: Hostingu mbështetet nga %{ucl}, %{ic} dhe %{bytemark}, dhe të tjerë
- %{partners}.
partners_partners: partnerët
help: Ndihmë
about: Rreth
por kur përfshihen në OSM, hartat nga një agjencion nacional i hartave \n
\ apo faktor tjerë madhor burimor, është e arsyeshme të citohen drejtpërsëdrejti
\n duke paraqitur emrin apo duke lidhur faqen e tyre me link."
+ contributors_au_html: '<strong>Australia</strong>: Përmban të dhëna periferike
+ të bazuara në të dhënat e Zyrës Australiane të Statistikave.'
contributors_ca_html: |-
<strong>Canada</strong>: Përmban të dhëna nga
GeoBase®, GeoGratis (© Department of Natural
confirm: A je i sigurt?
form:
name: Emri
- user:
+ users:
login:
title: Identifikohu
heading: Identifikohu
edit_with: Uredi uređivačem %{editor}
tag_line: Slobodna viki mapa sveta
intro_2_create_account: Otvorite nalog
- partners_html: Hosting podržava %{ucl}, %{ic} i %{bytemark}, kao i drugi %{partners}.
partners_ucl: VR centar UCL-a
- partners_ic: Londonski kraljevski koledž
partners_bytemark: Hosting „Bajtmark“
partners_partners: partneri
osm_offline: Baza podataka Openstritmapa je trenutno nedostupna dok se ne završe
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Forarlberg</a> i
Land Tirol (pod licencom <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT sa izmenama i dopunama</a>).
+ contributors_au_html: |-
+ <strong>Australija</strong>: sadrži podatke o opštinama
+ na osnovu podataka Australijskog biroa za statistiku.
contributors_ca_html: |-
<strong>Kanada</strong>: sadrži podatke iz
Beobaze®, Geogratisa (© Odeljenje za prirodne
flash: Podaci o klijentu su uspešno ažurirani
destroy:
flash: Upis programa je ukinut
- user:
+ users:
login:
title: Prijava
heading: Prijava
friendly: '%e %B %Y у %H:%M'
activerecord:
models:
- acl: СпиÑ\81ак огÑ\80аниÑ\87еÑ\9aа приступа
+ acl: Ð\9bиÑ\81Ñ\82а конÑ\82Ñ\80оле приступа
changeset: Скуп измена
changeset_tag: Ознака скупа измена
country: Земља
intro_text: OpenStreetMap је мапа света коју су направили људи попут вас. Слободна
је за коришћење под отвореном лиценцом.
intro_2_create_account: Отворите кориснички налог
- partners_html: Хостинг омогућују %{ucl}, %{bytemark}, %{ic}, као и други %{partners}.
partners_ucl: UCL
- partners_ic: Краљевски колеџ у Лондону
partners_bytemark: хостинг Bytemark
partners_partners: партнери
osm_offline: База OpenStreetMap-а је тренутно недоступна док се не заврше неопходни
attribution_example:
alt: Пример како да наведете Опенстритмап на некој страници
title: Пример за навођење
- more_title_html: СазнаÑ\98 виÑ\88е
+ more_title_html: Ð\92иÑ\88е о
more_1_html: |-
Више о употреби података и како да нас наводите можете наћи на <a
href="http://osmfoundation.org/Licence">страници лиценце OSMF</a> и у <a
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Ланд Форарлберг</a> и
Ланд Тирол (под лиценцом <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT са изменама и допунама</a>).
+ contributors_au_html: |-
+ <strong>Аустралија</strong>: садржи податке о општинама
+ на основу података Аустралијског бироа за статистику.
contributors_ca_html: |-
<strong>Канада</strong>: садржи податке из
Беобазе®, Геогратиса (© Одељење за природне
headings: Наслови
heading: Наслов
subheading: Поднаслов
- unordered: Ð\9dеÑ\81вÑ\80Ñ\81Ñ\82ан Ñ\81пиÑ\81ак
- ordered: СвÑ\80Ñ\81Ñ\82ан Ñ\81пиÑ\81ак
+ unordered: Ð\9dеÑ\83Ñ\80еÑ\92ена лиÑ\81Ñ\82а
+ ordered: УÑ\80еÑ\92ена лиÑ\81Ñ\82а
first: Прва ставка
second: Друга ставка
link: Веза
flash: Подаци о клијенту су успешно ажурирани
destroy:
flash: Уништена је регистрација клијентског програма
- user:
+ users:
login:
title: Пријава
heading: Пријава
success: Блокада је ажурирана.
index:
title: Корисничке блокаде
- heading: СпиÑ\81ак корисничких блокада
+ heading: Ð\9bиÑ\81Ñ\82а корисничких блокада
empty: Није направљена ниједна блокада.
revoke:
title: Опозивање блокаде на %{block_on}
time_past: Завршено пре %{time}.
blocks_on:
title: Блокаде за %{name}
- heading: СпиÑ\81ак блокада за %{name}
+ heading: Ð\9bиÑ\81Ñ\82а блокада за %{name}
empty: '%{name} још није био блокиран/а.'
blocks_by:
title: Блокаде од %{name}
- heading: СпиÑ\81ак блокада од %{name}
+ heading: Ð\9bиÑ\81Ñ\82а блокада од %{name}
empty: '%{name} још увек није блокирао никога.'
show:
title: '%{block_on} је блокиран/а од %{block_by}'
title: Уређивање редакције
index:
empty: Нема редакција.
- heading: СпиÑ\81ак редакција
- title: СпиÑ\81ак редакција
+ heading: Ð\9bиÑ\81Ñ\82а редакција
+ title: Ð\9bиÑ\81Ñ\82а редакција
new:
description: Опис
heading: Унесите податке за нову редакцију
intro_text: OpenStreetMap är en karta över världen, skapad av människor som du
och fri att använda under en öppen licens.
intro_2_create_account: Skapa ett användarkonto
- partners_html: Drivs via %{ucl}, %{ic}, %{bytemark}, %{ic} och andra %{partners}.
+ hosting_partners_html: Drivs via %{ucl}, %{bytemark} och andra %{partners}.
partners_ucl: University College London
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: partners
osm_offline: OpenStreetMap-databasen är inte tillgänglig just nu, då nödvändigt
<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> och
Land Tirol (under licensen <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT med tillägg</a>).
+ contributors_au_html: |-
+ <strong>Australia</strong>: Innehåller förortsdata baserad
+ på data från Australian Bureau of Statistics.
contributors_ca_html: |-
<strong>Kanada</strong>: Innehåller data från
GeoBase®, GeoGratis (© Department of Natural
flash: Uppdaterade klientinformationen framgångsrikt
destroy:
flash: Annullerade registreringen av klientprogrammet
- user:
+ users:
login:
title: Logga in
heading: Logga in
kartan!
terms declined: Vi beklagar att du bestämt dig för att inte acceptera de nya
användarvillkoren. För mer information, se <a href="%{url}">denna wikisida</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: Villkor för deltagare
heading: Villkor för deltagare
consider_pd: Utöver ovan nämnda avtal, anser jag att mina bidrag är inom Public
Domain.
consider_pd_why: vad är det här?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Information som hjälper dig förstå dessa termer: en <a href="%{summary}">lättläst
sammanfattning</a> och några <a href="%{translations}">informella översättningar</a>'
agree: Jag godkänner
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Avslå
you need to accept or decline: Läs igenom och Godkänn eller Avböj de nya bidragsvillkoren
för att fortsätta.
de nya bidragsvillkoren.
agreed_with_pd: Du har också förklarat att du anser att dina redigeringar
är inom Public Domain.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: vad är detta?
profile description: 'Profilbeskrivning:'
preferred languages: 'Föredraget språk:'
image: 'Bild:'
gravatar:
gravatar: Använd Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: vad är detta?
disabled: Gravatar har inaktiverats.
enabled: Din Gravatar har aktiverats.
description: விளக்கம்
changeset:
changeset_paging_nav:
+ showing_page: பக்கம் %{page}
next: அடுத்து »
previous: « முந்தைய
changeset:
diary_comment:
hide_link: இக் கருத்துரையை மறை
confirm: உறுதிசெய்
+ report: இந்தப் பின்னூட்டத்தை முறையிடுக
location:
location: 'இடம்:'
view: காண்
form:
name: பெயர்
required: தேவைப்படும்
- user:
+ users:
login:
title: புகுபதிகை
heading: புகுபதிகை
form:
name: పేరు
required: తప్పనిసరి
- user:
+ users:
login:
title: ప్రవేశం
heading: ప్రవేశం
tag: หน้าคำอธิบายวิกิาสำหรับป้ายระบุ %{key}=%{value}
wikidata_link: รายการ %{page} ที่วิกิสนเทศ
wikipedia_link: บทความ %{page} ที่วิกิพีเดีย
- telephone_link: à¹\82à¸\97รศัà¸\9eà¸\97à¹\8cà¹\84à¸\9bà¹\80ลà¸\82หมาย %{phone_number}
+ telephone_link: à¹\82à¸\97รศัà¸\9eà¸\97à¹\8cà¹\84à¸\9bà¸\97ีà¹\88หมายà¹\80ลà¸\82 %{phone_number}
note:
title: 'หมายเหตุ: %{id}'
new_note: หมายเหตุใหม่
social_facility: สโมสรพบปะ
studio: สถานที่บันทึกภาพและเสียง
swimming_pool: สระว่ายน้ำ
- taxi: รà¸\96แท็กซี่
+ taxi: à¸\88ุà¸\94à¸\88à¸à¸\94แท็กซี่
telephone: โทรศัพท์สาธารณะ
theatre: โรงละคร
toilets: ห้องน้ำสาธารณะ
deli: ร้านขายอาหารพิเศษ
department_store: ห้างสรรพสินค้า
discount: ร้านสินค้าลดราคา
- doityourself: à¸\97ำà¸\94à¹\89วยà¸\95ัวà¸\97à¹\88าà¸\99à¹\80à¸à¸\87
+ doityourself: รà¹\89าà¸\99à¸à¸¸à¸\9bà¸\81รà¸\93à¹\8cà¸\8aà¹\88าà¸\87à¸\9bระà¸\88ำà¸\9aà¹\89าà¸\99
dry_cleaning: ร้านซักแห้ง
electronics: ร้านเครื่องไฟฟ้า
estate_agent: บริษัทอสังหาริมทรัพย์
created_at: เมื่อ %{datetime}
reports:
new:
+ title_html: แจ้งปัญหาเกี่ยวกับ %{link}
+ select: 'เลือกประเภทของปัญหาที่ประสงค์จะแจ้ง:'
+ disclaimer:
+ intro: 'ก่อนที่จะแจ้งปัญหาไปยังผู้ดูแล ขอให้ดูจนแน่ใจก่อนว่า:'
+ not_just_mistake: ปัญหานี้ไม่ได้เกิดจากเพียงความพลั้งเผลอ
+ unable_to_fix: คุณและผู้ใช้คนอื่นไม่สามารถเข้าไปแก้ปัญหานี้ด้วยตัวเอง
+ resolve_with_user: คุณได้พยายามพูดคุยแก้ไขปัญหากับผู้ใช้คนดังกล่าวแล้ว
categories:
diary_entry:
threat_label: บันทึกนี้มีใจความข่มขู่คุกคาม
abusive_label: หมายเหตุนี้ใช้ถ้อยคำหยาบคายหรือส่งเสริมความรุนแรง
other_label: อื่นๆ
create:
+ successful_report: ทำการแจ้งปัญหาเสร็จสิ้นเรียบร้อย
provide_details: กรุณาระบุรายละเอียด
layouts:
logo:
intro_header: ยินดีต้อนรับสู่ OpenStreetMap!
intro_text: OpenStreetMap เป็นแผนที่โลกที่สร้างโดยผู้คนเช่นท่าน และใช้งานได้ไม่เสียค่าใช้จ่ายภายใต้สัญญาอนุญาตแบบเปิด
intro_2_create_account: สร้างบัญชีผู้ใช้ใหม่
- partners_html: เซิร์ฟเวอร์สนับสนุนโดย %{ucl}, %{bytemark}, %{ic}, และ%{partners}อื่น
- ๆ
partners_ucl: ยูซีแอล (วิทยาลัยอุดมศึกษาลอนดอน)
- partners_ic: วิทยาลัยอิมพีเรียลลอนดอน
partners_bytemark: ไบต์มาร์กโฮสติง
partners_partners: องค์กรพันธมิตร
osm_offline: ฐานข้อมูลของ OpenStreetMap กำลังออฟไลน์เพื่อให้สามารถดำเนินการบำรุงรักษาตามปกติได้
infringement_2_html: |-
หากท่านเชื่อว่าข้อมูลละเมิดลิขสิทธิ์ปรากฏในเว็บไซต์นี้หรือในฐานข้อมูล OpenStreetMap โปรดดู <a href="https://www.osmfoundation.org/wiki/License/Takedown_procedure">ขั้นตอนการลบข้อมูลละเมิดลิขสิทธิ์</a> หรือแจ้งได้ที่
<a href="http://dmca.openstreetmap.org/">หน้ารับแจ้งการละเมิดข้อมูลลิขสิทธิ์</a>
- trademarks_title_html: <span id="trademarks"></span>เครืองหมายการค้า
+ trademarks_title_html: <span id="trademarks"></span>เครื่องหมายการค้า
+ trademarks_1_html: OpenStreetMap, State of the Map, และตราสัญลักษณ์แว่นขยาย
+ เป็นเครื่องหมายการค้าจดทะเบียนของมูลนิธิ OpenStreetMap, หากคุณมีข้อสงสัยเกี่ยวกับการใช้ชื่อและตราสัญลักษณ์ของเรา
+ สามารถตรวจสอบรายละเอียดได้ที่หน้า<a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">นโยบายเครื่องหมายการค้า</a>
index:
js_1: ท่านกำลังใช้เบราว์เซอร์ที่ไม่รองรับจาวาสคริปต์ หรือท่านปิดใช้งานจาวาสคริปต์
js_2: OpenStreetMap ใช้จาวาสคริปต์ในการแสดงแผนที่
upload_trace: อัปโหลดรอยทาง GPS
trace_uploaded: แฟ้มข้อมูล GPX ของท่านอัปโหลดเข้าระบบแล้ว กำลังรอบรรจุเข้าฐานข้อมูล
ซึ่งจะใช้เวลาประมาณครึ่งชั่วโมง เมื่อกระบวนการเรียบร้อยแล้วจะมีอีเมลแจ้งท่านให้ทราบ
+ traces_waiting: คุณมีรอยทาง %{count} ชุด ที่กำลังรออัพโหลด กรุณารอให้การอัพโหลดเหล่านี้เสร็จสิ้น
+ ก่อนที่จะเพิ่มรอยทางชุดต่อไป, เพื่อไม่ให้ผู้ใช้คนอื่นๆ จะต้องรอคิวนาน
edit:
filename: 'ชื่อแฟ้ม:'
download: ดาวน์โหลด
application:
require_cookies:
cookies_needed: ดูเหมือนว่าคุณปิดใช้งานคุกกี้อยู่, กรุณาเปิดใช้งานคุกกี้ในบราวเซอร์ของคุณก่อนจะดำเนินการต่อ
+ setup_user_auth:
+ blocked: คุณถูกระงับการเข้าถึง API, กรุณาเข้าระบบทางหน้าเว็บหลักหากต้องการทราบสาเหตุที่ถูกระงับในครั้งนี้
oauth:
authorize:
title: อนุญาตการเข้าถึงบัญชีของคุณ
flash: ปรับปรุงข้อมูลฝั่งผู้ใช้เรียบร้อยแล้ว
destroy:
flash: ถอนการลงทะเบียนแอปพลิเคชันฝั่งผู้ใช้แล้ว
- user:
+ users:
login:
title: ลงชื่อเข้าใช้
heading: ลงชื่อเข้าใช้
no account: ยังไม่ได้เป็นสมาชิก?
account not active: ขออภัย บัญชีของท่านยังไม่เปิดใช้งาน<br/>โปรดใช้ลิงก์ที่ให้ไว้ในอีเมลตอบรับเพื่อเปิดใช้งานบัญชี
หรือ<a href="%{reconfirm}">ขออีเมลตอบรับใหม่</a> หากสูญหาย
+ account is suspended: ขออภัย บัญชีของคุณถูกระงับการใช้งานเนื่องจากกิจกรรมที่น่าสงสัย<br/>หากต้องการพูดคุยในรายละเอียด
+ กรุณาติดต่อ<a href="%{webmaster}">ผู้ดูแลระบบ</a>
+ auth failure: ขออภัย ไม่สามารถเข้าระบบด้วยชื่อผู้ใช้และรหัสผ่านดังกล่าวได้
openid_logo_alt: เข้าใช้งานด้วย OpenID
auth_providers:
openid:
alt: เข้าใช้งานด้วยบัญชี GitHub
wikipedia:
title: เข้าใช้งานด้วยวิกิพีเดีย
+ alt: เข้าสู่ระบบด้วยบัญชีวิกิพีเดีย
yahoo:
title: เข้าใช้งานด้วย Yahoo
alt: เข้าใช้งานด้วย Yahoo OpenID
wordpress:
title: เข้าใช้งานด้วย Wordpress
+ alt: เข้าสู่ระบบด้วย Wordpress OpenID
aol:
title: เข้าใช้งานด้วย AOL
alt: เข้าใช้งานด้วย AOL OpenID
my settings: การตั้งค่าของฉัน
my comments: ความคิดเห็นของฉัน
oauth settings: ตั้งค่าการอนุญาต OAuth
- blocks on me: à¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\97ีà¹\88à¸\81ีà¸\94à¸\81ัà¸\99à¸\82à¹\89าà¸\9eà¹\80à¸\88à¹\89า
+ blocks on me: à¸\81ารà¸\96ูà¸\81ระà¸\87ัà¸\9aà¸\82à¸à¸\87à¸\89ัà¸\99
blocks by me: ผู้ใช้ที่ข้าพเจ้ากีดกัน
send message: ส่งข้อความ
diary: บันทึก
no nearby users: ไม่ได้มีผู้ใดแสดงตัวว่าทำแผนที่อยู่ใกล้เคียง
role:
administrator: คนนี้เป็นผู้ดูแลระบบ
+ moderator: ผู้ใช้นี้เป็นผู้ดูแล
+ block_history: การถูกระงับใช้งานในปัจจุบัน
comments: ความเห็นที่เขียน
- create_block: à¸\81ีà¸\94à¸\81ัà¸\99ผู้ใช้นี้
+ create_block: ระà¸\87ัà¸\9aผู้ใช้นี้
activate_user: เปิดใช้งานผู้ใช้นี้
deactivate_user: ปิดใช้งานผู้ใช้นี้
confirm: ยืนยัน
fail: ไม่สามารถถอดถอนสถานะ `%{role}' แก่ผู้ใช้ `%{name}' โปรดตรวจสอบว่าทั้งผู้ใช้และสถานะเป็นที่ถูกต้องดีแล้ว
user_blocks:
model:
- non_moderator_update: à¸\95à¹\89à¸à¸\87à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9aà¸\88ึà¸\87à¸\88ะสามารà¸\96สรà¹\89าà¸\87หรืà¸à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99ได้
+ non_moderator_update: à¸\88ะà¸\95à¹\89à¸à¸\87à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9aà¸\88ึà¸\87à¸\88ะสามารà¸\96ระà¸\87ัà¸\9a หรืà¸à¹\81à¸\81à¹\89à¹\84à¸\82à¸\81ารระà¸\87ัà¸\9aà¸\9cูà¹\89à¹\83à¸\8aà¹\89ได้
non_moderator_revoke: ต้องเป็นผู้ดูแลระบบจึงจะสามารถเพิกถอนการกีดกันได้
not_found:
- sorry: à¸\82à¸à¸à¸ ัย à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99à¸\9cูà¹\89à¹\83à¸\8aà¹\89รหัส %{id} à¹\84มà¹\88à¸\9eà¸\9a
+ sorry: à¸\82à¸à¸à¸ ัย à¹\84มà¹\88à¸\9eà¸\9aà¸\81ารระà¸\87ัà¸\9aà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\95ามหมายà¹\80ลà¸\82à¸à¹\89าà¸\87à¸à¸´à¸\87 %{id} à¸\97ีà¹\88ระà¸\9aุมา
back: กลับไปที่ดัชนี
new:
- title: สรà¹\89าà¸\87à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99à¸\9aà¸\99 %{name}
+ title: ระà¸\87ัà¸\9aà¸\9cูà¹\89à¹\83à¸\8aà¹\89 %{name}
heading: สร้างการกีดกันบน %{name}
- reason: à¹\80หà¸\95ุà¸\9cลà¸\97ีà¹\88à¸\9cูà¹\89à¹\83à¸\8aà¹\89 %{name} à¸\96ูà¸\81à¸\81ีà¸\94à¸\81ัà¸\99 à¹\82à¸\9bรà¸\94à¸à¸¢à¹\88าà¹\83à¸\8aà¹\89à¸à¸²à¸£à¸¡à¸\93à¹\8cรุà¸\99à¹\81รà¸\87à¹\83à¸\99ระหวà¹\88าà¸\87ระà¸\9aุ
- à¹\81ละà¸\82à¸à¹\83หà¹\89ระà¸\9aุรายละà¹\80à¸à¸µà¸¢à¸\94à¹\80à¸\81ีà¹\88ยวà¸\81ัà¸\9aสà¸\96าà¸\99à¸\81ารà¸\93à¹\8cà¸\97ีà¹\88à¸\9eà¸\9aà¹\83หà¹\89ละà¹\80à¸à¸µà¸¢à¸\94à¸\8aัà¸\94à¹\80à¸\88à¸\99 à¸\88ำà¹\84วà¹\89วà¹\88าà¸\82à¹\89à¸à¸\84วามà¸\97ีà¹\88à¸\97à¹\88าà¸\99à¸\9eิมà¸\9eà¹\8cà¸\88ะà¸\9bราà¸\81à¸\8fà¸\95à¹\88à¸à¸ªà¸²à¸\98ารà¸\93ะ
- à¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\97ุà¸\81à¸\97à¹\88าà¸\99à¹\84มà¹\88à¸\88ำà¸\95à¹\89à¸à¸\87à¹\80à¸\82à¹\89าà¹\83à¸\88à¸\96ึà¸\87ศัà¸\9eà¸\97à¹\8cà¹\80à¸\89à¸\9eาะ à¸\88ึà¸\87à¸\82à¸à¹\81à¸\99ะà¸\99ำà¹\83หà¹\89à¹\83à¸\8aà¹\89ศัà¸\9eà¸\97à¹\8cà¸à¸¢à¹\88าà¸\87à¸\87à¹\88าย
- period: à¸\95à¹\89à¸à¸\87à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99à¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\84à¸\99à¸\99ีà¹\89à¸\88าà¸\81 API à¸\99ัà¸\9aà¹\81à¸\95à¹\88à¸\9aัà¸\94à¸\99ีà¹\89 à¸\99าà¸\99à¹\80à¸\97à¹\88าà¹\83à¸\94
+ reason: à¹\80หà¸\95ุà¸\9cลà¸\97ีà¹\88à¸\9cูà¹\89à¹\83à¸\8aà¹\89 %{name} à¸\96ูà¸\81ระà¸\87ัà¸\9a, à¹\82à¸\9bรà¸\94à¸à¸¢à¹\88าà¹\80à¸\82ียà¸\99à¸\94à¹\89วยà¸à¸²à¸£à¸¡à¸\93à¹\8cรุà¸\99à¹\81รà¸\87 à¹\82à¸\94ยà¸\82à¸à¹\83หà¹\89ระà¸\9aุรายละà¹\80à¸à¸µà¸¢à¸\94à¹\80à¸\81ีà¹\88ยวà¸\81ัà¸\9aสà¸\96าà¸\99à¸\81ารà¸\93à¹\8cà¸\97ีà¹\88à¸\9eà¸\9aà¹\83หà¹\89ละà¹\80à¸à¸µà¸¢à¸\94à¸\8aัà¸\94à¹\80à¸\88à¸\99,
+ à¸\84วรà¹\83à¸\8aà¹\89à¸\84ำà¸à¸\98ิà¸\9aายà¸\97ีà¹\88à¹\80à¸\82à¹\89าà¹\83à¸\88à¸\87à¹\88ายà¹\80à¸\9bà¹\87à¸\99หลัà¸\81 à¹\80à¸\9eราะà¹\84มà¹\88à¹\83à¸\8aà¹\88วà¹\88าà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\97ุà¸\81à¸\84à¸\99à¸\88ะà¹\80à¸\82à¹\89าà¹\83à¸\88ศัà¸\9eà¸\97à¹\8cà¹\80à¸\89à¸\9eาะ,
+ à¹\81ละà¸\95à¹\89à¸à¸\87à¸à¸¢à¹\88าลืม วà¹\88าสิà¹\88à¸\87à¸\97ีà¹\88à¸\84ุà¸\93à¹\80à¸\82ียà¸\99à¸\99ีà¹\89à¸\88ะà¹\81สà¸\94à¸\87à¸\95à¹\88à¸à¸ªà¸²à¸\98ารà¸\93ะà¸\94à¹\89วย
+ period: ระà¸\87ัà¸\9aà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\84à¸\99à¸\99ีà¹\89à¸\88าà¸\81à¸\81ารà¹\80à¸\82à¹\89าà¸\96ึà¸\87 API, à¸\99าà¸\99à¹\80à¸\97à¹\88าà¹\83à¸\94 à¹\82à¸\94ยà¹\80ริà¹\88มà¸\99ัà¸\9aà¸\88าà¸\81à¸\9bัà¸\88à¸\88ุà¸\9aัà¸\99
submit: สร้างการกีดกัน
tried_contacting: ข้าพเจ้าติดต่อผู้ใช้คนนี้และขอร้องให้เขาหยุดการกระทำ
tried_waiting: ข้าพเจ้าได้ให้เวลานานสมควรแก่ผู้ใช้คนนี้ในการตอบคำถามกลับ
- needs_view: ผู้ใช้ต้องเข้าระบบก่อนการกีดกันนี้จะถูกเพิกถอน
+ needs_view: ผู้ใช้ต้องเข้าระบบก่อน การระงับนี้จึงจะถูกเพิกถอน
back: แสดงการกีดกันทั้งหมด
edit:
- title: à¹\81à¸\81à¹\89à¹\84à¸\82à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99à¸\9aà¸\99 %{name}
+ title: à¹\81à¸\81à¹\89à¹\84à¸\82à¸\81ารระà¸\87ัà¸\9aà¸\9cูà¹\89à¹\83à¸\8aà¹\89 %{name}
heading: แก้ไขการกีดกันบน %{name}
- reason: เหตุผลที่ผู้ใช้ %{name} ถูกกีดกัน โปรดอย่าใช้อารมณ์รุนแรงในระหว่างระบุ
- และขอให้ระบุรายละเอียดเกี่ยวกับสถานการณ์ที่พบให้ละเอียดชัดเจน จำไว้ว่าข้อความที่ท่านพิมพ์จะปรากฏต่อสาธารณะ
- ผู้ใช้ทุกท่านไม่จำต้องเข้าใจถึงศัพท์เฉพาะ จึงขอแนะนำให้ใช้ศัพท์อย่างง่าย
- period: ต้องการกีดกันผู้ใช้คนนี้จาก API นับแต่บัดนี้ นานเท่าใด
+ reason: เหตุผลที่ผู้ใช้ %{name} ถูกระงับ, โปรดอย่าเขียนด้วยอารมณ์รุนแรง โดยขอให้ระบุรายละเอียดเกี่ยวกับสถานการณ์ที่พบให้ละเอียดชัดเจน
+ และควรใช้คำอธิบายที่เข้าใจง่ายเป็นหลัก เพราะไม่ใช่ว่าผู้ใช้ทุกคนจะเข้าใจศัพท์เฉพาะ
+ period: ระงับผู้ใช้คนนี้จากการเข้าถึง API, นานเท่าใด โดยเริ่มนับจากปัจจุบัน
submit: ปรับปรุงการกีดกัน
- show: à¸\94ูà¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99นี้
+ show: à¸\94ูรายละà¹\80à¸à¸µà¸¢à¸\94à¸\81ารระà¸\87ัà¸\9aนี้
back: แสดงการกีดกันทั้งหมด
- needs_view: à¸\95à¹\89à¸à¸\87à¸\81ารà¹\83หà¹\89à¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\84à¸\99à¸\99ีà¹\89à¹\80à¸\82à¹\89าระà¸\9aà¸\9aà¸\81à¹\88à¸à¸\99à¹\80à¸\9eิà¸\81à¸\96à¸à¸\99à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99หรือไม่?
+ needs_view: à¸\95à¹\89à¸à¸\87à¸\81ารà¹\83หà¹\89à¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\84à¸\99à¸\99ีà¹\89à¹\80à¸\82à¹\89าระà¸\9aà¸\9aà¸\81à¹\88à¸à¸\99à¹\80à¸\9eิà¸\81à¸\96à¸à¸\99à¸\81ารระà¸\87ัà¸\9aหรือไม่?
filter:
block_expired: การกีดกันนี้สิ้นผลแล้วแก้ไขไม่ได้
- block_period: ระยะà¹\80วลาà¸\97ีà¹\88à¸\81ีà¸\94à¸\81ัà¸\99à¸\95à¹\89à¸à¸\87à¹\80à¸\9bà¹\87à¸\99à¹\84à¸\9bà¸\95ามรายà¸\81ารà¹\80ลืà¸à¸\81à¹\83à¸\99à¸\81ลà¹\88à¸à¸\87à¸\95ัวà¹\80ลืà¸à¸\81à¹\80à¸\97à¹\88าà¸\99ัà¹\89à¸\99
+ block_period: à¸\94ูระยะà¹\80วลาà¸\97ีà¹\88ระà¸\87ัà¸\9a à¹\83หà¹\89à¹\80à¸\9bà¹\87à¸\99หà¸\99ึà¹\88à¸\87à¹\83à¸\99à¸\84à¹\88าà¸\97ีà¹\88à¹\80ลืà¸à¸\81à¹\84วà¹\89à¸\88าà¸\81รายà¸\81ารà¸\99ีà¹\89
create:
- try_contacting: กรุณาติดต่อผู้ใช้ก่อนที่จะกีดกันเขาออกจากระบบ และเผื่อเวลาระยะหนึ่งให้ตอบกลับ
+ try_contacting: กรุณาติดต่อผู้ใช้คนนั้นก่อนที่จะตัดสินใจสั่งระงับใช้งาน และอย่าลืมเผื่อเวลาระยะหนึ่งให้ตอบกลับ
+ try_waiting: กรุณาให้เวลากับผู้ใช้ในการตอบคำถาม ก่อนที่ตัดสินเรื่องการสั่งระงับใช้งาน
update:
+ only_creator_can_edit: การระงับนี้สามารถแก้ไขได้ โดยผู้ดูแลที่เป็นผู้สั่งระงับเองเท่านั้น
success: ปรับปรุงการกีดกันแล้ว
index:
- title: à¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99ผู้ใช้
- heading: รายà¸\81ารà¸\81ารà¸\81ีà¸\94à¸\81ัà¸\99ผู้ใช้
+ title: à¸\81ารระà¸\87ัà¸\9aผู้ใช้
+ heading: รายà¸\81ารà¸\81ารระà¸\87ัà¸\9aผู้ใช้
empty: ยังไม่มีการกีดกันใด ๆ
revoke:
- past: การบล็อกนี้ได้สิ้นสุดไปเมื่อ %{time}ก่อนแล้ว การยกเลิกจึงไม่มีผล
- flash: ได้ยกเลิกการบล็อกนี้แล้ว
+ title: ยกเลิกการระงับใช้งานของ %{block_on}
+ heading: เพิกถอนการระงับผู้ใช้ %{block_on} ซึ่งสั่งโดยผู้ใช้ %{block_by}
+ past: การระงับนี้ได้สิ้นสุดไปเมื่อ %{time}ก่อนแล้ว การยกเลิกจึงไม่มีผล
+ confirm: แน่ใจหรือว่าต้องการจะยกเิลิกการระงับนี้?
+ flash: ได้ยกเลิกการระงับนี้แล้ว
helper:
time_future: จะสิ้นสุดใน %{time}
+ until_login: มีผลจนถึงการเริ่มเข้าระบบครั้งถัดไป
time_past: สิ้นสุดไปเมื่อ %{time}ก่อน
blocks_on:
- title: การกีดกันบน %{name}
- heading: รายการการกีดกันบน %{name}
- empty: '%{name} ยังไม่ได้ถูกกีดกัน'
+ title: การถูกระงับใช้งานของ %{name}
+ heading: รายการการถูกระงับของผู้ใช้ %{name}
+ empty: '%{name} ยังไม่เคยถูกระงับใช้งาน'
+ blocks_by:
+ heading: แสดงการสั่งระงับใช้โดย %{name}
+ empty: '%{name} ไม่เคยได้สั่งระงับผู้ใช้คนใดเลย'
show:
+ heading: '%{block_on} โดนระงับโดย %{block_by}'
time_past: สิ้นสุดไปเมื่อ %{time}ก่อน
+ created: ระงับเมื่อ
ago: '%{time}ก่อน'
status: สถานะ
show: แสดง
edit: แก้ไข
+ reason: 'เหตุผลสำหรับการระงับใช้งาน:'
+ needs_view: ผู้ใช้ต้องเข้าระบบก่อน การระงับนี้จึงจะถูกเพิกถอน
block:
+ not_revoked: (ไม่ได้มีการยกเลิก)
show: แสดง
edit: แก้ไข
blocks:
+ display_name: ผู้ใช้ที่ถูกระงับ
+ creator_name: ผู้สั่งให้ระงับ
+ reason: เหตุผลที่ต้องระงับใช้งาน
status: สถานะ
+ revoker_name: ยกเลิกโดย
showing_page: หน้า %{page}
next: ถัดไป »
previous: « ก่อนหน้า
full: เนื้อความเต็มในหมายเหตุ
mine:
heading: หมายเหตุของ %{user}
+ creator: ผู้สร้าง
ago_html: '%{when}ก่อน'
javascripts:
close: ปิด
new:
add: เพิ่มหมายเหตุ
show:
+ anonymous_warning: หมายเหตุนี้มีข้อความจากผู้ที่ไม่ประสงค์จะออกนาม ซึ่งควรทำการตรวจสอบตามข้อมูลที่แจ้งมานี้ด้วยตัวคุณเองอีกครั้ง
+ ก่อนจะดำเนินการใดๆ ต่อ
hide: ซ่อน
resolve: ปิดเรื่อง
reactivate: รื้อฟื้นหมายเหตุ
directions: เส้นทาง
distance: ระยะทาง
errors:
+ no_route: ไม่พบเส้นทางระหว่างสองจุดที่คุณต้องการ
no_place: ขออภัย - ไม่พบสถานที่ "%{place}"
instructions:
continue_without_exit: เคลื่อนต่อไปทางถนน %{name}
+ slight_right_without_exit: เบนขวาไปที่ %{name}
offramp_right_with_name: ใช้ทางลาดด้านขวาไปที่ถนน %{name}
onramp_right_without_exit: เลี่ยวขวาที่ทางลาดไปที่ถนน %{name}
- endofroad_right_without_exit: à¹\80มืà¹\88à¸à¸\96ึà¸\87สุà¸\94à¸\96à¸\99à¸\99à¹\80ลีà¹\89ยวà¸\82วาà¹\84à¸\9bà¸\97ีà¹\88à¸\96à¸\99à¸\99 %{name}
+ endofroad_right_without_exit: à¹\80มืà¹\88à¸à¸\96ึà¸\87สุà¸\94à¸\96à¸\99à¸\99à¹\81ลà¹\89ว à¹\83หà¹\89à¹\80ลีà¹\89ยวà¸\82วาà¹\80à¸\82à¹\89า %{name}
merge_right_without_exit: เลี้ยวขวาเข้าสู่ถนน %{name} ซึ่งเป็นทางเอก
fork_right_without_exit: ที่ทางแยกเลี้ยวขวาไปที่ถนน %{name}
+ turn_right_without_exit: เลี้ยวขวาเข้า %{name}
sharp_right_without_exit: หักขวาเข้า %{name}
uturn_without_exit: วกกลับไปตามถนน %{name}
sharp_left_without_exit: หักซ้ายเข้า %{name}
turn_left_without_exit: เลี้ยวซ้ายไปที่ %{name}
offramp_left_with_name: ใช้ทางลาดด้านซ้ายไปที่ %{name}
onramp_left_without_exit: เลี้ยวซ้ายบนทางลาดไปที่ถนน %{name}
+ onramp_left_without_directions: เลี้ยวซ้ายขึ้นทางลาด
+ onramp_left: เลี้ยวซ้ายขึ้นทางลาด
endofroad_left_without_exit: เมื่อถึงสุดถนนเลี้ยวซ้ายไปที่ถนน %{name}
merge_left_without_exit: เลี้ยวซ้ายเข้าสู่ถนน %{name} ซึ่งเป็นทางเอก
fork_left_without_exit: ที่ทางแยกเลี้ยวซ้ายไปที่ถนน %{name}
slight_left_without_exit: ขยับซ้ายเล็กน้อยไปที่ %{name}
follow_without_exit: ไปตาม %{name}
+ leave_roundabout_without_exit: ออกจากวงเวียน - %{name}
start_without_exit: เริ่มที่ %{name}
destination_without_exit: ตรงไปยังจุดหมาย
+ against_oneway_without_exit: ให้วิ่งสวนเลนไปบน %{name}
+ end_oneway_without_exit: สิ้นสุดช่วงเดินรถทางเดียวบน %{name}
roundabout_with_exit: ณ วงเวียน ใช้ทางออก %{exit} ไปที่ถนน %{name}
exit_roundabout: ออกจากวงเวียนไปทาง %{name}
unnamed: ถนนไม่มีชื่อ
intro_text: Ang OpenStreetMap ay isang mapa ng mundo na nilikha ng mga taong katulad
mo at malayang gamitin sa ilalim ng isang bukas na lisensya.
intro_2_create_account: Lumikha ng isang akawnt ng tagagamit
- partners_html: Ang pagpapasinaya ay sinusuportahan ng %{ucl}, %{bytemark}, %{ic},
- at iba pang %{partners}.
partners_ucl: UCL
- partners_ic: Dalubhasaang Pang-imperyo Londres
partners_bytemark: Pagpapasinaya ng Bytemark
partners_partners: mga kawaksi
osm_offline: Ang kalipunan ng dato ng OpenStreetMap ay pangkasalukuyang nakapatay
BY</a>),\n<a href=\"http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm\">Land
Vorarlberg</a> at ng\nLand Tirol (na nasa ilalim ng <a href=\"http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/\">CC
BY AT na mayroong mga susog</a>)."
+ contributors_au_html: |-
+ <strong>Australiya</strong>: Naglalaman ng datong sub-urbano na nakabatay
+ sa dato ng Tanggapan ng Estadistika ng Australiya.
contributors_ca_html: "<strong>Canada</strong>: Naglalaman ng dato mula sa\nGeoBase®,
GeoGratis (© Kagawaran ng Likas na Yaman ng \nCanada), CanVec (©
Kagawaran ng Likas na Yaman ng Canada), at StatCan \n(Dibisyon ng Heograpiya,
flash: Matagumpay na naisapanhon ang kabatiran sa kliyente
destroy:
flash: Winasak ang pagpapatala ng aplikasyon ng kliyente
- user:
+ users:
login:
title: Lumagda
heading: Lumagda
intro_text: OpenStreetMap senin gibi insanlar tarafından oluşturulan, kullanımı
serbest ve açık lisans altında olan bir dünya haritasıdır.
intro_2_create_account: hesap oluşturunuz
- partners_html: Barındırma hizmeti, %{ucl}, %{ic}, %{bytemark}, %{ic} ve diğer
- %{partners} tarafından desteklenmektedir.
+ hosting_partners_html: Barındırma hizmeti, %{ucl}, %{bytemark} ve diğer %{partners}
+ tarafından desteklenmektedir.
partners_ucl: UCL
- partners_ic: Imperial College London
partners_bytemark: Bytemark Hosting
partners_partners: ortaklar
osm_offline: OpenStreetMap veritabanı bakım çalışmaları yürütüldüğü için veritabanı
<strong>Avusturya</strong>: <a href="https://data.wien.gv.at/">Stadt Wien</a> (<a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a> lisansı altında),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> ve
Land Tirol'dan (<a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">değişiklikleriyle CC BY AT lisansı altında</a>) veriler içermektedir.
+ contributors_au_html: '<strong>Avustralya</strong>: <a href="https://creativecommons.org/licenses/by/4.0/">CC
+ BY 4.0</a> kapsamında Commonwealth of Australia tarafından lisanslanan <a
+ href="https://creativecommons.org/licenses/by/4.0/">PSMA Australia Limited</a>''ten
+ alınan verileri içerir.'
contributors_ca_html: "<strong>Kanada</strong>: GeoBase®, GeoGratis \n(©
Department of Natural\nResources Canada), CanVec (© Department of Natural\nResources
Canada) ve StatCan'den (Geography Division,\nStatistics Canada) veriler
flash: Müşteri bilgilerini başarıyla güncelleştirildi
destroy:
flash: İstemci uygulaması kaydını yok etti
- user:
+ users:
login:
title: Giriş
heading: Giriş
terms accepted: Yeni katılımcı şartları kabul ettiğin için teşekkür ederiz!
terms declined: Yeni Katılımcı Koşulları kabul etmediğiniz için üzgünüz. Daha
fazla bilgi için lütfen <a href="%{url}">buradaki wiki sayfasına</a> bakınız.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: Katılımcı Şartları
heading: Katılımcı Şartları
consider_pd: Yukarıdaki anlaşmaya ek olarak, katkılarınızın kamu malı olarak
kabul edilmesini de seçebilirsiniz
consider_pd_why: bu nedir?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Buradaki bilgileri anlamanıza yardımcı olabilecek bilgiler: <a href="%{summary}">okunabilir
bir özet</a> ve ayrıca <a href="%{translations}">genel çeviriler</a>'
agree: Kabul Et
+ declined: |2-
+
+ https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Reddet
you need to accept or decline: Lütfen katılımcı şartlarını okuyunuz ve şartları
kabul ya da ret ediniz.
review link text: Yeni Katkıda Bulunma Şartlarını incelemek ve kabul etmek
için lütfen bu bağlantıyı kolaylık sağlamak için izleyin.
agreed_with_pd: Ayrıca düzenlediklerin Kamu Malı olsun diye kabul ettin.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: Bu nedir?
profile description: 'Tanıtım:'
preferred languages: 'Tercih edilen diller (mesela tr,en,de):'
image: 'Resim:'
gravatar:
gravatar: Gravatar kullanın
+ link: |2-
+
+ https://wiki.openstreetmap.org/wiki/Gravatar
link text: bu nedir?
disabled: Gravatar devre dışı bırakıldı.
enabled: Gravatarınızın görüntüsü etkinleştirildi.
%{directions} yönüne doğru'
offramp_right_with_name: Sağdaki rampayı kullanarak %{name} girin
offramp_right_with_directions: '%{directions} yönünde sağdaki rampadan'
+ offramp_right_with_name_directions: Sağdaki %{directions} taraftaki rampayı,
+ %{name} yoluna doğru alın.
onramp_right_without_exit: Rampadan sağa dönerek %{name} girin
+ onramp_right_with_directions: '%{directions} doğru rampadan sağ dönün'
+ onramp_right_with_name_directions: '%{name} üzerindeki rampaya doğru %{directions}
+ yönünde sağa dönün'
onramp_right_without_directions: Rampaya doğru sağa dönün
onramp_right: Rampaya doğru sağa dönün
endofroad_right_without_exit: Yolun sonunda sağa %{name} yönünde dönün
%{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'
+ offramp_left_with_name_directions: '%{name} üzerindeki rampaya doğru %{directions}
+ yönünde sola ilerleyin'
onramp_left_without_exit: Rampadan sola dönerek %{name} girin
onramp_left_with_directions: '%{directions} doğru rampadan sola dönün'
+ onramp_left_with_name_directions: '%{name} üzerindeki rampaya doğru %{directions}
+ yönünde 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
intro_text: OpenStreetMap — мапа світу, створена такими ж людьми, як і ви, для
вільного використання під відкритою ліцензією.
intro_2_create_account: Створіть обліковий запис
- partners_html: Хостинг підтримується %{ucl}, %{ic} та %{bytemark}, а також іншими
- %{partners}.
partners_ucl: UCL
- partners_ic: Імперський коледж Лондона
partners_bytemark: Bytemark Hosting
partners_partners: партнерами
osm_offline: База даних OpenStreetMap в даний момент недоступна, бо саме проводиться
<strong>Австрія</strong>: дані від
<a href="http://data.wien.gv.at/">Stadt Wien</a> (на умовах ліцензії
<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>), <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> та Земля Тіроль (на умовах <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT з виправленнями</a>).
+ contributors_au_html: '<strong>Австралія</strong>: дані передмість від Австралійського
+ Бюро Статистики.'
contributors_ca_html: '<strong>Канада</strong>: дані від GeoBase®, GeoGratis
(© Департамент природних ресурсів Канади), CanVec (© Департамент
природних ресурсів Канади), та StatCan (Відділ Географії, Статистичне відомство
flash: Інформацію клієнта успішно оновлено
destroy:
flash: Знищено реєстрацію клієнтського застосунку
- user:
+ users:
login:
title: Ласкаво просимо
heading: Ласкаво просимо
intro_text: OpenStreetMap là bản đồ thế giới do những người như bạn xây dựng và
cho phép sử dụng thoải mái theo một giấy phép nguồn mở.
intro_2_create_account: Mở tài khoản mới
- partners_html: Dịch vụ nhờ sự hỗ trợ hosting của %{ucl}, %{bytemark}, %{ic}, và
- %{partners} khác.
partners_ucl: UCL
- partners_ic: Đại học Hoàng gia Luân Đôn
partners_bytemark: Bytemark Hosting
partners_partners: các công ty bảo trợ
osm_offline: Cơ sở dữ liệu OpenStreetMap đang ngoại tuyến trong lúc đang thực
BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Bang
Vorarlberg</a>, và Bang Tyrol (theo <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">bản
sửa đổi CC BY Áo</a>).'
+ contributors_au_html: '<strong>Úc</strong>: Bao gồm dữ liệu về ngoại ô dựa
+ trên dữ liệu của Cục Thống kê Úc.'
contributors_ca_html: '<strong>Canada</strong>: Bao gồm dữ liệu từ GeoBase®,
GeoGratis (© Bộ Tài nguyên Canada), CanVec (© Bộ Tài nguyên Canada), và
StatCan (Sở Địa lý, Statistics Canada).'
flash: Đã cập nhật thông tin trình khách thành công
destroy:
flash: Đã xóa đăng ký trình khách
- user:
+ users:
login:
title: Đăng nhập
heading: Đăng nhập
# Author: Xiaomingyan
# Author: Yfdyh000
# Author: 乌拉跨氪
+# Author: 夢蝶葬花
# Author: 阿pp
# Author: 아라
---
intro_header: 欢迎访问 OpenStreetMap!
intro_text: OpenStreetMap 是一个世界地图,由像您一样的人们所构筑,可依据开放许可协议自由使用。
intro_2_create_account: 创建用户账户
- partners_html: 主机由%{ucl}、%{bytemark}、%{ic},以及其他%{partners}所支持。
partners_ucl: 伦敦大学学院
- partners_ic: 伦敦帝国学院
partners_bytemark: Bytemark主机
partners_partners: 合作伙伴
osm_offline: 由于正在进行基本的数据库维护工作,OpenStreetMap 数据库目前处于脱机状态。
create:
upload_trace: 上传 GPS 轨迹
trace_uploaded: 您的 GPX 文件已经被上传,正等待被输入数据库。这通常在半小时之内,当上传结束后会发邮件通知您。
+ upload_failed: 抱歉,GPX上传失败。管理员已收到错误警报。请再试一次
traces_waiting: 您有 %{count} 条轨迹正等待上传,请在上传更多轨迹前等待这些传完,以确保不会给其他用户造成队列拥堵。
edit:
title: 编辑轨迹 %{name}
visibility: 可见性:
visibility_help: 这是什么意思?
visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
+ update:
+ updated: 地点已更新!
trace_optionals:
tags: 标签
show:
flash: 更新客户端信息成功
destroy:
flash: 已破坏此客户端应用程序注册
- user:
+ users:
login:
title: 登录
heading: 登录
intro_header: 歡迎來到 OpenStreetMap!
intro_text: OpenStreetMap 是一幅世界地圖,由像您這樣的人們所建立,在開放授權下可以自由使用。
intro_2_create_account: 建立使用者帳號
- partners_html: 主機由 %{ucl}、%{bytemark}、%{ic},和其他 %{partners} 所支援。
+ hosting_partners_html: 主機由 %{ucl}、%{bytemark},和其他 %{partners} 所支援。
partners_ucl: 倫敦大學學院
- partners_ic: 倫敦帝國學院
partners_bytemark: Bytemark 主機代管
partners_partners: 合作夥伴
osm_offline: OpenStreetMap 資料庫目前正在離線,直到必要的資料庫維護工作完成為止。
BY</a>授權) 、<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
Vorarlberg</a>及 Land Tirol (修訂的<a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY
AT</a>授權) 的資料。
+ contributors_au_html: |-
+ <strong>澳大利亞</strong>:包含來自
+ <a href="https://www.psma.com.au/psma-data-copyright-and-disclaimer">PSMA 澳大利亞有限公司</a>的資料來源,並依據<a href="https://creativecommons.org/licenses/by/4.0/deed.zh_TW">姓名標示 4.0 國際</a>澳大利亞聯邦條款授權。
contributors_ca_html: |-
<strong>加拿大</strong>:包含來自 GeoBase®,GeoGratis (© Department of Natural
Resources Canada) ,CanVec (© Department of Natural
flash: 更新客戶端資訊成功
destroy:
flash: 已銷毀此用戶端應用程式註冊
- user:
+ users:
login:
title: 登入
heading: 登入
continue: 註冊
terms accepted: 感謝您接受新的貢獻條款!
terms declined: 我們很遺憾你已決定不接受新的貢獻者條款。有關詳細資訊,請參閱<a href="%{url}">此 wiki 頁面</a>。
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: 貢獻者條款
heading: 貢獻者條款
read and accept: 請閱讀下面的協議並按同意按鈕,以確認為你現有的和將來的貢獻接受本協議的條款。
consider_pd: 在上述協議之上,我同意將我的貢獻放到公共領域
consider_pd_why: 這是什麼?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 幫助理解這些條款的資料:一個<a href="%{summary}">供普通人閱讀的摘要</a>和一些<a href="%{translations}">非正式翻譯</a>
agree: 同意
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: 拒絕
you need to accept or decline: 請先閱讀,然後選擇接受或拒絕新的貢獻者條款,再繼續。
legale_select: 請選擇您的居住地:
not yet agreed: 您未同意新的貢獻者條款。
review link text: 請跟隨此連結,方便你檢視並接受新的貢獻者條款。
agreed_with_pd: 您亦同意將您的編輯放到公共領域
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: 這是什麼?
profile description: 基本資料描述:
preferred languages: 偏好的語言:
image: 圖片:
gravatar:
gravatar: 使用 Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: 這是什麼?
disabled: Gravatar已停用。
enabled: 您的Gravatar顯示功能已啟用。
get "relations/search" => "search#search_relations"
get "nodes/search" => "search#search_nodes"
- get "user/:id" => "user#api_read", :id => /\d+/
- get "user/details" => "user#api_details"
- get "user/gpx_files" => "user#api_gpx_files"
- get "users" => "user#api_users", :as => :api_users
+ get "user/:id" => "users#api_read", :id => /\d+/
+ get "user/details" => "users#api_details"
+ get "user/gpx_files" => "users#api_gpx_files"
+ get "users" => "users#api_users", :as => :api_users
get "user/preferences" => "user_preferences#read"
get "user/preferences/:preference_key" => "user_preferences#read_one"
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"
- match "/login" => "user#login", :via => [:get, :post]
- match "/logout" => "user#logout", :via => [:get, :post]
+ match "/login" => "users#login", :via => [:get, :post]
+ match "/logout" => "users#logout", :via => [:get, :post]
get "/offline" => "site#offline"
get "/key" => "site#key"
get "/id" => "site#id"
get "/query" => "browse#query"
- get "/user/new" => "user#new"
- post "/user/new" => "user#create"
- get "/user/terms" => "user#terms"
- post "/user/save" => "user#save"
- get "/user/:display_name/confirm/resend" => "user#confirm_resend"
- match "/user/:display_name/confirm" => "user#confirm", :via => [:get, :post]
- match "/user/confirm" => "user#confirm", :via => [:get, :post]
- match "/user/confirm-email" => "user#confirm_email", :via => [:get, :post]
- post "/user/go_public" => "user#go_public"
- match "/user/reset-password" => "user#reset_password", :via => [:get, :post]
- match "/user/forgot-password" => "user#lost_password", :via => [:get, :post]
- get "/user/suspended" => "user#suspended"
+ get "/user/new" => "users#new"
+ post "/user/new" => "users#create"
+ get "/user/terms" => "users#terms"
+ post "/user/save" => "users#save"
+ get "/user/:display_name/confirm/resend" => "users#confirm_resend"
+ match "/user/:display_name/confirm" => "users#confirm", :via => [:get, :post]
+ match "/user/confirm" => "users#confirm", :via => [:get, :post]
+ match "/user/confirm-email" => "users#confirm_email", :via => [:get, :post]
+ post "/user/go_public" => "users#go_public"
+ match "/user/reset-password" => "users#reset_password", :via => [:get, :post]
+ match "/user/forgot-password" => "users#lost_password", :via => [:get, :post]
+ get "/user/suspended" => "users#suspended"
get "/index.html", :to => redirect(:path => "/")
get "/create-account.html", :to => redirect(:path => "/user/new")
get "/forgot-password.html", :to => redirect(:path => "/user/forgot-password")
# omniauth
- get "/auth/failure" => "user#auth_failure"
- match "/auth/:provider/callback" => "user#auth_success", :via => [:get, :post], :as => :auth_success
- match "/auth/:provider" => "user#auth", :via => [:get, :post], :as => :auth
+ get "/auth/failure" => "users#auth_failure"
+ match "/auth/:provider/callback" => "users#auth_success", :via => [:get, :post], :as => :auth_success
+ match "/auth/:provider" => "users#auth", :via => [:get, :post], :as => :auth
# permalink
get "/go/:code" => "site#permalink", :code => /[a-zA-Z0-9_@~]+[=-]*/
post "/user/:display_name/diary/:id/unsubscribe" => "diary_entry#unsubscribe", :as => :diary_entry_unsubscribe, :id => /\d+/
# user pages
- 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/set_status" => "user#set_status", :as => :set_status_user
- get "/user/:display_name/delete" => "user#delete", :as => :delete_user
+ get "/user/:display_name" => "users#show", :as => "user"
+ match "/user/:display_name/make_friend" => "users#make_friend", :via => [:get, :post], :as => "make_friend"
+ match "/user/:display_name/remove_friend" => "users#remove_friend", :via => [:get, :post], :as => "remove_friend"
+ match "/user/:display_name/account" => "users#account", :via => [:get, :post]
+ get "/user/:display_name/set_status" => "users#set_status", :as => :set_status_user
+ get "/user/:display_name/delete" => "users#delete", :as => :delete_user
# user lists
- match "/users" => "user#index", :via => [:get, :post]
- match "/users/:status" => "user#index", :via => [:get, :post]
+ match "/users" => "users#index", :via => [:get, :post]
+ match "/users/:status" => "users#index", :via => [:get, :post]
# geocoder
get "/search" => "geocoder#search"
get "/export/embed" => "export#embed"
# messages
- resources :messages, :only => [:create, :show] do
+ resources :messages, :only => [:create, :show, :destroy] do
+ post :mark
+ match :reply, :via => [:get, :post]
collection do
get :inbox
get :outbox
get "/user/:display_name/outbox", :to => redirect(:path => "/messages/outbox")
get "/message/new/:display_name" => "messages#new", :as => "new_message"
get "/message/read/:message_id", :to => redirect(:path => "/messages/%{message_id}")
- post "/message/mark/:message_id" => "messages#mark", :as => "mark_message"
- match "/message/reply/:message_id" => "messages#reply", :via => [:get, :post], :as => "reply_message"
- post "/message/delete/:message_id" => "messages#destroy", :as => "destroy_message"
# oauth admin pages (i.e: for setting up new clients, etc...)
scope "/user/:display_name" do
--- /dev/null
+class CreateDelayedJobs < ActiveRecord::Migration[5.2]
+ def self.up
+ create_table :delayed_jobs, :force => true do |table|
+ table.integer :priority, :default => 0, :null => false # Allows some jobs to jump to the front of the queue
+ table.integer :attempts, :default => 0, :null => false # Provides for retries, but still fail eventually.
+ table.text :handler, :null => false # YAML-encoded string of the object that will do work
+ table.text :last_error # reason for last failure (See Note below)
+ table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future.
+ table.datetime :locked_at # Set when a client is working on this object
+ table.datetime :failed_at # Set when all retries have failed (actually, by default, the record is deleted instead)
+ table.string :locked_by # Who is working on this object (if locked)
+ table.string :queue # The name of the queue this job is in
+ table.timestamps :null => true
+ end
+
+ add_index :delayed_jobs, [:priority, :run_at], :name => "delayed_jobs_priority"
+ end
+
+ def self.down
+ drop_table :delayed_jobs
+ end
+end
ALTER SEQUENCE current_ways_id_seq OWNED BY current_ways.id;
+--
+-- Name: delayed_jobs; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE delayed_jobs (
+ id bigint NOT NULL,
+ priority integer DEFAULT 0 NOT NULL,
+ attempts integer DEFAULT 0 NOT NULL,
+ handler text NOT NULL,
+ last_error text,
+ run_at timestamp without time zone,
+ locked_at timestamp without time zone,
+ failed_at timestamp without time zone,
+ locked_by character varying,
+ queue character varying,
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone
+);
+
+
+--
+-- Name: delayed_jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE delayed_jobs_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: delayed_jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE delayed_jobs_id_seq OWNED BY delayed_jobs.id;
+
+
--
-- Name: diary_comments; Type: TABLE; Schema: public; Owner: -
--
ALTER TABLE ONLY current_ways ALTER COLUMN id SET DEFAULT nextval('current_ways_id_seq'::regclass);
+--
+-- Name: delayed_jobs id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY delayed_jobs ALTER COLUMN id SET DEFAULT nextval('delayed_jobs_id_seq'::regclass);
+
+
--
-- Name: diary_comments id; Type: DEFAULT; Schema: public; Owner: -
--
ADD CONSTRAINT current_ways_pkey PRIMARY KEY (id);
+--
+-- Name: delayed_jobs delayed_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY delayed_jobs
+ ADD CONSTRAINT delayed_jobs_pkey PRIMARY KEY (id);
+
+
--
-- Name: diary_comments diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
CREATE INDEX current_ways_timestamp_idx ON current_ways USING btree ("timestamp");
+--
+-- Name: delayed_jobs_priority; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX delayed_jobs_priority ON delayed_jobs USING btree (priority, run_at);
+
+
--
-- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
--
('20161011010929'),
('20170222134109'),
('20180204153242'),
+('20181031113522'),
('21'),
('22'),
('23'),
DEFAULT_OPTIONS = {
:class_name => nil,
:singular_name => nil,
- :per_page => 10,
+ :per_page => 10,
:conditions => nil,
- :order_by => nil,
- :order => nil,
- :join => nil,
- :joins => nil,
- :count => nil,
- :include => nil,
- :select => nil,
- :group => nil,
- :parameter => "page"
+ :order_by => nil,
+ :order => nil,
+ :join => nil,
+ :joins => nil,
+ :count => nil,
+ :include => nil,
+ :select => nil,
+ :group => nil,
+ :parameter => "page"
}.freeze
end
# maps each element type to the model class which handles it
MODELS = {
- "node" => Node,
- "way" => Way,
+ "node" => Node,
+ "way" => Way,
"relation" => Relation
}.freeze
# You can override any of these by setting an environment variable of the
# same name.
Annotate.set_defaults(
- "routes" => "false",
- "position_in_routes" => "before",
- "position_in_class" => "before",
- "position_in_test" => "before",
- "position_in_fixture" => "before",
- "position_in_factory" => "before",
- "position_in_serializer" => "before",
- "show_foreign_keys" => "true",
- "show_indexes" => "true",
- "simple_indexes" => "false",
- "model_dir" => "app/models",
- "root_dir" => "",
- "include_version" => "false",
- "require" => "",
- "exclude_tests" => "true",
- "exclude_fixtures" => "true",
- "exclude_factories" => "true",
- "exclude_serializers" => "true",
- "exclude_scaffolds" => "true",
- "exclude_controllers" => "true",
- "exclude_helpers" => "true",
- "ignore_model_sub_dir" => "false",
- "ignore_columns" => nil,
- "ignore_routes" => nil,
- "ignore_unknown_models" => "false",
+ "routes" => "false",
+ "position_in_routes" => "before",
+ "position_in_class" => "before",
+ "position_in_test" => "before",
+ "position_in_fixture" => "before",
+ "position_in_factory" => "before",
+ "position_in_serializer" => "before",
+ "show_foreign_keys" => "true",
+ "show_indexes" => "true",
+ "simple_indexes" => "false",
+ "model_dir" => "app/models",
+ "root_dir" => "",
+ "include_version" => "false",
+ "require" => "",
+ "exclude_tests" => "true",
+ "exclude_fixtures" => "true",
+ "exclude_factories" => "true",
+ "exclude_serializers" => "true",
+ "exclude_scaffolds" => "true",
+ "exclude_controllers" => "true",
+ "exclude_helpers" => "true",
+ "ignore_model_sub_dir" => "false",
+ "ignore_columns" => nil,
+ "ignore_routes" => nil,
+ "ignore_unknown_models" => "false",
"hide_limit_column_types" => "integer,boolean",
- "skip_on_db_migrate" => "false",
- "format_bare" => "true",
- "format_rdoc" => "false",
- "format_markdown" => "false",
- "sort" => "false",
- "force" => "false",
- "trace" => "false",
- "wrapper_open" => nil,
- "wrapper_close" => nil
+ "skip_on_db_migrate" => "false",
+ "format_bare" => "true",
+ "format_rdoc" => "false",
+ "format_markdown" => "false",
+ "sort" => "false",
+ "force" => "false",
+ "trace" => "false",
+ "wrapper_open" => nil,
+ "wrapper_close" => nil
)
end
--- /dev/null
+# frozen_string_literal: true
+
+require "test_helper"
+
+class AbilityTest < ActiveSupport::TestCase
+end
+
+class GuestAbilityTest < AbilityTest
+ test "geocoder permission for a guest" do
+ ability = Ability.new nil
+
+ [:search, :search_latlon, :search_ca_postcode, :search_osm_nominatim,
+ :search_geonames, :search_osm_nominatim_reverse, :search_geonames_reverse].each do |action|
+ assert ability.can?(action, :geocoder), "should be able to #{action} geocoder"
+ end
+ end
+
+ test "diary permissions for a guest" do
+ ability = Ability.new nil
+ [:index, :rss, :show, :comments].each do |action|
+ assert ability.can?(action, DiaryEntry), "should be able to #{action} DiaryEntries"
+ end
+
+ [:create, :edit, :comment, :subscribe, :unsubscribe, :hide, :hidecomment].each do |action|
+ assert ability.cannot?(action, DiaryEntry), "should not be able to #{action} DiaryEntries"
+ assert ability.cannot?(action, DiaryComment), "should not be able to #{action} DiaryEntries"
+ end
+ end
+end
+
+class UserAbilityTest < AbilityTest
+ test "Diary permissions" do
+ ability = Ability.new create(:user)
+
+ [:index, :rss, :show, :comments, :create, :edit, :comment, :subscribe, :unsubscribe].each do |action|
+ assert ability.can?(action, DiaryEntry), "should be able to #{action} DiaryEntries"
+ end
+
+ [:hide, :hidecomment].each do |action|
+ assert ability.cannot?(action, DiaryEntry), "should not be able to #{action} DiaryEntries"
+ assert ability.cannot?(action, DiaryComment), "should not be able to #{action} DiaryEntries"
+ end
+
+ [:index, :show, :resolve, :ignore, :reopen].each do |action|
+ assert ability.cannot?(action, Issue), "should not be able to #{action} Issues"
+ end
+ end
+end
+
+class ModeratorAbilityTest < AbilityTest
+ test "Issue permissions" do
+ ability = Ability.new create(:moderator_user)
+
+ [:index, :show, :resolve, :ignore, :reopen].each do |action|
+ assert ability.can?(action, Issue), "should be able to #{action} Issues"
+ end
+ end
+end
+
+class AdministratorAbilityTest < AbilityTest
+ test "Diary for an administrator" do
+ ability = Ability.new create(:administrator_user)
+ [:index, :rss, :show, :comments, :create, :edit, :comment, :subscribe, :unsubscribe, :hide, :hidecomment].each do |action|
+ assert ability.can?(action, DiaryEntry), "should be able to #{action} DiaryEntries"
+ end
+
+ [:hide, :hidecomment].each do |action|
+ assert ability.can?(action, DiaryComment), "should be able to #{action} DiaryComment"
+ end
+ end
+end
--- /dev/null
+# frozen_string_literal: true
+
+require "test_helper"
+
+class CapabilityTest < ActiveSupport::TestCase
+ def tokens(*toks)
+ AccessToken.new do |token|
+ toks.each do |t|
+ token.public_send("#{t}=", true)
+ end
+ end
+ end
+end
+
+class UserCapabilityTest < CapabilityTest
+ test "user preferences" do
+ # a user with no tokens
+ capability = Capability.new nil
+ [:read, :read_one, :update, :update_one, :delete_one].each do |act|
+ assert capability.cannot? act, UserPreference
+ end
+
+ # A user with empty tokens
+ capability = Capability.new tokens
+
+ [:read, :read_one, :update, :update_one, :delete_one].each do |act|
+ assert capability.cannot? act, UserPreference
+ end
+
+ capability = Capability.new tokens(:allow_read_prefs)
+
+ [:update, :update_one, :delete_one].each do |act|
+ assert capability.cannot? act, UserPreference
+ end
+
+ [:read, :read_one].each do |act|
+ assert capability.can? act, UserPreference
+ end
+
+ capability = Capability.new tokens(:allow_write_prefs)
+ [:read, :read_one].each do |act|
+ assert capability.cannot? act, UserPreference
+ end
+
+ [:update, :update_one, :delete_one].each do |act|
+ assert capability.can? act, UserPreference
+ end
+ end
+end
# into the method args.
def test_getway_old_invalid
way_id = create(:way, :with_history, :version => 2).id
- { "foo" => "bar",
+ { "foo" => "bar",
way_id => "not a date",
way_id => "2009-03-25 00:00:00", # <- wrong format
way_id => "0 Jan 2009 00:00:00", # <- invalid date
- -1 => "1 Jan 2009 00:00:00" }.each do |id, t| # <- invalid
+ -1 => "1 Jan 2009 00:00:00" }.each do |id, t| # <- invalid
amf_content "getway_old", "/1", [id, t]
post :amf_read
assert_response :success
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"
+ assert_template "users/no_such_user"
get :index, :params => { :format => "html", :display_name => "Some random user", :list => "1" }, :xhr => true
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
end
##
get :index, :params => { :friends => true }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => friend_changesets_path
+ assert_redirected_to :controller => :users, :action => :login, :referer => friend_changesets_path
session[:user] = private_user.id
get :index, :params => { :nearby => true }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => nearby_changesets_path
+ assert_redirected_to :controller => :users, :action => :login, :referer => nearby_changesets_path
session[:user] = private_user.id
assert_difference "ChangesetComment.count", 1 do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :comment, :params => { :id => private_user_closed_changeset.id, :text => "This is a comment" }
+ perform_enqueued_jobs do
+ post :comment, :params => { :id => private_user_closed_changeset.id, :text => "This is a comment" }
+ end
end
end
assert_response :success
assert_difference "ChangesetComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
+ perform_enqueued_jobs do
+ post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
+ end
end
end
assert_response :success
assert_difference "ChangesetComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
- post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
+ perform_enqueued_jobs do
+ post :comment, :params => { :id => changeset.id, :text => "This is a comment" }
+ end
end
end
assert_response :success
# are not logged in
get :new
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/new"
+ assert_redirected_to :controller => :users, :action => :login, :referer => "/diary/new"
end
def test_new_form
:params => { :display_name => user.display_name },
:session => { :user => user }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :suspended
+ assert_redirected_to :controller => :users, :action => :suspended
end
def test_edit
get :edit,
:params => { :display_name => entry.user.display_name, :id => entry.id }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => "/user/#{ERB::Util.u(entry.user.display_name)}/diary/#{entry.id}/edit"
+ assert_redirected_to :controller => :users, :action => :login, :referer => "/user/#{ERB::Util.u(entry.user.display_name)}/diary/#{entry.id}/edit"
# Verify that you get a not found error, when you pass a bogus id
get :edit,
assert_no_difference "ActionMailer::Base.deliveries.size" do
assert_no_difference "DiaryComment.count" do
assert_no_difference "entry.subscribers.count" do
- post :comment,
- :params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "" } },
- :session => { :user => other_user }
+ perform_enqueued_jobs do
+ post :comment,
+ :params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "" } },
+ :session => { :user => other_user }
+ end
end
end
end
assert_difference "ActionMailer::Base.deliveries.size", entry.subscribers.count do
assert_difference "DiaryComment.count", 1 do
assert_difference "entry.subscribers.count", 1 do
- post :comment,
- :params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "New comment" } },
- :session => { :user => other_user }
+ perform_enqueued_jobs do
+ post :comment,
+ :params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => "New comment" } },
+ :session => { :user => other_user }
+ end
end
end
end
# Try creating a spammy comment
assert_difference "ActionMailer::Base.deliveries.size", 1 do
assert_difference "DiaryComment.count", 1 do
- post :comment,
- :params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => spammy_text } },
- :session => { :user => other_user }
+ perform_enqueued_jobs do
+ post :comment,
+ :params => { :display_name => entry.user.display_name, :id => entry.id, :diary_comment => { :body => spammy_text } },
+ :session => { :user => other_user }
+ end
end
end
assert_response :redirect
:params => { :display_name => user.display_name },
:session => { :user => other_user }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :suspended
+ assert_redirected_to :controller => :users, :action => :suspended
# Now show the diary entry, and check the new comment is not present
get :show,
# Try a list of diary entries for an invalid user
get :index, :params => { :display_name => "No Such User" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
end
def test_index_friends
# Try a list of diary entries for your friends when not logged in
get :index, :params => { :friends => true }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/friends"
+ assert_redirected_to :controller => :users, :action => :login, :referer => "/diary/friends"
# Try a list of diary entries for your friends when logged in
get :index, :params => { :friends => true }, :session => { :user => user }
# Try a list of diary entries for nearby users when not logged in
get :index, :params => { :nearby => true }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/nearby"
+ assert_redirected_to :controller => :users, :action => :login, :referer => "/diary/nearby"
# Try a list of diary entries for nearby users when logged in
get :index, :params => { :nearby => true }, :session => { :user => nearby_user }
{ :controller => "messages", :action => "show", :id => "1" }
)
assert_routing(
- { :path => "/message/mark/1", :method => :post },
+ { :path => "/messages/1/mark", :method => :post },
{ :controller => "messages", :action => "mark", :message_id => "1" }
)
assert_routing(
- { :path => "/message/reply/1", :method => :get },
+ { :path => "/messages/1/reply", :method => :get },
{ :controller => "messages", :action => "reply", :message_id => "1" }
)
assert_routing(
- { :path => "/message/reply/1", :method => :post },
+ { :path => "/messages/1/reply", :method => :post },
{ :controller => "messages", :action => "reply", :message_id => "1" }
)
assert_routing(
- { :path => "/message/delete/1", :method => :post },
- { :controller => "messages", :action => "destroy", :message_id => "1" }
+ { :path => "/messages/1", :method => :delete },
+ { :controller => "messages", :action => "destroy", :id => "1" }
)
end
# Check that we can't send a message from a GET request
assert_difference "ActionMailer::Base.deliveries.size", 0 do
assert_difference "Message.count", 0 do
- get :new,
- :params => { :display_name => recipient_user.display_name,
- :message => { :title => "Test Message", :body => "Test message body" } }
+ perform_enqueued_jobs do
+ get :new,
+ :params => { :display_name => recipient_user.display_name,
+ :message => { :title => "Test Message", :body => "Test message body" } }
+ end
end
end
assert_response :success
# Check that the subject is preserved over errors
assert_difference "ActionMailer::Base.deliveries.size", 0 do
assert_difference "Message.count", 0 do
- post :new,
- :params => { :display_name => recipient_user.display_name,
- :message => { :title => "Test Message", :body => "" } }
+ perform_enqueued_jobs do
+ post :new,
+ :params => { :display_name => recipient_user.display_name,
+ :message => { :title => "Test Message", :body => "" } }
+ end
end
end
assert_response :success
# Check that the body text is preserved over errors
assert_difference "ActionMailer::Base.deliveries.size", 0 do
assert_difference "Message.count", 0 do
- post :new,
- :params => { :display_name => recipient_user.display_name,
- :message => { :title => "", :body => "Test message body" } }
+ perform_enqueued_jobs do
+ post :new,
+ :params => { :display_name => recipient_user.display_name,
+ :message => { :title => "", :body => "Test message body" } }
+ end
end
end
assert_response :success
# Check that sending a message works
assert_difference "ActionMailer::Base.deliveries.size", 1 do
assert_difference "Message.count", 1 do
- post :create,
- :params => { :display_name => recipient_user.display_name,
- :message => { :title => "Test Message", :body => "Test message body" } }
+ perform_enqueued_jobs do
+ post :create,
+ :params => { :display_name => recipient_user.display_name,
+ :message => { :title => "Test Message", :body => "Test message body" } }
+ end
end
end
assert_redirected_to inbox_messages_path
# Asking to send a message with a bogus user name should fail
get :new, :params => { :display_name => "non_existent_user" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
end
assert_no_difference "ActionMailer::Base.deliveries.size" do
assert_no_difference "Message.count" do
with_message_limit(0) do
- post :create,
- :params => { :display_name => recipient_user.display_name,
- :message => { :title => "Test Message", :body => "Test message body" } }
- assert_response :success
- assert_template "new"
- assert_select ".error", /wait a while/
+ perform_enqueued_jobs do
+ post :create,
+ :params => { :display_name => recipient_user.display_name,
+ :message => { :title => "Test Message", :body => "Test message body" } }
+ assert_response :success
+ assert_template "new"
+ assert_select ".error", /wait a while/
+ end
end
end
end
# Check that the message reply page requires us to login
get :reply, :params => { :message_id => unread_message.id }
- assert_redirected_to login_path(:referer => reply_message_path(:message_id => unread_message.id))
+ assert_redirected_to login_path(:referer => message_reply_path(:message_id => unread_message.id))
# Login as the wrong user
session[:user] = other_user.id
# Check that we can't reply to somebody else's message
get :reply, :params => { :message_id => unread_message.id }
- assert_redirected_to login_path(:referer => reply_message_path(:message_id => unread_message.id))
+ assert_redirected_to login_path(:referer => message_reply_path(:message_id => unread_message.id))
assert_equal "You are logged in as `#{other_user.display_name}' but the message you have asked to reply to was not sent to that user. Please login as the correct user in order to reply.", flash[:notice]
# Login as the right user
sent_message = create(:message, :unread, :recipient => second_user, :sender => user)
# Check that destroying a message requires us to login
- post :destroy, :params => { :message_id => read_message.id }
+ delete :destroy, :params => { :id => read_message.id }
assert_response :forbidden
# Login as a user with no messages
session[:user] = other_user.id
# Check that destroying a message we didn't send or receive fails
- post :destroy, :params => { :message_id => read_message.id }
+ delete :destroy, :params => { :id => read_message.id }
assert_response :not_found
assert_template "no_such_message"
session[:user] = user.id
# Check that the destroy a received message works
- post :destroy, :params => { :message_id => read_message.id }
+ delete :destroy, :params => { :id => read_message.id }
assert_redirected_to inbox_messages_path
assert_equal "Message deleted", flash[:notice]
m = Message.find(read_message.id)
assert_equal false, m.to_user_visible
# Check that the destroying a sent message works
- post :destroy, :params => { :message_id => sent_message.id, :referer => outbox_messages_path }
+ delete :destroy, :params => { :id => sent_message.id, :referer => outbox_messages_path }
assert_redirected_to outbox_messages_path
assert_equal "Message deleted", flash[:notice]
m = Message.find(sent_message.id)
end
# Asking to destroy a message with a bogus ID should fail
- post :destroy, :params => { :message_id => 99999 }
+ delete :destroy, :params => { :id => 99999 }
assert_response :not_found
assert_template "no_such_message"
end
open_note_with_comment = create(:note_with_comments)
assert_difference "NoteComment.count", 1 do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :comment, :params => { :id => open_note_with_comment.id, :text => "This is an additional comment", :format => "json" }
+ perform_enqueued_jobs do
+ post :comment, :params => { :id => open_note_with_comment.id, :text => "This is an additional comment", :format => "json" }
+ end
end
end
assert_response :success
end
assert_difference "NoteComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
- post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
+ perform_enqueued_jobs do
+ post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
+ end
end
end
assert_response :success
assert_difference "NoteComment.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 2 do
- post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
+ perform_enqueued_jobs do
+ post :comment, :params => { :id => note_with_comments_by_users.id, :text => "This is an additional comment", :format => "json" }
+ end
end
end
assert_response :success
end
end
+ def test_search_by_display_name_success
+ user = create(:user)
+
+ create(:note) do |note|
+ create(:note_comment, :note => note, :author => user)
+ end
+
+ get :search, :params => { :display_name => user.display_name, :format => "xml" }
+ assert_response :success
+ assert_equal "application/xml", @response.content_type
+ assert_select "osm", :count => 1 do
+ assert_select "note", :count => 1
+ end
+
+ get :search, :params => { :display_name => user.display_name, :format => "json" }
+ assert_response :success
+ assert_equal "application/json", @response.content_type
+ js = ActiveSupport::JSON.decode(@response.body)
+ assert_not_nil js
+ assert_equal "FeatureCollection", js["type"]
+ assert_equal 1, js["features"].count
+
+ get :search, :params => { :display_name => user.display_name, :format => "rss" }
+ assert_response :success
+ assert_equal "application/rss+xml", @response.content_type
+ assert_select "rss", :count => 1 do
+ assert_select "channel", :count => 1 do
+ assert_select "item", :count => 1
+ end
+ end
+
+ get :search, :params => { :display_name => user.display_name, :format => "gpx" }
+ assert_response :success
+ assert_equal "application/gpx+xml", @response.content_type
+ assert_select "gpx", :count => 1 do
+ assert_select "wpt", :count => 1
+ end
+ end
+
+ def test_search_by_user_success
+ user = create(:user)
+
+ create(:note) do |note|
+ create(:note_comment, :note => note, :author => user)
+ end
+
+ get :search, :params => { :user => user.id, :format => "xml" }
+ assert_response :success
+ assert_equal "application/xml", @response.content_type
+ assert_select "osm", :count => 1 do
+ assert_select "note", :count => 1
+ end
+
+ get :search, :params => { :user => user.id, :format => "json" }
+ assert_response :success
+ assert_equal "application/json", @response.content_type
+ js = ActiveSupport::JSON.decode(@response.body)
+ assert_not_nil js
+ assert_equal "FeatureCollection", js["type"]
+ assert_equal 1, js["features"].count
+
+ get :search, :params => { :user => user.id, :format => "rss" }
+ assert_response :success
+ assert_equal "application/rss+xml", @response.content_type
+ assert_select "rss", :count => 1 do
+ assert_select "channel", :count => 1 do
+ assert_select "item", :count => 1
+ end
+ end
+
+ get :search, :params => { :user => user.id, :format => "gpx" }
+ assert_response :success
+ assert_equal "application/gpx+xml", @response.content_type
+ assert_select "gpx", :count => 1 do
+ assert_select "wpt", :count => 1
+ end
+ end
+
def test_search_no_match
create(:note_with_comments)
end
end
- def test_search_bad_params
- get :search
- assert_response :bad_request
+ def test_search_by_time_no_match
+ create(:note_with_comments)
+
+ get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "xml" }
+ assert_response :success
+ assert_equal "application/xml", @response.content_type
+ assert_select "osm", :count => 1 do
+ assert_select "note", :count => 0
+ end
+ get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "json" }
+ assert_response :success
+ assert_equal "application/json", @response.content_type
+ js = ActiveSupport::JSON.decode(@response.body)
+ assert_not_nil js
+ assert_equal "FeatureCollection", js["type"]
+ assert_equal 0, js["features"].count
+
+ get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "rss" }
+ assert_response :success
+ assert_equal "application/rss+xml", @response.content_type
+ assert_select "rss", :count => 1 do
+ assert_select "channel", :count => 1 do
+ assert_select "item", :count => 0
+ end
+ end
+
+ get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "gpx" }
+ assert_response :success
+ assert_equal "application/gpx+xml", @response.content_type
+ assert_select "gpx", :count => 1 do
+ assert_select "wpt", :count => 0
+ end
+ end
+
+ def test_search_bad_params
get :search, :params => { :q => "no match", :limit => "0", :format => "json" }
assert_response :bad_request
get :search, :params => { :q => "no match", :limit => "10001", :format => "json" }
assert_response :bad_request
+
+ get :search, :params => { :display_name => "non-existent" }
+ assert_response :bad_request
+
+ get :search, :params => { :user => "-1" }
+ assert_response :bad_request
+
+ get :search, :params => { :from => "wrong-date", :to => "wrong-date" }
+ assert_response :bad_request
+
+ get :search, :params => { :from => "01.01.2010", :to => "2010.01.2010" }
+ assert_response :bad_request
end
def test_feed_success
def test_edit
get :edit
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => "/edit"
+ assert_redirected_to :controller => :users, :action => :login, :referer => "/edit"
end
# Test the right editor gets used when the user hasn't set a preference
def test_welcome
get :welcome
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => "/welcome"
+ assert_redirected_to :controller => :users, :action => :login, :referer => "/welcome"
get :welcome, :session => { :user => create(:user) }
assert_response :success
# First try to get it when not logged in
get :mine
- assert_redirected_to :controller => "user", :action => "login", :referer => "/traces/mine"
+ assert_redirected_to :controller => "users", :action => "login", :referer => "/traces/mine"
# Now try when logged in
get :mine, :session => { :user => user }
# Should get an error if the user does not exist
get :index, :params => { :display_name => "UnknownUser" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
end
# Check a multi-page index
# First with no auth
get :new
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => new_trace_path
+ assert_redirected_to :controller => :users, :action => :login, :referer => new_trace_path
# Now authenticated as a user with gps.trace.visibility set
user = create(:user)
# First with no auth
get :edit, :params => { :display_name => public_trace_file.user.display_name, :id => public_trace_file.id }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :referer => edit_trace_path(:display_name => public_trace_file.user.display_name, :id => public_trace_file.id)
+ assert_redirected_to :controller => :users, :action => :login, :referer => edit_trace_path(:display_name => public_trace_file.user.display_name, :id => public_trace_file.id)
# Now with some other user, which should fail
get :edit, :params => { :display_name => public_trace_file.user.display_name, :id => public_trace_file.id }, :session => { :user => create(:user) }
# We should get an error if no user is specified
get :new
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user does not exist"
# We should get an error if the user doesn't exist
get :new, :params => { :display_name => "non_existent_user" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
end
# We should get an error if no user is specified
post :create
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user does not exist"
# We should get an error if the user doesn't exist
post :create, :params => { :display_name => "non_existent_user" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
end
# Asking for a list of blocks with a bogus user name should fail
get :blocks_on, :params => { :display_name => "non_existent_user" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
# Check the list of blocks for a user that has never been blocked
# Asking for a list of blocks with a bogus user name should fail
get :blocks_by, :params => { :display_name => "non_existent_user" }
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
# Check the list of blocks given by one moderator
post :grant, :params => { :display_name => "non_existent_user", :role => role }
end
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
# Granting a role to a user that already has it should fail
post :revoke, :params => { :display_name => "non_existent_user", :role => role }
end
assert_response :not_found
- assert_template "user/no_such_user"
+ assert_template "users/no_such_user"
assert_select "h1", "The user non_existent_user does not exist"
# Removing a role from a user that doesn't have it should fail
require "test_helper"
-class UserControllerTest < ActionController::TestCase
+class UsersControllerTest < ActionController::TestCase
def setup
stub_hostip_requests
end
def test_routes
assert_routing(
{ :path => "/api/0.6/user/1", :method => :get },
- { :controller => "user", :action => "api_read", :id => "1" }
+ { :controller => "users", :action => "api_read", :id => "1" }
)
assert_routing(
{ :path => "/api/0.6/user/details", :method => :get },
- { :controller => "user", :action => "api_details" }
+ { :controller => "users", :action => "api_details" }
)
assert_routing(
{ :path => "/api/0.6/user/gpx_files", :method => :get },
- { :controller => "user", :action => "api_gpx_files" }
+ { :controller => "users", :action => "api_gpx_files" }
)
assert_routing(
{ :path => "/api/0.6/users", :method => :get },
- { :controller => "user", :action => "api_users" }
+ { :controller => "users", :action => "api_users" }
)
assert_routing(
{ :path => "/login", :method => :get },
- { :controller => "user", :action => "login" }
+ { :controller => "users", :action => "login" }
)
assert_routing(
{ :path => "/login", :method => :post },
- { :controller => "user", :action => "login" }
+ { :controller => "users", :action => "login" }
)
assert_recognizes(
- { :controller => "user", :action => "login", :format => "html" },
+ { :controller => "users", :action => "login", :format => "html" },
{ :path => "/login.html", :method => :get }
)
assert_routing(
{ :path => "/logout", :method => :get },
- { :controller => "user", :action => "logout" }
+ { :controller => "users", :action => "logout" }
)
assert_routing(
{ :path => "/logout", :method => :post },
- { :controller => "user", :action => "logout" }
+ { :controller => "users", :action => "logout" }
)
assert_recognizes(
- { :controller => "user", :action => "logout", :format => "html" },
+ { :controller => "users", :action => "logout", :format => "html" },
{ :path => "/logout.html", :method => :get }
)
assert_routing(
{ :path => "/user/new", :method => :get },
- { :controller => "user", :action => "new" }
+ { :controller => "users", :action => "new" }
)
assert_routing(
{ :path => "/user/new", :method => :post },
- { :controller => "user", :action => "create" }
+ { :controller => "users", :action => "create" }
)
assert_routing(
{ :path => "/user/terms", :method => :get },
- { :controller => "user", :action => "terms" }
+ { :controller => "users", :action => "terms" }
)
assert_routing(
{ :path => "/user/save", :method => :post },
- { :controller => "user", :action => "save" }
+ { :controller => "users", :action => "save" }
)
assert_routing(
{ :path => "/user/username/confirm", :method => :get },
- { :controller => "user", :action => "confirm", :display_name => "username" }
+ { :controller => "users", :action => "confirm", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/confirm", :method => :post },
- { :controller => "user", :action => "confirm", :display_name => "username" }
+ { :controller => "users", :action => "confirm", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/confirm/resend", :method => :get },
- { :controller => "user", :action => "confirm_resend", :display_name => "username" }
+ { :controller => "users", :action => "confirm_resend", :display_name => "username" }
)
assert_routing(
{ :path => "/user/confirm", :method => :get },
- { :controller => "user", :action => "confirm" }
+ { :controller => "users", :action => "confirm" }
)
assert_routing(
{ :path => "/user/confirm", :method => :post },
- { :controller => "user", :action => "confirm" }
+ { :controller => "users", :action => "confirm" }
)
assert_routing(
{ :path => "/user/confirm-email", :method => :get },
- { :controller => "user", :action => "confirm_email" }
+ { :controller => "users", :action => "confirm_email" }
)
assert_routing(
{ :path => "/user/confirm-email", :method => :post },
- { :controller => "user", :action => "confirm_email" }
+ { :controller => "users", :action => "confirm_email" }
)
assert_routing(
{ :path => "/user/go_public", :method => :post },
- { :controller => "user", :action => "go_public" }
+ { :controller => "users", :action => "go_public" }
)
assert_routing(
{ :path => "/user/forgot-password", :method => :get },
- { :controller => "user", :action => "lost_password" }
+ { :controller => "users", :action => "lost_password" }
)
assert_routing(
{ :path => "/user/forgot-password", :method => :post },
- { :controller => "user", :action => "lost_password" }
+ { :controller => "users", :action => "lost_password" }
)
assert_routing(
{ :path => "/user/reset-password", :method => :get },
- { :controller => "user", :action => "reset_password" }
+ { :controller => "users", :action => "reset_password" }
)
assert_routing(
{ :path => "/user/reset-password", :method => :post },
- { :controller => "user", :action => "reset_password" }
+ { :controller => "users", :action => "reset_password" }
)
assert_routing(
{ :path => "/user/suspended", :method => :get },
- { :controller => "user", :action => "suspended" }
+ { :controller => "users", :action => "suspended" }
)
assert_routing(
{ :path => "/user/username", :method => :get },
- { :controller => "user", :action => "show", :display_name => "username" }
+ { :controller => "users", :action => "show", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/account", :method => :get },
- { :controller => "user", :action => "account", :display_name => "username" }
+ { :controller => "users", :action => "account", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/account", :method => :post },
- { :controller => "user", :action => "account", :display_name => "username" }
+ { :controller => "users", :action => "account", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/make_friend", :method => :get },
- { :controller => "user", :action => "make_friend", :display_name => "username" }
+ { :controller => "users", :action => "make_friend", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/make_friend", :method => :post },
- { :controller => "user", :action => "make_friend", :display_name => "username" }
+ { :controller => "users", :action => "make_friend", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/remove_friend", :method => :get },
- { :controller => "user", :action => "remove_friend", :display_name => "username" }
+ { :controller => "users", :action => "remove_friend", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/remove_friend", :method => :post },
- { :controller => "user", :action => "remove_friend", :display_name => "username" }
+ { :controller => "users", :action => "remove_friend", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/set_status", :method => :get },
- { :controller => "user", :action => "set_status", :display_name => "username" }
+ { :controller => "users", :action => "set_status", :display_name => "username" }
)
assert_routing(
{ :path => "/user/username/delete", :method => :get },
- { :controller => "user", :action => "delete", :display_name => "username" }
+ { :controller => "users", :action => "delete", :display_name => "username" }
)
assert_routing(
{ :path => "/users", :method => :get },
- { :controller => "user", :action => "index" }
+ { :controller => "users", :action => "index" }
)
assert_routing(
{ :path => "/users", :method => :post },
- { :controller => "user", :action => "index" }
+ { :controller => "users", :action => "index" }
)
assert_routing(
{ :path => "/users/status", :method => :get },
- { :controller => "user", :action => "index", :status => "status" }
+ { :controller => "users", :action => "index", :status => "status" }
)
assert_routing(
{ :path => "/users/status", :method => :post },
- { :controller => "user", :action => "index", :status => "status" }
+ { :controller => "users", :action => "index", :status => "status" }
)
end
assert_difference "User.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :save, :session => { :new_user => user }
+ perform_enqueued_jobs do
+ post :save, :session => { :new_user => user }
+ end
end
end
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :save, :session => { :new_user => user }
+ perform_enqueued_jobs do
+ post :save, :session => { :new_user => user }
+ end
end
end
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :save, :session => { :new_user => user }
+ perform_enqueued_jobs do
+ post :save, :session => { :new_user => user }
+ end
end
end
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :save, :session => { :new_user => user }
+ perform_enqueued_jobs do
+ post :save, :session => { :new_user => user }
+ end
end
end
assert_no_difference "User.count" do
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :save, :session => { :new_user => user }
+ perform_enqueued_jobs do
+ post :save, :session => { :new_user => user }
+ end
end
end
assert_difference "User.count", 1 do
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :save, :session => { :new_user => user,
- :referer => "/edit?editor=id#map=1/2/3" }
+ perform_enqueued_jobs do
+ post :save, :session => { :new_user => user,
+ :referer => "/edit?editor=id#map=1/2/3" }
+ end
end
end
session[:token] = user.tokens.create.token
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- get :confirm_resend, :params => { :display_name => user.display_name }
+ perform_enqueued_jobs do
+ get :confirm_resend, :params => { :display_name => user.display_name }
+ end
end
assert_response :redirect
def test_confirm_resend_no_token
user = create(:user, :pending)
assert_no_difference "ActionMailer::Base.deliveries.size" do
- get :confirm_resend, :params => { :display_name => user.display_name }
+ perform_enqueued_jobs do
+ get :confirm_resend, :params => { :display_name => user.display_name }
+ end
end
assert_response :redirect
def test_confirm_resend_unknown_user
assert_no_difference "ActionMailer::Base.deliveries.size" do
- get :confirm_resend, :params => { :display_name => "No Such User" }
+ perform_enqueued_jobs do
+ get :confirm_resend, :params => { :display_name => "No Such User" }
+ end
end
assert_response :redirect
uppercase_user = build(:user, :email => user.email.upcase).tap { |u| u.save(:validate => false) }
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :lost_password, :params => { :user => { :email => user.email } }
+ perform_enqueued_jobs do
+ post :lost_password, :params => { :user => { :email => user.email } }
+ end
end
assert_response :redirect
assert_redirected_to :action => :login
# Test resetting using an address that matches a different user
# that has the same address in a different case
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :lost_password, :params => { :user => { :email => user.email.upcase } }
+ perform_enqueued_jobs do
+ post :lost_password, :params => { :user => { :email => user.email.upcase } }
+ end
end
assert_response :redirect
assert_redirected_to :action => :login
# Test resetting using an address that is a case insensitive match
# for more than one user but not an exact match for either
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :lost_password, :params => { :user => { :email => user.email.titlecase } }
+ perform_enqueued_jobs do
+ post :lost_password, :params => { :user => { :email => user.email.titlecase } }
+ end
end
assert_response :success
assert_template :lost_password
# address which is case insensitively unique
third_user = create(:user)
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :lost_password, :params => { :user => { :email => third_user.email } }
+ perform_enqueued_jobs do
+ post :lost_password, :params => { :user => { :email => third_user.email } }
+ end
end
assert_response :redirect
assert_redirected_to :action => :login
# Test resetting using an address that matches a user that has the
# same (case insensitively unique) address in a different case
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :lost_password, :params => { :user => { :email => third_user.email.upcase } }
+ perform_enqueued_jobs do
+ post :lost_password, :params => { :user => { :email => third_user.email.upcase } }
+ end
end
assert_response :redirect
assert_redirected_to :action => :login
# you are not logged in
get :account, :params => { :display_name => user.display_name }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => "login", :referer => "/user/#{ERB::Util.u(user.display_name)}/account"
+ assert_redirected_to :action => "login", :referer => "/user/#{ERB::Util.u(user.display_name)}/account"
# Make sure that you are blocked when not logged in as the right user
get :account, :params => { :display_name => user.display_name }, :session => { :user => create(:user) }
# Changing email to one that exists should fail
user.new_email = create(:user).email
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
+ perform_enqueued_jobs do
+ post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
+ end
end
assert_response :success
assert_template :account
# Changing email to one that exists should fail, regardless of case
user.new_email = create(:user).email.upcase
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
+ perform_enqueued_jobs do
+ post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
+ end
end
assert_response :success
assert_template :account
# Changing email to one that doesn't exist should work
user.new_email = "new_tester@example.com"
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
+ perform_enqueued_jobs do
+ post :account, :params => { :display_name => user.display_name, :user => user.attributes }, :session => { :user => user }
+ end
end
assert_response :success
assert_template :account
assert_response :not_found
# Test a normal user
- user = create(:user)
- create(:friend, :befriender => user)
+ user = create(:user, :home_lon => 1.1, :home_lat => 1.1)
+ friend_user = create(:user, :home_lon => 1.2, :home_lat => 1.2)
+ create(:friend, :befriender => user, :befriendee => friend_user)
get :show, :params => { :display_name => user.display_name }
assert_response :success
assert_select "div#userinformation" do
# When not logged in a GET should ask us to login
get :make_friend, :params => { :display_name => friend.display_name }
- assert_redirected_to :controller => :user, :action => "login", :referer => make_friend_path(:display_name => friend.display_name)
+ assert_redirected_to :action => "login", :referer => make_friend_path(:display_name => friend.display_name)
# When not logged in a POST should error
post :make_friend, :params => { :display_name => friend.display_name }
# When logged in a POST should add the friendship
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
+ perform_enqueued_jobs do
+ post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
+ end
end
assert_redirected_to user_path(friend)
assert_match(/is now your friend/, flash[:notice])
# A second POST should report that the friendship already exists
assert_no_difference "ActionMailer::Base.deliveries.size" do
- post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
+ perform_enqueued_jobs do
+ post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
+ end
end
assert_redirected_to user_path(friend)
assert_match(/You are already friends with/, flash[:warning])
# When logged in a POST should add the friendship and refer us
assert_difference "ActionMailer::Base.deliveries.size", 1 do
- post :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
+ perform_enqueued_jobs do
+ post :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
+ end
end
assert_redirected_to "/test"
assert_match(/is now your friend/, flash[:notice])
# When not logged in a GET should ask us to login
get :remove_friend, :params => { :display_name => friend.display_name }
- assert_redirected_to :controller => :user, :action => "login", :referer => remove_friend_path(:display_name => friend.display_name)
+ assert_redirected_to :action => "login", :referer => remove_friend_path(:display_name => friend.display_name)
# When not logged in a POST should error
post :remove_friend, :params => { :display_name => friend.display_name }
get "/login"
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true"
follow_redirect!
assert_response :success
post "/login", :params => { "username" => user.email, "password" => "test", :referer => "/user/#{ERB::Util.u(user.display_name)}" }
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/show"
+ assert_template "users/show"
get "/user/#{ERB::Util.u(user.display_name)}/account"
assert_response :success
- assert_template "user/account"
+ assert_template "users/account"
# check that the form to allow new client application creations exists
assert_in_heading do
follow_redirect!
# We should now be at the login page
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
# We can now login
post "/login", :params => { "username" => user.email, "password" => "test" }
assert_response :redirect
get "/user/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
end
end
display_name = "#{locale}_new_tester"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => dup_email, :email_confirmation => dup_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } },
- :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => dup_email, :email_confirmation => dup_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } },
+ :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
+ end
end
end
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_equal locale.to_s, response.headers["Content-Language"] unless locale == :root
assert_select "form > fieldset > div.form-row > input.field_with_errors#user_email"
assert_no_missing_translations
email = "#{locale}_new_tester"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => email, :email_confirmation => email, :display_name => dup_display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } },
- :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => email, :email_confirmation => email, :display_name => dup_display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } },
+ :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
+ end
end
end
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "form > fieldset > div.form-row > input.field_with_errors#user_display_name"
assert_no_missing_translations
end
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ end
end
end
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/save",
- :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/save",
+ :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password }, :referer => referer }
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password }, :referer => referer }
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :pass_crypt => password, :pass_crypt_confirmation => password } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
password = "testtest"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => password, :pass_crypt_confirmation => password } }
- assert_response :redirect
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => password, :pass_crypt_confirmation => password } }
+ assert_response :redirect
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
display_name = "new_tester-openid2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_failure_path(:strategy => "openid", :message => "connection_failed", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- follow_redirect!
- assert_response :success
- assert_template "user/new"
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "openid", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "users/new"
+ end
end
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "openid", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
password = "testtest"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "google")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
- assert_response :redirect
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "google")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
+ assert_response :redirect
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
display_name = "new_tester-google2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "google")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_failure_path(:strategy => "google", :message => "connection_failed", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- follow_redirect!
- assert_response :success
- assert_template "user/new"
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "google")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "google", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "users/new"
+ end
end
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "google")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "google")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "google", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
password = "testtest"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "facebook")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
- assert_response :redirect
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "facebook")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
+ assert_response :redirect
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
display_name = "new_tester-facebook2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "facebook")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_failure_path(:strategy => "facebook", :message => "connection_failed", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- follow_redirect!
- assert_response :success
- assert_template "user/new"
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "facebook")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "facebook", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "users/new"
+ end
end
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "facebook")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "facebook")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "facebook", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
password = "testtest"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "windowslive")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
- assert_response :redirect
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "windowslive")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
+ assert_response :redirect
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
display_name = "new_tester-windowslive2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "windowslive")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_failure_path(:strategy => "windowslive", :message => "connection_failed", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- follow_redirect!
- assert_response :success
- assert_template "user/new"
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "windowslive")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "windowslive", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "users/new"
+ end
end
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "windowslive")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "windowslive")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "windowslive", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
password = "testtest"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "github")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
- assert_response :redirect
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
+ assert_response :redirect
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
display_name = "new_tester-github2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "github")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_failure_path(:strategy => "github", :message => "connection_failed", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- follow_redirect!
- assert_response :success
- assert_template "user/new"
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "github", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "users/new"
+ end
end
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "github")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "github")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "github", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
password = "testtest"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
- assert_response :redirect
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "123454321", :pass_crypt => password, :pass_crypt_confirmation => password } }
+ assert_response :redirect
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
end
display_name = "new_tester-wikipedia2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :pass_crypt => "", :pass_crypt_confirmation => "" } }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_failure_path(:strategy => "wikipedia", :message => "connection_failed", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- follow_redirect!
- assert_response :success
- assert_template "user/new"
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :pass_crypt => "", :pass_crypt_confirmation => "" } }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_failure_path(:strategy => "wikipedia", :message => "connection_failed", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ follow_redirect!
+ assert_response :success
+ assert_template "users/new"
+ end
end
end
referer = "/traces/mine"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
- post "/user/new",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
- assert_response :redirect
- assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_response :redirect
- assert_redirected_to "/user/terms"
- post "/user/save",
- :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
- follow_redirect!
+ perform_enqueued_jobs do
+ post "/user/new",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :pass_crypt => "", :pass_crypt_confirmation => "" }, :referer => referer }
+ assert_response :redirect
+ assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+ follow_redirect!
+ assert_response :redirect
+ assert_redirected_to "/user/terms"
+ post "/user/save",
+ :params => { :user => { :email => new_email, :email_confirmation => new_email, :display_name => display_name, :auth_provider => "wikipedia", :auth_uid => "http://localhost:1123/new.tester", :pass_crypt => "testtest", :pass_crypt_confirmation => "testtest" } }
+ follow_redirect!
+ end
end
end
# Check the page
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
ActionMailer::Base.deliveries.clear
# Go to the confirmation page
get "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :success
- assert_template "user/confirm"
+ assert_template "users/confirm"
post "/user/#{display_name}/confirm", :params => { :confirm_string => confirm_string }
assert_response :redirect
follow_redirect!
# We should now be at the login page
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
# We can now login
post "/login", :params => { "username" => user.email, "password" => "test", :referer => "/diary/new" }
assert_response :redirect
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :cookie_test => true, :referer => "/history"
+ assert_redirected_to :controller => :users, :action => :login, :cookie_test => true, :referer => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :openid_url => "http://localhost:1123/john.doe", :referer => "/history" }
assert_response :redirect
assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/john.doe", :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :cookie_test => true, :referer => "/history"
+ assert_redirected_to :controller => :users, :action => :login, :cookie_test => true, :referer => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :openid_url => user.auth_uid, :remember_me_openid => true, :referer => "/history" }
assert_response :redirect
assert_redirected_to auth_path(:provider => "openid", :openid_url => user.auth_uid, :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :cookie_test => true, :referer => "/history"
+ assert_redirected_to :controller => :users, :action => :login, :cookie_test => true, :referer => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :openid_url => user.auth_uid, :referer => "/history" }
assert_response :redirect
assert_redirected_to auth_path(:provider => "openid", :openid_url => user.auth_uid, :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :cookie_test => true, :referer => "/history"
+ assert_redirected_to :controller => :users, :action => :login, :cookie_test => true, :referer => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :openid_url => user.auth_uid, :referer => "/history" }
assert_response :redirect
assert_redirected_to auth_path(:provider => "openid", :openid_url => user.auth_uid, :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :cookie_test => true, :referer => "/history"
+ assert_redirected_to :controller => :users, :action => :login, :cookie_test => true, :referer => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :openid_url => "http://localhost:1123/fred.bloggs", :referer => "/history" }
assert_response :redirect
assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/fred.bloggs", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "span.username", false
end
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "google", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "google")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "google", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "google")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "google", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "google")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "google", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "google")
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "span.username", false
end
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "google", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "google")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "facebook", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "facebook")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "facebook", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "facebook")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "facebook", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "facebook")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "facebook", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "facebook")
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "span.username", false
end
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "windowslive")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "windowslive")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "windowslive")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "windowslive")
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "span.username", false
end
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "github")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "github")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "github")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "github", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "github")
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "span.username", false
end
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
get "/login", :params => { :referer => "/history" }
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true", "referer" => "/history"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true", "referer" => "/history"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
get auth_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/login?referer=%2Fhistory", :referer => "/history")
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/new"
+ assert_template "users/new"
assert_select "span.username", false
end
def try_password_login(username, password, remember_me = nil)
get "/login"
assert_response :redirect
- assert_redirected_to :controller => :user, :action => :login, :cookie_test => true
+ assert_redirected_to :controller => :users, :action => :login, :cookie_test => true
follow_redirect!
assert_response :success
assert_template "login"
def check_fail(action, user, role)
get "/login"
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true"
follow_redirect!
assert_response :success
post "/login", :params => { "username" => create(user).email, "password" => "test", :referer => "/" }
def check_success(action, user, role)
get "/login"
assert_response :redirect
- assert_redirected_to "controller" => "user", "action" => "login", "cookie_test" => "true"
+ assert_redirected_to "controller" => "users", "action" => "login", "cookie_test" => "true"
follow_redirect!
assert_response :success
post "/login", :params => { "username" => create(user).email, "password" => "test", :referer => "/" }
get "/login"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :username => user.email, :password => "test", :referer => "/diary/new" }
assert_response :redirect
# but now we need to look at the terms
- assert_redirected_to :controller => :user, :action => :terms, :referer => "/diary/new"
+ assert_redirected_to :controller => :users, :action => :terms, :referer => "/diary/new"
follow_redirect!
assert_response :success
get "/login"
follow_redirect!
assert_response :success
- assert_template "user/login"
+ assert_template "users/login"
post "/login", :params => { :username => user.email, :password => "test", :referer => "/diary/new" }
assert_response :redirect
# but now we need to look at the terms
- assert_redirected_to :controller => :user, :action => :terms, :referer => "/diary/new"
+ assert_redirected_to :controller => :users, :action => :terms, :referer => "/diary/new"
# check that if we go somewhere else now, it redirects
# back to the terms page.
get "/traces/mine"
- assert_redirected_to :controller => :user, :action => :terms, :referer => "/traces/mine"
+ assert_redirected_to :controller => :users, :action => :terms, :referer => "/traces/mine"
get "/traces/mine", :params => { :referer => "/diary/new" }
- assert_redirected_to :controller => :user, :action => :terms, :referer => "/diary/new"
+ assert_redirected_to :controller => :users, :action => :terms, :referer => "/diary/new"
end
end
assert_equal 39, changeset.min_lat
assert_equal 39, changeset.max_lat
end
+
+ def test_changeset_bbox_delete_relation
+ orig_relation = create(:relation)
+ node1 = create(:node, :longitude => 116, :latitude => 39)
+ node2 = create(:node, :longitude => 39, :latitude => 116)
+ create(:relation_member, :relation => orig_relation, :member_type => "Node", :member_id => node1.id)
+ create(:relation_member, :relation => orig_relation, :member_type => "Node", :member_id => node2.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 = orig_relation.id
+ new_relation.version = orig_relation.version
+ new_relation.changeset_id = changeset.id
+ orig_relation.delete_with_history!(new_relation, user)
+ changeset.reload
+ assert_equal 39, changeset.min_lon
+ assert_equal 116, changeset.max_lon
+ assert_equal 39, changeset.min_lat
+ assert_equal 116, changeset.max_lat
+ end
end
def test_view_issues_not_logged_in
visit issues_path
- assert page.has_content?(I18n.t("user.login.title"))
+ assert page.has_content?(I18n.t("users.login.title"))
end
def test_view_issues_normal_user
visit browse_note_path(note)
assert page.has_content?(note.comments.first.body)
- assert_not page.has_content?(I18n.t("user.show.report"))
+ assert_not page.has_content?(I18n.t("users.show.report"))
end
def test_can_report_user
sign_in_as(create(:user))
visit user_path(user)
- click_on I18n.t("user.show.report")
+ click_on I18n.t("users.show.report")
assert page.has_content? "Report"
assert page.has_content? I18n.t("reports.new.disclaimer.intro")
sign_in_as(create(:user))
visit user_path(user)
- click_on I18n.t("user.show.report")
+ click_on I18n.t("users.show.report")
assert page.has_content? "Report"
assert page.has_content? I18n.t("reports.new.disclaimer.intro")
visit user_path(user)
- click_on I18n.t("user.show.report")
+ click_on I18n.t("users.show.report")
assert page.has_content? "Report"
assert page.has_content? I18n.t("reports.new.disclaimer.intro")
module ActiveSupport
class TestCase
include FactoryBot::Syntax::Methods
+ include ActiveJob::TestHelper
##
# takes a block which is executed in the context of a different