private
- def amf_handle_error(call)
+ def amf_handle_error(call,rootobj,rootid)
yield
rescue OSM::APIVersionMismatchError => ex
- return [-3, [ex.type.downcase, ex.latest, ex.id]]
+ return [-3, [rootobj, rootid], [ex.type.downcase, ex.id, ex.latest]]
rescue OSM::APIUserChangesetMismatchError => ex
return [-2, ex.to_s]
rescue OSM::APIBadBoundingBox => ex
return [-2, "An unusual error happened (in #{call}). The server said: #{ex.to_s}"]
end
- def amf_handle_error_with_timeout(call)
- amf_handle_error(call) do
+ def amf_handle_error_with_timeout(call,rootobj,rootid)
+ amf_handle_error(call,rootobj,rootid) do
Timeout::timeout(APP_CONFIG['api_timeout'], OSM::APITimeoutError) do
yield
end
# Returns success_code,success_message,changeset id
def startchangeset(usertoken, cstags, closeid, closecomment, opennew)
- amf_handle_error("'startchangeset'") do
+ amf_handle_error("'startchangeset'",nil,nil) do
user = getuser(usertoken)
if !user then return -1,"You are not logged in, so Potlatch can't write any changes to the database." end
# used in any way, rel is any relation which refers to either a way
# or node that we're returning.
def whichways(xmin, ymin, xmax, ymax) #:doc:
- amf_handle_error_with_timeout("'whichways'") do
+ amf_handle_error_with_timeout("'whichways'",nil,nil) do
enlarge = [(xmax-xmin)/8,0.01].min
xmin -= enlarge; ymin -= enlarge
xmax += enlarge; ymax += enlarge
# with a deleted node only - not POIs or relations).
def whichways_deleted(xmin, ymin, xmax, ymax) #:doc:
- amf_handle_error_with_timeout("'whichways_deleted'") do
+ amf_handle_error_with_timeout("'whichways_deleted'",nil,nil) do
enlarge = [(xmax-xmin)/8,0.01].min
xmin -= enlarge; ymin -= enlarge
xmax += enlarge; ymax += enlarge
# Returns the way id, a Potlatch-style array of points, a hash of tags, the version number, and the user ID.
def getway(wayid) #:doc:
- amf_handle_error_with_timeout("'getway' #{wayid}") do
+ amf_handle_error_with_timeout("'getway' #{wayid}" ,'way',wayid) do
if POTLATCH_USE_SQL then
points = sql_get_nodes_in_way(wayid)
tags = sql_get_tags_in_way(wayid)
# 5. is this the current, visible version? (boolean)
def getway_old(id, timestamp) #:doc:
- amf_handle_error_with_timeout("'getway_old' #{id}, #{timestamp}") do
+ amf_handle_error_with_timeout("'getway_old' #{id}, #{timestamp}", 'way',id) do
if timestamp == ''
# undelete
old_way = OldWay.find(:first, :conditions => ['visible = ? AND id = ?', true, id], :order => 'version DESC')
# Returns array listing GPXs, each one comprising id, name and description.
def findgpx(searchterm, usertoken)
- amf_handle_error_with_timeout("'findgpx'") do
+ amf_handle_error_with_timeout("'findgpx'" ,nil,nil) do
user = getuser(usertoken)
if !uid then return -1,"You must be logged in to search for GPX traces.",[] end
# 5. version.
def getrelation(relid) #:doc:
- amf_handle_error("'getrelation' #{relid}") do
+ 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
# 3. version.
def putrelation(renumberednodes, renumberedways, usertoken, changeset_id, version, relid, tags, members, visible) #:doc:
- amf_handle_error("'putrelation' #{relid}") do
+ amf_handle_error("'putrelation' #{relid}" ,'relation',relid) do
user = getuser(usertoken)
if !user then return -1,"You are not logged in, so the relation could not be saved." end
if !tags_ok(tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end
# 6. hash of node versions (node=>version)
def putway(renumberednodes, usertoken, changeset_id, wayversion, originalway, pointlist, attributes, nodes, deletednodes) #:doc:
- amf_handle_error("'putway' #{originalway}") do
+ amf_handle_error("'putway' #{originalway}" ,'way',originalway) do
# -- Initialise
user = getuser(usertoken)
# 4. version.
def putpoi(usertoken, changeset_id, version, id, lon, lat, tags, visible) #:doc:
- amf_handle_error("'putpoi' #{id}") do
+ amf_handle_error("'putpoi' #{id}", 'node',id) do
user = getuser(usertoken)
if !user then return -1,"You are not logged in, so the point could not be saved." end
if !tags_ok(tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end
# Returns array of id, long, lat, hash of tags, (current) version.
def getpoi(id,timestamp) #:doc:
- amf_handle_error("'getpoi' #{id}") do
+ amf_handle_error("'getpoi' #{id}" ,'node',id) do
id = id.to_i
n = Node.find(id)
v = n.version
# 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}") do
+ amf_handle_error("'deleteway' #{way_id}" ,'way',id) do
user = getuser(usertoken)
unless user then return -1,"You are not logged in, so the way could not be deleted." end
end
def set_locale
+ response.header['Vary'] = 'Accept-Language'
+
if @user
if !@user.languages.empty?
request.user_preferred_languages = @user.languages
+ response.header['Vary'] = '*'
elsif !request.user_preferred_languages.empty?
@user.languages = request.user_preferred_languages
@user.save
if bbox
conditions = cond_merge conditions, conditions_bbox(bbox)
bbox = BoundingBox.from_s(bbox)
- bbox_link = "<a href='#{url_for(:controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes")}'>#{bbox.to_s}</a>"
+ bbox_link = render_to_string :partial => "bbox", :object => bbox
end
if user
- user_link = "<a href='#{url_for(:controller => "user", :action => "view", :display_name => user.display_name)}'>#{user.display_name}</a>"
+ user_link = render_to_string :partial => "user", :object => user
end
if user and bbox
new_node = Node.from_xml(request.raw_post)
unless new_node and new_node.id == node.id
- raise OSM::BadUserInput.new("The id in the url (#{node.id}) is not the same as provided in the xml (#{new_node.id})")
+ raise OSM::APIBadUserInput.new("The id in the url (#{node.id}) is not the same as provided in the xml (#{new_node.id})")
end
node.update_from(new_node, @user)
render :text => node.version.to_s, :content_type => "text/plain"
new_node = Node.from_xml(request.raw_post)
unless new_node and new_node.id == node.id
- raise OSM::BadUserInput.new("The id in the url (#{node.id}) is not the same as provided in the xml (#{new_node.id})")
+ raise OSM::APIBadUserInput.new("The id in the url (#{node.id}) is not the same as provided in the xml (#{new_node.id})")
end
node.delete_with_history!(new_node, @user)
render :text => node.version.to_s, :content_type => "text/plain"
ids = params['nodes'].split(',').collect { |n| n.to_i }
if ids.length == 0
- raise OSM::BadUserInput.new("No nodes were given to search for")
+ raise OSM::APIBadUserInput.new("No nodes were given to search for")
end
doc = OSM::API.new.get_xml_doc
token = UserToken.find_by_token(params[:token])
if token
+ @user = token.user
+
if params[:user]
- @user = token.user
@user.pass_crypt = params[:user][:pass_crypt]
@user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation]
@user.active = true
--- /dev/null
+xml.a(bbox.to_s, :href => url_for(:controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes"))
--- /dev/null
+<%= link_to bbox.to_s, :controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes" %>
--- /dev/null
+xml.a(user.display_name, :href => url_for(:controller => "user", :action => "view", :display_name => user.display_name))
--- /dev/null
+<%= link_to user.display_name, :controller => "user", :action => "view", :display_name => user.display_name %>
-<h1><%= t 'user.reset_password.heading' %></h1>
+<h1><%= t 'user.reset_password.heading', :user => @user.display_name %></h1>
<%= error_messages_for :user %>
<% form_tag do %>
<%= hidden_field_tag(:token, params[:token]) %>
<table id="loginForm">
- <tr><td class="fieldName"><%= t 'user.reset_password.password' %></td><td><%= password_field(:user, :pass_crypt,{:size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
- <tr><td class="fieldName"><%= t 'user.reset_password.confirm password' %></td><td><%= password_field(:user, :pass_crypt_confirmation,{:size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
+ <tr><td class="fieldName"><%= t 'user.reset_password.password' %></td><td><%= password_field(:user, :pass_crypt, {:value => '', :size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
+ <tr><td class="fieldName"><%= t 'user.reset_password.confirm password' %></td><td><%= password_field(:user, :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
<tr><td colspan=2> <!--vertical spacer--></td></tr>
<tr><td></td><td align=right><input type="submit" value="<%= t'user.reset_password.reset' %>" tabindex="6"></td></tr>
video_to_openstreetmap: "уводнае відэа пра OpenStreetMap"
more_videos: "Яшчэ больш {{more_videos_link}}."
more_videos_here: "відэа тут"
- get_reading: 'Пачытайце пра OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">на wiki</p> ці <a href="http://www.opengeodata.org/">блогу opengeodata</a>, на якім таксама ёсць <a href="http://www.opengeodata.org/?cat=13">подкасты</a>!'
+ get_reading: 'Пачытайце пра OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">на wiki</a> ці <a href="http://www.opengeodata.org/">блогу opengeodata</a>, на якім таксама ёсць <a href="http://www.opengeodata.org/?cat=13">подкасты</a>!'
wiki_signup: 'Вы таксама можаце захацець <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">зарэгістравацца на OpenStreetMap wiki</a>.'
user_wiki_page: 'Рэкамендуем стварыць старонку карыстальніка на wiki, якая будзе уключаць цэтлікі катэгорый, якія адзначаюць, дзе вы знаходзіцеся, напрыклад <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'Спіс бягучых карыстальнікаў па катэгорыях іх геаграфічнага знаходжання даступны на <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Hallo,"
hopefully_you: "Jemand (hoffentlich du) hat darum gebeten sein Passwort für das OpenStreetMap-Benutzerkonto mit dieser E-Mail-Adresse zurückzusetzen."
click_the_link: "Wenn du das bist, klicke bitte auf den Link unten, um dein Passwort zurückzusetzen."
- reset_password:
- subject: "[OpenStreetMap] Passwort zurückgesetzt"
- reset_password_plain:
- greeting: "Hallo,"
- reset: "Dein neues Passwort lautet {{new_password}}"
- reset_password_html:
- greeting: "Hallo,"
- reset: "Dein neues Passwort lautet {{new_password}}"
message:
inbox:
title: "Posteingang"
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
title: "Lost password"
heading: "Forgotten Password?"
email address: "Email Address:"
- new password button: "Send me a new password"
+ new password button: "Reset password"
notice email on way: "Sorry you lost it :-( but an email is on its way so you can reset it soon."
notice email cannot find: "Couldn't find that email address, sorry."
reset_password:
title: "Reset password"
- heading: "Reset Password"
+ heading: "Reset Password for {{user}}"
password: "Password: "
confirm password: "Confirm Password: "
reset: "Reset Password"
lost_password_html:
greeting: "Hola,"
click_the_link: "Si es usted, por favor pulse el enlace inferior para resetear la contraseña."
- reset_password:
- subject: "[OpenStreetMap] Reset de contraseña"
- reset_password_plain:
- greeting: "Hola,"
- reset_password_html:
- greeting: "Hola,"
message:
inbox:
title: "Buzón de entrada"
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
- reset_password:
- subject: "[OpenStreetMap] Password reset"
- reset_password_plain:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
- reset_password_html:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "Inbox"
greeting: "Szia!"
hopefully_you: "Valaki (esetleg Te) kérte, hogy az ehhez az e-mail címhez tartozó openstreetmap.org felhasználói fiók jelszava kerüljön alaphelyzetbe."
click_the_link: "Ha ez Te vagy, akkor a jelszó alaphelyzetbe állításához kattints az alábbi hivatkozásra."
- reset_password:
- subject: "[OpenStreetMap] Jelszó alaphelyzetbe állítása"
- reset_password_plain:
- greeting: "Szia!"
- reset: "Jelszavad alaphelyzetbe lett állítva erre: {{new_password}}"
- reset_password_html:
- greeting: "Szia!"
- reset: "Jelszavad alaphelyzetbe lett állítva erre: {{new_password}}"
message:
inbox:
title: "Beérkezett üzenetek"
video_to_openstreetmap: "kynningarmyndband um OpenStreetMap"
more_videos: "Fleiri myndbönd er {{more_videos_link}}."
more_videos_here: "hægt að finna hér"
- get_reading: 'Þú getur lesið um OpenStreetMap verkefnið á <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Beginners%27_Guide">wiki-síðunni okkar</p> eða <a href="http://www.opengeodata.org/">OpenGeoData blogginu</a> þar sem einnig er að finna <a href="http://www.opengeodata.org/?cat=13">hljóðvarp</a>.'
+ get_reading: 'Þú getur lesið um OpenStreetMap verkefnið á <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Beginners%27_Guide">wiki-síðunni okkar</a> eða <a href="http://www.opengeodata.org/">OpenGeoData blogginu</a> þar sem einnig er að finna <a href="http://www.opengeodata.org/?cat=13">hljóðvarp</a>.'
wiki_signup: 'Kannski viltu einnig <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Fors%C3%AD%C3%B0a">skrá þig á wiki-síðuna</a>.'
user_wiki_page: 'Það er mælt með því að þú búir ttil notandasíðu á wiki-inu þar sem tengt er í flokk sem gefur til kynna hvar þú ert, t.d. <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Category:Users_in_Iceland">[[Category:Users_in_Iceland]]</a>.'
current_user: 'Í flokkakerfinu getur þú einnig séð <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Category:Users_by_geographical_region"> hvar í heiminum OpenStreetMap notendur</a> eru staðsettir.'
greeting: "Hæ,"
hopefully_you: "Einhver (vonandi þú) hefur beðið um að endurstilla lykilorðið á reikningnum með þetta netfang á openstreetmap.org"
click_the_link: "Ef þú óskaðir eftir þessari endurstillingu fylgdu tenglinum hér fyrir neðan til að staðfesta breytinguna."
- reset_password:
- subject: "[OpenStreetMap] Lykilorði breytt"
- reset_password_plain:
- greeting: "Hæ,"
- reset: "Lykilorðinu þínu hefur verið breytt í {{new_password}}"
- reset_password_html:
- greeting: "Hæ,"
- reset: "Lykilorðinu þínu hefur verið breytt í {{new_password}}"
message:
inbox:
title: "Innhólf"
notice email on way: "Nýtt lykilorð er á leiðinni í innhólfið þitt."
notice email cannot find: "Þetta netfang fannst ekki."
reset_password:
- title: "lykilorð endurstillt"
- flash changed check mail: "Nýtt lykilorð hefur verið búið til fyrir þig og sent til þín í pósti"
+ title: "Lykilorð endurstillt"
+ heading: "Endurstillti lykilorð fyrir notandann {{user}}"
+ password: "Lykilorð: "
+ confirm password: "Staðfestu lykilorð: "
+ reset: "Endurstilla lykilorð"
+ flash changed: "Lykilorðinu þínu hefur verið breytt"
flash token bad: "Þessi leynistrengur fannst ekki, kannski er slóðin röng?"
new:
title: "Nýskrá"
video_to_openstreetmap: "video introduttivo su OpenStreetMap"
more_videos: "Ci sono {{more_videos_link}}."
more_videos_here: "ulteriori video qui"
- get_reading: 'Puoi avere altre informazioni su OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">sul wiki</p> oppure <a href="http://www.opengeodata.org/">sul blog opengeodata</a> che mette a disposizione anche <a href="http://www.opengeodata.org/?cat=13">alcuni podcast da ascoltare</a>!'
+ get_reading: 'Puoi avere altre informazioni su OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">sul wiki</a> oppure <a href="http://www.opengeodata.org/">sul blog opengeodata</a> che mette a disposizione anche <a href="http://www.opengeodata.org/?cat=13">alcuni podcast da ascoltare</a>!'
wiki_signup: 'Ci si può anche <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">iscrivere al wiki di OpenStreetMap</a>.'
user_wiki_page: 'E'' consigliato creare una pagina utente sul wiki, che includa delle etichette di categoria che si riferiscano al luogo in si opera, come ad esempio <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'Una lista degli utenti attuali nelle categorie, basate sul luogo in cui essi operano, è disponibile su <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
- reset_password:
- subject: "[OpenStreetMap] Password reset"
- reset_password_plain:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
- reset_password_html:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "受信箱"
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
- reset_password:
- subject: "[OpenStreetMap] Password reset"
- reset_password_plain:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
- reset_password_html:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "받은 쪽지함"
video_to_openstreetmap: "introductievideo over OpenStreetMap bekijken"
more_videos: "Er zijn {{more_videos_link}}."
more_videos_here: "hier nog meer video's"
- get_reading: 'Lees over OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">op de wiki</p> of <a href="http://www.opengeodata.org/">de OpenGeoData-blog</a> die ook <a href="http://www.opengeodata.org/?cat=13">podcasts</a> aanbiedt!'
+ get_reading: 'Lees over OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">op de wiki</a> of <a href="http://www.opengeodata.org/">de OpenGeoData-blog</a> die ook <a href="http://www.opengeodata.org/?cat=13">podcasts</a> aanbiedt!'
wiki_signup: 'Je kunt je ook <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">registreren op de OpenStreetMap-wiki</a>.'
user_wiki_page: 'Het is aanbevolen dat je een gebruikerspagina maakt met onder andere categorieën die zeggen waar je bent, zoals <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Amsterdam">[[Category:Users_in_Amsterdam]]</a>.'
current_user: 'Een lijst van gebruikers, gesorteerd op woonplaats, is te zien op <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
video_to_openstreetmap: "wideo-wprowadzenie do OpenStreetMap"
more_videos: "Mamy {{more_videos_link}}."
more_videos_here: "więcej materiału wideo tutuaj"
- get_reading: 'Zacznij czytać o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Pl:Beginners_Guide">na naszej wiki</p> i <a href="http://www.opengeodata.org/">blogu opengeodata</a> który ma nawet <a href="http://www.opengeodata.org/?cat=13">podcasty do posłuchania</a>!'
+ get_reading: 'Zacznij czytać o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Pl:Beginners_Guide">na naszej wiki</a> i <a href="http://www.opengeodata.org/">blogu opengeodata</a> który ma nawet <a href="http://www.opengeodata.org/?cat=13">podcasty do posłuchania</a>!'
wiki_signup: 'Załóż sobie <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">konto na wiki projektu OpenStreetMap</a> jeśli chcesz.'
user_wiki_page: 'Najlepiej stwórz swoją stronę użytkownika na wiki zawierającą odpowiednie kategorie wskazujące twoją lokalizację, np. <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Warszawa">[[Category:Users_in_Warszawa]]</a>.'
current_user: 'Aktualne listy użytkowników według ich położenia na Ziemi znajdziesz na stronie <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
next_tooltip: "Editado posteriormente por {{user}}"
all:
prev_tooltip: "Conjunto de alterações anterior"
- next_tooltip: "Próximo conjunto de alteções"
+ next_tooltip: "Próximo conjunto de alterações"
changeset_details:
created_at: "Criado em:"
closed_at: "Fechado em:"
edited_at: "Editado em:"
edited_by: "Editado por:"
version: "Versão:"
- in_changeset: "No conjunto de modificações:"
+ in_changeset: "No conjunto de alterações:"
containing_relation:
entry: "Relação {{relation_name}}"
entry_role: "Relação {{relation_name}} (como {{relation_role}})"
osm_namefinder: '{{types}} de <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
geonames: 'Localização do <a href="http://www.geonames.org/">GeoNames</a>'
types:
- cities: Cidades
- towns: Cidades
- places: Lugares
+ cities: "Cidades"
+ towns: "Cidades"
+ places: "Lugares"
description_osm_namefinder:
prefix: "{{distance}} {{direction}} de {{type}} "
results:
layouts:
project_name:
# in <title>
- title: OpenStreetMap
+ title: "OpenStreetMap"
# in <h1>
- h1: OpenStreetMap
+ h1: "OpenStreetMap"
logo:
- alt_text: OpenStreetMap logo
+ alt_text: "OpenStreetMap logo"
welcome_user: "Bem vindo, {{user_link}}"
welcome_user_link_tooltip: "Sua Página de usuário"
home: "início"
user_diaries_tooltip: "Ver os diários dos usuários"
tag_line: "O Wiki de Mapas Livres"
intro_1: "OpenStreetMap é um mapa livre e editável do mundo. Ele é feito por pessoas como você."
- intro_2: "OpenStreetMap te permite ver, editar e usar dados geográficos de maneira colaborativa de qualquer lugar do mundo."
+ 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_3_ucl: "UCL VR Centre"
intro_3_bytemark: "bytemark"
news_blog_tooltip: "Blog de notícias sobre o OpenStreetMap, dados geográficos livres, etc."
shop: "Produtos"
shop_tooltip: "Compre produtos com a marca OpenStreetMap"
- shop_url: http://wiki.openstreetmap.org/wiki/Merchandise
+ shop_url: "http://wiki.openstreetmap.org/wiki/Merchandise"
sotm: 'Venha para a OpenStreetMap Conference 2009 (The State of the Map) de 10 a 12 de julho em Amsterdam!'
alt_donation: "Faça uma doação"
notifier:
video_to_openstreetmap: "vídeo introdutório ao OpenStreetMap"
more_videos: "Há também {{more_videos_link}}."
more_videos_here: "mais vídeos aqui"
- get_reading: 'Continue lendo sobre o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"> no wiki</p> ou <a href="http://www.opengeodata.org/">no blog OpenGeoData</a> que tem <a href="http://www.opengeodata.org/?cat=13">podcasts para baixar</a>!'
+ get_reading: 'Continue lendo sobre o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">no wiki</a> ou <a href="http://www.opengeodata.org/">no blog OpenGeoData</a> que tem <a href="http://www.opengeodata.org/?cat=13">podcasts para baixar</a>!'
wiki_signup: 'Você pode querer também <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page"> se registrar no wiki do OpenStreetMap</a>.'
user_wiki_page: 'É recomendável que você crie sua página no wiki, incluindo etiquetas sobre sua localização, como em <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Rio_de_Janeiro">[[Category:Users_in_Rio_de_Janeiro]]</a>.'
current_user: 'A lista de usuários, baseada em suas localizações no mundo, está disponível em <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Olá,"
hopefully_you: "Alguém (possivelmente você) pediu uma nova senha para a conta no openstreetmap.org ligada a este e-mail."
click_the_link: "Se esta pessoa é você, por favor clique no link abaixo para receber uma nova senha."
- reset_password:
- subject: "[OpenStreetMap] Nova senha"
- reset_password_plain:
- greeting: "Olá,"
- reset: "Sua nova senha é {{new_password}}"
- reset_password_html:
- greeting: "Olá,"
- reset: "Sua nova senha é {{new_password}}"
message:
inbox:
title: "Caixa de Entrada"
to: "Para"
back_to_outbox: "Voltar para a caixa de saída"
sent_message_summary:
- delete_button: "Delete"
+ delete_button: "Apagar"
mark:
as_read: "Mensagem marcada como lida"
as_unread: "Mensagem marcada como não lida"
js_2: "O OpenStreetMap usa javascript para a navegação dos mapas."
js_3: 'Você pode tentar o <a href="http://tah.openstreetmap.org/Browse/">navegador estático Tiles@Home</a> se não for possível ativar o javascript.'
permalink: "Link Permanente"
- shortlink: "Link Curto"
+ shortlink: "Atalho"
license:
notice: "Licenciado sob a {{license_name}} para o {{project_name}} e seus contribuidores."
license_name: "Creative Commons de Atribuição-Compartilhamento pela Mesma Licença 2.0"
search: "Buscar"
where_am_i: "Onde estou?"
submit_text: "Ir"
- search_help: "exemplos: 'Belo Horizonte', 'Av. Paulista, São Paulo', 'CB2 5AQ', or 'post offices near Porto Alegre' <a href='http://wiki.openstreetmap.org/wiki/Pt-br:Search'>mais exemplos...</a>"
+ search_help: "exemplos: 'Brasília', 'Av. Paulista, São Paulo', ou 'hospitals near Belo Horizonte' <a href='http://wiki.openstreetmap.org/wiki/Pt-br:Search'>mais exemplos...</a>"
key:
- map_key: "Map key"
- map_key_tooltip: "Map key para a renderização do mapnik neste nível de zoom"
+ map_key: "Legenda"
+ map_key_tooltip: "Legenda para o mapa renderizado neste nível de zoom"
table:
- heading: "Legenda para z{{zoom_level}}"
+ heading: "Legenda para o zoom nível {{zoom_level}}"
entry:
- motorway: "Motorway"
- trunk: "Trunk road"
- primary: "Primary road"
- secondary: "Secondary road"
- unclassified: "Unclassified road"
- unsurfaced: "Unsurfaced road"
- track: "Track"
- byway: "Byway"
- bridleway: "Bridleway"
- cycleway: "Cycleway"
- footway: "Footway"
- rail: "Railway"
- subway: "Subway"
+ motorway: "Rodovia expressa"
+ trunk: "Via Expressa"
+ primary: "Via Primária"
+ secondary: "Via Secundária"
+ unclassified: "Via Sem Classificação Administrativa"
+ unsurfaced: "Via Não Pavimentada"
+ track: "Trilha"
+ byway: "Trilha Larga"
+ bridleway: "Trilha de Montaria"
+ cycleway: "Ciclovia"
+ footway: "Passagem para Pedestres"
+ rail: "Trilhos"
+ subway: "Trilhos Subterrâneos"
tram:
- - Light rail
- - tram
+ - Trem metropolitano
+ - Trem de superfície (bonde)
cable:
- - Cable car
- - chair lift
+ - Veículo de cabos
+ - Elevador de Cadeiras
runway:
- - Airport Runway
- - taxiway
+ - Pista de aterrissagem
+ - Pista de manobras
apron:
- - Airport apron
- - terminal
- admin: "Administrative boundary"
- forest: "Forest"
- wood: "Wood"
- golf: "Golf course"
- park: "Park"
- resident: "Residential area"
- tourist: "Tourist attraction"
+ - Pista de estacionamento de aviões
+ - Aeroporto
+ admin: "Limite Administrativo"
+ forest: "Floresta"
+ wood: "Reserva Florestal"
+ golf: "Campo de Golf"
+ park: "Parque"
+ resident: "Área Residencial"
+ tourist: "Atração Turística"
common:
- - Common
- - meadow
- retail: "Retail area"
- industrial: "Industrial area"
- commercial: "Commercial area"
- heathland: "Heathland"
+ - Área pública
+ - Vegetação rasteira
+ retail: "Área Comercial (Lojas)"
+ industrial: "Área Industrial"
+ commercial: "Área Commercial (Escritórios)"
+ heathland: "Área Sem Vegetação"
lake:
- - Lake
- - reservoir
- farm: "Farm"
- brownfield: "Brownfield site"
- cemetery: "Cemetery"
- allotments: "Allotments"
- pitch: "Sports pitch"
- centre: "Sports centre"
- reserve: "Nature reserve"
- military: "Military area"
- school: "School; university"
- building: "Significant building"
- station: "Railway station"
+ - Lago
+ - Represa ou Reservatório de Água
+ farm: "Fazenda"
+ brownfield: "Área Livre Pós Demolição"
+ cemetery: "Cemitério"
+ allotments: "Terra Arrendada"
+ pitch: "Campo para Prática de Esportes"
+ centre: "Centro de Esportes/Ginásio"
+ reserve: "Reserva Natural"
+ military: "Área Militar"
+ school: "Escola/Universidade"
+ building: "Edificação"
+ station: "Estação de Trem/Metrô"
summit:
- - Summit
- - peak
- tunnel: "Dashed casing = tunnel"
- bridge: "Black casing = bridge"
- private: "Private access"
- permissive: "Permissive access"
- destination: "Destination access"
- construction: "Roads under construction"
+ - Monte
+ - Pico
+ tunnel: "Túnel (Envoltória Tracejada)"
+ bridge: "Ponte/Viaduto (Envoltória Sólida)"
+ private: "Acesso Restrito (Propriedade Privada)"
+ permissive: "Acesso Permissivo"
+ destination: "Acesso Local Apenas"
+ construction: "Vias em Construção"
trace:
create:
upload: "Enviar Trilha GPS"
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
- reset_password:
- subject: "[OpenStreetMap] Password reset"
- reset_password_plain:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
- reset_password_html:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "Inbox"
video_to_openstreetmap: "ознакомительное видео об OpenStreetMap"
more_videos: "Посмотрите {{more_videos_link}}."
more_videos_here: "больше видео здесь"
- get_reading: 'Узнайте больше об OpenStreetMap в <a href="http://wiki.openstreetmap.org/wiki/Ru:Beginners_Guide">Вики</p> или на <a href="http://www.opengeodata.org/">блоге OpenGeoData</a>, в котором еще можно послушать <a href="http://www.opengeodata.org/?cat=13">подкасты</a>!'
+ get_reading: 'Узнайте больше об OpenStreetMap в <a href="http://wiki.openstreetmap.org/wiki/Ru:Beginners_Guide">Вики</a> или на <a href="http://www.opengeodata.org/">блоге OpenGeoData</a>, в котором еще можно послушать <a href="http://www.opengeodata.org/?cat=13">подкасты</a>!'
wiki_signup: 'Вы можете <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Ru:Main_Page">зарегистрироваться на Вики OpenStreetMap</a>.'
user_wiki_page: 'Рекомендуется создать свою страницу пользователя, включив в неё тег категории, описывающий ваше местонахождение, например: <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Moscow">[[Category:Users_in_Moscow]]</a>.'
current_user: 'Список пользователей, основанный на их местоположении, доступен здесь: <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
video_to_openstreetmap: "uvodni video posnetek o OpenStreetMap"
more_videos: "Ogledate si lahko {{more_videos_link}}."
more_videos_here: "še več video posnetkov"
- get_reading: 'Preberite si več o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">v wiki-ju</p> ali <a href="http://www.opengeodata.org/">na opengeodata blog-u</a> ki vsebuje tudi <a href="http://www.opengeodata.org/?cat=13">zvočne podcast-e</a>!'
+ get_reading: 'Preberite si več o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">v wiki-ju</a> ali <a href="http://www.opengeodata.org/">na opengeodata blog-u</a> ki vsebuje tudi <a href="http://www.opengeodata.org/?cat=13">zvočne podcast-e</a>!'
wiki_signup: 'Lahko se <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">vpišete tudi na wiki projekta OpenStreetMap</a>.'
user_wiki_page: 'Priporočljivo je, da si naredite svojo uporabniško wiki stran, ki naj vsebuje oznako kategorije, ki določa vaš položaj, npr <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Slovenia">[[Category:Users_in_Slovenia]]</a>.'
current_user: 'Seznam trenutnih uporabnikov po kategorijah glede na njihov geografski položaj je na voljo v kategoriji <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Pozdravljeni,"
hopefully_you: "Nekdo (upamo, da vi) je zahteval ponastavitev gesla openstreetmap.org uporabniškega računa s tem naslovom e-pošte."
click_the_link: "Če ste to vi, vas prosimo, da kliknete na spodnjo povezavo za ponastavitev gesla."
- reset_password:
- subject: "[OpenStreetMap] Ponastavitev gesla"
- reset_password_plain:
- greeting: "Pozdravljeni,"
- reset: "Vaše geslo je bilo nastavljeno na {{new_password}}"
- reset_password_html:
- greeting: "Pozdravljeni,"
- reset: "Vaše geslo je bilo nastavljeno na {{new_password}}"
message:
inbox:
title: "Prejeta pošta"
video_to_openstreetmap: "video giới thiệu về OpenStreetMap"
more_videos: "Cũng có {{more_videos_link}}."
more_videos_here: "thêm video tại đây"
- get_reading: 'Bắt đầu tìm hiểu về OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Vi:Beginners%27_Guide?uselang=vi">tại wiki</p> hoặc <a href="http://www.opengeodata.org/">blog OpenGeoData</a>, blog này cũng chứa <a href="http://www.opengeodata.org/?cat=13">podcast để nghe</a>!'
+ get_reading: 'Bắt đầu tìm hiểu về OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Vi:Beginners%27_Guide?uselang=vi">tại wiki</a> hoặc <a href="http://www.opengeodata.org/">blog OpenGeoData</a>, blog này cũng chứa <a href="http://www.opengeodata.org/?cat=13">podcast để nghe</a>!'
wiki_signup: 'Có lẽ bạn cũng muốn <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Vi:Main_Page&uselang=vi">mở tài khoản ở wiki OpenStreetMap</a>.'
user_wiki_page: 'Bạn nên tạo ra trang cá nhân trên wiki và gắn các thẻ thể loại để cho người ta biết bạn ở đâu, thí dụ như <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Hanoi?uselang=vi">[[Category:Users in Hanoi]]</a>.'
current_user: 'Có danh sách các người dùng, xếp thể loại theo nơi ở, tại <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region?uselang=vi">Category:Users by geographical region</a>.'
greeting: "Chào bạn,"
hopefully_you: "Ai (chắc bạn) đã xin đặt lại mật khẩu của tài khoản openstreetmap.org có địa chỉ thư điện tử này."
click_the_link: "Nếu bạn là người đó, xin hãy nhấn chuột vào liên kết ở dưới để đặt lại mật khẩu."
- reset_password:
- subject: "[OpenStreetMap] Đã đặt lại mật khẩu"
- reset_password_plain:
- greeting: "Chào bạn,"
- reset: "Mật khẩu của bạn đã được đặt lại thành {{new_password}}"
- reset_password_html:
- greeting: "Chào bạn,"
- reset: "Mật khẩu của bạn đã được đặt lại thành {{new_password}}"
message:
inbox:
title: "Hộp thư"
video_to_openstreetmap: "introductory video to OpenStreetMap"
more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+ get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
- reset_password:
- subject: "[OpenStreetMap] Password reset"
- reset_password_plain:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
- reset_password_html:
- greeting: "Hi,"
- reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "Inbox"
video_to_openstreetmap: "关于OpenStreetMap的介绍影片"
more_videos: "这里{{more_videos_link}}."
more_videos_here: "有更多的影片"
- get_reading: '开始阅读在wiki上关于OpenStreetMap的信息 <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"></p> 或 <a href="http://www.opengeodata.org/">在 opengeodata blog</a> 上也有<a href="http://www.opengeodata.org/?cat=13">podcasts 可以倾听</a>!'
+ get_reading: '开始阅读在wiki上关于OpenStreetMap的信息 <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"></a> 或 <a href="http://www.opengeodata.org/">在 opengeodata blog</a> 上也有<a href="http://www.opengeodata.org/?cat=13">podcasts 可以倾听</a>!'
wiki_signup: '您可能也想要 <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">注册到 OpenStreetMap wiki</a>.'
user_wiki_page: '推荐您创立一个用户wiki网页,它包括分类标签,用来提醒您所在位置,例如 <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: '一个基于其所处位置的,当前用户分类列表可从这里获得<a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
video_to_openstreetmap: "觀看 OpenStreetMap 的導覽影片"
more_videos: "這裡還有更多 {{more_videos_link}}。"
more_videos_here: "影片"
- get_reading: '在 wiki 中閱讀更多 <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"></p> 或 <a href="http://www.opengeodata.org/">opengeodata 部落格,</a> 其中也有 <a href="http://www.opengeodata.org/?cat=13">podcasts 可以聽</a>!'
+ get_reading: '在 wiki 中閱讀更多 <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"></a> 或 <a href="http://www.opengeodata.org/">opengeodata 部落格,</a> 其中也有 <a href="http://www.opengeodata.org/?cat=13">podcasts 可以聽</a>!'
wiki_signup: '您可能也想在 <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page"> OpenStreetMap wiki 註冊</a>。'
user_wiki_page: '建議您建立一個使用者 wiki 頁面,其中包含註記您住哪裡的分類標籤,如 <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>。'
current_user: '一份目前使用者的清單,以他們在世界上何處為基礎的分類,可在這裡取得:<a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>。'
greeting: "您好,"
hopefully_you: "有人 (希望是您) 要求重設這個電子郵件位址的 openstreetmap.org 帳號密碼。"
click_the_link: "如果這是您,請按下列連結重設您的密碼。"
- reset_password:
- subject: "[OpenStreetMap] 密碼重設"
- reset_password_plain:
- greeting: "您好,"
- reset: "您的密碼已重設為 {{new_password}}"
- reset_password_html:
- greeting: "您好,"
- reset: "您的密碼已重設為 {{new_password}}"
message:
inbox:
title: "收件匣"
primary 0xE46D71 1 -
primary_link 0xE46D71 1 -
secondary 0xFDBF6F 1 -
+secondary_link 0xFDBF6F 1 -
tertiary 0xFEFECB 1 -
+tertiary_link 0xFEFECB 1 -
unclassified 0xE8E8E8 1 -
residential 0xE8E8E8 1 -
road 0xAAAAAA 1 -
coastline: natural=coastline,landuse=,leisure=
fell: natural=fell,landuse=,leisure=
heath: natural=heath,landuse=,leisure=
-lake: natural=water,landuse=,leisure=
forest: landuse=forest,natural=,leisure=
marsh: natural=marsh,landuse=,leisure=
nature reserve: leisure=nature_reserve,landuse=,natural=
scree: natural=scree,landuse=,leisure=
+water: natural=water,landuse=,leisure=
woodland: natural=wood,landuse=,leisure=
way/landuse
+require 'lib/migrate'
+
class SqlSessionStoreSetup < ActiveRecord::Migration
def self.up
create_table "sessions", :options => innodb_option do |t|
+require 'lib/migrate'
+
class UserEnhancements < ActiveRecord::Migration
def self.up
add_column "diary_entries", "latitude", :double
+require 'lib/migrate'
+
class AddRelations < ActiveRecord::Migration
def self.up
+ # enums work like strings but are more efficient
+ create_enumeration :nwr_enum, ["Node", "Way", "Relation"]
+
# a relation can have members much like a way can have nodes.
# differences:
# way: only nodes / relation: any kind of member
# way: ordered sequence of nodes / relation: free-form "role" string
create_table "current_relation_members", innodb_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
- t.column "member_type", :string, :limit => 11, :null => false
- t.column "member_id", :bigint, :limit => 11, :null => false
+ t.column "id", :bigint, :limit => 64, :null => false
+ t.column "member_type", :nwr_enum, :null => false
+ t.column "member_id", :bigint, :limit => 11, :null => false
t.column "member_role", :string
end
- # enums work like strings but are more efficient
- alter_column_nwr_enum :current_relation_members, :member_type
add_primary_key "current_relation_members", ["id", "member_type", "member_id", "member_role"]
add_index "current_relation_members", ["member_type", "member_id"], :name => "current_relation_members_member_idx"
end
create_table "relation_members", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :default => 0, :null => false
- t.column "member_type", :string, :limit => 11, :null => false
- t.column "member_id", :bigint, :limit => 11, :null => false
+ t.column "id", :bigint, :limit => 64, :default => 0, :null => false
+ t.column "member_type", :nwr_enum, :null => false
+ t.column "member_id", :bigint, :limit => 11, :null => false
t.column "member_role", :string
- t.column "version", :bigint, :limit => 20, :default => 0, :null => false
+ t.column "version", :bigint, :limit => 20, :default => 0, :null => false
end
- alter_column_nwr_enum :relation_members, :member_type
add_primary_key "relation_members", ["id", "version", "member_type", "member_id", "member_role"]
add_index "relation_members", ["member_type", "member_id"], :name => "relation_members_member_idx"
drop_table :current_relation_tags
drop_table :relation_members
drop_table :current_relation_members
+ drop_enumeration :nwr_enum
end
end
+require 'lib/migrate'
+
class DiaryComments < ActiveRecord::Migration
def self.up
create_table "diary_comments", myisam_table do |t|
+require 'lib/migrate'
+
class CreateAcls < ActiveRecord::Migration
def self.up
create_table "acls", myisam_table do |t|
+require 'lib/migrate'
+
class PopulateNodeTagsAndRemove < ActiveRecord::Migration
def self.up
have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i != 0
+require 'lib/migrate'
+
class MoveToInnodb < ActiveRecord::Migration
@@conv_tables = ['nodes', 'ways', 'way_tags', 'way_nodes',
'current_way_tags', 'relation_members',
+require 'lib/migrate'
+
class OrderRelationMembers < ActiveRecord::Migration
def self.up
# add sequence column. rails won't let us define an ordering here,
+require 'lib/migrate'
+
class AddEndTimeToChangesets < ActiveRecord::Migration
def self.up
# swap the boolean closed-or-not for a time when the changeset will
types[:bigint_auto_20] = { :name => "bigint(20) DEFAULT NULL auto_increment" }
types[:four_byte_unsigned] = { :name=> "integer unsigned" }
types[:inet] = { :name=> "integer unsigned" }
+
+ enumerations.each do |e,v|
+ types[e.to_sym]= { :name => "enum('#{v.join '\',\''}')" }
+ end
+
types
end
execute "CREATE FULLTEXT INDEX `#{table_name}_#{column}_idx` ON `#{table_name}` (`#{column}`)"
end
- def alter_column_nwr_enum (table_name, column)
- execute "alter table #{table_name} change column #{column} #{column} enum('Node','Way','Relation');"
+ def enumerations
+ @enumerations ||= Hash.new
+ end
+
+ def create_enumeration (enumeration_name, values)
+ enumerations[enumeration_name] = values
+ end
+
+ def drop_enumeration (enumeration_name)
+ enumerations.delete(enumeration_name)
end
def alter_primary_key(table_name, new_columns)
types[:bigint_auto_20] = { :name => "bigint" } #fixme: need autoincrement?
types[:four_byte_unsigned] = { :name => "bigint" } # meh
types[:inet] = { :name=> "inet" }
+
+ enumerations.each_key do |e|
+ types[e.to_sym]= { :name => e }
+ end
+
types
end
execute "CREATE INDEX #{table_name}_#{column}_idx on #{table_name} (#{column})"
end
- def alter_column_nwr_enum (table_name, column)
- response = select_one("select count(*) as count from pg_type where typname = 'nwr_enum'")
- if response['count'] == "0" #yep, as a string
- execute "create type nwr_enum as ENUM ('Node', 'Way', 'Relation')"
- end
- execute "alter table #{table_name} drop #{column}"
- execute "alter table #{table_name} add #{column} nwr_enum"
+ def enumerations
+ @enumerations ||= Hash.new
+ end
+
+ def create_enumeration (enumeration_name, values)
+ enumerations[enumeration_name] = values
+ execute "create type #{enumeration_name} as enum ('#{values.join '\',\''}')"
+ end
+
+ def drop_enumeration (enumeration_name)
+ execute "drop type #{enumeration_name}"
+ enumerations.delete(enumeration_name)
end
def alter_primary_key(table_name, new_columns)
delete :delete, :id => current_nodes(:visible_node).id
assert_response :conflict
+ # try to delete a node with a different ID
+ content(nodes(:public_visible_node).to_xml)
+ delete :delete, :id => current_nodes(:visible_node).id
+ assert_response :bad_request,
+ "should not be able to delete a node with a different ID from the XML"
+
# valid delete now takes a payload
content(nodes(:public_visible_node).to_xml)
delete :delete, :id => current_nodes(:public_visible_node).id
content current_nodes(:visible_node).to_xml
put :update, :id => current_nodes(:visible_node).id
assert_require_public_data "should have failed with a forbidden when data isn't public"
-
-
-
## Finally test with the public user
assert_response :conflict,
"should not be able to put 'p1r4at3s!' in the version field"
+ ## try an update with the wrong ID
+ content current_nodes(:public_visible_node).to_xml
+ put :update, :id => current_nodes(:visible_node).id
+ assert_response :bad_request,
+ "should not be able to update a node with a different ID from the XML"
+
## finally, produce a good request which should work
content current_nodes(:public_visible_node).to_xml
put :update, :id => current_nodes(:public_visible_node).id