From: Kai Krueger Date: Sat, 27 Feb 2010 11:21:15 +0000 (+0000) Subject: merge 19889:20181 of rails_port into the openID branch X-Git-Tag: live~6389 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/bbf30e76e4bfcd70e62fc84ecd32c5e494506e9e?hp=17a7c69e8dfefb5dda2a9f57d6ea3c879d4568f4 merge 19889:20181 of rails_port into the openID branch merge conflicts with the remember_me functionality --- diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index e3ee92ff0..7c6a140bd 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -133,12 +133,12 @@ class AmfController < ApplicationController when 'putway'; orn=renumberednodes.dup r=putway(renumberednodes,*args) r[4]=renumberednodes.reject { |k,v| orn.has_key?(k) } - if r[2] != r[3] then renumberedways[r[2]] = r[3] end + if r[0]==0 and r[2] != r[3] then renumberedways[r[2]] = r[3] end result=AMF.putdata(index,r) when 'putrelation'; result=AMF.putdata(index,putrelation(renumberednodes, renumberedways, *args)) when 'deleteway'; result=AMF.putdata(index,deleteway(*args)) when 'putpoi'; r=putpoi(*args) - if r[2] != r[3] then renumberednodes[r[2]] = r[3] end + if r[0]==0 and r[2] != r[3] then renumberednodes[r[2]] = r[3] end result=AMF.putdata(index,r) when 'startchangeset'; result=AMF.putdata(index,startchangeset(*args)) end @@ -156,6 +156,8 @@ class AmfController < ApplicationController def amf_handle_error(call,rootobj,rootid) yield + rescue OSM::APIAlreadyDeletedError => ex + return [-4, ex.object, ex.object_id] rescue OSM::APIVersionMismatchError => ex return [-3, [rootobj, rootid], [ex.type.downcase, ex.id, ex.latest]] rescue OSM::APIUserChangesetMismatchError => ex @@ -358,7 +360,7 @@ class AmfController < ApplicationController way = Way.find(:first, :conditions => { :id => wayid }, :include => { :nodes => :node_tags }) # check case where way has been deleted or doesn't exist - return [-4, 'way', wayid, [], {}, nil] if way.nil? or !way.visible + return [-4, 'way', wayid] if way.nil? or !way.visible points = way.nodes.collect do |node| nodetags=node.tags @@ -403,7 +405,7 @@ class AmfController < ApplicationController unless old_way.nil? points = old_way.get_nodes_revert(timestamp) if !old_way.visible - return [-1, "Sorry, the way was deleted at that time - please revert to a previous version.", id, [], {}, nil, false] + return [-1, "Sorry, the way was deleted at that time - please revert to a previous version.", id] end end rescue ArgumentError @@ -413,7 +415,7 @@ class AmfController < ApplicationController end if old_way.nil? - return [-1, "Sorry, the server could not find a way at that time.", id, [], {}, nil, false] + return [-1, "Sorry, the server could not find a way at that time.", id] else curway=Way.find(id) old_way.tags['history'] = "Retrieved from v#{old_way.version}" @@ -492,8 +494,8 @@ class AmfController < ApplicationController def findgpx(searchterm, usertoken) amf_handle_error_with_timeout("'findgpx'" ,nil,nil) do user = getuser(usertoken) - if !user then return -1,"You must be logged in to search for GPX traces.",[] end - unless user.active_blocks.empty? then return -1,t('application.setup_user_auth.blocked'),[] end + if !user then return -1,"You must be logged in to search for GPX traces." end + unless user.active_blocks.empty? then return -1,t('application.setup_user_auth.blocked') end gpxs = [] if searchterm.to_i>0 then @@ -523,7 +525,7 @@ class AmfController < ApplicationController amf_handle_error("'getrelation' #{relid}" ,'relation',relid) do rel = Relation.find(:first, :conditions => { :id => relid }) - return [-4, 'relation', relid, {}, [], nil] if rel.nil? or !rel.visible + return [-4, 'relation', relid] if rel.nil? or !rel.visible [0, '', relid, rel.tags, rel.members, rel.version] end end @@ -560,7 +562,7 @@ class AmfController < ApplicationController user = getuser(usertoken) if !user then return -1,"You are not logged in, so the relation could not be saved." end unless user.active_blocks.empty? then return -1,t('application.setup_user_auth.blocked') end - if !tags_ok(tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end + if !tags_ok(tags) then return -1,"One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." end tags = strip_non_xml_chars tags relid = relid.to_i @@ -649,7 +651,7 @@ class AmfController < ApplicationController if !user then return -1,"You are not logged in, so the way could not be saved." end unless user.active_blocks.empty? then return -1,t('application.setup_user_auth.blocked') end if pointlist.length < 2 then return -2,"Server error - way is only #{points.length} points long." end - if !tags_ok(attributes) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end + if !tags_ok(attributes) then return -1,"One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." end attributes = strip_non_xml_chars attributes originalway = originalway.to_i @@ -666,6 +668,7 @@ class AmfController < ApplicationController lat = a[1].to_f id = a[2].to_i version = a[3].to_i + if id == 0 then return -2,"Server error - node with id 0 found in way #{originalway}." end if lat== 90 then return -2,"Server error - node with latitude -90 found in way #{originalway}." end if renumberednodes[id] then id = renumberednodes[id] end @@ -677,7 +680,7 @@ class AmfController < ApplicationController node.tags = a[4] # fixup node tags in a way as well - if !tags_ok(node.tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end + if !tags_ok(node.tags) then return -1,"One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." end node.tags = strip_non_xml_chars node.tags node.tags.delete('created_by') @@ -753,7 +756,7 @@ class AmfController < ApplicationController user = getuser(usertoken) if !user then return -1,"You are not logged in, so the point could not be saved." end unless user.active_blocks.empty? then return -1,t('application.setup_user_auth.blocked') end - if !tags_ok(tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end + if !tags_ok(tags) then return -1,"One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." end tags = strip_non_xml_chars tags id = id.to_i @@ -765,7 +768,7 @@ class AmfController < ApplicationController node = Node.find(id) if !visible then - unless node.ways.empty? then return -1,"The point has since become part of a way, so you cannot save it as a POI.",id,id,version end + unless node.ways.empty? then return -1,"Point #{id} has since become part of a way, so you cannot save it as a POI.",id,id,version end end end # We always need a new node, based on the data that has been sent to us @@ -816,7 +819,7 @@ class AmfController < ApplicationController if n return [0, '', n.id, n.lon, n.lat, n.tags, v] else - return [-4, 'node', id, nil, nil, {}, nil] + return [-4, 'node', id] end end end @@ -832,7 +835,7 @@ class AmfController < ApplicationController # Returns 0 (success), unchanged way id, new way version, new node versions. def deleteway(usertoken, changeset_id, way_id, way_version, deletednodes) #:doc: - amf_handle_error("'deleteway' #{way_id}" ,'way',id) do + amf_handle_error("'deleteway' #{way_id}" ,'way', way_id) do user = getuser(usertoken) unless user then return -1,"You are not logged in, so the way could not be deleted." end unless user.active_blocks.empty? then return -1,t('application.setup_user_auth.blocked') end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 6750b5d8e..0c4117047 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -192,6 +192,8 @@ class ApplicationController < ActionController::Base report_error message, :bad_request rescue OSM::APIError => ex report_error ex.message, ex.status + rescue ActionController::UnknownAction => ex + raise rescue Exception => ex logger.info("API threw unexpected #{ex.class} exception: #{ex.message}") ex.backtrace.each { |l| logger.info(l) } diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 735c51dcd..6c7c9658b 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -166,7 +166,7 @@ class DiaryEntryController < ApplicationController :visible => true }) if @entry - @title = t 'diary_entry.view.title', :user => params[:display_name] + @title = t 'diary_entry.view.title', :user => params[:display_name], :title => @entry.title else @title = t 'diary_entry.no_such_entry.title', :id => params[:id] render :action => 'no_such_entry', :status => :not_found diff --git a/app/controllers/geocoder_controller.rb b/app/controllers/geocoder_controller.rb index f8821ec36..8394b3e6e 100644 --- a/app/controllers/geocoder_controller.rb +++ b/app/controllers/geocoder_controller.rb @@ -17,11 +17,13 @@ class GeocoderController < ApplicationController @sources.push "latlon" elsif @query.match(/^\d{5}(-\d{4})?$/) @sources.push "us_postcode" + @sources.push "osm_nominatim" elsif @query.match(/^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW])\s*[0-9][ABD-HJLNP-UW-Z]{2})$/i) @sources.push "uk_postcode" @sources.push "osm_nominatim" elsif @query.match(/^[A-Z]\d[A-Z]\s*\d[A-Z]\d$/i) @sources.push "ca_postcode" + @sources.push "osm_nominatim" else @sources.push "osm_nominatim" @sources.push "geonames" diff --git a/app/controllers/message_controller.rb b/app/controllers/message_controller.rb index 73abc68cc..435c3fa78 100644 --- a/app/controllers/message_controller.rb +++ b/app/controllers/message_controller.rb @@ -100,8 +100,15 @@ class MessageController < ApplicationController end message.message_read = message_read if message.save - flash[:notice] = notice - redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name + if request.xhr? + render :update do |page| + page.replace "inbox-count", :partial => "message_count" + page.replace "inbox-#{message.id}", :partial => "message_summary", :object => message + end + else + flash[:notice] = notice + redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name + end end end rescue ActiveRecord::RecordNotFound diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index ea107c2b5..3c16b9a80 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -233,7 +233,7 @@ class TraceController < ApplicationController rss = OSM::GeoRSS.new traces.each do |trace| - rss.add(trace.latitude, trace.longitude, trace.name, trace.user.display_name, url_for({:controller => 'trace', :action => 'view', :id => trace.id, :display_name => trace.user.display_name}), " 'icon', :id => trace.id, :user_login => trace.user.display_name})}'> GPX file with #{trace.size} points from #{trace.user.display_name}", trace.timestamp) + rss.add(trace.latitude, trace.longitude, trace.name, trace.user.display_name, url_for({:controller => 'trace', :action => 'view', :id => trace.id, :display_name => trace.user.display_name}), " 'icon', :id => trace.id, :display_name => trace.user.display_name})}'> GPX file with #{trace.size} points from #{trace.user.display_name}", trace.timestamp) end render :text => rss.to_s, :content_type => "application/rss+xml" diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index f9bbd5dd5..97e184b59 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -4,9 +4,9 @@ class UserController < ApplicationController before_filter :authorize, :only => [:api_details, :api_gpx_files] before_filter :authorize_web, :except => [:api_details, :api_gpx_files] before_filter :set_locale, :except => [:api_details, :api_gpx_files] - before_filter :require_user, :only => [:set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image] + before_filter :require_user, :only => [:account, :go_public, :make_friend, :remove_friend] before_filter :check_database_readable, :except => [:api_details, :api_gpx_files] - before_filter :check_database_writable, :only => [:login, :new, :set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image] + before_filter :check_database_writable, :only => [:login, :new, :account, :go_public, :make_friend, :remove_friend] before_filter :check_api_readable, :only => [:api_details, :api_gpx_files] before_filter :require_allow_read_prefs, :only => [:api_details] before_filter :require_allow_read_gpx, :only => [:api_gpx_files] @@ -15,7 +15,7 @@ class UserController < ApplicationController before_filter :lookup_this_user, :only => [:activate, :deactivate, :hide, :unhide, :delete] filter_parameter_logging :password, :pass_crypt, :pass_crypt_confirmation - + cache_sweeper :user_sweeper, :only => [:account, :hide, :unhide, :delete] def save @@ -24,31 +24,31 @@ class UserController < ApplicationController if Acl.find_by_address(request.remote_ip, :conditions => {:k => "no_account_creation"}) render :action => 'new' else - #The redirect from the OpenID provider reenters here again - #and we need to pass the parameters through to the - #open_id_authentication function a second time - if params[:open_id_complete] - openid_verify('', true) - #We have set the user.openid_url to nil beforehand. If it hasn't - #been set to a new valid openid_url, it means the openid couldn't be validated - if @user.nil? or @user.openid_url.nil? - render :action => 'new' - return - end - else - @user = User.new(params[:user]) - - @user.visible = true - @user.data_public = true - @user.description = "" if @user.description.nil? - @user.creation_ip = request.remote_ip - @user.languages = request.user_preferred_languages - #Set the openid_url to nil as for one it is used - #to check if the openid could be validated and secondly - #to not get dupplicate conflicts for an empty openid - @user.openid_url = nil - - if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0) + #The redirect from the OpenID provider reenters here again + #and we need to pass the parameters through to the + #open_id_authentication function a second time + if params[:open_id_complete] + openid_verify('', true) + #We have set the user.openid_url to nil beforehand. If it hasn't + #been set to a new valid openid_url, it means the openid couldn't be validated + if @user.nil? or @user.openid_url.nil? + render :action => 'new' + return + end + else + @user = User.new(params[:user]) + + @user.visible = true + @user.data_public = true + @user.description = "" if @user.description.nil? + @user.creation_ip = request.remote_ip + @user.languages = request.user_preferred_languages + #Set the openid_url to nil as for one it is used + #to check if the openid could be validated and secondly + #to not get dupplicate conflicts for an empty openid + @user.openid_url = nil + +if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0) if @user.pass_crypt.length == 0 #if the password is empty, but we have a openid #then generate a random passowrd to disable @@ -89,13 +89,14 @@ class UserController < ApplicationController return end end - if @user.save - flash[:notice] = t 'user.new.flash create success message' - Notifier.deliver_signup_confirm(@user, @user.tokens.create(:referer => params[:referer])) - redirect_to :action => 'login' - else - render :action => 'new' - end + + if @user.save + flash[:notice] = t 'user.new.flash create success message' + Notifier.deliver_signup_confirm(@user, @user.tokens.create(:referer => params[:referer])) + redirect_to :action => 'login' + else + render :action => 'new' + end end end @@ -103,7 +104,7 @@ class UserController < ApplicationController @title = t 'user.account.title' @tokens = @user.oauth_tokens.find :all, :conditions => 'oauth_tokens.invalidated_at is null and oauth_tokens.authorized_at is not null' - #The redirect from the OpenID provider reenters here again + #The redirect from the OpenID provider reenters here again #and we need to pass the parameters through to the #open_id_authentication function if params[:open_id_complete] @@ -113,38 +114,42 @@ class UserController < ApplicationController end if params[:user] and params[:user][:display_name] and params[:user][:description] - if params[:user][:email] != @user.email - @user.new_email = params[:user][:email] - end - @user.display_name = params[:user][:display_name] + @user.new_email = params[:user][:new_email] if params[:user][:pass_crypt].length > 0 or params[:user][:pass_crypt_confirmation].length > 0 @user.pass_crypt = params[:user][:pass_crypt] @user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation] end - if (params[:user][:openid_url].length == 0) - #Clearing doesn't need OpenID validation, so we can set it here. - @user.openid_url = nil - end @user.description = params[:user][:description] @user.languages = params[:user][:languages].split(",") + + case params[:image_action] + when "new" then @user.image = params[:user][:image] + when "delete" then @user.image = nil + end + @user.home_lat = params[:user][:home_lat] @user.home_lon = params[:user][:home_lon] if @user.save set_locale - if params[:user][:email] == @user.new_email - flash.now[:notice] = t 'user.account.flash update success confirm needed' - Notifier.deliver_email_confirm(@user, @user.tokens.create) - else + if @user.new_email.nil? or @user.new_email.empty? flash.now[:notice] = t 'user.account.flash update success' + else + flash.now[:notice] = t 'user.account.flash update success confirm needed' + + begin + Notifier.deliver_email_confirm(@user, @user.tokens.create) + rescue + # Ignore errors sending email + end end end - if (params[:user][:openid_url].length > 0) + if (params[:user][:openid_url].length > 0) begin @norm_openid_url = OpenIdAuthentication.normalize_identifier(params[:user][:openid_url]) if (@norm_openid_url != @user.openid_url) @@ -158,6 +163,13 @@ class UserController < ApplicationController end end + else + if flash[:errors] + flash[:errors].each do |attr,msg| + attr = "new_email" if attr == "email" + @user.errors.add(attr,msg) + end + end end end @@ -197,14 +209,48 @@ class UserController < ApplicationController end end - - def set_home - if params[:user][:home_lat] and params[:user][:home_lon] - @user.home_lat = params[:user][:home_lat].to_f - @user.home_lon = params[:user][:home_lon].to_f - if @user.save - flash[:notice] = t 'user.set_home.flash success' - redirect_to :controller => 'user', :action => 'account' + def open_id_authentication(openid_url) + #TODO: only ask for nickname and email, if we don't already have a user for that openID, in which case + #email and nickname are already filled out. I don't know how to do that with ruby syntax though, as we + #don't want to duplicate the do block + #On the other hand it also doesn't matter too much if we ask every time, as the OpenID provider should + #remember these results, and shouldn't repromt the user for these data each time. + authenticate_with_open_id(openid_url, :return_to => request.protocol + request.host_with_port + '/login?referer=' + params[:referer], :optional => [:nickname, :email]) do |result, identity_url, registration| + if result.successful? + #We need to use the openid url passed back from the OpenID provider + #rather than the one supplied by the user, as these can be different. + #e.g. one can simply enter yahoo.com in the login box, i.e. no user specific url + #only once it comes back from the OpenID provider do we know the unique address for + #the user. + user = User.find_by_openid_url(identity_url) + if user + if user.visible? and user.active? + session[:user] = user.id + session_expires_after 1.month if session[:remember] + else + user = nil + flash.now[:error] = t 'user.login.account not active' + end + else + #We don't have a user registered to this OpenID. Redirect to the create account page + #with username and email filled in if they have been given by the OpenID provider through + #the simple registration protocol + redirect_to :controller => 'user', :action => 'new', :nickname => registration['nickname'], :email => registration['email'], :openid => identity_url + end + else if result.missing? + #Try and apply some heuristics to make common cases more userfriendly + mapped_id = openid_specialcase_mapping(openid_url) + if mapped_id + open_id_authentication(mapped_id) + else + flash.now[:error] = t 'user.login.openid missing provider' + end + else if result.invalid? + flash.now[:error] = t 'user.login.openid invalid' + else + flash.now[:error] = t 'user.login.auth failure' + end + end end end end @@ -225,7 +271,8 @@ class UserController < ApplicationController if user token = user.tokens.create Notifier.deliver_lost_password(user, token) - flash.now[:notice] = t 'user.lost_password.notice email on way' + flash[:notice] = t 'user.lost_password.notice email on way' + redirect_to :action => 'login' else flash.now[:error] = t 'user.lost_password.notice email cannot find' end @@ -267,39 +314,39 @@ class UserController < ApplicationController # send them to the home page redirect_to :controller => 'site', :action => 'index' if session[:user] - @nickname = params['nickname'] + @nickname = params['nickname'] @email = params['email'] @openID = params['openid'] end def login - #The redirect from the OpenID provider reenters here again + #The redirect from the OpenID provider reenters here again #and we need to pass the parameters through to the # open_id_authentication function if params[:open_id_complete] open_id_authentication('') end - if params[:user] and session[:user].nil? - - if !params[:user][:openid_url].nil? and !params[:user][:openid_url].empty? + if !params[:user][:openid_url].nil? and !params[:user][:openid_url].empty? + session[:remember] = params[:remember_me] open_id_authentication(params[:user][:openid_url]) else - email_or_display_name = params[:user][:email] - pass = params[:user][:password] - user = User.authenticate(:username => email_or_display_name, :password => pass) - if user - session[:user] = user.id - elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true) - flash.now[:error] = t 'user.login.account not active' - else - flash.now[:error] = t 'user.login.auth failure' - end - end + email_or_display_name = params[:user][:email] + pass = params[:user][:password] + user = User.authenticate(:username => email_or_display_name, :password => pass) + if user + session[:user] = user.id + session_expires_after 1.month if params[:remember_me] + elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true) + flash.now[:error] = t 'user.login.account not active' + else + flash.now[:error] = t 'user.login.auth failure' + end + end end - + if session[:user] # The user is logged in, if the referer param exists, redirect them to that # unless they've also got a block on them, in which case redirect them to @@ -319,51 +366,6 @@ class UserController < ApplicationController @title = t 'user.login.title' end - def open_id_authentication(openid_url) - #TODO: only ask for nickname and email, if we don't already have a user for that openID, in which case - #email and nickname are already filled out. I don't know how to do that with ruby syntax though, as we - #don't want to duplicate the do block - #On the other hand it also doesn't matter too much if we ask every time, as the OpenID provider should - #remember these results, and shouldn't repromt the user for these data each time. - authenticate_with_open_id(openid_url, :return_to => request.protocol + request.host_with_port + '/login?referer=' + params[:referer], :optional => [:nickname, :email]) do |result, identity_url, registration| - if result.successful? - #We need to use the openid url passed back from the OpenID provider - #rather than the one supplied by the user, as these can be different. - #e.g. one can simply enter yahoo.com in the login box, i.e. no user specific url - #only once it comes back from the OpenID provider do we know the unique address for - #the user. - user = User.find_by_openid_url(identity_url) - if user - if user.visible? and user.active? - session[:user] = user.id - else - user = nil - flash.now[:error] = t 'user.login.account not active' - end - else - #We don't have a user registered to this OpenID. Redirect to the create account page - #with username and email filled in if they have been given by the OpenID provider through - #the simple registration protocol - redirect_to :controller => 'user', :action => 'new', :nickname => registration['nickname'], :email => registration['email'], :openid => identity_url - end - else if result.missing? - #Try and apply some heuristics to make common cases more userfriendly - mapped_id = openid_specialcase_mapping(openid_url) - if mapped_id - open_id_authentication(mapped_id) - else - flash.now[:error] = t 'user.login.openid missing provider' - end - else if result.invalid? - flash.now[:error] = t 'user.login.openid invalid' - else - flash.now[:error] = t 'user.login.auth failure' - end - end - end - end - end - def logout if session[:token] token = UserToken.find_by_token(session[:token]) @@ -373,6 +375,7 @@ class UserController < ApplicationController session[:token] = nil end session[:user] = nil + session_expires_automatically if params[:referer] redirect_to params[:referer] else @@ -412,9 +415,12 @@ class UserController < ApplicationController @user.new_email = nil @user.active = true @user.email_valid = true - @user.save! + if @user.save + flash[:notice] = t 'user.confirm_email.success' + else + flash[:errors] = @user.errors + end token.destroy - flash[:notice] = t 'user.confirm_email.success' session[:user] = @user.id redirect_to :action => 'account', :display_name => @user.display_name else @@ -423,18 +429,6 @@ class UserController < ApplicationController end end - def upload_image - @user.image = params[:user][:image] - @user.save! - redirect_to :controller => 'user', :action => 'view', :display_name => @user.display_name - end - - def delete_image - @user.image = nil - @user.save! - redirect_to :controller => 'user', :action => 'view', :display_name => @user.display_name - end - def api_gpx_files doc = OSM::API.new.get_xml_doc @user.traces.each do |trace| diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 803cbb52f..d13974fd9 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -19,7 +19,6 @@ class Changeset < ActiveRecord::Base validates_numericality_of :min_lat, :max_lat, :min_lon, :max_lat, :allow_nil => true, :integer_only => true validates_numericality_of :user_id, :integer_only => true validates_numericality_of :num_changes, :integer_only => true, :greater_than_or_equal_to => 0 - validates_associated :user # over-expansion factor to use when updating the bounding box EXPAND = 0.1 diff --git a/app/models/diary_entry.rb b/app/models/diary_entry.rb index 20acd962e..0524b75cf 100644 --- a/app/models/diary_entry.rb +++ b/app/models/diary_entry.rb @@ -20,6 +20,5 @@ class DiaryEntry < ActiveRecord::Base :greater_than_or_equal_to => -90, :less_than_or_equal_to => 90 validates_numericality_of :longitude, :allow_nil => true, :greater_than_or_equal_to => -180, :less_than_or_equal_to => 180 - validates_associated :user validates_associated :language end diff --git a/app/models/message.rb b/app/models/message.rb index 98346d7c7..053c7a4c0 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -7,7 +7,6 @@ class Message < ActiveRecord::Base validates_presence_of :title, :body, :sent_on, :sender, :recipient validates_length_of :title, :within => 1..255 validates_inclusion_of :message_read, :in => [ true, false ] - validates_associated :sender, :recipient validates_as_utf8 :title def digest diff --git a/app/models/user.rb b/app/models/user.rb index eb69dc031..1a4769544 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,8 +25,8 @@ class User < ActiveRecord::Base validates_uniqueness_of :openid_url, :allow_nil => true validates_length_of :pass_crypt, :within => 8..255 validates_length_of :display_name, :within => 3..255, :allow_nil => true - validates_length_of :email, :within => 6..255 - validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i + validates_email_format_of :email + validates_email_format_of :new_email, :allow_blank => true validates_format_of :display_name, :with => /^[^\/;.,?]*$/ validates_numericality_of :home_lat, :allow_nil => true validates_numericality_of :home_lon, :allow_nil => true diff --git a/app/views/export/_start.html.erb b/app/views/export/_start.html.erb index 9e3d64783..d541aae8b 100644 --- a/app/views/export/_start.html.erb +++ b/app/views/export/_start.html.erb @@ -34,6 +34,14 @@

<%= t'export.start.export_details' %>

+ +
+

<%= t'export.start.too_large.heading' %>

+ +
+

<%= t'export.start.too_large.body' %>

+
@@ -57,6 +65,7 @@

<%= t'export.start.options' %>

+

<%= t'export.start.output' %>

+

<%= t'export.start.paste_html' %>

diff --git a/app/views/export/start.rjs b/app/views/export/start.rjs index 3c6722044..d556d8bf9 100644 --- a/app/views/export/start.rjs +++ b/app/views/export/start.rjs @@ -191,16 +191,16 @@ page << < #{APP_CONFIG['max_request_area']}) { - $("format_osm").disabled = true; - $("format_osm").checked = false; - $("export_osm").style.display = "none"; + $("export_osm_too_large").style.display = "block"; } else { - $("format_osm").disabled = false; + $("export_osm_too_large").style.display = "none"; } var max_scale = maxMapnikScale(); - if ($("format_mapnik").checked && $("mapnik_scale").value < max_scale) { + if ($("format_osm").checked && bounds.getWidth() * bounds.getHeight() > #{APP_CONFIG['max_request_area']}) { + $("export_commit").disabled = true; + } else if ($("format_mapnik").checked && $("mapnik_scale").value < max_scale) { $("export_commit").disabled = true; } else { $("export_commit").disabled = false; diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index dc621c631..8fb9beae1 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -65,8 +65,8 @@ diaryclass = 'active' if params['controller'] == 'diary_entry' %>
  • <%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => t('layouts.view_tooltip'), :class => viewclass} %>
  • -
  • <%= link_to t('layouts.edit'), {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('layouts.edit_tooltip'), :class => editclass} %>
  • -
  • <%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list' }, {:id => 'historyanchor', :title => t('layouts.history_tooltip'), :class => historyclass} %>
  • +
  • <%= link_to t('layouts.edit'), {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => t('javascripts.site.edit_tooltip'), :class => editclass} %>
  • +
  • <%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list' }, {:id => 'historyanchor', :title => t('javascripts.site.history_tooltip'), :class => historyclass} %>
  • <% if params['controller'] == 'site' and (params['action'] == 'index' or params['action'] == 'export') %>
  • <%= link_to_remote t('layouts.export'), {:url => {:controller => 'export', :action => 'start'}}, {:id => 'exportanchor', :title => t('layouts.export_tooltip'), :class => exportclass, :href => url_for(:controller => 'site', :action => 'export')} %>
  • <% else %> diff --git a/app/views/message/_message_count.html.erb b/app/views/message/_message_count.html.erb new file mode 100644 index 000000000..27b0aa644 --- /dev/null +++ b/app/views/message/_message_count.html.erb @@ -0,0 +1 @@ +

    <%= t'message.inbox.you_have', :new_count => @user.new_messages.size, :old_count => (@user.messages.size - @user.new_messages.size) %>

    diff --git a/app/views/message/_message_summary.html.erb b/app/views/message/_message_summary.html.erb index 3d9976aab..d4d4f788b 100644 --- a/app/views/message/_message_summary.html.erb +++ b/app/views/message/_message_summary.html.erb @@ -1,13 +1,13 @@ <% this_colour = cycle('lightgrey', 'white') %> -"> +"> <%= link_to h(message_summary.sender.display_name), :controller => 'user', :action => message_summary.sender.display_name %> <%= link_to h(message_summary.title), :controller => 'message', :action => 'read', :message_id => message_summary.id %> <%= l message_summary.sent_on %> <% if message_summary.message_read? %> - <%= button_to t('message.message_summary.unread_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread' %> + <%= button_to t('message.message_summary.unread_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread'}, { :onclick => remote_function(:url => {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread'}) + "; return false;" } %> <% else %> - <%= button_to t('message.message_summary.read_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %> + <%= button_to t('message.message_summary.read_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read'}, { :onclick => remote_function(:url => {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read'}) + "; return false;" } %> <% end %> <%= button_to t('message.message_summary.reply_button'), :controller => 'message', :action => 'reply', :message_id => message_summary.id %> <%= button_to t('message.message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => message_summary.id, :referer => request.request_uri %> diff --git a/app/views/message/inbox.html.erb b/app/views/message/inbox.html.erb index 2a97b7bbd..897fb24ad 100644 --- a/app/views/message/inbox.html.erb +++ b/app/views/message/inbox.html.erb @@ -1,6 +1,6 @@

    <%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), url_for(:controller => "user", :action => "outbox", :id => @user.display_name) %>

    -

    <%= t'message.inbox.you_have', :new_count => @user.new_messages.size, :old_count => (@user.messages.size - @user.new_messages.size) %>

    +<%= render :partial => "message_count" %> <% if @user.messages.size > 0 %>
    diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index 0602b6f11..636e6929c 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -170,7 +170,8 @@ end url += "/full"; <% end %> - addObjectToMap(url, <%= object_zoom %>); + // IE requires Vector layers be initialised on page load, and not under deferred script conditions + Event.observe(window, 'load', function() { addObjectToMap(url, <%= object_zoom %>) }); <% end %> map.events.register("moveend", map, updateLocation); diff --git a/app/views/user/account.html.erb b/app/views/user/account.html.erb index 99d0f216e..c20f3526c 100644 --- a/app/views/user/account.html.erb +++ b/app/views/user/account.html.erb @@ -1,42 +1,106 @@

    <%= t 'user.account.my settings' %>

    <%= error_messages_for 'user' %> -<% form_for :user, @user do |f| %> +<% form_for :user, :html => { :multipart => true } do |f| %> - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + + - class="nohome" <%end%> > + class="nohome" <%end%> > + + + - + + + + - + + + +
    <%= t 'user.new.display name' %><%= f.text_field :display_name %>
    <%= t 'user.new.email address' %><%= f.text_field :email, {:size => 50, :maxlength => 255} %> <%= t 'user.account.email never displayed publicly' %>
    <%= t 'user.new.password' %><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255} %>
    <%= t 'user.new.confirm password' %><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255} %>
    <%= t 'user.account.openid.openid' %><%= f.text_field :openid_url %> (<%= t 'user.account.openid.link text' %>)
    <%= t 'user.account.public editing.heading' %> -<% if @user.data_public? %> - <%= t 'user.account.public editing.enabled' %> (<%= t 'user.account.public editing.enabled link text' %>) -<% else %> - <%= t 'user.account.public editing.disabled' %>(<%= t 'user.account.public editing.disabled link text' %>) -<% end %> -
    <%= t 'user.new.display name' %><%= f.text_field :display_name %>
    <%= t 'user.account.current email address' %><%= @user.email %> <%= t 'user.account.email never displayed publicly' %>
    <%= t 'user.account.new email address' %><%= f.text_field :new_email, {:size => 50, :maxlength => 255} %> <%= t 'user.account.email never displayed publicly' %>
    <%= t 'user.new.password' %><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255} %>
    <%= t 'user.new.confirm password' %><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255} %>
    <%= t 'user.account.openid.openid' %><%= f.text_field :openid_url %> (<%= t 'user.account.openid.link text' %>)
    <%= t 'user.account.public editing.heading' %> + <% if @user.data_public? %> + <%= t 'user.account.public editing.enabled' %> (<%= t 'user.account.public editing.enabled link text' %>) + <% else %> + <%= t 'user.account.public editing.disabled' %> (<%= t 'user.account.public editing.disabled link text' %>) + <% end %> +
    <%= t 'user.account.profile description' %><%= f.text_area :description, :rows => '5', :cols => '60' %>
    <%= t 'user.account.profile description' %><%= f.text_area :description, :rows => '5', :cols => '60' %>
    <%= t 'user.account.preferred languages' %><%= f.text_field :languages %>
    <%= t 'user.account.preferred languages' %><%= f.text_field :languages %>
    + <%= t 'user.account.image' %> + + <% if @user.image.nil? %> + <%= hidden_field_tag "image_action", "new" %> + <%= t 'user.account.new image' %>
    <%= file_column_field "user", "image" %> + <% else %> + + + + + + + + + + + + + + +
    <%= image_tag url_for_file_column(@user, "image") %><%= radio_button_tag "image_action", "keep", true %><%= t 'user.account.keep image' %>
    <%= radio_button_tag "image_action", "delete" %><%= t 'user.account.delete image' %>
    <%= radio_button_tag "image_action", "new" %><%= t 'user.account.replace image' %>
    <%= file_column_field "user", "image", :onchange => "$('image_action_new').checked = true" %>
    + <% end %> +
    <%= t 'user.account.home location' %><%= t 'user.account.no home location' %><%= t 'user.account.latitude' %> <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %><%= t 'user.account.longitude' %><%= f.text_field :home_lon, :size => 20, :id => "home_lon" %>
    <%= t 'user.account.home location' %><%= t 'user.account.no home location' %><%= t 'user.account.latitude' %> <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %><%= t 'user.account.longitude' %><%= f.text_field :home_lon, :size => 20, :id => "home_lon" %>
    -

    <%= t 'user.account.update home location on click' %> checked="checked" <% end %> id="updatehome" />

    -
    -
    +

    <%= t 'user.account.update home location on click' %> checked="checked" <% end %> id="updatehome" />

    +
    +

    <%= submit_tag t('user.account.save changes button') %>

    <%= submit_tag t('user.account.save changes button') %>
    -
    - <% end %> <%= render :partial => 'friend_map' %> + <% unless @user.data_public? %>

    <%= t 'user.account.public editing note.heading' %>

    diff --git a/app/views/user/login.html.erb b/app/views/user/login.html.erb index 16d820b69..269bbc0cc 100644 --- a/app/views/user/login.html.erb +++ b/app/views/user/login.html.erb @@ -6,16 +6,12 @@ <%= hidden_field_tag('referer', h(params[:referer])) %> - - - - + + + - - - - - - + + +
    <%= t 'user.login.email or username' %><%= text_field('user', 'email',{:size => 28, :maxlength => 255, :tabindex => 1}) %>
    <%= t 'user.login.password' %><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)
     
    <%= submit_tag t('user.login.login_button'), :tabindex => 3 %>

    <%= t 'user.login.alternatively' %>

    <%= t 'user.login.password' %><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)

    <%= t 'user.login.alternatively' %>

    <%= t 'user.login.openid' %><%= text_field('user', 'openid_url',{:size => 28, :maxlength => 255, :tabindex => 3}) %> (<%= t 'user.account.openid.link text' %>)
    <%= t 'user.login.openid description' %>         (<%= t 'user.account.openid.link text' %>)
    <%= t 'user.login.openid' %><%= text_field('user', 'openid_url',{:size => 28, :maxlength => 255, :tabindex => 3}) %>
     
    <%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
     
     
    <%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %><%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
    <% end %> diff --git a/app/views/user/view.html.erb b/app/views/user/view.html.erb index f05b26220..372bd660d 100644 --- a/app/views/user/view.html.erb +++ b/app/views/user/view.html.erb @@ -1,3 +1,6 @@ +<% if @this_user.image %> +<%= image_tag url_for_file_column(@this_user, "image"), :align => "right", :float => "left" %> +<% end %>

    <%= h(@this_user.display_name) %> <% UserRole::ALL_ROLES.each do |role| %> <% if @user and @user.administrator? %> @@ -64,23 +67,6 @@

    <%= t 'user.view.created from' %> <%= @this_user.creation_ip %>

    <% end %> -

    <%= t 'user.view.user image heading' %>

    -<% if @this_user.image %> - <%= image_tag url_for_file_column(@this_user, "image") %> - <% if @user and @this_user.id == @user.id %> - <%= button_to t('user.view.delete image'), :action => 'delete_image' %> - <% end %> -<% end %> -
    - -<% if @user and @this_user.id == @user.id %> - <%= t 'user.view.upload an image' %>
    - <%= form_tag({:action=>'upload_image'}, :multipart => true)%> - <%= file_column_field 'user', 'image' %> - <%= submit_tag t('user.view.add image') %> - -<% end %> -

    <%= t 'user.view.description' %>

    <%= htmlize(@this_user.description) %>
    @@ -158,7 +144,5 @@

    <% if @user and @this_user.id == @user.id %> -<%= link_to t('user.view.change your settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %> -

    <%= link_to t('user.view.my_oauth_details'), :controller => 'oauth_clients', :action => 'index' %> <% end %> diff --git a/config/lighttpd.conf b/config/lighttpd.conf index a224f4562..e728c6716 100644 --- a/config/lighttpd.conf +++ b/config/lighttpd.conf @@ -46,16 +46,19 @@ include_shell "lighttpd-host-blocks.sh" # # Block some troublesome robots # -$HTTP["useragent"] =~ "msnbot" { url.access-deny = ("") } +#$HTTP["useragent"] =~ "msnbot" { url.access-deny = ("") } $HTTP["useragent"] =~ "Twiceler" { url.access-deny = ("") } $HTTP["useragent"] =~ "Baiduspider" { url.access-deny = ("") } $HTTP["useragent"] =~ "Sosospider+" { url.access-deny = ("") } +#$HTTP["useragent"] =~ "Yahoo! Slurp" { url.access-deny = ("") } +$HTTP["useragent"] =~ "Yeti" { url.access-deny = ("") } +#$HTTP["useragent"] =~ "Googlebot" { url.access-deny = ("") } +$HTTP["useragent"] =~ "The Hare and the Hedgeho" { url.access-deny = ("") } # -# Rule to block tilesAtHome when somebody decides to queue vast -# number of tiles for rerendering +# Block tilesAtHome # -#$HTTP["useragent"] == "tilesAtHome" { url.access-deny = ("") } +$HTTP["useragent"] =~ "tilesAtHome" { url.access-deny = ("") } # # Block JOSM revisions 1722-1727 as they have a serious bug that causes @@ -65,11 +68,6 @@ $HTTP["useragent"] =~ "^JOSM/[0-9]+\.[0-9]+ \(172[234567] " { url.access-deny = ("") } -# -# Limit connections to 20 per IP address -# -evasive.max-conns-per-ip = 20 - # # Setup MIME type mapping # @@ -153,13 +151,13 @@ server.document-root = "/home/rails/public" # # Send everything else to the appropriate FastCGI server # -$HTTP["useragent"] =~ "^tilesAtHome" { - server.error-handler-404 = "/dispatch.tah" -} -else $HTTP["url"] =~ "^/trace/[0-9]+/data$" { +$HTTP["url"] =~ "^/trace/[0-9]+/data$" { server.error-handler-404 = "/dispatch.bulkapi" } -else $HTTP["url"] =~ "^/api/0\.6/(map|trackpoints|amf|amf/read|swf/trackpoints|changeset/[0-9]+/(upload|download))$" { +else $HTTP["url"] =~ "^/api/0\.6/map$" { + server.error-handler-404 = "/dispatch.map" +} +else $HTTP["url"] =~ "^/api/0\.6/(trackpoints|amf|amf/read|swf/trackpoints|changeset/[0-9]+/(upload|download))$" { server.error-handler-404 = "/dispatch.bulkapi" } else $HTTP["url"] =~ "^/api/0\.6/.*/(full|history|search|ways)$" { @@ -171,9 +169,6 @@ else $HTTP["url"] =~ "^/api/0\.6/" { else $HTTP["url"] =~ "^/api/0\.[0-9]+/" { url.access-deny = ("") } -else $HTTP["url"] =~ "^/geocoder/(search|description)_osm_namefinder$" { - server.error-handler-404 = "/dispatch.namefinder" -} else $HTTP["url"] =~ "^/geocoder/(search|description)_geonames$" { server.error-handler-404 = "/dispatch.geonames" } @@ -211,9 +206,7 @@ fastcgi.server = ( ( "host" => "127.0.0.1", "port" => 8022, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8023, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8024, "check-local" => "disable" ), - ( "host" => "127.0.0.1", "port" => 8025, "check-local" => "disable" ) - ), - ".namefinder" => ( + ( "host" => "127.0.0.1", "port" => 8025, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8026, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8027, "check-local" => "disable" ), ( "host" => "127.0.0.1", "port" => 8028, "check-local" => "disable" ), @@ -276,10 +269,13 @@ fastcgi.server = ( ( "host" => "10.0.0.10", "port" => 8010, "check-local" => "disable" ), ( "host" => "10.0.0.11", "port" => 8010, "check-local" => "disable" ), ( "host" => "10.0.0.12", "port" => 8010, "check-local" => "disable" ), - ), - ".tah" => ( ( "host" => "10.0.0.10", "port" => 8011, "check-local" => "disable" ), ( "host" => "10.0.0.11", "port" => 8011, "check-local" => "disable" ), ( "host" => "10.0.0.12", "port" => 8011, "check-local" => "disable" ) + ), + ".map" => ( + ( "host" => "10.0.0.10", "port" => 9000, "check-local" => "disable" ), + ( "host" => "10.0.0.11", "port" => 9000, "check-local" => "disable" ), + ( "host" => "10.0.0.12", "port" => 9000, "check-local" => "disable" ) ) ) diff --git a/config/locales/af.yml b/config/locales/af.yml index c955f91a4..e7bbe8d2f 100644 --- a/config/locales/af.yml +++ b/config/locales/af.yml @@ -276,7 +276,7 @@ af: login: Teken in login_to_leave_a_comment: U moet eers {{login_link}} alvorens u kommentaar kan lewer save_button: Stoor - title: Gebruikersdagboeke | {{user}} + title: "{{user}} se dagboek | {{title}}" user_title: Dagboek van {{user}} export: start: @@ -748,7 +748,7 @@ af: zero: U inboks bevat geen ongelees boodskappe nie intro_1: OpenStreetMap is 'n vry bewerkbare kaart van die hele wêreld. Dit word deur mense soos u geskep. intro_2: Met OpenStreetMap kan u geografiese data van die hele aarde sien, wysig en gebruik. - intro_3: OpenStreetMap se webwerf word deur {{ucl}} en {{bytemark}} ondersteun. + intro_3: OpenStreetMap se webwerf word ondersteun deur {{ucl}} en {{bytemark}}. Ander ondersteuners word by {{partners}} gelys. log_in: Teken in log_in_tooltip: Teken aan met 'n bestaande rekening logo: diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 1bdabfbb1..832c106a7 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -343,7 +343,7 @@ ar: login: سجّل دخول login_to_leave_a_comment: "{{login_link}} لترك تعليق" save_button: احفظ - title: يوميات المستخدمين | {{user}} + title: يوميات {{user}} | {{title}} user_title: يومية {{user}} export: start: @@ -884,7 +884,8 @@ ar: zero: صندوق بريدك لا يحوي رسائل غير مقروءة intro_1: خريطة الشارع المفتوحة هي خريطة للعالم كله قابلة للتحرير حرة ومجانية. قام بإنشائها أشخاص مثلك. intro_2: خريطة الشارع المفتوحة تسمح لك بعرض وتعديل واستخدام البيانات الجغرافية بطريقة تعاونية من أي مكان على وجه الأرض. - intro_3: تفضل باستضافة خريطة الشارع المفتوحة كلًا من {{ucl}} و {{bytemark}}. + intro_3: تفضل باستضافة خريطة الشارع المفتوحة كلًا من {{ucl}} و {{bytemark}}. داعمو المشروع الآخرون مسردون في {{partners}}. + intro_3_partners: الويكي license: title: بيانات خريطة الشارع المفتوحة مرخصة تحت رخصة المشاع الإبداعي، النسبة، نسخة 2.0 log_in: دخول @@ -1322,6 +1323,7 @@ ar: trackable: تعقبي (يظهر كمجهول الهوية ونقاط مرتبة زمنيًا) user: account: + current email address: "عنوان البريد الإلكرتروني الحالي:" email never displayed publicly: (لا يظهر علنًا) flash update success: تم تحديث معلومات المستخدم بنجاح. flash update success confirm needed: تم تحديث معلومات المستخدم بنجاح. تحقق من بريدك الإلكتروني لمذكرة تأكيد العنوان الإلكتروني الجديد. @@ -1330,6 +1332,7 @@ ar: longitude: "خط الطول:" make edits public button: اجعل جميع تعديلاتي عامة my settings: إعداداتي + new email address: "عنوان البريد الإلكتروني الجديد:" no home location: لم تدخل موقع منزلك. preferred languages: "اللغات المفضّلة:" profile description: "وصف الملف الشخصي:" diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 8a7987961..3342444e6 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -101,6 +101,7 @@ ca: prev_tooltip: Conjunt de canvis anterior user: name_tooltip: Visualitza les edicions feter per {{user}} + prev_tooltip: Edició anterior per l'usuari {{user}} common_details: changeset_comment: "Comentari:" edited_at: "Editat:" @@ -178,6 +179,7 @@ ca: load_data: Carrega dades loading: S'està carregant... object_list: + api: Obté aquesta àrea mitjançant l'API back: Mostra llista d'objectes details: Detalls heading: Llista d'objectes @@ -195,6 +197,7 @@ ca: private_user: usuari privat show_history: Mostra l'historial wait: Espereu... + zoom_or_select: Ampliar o seleccionar una àrea del mapa per veure tag_details: tags: "Etiquetes:" timeout: @@ -247,8 +250,10 @@ ca: confirm: Confirmar edit: language: Idioma + latitude: "Latitud:" longitude: "Longitud:" save_button: Guardar + subject: "Assumpte:" view: login: Accés save_button: Desa @@ -257,6 +262,7 @@ ca: export_button: Exporta export_details: Les dades l'OpenStreetMap són publicades sota el termes de la llicència Creative Commons Attribution-ShareAlike 2.0. format: Format + image_size: Mida de la imatge latitude: "Lat:" licence: Llicència longitude: "Lon:" @@ -283,6 +289,17 @@ ca: south_east: sud-est south_west: sud-oest west: oest + results: + more_results: Més resultats + no_results: No hi ha resultats + search: + title: + ca_postcode: Resultats de Geocoder.CA + latlon: Resultats propis + osm_namefinder: Resultats de OpenStreetMap Namefinder + osm_nominatim: Resultats de OpenStreetMap nominatim + uk_postcode: Resultats de NPEMap / FreeThe Postcode + us_postcode: Resultats de Geocoder.us search_osm_namefinder: suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} de {{parentname}})" suffix_place: ", {{distance}} {{direction}} de {{placename}}" @@ -290,12 +307,16 @@ ca: prefix: amenity: airport: Aeroport + atm: Caixer automàtic auditorium: Auditori bank: Banc bar: Bar + brothel: Prostíbul bureau_de_change: Oficina de canvi bus_station: Estació d'autobusos cafe: Cafè + car_rental: Lloguer de cotxes + casino: Casino cinema: Cinema club: Club courthouse: Jutjat @@ -304,8 +325,12 @@ ca: drinking_water: Aigua potable driving_school: Autoescola embassy: Ambaixada + emergency_phone: Telèfon d'emergència fire_station: Parc de bombers + fountain: Font + fuel: Gasolinera grave_yard: Cementiri + health_centre: Centre de Salut hospital: Hospital hotel: Hotel ice_cream: Gelat @@ -318,8 +343,11 @@ ca: place_of_worship: Lloc de culte post_office: Oficina de correus prison: Presó + public_building: Edifici públic + recycling: Punt de reciclatge restaurant: Restaurant sauna: Sauna + school: Escola shop: Botiga social_club: Club social supermarket: Supermercat @@ -331,31 +359,73 @@ ca: wifi: Accés a internet WiFi youth_centre: Centre juvenil building: + apartments: Bloc d'apartaments + chapel: Capella church: Església + city_hall: Ajuntament + commercial: Edifici comercial + faculty: Edifici facultatiu + flats: Pisos + garage: Garatge + hospital: Edifici hospitalari hotel: Hotel + house: Casa + industrial: Edifici industrial + public: Edifici públic + school: Edifici escolar stadium: Estadi + store: Magatzem tower: Torre + train_station: Estació de tren + university: Edifici universitari + "yes": Edifici highway: + bus_stop: Parada d'autobús + cycleway: Ruta per a bicicletes + emergency_access_point: Accés d'emergència + footway: Sendera gate: Porta + primary_link: Carretera principal + road: Carretera + secondary: Carretera secundària + secondary_link: Carretera secundària + steps: Graons + stile: Escala per a travessar reixats + tertiary: Carretera terciària + trail: Sendera + unclassified: Carretera sense classificar historic: + archaeological_site: Lloc arqueològic battlefield: Camp de batalla + building: Edifici castle: Castell church: Església house: Casa icon: Icona + memorial: Memorial + mine: Mina monument: Monument + museum: Museu ruins: Ruïnes tower: Torre landuse: + cemetery: Cementiri + commercial: Zona comercial farm: Granja forest: Bosc + industrial: Zona industrial mine: Mina mountain: Muntanya park: Parc + plaza: Plaça + quarry: Pedrera residential: Àrea residencial + wetland: Aiguamoll + wood: Fusta leisure: fishing: Àrea de pesca garden: Jardí + golf_course: Camp de golf ice_rink: Pista de patinatge sobre gel marina: Port esportiu miniature_golf: Minigolf @@ -368,17 +438,33 @@ ca: bay: Badia beach: Platja cape: Cap + cave_entrance: Entrada a cova + channel: Canal + cliff: Cingle + coastline: Litoral crater: Cràter fjord: Fiord geyser: Guèiser glacier: Glacera + hill: Pujol island: Illa + moor: Amarratge + mud: Llot + peak: Pic point: Punt + reef: Escull river: Riu + rock: Roca + scree: Pedregar + shoal: Banc + spring: Deu tree: Arbre valley: Vall volcano: Volcà water: Aigua + wetland: Aiguamoll + wetlands: Aiguamolls + wood: Bosc place: airport: Aeroport city: Ciutat @@ -396,14 +482,23 @@ ca: subdivision: Subdivisió suburb: Suburbi town: Poble + railway: + level_crossing: Pas a nivell + monorail: Monorail + subway: Estació de metro + tram: Tramvia + tram_stop: Parada de tramvia shop: bakery: Fleca books: Llibreria butcher: Carnisseria + car_repair: Reparació d'automòbils chemist: Farmàcia fish: Peixateria + florist: Floristeria hairdresser: Perruqueria o barberia jewelry: Joieria + laundry: Bugaderia market: Mercat shoes: Sabateria supermarket: Supermercat @@ -414,6 +509,7 @@ ca: bed_and_breakfast: Llist i esmorzar (B&B) chalet: Xalet guest_house: Alberg + hostel: Hostal hotel: Hotel information: Informació motel: Motel @@ -424,7 +520,13 @@ ca: viewpoint: Mirador zoo: Zoològic waterway: + ditch: Séquia + mooring: Amarradors + rapids: Ràpids river: Riu + wadi: Torrent + water_point: Punt d'aigua + waterfall: Cascada javascripts: map: base: @@ -435,12 +537,15 @@ ca: export: Exporta gps_traces: Traces de GPS history: Historial + home: Inici + intro_1: L'OpenStreetMap és un mapa editable i lliure de tot el món. Està fet per gent com vós. logo: alt_text: logotip de l'OpenStreetMap shop: Botiga user_diaries: DIaris de usuari view: Veure view_tooltip: Visualitza els mapes + welcome_user: Benvingut/da, {{user_link}} map: coordinates: "Coordenades:" edit: Modifica @@ -448,27 +553,37 @@ ca: message: inbox: date: Data + from: De + title: Safata d'entrada message_summary: delete_button: Suprimeix + read_button: Marca com a llegit + reply_button: Respon + unread_button: Marca com a no llegit new: + back_to_inbox: Tornar a la safata d'entrada send_button: Envia subject: Assumpte outbox: date: Data my_inbox: El meu {{inbox_link}} + subject: Assumpte to: A read: date: Data from: De reply_button: Respon + subject: Assumpte to: Per a + sent_message_summary: + delete_button: Suprimeix notifier: diary_comment_notification: hi: Hola {{to_user}}, email_confirm: subject: "[OpenStreetMap] Confirmeu l'adreça de correu" email_confirm_html: - greeting: Hi, + greeting: Hola, email_confirm_plain: greeting: Hola, gpx_notification: @@ -479,31 +594,52 @@ ca: greeting: Hola, message_notification: hi: Hola {{to_user}}, + signup_confirm_plain: + more_videos: "Hi ha més videos aquí:" oauth_clients: edit: submit: Modificació form: name: Nom + required: Requerit site: edit: user_page_link: pàgina d'usuari + index: + permalink: Enllaç permanent + shortlink: Enllaç curt key: table: entry: cemetery: Cementiri centre: Centre esportiu farm: Granja + forest: Bosc + golf: Camp de golf + industrial: Zona industrial lake: - Llac military: Àrea militar + private: Accés privat + rail: Ferrocarril reserve: Reserva natural + resident: Zona residencial school: - Escola + - Universitat + secondary: Carretera secundària + station: Estació de tren + subway: Metro + summit: + 1: pic + wood: Fusta search: search: Cerca + submit_text: Vés-hi where_am_i: On sóc? sidebar: close: Tanca + search_results: Resultats de la cerca trace: create: upload_trace: Pujar traça de GPS @@ -512,6 +648,7 @@ ca: download: descàrrega edit: modificació filename: "Nom del fitxer:" + heading: Editant traça {{name}} map: mapa owner: "Propietari:" points: "Punts:" @@ -522,11 +659,13 @@ ca: title: Editant traça {{name}} uploaded_at: "Pujat a:" visibility: "Visibilitat:" + visibility_help: Què vol dir això? list: tagged_with: " etiquetat amb {{tags}}" your_traces: Les teves traces GPS no_such_user: heading: No existeix l'usuari {{user}} + title: No existeix l`usuari trace: ago: fa {{time_in_words_ago}} by: en @@ -541,12 +680,15 @@ ca: private: PRIVAT public: PUBLIC trace_details: Veure detalls de la traça + trackable: RASTREABLE view_map: Visualitza el mapa trace_form: description: Descripció help: Ajuda tags: Etiquetes + tags_help: separat per comas upload_button: Pujar + upload_gpx: Carregar arxiu GPX visibility: Visibilitat visibility_help: què significa això? trace_header: @@ -557,7 +699,9 @@ ca: trace_paging_nav: next: Següent » previous: "« Previ" + showing_page: Mostrant pàgina {{page}} view: + delete_track: Elimina aquesta traça description: "Descripció:" download: baixada edit: modificació @@ -568,7 +712,9 @@ ca: owner: "Propietari:" pending: PENDENT points: "Punts:" + start_coordinates: "coordenada de inici:" tags: "Etiquetes:" + trace_not_found: No s'ha trobat la traça! uploaded: "Pujat el:" visibility: "Visibilitat:" user: @@ -576,9 +722,12 @@ ca: email never displayed publicly: (no es mostrarà mai en públic) latitude: "Latitud:" longitude: "Longitud:" + my settings: La meva configuració preferred languages: "Llengües preferents:" public editing: enabled link text: què és això? + public editing note: + heading: Edició pública return to profile: Torna al perfil save changes button: Desa els canvis title: Edita el compte @@ -588,6 +737,8 @@ ca: button: Confirmar friend_map: your location: La teva situació + go_public: + flash success: Ara totes les teves edicions són públiques i ja estàs autoritzat per a editar login: create_account: crea un compte email or username: "Adreça de correu o usuari:" @@ -600,6 +751,8 @@ ca: lost_password: email address: "Adreça de correu electrònic:" heading: Heu oblidat la contrasenya? + new password button: Restablir contrasenya + title: contrasenya perduda make_friend: success: "{{name}} ara és el vostre amic." new: @@ -611,8 +764,10 @@ ca: reset_password: confirm password: "Confirmeu la contrasenya:" flash changed: S'ha canviat la contrasenya. + heading: Restablir la contrasenya per {{user}} password: "Contrasenya:" - title: Reinicialitza la contrasenya + reset: Restablir contrasenya + title: Restablir la contrasenya view: add image: Afegeix una imatge confirm: Confirmeu @@ -624,9 +779,11 @@ ca: diary: diari edits: modificacions email address: "Adreça de correu:" + hide_user: amagar aquest usuari my diary: el meu diari my edits: les meves edicions my traces: les meves traces + my_oauth_details: Veure els meus detalls de OAuth nearby users: "Usuaris propers:" role: administrator: Aquest usuari és administrador @@ -649,11 +806,17 @@ ca: confirm: N'esteu segur? edit: Edició show: Mostra + status: Estat user_role: filter: + already_has_role: L'usuari ja té un rol {{role}}. doesnt_have_role: L'usuari no té el rol {{role}}. + not_a_role: La cadena `{{role}}' no és un rol vàlid. + not_an_administrator: Només els administradors poden realitzar l'administració de rols de usuaris, i vosté no és un administrador. grant: confirm: Confirmar + heading: Confirmi la concessió de rol + title: Confirmi la concessió de rol revoke: confirm: Confirmar heading: Confirmar revocació de rol diff --git a/config/locales/en.yml b/config/locales/en.yml index 58fca9498..b358cf8d3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -313,7 +313,7 @@ en: save_button: "Save" marker_text: Diary entry location view: - title: "Users' diaries | {{user}}" + title: "{{user}}'s diary | {{title}}" user_title: "{{user}}'s diary" leave_a_comment: "Leave a comment" login_to_leave_a_comment: "{{login_link}} to leave a comment" @@ -362,6 +362,9 @@ en: embeddable_html: "Embeddable HTML" licence: "Licence" export_details: 'OpenStreetMap data is licensed under the Creative Commons Attribution-ShareAlike 2.0 license.' + too_large: + heading: "Area Too Large" + body: "This area is too large to be exported as OpenStreetMap XML Data. Please zoom in or select a smaller area." options: "Options" format: "Format" scale: "Scale" @@ -884,15 +887,13 @@ en: sign_up: sign up sign_up_tooltip: Create an account for editing view: View - view_tooltip: View maps + view_tooltip: View the map edit: Edit - edit_tooltip: Edit maps history: History - history_tooltip: Changeset history export: Export export_tooltip: Export map data gps_traces: GPS Traces - gps_traces_tooltip: Manage traces + gps_traces_tooltip: Manage GPS traces user_diaries: User Diaries user_diaries_tooltip: View user diaries tag_line: The Free Wiki World Map @@ -1415,10 +1416,6 @@ en: ago: "({{time_in_words_ago}} ago)" email address: "Email address:" created from: "Created from:" - user image heading: User image - delete image: Delete Image - upload an image: Upload an image - add image: Add Image description: Description user location: User location no home location: "No home location has been set." @@ -1430,7 +1427,6 @@ en: m away: "{{count}}m away" nearby users: "Nearby users:" no nearby users: "There are no users who admit to mapping nearby yet." - change your settings: change your settings my_oauth_details: "View my OAuth details" role: administrator: "This user is an administrator" @@ -1456,6 +1452,8 @@ en: account: title: "Edit account" my settings: My settings + current email address: "Current Email Address:" + new email address: "New Email Address:" email never displayed publicly: "(never displayed publicly)" openid: openid: "OpenID:" @@ -1473,6 +1471,11 @@ en: text: "Currently your edits are anonymous and people cannot send you messages or see your location. To show what you edited and allow people to contact you through the website, click the button below. Since the 0.6 API changeover, only public users can edit map data. (find out why).
    • Your email address will not be revealed by becoming public.
    • This action cannot be reversed and all new users are now public by default.
    " profile description: "Profile Description:" preferred languages: "Preferred Languages:" + image: "Image:" + new image: "Add an image" + keep image: "Keep the current image" + delete image: "Remove the current image" + replace image: "Replace the current image" home location: "Home Location:" no home location: "You have not entered your home location." latitude: "Latitude:" @@ -1625,5 +1628,9 @@ en: overlays: maplint: Maplint site: + edit_tooltip: Edit the map + edit_disabled_tooltip: Zoom in to edit the map edit_zoom_alert: You must zoom in to edit the map - history_zoom_alert: You must zoom in to see the editing history + history_tooltip: View edits for this area + history_disabled_tooltip: Zoom in to view edits for this area + history_zoom_alert: You must zoom in to view edits for this area diff --git a/config/locales/es.yml b/config/locales/es.yml index 0c0a24f2f..4392e96a4 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -333,7 +333,7 @@ es: login: Identifíquese login_to_leave_a_comment: "{{login_link}} para dejar un comentario" save_button: Guardar - title: Diarios de usuarios | {{user}} + title: Diario de {{user}} | {{title}} user_title: Diario de {{user}} export: start: @@ -546,6 +546,7 @@ es: ford: Vado gate: Puerta living_street: Calle residencial + minor: Carretera secundaria motorway: Autovía motorway_junction: Cruce de autovías motorway_link: Enlace de autovía @@ -720,6 +721,7 @@ es: narrow_gauge: Vía ferroviaria angosta platform: Plataforma de tren preserved: Vía ferroviaria preservada + spur: Ramificación de vía station: Estación de trenes subway: Estación de metro subway_entrance: Entrada al metro @@ -808,7 +810,7 @@ es: caravan_site: Camping para caravanas chalet: Chalet guest_house: Albergue - hostel: Hostel + hostel: Hostal hotel: Hotel information: Información lean_to: Nave @@ -837,6 +839,7 @@ es: riverbank: Ribera stream: Arroyo wadi: Riera + water_point: Punto de agua waterfall: Cascada weir: Represa javascripts: @@ -870,7 +873,8 @@ es: zero: Tu bandeja de entrada no tiene mensajes sin leer intro_1: OpenStreetMap es un mapa libremente editable de todo el mundo. Está hecho por personas como usted. intro_2: OpenStreetMap te permite ver, editar y usar información geográfica de manera colaborativa desde cualquier lugar del mundo. - intro_3: Agradecimientos al {{ucl}} y {{bytemark}} por apoyar el hospedaje de los servidores de OpenStreetMap. + intro_3: El alojamiento de OpenStreetMap es proporcionado amablemente por {{ucl}} y {{bytemark}}. Otros patrocinadores del proyecto se encuentran listados en el {{partners}}. + intro_3_partners: wiki license: title: Los datos de OpenStreetMap se encuentran bajo la licencia Creative Commons Attribution-Share Alike 2.0 Generic License log_in: identificarse @@ -1309,6 +1313,7 @@ es: trackable: Trazable (solo compartido como anonimo, puntos ordenados con marcas de tiempo) user: account: + current email address: "Dirección de correo electrónico actual:" email never displayed publicly: (nunca es mostrado públicamente) flash update success: La información del usuario se ha actualizado correctamente. flash update success confirm needed: La información del usuario se ha actualizado correctamente. Compruebe su correo electrónico para ver una nota sobre cómo confirmar su nueva dirección de correo electrónico. @@ -1317,6 +1322,7 @@ es: longitude: "Longitud:" make edits public button: Hacer que todas mis ediciones sean públicas my settings: Mis preferencias + new email address: "Nueva dirección de correo electrónico:" no home location: No has introducido tu lugar de origen. preferred languages: "Idiomas preferidos:" profile description: "Descripción del perfil:" diff --git a/config/locales/eu.yml b/config/locales/eu.yml index b3c2733d1..5b1e6874c 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -14,6 +14,7 @@ eu: language: Hizkuntza latitude: Latitude longitude: Longitude + title: Izenburua friend: friend: Lagun message: @@ -25,6 +26,7 @@ eu: latitude: Latitude longitude: Longitude name: Izena + public: Publikoa size: Tamaina user: description: Deskribapen @@ -130,6 +132,7 @@ eu: changeset: anonymous: Anonimoa big_area: (handia) + no_comment: (bat ere) changeset_paging_nav: next: Hurrengoa » previous: "« Aurrekoa" @@ -137,6 +140,7 @@ eu: saved_at: Noiz gordeta diary_entry: diary_comment: + confirm: Baieztatu hide_link: Iruzkin hau ezkutatu diary_entry: comment_count: @@ -153,6 +157,8 @@ eu: subject: "Gaia:" use_map_link: mapa erabili view: + leave_a_comment: Iruzkin bat utzi + login: Saioa hasi save_button: Gorde export: start: @@ -278,14 +284,18 @@ eu: church: Eliza city_hall: Udaletxea garage: Garajea + hospital: Ospitale erakina hotel: Hotela house: Etxe + industrial: Eraikin industriala public: Eraikin publiko + school: Eskola eraikina shop: Denda stadium: Estadio store: Denda tower: Dorre train_station: Tren Geltokia + university: Unibertsitate eraikina "yes": Eraikina highway: bus_stop: Autobus-geraleku @@ -402,6 +412,7 @@ eu: historic_station: Tren Geltoki Historikoa light_rail: Tren Arina monorail: Monoraila + platform: Trenbide Plataforma station: Tren Geltokia subway: Metro geltoki subway_entrance: Metro Sarbidea @@ -434,8 +445,11 @@ eu: laundry: Garbitegi mall: Merkataritza-gunea market: Merkatu + mobile_phone: Mugikor-denda music: Musika-denda + newsagent: Kioskoa optician: Optika + pet: Animalia-denda photo: Argazki-denda shoes: Zapatadenda shopping_centre: Merkatal Gunea @@ -481,6 +495,7 @@ eu: history: Historia home: hasiera inbox: sarrera-ontzia ({{count}}) + intro_3_partners: wiki license: title: OpenStreetMap-eko datuak Creative Commons Aitortu-Partekatu 2.0 Generiko baimen baten mende daude. log_in: Saioa hasi @@ -569,6 +584,8 @@ eu: form: name: Izena site: + edit: + user_page_link: Lankide orria index: license: license_name: Creative Commons-en Aitortu-Partekatu 2.0 @@ -596,6 +613,7 @@ eu: park: Parke primary: Lehen mailako errepidea rail: Trenbidea + reserve: Natura-erreserba runway: - Aireportuko Pista school: @@ -725,6 +743,7 @@ eu: creator_name: Egilea edit: Aldatu show: Erakutsi + status: Egoera period: one: ordu bat other: "{{count}} ordu" @@ -732,6 +751,7 @@ eu: confirm: Ziur zaude? edit: Aldatu show: Erakutsi + status: Egoera user_role: grant: confirm: Berretsi diff --git a/config/locales/fi.yml b/config/locales/fi.yml index fcbae9779..beaa1ff79 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -378,6 +378,7 @@ fi: other: noin {{count}} km zero: alle 1 km results: + more_results: Lisää tuloksia no_results: Mitään ei löytynyt search: title: @@ -465,6 +466,7 @@ fi: veterinary: Eläinlääkäri waste_basket: Roskakori wifi: Langaton lähiverkko + youth_centre: Nuorisokeskus boundary: administrative: Hallinnollinen raja building: @@ -489,6 +491,7 @@ fi: "yes": Rakennus highway: bus_stop: Bussipysäkki + byway: Sivutie construction: Rakenteilla oleva tie cycleway: Pyörätie distance_marker: Etäisyysmerkki @@ -525,7 +528,9 @@ fi: wreck: Hylky landuse: cemetery: Hautausmaa + construction: Rakennustyömaa forest: Metsä + grass: Nurmikko industrial: Teollisuusalue landfill: Kaatopaikka military: Sotilasalue @@ -541,6 +546,8 @@ fi: fishing: Kalastusalue garden: Puutarha golf_course: Golf-kenttä + ice_rink: Luistelurata + marina: Huvivenesatama miniature_golf: Minigolf park: Puisto pitch: Urheilukenttä @@ -628,6 +635,7 @@ fi: fish: Kalakauppa florist: Kukkakauppa food: Ruokakauppa + funeral_directors: Hautausurakoitsija furniture: Huonekaluliike gift: Lahjakauppa hairdresser: Kampaamo @@ -645,10 +653,12 @@ fi: shoes: Kenkäkauppa shopping_centre: Ostoskeskus sports: Urheilukauppa + supermarket: Supermarketti toys: Lelukauppa travel_agency: Matkatoimisto video: Videokauppa tourism: + alpine_hut: Alppimaja artwork: Taideteos bed_and_breakfast: Aamiaismajoitus cabin: Mökki @@ -675,6 +685,7 @@ fi: river: Joki riverbank: Joki stream: Puro + weir: Pato javascripts: map: base: @@ -701,7 +712,8 @@ fi: zero: Sinulla ei ole lukemattomia viestejä. intro_1: OpenStreetMap on avoin ja vapaasti muokattava maailmankartta. Kuka vain voi osallistua. intro_2: Voit selata, muokata ja käyttää yhteistyössä luotua karttatietoa kaikista maailman kolkista. - intro_3: OpenStreetMapin verkkoliikenteen tarjoavat {{ucl}} ja {{bytemark}}. + intro_3: OpenStreetMapin verkkoliikenteen tarjoavat {{ucl}} ja {{bytemark}}. Muut projektin tukijat on listattu {{partners}}. + intro_3_partners: wikissä log_in: kirjaudu sisään log_in_tooltip: Kirjaudu sisään tunnuksellasi logo: @@ -952,6 +964,7 @@ fi: search_help: "esim.: 'Munkkivuori', 'Karttatie, Oulu' tai 'post offices near Helsinki' lisää esimerkkejä... (englanniksi)" submit_text: Hae where_am_i: Nykyinen sijainti? + where_am_i_title: Määrittää nykyisen sijainnin hakukoneella sidebar: close: Sulje search_results: Hakutulokset diff --git a/config/locales/fr.yml b/config/locales/fr.yml index b76ab4bc8..d21f18d9b 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -337,7 +337,7 @@ fr: login: Connectez-vous login_to_leave_a_comment: "{{login_link}} pour ajouter un commentaire" save_button: Enregistrer - title: Journaux des utilisateurs | {{user}} + title: Journal de {{user}} | {{title}} user_title: Journal de {{user}} export: start: @@ -876,7 +876,8 @@ fr: zero: Votre boîte aux lettres ne contient pas de messages non lus intro_1: OpenStreetMap est une carte du monde entier librement modifiable, faite par des gens comme vous. intro_2: OpenStreetMap vous permet de voir, modifier et utiliser des données géographiques de n'importe quel endroit dans le monde. - intro_3: OpenStreetMap est gracieusement hébergé par {{ucl}} et {{bytemark}}. + intro_3: OpenStreetMap est gracieusement hébergé par {{ucl}} et {{bytemark}}. D'autres sponsors du projet sont listés sur le {{partners}}. + intro_3_partners: wiki license: title: Les données OpenStreetMap sont sous licence générale Creative Commons paternité partage à l’identique 2.0 log_in: Connexion @@ -986,7 +987,7 @@ fr: hopefully_you_2: "{{server_url}} à {{new_address}}." friend_notification: had_added_you: "{{user}} vous a ajouté comme ami dans OpenStreetMap." - see_their_profile: Vous pouvez voir leur profil sur {{userurl}} et les ajouter comme ami si vous le souhaitez. + see_their_profile: Vous pouvez voir son profil sur {{userurl}} et l’ajouter comme ami si vous le souhaitez. subject: "[OpenStreetMap] {{user}} vous a ajouté comme ami" gpx_notification: and_no_tags: et sans balise. @@ -1314,6 +1315,7 @@ fr: trackable: Pistable (partagé seulement anonymement, points ordonnés avec les dates) user: account: + current email address: "Adresse de courriel actuelle :" email never displayed publicly: (jamais affiché publiquement) flash update success: Informations sur l'utilisateur mises à jour avec succès. flash update success confirm needed: Informations sur l'utilisateur mises à jour avec succès. Vérifiez votre boîte mail afin de valider la vérification de votre nouvelle adresse e-mail. @@ -1322,6 +1324,7 @@ fr: longitude: "Longitude:" make edits public button: Rendre toutes mes modifications publiques my settings: Mes options + new email address: "Nouvelle adresse de courriel :" no home location: Vous n'avez pas indiqué l'emplacement de votre domicile. preferred languages: "Langues préférées :" profile description: "Description du profil :" diff --git a/config/locales/fur.yml b/config/locales/fur.yml index 598cb9c7b..30f054f78 100644 --- a/config/locales/fur.yml +++ b/config/locales/fur.yml @@ -97,6 +97,7 @@ fur: view_history: cjale storic node_details: coordinates: "Coordenadis:" + part_of: "Part di:" node_history: download: "{{download_xml_link}} o {{view_details_link}}" download_xml: Discjame XML @@ -116,6 +117,7 @@ fur: view_history: cjale storic relation_details: members: "Membris:" + part_of: "Part di:" relation_history: download: "{{download_xml_link}} o {{view_details_link}}" download_xml: Discjame XML @@ -148,6 +150,11 @@ fur: show_history: Mostre storic wait: Daûr a spietâ... zoom_or_select: Ingrandìs o sielç la aree de mape che tu vuelis viodi + tag_details: + tags: "Etichetis:" + timeout: + type: + relation: relazion way: download: "{{download_xml_link}}, {{view_history_link}} o {{edit_link}}" download_xml: Discjame XML @@ -168,7 +175,9 @@ fur: still_editing: (ancjemò in cambiament) view_changeset_details: Viôt detais dal grup di cambiaments changeset_paging_nav: - showing_page: Daûr a mostrâ la pagjine + next: Successîf » + previous: "« Precedent" + showing_page: Daûr a mostrâ la pagjine {{page}} changesets: area: Aree comment: Coment @@ -191,12 +200,16 @@ fur: diary_entry: diary_comment: comment_from: Coment di {{link_user}} ai {{comment_created_at}} + confirm: Conferme + hide_link: Plate chest coment diary_entry: comment_count: one: 1 coment other: "{{count}} coments" comment_link: Scrîf un coment + confirm: Conferme edit_link: Cambie cheste vôs + hide_link: Plate cheste vôs posted_by: Scrit di {{link_user}} ai {{created}} par {{language_link}} reply_link: Rispuint a cheste vôs edit: @@ -237,7 +250,7 @@ fur: login: Jentre login_to_leave_a_comment: "{{login_link}} par lassâ un coment" save_button: Salve - title: Diaris dai utents | {{user}} + title: Diari di {{user}} | {{title}} user_title: Diari di {{user}} export: start: @@ -261,6 +274,7 @@ fur: start_rjs: add_marker: Zonte un segnalut ae mape change_marker: Cambie la posizion dal segnalut + click_add_marker: Frache su la mape par zontâ un segn export: Espuarte manually_select: Sielç a man une aree divierse view_larger_map: Viôt une mape plui grande @@ -269,6 +283,7 @@ fur: title: geonames: Lûc cjolt di GeoNames osm_namefinder: "{{types}} dal OpenStreetMap Namefinder" + osm_nominatim: Lûc di OpenStreetMap Nominatim types: cities: Citâts places: Puescj @@ -289,6 +304,7 @@ fur: other: cirche {{count}}km zero: mancul di 1km results: + more_results: Altris risultâts no_results: Nissun risultât search: title: @@ -296,10 +312,128 @@ fur: geonames: Risultâts cjolts di GeoNames latlon: Risultâts cjolts dal sît interni osm_namefinder: Risultâts cjolts di OpenStreetMap Namefinder + osm_nominatim: Risultâts di OpenStreetMap Nominatim uk_postcode: Risultâts cjolts di NPEMap / FreeThe Postcode us_postcode: Risultâts cjolts di Geocoder.us search_osm_namefinder: + suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} di {{parentname}})" suffix_place: ", {{distance}} a {{direction}} di {{placename}}" + search_osm_nominatim: + prefix: + amenity: + airport: Aeropuart + atm: Bancomat + auditorium: Auditori + bank: Bancje + bureau_de_change: Ufizi di cambi + bus_station: Stazion des corieris + car_wash: Lavaç machinis + cinema: Cine + clinic: Cliniche + dentist: Dentist + doctors: Dotôrs + drinking_water: Aghe potabil + driving_school: Scuele guide + embassy: Ambassade + emergency_phone: Telefon di emergjence + fire_station: Stazion dai pompîrs + fountain: Fontane + fuel: Stazion di riforniment + hospital: Ospedâl + library: Biblioteche + market: Marcjât + park: Parc + pharmacy: Farmacie + post_office: Pueste + restaurant: Ristorant + sauna: Saune + school: Scuele + telephone: Telefon public + theatre: Teatri + townhall: Municipi + university: Universitât + youth_centre: Centri zovanîl + boundary: + administrative: Confin aministratîf + building: + chapel: Capele + church: Glesie + house: Cjase + stadium: Stadi + train_station: Stazion de ferade + university: Edifici universitari + highway: + bus_stop: Fermade autobus + emergency_access_point: Pont di acès di emergjence + raceway: Circuit + steps: Scjalis + historic: + archaeological_site: Sît archeologic + castle: Cjiscjel + church: Glesie + house: Cjase + monument: Monument + museum: Museu + tower: Tor + landuse: + cemetery: Simiteri + commercial: Aree comerciâl + industrial: Aree industriâl + military: Aree militâr + nature_reserve: Riserve naturâl + park: Parc + residential: Aree residenziâl + leisure: + garden: Zardin + golf_course: Troi di golf + miniature_golf: Minigolf + park: Parc + sports_centre: Centri sportîf + swimming_pool: Pissine + natural: + bay: Rade + channel: Canâl + crater: Cratêr + glacier: Glaçâr + island: Isule + point: Pont + tree: Arbul + valley: Val + volcano: Vulcan + place: + airport: Aeropuart + city: Citât + country: Paîs + county: Contee + hamlet: Frazion + house: Cjase + houses: Cjasis sparniçadis + island: Isule + locality: Localitât + postcode: Codis postâl + region: Regjon + sea: Mâr + state: Stât + town: Citadine + village: Vilaç + railway: + abandoned: Ferade bandonade + construction: Ferade in costruzion + shop: + bakery: Pancôr + books: Librerie + butcher: Becjarie + car_repair: Riparazion di machinis + supermarket: Supermarcjât + toys: Negozi di zugatui + tourism: + museum: Museu + valley: Val + viewpoint: Pont panoramic + zoo: Zoo + waterway: + canal: Canâl + river: Flum javascripts: map: base: @@ -330,7 +464,8 @@ fur: zero: Nol è nissun messaç di lei te pueste in jentrade intro_1: OpenStreetMap al è une mape libare e modificabile dal marimont. Al è fat di int come te. intro_2: OpenStreetMap al permet a ogni persone su la Tiere di viodi, cambiâ e doprâ i dâts gjeografics intune forme colaborative. - intro_3: L'hosting di OpenStreetMap al è sostignût cun gjenerositât di {{ucl}} e {{bytemark}}. + intro_3: "L'hosting di OpenStreetMap al è sostignût cun gjenerositât di {{ucl}} e {{bytemark}}.\nAltris sostegnidôrs a son elencâts te {{partners}}." + intro_3_partners: vichi license: title: I dâts di OpenStreetMap a son dâts fûr sot de Creative Commons Attribution-Share Alike 2.0 Generic License log_in: jentre @@ -367,6 +502,9 @@ fur: inbox: date: Date from: Di + my_inbox: I miei messaç in jentrade + no_messages_yet: No tu âs ancjemò nissun messaç. Parcè no tu contatis cualchidun de {{people_mapping_nearby_link}}? + outbox: in jessude people_mapping_nearby: int che e je daûr a mapâ dongje di te subject: Sogjet title: In jentrade @@ -380,6 +518,7 @@ fur: reply_button: Rispuint unread_button: Segne come no let new: + back_to_inbox: Torne ai messaçs in jentrade body: Cuarp message_sent: Messaç mandât send_button: Mande @@ -388,9 +527,18 @@ fur: title: Mande messaç outbox: date: Date + inbox: in jentrade + my_inbox: Messaçs {{inbox_link}} + no_sent_messages: No tu âs ancjemò mandât nissun messaç. Parcè no tu contatis cualchidun de {{people_mapping_nearby_link}}? + outbox: in jessude + people_mapping_nearby: int che e je daûr a mapâ dongje di te subject: Sogjet + title: In jessude to: A + you_have_sent_messages: Tu âs {{count}} messaçs inviâts read: + back_to_inbox: Torne ai messaçs in jentrade + back_to_outbox: Torne ai messaçs in jessude date: Date from: Di reading_your_messages: Leture dai tiei messaçs @@ -402,12 +550,26 @@ fur: sent_message_summary: delete_button: Elimine notifier: + diary_comment_notification: + hi: Mandi {{to_user}}, + email_confirm: + subject: "[OpenStreetMap] Conferme la tô direzion di pueste eletroniche" + friend_notification: + had_added_you: "{{user}} ti à zontât come amì su OpenStreetMap." + see_their_profile: Tu puedis viodi il lôr profîl su {{userurl}} e zontâju ancje tu come amîs se tu vuelis. + subject: "[OpenStreetMap] {{user}} ti à zontât come amì su OpenStreetMap." gpx_notification: + and_no_tags: e nissune etichete. + and_the_tags: "e lis etichetis ca sot:" greeting: Mandi, success: loaded_successfully: al sedi stât cjamât cun sucès, cun {{trace_points}} suntun totât di {{possible_points}} ponts pussibii. subject: "[OpenStreetMap] Impuartazion GPX completade cun sucès" your_gpx_file: Al somee che il to file GPX + message_notification: + hi: Mandi {{to_user}}, + signup_confirm: + subject: "[OpenStreetMap] Conferme la tô direzion di pueste eletroniche" signup_confirm_html: introductory_video: Tu puedis viodi un {{introductory_video_link}}. oauth_clients: @@ -416,8 +578,12 @@ fur: site: edit: flash_player_required: Ti covente un riprodutôr Flash par doprâ Potlatch, l'editôr Flash di OpenStreetMap. Tu puedis discjamâ il Flash Player di Adobe.com. E je cualchi altre opzion par lavorâ su OpenStreetMap. + potlatch_unsaved_changes: Tu âs cambiaments no salvâts. (Par salvâ in Potlatch, tu varessis di deselezionâ il percors o il pont atuâl, se tu stâs lavorant in modalitât live, o fracâ su Salve se tu viodis un boton Salve.) user_page_link: pagjine dal utent index: + js_1: Tu stâs doprant un sgarfadôr che nol supuarte JavaScript o ben JavaScript al è stât disativât. + js_2: OpenStreetMap al dopre JavaScript par mostrâ la sô mape. + js_3: Tu puedis provâ il broser static di tiles Tiles@Home se no tu rivis a ativâ JavaScript. license: license_name: Creative Commons Attribution-Share Alike 2.0 notice: Dât fûr sot de licence {{license_name}} di {{project_name}} e i siei utents che a àn contribuît. @@ -452,12 +618,14 @@ fur: tram: - tram - tram + unsurfaced: Strade blancje heading: Leiende par z{{zoom_level}} search: search: Cîr search_help: "esemplis: 'Cividât', 'Via Udine, Cormons', 'CB2 5AQ', o se no 'post offices near Gorizia' altris esemplis..." submit_text: Va where_am_i: Dulà soio? + where_am_i_title: Descrîf il lûc atuâl doprant il motôr di ricercje sidebar: close: Siere search_results: Risultâts de ricercje @@ -476,6 +644,7 @@ fur: points: "Ponts:" save_button: Salve cambiaments start_coord: "Coordenadis iniziâls:" + tags: "Etichetis:" tags_help: separâts di virgulis title: Cambiant il percors {{name}} uploaded_at: "Cjamât ai:" @@ -484,6 +653,7 @@ fur: list: public_traces: Percors GPS publics public_traces_from: Percors GPS publics di {{user}} + tagged_with: " etichetât cun {{tags}}" your_traces: Percors GPS personâi trace: ago: "{{time_in_words_ago}} fa" @@ -502,6 +672,7 @@ fur: trace_form: description: "Descrizion:" help: Jutori + tags: Etichetis tags_help: separâts di virgulis upload_button: Cjame upload_gpx: "Cjame file GPX:" @@ -510,6 +681,12 @@ fur: see_all_traces: Cjale ducj i percors see_just_your_traces: Cjale dome i tiei percors o cjame un percors see_your_traces: Cjale ducj i miei percors + trace_optionals: + tags: Etichetis + trace_paging_nav: + next: Sucessîf » + previous: "« Precedent" + showing_page: Daûr a mostrâ la pagjine {{page}} view: delete_track: Elimine chest percors description: "Descrizion:" @@ -524,11 +701,16 @@ fur: pending: IN SPIETE points: "Ponts:" start_coordinates: "Coordenadis iniziâls:" + tags: "Etichetis:" title: Viodint il percors {{name}} + trace_not_found: Percors no cjatât! uploaded: "Cjamât ai:" visibility: "Visibilitât:" user: account: + email never displayed publicly: (mai mostrade in public) + flash update success: Informazions dal utent inzornadis cun sucès. + flash update success confirm needed: Informazions dal utent inzornadis cun sucès. Controle la tô pueste par confermâ la tô gnove direzion di pueste eletroniche. home location: "Lûc iniziâl:" latitude: "Latitudin:" longitude: "Longjitudin:" @@ -539,6 +721,7 @@ fur: profile description: "Descrizion dal profîl:" public editing: disabled link text: parcè no puedio cambiâ? + enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits enabled link text: ce isal chest? return to profile: Torne al profîl save changes button: Salve cambiaments @@ -584,6 +767,9 @@ fur: body: Nol esist un utent di non {{user}}. Controle par plasê la grafie o che tu vedis seguît il leam just. heading: L'utent {{user}} nol esist title: Utent no cjatât + remove_friend: + not_a_friend: "{{name}} nol è un dai tiei amîs." + success: "{{name}} al è stât gjavât dai tiei amîs." set_home: flash success: Lûc iniziâl salvât cun sucès view: @@ -591,9 +777,12 @@ fur: add image: Zonte figure ago: ({{time_in_words_ago}} fa) block_history: viôt i blocs ricevûts + blocks by me: blocs aplicâts di me + blocks on me: blocs su di me change your settings: cambie lis tôs impostazions confirm: Conferme create_block: bloche chest utent + created from: "Creât di:" delete image: Elimine figure description: Descrizion diary: diari @@ -603,6 +792,7 @@ fur: km away: a {{count}}km di distance m away: "{{count}}m di distance" mapper since: "Al mape dai:" + moderator_history: viôt i blocs ricevûts my diary: il gno diari my edits: miei cambiaments my settings: mês impostazions diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 6d824c5f9..b158ff8fc 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -137,15 +137,15 @@ hu: edit: szerkesztés node: Pont node_title: "Pont: {{node_name}}" - view_history: történet megtekintése + view_history: előzmények megtekintése node_details: coordinates: "Koordináták:" part_of: "Része:" node_history: download: "{{download_xml_link}} vagy {{view_details_link}}" download_xml: XML letöltése - node_history: Pont története - node_history_title: "Pont története: {{node_name}}" + node_history: Pont előzményei + node_history_title: "Pont előzményei: {{node_name}}" view_details: részletek megtekintése not_found: sorry: Sajnálom, a(z) {{id}} azonosítójú {{type}} nem található. @@ -162,15 +162,15 @@ hu: download_xml: XML letöltése relation: Kapcsolat relation_title: "Kapcsolat: {{relation_name}}" - view_history: történet megtekintése + view_history: előzmények megtekintése relation_details: members: "Tagok:" part_of: "Része:" relation_history: download: "{{download_xml_link}} vagy {{view_details_link}}" download_xml: XML letöltése - relation_history: Kapcsolat története - relation_history_title: "Kapcsolat története: {{relation_name}}" + relation_history: Kapcsolat előzményei + relation_history_title: "Kapcsolat előzményei: {{relation_name}}" view_details: részletek megtekintése relation_member: entry_role: "{{type}} {{name}} mint {{role}}" @@ -187,7 +187,7 @@ hu: details: Részletek drag_a_box: Terület kijelöléséhez rajzolj egy négyzetet a térképen edited_by_user_at_timestamp: "[[user]] szerkesztette ekkor: [[timestamp]]" - history_for_feature: "[[feature]] története" + history_for_feature: "[[feature]] előzményei" load_data: Adatok betöltése loaded_an_area_with_num_features: "Olyan területet töltöttél be, amely [[num_features]] elemet tartalmaz. Néhány böngésző lehet, hogy nem birkózik meg ekkora mennyiségű adattal. Általában a böngészők egyszerre kevesebb mint 100 elem megjelenítésével működnek a legjobban: minden más esetben a böngésző lelassulhat/nem válaszolhat. Ha biztos vagy benne, hogy meg szeretnéd jeleníteni ezeket az adatokat, megteheted ezt az alábbi gombra kattintva." loading: Betöltés… @@ -209,9 +209,9 @@ hu: node: Pont way: Vonal private_user: ismeretlen felhasználó - show_history: Történet megjelenítése + show_history: Előzmények megjelenítése unable_to_load_size: "Nem tölthető be: a határolónégyzet mérete ([[bbox_size]]) túl nagy. ({{max_bbox_size}}-nél kisebbnek kell lennie.)" - wait: Várjon... + wait: Várj... zoom_or_select: Közelíts rá vagy jelölj ki egy területet a térképen a megtekintéshez tag_details: tags: "Címkék:" @@ -226,7 +226,7 @@ hu: download: "{{download_xml_link}}, {{view_history_link}} vagy {{edit_link}}" download_xml: XML letöltése edit: szerkesztés - view_history: történet megtekintése + view_history: előzmények megtekintése way: Vonal way_title: "Vonal: {{way_name}}" way_details: @@ -239,8 +239,8 @@ hu: download: "{{download_xml_link}} vagy {{view_details_link}}" download_xml: XML letöltése view_details: részletek megtekintése - way_history: Vonal története - way_history_title: "Vonal története: {{way_name}}" + way_history: Vonal előzményei + way_history_title: "Vonal előzményei: {{way_name}}" changeset: changeset: anonymous: Névtelen @@ -334,7 +334,7 @@ hu: login: Jelentkezz be login_to_leave_a_comment: "{{login_link}} a hozzászóláshoz" save_button: Mentés - title: Felhasználók naplói | {{user}} + title: "{{user}} naplója | {{title}}" user_title: "{{user}} naplója" export: start: @@ -852,7 +852,7 @@ hu: noname: NincsNév site: edit_zoom_alert: Közelítened kell a térkép szerkesztéséhez - history_zoom_alert: Közelítened kell a szerkesztési történet megtekintéséhez + history_zoom_alert: Közelítened kell a szerkesztési előzmények megtekintéséhez layouts: donate: Támogasd az OpenStreetMapot a Hardverfrissítési Alapba történő {{link}}sal. donate_link_text: adományozás @@ -865,8 +865,8 @@ hu: help_wiki: Segítség és wiki help_wiki_tooltip: Segítség és wikioldal a projekthez help_wiki_url: http://wiki.openstreetmap.org/wiki/HU:Main_Page?uselang=hu - history: Történet - history_tooltip: Módosításcsomagok története + history: Előzmények + history_tooltip: Módosításcsomagok előzményei home: otthon home_tooltip: Ugrás otthonra inbox: postaláda ({{count}}) @@ -876,8 +876,9 @@ hu: zero: A postaláda nem tartalmaz olvasatlan üzenetet intro_1: Az OpenStreetMap egy szabadon szerkeszthető térkép az egész világról. Olyan emberek készítik, mint Te. intro_2: Az OpenStreetMap lehetővé teszi neked, hogy szabadon megtekintsd, szerkeszd és használd a földrajzi adatokat, bárhol is vagy a Földön. - intro_3: Az OpenStreetMap hostingját a {{ucl}} és a {{bytemark}} támogatja. + intro_3: Az OpenStreetMap hostingját a {{ucl}} és a {{bytemark}} támogatja. A projekt további támogatói a {{partners}} találhatók. intro_3_bytemark: Bytemark + intro_3_partners: wikiben license: title: Az OpenStreetMap adatokra a Creative Commons Nevezd meg!-Így add tovább! 2.0 Általános Licenc vonatkozik log_in: bejelentkezés @@ -1314,12 +1315,13 @@ hu: uploaded: "Feltöltve:" visibility: "Láthatóság:" visibility: - identifiable: Azonosítható (megjelenik a nyomvonalak listáján, és azonodítható, rendezett pontok időbélyeggel) + identifiable: Azonosítható (megjelenik a nyomvonalak listáján, és azonosítható, rendezett pontok időbélyeggel) private: Magán (megosztva csak névtelenül, rendezetlen pontok) public: Nyilvános (megjelenik a nyomvonalak listáján névtelenül, rendezetlen pontok) trackable: Követhető (megosztva csak névtelenül, rendezett pontok időbélyeggel) user: account: + current email address: "Jelenlegi e-mail cím:" email never displayed publicly: (soha nem jelenik meg nyilvánosan) flash update success: Felhasználói információk sikeresen frissítve. flash update success confirm needed: Felhasználói információk sikeresen frissítve. Nézd meg az e-mailjeidet az új e-mail címedet megerősítő levélhez. @@ -1328,6 +1330,7 @@ hu: longitude: "Földrajzi hosszúság:" make edits public button: Szerkesztéseim nyilvánossá tétele my settings: Beállításaim + new email address: "Új e-mail cím:" no home location: Nem adtad meg az otthonod helyét. preferred languages: "Előnyben részesített nyelvek:" profile description: "Profil leírása:" diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 9d2c2be77..b7faf4773 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -212,6 +212,13 @@ ia: zoom_or_select: Face zoom avante o selige un area del carta a visualisar tag_details: tags: "Etiquettas:" + timeout: + sorry: Pardono, le datos pro le {{type}} con le ID {{id}} ha prendite troppo de tempore pro esser recuperate. + type: + changeset: gruppo de modificationes + node: nodo + relation: relation + way: via way: download: "{{download_xml_link}}, {{view_history_link}} o {{edit_link}}" download_xml: Discargar XML @@ -399,21 +406,124 @@ ia: search_osm_nominatim: prefix: amenity: + airport: Aeroporto + arts_centre: Centro artistic + auditorium: Auditorio + bank: Banca + bar: Bar + bench: Banco + bicycle_parking: Stationamento pro bicyclettas + bicycle_rental: Location de bicyclettas + brothel: Bordello + bureau_de_change: Officio de cambio + bus_station: Station de autobus + cafe: Café + car_rental: Location de automobiles + car_sharing: Repartition de autos + car_wash: Carwash + casino: Casino + cinema: Cinema + clinic: Clinica + club: Club + college: Schola superior + community_centre: Centro communitari + courthouse: Tribunal + crematorium: Crematorio + dentist: Dentista + dormitory: Dormitorio + drinking_water: Aqua potabile + driving_school: Autoschola + embassy: Ambassada + emergency_phone: Telephono de emergentia + fast_food: Fast food + ferry_terminal: Terminal de ferry + fire_hydrant: Hydrante de incendio + fountain: Fontana fuel: Carburante + grave_yard: Cemeterio + gym: Centro de fitness / Gymnasio + hall: Hall + hospital: Hospital + hotel: Hotel + hunting_stand: Posto de cacia + ice_cream: Gelato + kindergarten: Schola pro juvene infantes + library: Bibliotheca + market: Mercato + marketplace: Mercato + mountain_rescue: Succurso de montania + nightclub: Club nocturne + nursery: Sala recreative pro parve infantes + nursing_home: Casa de convalescentia + office: Officio + park: Parco parking: Parking + place_of_worship: Loco de adoration + police: Policia + post_box: Cassa postal + post_office: Officio postal + preschool: Pre-schola + prison: Prision + pub: Taverna + public_building: Edificio public + public_market: Mercato public + reception_area: Area de reception + recycling: Puncto de recyclage + restaurant: Restaurante + retirement_home: Residentia pro vetere personas + sauna: Sauna + school: Schola + shelter: Refugio + shop: Boteca + shopping: Compras + social_club: Club social + studio: Appartamento de un camera + supermarket: Supermercato + taxi: Taxi + telephone: Telephono public + theatre: Theatro + toilets: Toilettes + townhall: Casa municipal + university: Universitate + vending_machine: Distributor automatic + veterinary: Clinica veterinari + village_hall: Casa communal + wifi: Accesso WiFi + youth_centre: Centro pro le juventute highway: + bridleway: Sentiero pro cavallos + bus_guideway: Via guidate de autobus + bus_stop: Halto de autobus + byway: Via minor + construction: Strata in construction + cycleway: Pista cyclabile + distance_marker: Marcator de distantia + emergency_access_point: Puncto de accesso de emergentia + footway: Sentiero pro pedones + ford: Vado + gate: Porta a cancello + living_street: Strata residential minor: Via minor motorway: Autostrata motorway_junction: Junction de autostrata motorway_link: Via de communication a autostrata + path: Sentiero + pedestrian: Via pro pedones + platform: Platteforma primary: Via principal primary_link: Via principal + raceway: Circuito + residential: Residential road: Via secondary: Via secundari secondary_link: Via secundari service: Via de servicio services: Servicios de autostrata + steps: Scalones + stile: Scalon o apertura de passage tertiary: Via tertiari + track: Pista + trail: Pista trunk: Via national trunk_link: Via national unclassified: Via non classificate @@ -441,19 +551,44 @@ ia: track: Pista de athletismo water_park: Parco aquatic natural: + bay: Baia + beach: Plagia cape: Capo cave_entrance: Entrata de caverna + channel: Canal + cliff: Precipitio + coastline: Linea de costa + crater: Crater feature: Attraction fell: Montania + fjord: Fiord + geyser: Geyser + glacier: Glaciero + heath: Landa hill: Collina island: Insula + land: Terra + marsh: Palude moor: Landa mud: Fango + peak: Picco + point: Puncto + reef: Scolio + ridge: Cresta river: Fluvio/Riviera rock: Rocca scree: Talus + scrub: Arbusto + shoal: Banco de sablo spring: Fontana + strait: Stricto tree: Arbore + valley: Vallea + volcano: Vulcano + water: Aqua + wetland: Terra humide + wetlands: Terreno paludose + wood: Bosco place: airport: Aeroporto city: Citate @@ -909,6 +1044,7 @@ ia: count_points: "{{count}} punctos" edit: modificar edit_map: Modificar carta + identifiable: IDENTIFICABILE in: in map: carta more: plus @@ -916,6 +1052,7 @@ ia: private: PRIVATE public: PUBLIC trace_details: Vider detalios del tracia + trackable: TRACIABILE view_map: Vider carta trace_form: description: Description @@ -923,7 +1060,7 @@ ia: tags: Etiquettas tags_help: separate per commas upload_button: Cargar - upload_gpx: Cargar file GPX + upload_gpx: Incargar file GPX visibility: Visibilitate visibility_help: que significa isto? trace_header: @@ -933,6 +1070,10 @@ ia: traces_waiting: Tu ha {{count}} tracias attendente cargamento. Per favor considera attender le completion de istes ante de cargar alteres, pro non blocar le cauda pro altere usatores. trace_optionals: tags: Etiquettas + trace_paging_nav: + next: Sequente » + previous: "« Precedente" + showing_page: Pagina {{page}} monstrate view: delete_track: Deler iste tracia description: "Description:" @@ -959,6 +1100,7 @@ ia: trackable: Traciabile (solmente condividite como anonymo, punctos ordinate con datas e horas) user: account: + current email address: "Adresse de e-mail actual:" email never displayed publicly: (nunquam monstrate publicamente) flash update success: Informationes del usator actualisate con successo. flash update success confirm needed: Informationes del usator actualisate con successo. Tu recipera in e-mail un nota pro confirmar tu nove adresse de e-mail. @@ -967,6 +1109,7 @@ ia: longitude: "Longitude:" make edits public button: Render tote mi modificationes public my settings: Mi configurationes + new email address: "Adresse de e-mail nove:" no home location: Tu non ha entrate tu position de origine. preferred languages: "Linguas preferite:" profile description: "Description del profilo:" diff --git a/config/locales/mk.yml b/config/locales/mk.yml index 605e3d03e..e57075e0d 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -331,7 +331,7 @@ mk: login: Најавување login_to_leave_a_comment: "{{login_link}} за да оставите коментар" save_button: Зачувај - title: Кориснички дневници | {{user}} + title: Дневникот на {{user}} | {{title}} user_title: дневник на {{user}} export: start: @@ -870,8 +870,9 @@ mk: zero: Немате непрочитани пораки во сандачето intro_1: OpenStreetMap е слободна уредлива карта на целиот свет. Ја прават луѓе како вас. intro_2: OpenStreetMap ви овозможува да разгледувате, уредувате и користите гоеографски податоци на колаборативен начин од било кое место на Земјината топка. - intro_3: OpenStreetMap е вдомен со великодушна поддршка од {{ucl}} и {{bytemark}}. + intro_3: Вдомувањето на OpenStreetMap е овозможено од {{ucl}} и {{bytemark}}. Другите поддржувачи на проектот се наведени на {{partners}}. intro_3_bytemark: bytemark + intro_3_partners: вики intro_3_ucl: Центарот UCL VR license: title: Податоците на OpenStreetMap се под Creative Commons Наведи извор-Сподели под исти услови 2.0 Нелокализирана лиценца diff --git a/config/locales/nl.yml b/config/locales/nl.yml index bfec34a23..653a3d1d6 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -302,7 +302,7 @@ nl: feed: all: description: Recente dagboekberichten van OpenStreetMap-gebruikers - title: OpenStreetMap dagboekberichten + title: OpenStreetMap-dagboekberichten language: description: Recente dagboekberichten van OpenStreetMap-gebruikers in het {{language_name}} title: OpenStreetMap dagboekberichten in het {{language_name}} @@ -312,7 +312,7 @@ nl: list: in_language_title: Dagboekberichten in het {{language}} new: Nieuw dagboekbericht - new_title: Nieuwe bericht voor uw dagboek schrijven + new_title: Nieuw bericht voor uw dagboek schrijven newer_entries: Nieuwere berichten no_entries: Het dagboek is leeg older_entries: Oudere berichten @@ -334,7 +334,7 @@ nl: login: aanmelden login_to_leave_a_comment: U moet moet zich {{login_link}} om te kunnen reageren save_button: Opslaan - title: Gebruikersdagboeken | {{user}} + title: Gebruikersdagboek van {{user}} | {{title}} user_title: Dagboek van {{user}} export: start: @@ -421,7 +421,7 @@ nl: bicycle_rental: Fietsverhuur brothel: Bordeel bureau_de_change: Wisselkantoor - bus_station: Bushalte + bus_station: Busstation cafe: Café car_rental: Autoverhuur car_sharing: Autodelen @@ -430,7 +430,7 @@ nl: cinema: Bioscoop clinic: Kliniek club: Club - college: Middelbare school + college: Hogeschool community_centre: Gemeenschapscentrum courthouse: Rechtbank crematorium: Crematorium @@ -492,7 +492,7 @@ nl: telephone: Openbare telefoon theatre: Theater toilets: Toiletten - townhall: Gemeentehuid + townhall: Gemeentehuis university: Universiteit vending_machine: Automaat veterinary: Dierenarts @@ -873,7 +873,8 @@ nl: zero: Uw Postvak IN bevat geen nieuwe berichten intro_1: OpenStreetMap is een vrij bewerkbare kaart van de hele wereld. Hij wordt gemaakt door mensen zoals u. intro_2: Met OpenStreetMap kunt u geografische gegevens van de hele aarde bekijken, samen bewerken en gebruiken. - intro_3: De hosting van OpenStreetMap wordt ondersteund door {{ucl}} en {{bytemark}}. + intro_3: De hosting van OpenStreetMap wordt ondersteund door {{ucl}} en {{bytemark}}. Andere partners van het project zijn opgenomen in de {{partners}} + intro_3_partners: wiki license: title: Gegevens van OpenStreetMap zijn beschikbaar onder de licentie Creative Commons Naamsvermelding-Gelijk delen 2.0 Generiek log_in: aanmelden @@ -1311,6 +1312,7 @@ nl: trackable: Traceerbaar (alleen gedeeld als anoniem; geordende punten met tijdstempels) user: account: + current email address: "Huidige e-mailadres:" email never displayed publicly: (nooit openbaar gemaakt) flash update success: De gebruikersinformatie is bijgewerkt. flash update success confirm needed: De gebruikersinformatie is bijgewerkt. Controleer uw e-mail om uw nieuwe e-mailadres te bevestigen. @@ -1319,6 +1321,7 @@ nl: longitude: "Lengtegraad:" make edits public button: Al mijn wijzigingen openbaar maken my settings: Mijn instellingen + new email address: "Nieuw e-mailadres:" no home location: Er is geen thuislocatie ingevoerd. preferred languages: "Voorkeurstalen:" profile description: "Profielbeschrijving:" diff --git a/config/locales/no.yml b/config/locales/no.yml index 0909c2b98..15e2f231f 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -4,6 +4,7 @@ # Author: Hansfn # Author: Jon Harald Søby # Author: Laaknor +# Author: Nghtwlkr # Author: Oyvind "no": activerecord: @@ -210,6 +211,13 @@ zoom_or_select: Zoom inn eller velg et omrÃ¥de av kartet for visning tag_details: tags: "Markelapper:" + timeout: + sorry: Beklager, data for {{type}} med id {{id}} brukte for lang tid pÃ¥ Ã¥ hentes. + type: + changeset: endringssett + node: node + relation: relasjon + way: vei way: download: "{{download_xml_link}}, {{view_history_link}} eller {{edit_link}}" download_xml: Last ned XML @@ -239,7 +247,9 @@ still_editing: (redigerer forsatt) view_changeset_details: Vis detaljer for endringssett changeset_paging_nav: - showing_page: Viser side + next: Neste » + previous: « Forrige + showing_page: Viser side {{page}} changesets: area: OmrÃ¥de comment: Kommentar @@ -261,6 +271,7 @@ title_user_bbox: Endringssett av {{user}} innen {{bbox}} diary_entry: diary_comment: + comment_from: Kommentar fra {{link_user}}, {{comment_created_at}} confirm: Bekreft hide_link: Skjul denne kommentaren diary_entry: @@ -317,14 +328,15 @@ login: Logg inn login_to_leave_a_comment: "{{login_link}} for Ã¥ legge igjen en kommentar" save_button: Lagre - title: Brukernes dagbok | {{user}} + title: "{{user}} sin dagbok | {{title}}" user_title: Dagboken for {{user}} export: start: add_marker: Legg til en markør pÃ¥ kartet area_to_export: OmrÃ¥de som skal eksporteres - embeddable_html: HTML-fil (*.html)|*.html + embeddable_html: HTML som kan bygges inn export_button: Eksporter + export_details: Data fra OpenStreetMap er lisensiert under lisensen Creative Commons Navngivelse-Del pÃ¥ samme vilkÃ¥r 2.0. format: Format format_to_export: Format for eksport image_size: Bildestørrelse @@ -338,6 +350,7 @@ osm_xml_data: OpenStreetMap XML-data osmarender_image: Osmarender-bilde output: Utdata + paste_html: Lim inn HTML som skal bygges inn i nettsted scale: Skala zoom: Zoom start_rjs: @@ -373,6 +386,7 @@ other: omtrent {{count}}km zero: mindre enn 1 km results: + more_results: Flere resultat no_results: Ingen resultat funnet search: title: @@ -389,85 +403,307 @@ prefix: amenity: airport: Flyplass + arts_centre: Kunstsenter atm: Minibank + auditorium: Auditorium bank: Bank bar: Bar + bench: Benk + bicycle_rental: Sykkelutleie + brothel: Bordell + bureau_de_change: Vekslingskontor bus_station: Busstasjon + cafe: Kafé car_rental: Bilutleie car_wash: Bilvask casino: Kasino cinema: Kino + clinic: Klinikk + club: Klubb + college: Høyskole crematorium: Krematorium dentist: Tannlege + doctors: Leger + dormitory: Sovesal + drinking_water: Drikkevann embassy: Ambassade + emergency_phone: Nødtelefon + fast_food: Hurtigmat ferry_terminal: Ferjeterminal fire_hydrant: Brannhydrant + fire_station: Brannstasjon fountain: Fontene + fuel: Drivstoff + grave_yard: Gravlund gym: Treningssenter + health_centre: Helsesenter hospital: Sykehus hotel: Hotell ice_cream: Iskrem + kindergarten: Barnehage library: Bibliotek + market: Marked + marketplace: Markedsplass nightclub: Nattklubb office: Kontor + park: Park + parking: Parkeringsplass pharmacy: Apotek + place_of_worship: Tilbedelsesplass police: Politi + post_box: Postboks post_office: Postkontor + preschool: Førskole prison: Fengsel pub: Pub public_building: Offentlig bygning + restaurant: Restaurant + retirement_home: Gamlehjem school: Skole + studio: Studio + supermarket: Supermarked + taxi: Drosje telephone: Offentlig telefon + theatre: Teater toilets: Toaletter townhall: RÃ¥dhus + veterinary: Veterinærklinikk + wifi: WiFi-tilgangspunkt + youth_centre: Ungdomssenter boundary: administrative: Administrativ grense building: + apartments: Leilighetsblokk + block: Bygningsblokk + bunker: Bunker chapel: Kapell church: Kirke city_hall: RÃ¥dhus + dormitory: Sovesal + farm: GÃ¥rdsbygg + flats: Leiligheter garage: Garasje + hospital: Sykehusbygg + hotel: Hotell + house: Hus + industrial: Industribygg + office: Kontorbygg + public: Offentlig bygg + residential: Boligbygg + school: Skolebygg + shop: Butikk + stadium: Stadion + store: Butikk + terrace: Terrasse tower: TÃ¥rn train_station: Jernbanestasjon + university: Universitetsbygg + "yes": Bygning highway: bus_stop: Busstopp + cycleway: Sykkelsti + motorway: Motorvei + pedestrian: Gangvei + road: Vei + steps: Trapper historic: + archaeological_site: Arkeologisk plass battlefield: Slagmark + boundary_stone: Grensestein + building: Bygning castle: Slott church: Kirke + house: Hus + icon: Ikon + manor: HerregÃ¥rd + memorial: Minne + mine: Gruve monument: Monument + museum: Museum + ruins: Ruiner + tower: TÃ¥rn + wreck: Vrak + landuse: + cemetery: Gravplass + commercial: Kommersielt omrÃ¥de + construction: Kontruksjon + farm: GÃ¥rd + farmyard: GÃ¥rdstun + forest: Skog + grass: Gress + industrial: IndustriomrÃ¥de + landfill: Landfylling + meadow: Eng + military: Militært omrÃ¥de + mine: Gruve + mountain: Fjell + nature_reserve: Naturreservat + park: Park + quarry: Steinbrudd + railway: Jernbane + reservoir: Reservoar + residential: BoligomrÃ¥de + vineyard: VingÃ¥rd + wetland: VÃ¥tland + wood: Skog leisure: + fishing: FiskeomrÃ¥de + garden: Hage + golf_course: Golfbane + ice_rink: Skøytebane + miniature_golf: Minigolf nature_reserve: Naturreservat + park: Park + playground: Lekeplass + sports_centre: Sportssenter + stadium: Stadion swimming_pool: Svømmebaseng + water_park: Vannpark natural: + beach: Strand cave_entrance: Huleinngang + channel: Kanal + cliff: Klippe + coastline: Kystlinje + crater: Krater + fjord: Fjord + geyser: Geysir + glacier: Isbre + island: Øy + mud: Gjørme + peak: Topp + reef: Rev + river: Elv + rock: Stein + scrub: Kratt + spring: Kilde + tree: Tre + valley: Dal + volcano: Vulkan + water: Vann + wetlands: VÃ¥tland + wood: Skog place: airport: Flyplass + city: By + country: Land + farm: GÃ¥rd + house: Hus + houses: Hus + island: Øy + islet: Holme + municipality: Kommune + postcode: Postnummer + region: OmrÃ¥de + sea: Hav + subdivision: Underavdeling + suburb: Forstad + town: Tettsted railway: + abandoned: Forlatt jernbane + construction: Jernbane under konstruksjon + disused: Nedlagt jernbane + disused_station: Nedlagt jernbanestasjon + halt: Togstopp historic_station: Historisk jernbanestasjon + platform: Jernbaneperrong + station: Jernbanestasjon subway: T-banestasjon + subway_entrance: T-baneinngang shop: + alcohol: Utenfor lisens + art: Kunstbutikk bakery: Bakeri + beauty: Skjønnhetssalong + bicycle: Sykkelbutikk + books: Bokhandel + butcher: Slakter + car: Bilbutikk car_dealer: Bilforhandler + car_parts: Bildeler + car_repair: Bilverksted + carpet: Teppebutikk + charity: Veldedighetsbutikk + chemist: Kjemiker + clothes: Klesbutikk + computer: Databutikk + convenience: Nærbutikk + cosmetics: Kosmetikkforretning + drugstore: Apotek + dry_cleaning: Renseri + electronics: Elektronikkforretning + estate_agent: Eiendomsmegler + farm: GÃ¥rdsbutikk + fashion: Motebutikk fish: Fiskebutikk + florist: Blomsterbutikk + food: Matbutikk + furniture: Møbler + gallery: Galleri garden_centre: Hagesenter + gift: Gavebutikk + greengrocer: Grønnsakshandel + grocery: Dagligvarebutikk hairdresser: Frisør + hardware: Jernvarehandel + hifi: Hi-Fi insurance: Forsikring jewelry: Gullsmed + kiosk: Kiosk + laundry: Vaskeri + mall: Kjøpesenter + market: Marked + mobile_phone: Mobiltelefonbutikk + motorcycle: Motorsykkelbutikk + music: Musikkbutikk + newsagent: NyhetsbyrÃ¥ optician: Optiker + organic: Organisk matbutikk + outdoor: Utendørs butikk + pet: Dyrebutikk + photo: Fotobutikk + salon: Salong shoes: Skobutikk shopping_centre: Kjøpesenter + sports: Sportsbutikk + supermarket: Supermarked + toys: Lekebutikk + travel_agency: ReisebyrÃ¥ + video: Videobutikk + wine: Utenfor lisens tourism: + alpine_hut: Fjellhytte + artwork: Kunstverk attraction: Attraksjon + cabin: Hytte + camp_site: Teltplass + caravan_site: Campingplass + guest_house: Gjestehus + hostel: Vandrerhjem hotel: Hotell information: Informasjon + motel: Motell museum: Museum + picnic_site: Piknikplass + theme_park: Fornøyelsespark + valley: Dal + viewpoint: Utsiktspunkt + zoo: Dyrepark + waterway: + canal: Kanal + dam: Demning + ditch: Grøft + rapids: Stryk + river: Elv + stream: Strøm + waterfall: Foss javascripts: map: base: cycle_map: Sykkelkart noname: IntetNavn layouts: + donate: Støtt OpenStreetMap ved {{link}} til Hardware Upgrade Fund (et fond for maskinvareoppgraderinger). donate_link_text: donering edit: Rediger edit_tooltip: Rediger kart @@ -488,7 +724,10 @@ zero: Din innboks inneholder ingen uleste meldinger intro_1: OpenStreetMap er et fritt redigerbart kart over hele jorda. Det er lagd av folk som deg. intro_2: OpenStreetMap gjør det mulig Ã¥ vise, redigere og bruke geografiske data pÃ¥ en samarbeidende mÃ¥te fra hvor som helst pÃ¥ jorda. - intro_3: OpenStreetMaps hosting er støttet av {{ucl}} og {{bytemark}}. + intro_3: OpenStreetMaps tjenerplass støttes av {{ucl}} og {{bytemark}}. Andre støttespillere av prosjektet er oppført i {{partners}}. + intro_3_partners: wiki + license: + title: Data fra OpenStreetMap er lisensiert under lisensen Creative Commons Navngivelse-Del pÃ¥ like vilkÃ¥r 2.0 Generisk log_in: logg inn log_in_tooltip: Logg inn med en eksisterende konto logo: @@ -497,6 +736,7 @@ logout_tooltip: Logg ut make_a_donation: text: Doner + title: Støtt OpenStreetMap med en donasjon news_blog: Nyhetsblogg news_blog_tooltip: Nyhetsblogg om OpenStreetMap, frie geografiske data, osv. osm_offline: OpenStreetMap databasen er for øyeblikket utilgjengelig mens essensielt vedlikeholdsarbeid utføres. @@ -577,11 +817,14 @@ delete_button: Slett notifier: diary_comment_notification: + footer: Du kan ogsÃ¥ lese kommentaren pÃ¥ {{readurl}} og du kan kommentere pÃ¥ {{commenturl}} eller svare pÃ¥ {{replyurl}} + header: "{{from_user}} har kommentert pÃ¥ ditt siste OpenStreetMap-dagbokinnlegg med emnet {{subject}}:" hi: Hei {{to_user}}, subject: "[OpenStreetMap] {{user}} kommenterte pÃ¥ en oppføring i dagboka di" email_confirm: subject: "[OpenStreetMap] Bekreft din e-postadresse" email_confirm_html: + click_the_link: Om dette er deg, vennligst klikk pÃ¥ lenken under for Ã¥ bekrefte endringen. greeting: Hei, hopefully_you: Noen (forhÃ¥pentligvis deg) ønsker Ã¥ endre e-postadressen for {{server_url}} til {{new_address}}. email_confirm_plain: @@ -590,6 +833,8 @@ hopefully_you_1: Noen (forhÃ¥pentligvis deg) ønsker Ã¥ endre e-postadressen for hopefully_you_2: "{{server_url}} til {{new_address}}." friend_notification: + had_added_you: "{{user}} har lagt deg til som venn pÃ¥ OpenStreetMap." + see_their_profile: Du kan se profilen deres pÃ¥ {{userurl}} og legge dem til som venn ogsÃ¥ om du vil det. subject: "[OpenStreetMap] {{user}} la deg til som en venn" gpx_notification: and_no_tags: og ingen merkelapper. @@ -597,6 +842,7 @@ failure: failed_to_import: "klarte ikke importere. Her er feilen:" more_info_1: Mer informasjon om feil ved import av GPX og hvordan du kan unngÃ¥ det + more_info_2: "de kan bli funnet hos:" subject: "[OpenStreetMap] Feil under import av GPX" greeting: Hei, success: @@ -610,21 +856,40 @@ greeting: Hei, hopefully_you: Noen (forhÃ¥pentligvis deg) har bedt Ã¥ nullstille passordet for OpenStreetMap-kontoen knyttet til denne e-postadressen. lost_password_plain: + click_the_link: Om dette er deg, vennligst klikk pÃ¥ lenken under for Ã¥ tilbakestille passordet. greeting: Hei, + hopefully_you_1: Noen (muligens deg) har bedt om Ã¥ tilbakestille passordet pÃ¥ denne message_notification: + footer1: Du kan ogsÃ¥ lese meldingen pÃ¥ {{readurl}} + footer2: og du kan svare til {{replyurl}} + header: "{{from_user}} har sendt deg en melding gjennom OpenStreetMap med emnet {{subject}}:" hi: Hei {{to_user}}, subject: "[OpenStreetMap] {{user}} sendte deg en melding" signup_confirm: subject: "[OpenStreetMap] Bekreft din e-postadresse" signup_confirm_html: + current_user: En liste over nÃ¥værende brukere i kategorier, basert pÃ¥ hvor i verden de er, er tilgjengelig fra Category:Users_by_geographical_region. greeting: Hei der! + introductory_video: Du kan se en {{introductory_video_link}}. + more_videos: Det er {{more_videos_link}}. more_videos_here: flere videoer her + video_to_openstreetmap: introduksjonsvideo til OpenStreetMap + wiki_signup: Du vil kanskje melde deg inn i OpenStreetMap-wikien ogsÃ¥. signup_confirm_plain: + blog_and_twitter: "FÃ¥ med deg de siste nyhetene gjennom OpenStreetMap-bloggen eller Twitter:" + click_the_link_1: Om dette er deg, velkommen! Vennligst klikk pÃ¥ lenken under for Ã¥ bekrefte din + click_the_link_2: konto og les videre for mer informasjon om OpenStreetMap. + current_user_2: "de er, er tilgjengelig fra:" greeting: Hei der! + introductory_video: "Du kan se en introduksjonsvideo for OpenStreetMap her:" + more_videos: "Det er flere videoer her:" + the_wiki: "Les mer om OpenStreetMap pÃ¥ wikien:" + user_wiki_1: Det anbefales at du oppretter en wikibrukerside som inkluderer + wiki_signup: "Du vil kanskje ogsÃ¥ melde deg inn i OpenStreetMap-wikien pÃ¥:" oauth: oauthorize: allow_read_gpx: les dine private GPS-spor. - allow_read_prefs: Innstillingene ble lagret. + allow_read_prefs: les brukerinnstillingene dine. allow_to: "Tillat klientprogrammet Ã¥ gjøre:" allow_write_api: endre kartet. allow_write_diary: opprett dagbokoppføringer, kommentarer og finn venner. @@ -645,7 +910,7 @@ callback_url: "URL til sÃ¥rbarhetsinformasjon:" name: Navn required: PÃ¥krevet - support_url: "URL til sÃ¥rbarhetsinformasjon:" + support_url: Støtte-URL url: "URL til sÃ¥rbarhetsinformasjon:" index: application: Applikasjonsnavn @@ -662,23 +927,33 @@ sorry: Klarte ikke finne den {{type}}-en. show: access_url: URL for tilgangensnøkkel + allow_read_gpx: les deres private GPS-spor. + allow_read_prefs: les brukerinnstillingene deres. allow_write_api: endre kartet. allow_write_diary: opprett dagbokoppføringer, kommentarer og finn venner. allow_write_gpx: last opp GPS-spor. + allow_write_prefs: endre brukerinnstillingene deres. authorize_url: "URL til sÃ¥rbarhetsinformasjon:" edit: Rediger detaljer - key: Kartnøkkel + key: "Forbrukernøkkel:" + requests: "Ber om følgende tillatelser fra brukeren:" + secret: "Forbrukerhemmelighet:" + support_notice: Vi støtter HMAC-SHA1 (anbefalt) sÃ¥ vel som ren tekst i ssl-modus. + title: OAuth-detaljer for {{app_name}} url: "URL til sÃ¥rbarhetsinformasjon:" update: - flash: Informasjon om %d pakke/pakker ble oppdatert. + flash: Oppdaterte klientinformasjonen site: edit: + anon_edits_link_text: Finn ut hvorfor dette er tilfellet. user_page_link: brukerside index: js_1: Du har en nettleser som ikke støtter JavaScript eller sÃ¥ har du slÃ¥tt av JavaScript. js_2: OpenStreetMap bruker JavaScript pÃ¥ kartsidene. js_3: Hvis du ikke kan slÃ¥ pÃ¥ JavaScript, sÃ¥ kan du prøve de de statiske Tiles@Home-kartsidene. license: + license_name: Creative Commons Navngivelse-Del pÃ¥ like vilkÃ¥r 2.0 + notice: Lisensiert under lisensen {{license_name}} av {{project_name}} og dets bidragsytere. project_name: OpenStreetMap-prosjekt permalink: Permanent lenke shortlink: Kort lenke @@ -690,12 +965,14 @@ apron: - terminal - terminal + bridge: Sort kant = bru bridleway: Ridevei building: Viktig bygning byway: Stikkvei cable: - Kabelvogn - stolheis + cemetery: Gravplass centre: Sportssenter commercial: Kommersielt omrÃ¥de common: @@ -722,6 +999,8 @@ reserve: Naturreservat resident: BoligomrÃ¥de retail: Militært omrÃ¥de + runway: + - Flystripe school: - Skole - universitet @@ -737,6 +1016,7 @@ - Lyskilde - trikk trunk: Hovedvei + tunnel: Streket kant = tunnel unclassified: Uklassifisert vei wood: Ved heading: Legend for z{{zoom_level}} @@ -813,6 +1093,10 @@ traces_waiting: Du har {{count}} spor som venter pÃ¥ opplasting. Du bør vurdere Ã¥ la disse bli ferdig før du laster opp flere spor slik at du ikke blokkerer køa for andre brukere. trace_optionals: tags: Markelapper + trace_paging_nav: + next: Neste » + previous: « Forrige + showing_page: Viser side {{page}} view: delete_track: Slett dette sporet description: "Beskrivelse:" @@ -839,6 +1123,7 @@ trackable: Sporbar (bare delt som anonyme, sorterte punkter med tidsstempel) user: account: + current email address: "NÃ¥værende e-postadresse:" email never displayed publicly: " (vis aldri offentlig)" flash update success: Brukerinformasjon oppdatert. flash update success confirm needed: Brukerinformasjon oppdatert. Sjekk eposten din for Ã¥ bekrefte din epostadresse. @@ -847,12 +1132,14 @@ longitude: "Lengdegrad:" make edits public button: Gjør alle mine redigeringer offentlig my settings: Mine innstillinger + new email address: "Ny e-postadresse:" no home location: Du har ikke skrevet inn din hjemmelokasjon. preferred languages: "Foretrukne sprÃ¥k:" profile description: "Profilbeskrivelse:" public editing: disabled: Deaktivert og kan ikke redigere data. Alle tidligere redigeringer er anonyme. disabled link text: hvorfor can jeg ikke redigere? + enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits enabled link text: hva er dette? heading: "Offentlig redigering:" public editing note: @@ -881,6 +1168,7 @@ go_public: flash success: Alle dine redigeringer er nÃ¥ offentlig, og du har lov til Ã¥ redigere. login: + account not active: Beklager,kontoen din er ikke aktivert ennÃ¥.
    Vennligst klikk pÃ¥ lenken i e-posten med kontobekreftelsen for Ã¥ aktivere kontoen din. auth failure: Beklager, kunne ikke logge inn med den informasjonen create_account: opprett en konto email or username: "E-postadresse eller brukernavn:" @@ -896,6 +1184,7 @@ help_text: Skriv inn e-postadressen du brukte for Ã¥ registrere deg, og vi vil sende deg ei lenke som du kan bruke til Ã¥ nullstille passordet ditt. new password button: Nullstill passord notice email cannot find: Klarte ikke finne den e-postadressen. Beklager. + notice email on way: Synd at du mistet det, men en e-post er pÃ¥ vei slik at du kan tilbakestille det snart. title: Glemt passord make_friend: already_a_friend: Du er allerede venner med {{name}}. @@ -905,7 +1194,9 @@ confirm email address: "Bekreft e-postadresse:" confirm password: "Bekreft passord:" display name: "Visningsnavn:" + display name description: Ditt offentlig fremviste brukernavn. Du kan endre dette senere i innstillingene. email address: "E-postadresse:" + fill_form: Fyll ut skjemaet og vi vil sende deg en e-post for Ã¥ aktivere kontoen din. heading: Opprett en brukerkonto password: "Passord:" signup: Registrering @@ -931,6 +1222,8 @@ add as friend: legg til som en venn add image: Legg til bilde ago: ({{time_in_words_ago}} siden) + block_history: vis mottatte blokkeringer + blocks by me: blokkeringer utført av meg blocks on me: mine blokkeringer change your settings: endre dine innstillinger confirm: Bekreft @@ -955,7 +1248,9 @@ my_oauth_details: Vis mine OAuth-detaljer nearby users: "Næreliggende brukere:" new diary entry: ny dagbokoppføring + no friends: Du har ikke lagt til noen venner ennÃ¥. no home location: Ingen hjemmelokasjon satt. + no nearby users: Det er ingen brukere som innrømmer kartlegging i ditt omrÃ¥de ennÃ¥. remove as friend: fjern som venn role: administrator: Denne brukeren er en administrator @@ -969,29 +1264,89 @@ send message: send melding settings_link_text: innstillinger traces: spor + unhide_user: stopp Ã¥ skjule denne brukeren upload an image: Last opp et bilde user image heading: Brukerbilde user location: Brukerens posisjon your friends: Dine venner user_block: + blocks_by: + empty: "{{name}} har ikke blokkert noen ennÃ¥." + heading: Liste over blokkeringer av {{name}} + title: Blokkeringer av {{name}} + blocks_on: + empty: "{{name}} har ikke blitt blokkert ennÃ¥." + title: Blokkeringer av {{name}} + create: + flash: Opprettet en blokkering av bruker {{name}}. + try_contacting: Vennligst prøv Ã¥ kontakte brukeren før du blokkerer dem og gi dem rimelig med tid til Ã¥ svare. + try_waiting: Vennligst prøv Ã¥ gi brukeren rimelig med tid til Ã¥ svare før du blokkerer dem. + edit: + back: Vis alle blokkeringer + heading: Endrer blokkering av {{name}} + reason: Årsaken til hvorfor {{name}} blir blokkert. Vennligst vær sÃ¥ rolig og rimelig som mulig og oppgi sÃ¥ mange detaljer du kan om situasjonen. Husk at ikke alle brukere forstÃ¥r felleskapssjargongen sÃ¥ prøv Ã¥ bruke lekmannsuttrykk. + show: Vis denne blokkeringen + submit: Oppdater blokkering + title: Endrer blokkering av {{name}} + filter: + block_expired: Blokkeringen har allerede utløpt og kan ikke endres. + block_period: Blokkeringsperioden mÃ¥ være en av verdiene som kan velges fra rullegardinen. + not_a_moderator: Du mÃ¥ være en moderator for Ã¥ utføre den handlingen. helper: time_future: Slutter om {{time}}. time_past: Sluttet {{time}} siden. + until_login: Aktiv inntil brukeren logger inn. + index: + empty: Ingen blokkeringer har blitt utført ennÃ¥. + heading: Liste over brukerblokkeringer + title: Brukerblokkeringer + model: + non_moderator_revoke: MÃ¥ være en moderator for Ã¥ tilbakekalle en blokkering. + non_moderator_update: MÃ¥ være en moderator for Ã¥ opprette eller oppdatere en blokkering. + new: + back: Vis alle blokkeringer + heading: Oppretter blokkering av {{name}} + reason: Årsaken til at {{name}} blir blokkert. Vennligst vær sÃ¥ rolig og rimelig som mulig og gi sÃ¥ mange detaljer du kan om situasjonen, og husk pÃ¥ at meldingen blir synlig for offentligheten. Husk pÃ¥ at ikke alle brukere forstÃ¥r fellesskapssjargongen sÃ¥ prøv Ã¥ bruke lekmannsuttrykk. + submit: Opprett blokkering + title: Oppretter blokkering av {{name}} + tried_contacting: Jeg har kontaktet brukeren og bedt dem stoppe. + tried_waiting: Jeg har gitt brukeren rimelig med tid til Ã¥ svare pÃ¥ disse kommunikasjonene. not_found: back: Tilbake til indeksen partial: confirm: Er du sikker? creator_name: Opprettet av + display_name: Blokkert bruker edit: Rediger + not_revoked: (ikke tilbakekalt) + reason: Årsak for blokkering + revoke: Tilbakekall! + revoker_name: Tilbakekalt av show: Vis status: Status + period: + one: 1 time + other: "{{count}} timer" + revoke: + confirm: Er du sikker pÃ¥ at du vil tilbakekalle denne blokkeringen? + flash: Denne blokkeringen har blitt tilbakekalt. + heading: Tilbakekaller blokkering pÃ¥ {{block_on}} av {{block_by}} + past: Denne blokkeringen endte {{time}} siden og kan ikke tilbakekalles nÃ¥. + revoke: Tilbakekall! + time_future: Denne blokkeringen ender i {{time}} + title: Tilbakekaller blokkering pÃ¥ {{block_on}} show: confirm: Er du sikker? edit: Rediger + revoke: Tilbakekall! show: Vis status: Status time_future: Slutter om {{time}} time_past: Sluttet {{time}} siden + title: "{{block_on}} blokkert av {{block_by}}" + update: + only_creator_can_edit: Bare moderatoren som opprettet denne blokkeringen kan endre den. + success: Blokkering oppdatert. user_role: filter: already_has_role: Brukeren har allerede rollen {{role}}. @@ -999,6 +1354,7 @@ not_a_role: Strengen "{{role}}" er ikke en gyldig rolle. not_an_administrator: Kun administratorer kan forandre roller, og du er ikke administrator. grant: + are_you_sure: Er du sikker pÃ¥ at du vil gi rollen `{{role}}' til brukeren `{{name}}'? confirm: Bekreft fail: Kunne ikke gi rollen "{{role}}" til bruker "{{name}}". Sjekk at brukeren og rollen er gyldig. heading: Bekreft rolletildeling diff --git a/config/locales/pl.yml b/config/locales/pl.yml index b3ace69d6..d79e5a5eb 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: syck # Author: BdgwksxD +# Author: Soeb # Author: Sp5uhe # Author: Wpedzich # Author: Yarl @@ -252,7 +253,7 @@ pl: no_edits: (brak edycji) show_area_box: pokaż prostokąt zawierający still_editing: (nadal edytowany) - view_changeset_details: Zobacz szczegóły changesetu + view_changeset_details: Zobacz szczegóły zestawu zmian changeset_paging_nav: next: Następna » previous: "« Poprzednia" @@ -337,7 +338,7 @@ pl: login: Zaloguj się login_to_leave_a_comment: "{{login_link}}, aby dodać komentarz" save_button: Zapisz - title: Wpisy użytkowników | {{user}} + title: Dziennik użytkownika {{user}} | {{title}} user_title: Dziennik dla {{user}} export: start: @@ -1000,6 +1001,8 @@ pl: subject: "[OpenStreetMap] Sukces importu pliku GPX" with_description: z opisem your_gpx_file: Wygląda, ze Twój plik GPX + lost_password: + subject: "[OpenStreetMap] Prośba zmiany hasła" lost_password_html: click_the_link: Jeśli to Ty, kliknij na poniższy link, aby zresetować hasło. greeting: Witaj, @@ -1059,6 +1062,13 @@ pl: oauth_clients: edit: submit: Edytuj + form: + required: Wymagane + index: + application: Nazwa aplikacji + revoke: Odwołaj! + show: + edit: Edytuj szczegóły site: edit: anon_edits_link_text: Tu dowiesz się dlaczego. @@ -1257,6 +1267,7 @@ pl: trackable: Niezidentyfikowany (udostępniany jedynie jako anonimowy, uporządkowane punkty ze znacznikami czasu) user: account: + current email address: "Aktualny adres e-mail:" email never displayed publicly: (nie jest wyświetlany publicznie) flash update success: Zaktualizowano profil użytkownika. flash update success confirm needed: Zaktualizowano profil użytkownika. Sprawdź czy przyszedł już mail potwierdzający nowy adres mailowy. @@ -1265,6 +1276,7 @@ pl: longitude: "Długość geograficzna:" make edits public button: Niech wszystkie edycje będą publiczne. my settings: Moje ustawienia + new email address: "Nowy adres e-mail:" no home location: Nie wpisałeś swojej lokalizacji domowej. preferred languages: "Preferowane Języki:" profile description: "Opis profilu:" @@ -1443,6 +1455,9 @@ pl: model: non_moderator_revoke: Musisz być moderatorem, żeby odwoływać blokady. non_moderator_update: Musisz być moderatorem, żeby ustalać i edytować blokady. + new: + back: Zobacz wszystkie blokady + submit: Utwórz blokadę not_found: back: Powrót do spisu sorry: Niestety, nie udało się odnaleźć blokady użytkownika o identyfikatorze {{id}}. @@ -1482,6 +1497,8 @@ pl: time_future: Blokada wygasa {{time}} time_past: Zakończona {{time}} temu title: "{{block_on}} zablokowany przez użytkownika {{block_by}}" + update: + success: Blokada zaktualizowana. user_role: filter: already_has_role: Użytkownik ma już rolę {{role}}. diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index d32b7fa32..2d311a9ba 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -111,6 +111,13 @@ pt-BR: all: next_tooltip: Próximo conjunto de alterações prev_tooltip: Conjunto de alterações anterior + paging: + all: + next: "{{id}} »" + prev: "« {{id}}" + user: + next: "{{id}} »" + prev: "« {{id}}" user: name_tooltip: Ver edições de {{user}} next_tooltip: Editado posteriormente por {{user}} @@ -337,7 +344,7 @@ pt-BR: login: Entrar login_to_leave_a_comment: "{{login_link}} para deixar um comentário" save_button: Salvar - title: Diários dos usuários | {{user}} + title: Diário de {{user}} | {{title}} user_title: Diário de {{user}} export: start: @@ -454,6 +461,7 @@ pt-BR: fuel: Combustível grave_yard: Cemitério gym: Ginásio + hall: Salão health_centre: Centro de saúde hospital: Hospital hotel: Hotel @@ -465,6 +473,8 @@ pt-BR: marketplace: Mercado público / feira mountain_rescue: Abrigo de montanha nightclub: Casa noturna/Boate + nursery: Berçário + nursing_home: Asilo office: Escritório park: Parque parking: Estacionamento @@ -478,6 +488,7 @@ pt-BR: pub: Pub public_building: Edifício público public_market: Mercado público + reception_area: Área de recepção recycling: Posto de Reciclagem restaurant: Restaurante retirement_home: Asilo @@ -497,6 +508,7 @@ pt-BR: university: Universidade vending_machine: Máquina de venda automática veterinary: Clínica veterinária + village_hall: Salão de vila waste_basket: Lata de lixo wifi: Ponto de Acesso WiFi youth_centre: Centro juvenil @@ -504,6 +516,7 @@ pt-BR: administrative: Limite Administrativo building: apartments: Bloco de apartamentos + block: Bloco de Prédios bunker: Bunker chapel: Capela church: Igreja @@ -511,7 +524,11 @@ pt-BR: commercial: Edifício comercial dormitory: Dormitório entrance: Entrada de edifício + faculty: Prédio de Faculdade + farm: Paiol + flats: Apartamentos garage: Garagem + hall: Salão hospital: Hospital hotel: Hotel house: Casa @@ -519,6 +536,7 @@ pt-BR: office: Edifício de escritórios public: Edifício público residential: Edifício residencial + retail: Prédio de Varejo school: Edifício escolar shop: Loja stadium: Estádio @@ -530,16 +548,24 @@ pt-BR: "yes": Edifício highway: bridleway: Pista para cavalos + bus_guideway: Corredor de ônibus bus_stop: Ponto de ônibus + byway: Trilha larga construction: Estrada em construção cycleway: Ciclovia distance_marker: Marcador de quilometragem emergency_access_point: Acesso de emergência + footway: Caminho + ford: Travessia de rio gate: Portão living_street: Rua residencial + minor: Estrada Secundária motorway: Rodovia expressa + motorway_junction: Trevo de Acesso + motorway_link: Autoestrada path: Caminho pedestrian: Rua de pedestres + platform: Plataforma primary: Via Primária primary_link: Via Primária raceway: Pista de corrida @@ -548,49 +574,72 @@ pt-BR: secondary: Via Secundária secondary_link: Via Secundária service: Rua de serviço + services: Serviços de autoestrada steps: Degraus + stile: Escada de cerca tertiary: Via terciária track: Trilha trail: Trilha trunk: Via de entroncamento + trunk_link: Via Expressa unclassified: Via não classificada unsurfaced: Rua não pavimentada historic: archaeological_site: Sítio arqueológico battlefield: Campo de batalha + boundary_stone: Marco building: Edifício castle: Castelo church: Igreja house: Casa histórica icon: Ícone + manor: Terra arrendada memorial: Memorial mine: Mina histórica monument: Monumento museum: Museu ruins: Ruínas tower: Torre histórica + wayside_cross: Cruz de beira-de-estrada + wayside_shrine: Túmulo de beira-de-estrada + wreck: Naufrágio landuse: + allotments: Horta urbana + basin: Bacia + brownfield: Terreno Industrial cemetery: Cemitério commercial: Área comercial + conservation: Conservação construction: Construção farm: Fazenda + farmland: Área cultivada + farmyard: Curral forest: Floresta grass: Gramado + greenfield: Espaço Verde industrial: Área industrial landfill: Aterro sanitário + meadow: Gramado military: Área militar mine: Mina mountain: Montanha nature_reserve: Reserva Natural park: Parque + piste: Pista de ski plaza: Praça quarry: Pedreira railway: Terreno de ferrovia + recreation_ground: Área recreacional reservoir: Represa ou Reservatório de Água residential: Área residencial + retail: Varejo + village_green: Parque municipal vineyard: Vinhedo wetland: Pântano / Mangue + wood: Madeira leisure: + beach_resort: Balneário + common: Terreno comum fishing: Área de pesca garden: Jardim golf_course: Campo de Golf @@ -599,9 +648,14 @@ pt-BR: miniature_golf: Mini Golfe nature_reserve: Reserva Ambiental park: Parque + pitch: Campo esportivo + playground: Playground + recreation_ground: Área recreativa + slipway: Rampa de barco sports_centre: Centro Esportivo stadium: Estádio swimming_pool: Piscina + track: Pista de corrida water_park: Parque aquático natural: bay: Baía @@ -612,31 +666,41 @@ pt-BR: cliff: Penhasco coastline: Litoral crater: Cratera + feature: Recurso natural + fell: Colina fjord: Fiorde geyser: Gêiser glacier: Geleira heath: Charneca hill: Colina/Morro island: Ilha + land: Solo marsh: Pântano + moor: Brejo mud: Lama peak: Pico + point: Ponto reef: Recife ridge: Cordilheira river: Rio rock: Rocha + scree: Cascalho + scrub: Arbusto shoal: Barra + spring: Nascente strait: Estreito tree: Árvore valley: Vale volcano: Vulcão water: Água wetland: Pântano / Mangue + wetlands: Pântano wood: Madeira place: airport: Aeroporto city: Cidade country: País + county: Município farm: Fazenda hamlet: Aldeia house: Casa @@ -644,6 +708,7 @@ pt-BR: island: Ilha islet: Ilhota locality: Localidade + moor: Pântano municipality: Municipalidade postcode: CEP region: Região @@ -651,21 +716,35 @@ pt-BR: state: Estado subdivision: Subdivisão suburb: Subúrbio + town: Cidade + unincorporated_area: Área não incorporada village: Vila railway: abandoned: Trilhos abandonados + construction: Via férrea em construção disused: Ferrovia em desuso + disused_station: Estação férrea em desuso + funicular: Funicular + halt: Parada de trem historic_station: Estação de trem histórica + junction: Cruzamento de ferrovia level_crossing: Passagem em nível + light_rail: Trem metropolitano monorail: Monotrilho + narrow_gauge: Ferrovia estreita + platform: Plataforma de trem preserved: Ferrovia preservada + spur: Ramificação de linha station: Estação de Trem subway: Estação de metrô subway_entrance: Entrada do metrô + switch: Chave de ferrovia tram: Rota de bonde tram_stop: Parada de bonde + yard: Estação de classificação shop: alcohol: Loja de bebidas alcoolicas + apparel: Loja de roupa art: Loja de artigos de arte bakery: Padaria beauty: Salão de Beleza @@ -678,37 +757,50 @@ pt-BR: car_parts: Autopeças car_repair: Oficina mecânica carpet: Loja de tapetes + charity: Loja beneficente + chemist: Farmacêutico clothes: Loja de roupas computer: Loja de computação + confectionery: Confeitaria convenience: Loja de conveniência copyshop: Gráfica/copiadora cosmetics: Loja de cosméticos department_store: Loja de departamentos + discount: Loja de descontos doityourself: Faça você mesmo drugstore: Drogaria dry_cleaning: Lavagem a seco electronics: Loja de Eletrônicos + estate_agent: Imobiliária + farm: Loja de produtos agrícolas + fashion: Loja de roupas fish: Peixaria florist: Florista food: Loja de alimentação + funeral_directors: Capela Mortuária furniture: Móveis gallery: Galeria + garden_centre: Viveiro general: Loja de artigos gerais gift: Loja de presentes greengrocer: Sacolão/Hortifrutti grocery: Loja de alimentos hairdresser: Cabelereiro hardware: Material/Equipamentos de construção + hifi: Loja de artigos de som insurance: Seguradora jewelry: Joalheria + kiosk: Quiosque laundry: Lavanderia mall: Shopping Center market: Mercado mobile_phone: Loja de celulares motorcycle: Loja de motocicletas music: Loja de música + newsagent: Jornaleiro optician: Ótica / Oculista organic: Loja de alimentos orgânicos + outdoor: Loja ao ar livre pet: Pet Shop photo: Loja fotográfica salon: Salão de beleza @@ -719,17 +811,22 @@ pt-BR: supermarket: Supermercado toys: Loja de brinquedos travel_agency: Agência de viagens + video: Loja de vídeo wine: Loja de vinhos tourism: + alpine_hut: Cabana alpina artwork: Ilustração attraction: Atração bed_and_breakfast: Cama e café da manhã + cabin: Cabana camp_site: Acampamento + caravan_site: Acampamento de Caravanas chalet: Chalé guest_house: Albergue hostel: Abrigo hotel: Hotel information: Informações + lean_to: Inclinado Para motel: Motel museum: Museu picnic_site: Área de Piquenique @@ -738,15 +835,28 @@ pt-BR: viewpoint: Mirador zoo: Zoológico waterway: + boatyard: Estaleiro canal: Canal + connector: Eclusa dam: Represa + derelict_canal: Canal Abandonado + ditch: Vala dock: Doca + drain: Canal + lock: Dique + lock_gate: Portão de Dique mineral_spring: Fonte mineral + mooring: Ancoradouro + rapids: Corredeiras river: Rio riverbank: Margem de rio stream: Córrego wadi: Uádi + water_point: Ponto de água waterfall: Queda de água + weir: Açude + html: + dir: ltr javascripts: map: base: @@ -780,9 +890,13 @@ pt-BR: one: 1 Nova mensagem na sua caixa de entrada other: Sua caixa de entrada tem {{count}} mensagens não lidas zero: Sem novas mensagens na sua caixa de entrada - intro_1: OpenStreetMap é um mapa livre e editável do mundo. Ele é feito por pessoas como você. - intro_2: OpenStreetMap permite visualizar, editar e usar dados geográficos de maneira colaborativa de qualquer lugar do mundo. - intro_3: A hospedagem dos dados do OpenStreetMap é cedida gentilmente por {{ucl}} e {{bytemark}}. + intro_1: O OpenStreetMap é um mapa livre e editável do mundo todo. Ele é feito por pessoas como você. + intro_2: O OpenStreetMap permite visualizar, editar e usar dados geográficos de maneira colaborativa de qualquer lugar do mundo. + intro_3: A hospedagem do OpenStreetMap é cedida gentilmente por {{ucl}} e {{bytemark}}. Outros apoiadores do projeto estão listados no {{partners}}. + intro_3_bytemark: bytemark + intro_3_partners: wiki + intro_3_partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=pt-br + intro_3_ucl: UCL VR Centre license: alt: CC by-sa 2.0 title: Os dados do OpenStreetMaps estão licenciados na Licença Creative Commons Atribuição-Compartilhamento pela Mesma Licença 2.0 Genérica @@ -1127,7 +1241,7 @@ pt-BR: heading: Legenda para o zoom nível {{zoom_level}} search: search: Buscar - search_help: "exemplos: 'Brasília', 'Av. Paulista, São Paulo', ou 'hospitals near Belo Horizonte' mais exemplos..." + search_help: "exemplos: 'Brasília', 'Av. Paulista, São Paulo', ou 'hospitals near Belo Horizonte'. mais exemplos..." submit_text: Ir where_am_i: Onde estou? where_am_i_title: Descrever a localidade atual usando o motor de busca @@ -1238,6 +1352,7 @@ pt-BR: trackable: Acompanhável (compartilhada anonimamente como pontos ordenados com informação de tempo) user: account: + current email address: "Endereço de e-mail atual:" email never displayed publicly: (nunca mostrado publicamente) flash update success: Informação de usuário atualizada com sucesso. flash update success confirm needed: Informação de usuário atualizada com sucesso. Verifique sua caixa de entrada do email para confirmar seu novo endereço. @@ -1246,6 +1361,7 @@ pt-BR: longitude: "Longitude:" make edits public button: Tornar todas as minhas edições públicas my settings: Minhas configurações + new email address: "Novo endereço de e-mail:" no home location: Você ainda não entrou a sua localização. preferred languages: "Preferência de Idioma:" profile description: "Descrição do Perfil:" diff --git a/config/locales/ru.yml b/config/locales/ru.yml index a559e47d0..0d2302db6 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -337,7 +337,7 @@ ru: login: Представиться login_to_leave_a_comment: "{{login_link}}, чтобы оставить комментарий" save_button: Сохранить - title: Дневники пользователя | {{user}} + title: Дневник пользователя {{user}} | {{title}} user_title: Дневник пользователя {{user}} export: start: @@ -881,8 +881,9 @@ ru: zero: В вашем ящике нет непрочитанных сообщений intro_1: OpenStreetMap — это свободно редактируемая карта всего мира. Она сделана такими же людьми, как и вы. intro_2: OpenStreetMap позволяет совместно просматривать, изменять и использовать географические данные в любой точке Земли. - intro_3: Услуги хостинга для OpenStreetMap предоставляют {{ucl}} и {{bytemark}}. - intro_3_ucl: Центр UCL VR + intro_3: Услуги хостинга для OpenStreetMap любезно предоставлены {{ucl}} и {{bytemark}}. Другие сторонники проекта перечислены в {{partners}}. + intro_3_partners: вики + intro_3_ucl: UCL VR Centre license: title: Данные OpenStreetMap лицензированы Creative Commons Attribution-Share Alike 2.0 Generic log_in: войти @@ -1325,6 +1326,7 @@ ru: trackable: Отслеживаемый (доступно только анонимно, упорядоченные точки с отметками времени) user: account: + current email address: "Текущий адрес эл. почты:" email never displayed publicly: (не будет показан) flash update success: Информация о пользователе успешно обновлена. flash update success confirm needed: Информация о пользователе успешно обновлена. Проверьте свою электронную почту, чтобы подтвердить ваш новый адрес. @@ -1333,6 +1335,7 @@ ru: longitude: "Долгота:" make edits public button: Сделать все мои правки доступными my settings: Мои настройки + new email address: "Новый адрес эл. почты:" no home location: Вы не обозначили свое основное местоположение. preferred languages: "Предпочитаемые языки:" profile description: "Описание профиля:" diff --git a/config/locales/sr-EC.yml b/config/locales/sr-EC.yml index d03e68a0d..1b06b9f34 100644 --- a/config/locales/sr-EC.yml +++ b/config/locales/sr-EC.yml @@ -182,7 +182,7 @@ sr-EC: load_data: Учитај податке loaded_an_area_with_num_features: "Учитали сте област која садржи [[num_features]] облика. У принципу, неки бровзери се не могу изборити са приказивањем оволике количине података. Бровзери углавном најбоље раде кад приказују мање од сто облика одједном: много више од тога може их успорити или закочити. Ако сте сигурни да желите да прикажете ове податке, можете то урадити кликом на дугме испод." loading: Учитавање - manually_select: Ручно изабери другу област + manually_select: Ручно изаберите другу област object_list: api: Добави ову област помоћу АПИ-ја back: Прикажи листу објеката @@ -299,6 +299,7 @@ sr-EC: mapnik_image: Мапник слика max: максимално options: Подешавања + osm_xml_data: OpenStreetMap XML подаци osmarender_image: Осмарендер слика scale: Размера zoom: Увећање @@ -307,6 +308,7 @@ sr-EC: change_marker: Промените положај маркера click_add_marker: Кликните на мапу како бирте додали маркер export: Извези + manually_select: Ручно изаберите другу област view_larger_map: Погледајте већу мапу geocoder: description: @@ -338,7 +340,11 @@ sr-EC: airport: Аеродром atm: Банкомат bank: Банка + bar: Бар + bench: Клупа brothel: Бордел + bureau_de_change: Мењачница + bus_station: Аутобуска станица cafe: Кафе car_wash: Ауто-перионица casino: Казино @@ -346,8 +352,10 @@ sr-EC: clinic: Клиника club: Клуб college: Факултет + courthouse: Зграда суда crematorium: Крематоријум dentist: Зубар + driving_school: Ауто-школа embassy: Амбасада fast_food: Брза храна fire_hydrant: Хидрант @@ -356,36 +364,56 @@ sr-EC: grave_yard: Гробље gym: Фитнес центар / Теретана health_centre: Дом здравља + hospital: Болница + hotel: Хотел kindergarten: Обданиште library: Библиотека + marketplace: Пијаца + mountain_rescue: Горска служба nightclub: Ноћни клуб park: Парк parking: Паркинг pharmacy: Апотека police: Полиција + post_box: Поштанско сандуче + post_office: Пошта + preschool: Обданиште prison: Затвор + pub: Паб + restaurant: Ресторан + retirement_home: Старачки дом sauna: Сауна school: Школа - studio: Сттудио + shop: Продавница + studio: Студио supermarket: Супермаркет taxi: Такси telephone: Јавна говорница theatre: Позориште + toilets: Тоалети university: Универзитет + youth_centre: Дом омладине + boundary: + administrative: Административна граница building: bunker: Бункер chapel: Капела church: Црква + faculty: Факултетска зграда garage: Гаража hospital: Болница hotel: Хотел + house: Кућа school: Школа shop: Продавница stadium: Стадион tower: Торањ + train_station: Железничка станица + university: Универзитетска зграда "yes": Зграда highway: bus_stop: Аутобуска станица + construction: Аутопут у изградњи emergency_access_point: Излаз за случај опасности footway: Стаза gate: Капија @@ -412,24 +440,33 @@ sr-EC: cemetery: Гробље construction: Градилиште farm: Фарма + forest: Шума industrial: Индустријска зона + military: Војна област mine: Рудник + mountain: Планина park: Парк + quarry: Каменолом reservoir: Резервоар residential: Стамбена област + vineyard: Виноград + wood: Гај leisure: garden: Башта golf_course: Голф терен ice_rink: Клизалиште + marina: Марина miniature_golf: Мини голф park: Парк pitch: Спортско игралиште playground: Игралиште sports_centre: Спортски центар stadium: Стадион + swimming_pool: Базен track: Стаза за трчање water_park: Аква-парк natural: + bay: Залив beach: Плажа cape: Рт cave_entrance: Улаз у пећину @@ -440,22 +477,27 @@ sr-EC: glacier: Глечер hill: Брдо island: Острво + marsh: Мочвара mud: Блато reef: Гребен + ridge: Гребен river: Река rock: Стена spring: Извор + strait: Мореуз tree: Дрво valley: Долина volcano: Вулкан water: Вода place: airport: Аеродром + city: Град country: Држава farm: Фарма house: Кућа houses: Куће island: Острво + islet: Хрид locality: Локалитет moor: Соба municipality: Општина @@ -463,8 +505,10 @@ sr-EC: region: Регион sea: Море suburb: Предграђе - town: Град + town: Варош village: Село + railway: + narrow_gauge: Пруга уског колосека shop: art: Продавница слика bakery: Пекара @@ -485,6 +529,7 @@ sr-EC: jewelry: Јувелирница kiosk: Киоск market: Маркет + music: Музичка продавница optician: Оптичар salon: Салон shopping_centre: Тржни центар @@ -507,14 +552,19 @@ sr-EC: waterway: canal: Канал dam: Брана + ditch: Јарак mineral_spring: Минерални извор river: Река waterfall: Водопад + javascripts: + site: + history_zoom_alert: Морате зумирати како бисте видели историју уређивања layouts: donate_link_text: донирање edit: Уреди edit_tooltip: Уредите мапе export: Извези + export_tooltip: Извоз мапа gps_traces: ГПС трагови help_wiki: Помоћ и вики history: Историја @@ -529,7 +579,7 @@ sr-EC: log_in_tooltip: Пријавите се са постојећим налогом logo: alt_text: OpenStreetMap лого - logout: одјави се + logout: одјавите се logout_tooltip: Одјави се make_a_donation: text: Донирајте @@ -573,8 +623,10 @@ sr-EC: title: Пошаљи поруку outbox: date: Датум + inbox: долазна пошта my_inbox: Мој {{inbox_link}} outbox: одлазна пошта + people_mapping_nearby: маперима у вашој близини subject: Тема title: Одлазна пошта to: За @@ -598,12 +650,18 @@ sr-EC: gpx_notification: greeting: Поздрав, lost_password_html: - click_the_link: Ако си то ви, молимо кликните на линк испод како бисте ресетивали лозинку. + click_the_link: Ако сте то ви, молимо кликните на линк испод како бисте ресетивали лозинку. lost_password_plain: - click_the_link: Ако си то ви, молимо кликните на линк испод како бисте ресетивали лозинку. + click_the_link: Ако сте то ви, молимо кликните на линк испод како бисте ресетивали лозинку. greeting: Поздрав, message_notification: + footer2: и можете одговорити на њу {{replyurl}} hi: Поздрав {{to_user}}, + subject: "[OpenStreetMap] {{user}} вам је послао нову поруку" + signup_confirm: + subject: "[OpenStreetMap] Потврдите вашу адресу е-поште" + signup_confirm_html: + greeting: Поздрав! oauth: oauthorize: allow_read_gpx: учитајте ваше GPS путање. @@ -625,12 +683,15 @@ sr-EC: entry: admin: Административна граница apron: - 1: терминал + - Аеродромски перон + - терминал + bridge: Црни оквир = мост + brownfield: Грађевинско земљиште cemetery: Гробље centre: Спортски центар commercial: Пословна област common: - 1: ливада + 1: Ливада construction: Путеви у изградњи cycleway: Бициклистичка стаза farm: Фарма @@ -644,6 +705,7 @@ sr-EC: military: Војна област motorway: Аутопут park: Парк + pitch: Спортско игралиште primary: Главни пут rail: Железничка пруга reserve: Парк природе @@ -657,7 +719,11 @@ sr-EC: subway: Подземна железница tourist: Туристичка атракција track: Стаза + tram: + - Лака железница + - трамвај trunk: Магистрални пут + tunnel: Испрекидан оквир = тунел unsurfaced: Подземни пут heading: Легенда за увећање {{zoom_level}} search: @@ -740,12 +806,14 @@ sr-EC: visibility: "Видљивост:" user: account: + current email address: "Тренутна адреса е-поште:" email never displayed publicly: (не приказуј јавно) home location: "Моја локација:" latitude: "Географска ширина:" longitude: "Географска дужина:" make edits public button: Нека све моје измене буду јавне my settings: Моја подешавања + new email address: "Нова адреса е-поште:" no home location: Нисте унели ваше место становања. preferred languages: "Подразумевани језици:" profile description: "Опис профила:" @@ -780,6 +848,8 @@ sr-EC: help_text: Унесите адресу е-поште коју сте користили за пријављивање, и на њу ћемо вам послати везу коју можете кликнути како бисте ресетовали лозинку. new password button: Обнови лозинку title: Изгубљена лозинка + make_friend: + success: "{{name}} је постао ваш пријатељ." new: confirm email address: "Потврдите е-мејл адресу:" confirm password: "Потврди лозинку:" @@ -830,6 +900,7 @@ sr-EC: your friends: Ваши пријатељи user_block: partial: + confirm: Јесте ли сигурни? edit: Уреди show: Прикажи status: Стање diff --git a/config/locales/uk.yml b/config/locales/uk.yml index da1ac19fd..57ea9624a 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -218,6 +218,7 @@ uk: tag_details: tags: "Теґи:" timeout: + sorry: На жаль, дані для {{type}} з ідентифікатором {{id}}, занадто великі для отримання. type: changeset: набір змін node: точка @@ -336,7 +337,7 @@ uk: login: Ввійдіть login_to_leave_a_comment: "{{login_link}}, щоб залишити коментар" save_button: Зберегти - title: Щоденник користувача | {{user}} + title: Щоденник користувача {{user}} | {{title}} user_title: Щоденник користувача {{user}} export: start: @@ -775,6 +776,7 @@ uk: music: Музика newsagent: Газетний кіоск optician: Оптика + organic: Продовольчий магазин pet: Зоомагазин photo: Фотомагазин salon: Салон @@ -860,7 +862,9 @@ uk: zero: У вас немає непрочитаних повідомлень intro_1: OpenStreetMap — це мапа Світу, яку можна вільно редагувати. Вона зроблена такими ж людьми, як і ви. intro_2: OpenStreetMap дозволяє спільно переглядати, змінювати і використовувати географічні дані в будь-якій точці Землі. - intro_3: Послуги розміщення сайту OpenStreetMap надаються {{ucl}} та {{bytemark}}. + intro_3: Послуги хостингу для OpenStreetMap привітно надають {{ucl}} та {{bytemark}}. Список інших партнерів, що надають підтримку проекту розміщено в {{partners}}. + intro_3_bytemark: bytemark + intro_3_ucl: UCL VR Centre license: title: Дані OpenStreetMap ліцензовано за Загальною Ліцензією Creative Commons Attribution-Share Alike 2.0 log_in: увійти diff --git a/config/potlatch/locales/arz.yml b/config/potlatch/locales/arz.yml index 302f59c83..edf050495 100644 --- a/config/potlatch/locales/arz.yml +++ b/config/potlatch/locales/arz.yml @@ -1,97 +1,98 @@ # Messages for Egyptian Spoken Arabic (مصرى) # Exported from translatewiki.net # Export driver: syck +# Author: Dudi # Author: Meno25 arz: - action_cancelchanges: جارى إلغاء التغييرات لــ - action_createpoi: إنشاء نقطه إهتمام - action_deletepoint: حذف نقطة - action_insertnode: إضافه عقده إلى طريق \ - action_mergeways: دمج طريقان - action_movepoi: تحريك نقطه إهتمام - action_movepoint: تحريك نقطة - action_pointtags: وضع سمات على نقطة - action_waytags: وضع سمات على طريق + action_cancelchanges: اللَغى بيغيّر لـ + action_createpoi: اعمل نقطة اهتمام + action_deletepoint: بيمسح نقطه + action_insertnode: زوّد node فى طريق + action_mergeways: سيّح الطريقين على بعض + action_movepoi: تحريك نقطة اهتمام + action_movepoint: تحريك نقطه + action_pointtags: ظبط tags على نقطه + action_waytags: ظبط الtags ع الطريق advanced: متقدم - advanced_close: أغلق حزمه التغييرات + advanced_close: اقفل الchangeset advanced_history: تاريخ الطريق - advanced_inspector: المفتش - advanced_maximise: كبّر النّافذة - advanced_minimise: صغّر النّافذة - advanced_parallel: طريق موازي - advanced_undelete: ألغِ الحذف - advice_uploadempty: لا شيء للتحميل - cancel: ألغِ - closechangeset: إغلاق حزمه التغييرات - createrelation: أنشئ علاقه جديدة - custom: "مخصص:" - delete: احذف - deleting: يجرى المحو - editinglive: تحرير مباشر - findrelation: ابحث عن علاقه تحتوي + advanced_inspector: مفتش + advanced_maximise: كبّر الويندو + advanced_minimise: صغّر الويندو + advanced_parallel: طريق متوازى (parallel) + advanced_undelete: الغى المسح + advice_uploadempty: ما فيش حاجه يرفعها (upload) + cancel: كانسيل + closechangeset: بيقفل الchangeset + createrelation: اعمل علاقه جديده + custom: "مخصوص:" + delete: امسح + deleting: بيمسح + editinglive: تعديل اونلاين + findrelation: دوّر على علاقه فيها heading_drawing: رسم - heading_introduction: المقدمة - heading_quickref: مرجع سريع - heading_tagging: وسم - heading_troubleshooting: تعقب المشكلات - help: المساعدة - hint_saving: حفظ البيانات - inspector: المفتش - inspector_locked: مقفل - inspector_unsaved: غير محفوظ - inspector_uploading: (تحميل) - login_pwd: "كلمه السر:" - login_title: تعذّر الولوج - login_uid: "اسم المستخدم:" - mail: البريد - more: المزيد - "no": ï»» - nobackground: لا خلفية - offset_motorway: الطريق السريع (D3) - ok: موافق - openchangeset: جارى فتح حزمت التغييرات - option_layer_cycle_map: أو أس أم - خريطه الدراجات - point: نقطة + heading_introduction: مقدمه + heading_quickref: مراجعه سريعه + heading_tagging: بيعمل tag + heading_troubleshooting: اقتل المشكله + help: مساعده + hint_saving: بيسييڤ الداتا + inspector: مفتش + inspector_locked: مقفول + inspector_unsaved: مش متسييڤه + inspector_uploading: (رفع/uploading) + login_pwd: "پاسوورد:" + login_title: ما قدرش يسجل دخول + login_uid: "اسم اليوزر:" + mail: رسايل + more: اكتر + "no": لأ + nobackground: ما فيش خلفيه + offset_motorway: هاى-ويى (Highway)‏ (D3) + ok: اوكى + openchangeset: بيفتح الchangeset + option_layer_cycle_map: OSM - خريطة البيسكيليته + point: نقطه preset_icon_airport: مطار - preset_icon_bar: حانة - preset_icon_bus_stop: موقف حافلات - preset_icon_cafe: مقهى + preset_icon_bar: بار + preset_icon_bus_stop: موقف اوتوبيس + preset_icon_cafe: كافيه preset_icon_cinema: سينما - preset_icon_fast_food: وجبات سريعة - preset_icon_ferry_terminal: عباره بحرية - preset_icon_fire_station: فوج إطفاء + preset_icon_fast_food: Fast food + preset_icon_ferry_terminal: عبّاره (ferry) + preset_icon_fire_station: محطة مطافى preset_icon_hospital: مستشفى - preset_icon_hotel: فندق + preset_icon_hotel: لوكانده preset_icon_museum: متحف - preset_icon_parking: موقف سيارات - preset_icon_pharmacy: صيدلية - preset_icon_place_of_worship: معبد - preset_icon_police: مخفر شرطة - preset_icon_post_box: صندوق بريد - preset_icon_pub: حانة - preset_icon_restaurant: مطعم - preset_icon_school: مدرسة - preset_icon_station: محطه قطار + preset_icon_parking: پاركينج + preset_icon_pharmacy: اجزاخانه + preset_icon_place_of_worship: مكان العباده + preset_icon_police: نقطة بوليس + preset_icon_post_box: بوسطه + preset_icon_pub: Pub + preset_icon_restaurant: ريستوران + preset_icon_school: مدرَسه + preset_icon_station: محطة قطر preset_icon_supermarket: سوبرماركت - preset_icon_taxi: رتبه التاكسي - preset_icon_telephone: هاتف - preset_icon_theatre: مسرح - prompt_changesetcomment: "أدخل وصفًا لتغييراتك:" - prompt_editlive: تحرير مباشر - prompt_editsave: عدّل مع حفظ - prompt_helpavailable: أنت مستخدم جديد ؟ أنظر فى أسفل اليسار للمساعدة - prompt_launch: إطلاق رابط خارجي - prompt_revertversion: "استرجع إلى نسخه محفوظه سابقًا:" - prompt_savechanges: احفظ التغييرات - prompt_welcome: مرحبا بكم فى OpenStreetMap! - retry: أعد المحاولة - revert: استرجع - save: احفظ - tip_options: تعيين خيارات (اختيار خلفيه الخريطة) - tip_photo: تحميل الصور - tip_undo: تراجع $1 (Z) - uploading: تحميل... - uploading_deleting_ways: حذف طرق + preset_icon_taxi: رتبة التاكسى + preset_icon_telephone: تليفون + preset_icon_theatre: تياترو + prompt_changesetcomment: "دخّل وصف لتغييراتك:" + prompt_editlive: تعديل ع الهوا + prompt_editsave: عدّل و سييڤ + prompt_helpavailable: يوزر جديد؟ بُص تحت ع الشمال علشان المساعده + prompt_launch: اعمل launch لـ URL برّانى + prompt_revertversion: "ارجع لنسخه متسييڤه قبل كده:" + prompt_savechanges: سييڤ التغييرات + prompt_welcome: اهلا بيكو فى OpenStreetMap! + retry: حاول تانى + revert: رجّع + save: سييڤ + tip_options: اظبط الاوپشنز (اختار خلفية الخريطه) + tip_photo: اعمل load للصور + tip_undo: ارجع $1 (Z) + uploading: بيرفع... (Uploading...) + uploading_deleting_ways: بيمسح الطرق warning: تحذير! way: طريق - "yes": نعم + "yes": اه diff --git a/config/potlatch/locales/br.yml b/config/potlatch/locales/br.yml index 3b2968c29..cfbfc85ab 100644 --- a/config/potlatch/locales/br.yml +++ b/config/potlatch/locales/br.yml @@ -91,6 +91,7 @@ br: hint_saving: oc'h enrollañ ar roadennoù hint_saving_loading: o kargañ / oc'h enrollañ roadennoù inspector: Enseller + inspector_duplicate: Doublenn eus inspector_in_ways: En hentoù inspector_latlon: "Ledred $1\nHedred $2" inspector_locked: Morailhet @@ -102,6 +103,7 @@ br: inspector_way_connects_to_principal: Kevreañ ouzh $1 $2 ha $3 re all $4 inspector_way_nodes: $1 skoulm inspector_way_nodes_closed: $1 skoulm (serret) + loading: O kargañ... login_pwd: "Ger-tremen :" login_retry: Anavezerioù ho lec'hienn n'int ket bet anavezet. Esaeit en-dro, mar plij. login_title: N'eus ket bet gallet kevreañ @@ -128,6 +130,8 @@ br: option_layer_ooc_25k: "Istor UK : 1:25k" option_layer_ooc_7th: "Istor UK : 7vet" option_layer_ooc_npe: Istor UK NPE + option_layer_ooc_scotland: "R-U istorel : Skos" + option_layer_streets_haiti: "Haiti: anvioù ar straedoù" option_layer_tip: Dibab an drekleur da ziskwel option_limitways: Kas ur c'hemenn pa vez karget kalz a roadennoù pounner option_microblog_id: "Anv ar mikroblog :" @@ -145,6 +149,7 @@ br: preset_icon_cafe: Kafedi preset_icon_cinema: Sinema preset_icon_convenience: Ispiserezh + preset_icon_disaster: Savadurioù Haiti preset_icon_fast_food: Boued buan preset_icon_ferry_terminal: Lestr-treizh preset_icon_fire_station: Kazarn pomperien @@ -186,6 +191,10 @@ br: retry: Esaeañ en-dro revert: Disteuler save: Enrollañ + tags_backtolist: Distreiñ d'ar roll + tags_descriptions: Deskrivadurioù '$1' + tags_findatag: Kavout un tikedenn + tags_matching: Tikedennoù brudet hag a glot gant '$1' tip_addrelation: Ouzhpennañ d'un darempred tip_addtag: Ouzhpennañ ur meneg nevez tip_alert: Ur fazi zo bet - Klikit da c'houzout hiroc'h diff --git a/config/potlatch/locales/ca.yml b/config/potlatch/locales/ca.yml new file mode 100644 index 000000000..5e5784dbd --- /dev/null +++ b/config/potlatch/locales/ca.yml @@ -0,0 +1,89 @@ +# Messages for Catalan (Català) +# Exported from translatewiki.net +# Export driver: syck +# Author: Jmontane +# Author: PerroVerd +ca: + a_poi: $1 un punt d'interès (POI) + a_way: $1 una via + action_waytags: establir etiquetes d'una via + advanced: Avançat + advanced_close: Tancar conjunt de canvis + advanced_parallel: Via paral·lela + advanced_undelete: Restaura + advice_uploadsuccess: Totes les dades han pujat correctament + cancel: Cancel·la + conflict_visitway: Cliqueu "D'acord" per a mostrar la via. + createrelation: Crea una relació nova + delete: Suprimeix + editinglive: Edició en viu + error_microblog_long: "Enviament a $1 ha fallat:\ncodi HTTP: $2\nmissatge d'error: $3 \n$1 error: $4" + error_nopoi: El POI no es pot trobar (potser hagis mogut lluny?), així que no es pot desfer. + error_nosharedpoint: Les vies $1 i $2 ja no comparteixen un punt comú, així que no es pot desfer la divisió. + heading_introduction: Introducció + heading_tagging: Etiquetat + help: Ajuda + hint_latlon: "lat $1\nlon $2" + hint_loading: carregant dades + inspector: Inspector + inspector_latlon: "Lat $1\nLon $2" + inspector_locked: Bloquejat + inspector_node_count: ($ 1 vegades) + inspector_uploading: (pujant) + inspector_way_nodes: $1 nodes + inspector_way_nodes_closed: $1 nodes (tancats) + loading: S'està carregant… + login_pwd: "Contrasenya:" + login_uid: "Nom d'usuari:" + more: Més + "no": 'No' + ok: D'acord + openchangeset: Obrir conjunt de canvis + option_layer_maplint: OSM - Maplint (errors) + option_layer_nearmap: "Australia: NearMap" + option_layer_ooc_25k: "UK historic: 1:25k" + option_layer_ooc_7th: "Regne Unit històric: 7th" + option_layer_ooc_npe: "Regne Unit històric: NPE" + option_layer_ooc_scotland: "Regne Unit històric: Escòcia" + option_layer_streets_haiti: "Haití: noms de carrers" + option_photo: "Foto KML:" + option_thinareas: Utilitza línies més fines per areas + option_warnings: Mostra advertències flotants + point: Punt + preset_icon_airport: Aeroport + preset_icon_bar: Bar + preset_icon_bus_stop: Parada d'autobús + preset_icon_cafe: Cafè + preset_icon_cinema: Cinema + preset_icon_disaster: Edifici d'Haití + preset_icon_fast_food: Menjar ràpid + preset_icon_ferry_terminal: Ferri + preset_icon_fire_station: Parc de bombers + preset_icon_hospital: Hospital + preset_icon_hotel: Hotel + preset_icon_museum: Museu + preset_icon_parking: Pàrquing + preset_icon_pharmacy: Farmàcia + preset_icon_place_of_worship: Lloc de culte + preset_icon_police: Comissaria de policia + preset_icon_post_box: Bústia de correus + preset_icon_restaurant: Restaurant + preset_icon_school: Escola + preset_icon_station: Estació de ferrocarril + preset_icon_supermarket: Supermercat + preset_icon_taxi: Parada de taxis + preset_icon_telephone: Telèfon + preset_icon_theatre: Teatre + prompt_changesetcomment: "Introduïu una descripció dels canvis:" + prompt_createparallel: Crea via paral.lela + prompt_welcome: Benvingut/da a l'OpenStreetMap! + retry: Reintenta + save: Desa + tags_findatag: Troba una etiqueta + tip_addtag: Afegeix una nova etiqueta + tip_direction: Direcció de la via - feu clic per invertir-la + tip_options: Establir opcions (triar el mapa de fons) + tip_photo: Carregar fotos + warning: Atenció! + way: Via + "yes": Sí diff --git a/config/potlatch/locales/en.yml b/config/potlatch/locales/en.yml index b34ed155d..0591f9079 100644 --- a/config/potlatch/locales/en.yml +++ b/config/potlatch/locales/en.yml @@ -31,6 +31,7 @@ en: advanced_tooltip: Advanced editing actions advanced_undelete: Undelete advice_bendy: Too bendy to straighten (SHIFT to force) + advice_conflict: Server conflict - you may need to try saving again advice_deletingpoi: Deleting POI (Z to undo) advice_deletingway: Deleting way (Z to undo) advice_microblogged: Updated your $1 status @@ -59,7 +60,7 @@ en: drag_pois: Drag and drop points of interest editinglive: Editing live editingoffline: Editing offline - emailauthor: \n\nPlease e-mail richard\@systemeD.net with a bug report, saying what you were doing at the time. + emailauthor: \n\nPlease e-mail richard@systemeD.net with a bug report, saying what you were doing at the time. error_anonymous: You cannot contact an anonymous mapper. error_connectionfailed: Sorry - the connection to the OpenStreetMap server failed. Any recent changes have not been saved.\n\nWould you like to try again? error_microblog_long: "Posting to $1 failed:\nHTTP code: $2\nError message: $3\n$1 error: $4" @@ -78,7 +79,7 @@ en: heading_tagging: Tagging heading_troubleshooting: Troubleshooting help: Help - help_html: "Welcome to Potlatch\nPotlatch is the easy-to-use editor for OpenStreetMap. Draw roads, paths, landmarks and shops from your GPS surveys, satellite imagery or old maps.\n\nThese help pages will take you through the basics of using Potlatch, and tell you where to find out more. Click the headings above to begin.\n\nWhen you've finished, just click anywhere else on the page.\n\n\n\nUseful stuff to know\nDon't copy from other maps! \n\nIf you choose 'Edit live', any changes you make will go into the database as you draw them - like, immediately. If you're not so confident, choose 'Edit with save', and they'll only go in when you press 'Save'.\n\nAny edits you make will usually be shown on the map after an hour or two (a few things take a week). Not everything is shown on the map - it would look too messy. But because OpenStreetMap's data is open source, other people are free to make maps showing different aspects - like OpenCycleMap or Midnight Commander.\n\nRemember it's both a good-looking map (so draw pretty curves for bends) and a diagram (so make sure roads join at junctions).\n\nDid we mention about not copying from other maps?\n\n\nFind out more\nPotlatch manual\nMailing lists\nOnline chat (live help)\nWeb forum\nCommunity wiki\nPotlatch source-code\n\n\n\nGetting started\nNow that you have Potlatch open, click 'Edit with save' to get started.\n\t\nSo you're ready to draw a map. The easiest place to start is by putting some points of interest on the map - or \"POIs\". These might be pubs, churches, railway stations... anything you like.\n\nDrag and drop\nTo make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\t\nOnce you've done that, you'll want to give your pub (or church, or station) a name. You'll see that a little table has appeared at the bottom. One of the entries will say \"name\" followed by \"(type name here)\". Do that - click that text, and type the name.\n\nClick somewhere else on the map to deselect your POI, and the colourful little panel returns.\n\nEasy, isn't it? Click 'Save' (bottom right) when you're done.\nMoving around\nTo move to a different part of the map, just drag an empty area. Potlatch will automatically load the new data (look at the top right).\n\nWe told you to 'Edit with save', but you can also click 'Edit live'. If you do this, your changes will go into the database straightaway, so there's no 'Save' button. This is good for quick changes and mapping parties.\n\nNext steps\nHappy with all of that? Great. Click 'Surveying' above to find out how to become a real mapper!\n\nSurveying with a GPS\nThe idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\n\t\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nWhen you get home, your GPS will contain a 'tracklog' recording everywhere you've been. You can then upload this to OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed GPS Reviews on our wiki.\nUploading your track\nNow, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try GPSBabel. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.\nUsing your track\nFind your uploaded track in the 'GPS Traces' listing, and click 'edit' right next to it. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\nYou can also click this button to show everyone's GPS tracks (but not waypoints) for the current area. Hold Shift to show just your tracks.\nUsing satellite photos\nIf you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\nIf you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.\n\nDrawing ways\nTo draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nClick 'Save' (bottom right) when you're done. Save often, in case the server has problems.\n\nDon't expect your changes to show instantly on the main map. It usually takes an hour or two, sometimes up to a week.\nMaking junctions\nIt's really important that, where two roads join, they share a point (or 'node'). Route-planners use this to know where to turn.\n\t\nPotlatch takes care of this as long as you are careful to click exactly on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.\nMoving and deleting\nThis works just as you'd expect it to. To delete a point, select it and press Delete. To delete a whole way, press Shift-Delete.\n\nTo move something, just drag it. (You'll have to click and hold for a short while before dragging a way, so you don't do it by accident.)\nMore advanced drawing\nIf two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\t\nRoundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)\nPoints of interest\nThe first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\nWhat type of road is it?\nOnce you've drawn a way, you should say what it is. Is it a major road, a footpath or a river? What's its name? Are there any special rules (e.g. \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add highway | trunk to say it's a major road; highway | residential for a road on a housing estate; or highway | footway for a footpath. If bikes were banned, you could then add bicycle | no. Then to record its name, add name | Market Street.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nYou can tag whole ways; points in ways (maybe a gate or a traffic light); and points of interest.\nUsing preset tags\nTo get you started, Potlatch has ready-made presets containing the most popular tags.\n\nSelect a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.\nOne-way roads\nYou might want to add a tag like oneway | yes - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.\nChoosing your own tags\nOf course, you're not restricted to just the presets. By using the '+' button, you can use any tags at all.\n\nYou can see what tags other people use at OSMdoc, and there is a long list of popular tags on our wiki called Map Features. But these are only suggestions, not rules. You are free to invent your own tags or borrow from others.\n\nBecause OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.\nRelations\nSometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. Find out more on the wiki.\n\nUndoing mistakes\nThis is the undo button (you can also press Z) - it will undo the last thing you did.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nThink someone else has made a mistake? Send them a friendly message. Use the history option (H) to select their name, then click 'Mail'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\nFAQs\nHow do I see my waypoints?\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for Potlatch and OpenStreetMap.\n\n\n\nWorking faster\nThe further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. Check the wiki for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.\n\nWhat to click\nDrag the map to move around.\nDouble-click to create a new POI.\nSingle-click to start a new way.\nHold and drag a way or POI to move it.\nWhen drawing a way\nDouble-click or press Enter to finish drawing.\nClick another way to make a junction.\nShift-click the end of another way to merge.\nWhen a way is selected\nClick a point to select it.\nShift-click in the way to insert a new point.\nShift-click a point to start a new way from there.\nControl-click another way to merge.\n\nKeyboard shortcuts\nB\tAdd background source tag\nC\tClose changeset\nG\tShow GPS tracks\nH\tShow history\nI\tShow inspector\nJ\tJoin point to crossing ways\nK\tLock/unlock current selection\nL\tShow current latitude/longitude\nM\tMaximise editing window\nP\tCreate parallel way\nR\tRepeat tags\nS\tSave (unless editing live)\nT\tTidy into straight line/circle\nU\tUndelete (show deleted ways)\nX\tCut way in two\nZ\tUndo\n-\tRemove point from this way only\n+\tAdd new tag\n/\tSelect another way sharing this point\nDelete\tDelete point\n (+Shift)\tDelete entire way\nReturn\tFinish drawing line\nSpace\tHold and drag background\nEsc\tAbort this edit; reload from server\n0\tRemove all tags\n1-9\tSelect preset tags\n (+Shift)\tSelect memorised tags\n (+S/Ctrl)\tMemorise tags\n§ or `\tCycle between tag groups\n" + help_html: "Welcome to Potlatch\nPotlatch is the easy-to-use editor for OpenStreetMap. Draw roads, paths, landmarks and shops from your GPS surveys, satellite imagery or old maps.\n\nThese help pages will take you through the basics of using Potlatch, and tell you where to find out more. Click the headings above to begin.\n\nWhen you've finished, just click anywhere else on the page.\n\n\n\nUseful stuff to know\nDon't copy from other maps! \n\nIf you choose 'Edit live', any changes you make will go into the database as you draw them - like, immediately. If you're not so confident, choose 'Edit with save', and they'll only go in when you press 'Save'.\n\nAny edits you make will usually be shown on the map after an hour or two (a few things take a week). Not everything is shown on the map - it would look too messy. But because OpenStreetMap's data is open source, other people are free to make maps showing different aspects - like OpenCycleMap or Midnight Commander.\n\nRemember it's both a good-looking map (so draw pretty curves for bends) and a diagram (so make sure roads join at junctions).\n\nDid we mention about not copying from other maps?\n\n\nFind out more\nPotlatch manual\nMailing lists\nOnline chat (live help)\nWeb forum\nCommunity wiki\nPotlatch source-code\n\n\n\nGetting started\nNow that you have Potlatch open, click 'Edit with save' to get started.\n\t\nSo you're ready to draw a map. The easiest place to start is by putting some points of interest on the map - or \"POIs\". These might be pubs, churches, railway stations... anything you like.\n\nDrag and drop\nTo make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\t\nOnce you've done that, you'll want to give your pub (or church, or station) a name. You'll see that a little table has appeared at the bottom. One of the entries will say \"name\" followed by \"(type name here)\". Do that - click that text, and type the name.\n\nClick somewhere else on the map to deselect your POI, and the colourful little panel returns.\n\nEasy, isn't it? Click 'Save' (bottom right) when you're done.\nMoving around\nTo move to a different part of the map, just drag an empty area. Potlatch will automatically load the new data (look at the top right).\n\nWe told you to 'Edit with save', but you can also click 'Edit live'. If you do this, your changes will go into the database straightaway, so there's no 'Save' button. This is good for quick changes and mapping parties.\n\nNext steps\nHappy with all of that? Great. Click 'Surveying' above to find out how to become a real mapper!\n\nSurveying with a GPS\nThe idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\n\t\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nWhen you get home, your GPS will contain a 'tracklog' recording everywhere you've been. You can then upload this to OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed GPS Reviews on our wiki.\nUploading your track\nNow, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try GPSBabel. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.\nUsing your track\nFind your uploaded track in the 'GPS Traces' listing, and click 'edit' right next to it. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\nYou can also click this button to show everyone's GPS tracks (but not waypoints) for the current area. Hold Shift to show just your tracks.\nUsing satellite photos\nIf you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\nIf you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.\n\nDrawing ways\nTo draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nClick 'Save' (bottom right) when you're done. Save often, in case the server has problems.\n\nDon't expect your changes to show instantly on the main map. It usually takes an hour or two, sometimes up to a week.\nMaking junctions\nIt's really important that, where two roads join, they share a point (or 'node'). Route-planners use this to know where to turn.\n\t\nPotlatch takes care of this as long as you are careful to click exactly on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.\nMoving and deleting\nThis works just as you'd expect it to. To delete a point, select it and press Delete. To delete a whole way, press Shift-Delete.\n\nTo move something, just drag it. (You'll have to click and hold for a short while before dragging a way, so you don't do it by accident.)\nMore advanced drawing\nIf two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\t\nRoundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)\nPoints of interest\nThe first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\nWhat type of road is it?\nOnce you've drawn a way, you should say what it is. Is it a major road, a footpath or a river? What's its name? Are there any special rules (e.g. \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add highway | trunk to say it's a major road; highway | residential for a road on a housing estate; or highway | footway for a footpath. If bikes were banned, you could then add bicycle | no. Then to record its name, add name | Market Street.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nYou can tag whole ways; points in ways (maybe a gate or a traffic light); and points of interest.\nUsing preset tags\nTo get you started, Potlatch has ready-made presets containing the most popular tags.\n\nSelect a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.\nOne-way roads\nYou might want to add a tag like oneway | yes - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.\nChoosing your own tags\nOf course, you're not restricted to just the presets. By using the '+' button, you can use any tags at all.\n\nYou can see what tags other people use at OSMdoc, and there is a long list of popular tags on our wiki called Map Features. But these are only suggestions, not rules. You are free to invent your own tags or borrow from others.\n\nBecause OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.\nRelations\nSometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. Find out more on the wiki.\n\nUndoing mistakes\nThis is the undo button (you can also press Z) - it will undo the last thing you did.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nThink someone else has made a mistake? Send them a friendly message. Use the history option (H) to select their name, then click 'Mail'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\nFAQs\nHow do I see my waypoints?\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for Potlatch and OpenStreetMap.\n\n\n\nWorking faster\nThe further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. Check the wiki for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.\n\nWhat to click\nDrag the map to move around.\nDouble-click to create a new POI.\nSingle-click to start a new way.\nHold and drag a way or POI to move it.\nWhen drawing a way\nDouble-click or press Enter to finish drawing.\nClick another way to make a junction.\nShift-click the end of another way to merge.\nWhen a way is selected\nClick a point to select it.\nShift-click in the way to insert a new point.\nShift-click a point to start a new way from there.\nControl-click another way to merge.\n\nKeyboard shortcuts\nB\tAdd background source tag\nC\tClose changeset\nG\tShow GPS tracks\nH\tShow history\nI\tShow inspector\nJ\tJoin point to what's below ways\n (+Shift)\tUnjoin from other ways\nK\tLock/unlock current selection\nL\tShow current latitude/longitude\nM\tMaximise editing window\nP\tCreate parallel way\nR\tRepeat tags\nS\tSave (unless editing live)\nT\tTidy into straight line/circle\nU\tUndelete (show deleted ways)\nX\tCut way in two\nZ\tUndo\n-\tRemove point from this way only\n+\tAdd new tag\n/\tSelect another way sharing this point\nDelete\tDelete point\n (+Shift)\tDelete entire way\nReturn\tFinish drawing line\nSpace\tHold and drag background\nEsc\tAbort this edit; reload from server\n0\tRemove all tags\n1-9\tSelect preset tags\n (+Shift)\tSelect memorised tags\n (+S/Ctrl)\tMemorise tags\n§ or `\tCycle between tag groups\n" hint_drawmode: click to add point\ndouble-click/Return\nto end line hint_latlon: "lat $1\nlon $2" hint_loading: loading data @@ -88,6 +89,7 @@ en: hint_saving: saving data hint_saving_loading: loading/saving data inspector: Inspector + inspector_duplicate: Duplicate of inspector_in_ways: In ways inspector_latlon: "Lat $1\nLon $2" inspector_locked: Locked @@ -101,6 +103,7 @@ en: inspector_way_name: $1 ($2) inspector_way_nodes: $1 nodes inspector_way_nodes_closed: $1 nodes (closed) + loading: Loading... login_pwd: "Password:" login_retry: Your site login was not recognised. Please try again. login_title: Couldn't log in @@ -134,6 +137,7 @@ en: option_layer_ooc_25k: "UK historic: 1:25k" option_layer_ooc_7th: "UK historic: 7th" option_layer_ooc_npe: "UK historic: NPE" + option_layer_ooc_scotland: "UK historic: Scotland" option_layer_osmarender: OSM - Osmarender option_layer_tip: Choose the background to display option_layer_yahoo: Yahoo! @@ -195,6 +199,11 @@ en: retry: Retry revert: Revert save: Save + tags_findatag: Find a tag + tags_typesearchterm: "Type a word to look for:" + tags_matching: Popular tags matching '$1' + tags_descriptions: Descriptions of '$1' + tags_backtolist: Back to list tip_addrelation: Add to a relation tip_addtag: Add a new tag tip_alert: An error occurred - click for details diff --git a/config/potlatch/locales/es.yml b/config/potlatch/locales/es.yml index 6986f977b..41cdf4f99 100644 --- a/config/potlatch/locales/es.yml +++ b/config/potlatch/locales/es.yml @@ -35,6 +35,7 @@ es: advanced_tooltip: Acciones de edición avanzadas advanced_undelete: Restaurar advice_bendy: Muy curvo para enderezarse (presione MAYÚS para forzar) + advice_conflict: Conflicto en el servidor - puede que tenga que intentar guardar de nuevo advice_deletingpoi: Borrando POI (Z para deshacer) advice_deletingway: Borrando vía (Z para deshacer) advice_microblogged: Se ha actualizado tu estado $1 @@ -91,6 +92,7 @@ es: hint_saving: guardando los datos hint_saving_loading: cargando/guardando datos inspector: Inspector + inspector_duplicate: Duplicado de inspector_in_ways: En vías inspector_latlon: "Lat $1\nLon $2" inspector_locked: Bloqueado @@ -102,6 +104,7 @@ es: inspector_way_connects_to_principal: Conecta a $1 $2 y $3 otros $4 inspector_way_nodes: $$1 nodos inspector_way_nodes_closed: $1 nodos (cerrado) + loading: Cargando... login_pwd: "Contraseña:" login_retry: No se pudo reconocer tu acceso al sistema. Por favor, inténtalo de nuevo. login_title: No se pudo acceder @@ -128,6 +131,7 @@ es: option_layer_ooc_25k: "Histórico de UK: 1:25k" option_layer_ooc_7th: "Histórico de UK: 7th" option_layer_ooc_npe: "Histórico de UK: NPE" + option_layer_ooc_scotland: "UK histórico: Escocia" option_layer_streets_haiti: "Haiti: nombres de calles" option_layer_tip: Elija el fondo a mostrar option_limitways: Lanza una advertencia al cargar gran cantidad de datos. @@ -188,6 +192,11 @@ es: retry: Reintentar revert: Revertir save: Guardar + tags_backtolist: Volver a la lista + tags_descriptions: Descripciones de '$1' + tags_findatag: Encontrar una etiqueta + tags_matching: Etiquetas populares que coinciden con '$1' + tags_typesearchterm: "Introduzca una palabra para buscar:" tip_addrelation: Añadir a una relación tip_addtag: Añadir un nuevo parámetro (tag) tip_alert: Ha ocurrido un error - clic para detalles diff --git a/config/potlatch/locales/fr.yml b/config/potlatch/locales/fr.yml index dd26f350a..44915dc82 100644 --- a/config/potlatch/locales/fr.yml +++ b/config/potlatch/locales/fr.yml @@ -38,6 +38,7 @@ fr: advanced_tooltip: Actions de modification avancées advanced_undelete: Rétablir advice_bendy: Trop de courbure pour aligner (Maj pour forcer) + advice_conflict: Conflit avec le serveur - vous pourriez à avoir à sauvegarder de nouveau advice_deletingpoi: Suppression du POI (Z pour annuler) advice_deletingway: Suppression du chemin (Z pour annuler) advice_microblogged: Votre statut $1 a été mis à jour @@ -95,6 +96,7 @@ fr: hint_saving: sauvegarde des données hint_saving_loading: Charger/sauvegarder les données inspector: Inspecteur + inspector_duplicate: Doublon de inspector_in_ways: Dans les chemins inspector_latlon: "Lat $1\nLon $2" inspector_locked: Verrouillé @@ -106,6 +108,7 @@ fr: inspector_way_connects_to_principal: Connecte à $1 $2 et $3 autres $4 inspector_way_nodes: $1 nœuds inspector_way_nodes_closed: $1 nœuds (fermé) + loading: Chargement … login_pwd: "Mot de passe :" login_retry: Votre nom d'utilisateur du site n'a pas été reconnu. Merci de réessayer. login_title: Connexion impossible @@ -132,6 +135,7 @@ fr: option_layer_ooc_25k: Historique UK au 1:25k option_layer_ooc_7th: Historique UK 7e option_layer_ooc_npe: Historique UK NPE + option_layer_ooc_scotland: "Royaume-Uni historique : Ecosse" option_layer_streets_haiti: "Haïti: noms des rues" option_layer_tip: Choisir l'arrière-plan à afficher option_limitways: Avertir lors du chargement d'une grande quantité de données @@ -192,6 +196,11 @@ fr: retry: Réessayer revert: Révoquer save: Sauvegarder + tags_backtolist: Retour à la liste + tags_descriptions: Descriptions de « $1 » + tags_findatag: Rechercher un mot-clé + tags_matching: Mots-clés populaires correspondant à « $1 » + tags_typesearchterm: "Tapez le mot à rechercher :" tip_addrelation: Ajouter à une relation tip_addtag: Ajouter une nouvelle balise tip_alert: Une erreur est survenue - Cliquez pour plus de détails diff --git a/config/potlatch/locales/hu.yml b/config/potlatch/locales/hu.yml index 5367761cd..6525fa908 100644 --- a/config/potlatch/locales/hu.yml +++ b/config/potlatch/locales/hu.yml @@ -34,6 +34,7 @@ hu: advanced_tooltip: Haladó szerkesztési műveletek advanced_undelete: Törlés visszavonása advice_bendy: Túl görbe a kiegyenesítéshez (SHIFT a kényszerítéshez) + advice_conflict: Szerver ütközés - lehet, hogy újra meg kell próbálnod menteni. advice_deletingpoi: POI törlése (Z a visszavonáshoz) advice_deletingway: Vonal törlése (Z a visszavonáshoz) advice_microblogged: $1 állapotod frissítve @@ -91,6 +92,7 @@ hu: hint_saving: adatok mentése hint_saving_loading: adatok betöltése/mentése inspector: Felügyelő + inspector_duplicate: "A következő másolata:" inspector_in_ways: "A következő vonalakon:" inspector_latlon: "Szélesség $1\nHosszúság $2" inspector_locked: Zárolva @@ -102,6 +104,7 @@ hu: inspector_way_connects_to_principal: $1 $2 vonalhoz és $3 másik $4 vonalhoz csatlakozik inspector_way_nodes: $1 pont inspector_way_nodes_closed: $1 pont (zárt) + loading: Betöltés… login_pwd: "Jelszó:" login_retry: A webhelyre való bejelentkezésed nem ismerhető fel. Kérlek, próbáld újra. login_title: Nem lehet bejelentkezni @@ -128,6 +131,7 @@ hu: option_layer_ooc_25k: "UK történelmi: 1:25k" option_layer_ooc_7th: "UK történelmi: 7th" option_layer_ooc_npe: "UK történelmi: NPE" + option_layer_ooc_scotland: "UK történelmi: Skócia" option_layer_streets_haiti: "Haiti: utcanevek" option_layer_tip: Válaszd ki a megjelenítendő hátteret option_limitways: Figyelmeztetés sok adat betöltése előtt @@ -188,6 +192,11 @@ hu: retry: Újra revert: Visszaáll. save: Mentés + tags_backtolist: Vissza a listához + tags_descriptions: "'$1' leírása" + tags_findatag: Címke keresése + tags_matching: "Népszerű címkék, amelyek illeszkednek a következőre: '$1'" + tags_typesearchterm: "Írj be egy szót a kereséshez:" tip_addrelation: Hozzáadás kapcsolathoz tip_addtag: Új címke hozzáadása tip_alert: Hiba történt - kattints a részletekért diff --git a/config/potlatch/locales/ia.yml b/config/potlatch/locales/ia.yml index cb838ea0c..b36f52c5d 100644 --- a/config/potlatch/locales/ia.yml +++ b/config/potlatch/locales/ia.yml @@ -32,6 +32,7 @@ ia: advanced_tooltip: Actiones de modification avantiate advanced_undelete: Restaurar advice_bendy: Troppo curvose pro rectificar (SHIFT pro fortiar) + advice_conflict: Conflicto de servitor - es possibile que tu debe tentar salveguardar de novo advice_deletingpoi: Dele PDI (Z pro disfacer) advice_deletingway: Dele via (Z pro disfacer) advice_microblogged: Actualisava tu stato de $1 @@ -40,9 +41,9 @@ ia: advice_revertingway: Reverte al ultime via salveguardate (Z pro disfacer) advice_tagconflict: Etiquettas non corresponde - per favor verifica (Z pro disfacer) advice_toolong: Troppo longe pro disserrar - per favor divide in vias plus curte - advice_uploadempty: Nihil a cargar - advice_uploadfail: Cargamento interrumpite - advice_uploadsuccess: Tote le datos ha essite cargate con successo + advice_uploadempty: Nihil a incargar + advice_uploadfail: Incargamento interrumpite + advice_uploadsuccess: Tote le datos ha essite incargate con successo advice_waydragged: Via displaciate (Z pro disfacer) cancel: Cancellar closechangeset: Claude gruppo de modificationes @@ -79,7 +80,7 @@ ia: heading_tagging: Etiquettage heading_troubleshooting: Resolution de problemas help: Adjuta - help_html: "Benvenite a Potlatch\nPotlatch es le editor facile a usar pro OpenStreetMap. Designa vias, camminos, punctos de interesse e botecas a partir de tu topometria GPS, de imagines de satellite o de cartas ancian.\n\nIste paginas de adjuta te guida per le aspectos fundamental de usar Potlatch, e te indica ubi trovar plus informationes. Clicca super le titulos ci supra pro comenciar.\n\nQuando tu ha finite, simplemente clicca in qualcunque altere loco del pagina.\n\n\n\nCosas utile a saper\nNon copia de altere cartas!\n\nSi tu selige 'Modificar in directo', omne modificationes que tu face essera transmittite in le base de datos quando tu los designa - isto vole dicer, immediatemente. Si tu non es si confidente, selige 'Modificar con salveguardar', e illos essera transmittite solo quando tu preme super 'Salveguardar'.\n\nLe modificationes que tu face se monstra normalmente in le carta post un hora o duo (alcun cosas prende un septimana). Non toto es monstrate in le carta, alteremente le aspecto esserea troppo chaotic. Ma, post que le datos de OpenStreetMap es libere, altere personas es libere de facer cartas que monstra altere aspectos - como OpenCycleMap o Midnight Commander.\n\nMemora te que il se tracta e de un carta elegante (dunque designa belle curvas pro le vias) e de un diagramma (dunque assecura que le vias se junge al cruciatas).\n\nHa nos ja mentionate que es prohibite copiar de altere cartas?\n\n\nLeger plus\nManual de Potlatch\nListas de diffusion\nChat in linea (adjuta in directo)\nForo web\nWiki del communitate\nCodice-fonte de Potlatch\n\n\n\nComenciar\nOra que tu ha aperite Potlatch, clicca super 'Modificar con salveguardar' pro comenciar.\n\nTu es dunque preste a designar un carta. Le plus facile, pro comenciar, es de placiar punctos de interesse super le carta - \"PDIs\". Istes pote esser tavernas, ecclesias, stationes ferroviari... omne cosa que te place.\n\nTraher e deponer\nPro render isto super-facile, tu videra un selection del PDIs le plus commun, justo al fundo de tu carta. Placiar un PDI super le carta es tanto simple como traher e deponer lo a su loco correcte in le carta. E non te inquieta si le position non es correcte le prime vice: tu pote traher lo de novo pro corriger lo. Nota que le PDI se mitte in le color jalne pro monstrar que illo es seligite.\n\nUn vice que tu ha facite isto, es recommendate dar un nomine a tu taverna (o ecclesia, o station). Tu videra que un micre tabella ha apparite in basso. Un del entratas essera \"nomine\" sequite per \"(digita nomine hic)\". Face lo - clicca super le texto, e entra le nomine.\n\nClicca in altere loco del mappa pro deseliger tu PDI, e le micre pannello colorate retornara.\n\nFacile, nonne? Clicca super 'Salveguardar' (in basso a dextra) quando tu ha finite.\nNavigar\nPro navigar a un altere parte del carta, simplemente trahe un area vacue. Potlatch cargara automaticamente le nove datos (observa lo in alto a dextra).\n\nNos te ha recommendate de 'Modificar con salveguardar', ma tu pote preferer 'Modificar in directo'. Si tu face isto, tu modificationes essera transmittite al base de datos immediatemente, dunque il non ha un button 'Salveguardar'. Isto es bon pro modificationes rapide e pro partitas de cartographia.\n\nProxime passos\nFelice con toto isto? Optimo. Clicca super 'Topometria' ci supra pro apprender como devenir un ver cartographo!\n\nTopometria con GPS\nLe idea con OpenStreetMap es facer un carta sin le copyright restrictive de altere cartas. Isto vole dicer que tu non pote copiar de altere loco: tu debe ir foras e explorar le stratas mesme. Felicemente, isto es bon divertimento!\nLe optime modo de facer isto es con un GPS portabile. Cerca un area non ancora cartographate, alora ambula o cycla per le stratas con tu GPS active. Nota le nomines del stratas e omne altere cosa interessante (tavernas? ecclesias?) durante le camminar.\n\nQuando tu arriva a casa, tu GPS continera un 'registro de tracia' de ubi tu ha essite. Tu pote cargar isto a OpenStreetMap.\n\nLe melior typo de GPS es un que face registrationes frequente del tracia (cata secunda o duo) e ha un grande memoria. Multes de nostre cartographos usa le Garmin portabile o micre unitates Bluetooth. Il ha detaliate recensiones de GPS in nostre wiki.\n\nCargar tu tracia\nOra tu debe extraher tu tracia del apparato GPS. Es possibile que illo es accompaniate de un software, o que illo te permitte copiar le files per USB. Si non, proba GPSBabel. Comocunque, le file resultante debe esser in formato GPX.\n\nAlora usa le scheda 'Tracias GPS' pro cargar tu tracia in OpenStreetMap. Ma isto es solmente le prime action - illo non apparera ancora in le carta. Tu debe designar e nominar le vias mesme, usante le tracia como guida.\nUsar tu tracia\nCerca tu tracia incargate in le lista 'Tracias GPS', e clicca super 'modificar' directemente juxta illo. Potlatch comenciara con iste tracia cargate, con omne punctos de via. Tu es preste a designar!\n\nTu pote tamben cliccar super iste button pro monstrar le tracias GPS de omnes (sin punctos de via) pro le area actual. Tene Shift premite pro monstrar solo tu tracias.\nUsar photos de satellite\nSi tu non ha un GPS, non te inquieta. In alcun citates, nos possede photos de satellite super le quales tu pote traciar, gentilmente fornite per Yahoo (gratias!). Va foras e nota le nomines del stratas, alora retorna e tracia super le lineas.\n\nSi tu non vide le imagines de satellite, clicca super le button Optiones e assecura que 'Yahoo!' es seligite. Si tu ancora non los vide, isto probabilemente non es disponibile pro tu citate, o forsan es necessari facer zoom retro.\n\nSuper iste mesme button Optiones tu trovara altere selectiones commo un carta foras de copyright del Regno Unite (RU), e OpenTopoMap pro le Statos Unite (SU). Tote istes es specialmente seligite proque nos ha le permission de usar los - non copia de cartas o photos aeree de altere personas. (Le lege de copyright es stupide.)\n\nAlcun vices le imagines de satellite es un poco displaciate relative al position real del camminos. Si isto es le caso, tene Spatio e trahe le fundo usque le positiones corresponde. Sempre fide te plus in le tracias del GPS que in le imagines de satellite.\n\nDesignar vias\nPro designar un cammino (o 'via') comenciante in un spatio blanc super le carta, simplemente clicca la; alora a cata puncto del cammino a su torno. Quando tu ha finite, face duple-clic o preme Enter - alora clicca in altere loco pro deseliger le cammino.\n\nPro designar un via comenciante ab un altere via, clicca super ille via pro seliger lo; su punctos apparera in rubie. Tene Shift e clicca super un de illos pro comenciar un nove via a ille puncto. (Si il non ha un puncto rubie al junction, face shift-clic ubi tu vole un!)\n\nClicca 'Salveguardar' (in basso a dextra) quando tu ha finite. Salveguarda frequentemente, in caso que le servitor ha problemas.\n\nNon expecta que tu modificationes se montra instantaneemente super le carta principal. Isto prende generalmente un hora o duo, a vices usque a un septimana.\nFacer junctiones\nEs multo importante que, quando duo camminos se junge, illos ha un puncto (o 'nodo') in commun. Le planatores de routes usa isto pro saper ubi cambiar de direction.\n\nPotlatch arrangia isto a condition que tu clicca exactemente super le via que tu vole junger. Observa ben le signales: le punctos appare in blau, le cursor del mouse cambia, e quando tu es finite, le puncto de junction habera un bordo nigre.\nDisplaciar e deler\nIsto funciona como tu lo expectarea. Pro deler un puncto, selige lo e preme le clave \"Delete\". Pro deler un via integre, preme \"Shift\"+\"Delete\".\n\nPro displaciar un cosa, simplemente trahe lo. (Tu debe cliccar e tener un poco ante de traher. Isto es pro evitar que tu lo face per accidente.)\nDesigno plus avantiate\nSi duo partes de un via ha differente nomines, tu debe divider los. Clicca super le via; alora clicca super le puncto ubi illo debe esser dividite, e clicca super le cisorios. (Tu pote fusionar vias con Control+clic, o Apple+clic in un Mac, ma non fusiona duo vias de differente nomines o typos).\n\nLe rotundas es multo difficile de designar correctemente. Non te inquieta; Potlatch pote adjutar. Simplemente designa le circulo in forma brute, assecurante que illo es connectite con se mesme al fin, e postea clicca super iste icone pro 'perfectionar' lo. (Tu pote tamben usar isto pro rectificar vias.)\nPunctos de interesse\nLe prime cosa que tu apprendeva esseva como traher-e-deponer un puncto de interesse. Tu pote tamben crear un con un duple-clic super le carta: un circulo verde appare. Ma como indicar que illo es un taverna, un ecclesia o altere cosa? Clicca super 'Etiquettage' ci supra pro discoperir lo!\n\nQual typo de via es illo?\nQuando tu ha designate un via, tu debe indicar lo que illo es. Es illo un strata principal, un sentiero o un riviera? Que es su nomine? Ha il regulas special (p.ex. \"prohibite al bicyclettas\")?\n\nIn OpenStreetMap, tu indica isto con 'etiquettas'. Un etiquetta ha duo partes, e tu pote usar tantes como tu vole. Per exemplo, tu pote adder highway | trunk pro indicar un strata principal; highway | residential pro un cammino in un area residential; o highway | footway pro un sentiero pro pedones. Si le bicyclettas es prohibite, tu pote alora adder bicycle | no. Postea, pro indicar le nomine, adde name | Strata del Mercato.\n\nLe etiquettas in Potlatch appare in basso del schermo - clicca super un cammino existente pro vider qual etiquettas illo ha. Clicca super le signo '+' (in basso al dextra) pro adder un nove etiquetta. Le 'x' juxta cata etiquetta es pro deler lo.\n\nTu pote etiquettar vias integre; punctos in vias (como un porta o lumine de traffico); e punctos de interesse.\nUsar etiquettas predefinite\nPro adjutar te a comenciar, Potlatch te ha ja predefinite le etiquettas le plus popular.\n\nSelige un via, alora clicca per le symbolos usque tu trova un que es convenibile. Postea selige le option le plus appropriate del menu.\n\nIsto completara le etiquettas. Alcunes essera lassate partialmente vacue de sorta que tu pote entrar (per exemplo) le nomine en numero del strata.\nVias unidirectional\nTu pote adder un etiquetta como oneway | yes, ma como indicar le direction? Il ha un sagitta in basso a sinistra que monstra le direction del via, del initio al fin. Clicca super illo pro inverter lo.\nSeliger tu proprie etiquettas\nNaturalmente, tu non es limitate a solo le predefinitiones. Con le button '+' tu pote usar qualcunque etiquetta.\n\nTu pote vider qual etiquettas altere personas usa a OSMdoc, e il ha un longe lista de etiquettas popular in nostre wiki appellate Map Features. Ma istes es solo suggestiones, non regulas. Tu es libere de inventar tu proprie etiquettas o de copiar los de altere personas.\n\nPost que le datos de OpenStreetMap es usate pro facer multe differente cartas, cata carta monstrara (o 'rendera') su proprie selection de etiquettas.\nRelationes\nAlcun vices le etiquettas non suffice, e es necessari 'aggruppar' duo o plus vias. Forsan es prohibite tornar de un via in un altere, o 20 vias se combina in un route pro bicyclettas. Tu pote facer isto con un function avantiate appellate 'relationes'. Lege plus in le wiki.\n\nDisfacer errores\nIsto es le button de disfacer (tu pote tamben premer Z); illo disfacera le ultime cosa que tu faceva.\n\nTu pote 'reverter' a un version previemente salveguardate de un via o puncto. Selige lo, alora clicca super su ID (le numero in basso a sinistra), o preme H (pro 'historia'). Tu videra un lista de cata persona qui lo ha modificate e quando. Selige le version al qual retornar, e clicca Reverter.\n\nSi tu ha accidentalmente delite un via e lo ha salveguardate, preme U (pro 'undelete', 'restaurar'). Tote le vias delite essera monstrate. Selige le que tu vole; disserra lo per cliccar super le serratura pendente; e salveguarda como normal.\n\nPensa tu que alcuno altere ha facite un error? Invia le un message amical. Usa le option de historia (H) pro seliger su nomine, alora clicca super 'E-mail'.\n\nUsa le Inspector (in le menu 'Avantiate') pro informationes utile super le via o puncto actual.\nFAQ\nComo vider mi punctos de via?\nLe punctos de via se monstra solmente si tu clicca super 'modificar' juxta le nomine del tracia in 'Tracias GPS'. Le file debe continer e punctos de via e le registro de tracia; le servitor rejecta toto que contine solo punctos de via.\n\nFAQ ulterior pro Potlatch e OpenStreetMap.\n\n\n\nLaborar plus rapidemente\nQuanto plus distante le zoom, tanto plus datos Potlatch debe cargar. Face zoom avante ante de cliccar super 'Modificar'.\n\nDisactiva 'Usar cursores de penna e mano' (in le fenestra de optiones) pro velocitate maximal.\n\nSi le servitor functiona lentemente, reveni plus tarde. Da un oculata al wiki pro vider si il ha problemas. A alcun tempores, como dominica vespere, le activitate es sempre intense.\n\nDice a Potlatch de memorar tu collectiones favorite de etiquettas. Selige un via o puncto con iste etiquettas, alora preme Ctrl, Shift e un numero de 1 a 9. Postea, pro applicar iste etiquettas de novo, simplemente preme Shift e ille numero. (Illos essera memorate cata vice que tu usa Potlatch desde iste computator.)\n\nFace un via de tu tracia GPS: cerca lo in le lista 'Tracias GPS', clicca 'modificar' juxta illo, postea marca le quadrato 'converter'. Illo essera serrate (rubie) de sorta que illo non essera salveguardate. Modifica lo primo, alora clicca super le serratura pendente rubie pro disserar lo quando tu es preste a salveguardar.\n\nQue cliccar\nTrahe le carta pro navigar.\nDuple clic pro crear un nove PDI.\nSingule clic pro comenciar un nove via.\nTene e trahe un via o PDI pro displaciar lo.\nQuando tu designa un via\nDuple clic o preme Enter pro finir de designar.\nClic super un altere via pro facer un junction.\nShift+clic super le fin de un altere via pro fusionar.\nQuando un via es seligite\nClic super un puncto pro seliger lo.\nShift-clic in le via pro inserer un nove puncto.\nShift+clic super un puncto pro comenciar un nove via desde iste puncto.\nControl+clic super un altere via pro fusionar.\n\nCommandos de claviero\nB Adder un etiquetta de fonte al fundo\nC Clauder le gruppo de modificationes\nG Monstrar tracias GPS\nH Monstrar historia\nI Monstrar inspector\nJ Junger un puncto a vias cruciante\nK Serrar/disserrar selection actual\nL Monstrar latitude/longitude actual\nM Maximisar fenestra de modification\nP Crear via parallel\nR Repeter etiquettas\nS Salveguardar (si non modificar in directo)\nT Rectificar linea o perfectionar circulo\nU Restaurar (monstrar vias delite)\nX Divider via in duo\nZ Disfacer\n- Remover puncto de iste via solmente\n+ Adder nove etiquetta\n/ Selige un altere via que ha iste puncto in commun\nDelete Deler puncto\n (+Shift) Deler via integre\nReturn Finir designar linea\nSpatio Tener e traher fundo\nEsc Abandonar iste modification; recargar del servitor\n0 Remover tote le etiquettas\n1-9 Seliger etiquettas predefinite\n (+Shift) Seliger etiquettas memorate\n (+S/Ctrl) Memorar etiquettas\n§ o ` Cambiar inter gruppos de etiquettas\n\n" + help_html: "Benvenite a Potlatch\nPotlatch es le editor facile a usar pro OpenStreetMap. Designa vias, camminos, punctos de interesse e botecas a partir de tu topometria GPS, de imagines de satellite o de cartas ancian.\n\nIste paginas de adjuta te guida per le aspectos fundamental de usar Potlatch, e te indica ubi trovar plus informationes. Clicca super le titulos ci supra pro comenciar.\n\nQuando tu ha finite, simplemente clicca in qualcunque altere loco del pagina.\n\n\n\nCosas utile a saper\nNon copia de altere cartas!\n\nSi tu selige 'Modificar in directo', omne modificationes que tu face essera transmittite in le base de datos quando tu los designa - isto vole dicer, immediatemente. Si tu non es si confidente, selige 'Modificar con salveguardar', e illos essera transmittite solo quando tu preme super 'Salveguardar'.\n\nLe modificationes que tu face se monstra normalmente in le carta post un hora o duo (alcun cosas prende un septimana). Non toto es monstrate in le carta, alteremente le aspecto esserea troppo chaotic. Ma, post que le datos de OpenStreetMap es libere, altere personas es libere de facer cartas que monstra altere aspectos - como OpenCycleMap o Midnight Commander.\n\nMemora te que il se tracta e de un carta elegante (dunque designa belle curvas pro le vias) e de un diagramma (dunque assecura que le vias se junge al cruciatas).\n\nHa nos ja mentionate que es prohibite copiar de altere cartas?\n\n\nLeger plus\nManual de Potlatch\nListas de diffusion\nChat in linea (adjuta in directo)\nForo web\nWiki del communitate\nCodice-fonte de Potlatch\n\n\n\nComenciar\nOra que tu ha aperite Potlatch, clicca super 'Modificar con salveguardar' pro comenciar.\n\nTu es dunque preste a designar un carta. Le plus facile, pro comenciar, es de placiar punctos de interesse super le carta - \"PDIs\". Istes pote esser tavernas, ecclesias, stationes ferroviari... omne cosa que te place.\n\nTraher e deponer\nPro render isto super-facile, tu videra un selection del PDIs le plus commun, justo al fundo de tu carta. Placiar un PDI super le carta es tanto simple como traher e deponer lo a su loco correcte in le carta. E non te inquieta si le position non es correcte le prime vice: tu pote traher lo de novo pro corriger lo. Nota que le PDI se mitte in le color jalne pro monstrar que illo es seligite.\n\nUn vice que tu ha facite isto, es recommendate dar un nomine a tu taverna (o ecclesia, o station). Tu videra que un micre tabella ha apparite in basso. Un del entratas essera \"nomine\" sequite per \"(digita nomine hic)\". Face lo - clicca super le texto, e entra le nomine.\n\nClicca in altere loco del mappa pro deseliger tu PDI, e le micre pannello colorate retornara.\n\nFacile, nonne? Clicca super 'Salveguardar' (in basso a dextra) quando tu ha finite.\nNavigar\nPro navigar a un altere parte del carta, simplemente trahe un area vacue. Potlatch cargara automaticamente le nove datos (observa lo in alto a dextra).\n\nNos te ha recommendate de 'Modificar con salveguardar', ma tu pote preferer 'Modificar in directo'. Si tu face isto, tu modificationes essera transmittite al base de datos immediatemente, dunque il non ha un button 'Salveguardar'. Isto es bon pro modificationes rapide e pro partitas de cartographia.\n\nProxime passos\nFelice con toto isto? Optimo. Clicca super 'Topometria' ci supra pro apprender como devenir un ver cartographo!\n\nTopometria con GPS\nLe idea con OpenStreetMap es facer un carta sin le copyright restrictive de altere cartas. Isto vole dicer que tu non pote copiar de altere loco: tu debe ir foras e explorar le stratas mesme. Felicemente, isto es bon divertimento!\nLe optime modo de facer isto es con un GPS portabile. Cerca un area non ancora cartographate, alora ambula o cycla per le stratas con tu GPS active. Nota le nomines del stratas e omne altere cosa interessante (tavernas? ecclesias?) durante le camminar.\n\nQuando tu arriva a casa, tu GPS continera un 'registro de tracia' de ubi tu ha essite. Tu pote incargar isto a OpenStreetMap.\n\nLe melior typo de GPS es un que face registrationes frequente del tracia (cata secunda o duo) e ha un grande memoria. Multes de nostre cartographos usa le Garmin portabile o micre unitates Bluetooth. Il ha detaliate recensiones de GPS in nostre wiki.\n\nIncargar tu tracia\nOra tu debe extraher tu tracia del apparato GPS. Es possibile que illo es accompaniate de un software, o que illo te permitte copiar le files per USB. Si non, proba GPSBabel. Comocunque, le file resultante debe esser in formato GPX.\n\nAlora usa le scheda 'Tracias GPS' pro incargar tu tracia in OpenStreetMap. Ma isto es solmente le prime action - illo non apparera ancora in le carta. Tu debe designar e nominar le vias mesme, usante le tracia como guida.\nUsar tu tracia\nCerca tu tracia incargate in le lista 'Tracias GPS', e clicca super 'modificar' directemente juxta illo. Potlatch comenciara con iste tracia incargate, con omne punctos de via. Tu es preste a designar!\n\nTu pote tamben cliccar super iste button pro monstrar le tracias GPS de omnes (sin punctos de via) pro le area actual. Tene Shift premite pro monstrar solo tu tracias.\nUsar photos de satellite\nSi tu non ha un GPS, non te inquieta. In alcun citates, nos possede photos de satellite super le quales tu pote traciar, gentilmente fornite per Yahoo (gratias!). Va foras e nota le nomines del stratas, alora retorna e tracia super le lineas.\n\nSi tu non vide le imagines de satellite, clicca super le button Optiones e assecura que 'Yahoo!' es seligite. Si tu ancora non los vide, isto probabilemente non es disponibile pro tu citate, o forsan es necessari facer zoom retro.\n\nSuper iste mesme button Optiones tu trovara altere selectiones commo un carta foras de copyright del Regno Unite (RU), e OpenTopoMap pro le Statos Unite (SU). Tote istes es specialmente seligite proque nos ha le permission de usar los - non copia de cartas o photos aeree de altere personas. (Le lege de copyright es stupide.)\n\nAlcun vices le imagines de satellite es un poco displaciate relative al position real del camminos. Si isto es le caso, tene Spatio e trahe le fundo usque le positiones corresponde. Sempre fide te plus in le tracias del GPS que in le imagines de satellite.\n\nDesignar vias\nPro designar un cammino (o 'via') comenciante in un spatio blanc super le carta, simplemente clicca la; alora a cata puncto del cammino a su torno. Quando tu ha finite, face duple-clic o preme Enter - alora clicca in altere loco pro deseliger le cammino.\n\nPro designar un via comenciante ab un altere via, clicca super ille via pro seliger lo; su punctos apparera in rubie. Tene Shift e clicca super un de illos pro comenciar un nove via a ille puncto. (Si il non ha un puncto rubie al junction, face shift-clic ubi tu vole un!)\n\nClicca 'Salveguardar' (in basso a dextra) quando tu ha finite. Salveguarda frequentemente, in caso que le servitor ha problemas.\n\nNon expecta que tu modificationes se montra instantaneemente super le carta principal. Isto prende generalmente un hora o duo, a vices usque a un septimana.\nFacer junctiones\nEs multo importante que, quando duo camminos se junge, illos ha un puncto (o 'nodo') in commun. Le planatores de routes usa isto pro saper ubi cambiar de direction.\n\nPotlatch arrangia isto a condition que tu clicca exactemente super le via que tu vole junger. Observa ben le signales: le punctos appare in blau, le cursor del mouse cambia, e quando tu es finite, le puncto de junction habera un bordo nigre.\nDisplaciar e deler\nIsto funciona como tu lo expectarea. Pro deler un puncto, selige lo e preme le clave \"Delete\". Pro deler un via integre, preme \"Shift\"+\"Delete\".\n\nPro displaciar un cosa, simplemente trahe lo. (Tu debe cliccar e tener un poco ante de traher. Isto es pro evitar que tu lo face per accidente.)\nDesigno plus avantiate\nSi duo partes de un via ha differente nomines, tu debe divider los. Clicca super le via; alora clicca super le puncto ubi illo debe esser dividite, e clicca super le cisorios. (Tu pote fusionar vias con Control+clic, o Apple+clic in un Mac, ma non fusiona duo vias de differente nomines o typos).\n\nLe rotundas es multo difficile de designar correctemente. Non te inquieta; Potlatch pote adjutar. Simplemente designa le circulo in forma brute, assecurante que illo es connectite con se mesme al fin, e postea clicca super iste icone pro 'perfectionar' lo. (Tu pote tamben usar isto pro rectificar vias.)\nPunctos de interesse\nLe prime cosa que tu apprendeva esseva como traher-e-deponer un puncto de interesse. Tu pote tamben crear un con un duple-clic super le carta: un circulo verde appare. Ma como indicar que illo es un taverna, un ecclesia o altere cosa? Clicca super 'Etiquettage' ci supra pro discoperir lo!\n\nQual typo de via es illo?\nQuando tu ha designate un via, tu debe indicar lo que illo es. Es illo un strata principal, un sentiero o un riviera? Que es su nomine? Ha il regulas special (p.ex. \"prohibite al bicyclettas\")?\n\nIn OpenStreetMap, tu indica isto con 'etiquettas'. Un etiquetta ha duo partes, e tu pote usar tantes como tu vole. Per exemplo, tu pote adder highway | trunk pro indicar un strata principal; highway | residential pro un cammino in un area residential; o highway | footway pro un sentiero pro pedones. Si le bicyclettas es prohibite, tu pote alora adder bicycle | no. Postea, pro indicar le nomine, adde name | Strata del Mercato.\n\nLe etiquettas in Potlatch appare in basso del schermo - clicca super un cammino existente pro vider qual etiquettas illo ha. Clicca super le signo '+' (in basso al dextra) pro adder un nove etiquetta. Le 'x' juxta cata etiquetta es pro deler lo.\n\nTu pote etiquettar vias integre; punctos in vias (como un porta o lumine de traffico); e punctos de interesse.\nUsar etiquettas predefinite\nPro adjutar te a comenciar, Potlatch te ha ja predefinite le etiquettas le plus popular.\n\nSelige un via, alora clicca per le symbolos usque tu trova un que es convenibile. Postea selige le option le plus appropriate del menu.\n\nIsto completara le etiquettas. Alcunes essera lassate partialmente vacue de sorta que tu pote entrar (per exemplo) le nomine en numero del strata.\nVias unidirectional\nTu pote adder un etiquetta como oneway | yes, ma como indicar le direction? Il ha un sagitta in basso a sinistra que monstra le direction del via, del initio al fin. Clicca super illo pro inverter lo.\nSeliger tu proprie etiquettas\nNaturalmente, tu non es limitate a solo le predefinitiones. Con le button '+' tu pote usar qualcunque etiquetta.\n\nTu pote vider qual etiquettas altere personas usa a OSMdoc, e il ha un longe lista de etiquettas popular in nostre wiki appellate Map Features. Ma istes es solo suggestiones, non regulas. Tu es libere de inventar tu proprie etiquettas o de copiar los de altere personas.\n\nPost que le datos de OpenStreetMap es usate pro facer multe differente cartas, cata carta monstrara (o 'rendera') su proprie selection de etiquettas.\nRelationes\nAlcun vices le etiquettas non suffice, e es necessari 'aggruppar' duo o plus vias. Forsan es prohibite tornar de un via in un altere, o 20 vias se combina in un route pro bicyclettas. Tu pote facer isto con un function avantiate appellate 'relationes'. Lege plus in le wiki.\n\nDisfacer errores\nIsto es le button de disfacer (tu pote tamben premer Z); illo disfacera le ultime cosa que tu faceva.\n\nTu pote 'reverter' a un version previemente salveguardate de un via o puncto. Selige lo, alora clicca super su ID (le numero in basso a sinistra), o preme H (pro 'historia'). Tu videra un lista de cata persona qui lo ha modificate e quando. Selige le version al qual retornar, e clicca Reverter.\n\nSi tu ha accidentalmente delite un via e lo ha salveguardate, preme U (pro 'undelete', 'restaurar'). Tote le vias delite essera monstrate. Selige le que tu vole; disserra lo per cliccar super le serratura pendente; e salveguarda como normal.\n\nPensa tu que alcuno altere ha facite un error? Invia le un message amical. Usa le option de historia (H) pro seliger su nomine, alora clicca super 'E-mail'.\n\nUsa le Inspector (in le menu 'Avantiate') pro informationes utile super le via o puncto actual.\nFAQ\nComo vider mi punctos de via?\nLe punctos de via se monstra solmente si tu clicca super 'modificar' juxta le nomine del tracia in 'Tracias GPS'. Le file debe continer e punctos de via e le registro de tracia; le servitor rejecta toto que contine solo punctos de via.\n\nFAQ ulterior pro Potlatch e OpenStreetMap.\n\n\n\nLaborar plus rapidemente\nQuanto plus distante le zoom, tanto plus datos Potlatch debe cargar. Face zoom avante ante de cliccar super 'Modificar'.\n\nDisactiva 'Usar cursores de penna e mano' (in le fenestra de optiones) pro velocitate maximal.\n\nSi le servitor functiona lentemente, reveni plus tarde. Da un oculata al wiki pro vider si il ha problemas. A alcun tempores, como dominica vespere, le activitate es sempre intense.\n\nDice a Potlatch de memorar tu collectiones favorite de etiquettas. Selige un via o puncto con iste etiquettas, alora preme Ctrl, Shift e un numero de 1 a 9. Postea, pro applicar iste etiquettas de novo, simplemente preme Shift e ille numero. (Illos essera memorate cata vice que tu usa Potlatch desde iste computator.)\n\nFace un via de tu tracia GPS: cerca lo in le lista 'Tracias GPS', clicca 'modificar' juxta illo, postea marca le quadrato 'converter'. Illo essera serrate (rubie) de sorta que illo non essera salveguardate. Modifica lo primo, alora clicca super le serratura pendente rubie pro disserar lo quando tu es preste a salveguardar.\n\nQue cliccar\nTrahe le carta pro navigar.\nDuple clic pro crear un nove PDI.\nSingule clic pro comenciar un nove via.\nTene e trahe un via o PDI pro displaciar lo.\nQuando tu designa un via\nDuple clic o preme Enter pro finir de designar.\nClic super un altere via pro facer un junction.\nShift+clic super le fin de un altere via pro fusionar.\nQuando un via es seligite\nClic super un puncto pro seliger lo.\nShift-clic in le via pro inserer un nove puncto.\nShift+clic super un puncto pro comenciar un nove via desde iste puncto.\nControl+clic super un altere via pro fusionar.\n\nCommandos de claviero\nB Adder un etiquetta de fonte al fundo\nC Clauder le gruppo de modificationes\nG Monstrar tracias GPS\nH Monstrar historia\nI Monstrar inspector\nJ Junger un puncto a vias cruciante\nK Serrar/disserrar selection actual\nL Monstrar latitude/longitude actual\nM Maximisar fenestra de modification\nP Crear via parallel\nR Repeter etiquettas\nS Salveguardar (si non modificar in directo)\nT Rectificar linea o perfectionar circulo\nU Restaurar (monstrar vias delite)\nX Divider via in duo\nZ Disfacer\n- Remover puncto de iste via solmente\n+ Adder nove etiquetta\n/ Selige un altere via que ha iste puncto in commun\nDelete Deler puncto\n (+Shift) Deler via integre\nReturn Finir designar linea\nSpatio Tener e traher fundo\nEsc Abandonar iste modification; recargar del servitor\n0 Remover tote le etiquettas\n1-9 Seliger etiquettas predefinite\n (+Shift) Seliger etiquettas memorate\n (+S/Ctrl) Memorar etiquettas\n§ o ` Cambiar inter gruppos de etiquettas\n\n" hint_drawmode: clic pro adder puncto\nduple clic/Return\pro terminar linea hint_latlon: "lat $1\nlon $2" hint_loading: carga datos @@ -89,17 +90,19 @@ ia: hint_saving: salveguarda datos hint_saving_loading: carga/salveguarda datos inspector: Inspector + inspector_duplicate: Duplicato de inspector_in_ways: In vias inspector_latlon: "Lat $1\nLon $2" inspector_locked: Serrate inspector_node_count: ($1 vices) inspector_not_in_any_ways: Non presente in alcun via (PDI) inspector_unsaved: Non salveguardate - inspector_uploading: (cargamento in progresso) + inspector_uploading: (incargamento in curso) inspector_way_connects_to: Connecte a $1 vias inspector_way_connects_to_principal: Connecte a $1 $2 e $3 altere $4 inspector_way_nodes: $1 nodos inspector_way_nodes_closed: $1 nodos (claudite) + loading: Cargamento… login_pwd: "Contrasigno:" login_retry: Tu nomine de usator del sito non esseva recognoscite. Per favor reproba. login_title: Non poteva aperir un session @@ -126,6 +129,8 @@ ia: option_layer_ooc_25k: "RU historic: 1:25k" option_layer_ooc_7th: "RU historic: 7me" option_layer_ooc_npe: "RU historic: NPE" + option_layer_ooc_scotland: "RU historic: Scotia" + option_layer_streets_haiti: "Haiti: nomines de stratas" option_layer_tip: Selige le fundo a monstrar option_limitways: Advertir si multe datos debe esser cargate option_microblog_id: "Nomine del microblog:" @@ -143,6 +148,7 @@ ia: preset_icon_cafe: Café preset_icon_cinema: Cinema preset_icon_convenience: Boteca de convenientia + preset_icon_disaster: Edificio in Haiti preset_icon_fast_food: Restauration rapide preset_icon_ferry_terminal: Ferry preset_icon_fire_station: Caserna de pumperos @@ -184,6 +190,11 @@ ia: retry: Reprobar revert: Reverter save: Salveguardar + tags_backtolist: Retornar al lista + tags_descriptions: Descriptiones de '$1' + tags_findatag: Cercar un etiquetta + tags_matching: Etiquettas popular correspondente a '$1' + tags_typesearchterm: "Entra un parola a cercar:" tip_addrelation: Adder a un relation tip_addtag: Adder un nove etiquetta tip_alert: Un error occurreva - clicca pro detalios @@ -201,15 +212,15 @@ ia: tip_splitway: Divider le via al puncto seligite (X) tip_tidy: Rangiar le punctos del via (T) tip_undo: Disfacer $1 (Z) - uploading: Carga... + uploading: Incargamento… uploading_deleting_pois: Dele PDIs uploading_deleting_ways: Dele vias - uploading_poi: Carga PDI $1 - uploading_poi_name: Carga PDI $1, $2 - uploading_relation: Carga relation $1 - uploading_relation_name: Carga relation $1, $2 - uploading_way: Carga via $1 - uploading_way_name: Cargamento del via $1, $2 + uploading_poi: Incarga PDI $1 + uploading_poi_name: Incarga PDI $1, $2 + uploading_relation: Incarga relation $1 + uploading_relation_name: Incarga relation $1, $2 + uploading_way: Incarga via $1 + uploading_way_name: Incargamento del via $1, $2 warning: Attention! way: Via "yes": Si diff --git a/config/potlatch/locales/it.yml b/config/potlatch/locales/it.yml index 93294a6b2..db521f4bb 100644 --- a/config/potlatch/locales/it.yml +++ b/config/potlatch/locales/it.yml @@ -3,14 +3,16 @@ # Export driver: syck # Author: Bellazambo # Author: Davalv +# Author: FedericoCozzi # Author: McDutchie +# Author: Snow it: a_poi: $1 un PDI a_way: $1 un percorso action_addpoint: aggiunta nodo alla fine di un percorso... action_cancelchanges: annullamento modifiche a action_changeway: Modifica la way - action_createparallel: Crea way parallele + action_createparallel: Creazione percorsi paralleli action_createpoi: creazione PDI... action_deletepoint: cancellazione punto... action_insertnode: aggiunta di un nodo in un percorso... @@ -21,30 +23,30 @@ it: action_pointtags: impostazione etichette su un punto... action_poitags: impostazione etichette su un PDI... action_reverseway: inversione percorso... - action_revertway: Invertire la way + action_revertway: Invertire il percorso action_splitway: separazione di un percorso... - action_waytags: impostazione etichette su un percorso... + action_waytags: impostazione etichette su un percorso advanced: Avanzate advanced_close: Chiudi gruppo di modifiche advanced_history: Cronologia way advanced_inspector: Inspector advanced_maximise: Ingrandisci la finestra advanced_minimise: Riduci la finestra - advanced_parallel: Way parallele + advanced_parallel: Percorso parallelo advanced_tooltip: Azioni di modifica avanzate advanced_undelete: Annulla cancellazione advice_bendy: Troppo curvato per essere raddrizzato (SHIFT per forzare) - advice_deletingpoi: Sto cancellando un PDI (Z per annullare) - advice_deletingway: Sto cancellando una way (Z per annullare) + advice_deletingpoi: Cancellazione PDI (Z per annullare) + advice_deletingway: Cancellazione percorso (Z per annullare) advice_microblogged: Aggiorna il tuo stato $1 advice_nocommonpoint: I percorsi non hanno nessun punto comune advice_revertingpoi: Sto ritornando agli ultimi PDI salvati - advice_revertingway: Ritorna alla ultima way salvata (Z per annullare) + advice_revertingway: Ripristino dell'ultimo percorso salvato (Z per annullare) advice_tagconflict: "Le etichette non corrispondono: controllare (Z per annullare)" advice_toolong: "Troppo lungo per sbloccare: separa in percorsi più brevi" advice_uploadempty: Niente da caricare advice_uploadfail: Caricamento interrotto - advice_uploadsuccess: Tutti i dati caricati con successo + advice_uploadsuccess: Dati caricati con successo advice_waydragged: Percorso trascinato (Z per annullare) cancel: Annulla closechangeset: Chiusura gruppo di modifiche @@ -53,7 +55,7 @@ it: conflict_poichanged: Da quando hai iniziato le modifiche, qualcun'altro ha modificato il punto $1$2 conflict_relchanged: Da quando hai cominciato a modificare, qualcun'altro ha cambiato la relazione $1$2 conflict_visitpoi: Clicca 'Ok' per mostrare il punto - conflict_visitway: Clicca 'Ok' per mostrare la way + conflict_visitway: Clicca OK per mostrare il percorso conflict_waychanged: Da quando si sono iniziate le proprie modifiche, qualcun altro ha modificato il percorso $1$2. createrelation: Crea una nuova relazione custom: Personalizza @@ -63,7 +65,9 @@ it: editinglive: Modifica online editingoffline: Modifica offline emailauthor: \n\nInviare un'e-mail a richard\@systemeD.net con la segnalazione dell'errore, descrivendo cosa si stava facendo nel momento in cui si è verificato. + error_anonymous: Non è possibile contattare un mappatore anonimo. error_connectionfailed: "La connessione con il server di OpenStreetMap si è interrotta. Qualsiasi modifica recente non è stata salvata.\n\nRiprovare?" + error_microblog_long: "Invio a $1 fallito:\nCodice HTTP: $2\nMessaggio d'errore: $3\n$1 errore: $4" error_nopoi: "Impossibile trovare il PDI (forse è fuori dallo schermo?): impossibile annullare." error_nosharedpoint: "I percorsi $1 e $2 non hanno più un punto comune: impossibile annullare la separazione." error_noway: "Impossibile trovare il percorso $1 (forse è fuori dallo schermo?): impossibile annullare." @@ -74,41 +78,47 @@ it: heading_introduction: Introduzione heading_pois: Come iniziare heading_quickref: Guida rapida + heading_surveying: Raccolta dati heading_tagging: Etichettamento heading_troubleshooting: Diagnostica dei problemi help: Aiuto help_html: "Benvenuto su Potlatch\nPotlatch è un programma facile da usare per apportare delle modifiche a OpenStreetMap. Disegna strade, percorsi, marcatori territoriali e negozi partendo dalle proprie rilevazioni GPS, da immagini satellitari oppure da vecchie mappe.\n\nQueste pagine di aiuto ti guideranno attraverso i concetti di base nell'utilizzo di Potlatch, e ti dirà dove trovare maggiori informazioni. Clicca sulle intestazioni che trovi qui sopra per iniziare.\n\nQuando hai finito basta cliccare in qualche altro punto della pagina.\n\n\n\nElementi utili da conoscere\nNon copiare dalle altre mappe!\n\nSe selezioni 'Modifica online' ogni tua modifica sarà inviata immediatamente al database non appena la disegni. Se non sei così sicuro, scegli 'Modifica offline', e le modifiche saranno inviate solamente quando premerai su 'Salva'.\n\nLe modifiche che fai alla mappa vengono visualizzate dopo una o due ore (per alcune cose serve una settimana). Non tutto viene visualizzato nella mappa, la renderebbe troppo complicata. Ma visto che i dati di OpenStreetMap sono open source, chiunque è libero di creare altre mappe che mostrano diverse caratteristiche. Come OpenCycleMap oppure Midnight Commander.\n\nRicorda che è sia una mappa dal bell'aspetto (quindi disegna bene le curve) che un diagramma (assicurati che le strade siano collegate agli incroci).\n\nAbbiamo accennato al fatto di non copiare da altre mappe?\n\n\nMaggiori informazioni\nManuale Potlatch\nListe di distribuzione\nChat in linea (aiuto dal vivo)\nForum web\nWiki della comunità\nSorgenti di Potlatch\n\n\n\nPer iniziare\nOra che hai aperto Potlatch, clicca su 'Modifica offline' per iniziare.\n\nOra sei pronto a disegnare la mappa. La cosa più facile è iniziare inserendo dei PDI (Punti Di Interesse) nella mappa. Potrebbero essere bar, chiese, stazioni ferroviarie... qualsiasi cosa ti piaccia.\n\nClicca e trascina\nTo make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\nOnce you've done that, you'll want to give your pub (or church, or station) a name. You'll see that a little table has appeared at the bottom. One of the entries will say \"name\" followed by \"(type name here)\". Do that - click that text, and type the name.\n\nClick somewhere else on the map to deselect your POI, and the colourful little panel returns.\n\nFacile, non è vero? Clicca su 'Salva' (in basso a destra) quando hai finito.\nSpostarsi\nPer spostarsi su una parte differente della mappa, basta trascinarla in modo da visualizzare un'area vuota. Potlatch caricherà automaticamente i nuovi dati (guarda in alto a destra).\n\nWe told you to 'Edit with save', but you can also click 'Edit live'. If you do this, your changes will go into the database straightaway, so there's no 'Save' button. This is good for quick changes and mapping parties.\n\nPassi successivi\nHappy with all of that? Great. Click 'Surveying' above to find out how to become a real mapper!\n\nRilevamento con un GPS\nThe idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nQuando ritorni a casa, il tuo GPS conterrà una registrazione dei punti geografici dove sei stato. Puoi quindi caricarli su OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed GPS Reviews on our wiki.\n\nCaricamento dei tuoi tracciati\nNow, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try GPSBabel. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.\nUtilizzo dei tuoi tracciati\nFind your uploaded track in the 'GPS Traces' listing, and click 'edit' right next to it. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\nPuoi anche cliccare su questo pulsante per visualizzare i tracciati GPS di chiunque (ma non i punti dei percorsi) per l'area corrente. Tieni premuto Shift per visualizzare soltanto i tuoi tracciati.\nUtilizzo di immagini satellitari\nIf you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\nIf you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.\n\nDisegno dei percorsi\nTo draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nClicca 'Salva' (in basso a destra) quando hai fatto. Salva frequentemente in caso di problemi col server.\n\nNon aspettarti di vedere apportate le tue modifiche istantaneamente sulla mappa principale. Di solito bisogna attendere una o due ore, altre volte fino ad una settimana.\nCreazione degli incroci\nE' molto importate che nel punto in cui due strade (o 'way')si incrociano ci sia un punto (o 'nodo') condiviso da entrambe. I navigatori utilizzano questo punto per sapere dove svoltare.\n\nPotlatch si occupa di questo, ma tu devi essere attendo a cliccare esattamente sulla 'way' che stai collegando. Attento alle indicazioni visive: i nodi sulla way diventano blu, il puntatore cambia e una volta fatto il nodo ha un quadrato nero attorno.\nSpostamento ed eliminazione\nFunziona proprio come ti aspetteresti. Per cancellate un nodo selezionalo e premi \"Canc\". Per cancellare l'intera way premi \"Shift-Canc\"\n\nPer spostare qualcosa, semplicemente trascinalo. (Per trascinare un'intera \"way\" devi mantenere cliccato per un pò per evitare che venga fatto accidentalmente).\nDisegno avanzato\nIf two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\nRoundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)\nPDI (Punti Di Interesse)\nThe first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\nChe tipo di strada è?\nQuando hai disegnato una way, dovresti dire di cosa si tratta. E' una strada principale, un percorso pedonale o un fiume? Come si chiama? Ha regole particolari (esempio: \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add highway | trunk to say it's a major road; highway | residential for a road on a housing estate; or highway | footway for a footpath. If bikes were banned, you could then add bicycle | no. Then to record its name, add name | Market Street.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nPuoi applicare etichette all'intera 'way', a nodi sulla 'way' (una barriera o un semaforo) e a PDI (Punto Di Interesse).\nUtilizzo delle etichette preimpostate\nPer farti iniziare, Potlatch possiede dei gruppi preimpostati pronti all'uso contenenti le etichette più utilizzate.\n\nSelect a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.\nStrade a senso unico\nYou might want to add a tag like oneway | yes - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.\nScelta delle proprie etichette\nOvviamente non sei limitato alle preimpostate. Cliccando '+' puoi aggiungere qualunque etichetta.\n\nYou can see what tags other people use at OSMdoc, and there is a long list of popular tags on our wiki called Map Features. But these are only suggestions, not rules. You are free to invent your own tags or borrow from others.\n\nBecause OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.\nRelazioni\nSometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. Find out more on the wiki.\n\nAnnullamento degli sbagli\nQuesto è il pulsante di annullamento (puoi premere anche Z) - annullerà l'ultima cosa che hai fatto.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nPensi che qualcun'altro abbia fatto un errore? Inviagli un messaggio amichevole. Usa la cronologia (H) per selezionarne il nome, poi clicca 'Posta'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\nDomande frequenti (FAQ)\nHow do I see my waypoints?\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for Potlatch and OpenStreetMap.\n\n\n\nLavoro più veloce\nThe further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. Check the wiki for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.\n\nCosa cliccare\n\nTrascina la mappa per spostarti.\nDoppio-click per creare un nuovo PDI (Punto Di Interesse).\nSingolo-click per iniziare un nuovo percorso.\nClicca e trascina un percorso o PDI per spostarlo.\nQuando si disegna un percorso\n\nDoppio-click oppure premi Enter per finire di disegnare.\nCliccare un altro percorso per creare un incrocio.\nShift-click sulla fine di un altro percorso per unire.\nQuando è selezionato un percorso\n\nClicca un punto per selezionarlo.\nShift-click sul percorso per inserire un nuovo punto.\nShift-click un punto per iniziare un nuovo percorso da lì.\nControl-click su un altro percorso per unire.\n\nScorciatoie da tastiera\nB Aggiunge l'etichetta della sorgente dello sfondo\nC Chiude il gruppo di modifiche\nG Mostra i tracciati GPS\nH Mostra lo storicoI Mostra l'ispettore\nJ Unisce il punto ai percorsi che si incrociano\nK Blocca/sblocca la selezione corrente\nL Mostra la latitudine/longitudine corrente\nM Massimizza la finestra di modifica\nP Crea un percorso parallelo\nR Ripeti le etichette\nS Salva (senza la modalità di modifica dal vivo)\nT Disponi su una linea/cerchio\nU Annulla eliminazione (mostra i percorsi eliminati)\nX Taglia il percorso in due parti\nZ Annulla\n- Rimuovi il punto solamente da questo percorso\n+ Aggiunge una nuova etichetta\n/ Seleziona un altro percorso che condivide questo punto\nCanc Elimina il punto\n (+Shift) Elimina l'intero percorso\nInvio Finisce il disegno della linea\nBarra spaziatrice Afferra e trascina lo sfondo\nEsc Annulla questa modifica; ricarica dal server\n0 Rimuove tutte le etichette\n1-9 Seleziona le etichette preimpostate\n (+Shift) Seleziona le etichette memorizzate\n (+S/Ctrl) Memorizza le etichette\n§ or ` Cicla sui gruppi di etichette\n\n" hint_drawmode: clic per aggiungere un punto\ndoppio clic/Return\nper terminare la linea hint_latlon: "lat $1\nlon $2" - hint_loading: caricamento percorsi... + hint_loading: caricamento dati hint_overendpoint: su punto terminale\nclic per congiungere\nshift-clic per unire - hint_overpoint: su punto\nclic per congiungere" + hint_overpoint: su punto ($1)\nclic per congiungere hint_pointselected: punto selezionato\n(shift-clic sul punto per\niniziare una nuova linea) hint_saving: Salvataggio dati hint_saving_loading: carica/salva dati inspector: Inspector + inspector_duplicate: Duplicato di inspector_in_ways: Nei percorsi inspector_latlon: "Lat $1\nLon $2" inspector_locked: Bloccato - inspector_node_count: ($1 occorrenze) - inspector_not_in_any_ways: Non in tutte le way (PDI) + inspector_node_count: ($1 volte) + inspector_not_in_any_ways: In nessun percorso (PDI) inspector_unsaved: Non salvato inspector_uploading: (caricamento) - inspector_way_connects_to: Collega alla way $1 - inspector_way_nodes: Nodi $1 + inspector_way_connects_to: Collegato a $1 percorsi + inspector_way_connects_to_principal: È connesso a $1 $2 ed altri $3 $4 + inspector_way_nodes: $1 nodi inspector_way_nodes_closed: $1 nodi (chiusi) login_pwd: "Password:" login_retry: Il tuo login non è stato riconosciuto. Riprova login_title: Impossibile fare il login login_uid: Nome utente + mail: Posta more: Ancora newchangeset: "Si prega di riprovare: Potlatch aprirà un nuovo gruppo di modifiche." "no": 'No' nobackground: Senza sfondo norelations: Nessuna relazione nell'area attuale + offset_broadcanal: Alzaia larga offset_choose: Cambia offset (m) - offset_dual: Superstrada + offset_dual: Carreggiate separate offset_motorway: Autostrada + offset_narrowcanal: Alzaia stretta ok: OK openchangeset: Apertura gruppo di modifiche option_custompointers: Usa puntatori penna e mano @@ -117,20 +127,26 @@ it: option_layer_cycle_map: OSM - cycle map option_layer_maplint: OSM - Maplint (errori) option_layer_nearmap: "Australia: NearMap" + option_layer_ooc_25k: "Storico UK: 1:25k" + option_layer_streets_haiti: "Haiti: nomi delle strade" option_layer_tip: Scegli lo sfondo da visualizzare - option_limitways: Attenzione quando carichi molti dati + option_limitways: Avverti quando carichi molti dati + option_microblog_id: "Nome microblog:" + option_microblog_pwd: "Password microblog:" option_noname: Evidenzia strade senza nome - option_photo: "Foto KML:" + option_photo: "KML foto:" option_thinareas: Usa linee più sottili per le aree option_thinlines: Usa linee sottili a tutte le scale + option_tiger: Evidenzia dati TIGER non modificati option_warnings: Mostra avvertimenti galleggianti point: Punto preset_icon_airport: Aeroporto - preset_icon_bar: Bar + preset_icon_bar: Cocktail bar preset_icon_bus_stop: Fermata bus - preset_icon_cafe: Cafe + preset_icon_cafe: Bar preset_icon_cinema: Cinema - preset_icon_convenience: Discount + preset_icon_convenience: Minimarket + preset_icon_disaster: Edificio di Haiti preset_icon_fast_food: Fast food preset_icon_ferry_terminal: Traghetto preset_icon_fire_station: Pompieri @@ -143,21 +159,22 @@ it: preset_icon_police: Polizia preset_icon_post_box: Cassetta postale preset_icon_pub: Pub - preset_icon_recycling: Cestino + preset_icon_recycling: Riciclaggio preset_icon_restaurant: Ristorante preset_icon_school: Scuola preset_icon_station: Stazione ferroviaria preset_icon_supermarket: Supermercato + preset_icon_taxi: Posteggio taxi preset_icon_telephone: Telefono preset_icon_theatre: Teatro preset_tip: Scegli da un menù di tag predefiniti che descrivano $1 prompt_addtorelation: Aggiungi $1 ad una relazione - prompt_changesetcomment: Inserisci una descrizione delle tue modifiche + prompt_changesetcomment: "Inserisci una descrizione delle modifiche:" prompt_closechangeset: Chiudi gruppo di modifiche $1 - prompt_createparallel: Crea way parallele + prompt_createparallel: Crea percorso parallelo prompt_editlive: Modifica online prompt_editsave: Modifica offline - prompt_helpavailable: Sei un nuovo utente? Guarda in basso a sinistra per ottenere aiuto. + prompt_helpavailable: Nuovo utente? Cerca l'aiuto in basso a sinistra. prompt_launch: Lancia un URL esterno prompt_live: Nella modalità "online" ogni modifica verrà salvata immediatamente nel database di OpenStreetMap - sconsigliata per gli inesperti. Sei sicuro? prompt_manyways: Quest'area è molto dettagliata e serve molto tempo per caricarla. Preferisci ingrandire lo zoom? @@ -170,6 +187,8 @@ it: retry: Riprova revert: Ripristina save: Salva + tags_descriptions: Descrizioni di '$1' + tags_typesearchterm: "Inserisci una parola da cercare:" tip_addrelation: Aggiungi ad una relazione tip_addtag: Aggiungi una nuova etichetta tip_alert: Si è verificato un errore (clic per i dettagli) @@ -182,20 +201,20 @@ it: tip_photo: Carica foto tip_presettype: Scegli che tipo di preset mostrare nel menu. tip_repeattag: Ripeti le etichette del percorso precedentemente selezionato (R) - tip_revertversion: Scegliere la versione da ripristinare + tip_revertversion: Scegli la versione da ripristinare tip_selectrelation: Aggiungi alla rotta scelta tip_splitway: Separa percorso nel punto selezionato (X) tip_tidy: Ordina i punti nel percorso (T) tip_undo: Annulla $1 (Z) uploading: Caricamento... - uploading_deleting_pois: Sto cancellando PDI - uploading_deleting_ways: Sto cancellando delle way + uploading_deleting_pois: Cancellazione PDI + uploading_deleting_ways: Cancellazione percorsi uploading_poi: Sto caricando il PDI $1 - uploading_poi_name: Sto caricando i PDI $1, $2 + uploading_poi_name: Caricamento PDI $1, $2 uploading_relation: Carica la relation $1 - uploading_relation_name: Sto caricando le relation $1, $2 - uploading_way: Sto caricando la way $1 - uploading_way_name: Sto caricando la way $1, $2 + uploading_relation_name: Caricamento relazione $1, $2 + uploading_way: Caricamento percorso $1 + uploading_way_name: Sto caricando il percorso $1, $2 warning: Attenzione! way: Percorso "yes": Si diff --git a/config/potlatch/locales/nl.yml b/config/potlatch/locales/nl.yml index 2c977dac7..e53d8ecf8 100644 --- a/config/potlatch/locales/nl.yml +++ b/config/potlatch/locales/nl.yml @@ -33,6 +33,7 @@ nl: advanced_tooltip: Gevorderde bewerkingen advanced_undelete: Verwijdering ongedaan maken advice_bendy: Er zijn te veel bochten om recht te maken (SHIFT om toch uit te voeren) + advice_conflict: Server conflict. Probeer opnieuw op te slaan advice_deletingpoi: POI verwijderen (Z om ongedaan te maken) advice_deletingway: Weg verwijderen (Z om ongedaan te maken) advice_microblogged: Uw status bij $1 is bijgewerkt @@ -90,6 +91,7 @@ nl: hint_saving: gegevens opslaan hint_saving_loading: gegevens laden en opslaan inspector: Inspector + inspector_duplicate: Duplicaat van inspector_in_ways: In wegen inspector_latlon: "Breedte $1\nLengte $2" inspector_locked: Op slot @@ -101,6 +103,7 @@ nl: inspector_way_connects_to_principal: Verbindt $1 $2 en $3 andere $4 inspector_way_nodes: $1 nodes inspector_way_nodes_closed: $1 nodes (gesloten) + loading: Bezig met laden... login_pwd: "Wachtwoord:" login_retry: Het aanmelden is mislukt. Probeer het nog een keer. login_title: Het was niet mogelijk om aan te melden @@ -127,6 +130,7 @@ nl: option_layer_ooc_25k: "VK historisch: 1:25k" option_layer_ooc_7th: "VK historisch: 7e" option_layer_ooc_npe: "VK historisch: NPE" + option_layer_ooc_scotland: "VK historisch: Schotland" option_layer_streets_haiti: "Haïti: straatnamen" option_layer_tip: De achtergrondweergave kiezen option_limitways: Waarschuwen als er veel gegevens geladen moeten worden @@ -187,6 +191,11 @@ nl: retry: Opnieuw proberen revert: Terugdraaien save: Opslaan + tags_backtolist: Terug naar de lijst + tags_descriptions: Beschrijvingen van "$1" + tags_findatag: Label zoeken + tags_matching: Populaire labels voor "$1" + tags_typesearchterm: "Zoeken naar:" tip_addrelation: Voeg toe aan een relatie tip_addtag: Nieuw label toevoegen tip_alert: Foutmelding - Klik voor meer details diff --git a/config/potlatch/locales/pl.yml b/config/potlatch/locales/pl.yml index 7eb30ea96..fd7537eaa 100644 --- a/config/potlatch/locales/pl.yml +++ b/config/potlatch/locales/pl.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: syck # Author: BdgwksxD +# Author: Soeb # Author: Sp5uhe # Author: Yarl pl: @@ -102,6 +103,7 @@ pl: inspector_way_connects_to_principal: "Połączenia: $1 $2 oraz $3 innych $4" inspector_way_nodes: $1 węzłów inspector_way_nodes_closed: $1 węzłów (zamknięte) + loading: Ładowanie... login_pwd: Hasło login_retry: Twoja strona logowania nie została uznana. Spróbuj ponownie. login_title: Błąd logowania @@ -188,6 +190,8 @@ pl: retry: Spróbuj ponownie revert: Cofnij save: Zapisz + tags_backtolist: Powrót do listy + tags_descriptions: Opis '$1' tip_addrelation: Dodaj do relacji tip_addtag: Dodaj nowy znacznik tip_alert: Wystąpił błąd – kliknij, aby dowiedzieć się więcej diff --git a/config/potlatch/locales/pt-BR.yml b/config/potlatch/locales/pt-BR.yml index f933ca4c5..044b7fc11 100644 --- a/config/potlatch/locales/pt-BR.yml +++ b/config/potlatch/locales/pt-BR.yml @@ -35,6 +35,7 @@ pt-BR: advanced_tooltip: Ações avançadas de edição advanced_undelete: Restaurar advice_bendy: Muito curvo para endireitar (pressione SHIFT para forçar) + advice_conflict: Conflito no servidor - você pode tentar novamente advice_deletingpoi: Apagando Ponto de Interesse (Z para desfazer) advice_deletingway: Excluindo caminho (Z para desfazer) advice_microblogged: Atualizamos seu status no $1 @@ -92,6 +93,7 @@ pt-BR: hint_saving: salvando dados hint_saving_loading: carregando/salvando dados inspector: Inspetor + inspector_duplicate: Duplicado de inspector_in_ways: Nos caminhos inspector_latlon: "Lat $1\nLon $2" inspector_locked: Bloqueado @@ -99,15 +101,20 @@ pt-BR: inspector_not_in_any_ways: Não está em nenhuma via (POI) inspector_unsaved: Não salvo inspector_uploading: (enviando) + inspector_way: $1 inspector_way_connects_to: Conecta-se com $1 caminhos inspector_way_connects_to_principal: Liga a $1 $2 e $3 outros $4 + inspector_way_name: $1 ($2) inspector_way_nodes: $1 nós inspector_way_nodes_closed: $1 nós (fechado) + loading: Carregando… login_pwd: "Senha:" login_retry: O seu site de login não foi reconhecido. Por favor tente novamente. login_title: Não foi possível efetuar o log in login_uid: "Nome de usuário:" - mail: Agência de correio + mail: Msg. + microblog_name_identica: Identi.ca + microblog_name_twitter: Twitter more: Mais newchangeset: "Por favor tente de novo: Potlatch iniciará um novo conjunto de mudanças." "no": Não @@ -120,52 +127,59 @@ pt-BR: offset_narrowcanal: Canal estreito ok: Ok openchangeset: Abrindo changeset - option_custompointers: Utilize os apontadores caneta e mão + option_custompointers: Apontadores caneta e mão option_external: "Lançador externo:" option_fadebackground: Esmaecer o plano de fundo option_layer_cycle_map: OSM - cycle map + option_layer_digitalglobe_haiti: "Haiti: DigitalGlobe" + option_layer_geoeye_gravitystorm_haiti: "Haiti: GeoEye Jan 13" + option_layer_geoeye_nypl_haiti: "Haiti: GeoEye Jan 13+" option_layer_maplint: OSM - Maplint (erros) + option_layer_mapnik: OSM - Mapnik option_layer_nearmap: "Austrália: NearMap" option_layer_ooc_25k: "UK histórico: 1:25k" option_layer_ooc_7th: "UK histórico: 7th" option_layer_ooc_npe: "UK histórico: NPE" + option_layer_ooc_scotland: "UK histórico: Escócia" + option_layer_osmarender: OSM - Osmarender option_layer_streets_haiti: "Haiti: nomes de ruas" option_layer_tip: Escolha o fundo a mostrar - option_limitways: Avisa quando estiver carregando grande quantidade de dados. + option_layer_yahoo: Yahoo! + option_limitways: Avisa carga de muitos dados option_microblog_id: "Nome do microblog:" option_microblog_pwd: "Senha do microblog:" option_noname: Realçar estradas sem nome option_photo: "KML da foto:" - option_thinareas: Usar linhas mais finas para áreas - option_thinlines: Utilize linhas finas em todas as escalas + option_thinareas: Linhas mais finas em áreas + option_thinlines: Sempre usar linhas finas option_tiger: Destacar TIGER sem mudança option_warnings: Mostrar avisos flutuantes point: Ponto preset_icon_airport: Aeroporto preset_icon_bar: Bar - preset_icon_bus_stop: Ponto de ônibus + preset_icon_bus_stop: P. de ônibus preset_icon_cafe: Café preset_icon_cinema: Cinema - preset_icon_convenience: Loja de conveniência - preset_icon_disaster: Edifício no Haiti + preset_icon_convenience: Conveniência + preset_icon_disaster: Edif. no Haiti preset_icon_fast_food: Fast food - preset_icon_ferry_terminal: Terminal de barcas + preset_icon_ferry_terminal: Term. Balsa preset_icon_fire_station: Bombeiros preset_icon_hospital: Hospital preset_icon_hotel: Hotel preset_icon_museum: Museu preset_icon_parking: Estacionamento preset_icon_pharmacy: Farmácia - preset_icon_place_of_worship: Lugar de adoração + preset_icon_place_of_worship: Templo Rel. preset_icon_police: Delegacia - preset_icon_post_box: Caixa de correio + preset_icon_post_box: Cx. correio preset_icon_pub: Pub - preset_icon_recycling: C. de Reciclagem + preset_icon_recycling: C. de reciclagem preset_icon_restaurant: Restaurante preset_icon_school: Escola - preset_icon_station: Estação de trem + preset_icon_station: Est. de trem preset_icon_supermarket: Supermercado - preset_icon_taxi: Ponto de táxi + preset_icon_taxi: Pto. de táxi preset_icon_telephone: Telefone preset_icon_theatre: Teatro preset_tip: Escolha dentre um menu de tags que descrevam $1 @@ -180,15 +194,20 @@ pt-BR: prompt_live: No modo Ao Vivo, cada item que você altera é salvo na base de dados do OpenStreetMap instantaneamente - não é recomendado para iniciantes. Tem certeza? prompt_manyways: Esta área contém muitos detalhes e demorará muito para carregar. Você prefere aproximar? prompt_microblog: Enviando para $1 ($2 restantes) - prompt_revertversion: "Retornar a uma versão previamente salva:" + prompt_revertversion: "Reverter para versão anterior:" prompt_savechanges: Salvar mudanças prompt_taggedpoints: Alguns dos pontos nesse caminho possuem tags (rótulos). Deseja realmente apagá-los? prompt_track: Converta a sua trilha GPS para caminhos (trancados) a serem editados. prompt_unlock: Clique para desbloquear prompt_welcome: Bem-vindo ao OpenStreetMap! retry: Tentar novamente - revert: Reverter + revert: Desfaz. save: Salvar + tags_backtolist: Voltar à lista + tags_descriptions: Descrições de '$1' + tags_findatag: Encontrar uma etiqueta + tags_matching: Etiquetas populares que coincidem com '$1' + tags_typesearchterm: "Digite uma palavra para buscar:" tip_addrelation: Adicionar a uma relação tip_addtag: Adicionar um novo tag (rótulo) tip_alert: Ocorreu um erro - clique para mais informações diff --git a/config/potlatch/locales/ru.yml b/config/potlatch/locales/ru.yml index c66b9ff88..787f3162f 100644 --- a/config/potlatch/locales/ru.yml +++ b/config/potlatch/locales/ru.yml @@ -35,6 +35,7 @@ ru: advanced_tooltip: Расширенные действия по редактированию advanced_undelete: Восстановить advice_bendy: Сильно изогнуто (SHIFT - выпрямить) + advice_conflict: Конфликт на сервере — возможно, потребуется повторное сохранение advice_deletingpoi: Удаление точки интереса (Z для отмены) advice_deletingway: Удаление линии (Z для отмены) advice_microblogged: Ваш новый статус $1 @@ -92,6 +93,7 @@ ru: hint_saving: сохранение данных hint_saving_loading: загрузка / сохранение данных inspector: Просмотр карты + inspector_duplicate: Дублирование объекта inspector_in_ways: В линиях inspector_latlon: "Шир $1\nДол $2" inspector_locked: Заблокировано @@ -105,6 +107,7 @@ ru: inspector_way_name: $1 ($2) inspector_way_nodes: точек ($1 шт.) inspector_way_nodes_closed: $1 точек (замкнуто) + loading: Загрузка… login_pwd: "Пароль:" login_retry: Ваш логин с сайта не был распознан. Пожалуйста, попробуйте ещё раз. login_title: Не удаётся войти @@ -135,6 +138,7 @@ ru: option_layer_ooc_25k: "UK historic: 1:25k" option_layer_ooc_7th: "UK historic: 7th" option_layer_ooc_npe: "UK historic: NPE" + option_layer_ooc_scotland: "UK historic: Scotland" option_layer_osmarender: OSM - Osmarender option_layer_streets_haiti: "Гаити: названия улиц" option_layer_tip: Выберите фон @@ -197,6 +201,11 @@ ru: retry: Повторить revert: Вернуть save: Сохранить + tags_backtolist: Вернуться к списку + tags_descriptions: Описание «$1» + tags_findatag: Найти тег + tags_matching: Популярные теги, соответствующие «$1» + tags_typesearchterm: "Введите слово для поиска:" tip_addrelation: Добавить отношение tip_addtag: Добавить новый тег tip_alert: Произошла ошибка — нажмите для получения подробностей diff --git a/config/potlatch/locales/sk.yml b/config/potlatch/locales/sk.yml index 06d837e59..61d5de4a8 100644 --- a/config/potlatch/locales/sk.yml +++ b/config/potlatch/locales/sk.yml @@ -88,12 +88,14 @@ sk: inspector_in_ways: V cestách inspector_latlon: "Šírka $1\nDĺžka $2" inspector_locked: Uzamknutý + inspector_node_count: ($1 krát) inspector_not_in_any_ways: Nie je v žiadnej ceste (POI) inspector_unsaved: Neuložené inspector_uploading: (nahrávanie) inspector_way_connects_to: Spojuje do $1 ciest inspector_way_nodes: $1 bodov inspector_way_nodes_closed: $1 body (zavreté) + loading: Načítava sa... login_pwd: "Heslo:" login_retry: VaÅ¡e miestne prihlásenie nebolo rozpoznané. Prosím skúste znovu. login_title: Nemôžem sa prihlásiÅ¥ diff --git a/config/potlatch/locales/sr-EC.yml b/config/potlatch/locales/sr-EC.yml index a0210911d..cfab83162 100644 --- a/config/potlatch/locales/sr-EC.yml +++ b/config/potlatch/locales/sr-EC.yml @@ -137,7 +137,7 @@ sr-EC: preset_icon_place_of_worship: Свето место preset_icon_police: Полицијска станица preset_icon_post_box: Поштанско сандуче - preset_icon_pub: Кафана + preset_icon_pub: Паб preset_icon_recycling: Рециклирање preset_icon_restaurant: Ресторан preset_icon_school: Школа diff --git a/config/potlatch/locales/uk.yml b/config/potlatch/locales/uk.yml index 83b4b89c1..9fb9accc7 100644 --- a/config/potlatch/locales/uk.yml +++ b/config/potlatch/locales/uk.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: syck # Author: Andygol +# Author: Prima klasy4na uk: a_poi: $1 об’єкта (POI) a_way: $1 лінію @@ -128,6 +129,7 @@ uk: option_layer_ooc_7th: "В.БРИТАНІЯ істор.: 1:7000" option_layer_ooc_npe: "В.БРИТАНІЯ істор.: NPE" option_layer_osmarender: OSM — Osmarender + option_layer_streets_haiti: "Гаїті: назви вулиць" option_layer_tip: Оберіть фон option_limitways: Попереджати при завантаженні\nвеликих обсягів даних option_microblog_id: "Ім'я мікроблогу:" @@ -145,6 +147,7 @@ uk: preset_icon_cafe: Кафе preset_icon_cinema: Кінотеатр preset_icon_convenience: Мінімаркет + preset_icon_disaster: Будівля на Гаїті preset_icon_fast_food: Забігайлівка preset_icon_ferry_terminal: Паром preset_icon_fire_station: Пожежна частина diff --git a/config/routes.rb b/config/routes.rb index 90364c395..0c0e62849 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -101,8 +101,6 @@ ActionController::Routing::Routes.draw do |map| map.connect '/user/confirm-email', :controller => 'user', :action => 'confirm_email' map.connect '/user/go_public', :controller => 'user', :action => 'go_public' map.connect '/user/reset-password', :controller => 'user', :action => 'reset_password' - map.connect '/user/upload-image', :controller => 'user', :action => 'upload_image' - map.connect '/user/delete-image', :controller => 'user', :action => 'delete_image' map.connect '/user/forgot-password', :controller => 'user', :action => 'lost_password' map.connect '/index.html', :controller => 'site', :action => 'index' @@ -158,7 +156,6 @@ ActionController::Routing::Routes.draw do |map| map.connect '/user/:display_name/diary/:id/hide', :controller => 'diary_entry', :action => 'hide', :id => /\d+/ map.connect '/user/:display_name/diary/:id/hidecomment/:comment', :controller => 'diary_entry', :action => 'hidecomment', :id => /\d+/, :comment => /\d+/ map.connect '/user/:display_name/account', :controller => 'user', :action => 'account' - map.connect '/user/:display_name/set_home', :controller => 'user', :action => 'set_home' map.connect '/user/:display_name/activate', :controller => 'user', :action => 'activate' map.connect '/user/:display_name/deactivate', :controller => 'user', :action => 'deactivate' map.connect '/user/:display_name/hide', :controller => 'user', :action => 'hide' diff --git a/public/export/embed.html b/public/export/embed.html index 20e1d2ac9..35b93a2ac 100644 --- a/public/export/embed.html +++ b/public/export/embed.html @@ -40,7 +40,7 @@ projection: new OpenLayers.Projection("EPSG:900913") }); - var attribution = 'Data by OpenStreetMap'; + var attribution = '(C) OpenStreetMap and contributors, CC-BY-SA'; var args = OpenLayers.Util.getParameters(); if (!args.layer || args.layer == "mapnik") { var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", { diff --git a/public/googled06a989d1ccc8364.html b/public/googled06a989d1ccc8364.html new file mode 100644 index 000000000..15df52a6a --- /dev/null +++ b/public/googled06a989d1ccc8364.html @@ -0,0 +1 @@ +google-site-verification: googled06a989d1ccc8364.html \ No newline at end of file diff --git a/public/javascripts/site.js b/public/javascripts/site.js index 43cca261c..c17500f57 100644 --- a/public/javascripts/site.js +++ b/public/javascripts/site.js @@ -60,9 +60,11 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj args[objtype] = objid; } node.href = setArgs("/edit", args); + node.title = i18n("javascripts.site.edit_tooltip"); node.style.fontStyle = 'normal'; } else { node.href = 'javascript:alert(i18n("javascripts.site.edit_zoom_alert"));'; + node.title = i18n("javascripts.site.edit_disabled_tooltip"); node.style.fontStyle = 'italic'; } } @@ -85,9 +87,11 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj } node.href = setArgs("/history", args); + node.title = i18n("javascripts.site.history_tooltip"); node.style.fontStyle = 'normal'; } else { node.href = 'javascript:alert(i18n("javascripts.site.history_zoom_alert"));'; + node.title = i18n("javascripts.site.history_disabled_tooltip"); node.style.fontStyle = 'italic'; } } diff --git a/public/potlatch/potlatch.swf b/public/potlatch/potlatch.swf index b737fba07..221dbba7b 100644 Binary files a/public/potlatch/potlatch.swf and b/public/potlatch/potlatch.swf differ diff --git a/public/potlatch/tags.css b/public/potlatch/tags.css new file mode 100644 index 000000000..186604acf --- /dev/null +++ b/public/potlatch/tags.css @@ -0,0 +1,10 @@ +h2 { font-family: Arial,Helvetica,sans-serif; + font-size: 14px; + color: #DDDDFF; } + +p { font-family: Arial,Helvetica,sans-serif; + font-size: 12px; + color: #FFFFFF; } + +a:link { color: #00FFFF; + text-decoration: underline; } diff --git a/public/robots.txt b/public/robots.txt index ec6712596..8d2bea7ea 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,6 +1,67 @@ +Sitemap: http://www.openstreetmap.org/sitemap.xml.gz + User-agent: * +Disallow: /user/ +Disallow: /traces/tag/ +Disallow: /traces/page/ Disallow: /api/ -Disallow: /browse/ +Disallow: /edit +Allow: /browse/node/ +Allow: /browse/way/ +Allow: /browse/relation/ +Disallow: /browse +Disallow: /login +Disallow: /geocoder +Disallow: /history +Disallow: /message +Disallow: /trace/ +Disallow: /*lat= +Disallow: /*node= +Disallow: /*way= +Disallow: /*relation= + +User-agent: Slurp +Disallow: /user/*/traces/ +Disallow: /user/*/edits/ +Disallow: /user/*/diary/ +Allow: /user/ +Disallow: /traces/tag/ +Disallow: /traces/page/ +Disallow: /api/ +Disallow: /edit +Allow: /browse/node/ +Allow: /browse/way/ +Allow: /browse/relation/ +Disallow: /browse +Disallow: /login +Disallow: /geocoder +Disallow: /history +Disallow: /message Disallow: /trace/ +Disallow: /*lat= +Disallow: /*node= +Disallow: /*way= +Disallow: /*relation= + +User-agent: Googlebot +Disallow: /user/*/traces/ +Disallow: /user/*/edits/ +Disallow: /user/*/diary/ +Allow: /user/ +Disallow: /traces/tag/ +Disallow: /traces/page/ +Disallow: /api/ Disallow: /edit +Allow: /browse/node/ +Allow: /browse/way/ +Allow: /browse/relation/ +Disallow: /browse Disallow: /login +Disallow: /geocoder +Disallow: /history +Disallow: /message +Disallow: /trace/ +Disallow: /*lat= +Disallow: /*node= +Disallow: /*way= +Disallow: /*relation= diff --git a/test/functional/amf_controller_test.rb b/test/functional/amf_controller_test.rb index c00003cbb..3bb1d273e 100644 --- a/test/functional/amf_controller_test.rb +++ b/test/functional/amf_controller_test.rb @@ -28,7 +28,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal way[0], -4 assert_equal way[1], "way" assert_equal way[2], id - assert way[3].empty? and way[4].empty? + assert way[3].nil? and way[4].nil? end def test_getway_nonexistent @@ -41,7 +41,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal way[0], -4 assert_equal way[1], "way" assert_equal way[2], 0 - assert way[3].empty? and way[4].empty? + assert way[3].nil? and way[4].nil? end def test_whichways @@ -185,7 +185,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal rel[0], -4 assert_equal rel[1], "relation" assert_equal rel[2], id - assert rel[3].empty? and rel[4].empty? + assert rel[3].nil? and rel[4].nil? end def test_getrelation_nonexistent @@ -198,7 +198,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal rel[0], -4 assert_equal rel[1], "relation" assert_equal rel[2], id - assert rel[3].empty? and rel[4].empty? + assert rel[3].nil? and rel[4].nil? end def test_getway_old @@ -240,8 +240,8 @@ class AmfControllerTest < ActionController::TestCase amf_parse_response returned_way = amf_result("/1") assert_equal -1, returned_way[0] - assert returned_way[3].empty? - assert returned_way[4].empty? + assert returned_way[3].nil? + assert returned_way[4].nil? assert returned_way[5].nil? end end @@ -261,8 +261,8 @@ class AmfControllerTest < ActionController::TestCase amf_parse_response returned_way = amf_result("/1") assert_equal -1, returned_way[0] - assert returned_way[3].empty? - assert returned_way[4].empty? + assert returned_way[3].nil? + assert returned_way[4].nil? assert returned_way[5].nil? end end @@ -510,7 +510,7 @@ class AmfControllerTest < ActionController::TestCase assert_equal 2, result.size assert_equal -1, result[0], "Expected to get the status FAIL in the amf" - assert_equal "One of the tags is invalid. Please pester Adobe to fix Flash on Linux.", result[1] + assert_equal "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1.", result[1] end def test_putpoi_delete_valid diff --git a/test/functional/user_controller_test.rb b/test/functional/user_controller_test.rb index 058cab0ec..f0e945e20 100644 --- a/test/functional/user_controller_test.rb +++ b/test/functional/user_controller_test.rb @@ -65,7 +65,7 @@ class UserControllerTest < ActionController::TestCase # Check that the user account page will display and contains some relevant # information for the user def test_view_user_account - get :view + get :view, {:display_name => "unknown"} assert_response :not_found get :view, {:display_name => "test"} diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 184c2436a..f1994f4dd 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -40,9 +40,9 @@ class UserTest < ActiveSupport::TestCase def test_email_valid ok = %w{ a@s.com test@shaunmcdonald.me.uk hello_local@ping-d.ng - test_local@openstreetmap.org test-local@example.com + test_local@openstreetmap.org test-local@example.com } + bad = %w{ hi ht@ n@ @.com help@.me.uk help"hi.me.uk も対@応します 輕觸搖晃的遊戲@ah.com も対応します@s.name } - bad = %w{ hi ht@ n@ @.com help@.me.uk help"hi.me.uk も対@応します } ok.each do |name| user = users(:normal_user) diff --git a/vendor/plugins/session-persistence/MIT_LICENSE b/vendor/plugins/session-persistence/MIT_LICENSE new file mode 100644 index 000000000..844852952 --- /dev/null +++ b/vendor/plugins/session-persistence/MIT_LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2010 August Lilleaas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/vendor/plugins/session-persistence/README.rdoc b/vendor/plugins/session-persistence/README.rdoc new file mode 100644 index 000000000..a8eb059da --- /dev/null +++ b/vendor/plugins/session-persistence/README.rdoc @@ -0,0 +1,40 @@ += Session Persistence + +Rails 3 plugin that lets you set how long you want your session to be persisted/remembered. + + session_expires_after 2.weeks + session_expires_automatically # also aliased to expire_session + +The timespan will reset on every request. If you set it to 2 weeks, and the user returns after 1 week, the session will be refreshed and last 2 weeks again. If the user returns after 3 weeks, the session will be reset. + +A call to session_expires_automatically will return to a normal automatical expiry cookie, that will expire when the browser is closed. + +Note: I haven't tested the plugin with memcache session storage, but it should work there as well. + += Usage + +Here's an example sessions controller in a Rails 3 application. + + class SessionsController < ApplicationController + def create + session_expires_after 2.weeks if params[:remember_me] + + # ..normal auth goes here.. + # for example + user = User.authenticate(params[:username], params[:password]) + if user + session[:user] = user.id + else + # .. + end + end + + def destroy + session_expires_automatically + + # ..unauthorize here.. + # for example + session[:user] = nil + redirect_to root_path + end + end \ No newline at end of file diff --git a/vendor/plugins/session-persistence/init.rb b/vendor/plugins/session-persistence/init.rb new file mode 100644 index 000000000..a752ad331 --- /dev/null +++ b/vendor/plugins/session-persistence/init.rb @@ -0,0 +1,3 @@ +require "session_persistence" +ActionController::Base.class_eval { include SessionPersistence } +ActionController::Base.after_filter :_persist_session \ No newline at end of file diff --git a/vendor/plugins/session-persistence/lib/session_persistence.rb b/vendor/plugins/session-persistence/lib/session_persistence.rb new file mode 100644 index 000000000..50e30c0f1 --- /dev/null +++ b/vendor/plugins/session-persistence/lib/session_persistence.rb @@ -0,0 +1,30 @@ +module SessionPersistence + private + + # Override this method if you don't want to use session[:_remember_for]. + def session_persistence_key + :_remember_for + end + + # Persist the session. + # + # session_expires_after 1.hour + # session_expires_after 2.weeks + def session_expires_after(seconds) + session[session_persistence_key] = seconds + end + + # Expire the session. + def session_expires_automatically + session.delete(session_persistence_key) + end + alias_method :expire_session, :session_expires_automatically + + def _persist_session + if session[session_persistence_key] + request.session_options = request.session_options.dup + request.session_options[:expire_after] = session[session_persistence_key] + request.session_options.freeze + end + end +end diff --git a/vendor/plugins/session-persistence/test/session_timeout_test.rb b/vendor/plugins/session-persistence/test/session_timeout_test.rb new file mode 100644 index 000000000..89c6020b2 --- /dev/null +++ b/vendor/plugins/session-persistence/test/session_timeout_test.rb @@ -0,0 +1,41 @@ +require "test/unit" + +module ActionController + class Base + def self.after_filter(*args) + + end + end +end + +$LOAD_PATH.push(File.dirname(__FILE__) + "../lib") +require "../init" + +class SessionPersistenceTest < Test::Unit::TestCase + def setup + @controller = ActionController::Base.new + @controller.instance_eval { + def session + @session ||= {} + end + + def session_persistence_key + :mine + end + } + end + + def test_session_expires_after + @controller.instance_eval { session_expires_after 10 } + assert_equal 10, @controller.session[:mine] + end + + def test_session_expires_automatically + @controller.instance_eval { + session_expires_after 10 + session_expires_automatically + } + + assert !@controller.session.has_key?(:mine) + end +end \ No newline at end of file diff --git a/vendor/plugins/validates_email_format_of/.gitignore b/vendor/plugins/validates_email_format_of/.gitignore new file mode 100644 index 000000000..c5f93e3ef --- /dev/null +++ b/vendor/plugins/validates_email_format_of/.gitignore @@ -0,0 +1,3 @@ +pkg +test/debug.log +*.swp diff --git a/vendor/plugins/validates_email_format_of/CHANGELOG b/vendor/plugins/validates_email_format_of/CHANGELOG new file mode 100644 index 000000000..ce4a5e158 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/CHANGELOG @@ -0,0 +1,22 @@ += CHANGELOG + +== Version 1.0 + * initial version + +== Version 1.1 (the Francis Hwang edition) + * moved Regexp out of class methods into the ValidatesEmailFormatOf module + +== Version 1.2 (the Ismael Santos Kafeltz and Michael MacDonald edition) + * added support for un-escaped and escaped special characters in the local part, per RFC 3696 + * added :allow_nil option + +== Version 1.2.1 (the RTFM edition) + * added support for quoted local parts + * added length checks for domain and local parts + * corrected escaped character support for RFC 3696 Errata + * added :allow_blank option + * added :unless option + +== Unreleased + * Now available as a gem on GitHub + * added should_validate_email_format_of diff --git a/vendor/plugins/validates_email_format_of/MIT-LICENSE b/vendor/plugins/validates_email_format_of/MIT-LICENSE new file mode 100644 index 000000000..1bae24d25 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2006 Alex Dunae + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/plugins/validates_email_format_of/README.markdown b/vendor/plugins/validates_email_format_of/README.markdown new file mode 100644 index 000000000..d4325743a --- /dev/null +++ b/vendor/plugins/validates_email_format_of/README.markdown @@ -0,0 +1,58 @@ +Validates email format +====================== + +Validate various formats of email address against RFC 2822. + +Usage +----- + + class PersonTest < ActiveSupport::TestCase + should_validate_email_format_of :email + end + + class Person < ActiveRecord::Base + validates_email_format_of :email + end + +Options +------- + + :message => + String. A custom error message (default is: " does not appear to be a valid e-mail address") + + :on => + Symbol. Specifies when this validation is active (default is :save, other options :create, :update) + + :allow_nil => + Boolean. Allow nil values (default is false) + + :allow_blank => + Boolean. Allow blank values (default is false) + + :if => + Specifies a method, proc or string to call to determine if the validation should occur + (e.g. :if => :allow_validation, or :if => Proc.new { |user| user.signup_step > 2 }). The method, + proc or string should return or evaluate to a true or false value. + + :unless => + See :if option. + +Testing +------- + +To execute the unit tests run rake test. + +The unit tests for this plugin use an in-memory sqlite3 database. + +Installing the gem +------------------ + +* gem sources -a http://gems.github.com (only needed once) +* sudo gem install dancroak-validates\_email\_format\_of + +Credits +------- + +Written by Alex Dunae (dunae.ca), 2006-07. + +Thanks to Francis Hwang (http://fhwang.net/) at Diversion Media for creating the 1.1 update. diff --git a/vendor/plugins/validates_email_format_of/Rakefile b/vendor/plugins/validates_email_format_of/Rakefile new file mode 100644 index 000000000..0b617435e --- /dev/null +++ b/vendor/plugins/validates_email_format_of/Rakefile @@ -0,0 +1,12 @@ +require 'rake' +require 'rake/testtask' + +test_files_pattern = 'test/*_test.rb' +Rake::TestTask.new do |t| + t.libs << 'lib' + t.pattern = test_files_pattern + t.verbose = false +end + +desc "Run the test suite" +task :default => :test diff --git a/vendor/plugins/validates_email_format_of/init.rb b/vendor/plugins/validates_email_format_of/init.rb new file mode 100644 index 000000000..41a097dc9 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/init.rb @@ -0,0 +1 @@ +require File.join(File.dirname(__FILE__), 'rails', 'init') \ No newline at end of file diff --git a/vendor/plugins/validates_email_format_of/lib/validates_email_format_of.rb b/vendor/plugins/validates_email_format_of/lib/validates_email_format_of.rb new file mode 100644 index 000000000..48017e37b --- /dev/null +++ b/vendor/plugins/validates_email_format_of/lib/validates_email_format_of.rb @@ -0,0 +1,56 @@ +# encoding: utf-8 + +module ValidatesEmailFormatOf + LocalPartSpecialChars = Regexp.escape('!#$%&\'*-/=?+-^_`{|}~') + LocalPartUnquoted = '(([[:alnum:]' + LocalPartSpecialChars + ']+[\.\+]+))*[[:alnum:]' + LocalPartSpecialChars + '+]+' + LocalPartQuoted = '\"(([[:alnum:]' + LocalPartSpecialChars + '\.\+]*|(\\\\[\u0001-\uFFFF]))*)\"' + Regex = Regexp.new('^((' + LocalPartUnquoted + ')|(' + LocalPartQuoted + ')+)@(((\w+\-+)|(\w+\.))*\w{1,63}\.[a-z]{2,6}$)', Regexp::EXTENDED | Regexp::IGNORECASE) +end + +module ActiveRecord + module Validations + module ClassMethods + # Validates whether the value of the specified attribute is a valid email address + # + # class User < ActiveRecord::Base + # validates_email_format_of :email, :on => :create + # end + # + # Configuration options: + # * message - A custom error message (default is: " does not appear to be a valid e-mail address") + # * on - Specifies when this validation is active (default is :save, other options :create, :update) + # * allow_nil - Allow nil values (default is false) + # * allow_blank - Allow blank values (default is false) + # * if - Specifies a method, proc or string to call to determine if the validation should + # occur (e.g. :if => :allow_validation, or :if => Proc.new { |user| user.signup_step > 2 }). The + # method, proc or string should return or evaluate to a true or false value. + # * unless - See :if + def validates_email_format_of(*attr_names) + options = { :message => ' does not appear to be a valid e-mail address', + :on => :save, + :allow_nil => false, + :allow_blank => false, + :with => ValidatesEmailFormatOf::Regex } + + options.update(attr_names.pop) if attr_names.last.is_a?(Hash) + + validates_each(attr_names, options) do |record, attr_name, value| + v = value.to_s + + # local part max is 64 chars, domain part max is 255 chars + # TODO: should this decode escaped entities before counting? + begin + domain, local = v.reverse.split('@', 2) + rescue + record.errors.add(attr_name, options[:message]) + next + end + + unless v =~ options[:with] and not v =~ /\.\./ and domain.length <= 255 and local.length <= 64 + record.errors.add(attr_name, options[:message]) + end + end + end + end + end +end diff --git a/vendor/plugins/validates_email_format_of/rails/init.rb b/vendor/plugins/validates_email_format_of/rails/init.rb new file mode 100644 index 000000000..a30177232 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/rails/init.rb @@ -0,0 +1 @@ +require 'validates_email_format_of' diff --git a/vendor/plugins/validates_email_format_of/rakefile b/vendor/plugins/validates_email_format_of/rakefile new file mode 100644 index 000000000..0b617435e --- /dev/null +++ b/vendor/plugins/validates_email_format_of/rakefile @@ -0,0 +1,12 @@ +require 'rake' +require 'rake/testtask' + +test_files_pattern = 'test/*_test.rb' +Rake::TestTask.new do |t| + t.libs << 'lib' + t.pattern = test_files_pattern + t.verbose = false +end + +desc "Run the test suite" +task :default => :test diff --git a/vendor/plugins/validates_email_format_of/shoulda_macros/validates_email_format_of.rb b/vendor/plugins/validates_email_format_of/shoulda_macros/validates_email_format_of.rb new file mode 100644 index 000000000..fb7780347 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/shoulda_macros/validates_email_format_of.rb @@ -0,0 +1,97 @@ +module ValidatesEmailFormatOf + module Shoulda + def should_validate_email_format_of(field) + metaclass = (class << self; self; end) + metaclass.send(:define_method,:should_allow_values) do |klass,*values| + should_allow_values_for(field, *values) + end + metaclass.send(:define_method,:should_not_allow_values) do |klass, *values| + should_not_allow_values_for(field, values, :message => /valid e-mail/) + end + should_validate_email_format_of_klass(model_class, field) + end + + def should_validate_email_format_of_klass(klass, field) + context 'Typical valid email' do + should_allow_values(klass, + 'valid@example.com', + 'Valid@test.example.com', + 'valid+valid123@test.example.com', + 'valid_valid123@test.example.com', + 'valid-valid+123@test.example.co.uk', + 'valid-valid+1.23@test.example.com.au', + 'valid@example.co.uk', + 'v@example.com', + 'valid@example.ca', + 'valid_@example.com', + 'valid123.456@example.org', + 'valid123.456@example.travel', + 'valid123.456@example.museum', + 'valid@example.mobi', + 'valid@example.info', + 'valid-@example.com') + end + + context 'valid email from RFC 3696, page 6' do + should_allow_values(klass, + 'customer/department=shipping@example.com', + '$A12345@example.com', + '!def!xyz%abc@example.com', + '_somename@example.com') + end + + context 'valid email with apostrophe' do + should_allow_values(klass, "test'test@example.com") + end + + context 'valid email from http://www.rfc-editor.org/errata_search.php?rfc=3696' do + should_allow_values(klass, + '"Abc\@def"@example.com', + '"Fred\ Bloggs"@example.com', + '"Joe.\\Blow"@example.com') + end + + context 'Typical invalid email' do + should_not_allow_values(klass, + 'invalid@example-com', + 'invalid@example.com.', + 'invalid@example.com_', + 'invalid@example.com-', + 'invalid-example.com', + 'invalid@example.b#r.com', + 'invalid@example.c', + 'invali d@example.com', + 'invalidexample.com', + 'invalid@example.') + end + + context 'invalid email with period starting local part' do + should_not_allow_values(klass,'.invalid@example.com') + end + + context 'invalid email with period ending local part' do + should_not_allow_values(klass, 'invalid.@example.com') + end + + context 'invalid email with consecutive periods' do + should_not_allow_values(klass, 'invali..d@example.com') + end + + # corrected in http://www.rfc-editor.org/errata_search.php?rfc=3696 + context 'invalid email from http://tools.ietf.org/html/rfc3696, page 5' do + should_not_allow_values(klass, + 'Fred\ Bloggs_@example.com', + 'Abc\@def+@example.com', + 'Joe.\\Blow@example.com') + end + + context 'invalid email exceeding length limits' do + should_not_allow_values(klass, + "#{'a' * 65}@example.com", + "test@#{'a'*252}.com") + end + end + end +end + +Test::Unit::TestCase.extend(ValidatesEmailFormatOf::Shoulda) diff --git a/vendor/plugins/validates_email_format_of/test/db/email_format_test.sqlite3 b/vendor/plugins/validates_email_format_of/test/db/email_format_test.sqlite3 new file mode 100644 index 000000000..0b2dc8c88 Binary files /dev/null and b/vendor/plugins/validates_email_format_of/test/db/email_format_test.sqlite3 differ diff --git a/vendor/plugins/validates_email_format_of/test/test_helper.rb b/vendor/plugins/validates_email_format_of/test/test_helper.rb new file mode 100644 index 000000000..0a67debb7 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/test/test_helper.rb @@ -0,0 +1,47 @@ +$:.unshift(File.dirname(__FILE__) + '/../lib') + +require 'rubygems' +require 'active_record' +require 'active_record/base' + +require 'validates_email_format_of' + +ActiveRecord::Base.establish_connection( + :adapter => 'sqlite3', + :database => ':memory:') + +ActiveRecord::Schema.define(:version => 0) do + create_table :users, :force => true do |t| + t.column 'email', :string + end +end + +class Person < ActiveRecord::Base + validates_email_format_of :email, :on => :create, :message => 'fails with custom message', :allow_nil => true +end + +require 'test/unit' +require 'shoulda' +require "#{File.dirname(__FILE__)}/../init" + +class Test::Unit::TestCase #:nodoc: + def self.should_allow_values(klass,*good_values) + good_values.each do |v| + should "allow email to be set to #{v.inspect}" do + user = klass.new(:email => v) + user.save + assert_nil user.errors.on(:email) + end + end + end + + def self.should_not_allow_values(klass,*bad_values) + bad_values.each do |v| + should "not allow email to be set to #{v.inspect}" do + user = klass.new(:email => v) + assert !user.save, "Saved user with email set to \"#{v}\"" + assert user.errors.on(:email), "There are no errors set on email after being set to \"#{v}\"" + end + end + end +end diff --git a/vendor/plugins/validates_email_format_of/test/validates_email_format_of_test.rb b/vendor/plugins/validates_email_format_of/test/validates_email_format_of_test.rb new file mode 100644 index 000000000..4b048c1b2 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/test/validates_email_format_of_test.rb @@ -0,0 +1,37 @@ +require File.dirname(__FILE__) + '/test_helper' +require File.dirname(__FILE__) + '/../shoulda_macros/validates_email_format_of' + +class User < ActiveRecord::Base + validates_email_format_of :email, + :on => :create, + :message => 'fails with custom message', + :allow_nil => true +end + +class ValidatesEmailFormatOfTest < Test::Unit::TestCase + should_validate_email_format_of_klass(User, :email) + + context 'An invalid user on update' do + setup do + @user = User.new(:email => 'dcroak@thoughtbot.com') + assert @user.save + assert @user.update_attribute(:email, '..dcroak@thoughtbot.com') + end + + should 'pass validation' do + assert @user.valid? + assert @user.save + assert_nil @user.errors.on(:email) + end + end + + context 'A user with a nil email' do + setup { @user = User.new(:email => nil) } + + should 'pass validation' do + assert @user.valid? + assert @user.save + assert_nil @user.errors.on(:email) + end + end +end diff --git a/vendor/plugins/validates_email_format_of/validates_email_format_of.gemspec b/vendor/plugins/validates_email_format_of/validates_email_format_of.gemspec new file mode 100644 index 000000000..85ffdbb09 --- /dev/null +++ b/vendor/plugins/validates_email_format_of/validates_email_format_of.gemspec @@ -0,0 +1,32 @@ +Gem::Specification.new do |s| + s.name = "validates_email_format_of" + s.version = "1.3.0" + s.date = "2009-06-08" + s.summary = "Validate e-mail addreses against RFC 2822 and RFC 3696." + s.email = "dcroak@thoughtbot.com" + s.description = "Validate e-mail addreses against RFC 2822 and RFC 3696." + s.authors = ["Alex Dunae", "Dan Croak", "Mike Burns"] + s.extra_rdoc_files = ["CHANGELOG", + "lib/validates_email_format_of.rb", + "README.markdown"] + s.files = ["CHANGELOG", + "init.rb", + "lib/validates_email_format_of.rb", + "MIT-LICENSE", + "rails/init.rb", + "Rakefile", + "README", + "test/database.yml", + "test/fixtures/people.yml", + "test/fixtures/person.rb", + "test/schema.rb", + "test/test_helper.rb", + "test/validates_email_format_of_test.rb", + "Rakefile", + "validates_email_format_of.gemspec"] + s.has_rdoc = true + s.homepage = %q{http://code.dunae.ca/validates_email_format_of.html} + s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Validates_email_format_of"] + s.require_paths = ["lib"] +end +