Potlatch 1.0
authorRichard Fairhurst <richard@systemed.net>
Thu, 21 May 2009 00:30:33 +0000 (00:30 +0000)
committerRichard Fairhurst <richard@systemed.net>
Thu, 21 May 2009 00:30:33 +0000 (00:30 +0000)
24 files changed:
app/controllers/amf_controller.rb
config/potlatch/localised/cz/localised.yaml [new file with mode: 0755]
config/potlatch/localised/da/localised.yaml [new file with mode: 0755]
config/potlatch/localised/de/localised.yaml [new file with mode: 0755]
config/potlatch/localised/en/help.html [new file with mode: 0755]
config/potlatch/localised/es/localised.yaml [new file with mode: 0755]
config/potlatch/localised/fi/localised.yaml [new file with mode: 0755]
config/potlatch/localised/fr/localised.yaml [new file with mode: 0755]
config/potlatch/localised/hu/localised.yaml [new file with mode: 0755]
config/potlatch/localised/it/localised.yaml [new file with mode: 0755]
config/potlatch/localised/ja/localised.yaml [new file with mode: 0755]
config/potlatch/localised/ko/localised.yaml [new file with mode: 0755]
config/potlatch/localised/lolcat/localised.yaml [new file with mode: 0755]
config/potlatch/localised/nl/localised.yaml [new file with mode: 0755]
config/potlatch/localised/no/localised.yaml [new file with mode: 0755]
config/potlatch/localised/pt-BR/localised.yaml [new file with mode: 0755]
config/potlatch/localised/ro/localised.yaml [new file with mode: 0755]
config/potlatch/localised/ru/localised.yaml [new file with mode: 0755]
config/potlatch/localised/sv/localised.yaml [new file with mode: 0755]
config/potlatch/localised/zh-HANS/localised.yaml [new file with mode: 0755]
lib/osm.rb
lib/potlatch.rb
public/potlatch/help.css [new file with mode: 0644]
public/potlatch/potlatch.swf

index f117007..18ecb13 100644 (file)
 # == Debugging
 # 
 # Any method that returns a status code (0 for ok) can also send:
-#      return(-1,"message")            <-- just puts up a dialogue
-#      return(-2,"message")            <-- also asks the user to e-mail me
-#   return(-3,'type',id)        <-- version conflict
+#      return(-1,"message")            <-- just puts up a dialogue
+#      return(-2,"message")            <-- also asks the user to e-mail me
+# return(-3,["type",v],id)    <-- version conflict
+# return(-4,"type",id)        <-- object not found
+# -5 indicates the method wasn't called (due to a previous error)
 # 
 # To write to the Rails log, use logger.info("message").
 
@@ -76,18 +78,17 @@ class AmfController < ApplicationController
         logger.info("Executing AMF #{message}(#{args.join(',')}):#{index}")
 
         case message
-          when 'getpresets';           results[index]=AMF.putdata(index,getpresets())
-          when 'whichways';            results[index]=AMF.putdata(index,whichways(*args))
+          when 'getpresets';             results[index]=AMF.putdata(index,getpresets(args[0]))
+          when 'whichways';                results[index]=AMF.putdata(index,whichways(*args))
           when 'whichways_deleted';    results[index]=AMF.putdata(index,whichways_deleted(*args))
-          when 'getway';               r=AMF.putdata(index,getway(args[0].to_i))
-                                        results[index]=r
-          when 'getrelation';          results[index]=AMF.putdata(index,getrelation(args[0].to_i))
-          when 'getway_old';           results[index]=AMF.putdata(index,getway_old(args[0].to_i,args[1]))
+          when 'getway';                 results[index]=AMF.putdata(index,getway(args[0].to_i))
+          when 'getrelation';            results[index]=AMF.putdata(index,getrelation(args[0].to_i))
+          when 'getway_old';             results[index]=AMF.putdata(index,getway_old(args[0].to_i,args[1]))
           when 'getway_history';       results[index]=AMF.putdata(index,getway_history(args[0].to_i))
           when 'getnode_history';      results[index]=AMF.putdata(index,getnode_history(args[0].to_i))
-          when 'findgpx';              results[index]=AMF.putdata(index,findgpx(*args))
+          when 'findgpx';                    results[index]=AMF.putdata(index,findgpx(*args))
           when 'findrelations';                results[index]=AMF.putdata(index,findrelations(*args))
-          when 'getpoi';               results[index]=AMF.putdata(index,getpoi(*args))
+          when 'getpoi';                     results[index]=AMF.putdata(index,getpoi(*args))
         end
       end
       logger.info("Encoding AMF results")
@@ -102,36 +103,42 @@ class AmfController < ApplicationController
       req=StringIO.new(request.raw_post+0.chr)
       req.read(2)
       results={}
-      renumberednodes={}                               # Shared across repeated putways
-      renumberedways={}                                        # Shared across repeated putways
-
-      headers=AMF.getint(req)                          # Read number of headers
-      headers.times do                                 # Read each header
-        name=AMF.getstring(req)                                #  |
-        req.getc                                       #  | skip boolean
-        value=AMF.getvalue(req)                                #  |
-        header["name"]=value                           #  |
+      renumberednodes={}                               # Shared across repeated putways
+      renumberedways={}                                        # Shared across repeated putways
+
+      headers=AMF.getint(req)          # Read number of headers
+      headers.times do                                 # Read each header
+        name=AMF.getstring(req)            #  |
+        req.getc                                             #  | skip boolean
+        value=AMF.getvalue(req)        #  |
+        header["name"]=value           #  |
       end
 
-      bodies=AMF.getint(req)                           # Read number of bodies
-      bodies.times do                                  # Read each body
-        message=AMF.getstring(req)                     #  | get message name
-        index=AMF.getstring(req)                       #  | get index in response sequence
-        bytes=AMF.getlong(req)                         #  | get total size in bytes
-        args=AMF.getvalue(req)                         #  | get response (probably an array)
+      bodies=AMF.getint(req)           # Read number of bodies
+      bodies.times do                                        # Read each body
+        message=AMF.getstring(req)     #  | get message name
+        index=AMF.getstring(req)               #  | get index in response sequence
+        bytes=AMF.getlong(req)                 #  | get total size in bytes
+        args=AMF.getvalue(req)                 #  | get response (probably an array)
+        err=false                   # Abort batch on error
 
         logger.info("Executing AMF #{message}:#{index}")
-        case message
-          when 'putway';                       r=putway(renumberednodes,*args)
-                                               renumberednodes=r[3]
-                                               if r[1] != r[2] then renumberedways[r[1]] = r[2] end
-                                               results[index]=AMF.putdata(index,r)
-          when 'putrelation';                  results[index]=AMF.putdata(index,putrelation(renumberednodes, renumberedways, *args))
-          when 'deleteway';                    results[index]=AMF.putdata(index,deleteway(*args))
-          when 'putpoi';                       r=putpoi(*args)
-                                               if r[1] != r[2] then renumberednodes[r[1]] = r[2] end
-                                               results[index]=AMF.putdata(index,r)
-          when 'startchangeset';               results[index]=AMF.putdata(index,startchangeset(*args))
+        if err
+          results[index]=[-5,nil]
+        else
+          case message
+            when 'putway';                       r=putway(renumberednodes,*args)
+                                                               renumberednodes=r[4]
+                                                               if r[2] != r[3] then renumberedways[r[2]] = r[3] end
+                                                               results[index]=AMF.putdata(index,r)
+            when 'putrelation';                results[index]=AMF.putdata(index,putrelation(renumberednodes, renumberedways, *args))
+            when 'deleteway';                  results[index]=AMF.putdata(index,deleteway(*args))
+            when 'putpoi';                       r=putpoi(*args)
+                                                               if r[2] != r[3] then renumberednodes[r[2]] = r[3] end
+                                                       results[index]=AMF.putdata(index,r)
+            when 'startchangeset';results[index]=AMF.putdata(index,startchangeset(*args))
+          end
+          if results[index][0]==-3 then err=true end  # If a conflict is detected, don't execute any more writes
         end
       end
       logger.info("Encoding AMF results")
@@ -144,8 +151,9 @@ class AmfController < ApplicationController
   private
 
   # Start new changeset
+  # Returns success_code,success_message,changeset id
   
-  def startchangeset(usertoken, cstags, closeid, closecomment)
+  def startchangeset(usertoken, cstags, closeid, closecomment, opennew)
     user = getuser(usertoken)
     if !user then return -1,"You are not logged in, so Potlatch can't write any changes to the database." end
 
@@ -154,7 +162,7 @@ class AmfController < ApplicationController
       cs = Changeset.find(closeid)
       cs.set_closed_time_now
       if cs.user_id!=user.id
-        return -2,"You cannot close that changeset because you're not the person who opened it."
+        return -2,"You cannot close that changeset because you're not the person who opened it.",nil
       elsif closecomment.empty?
         cs.save!
       else
@@ -164,21 +172,38 @@ class AmfController < ApplicationController
     end
        
     # open a new changeset
-    cs = Changeset.new
-    cs.tags = cstags
-    cs.user_id = user.id
-    # smsm1 doesn't like the next two lines and thinks they need to be abstracted to the model more/better
-    cs.created_at = Time.now.getutc
-    cs.closed_at = cs.created_at + Changeset::IDLE_TIMEOUT
-    cs.save_with_tags!
-    return [0,cs.id]
+    if opennew!=0
+      cs = Changeset.new
+      cs.tags = cstags
+      cs.user_id = user.id
+      # smsm1 doesn't like the next two lines and thinks they need to be abstracted to the model more/better
+      cs.created_at = Time.now.getutc
+      cs.closed_at = cs.created_at + Changeset::IDLE_TIMEOUT
+      cs.save_with_tags!
+      return [0,'',cs.id]
+    else
+      return [0,'',nil]
+    end
   end
 
   # Return presets (default tags, localisation etc.):
   # uses POTLATCH_PRESETS global, set up in OSM::Potlatch.
 
-  def getpresets() #:doc:
-    return POTLATCH_PRESETS
+  def getpresets(lang) #:doc:
+       lang.gsub!(/[^\w\-]/,'')
+
+    begin
+      localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/localised.yaml"))
+    rescue
+      localised = "" # guess we'll just have to use the hardcoded English text instead
+       end
+
+    begin
+      help = File.read("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/help.html")
+    rescue
+      help = File.read("#{RAILS_ROOT}/config/potlatch/localised/en/help.html")
+    end
+    return POTLATCH_PRESETS+[localised,help]
   end
 
   ##
@@ -187,7 +212,7 @@ class AmfController < ApplicationController
   # are IDs only. 
   #
   # return is of the form: 
-  # [error_code, 
+  # [success_code, success_message,
   #  [[way_id, way_version], ...],
   #  [[node_id, lat, lon, [tags, ...], node_version], ...],
   #  [[rel_id, rel_version], ...]]
@@ -227,12 +252,12 @@ class AmfController < ApplicationController
       relations = relations.collect { |relation| [relation.id,relation.version] }.uniq
     end
 
-    [0, ways, points, relations]
+    [0, '', ways, points, relations]
 
   rescue OSM::APITimeoutError => err
-    [-1,"Sorry - I can't get the map for that area. The server said: #{err}"]
+    [-1,"Sorry, I can't get the map for that area - try zooming in further. The server said: #{err}"]
   rescue Exception => err
-    [-2,"Sorry - I can't get the map for that area. The server said: #{err}"]
+    [-2,"Sorry - I can't get the map for that area. The server said: #{err}",[],[],[] ]
   end
 
   # Find deleted ways in current bounding box (similar to whichways, but ways
@@ -248,13 +273,13 @@ class AmfController < ApplicationController
     begin
       check_boundaries(xmin, ymin, xmax, ymax)
     rescue Exception => err
-      return [-2,"Sorry - I can't get the map for that area. The server said: #{err}"]
+      return [-2,"Sorry - I can't get the map for that area. The server said: #{err}",[]]
     end
 
     nodes_in_area = Node.find_by_area(ymin, xmin, ymax, xmax, :conditions => ["current_ways.visible = ?", false], :include => :ways_via_history)
     way_ids = nodes_in_area.collect { |node| node.ways_via_history_ids }.flatten.uniq
 
-    [0,way_ids]
+    [0,'',way_ids]
   end
 
   # Get a way including nodes and tags.
@@ -272,11 +297,11 @@ class AmfController < ApplicationController
         begin
           way = Way.find(wayid, :include => { :nodes => :node_tags })
         rescue ActiveRecord::RecordNotFound
-          return [wayid,[],{}]
+          return [-4, 'way', wayid, [], {}, nil]
         end
 
         # check case where way has been deleted or doesn't exist
-        return [wayid,[],{}] if way.nil? or !way.visible
+        return [-4, 'way', wayid, [], {}, nil] if way.nil? or !way.visible
 
         points = way.nodes.collect do |node|
         nodetags=node.tags
@@ -287,7 +312,7 @@ class AmfController < ApplicationController
       version = way.version
     end
 
-    [wayid, points, tags, version]
+    [0, '', wayid, points, tags, version]
   end
   
   # Get an old version of a way, and all constituent nodes.
@@ -318,22 +343,21 @@ 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."]
+            return [-1, "Sorry, the way was deleted at that time - please revert to a previous version.", id, [], {}, nil, false]
           end
         end
       rescue ArgumentError
         # thrown by date parsing method. leave old_way as nil for
-        # the superb error handler below.
+        # the error handler below.
       end
     end
 
     if old_way.nil?
-      # *** FIXME: shouldn't this be returning an error?
-      return [-1, id, [], {}, -1,0]
+      return [-1, "Sorry, the server could not find a way at that time.", id, [], {}, nil, false]
     else
       curway=Way.find(id)
       old_way.tags['history'] = "Retrieved from v#{old_way.version}"
-      return [0, id, points, old_way.tags, curway.version, (curway.version==old_way.version and curway.visible)]
+      return [0, '', id, points, old_way.tags, curway.version, (curway.version==old_way.version and curway.visible)]
     end
   end
   
@@ -375,7 +399,7 @@ class AmfController < ApplicationController
       # Collect all in one nested array
       revdates.collect! {|d| [d.strftime("%d %b %Y, %H:%M:%S")] + revusers[d.to_i] }
 
-      return ['way',wayid,revdates]
+      return ['way', wayid, revdates]
     rescue ActiveRecord::RecordNotFound
       return ['way', wayid, []]
     end
@@ -406,7 +430,7 @@ class AmfController < ApplicationController
   
   def findgpx(searchterm, usertoken)
     user = getuser(usertoken)
-    if !uid then return -1,"You must be logged in to search for GPX traces." end
+    if !uid then return -1,"You must be logged in to search for GPX traces.",[] end
 
     gpxs = []
     if searchterm.to_i>0 then
@@ -419,7 +443,7 @@ class AmfController < ApplicationController
       gpxs.push([gpx.id, gpx.name, gpx.description])
          end
        end
-    gpxs
+    [0,'',gpxs]
   end
 
   # Get a relation with all tags and members.
@@ -433,11 +457,11 @@ class AmfController < ApplicationController
     begin
       rel = Relation.find(relid)
     rescue ActiveRecord::RecordNotFound
-      return [relid, {}, []]
+      return [-4, 'relation', relid, {}, [], nil]
     end
 
-    return [relid, {}, [], nil] if rel.nil? or !rel.visible
-    [relid, rel.tags, rel.members, rel.version]
+    return [-4, 'relation', relid, {}, [], nil] if rel.nil? or !rel.visible
+    [0, '', relid, rel.tags, rel.members, rel.version]
   end
 
   # Find relations with specified name/id.
@@ -519,19 +543,20 @@ class AmfController < ApplicationController
     end # transaction
       
     if relid <= 0
-      return [0, relid, new_relation.id, new_relation.version]
+      return [0, '', relid, new_relation.id, new_relation.version]
     else
-      return [0, relid, relid, relation.version]
+      return [0, '', relid, relid, relation.version]
     end
   rescue OSM::APIChangesetAlreadyClosedError => ex
-    return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}."]
+    return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}.", relid, relid, nil]
   rescue OSM::APIVersionMismatchError => ex
-    return [-3, "Sorry, someone else has changed this relation since you started editing. Please click the 'Edit' tab to reload the area. The server said: #{ex}"]
+    a=ex.to_s.match(/(\d+) of (\w+) (\d+)$/)
+    return [-3, ['relation', a[1]], relid, relid, nil]
   rescue OSM::APIAlreadyDeletedError => ex
-    return [-1, "The relation has already been deleted."]
+    return [-1, "The relation has already been deleted.", relid, relid, nil]
   rescue OSM::APIError => ex
     # Some error that we don't specifically catch
-    return [-2, "An unusual error happened (in 'putrelation' #{relid}). The server said: #{ex}"]
+    return [-2, "An unusual error happened (in 'putrelation' #{relid}). The server said: #{ex}", relid, relid, nil]
   end
 
   # Save a way to the database, including all nodes. Any nodes in the previous
@@ -565,7 +590,9 @@ class AmfController < ApplicationController
     if pointlist.length < 2 then return -2,"Server error - way is only #{points.length} points long." end
 
     originalway = originalway.to_i
+logger.info("received #{pointlist} for #{originalway}")
        pointlist.collect! {|a| a.to_i }
+logger.info("converted to #{pointlist}")
 
     way=nil    # this is returned, so scope it outside the transaction
     nodeversions = {}
@@ -605,9 +632,11 @@ class AmfController < ApplicationController
 
       # -- Save revised way
 
-           pointlist.collect! {|a|
-                   renumberednodes[a] ? renumberednodes[a]:a
-           } # renumber nodes
+logger.info("renumberednodes is #{renumberednodes.inspect}")
+         pointlist.collect! {|a|
+             renumberednodes[a] ? renumberednodes[a]:a
+         } # renumber nodes
+logger.info("saving with #{pointlist}")
       new_way = Way.new
       new_way.tags = attributes
       new_way.nds = pointlist
@@ -620,7 +649,7 @@ class AmfController < ApplicationController
              way = Way.find(originalway)
                  if way.tags!=attributes or way.nds!=pointlist or !way.visible?
                    new_way.id=originalway
-           way.update_from(new_way, user)
+          way.update_from(new_way, user)
         end
       end
 
@@ -642,18 +671,19 @@ class AmfController < ApplicationController
 
     end # transaction
 
-    [0, originalway, way.id, renumberednodes, way.version, nodeversions, deletednodes]
+    [0, '', originalway, way.id, renumberednodes, way.version, nodeversions, deletednodes]
   rescue OSM::APIChangesetAlreadyClosedError => ex
-    return [-2, "Sorry, your changeset #{ex.changeset.id} has been closed (at #{ex.changeset.closed_at})."]
+    return [-1, "Sorry, your changeset #{ex.changeset.id} was closed (at #{ex.changeset.closed_at}).", originalway, originalway, renumberednodes, wayversion, nodeversions, deletednodes]
   rescue OSM::APIVersionMismatchError => ex
-    return [-3, "Sorry, someone else has changed this way since you started editing. Click the 'Edit' tab to reload the area. The server said: #{ex}"]
+    a=ex.to_s.match(/(\d+) of (\w+) (\d+)$/)
+    return [-3, ['way', a[1], a[2].downcase, a[3]], originalway, originalway, renumberednodes, wayversion, nodeversions, deletednodes]
   rescue OSM::APITooManyWayNodesError => ex
-    return [-1, "You have tried to upload a really long way with #{ex.provided} points: only #{ex.max} are allowed."]
+    return [-1, "You have tried to upload a really long way with #{ex.provided} points: only #{ex.max} are allowed.", originalway, originalway, renumberednodes, wayversion, nodeversions, deletednodes]
   rescue OSM::APIAlreadyDeletedError => ex
-    return [-1, "The point has already been deleted."]
+    return [-1, "The point has already been deleted.", originalway, originalway, renumberednodes, wayversion, nodeversions, deletednodes]
   rescue OSM::APIError => ex
     # Some error that we don't specifically catch
-    return [-2, "An unusual error happened (in 'putway' #{originalway}). The server said: #{ex}"]
+    return [-2, "An unusual error happened (in 'putway' #{originalway}). The server said: #{ex}", originalway, originalway, renumberednodes, wayversion, nodeversions, deletednodes]
   end
 
   # Save POI to the database.
@@ -677,7 +707,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." end
+          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
         end
       end
       # We always need a new node, based on the data that has been sent to us
@@ -704,19 +734,20 @@ class AmfController < ApplicationController
     end # transaction
 
     if id <= 0
-      return [0, id, new_node.id, new_node.version]
+      return [0, '', id, new_node.id, new_node.version]
     else
-      return [0, id, node.id, node.version]
+      return [0, '', id, node.id, node.version]
     end 
   rescue OSM::APIChangesetAlreadyClosedError => ex
-    return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}"]
+    return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}",id,id,version]
   rescue OSM::APIVersionMismatchError => ex
-    return [-3, "Sorry, someone else has changed this point since you started editing. Please click the 'Edit' tab to reload the area. The server said: #{ex}"]
+    a=ex.to_s.match(/(\d+) of (\w+) (\d+)$/)
+    return [-3, ['node', a[1]], id,id,version]
   rescue OSM::APIAlreadyDeletedError => ex
-    return [-1, "The point has already been deleted"]
+    return [-1, "The point has already been deleted",id,id,version]
   rescue OSM::APIError => ex
     # Some error that we don't specifically catch
-    return [-2, "An unusual error happened (in 'putpoi' #{id}). The server said: #{ex}"]
+    return [-2, "An unusual error happened (in 'putpoi' #{id}). The server said: #{ex}",id,id,version]
   end
 
   # Read POI from database
@@ -732,13 +763,13 @@ class AmfController < ApplicationController
     end
 
     if n
-      return [n.id, n.lon, n.lat, n.tags, v]
+      return [0, '', n.id, n.lon, n.lat, n.tags, v]
     else
-      return [nil, nil, nil, {}, nil]
+      return [-4, 'node', id, nil, nil, {}, nil]
     end
   end
 
-  # Delete way and all constituent nodes. Also removes from any relations.
+  # Delete way and all constituent nodes.
   # Params:
   # * The user token
   # * the changeset id
@@ -746,13 +777,15 @@ class AmfController < ApplicationController
   # * the version of the way that was downloaded
   # * a hash of the id and versions of all the nodes that are in the way, if any 
   # of the nodes have been changed by someone else then, there is a problem!
-  # Returns 0 (success), unchanged way id.
+  # Returns 0 (success), unchanged way id, new way version, new node versions.
 
   def deleteway(usertoken, changeset_id, way_id, way_version, deletednodes) #:doc:
     user = getuser(usertoken)
     unless user then return -1,"You are not logged in, so the way could not be deleted." end
       
     way_id = way_id.to_i
+    nodeversions = {}
+    old_way=nil # returned, so scope it outside the transaction
     # Need a transaction so that if one item fails to delete, the whole delete fails.
     Way.transaction do
 
@@ -775,6 +808,7 @@ class AmfController < ApplicationController
         new_node.id = id.to_i
         begin
           node.delete_with_history!(new_node, user)
+          nodeversions[node.id]=node.version
         rescue OSM::APIPreconditionFailedError => ex
           # We don't do anything with the exception as the node is in use
           # elsewhere and we don't want to delete it
@@ -782,19 +816,17 @@ class AmfController < ApplicationController
       end
 
     end # transaction
-    [0, way_id]
+    [0, '', way_id, old_way.version, nodeversions]
   rescue OSM::APIChangesetAlreadyClosedError => ex
-    return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}"]
+    return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}",way_id,way_version,nodeversions]
   rescue OSM::APIVersionMismatchError => ex
-    # Really need to check to see whether this is a server load issue, and the 
-    # last version was in the same changeset, or belongs to the same user, then
-    # we can return something different
-    return [-3, "Sorry, someone else has changed this way since you started editing. Please click the 'Edit' tab to reload the area."]
+    a=ex.to_s.match(/(\d+) of (\w+) (\d+)$/)
+    return [-3, ['way', a[1]],way_id,way_version,nodeversions]
   rescue OSM::APIAlreadyDeletedError => ex
-    return [-1, "The way has already been deleted."]
+    return [-1, "The way has already been deleted.",way_id,way_version,nodeversions]
   rescue OSM::APIError => ex
     # Some error that we don't specifically catch
-    return [-2, "An unusual error happened (in 'deleteway' #{way_id}). The server said: #{ex}"]
+    return [-2, "An unusual error happened (in 'deleteway' #{way_id}). The server said: #{ex}",way_id,way_version,nodeversions]
   end
 
 
diff --git a/config/potlatch/localised/cz/localised.yaml b/config/potlatch/localised/cz/localised.yaml
new file mode 100755 (executable)
index 0000000..0039d07
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": vytváření bodu zájmu (POI)
+"hint_pointselected": vybrán bod\n(shift-klik na bod\nzačne novou cestu)
+"action_movepoint": posouvám bod
+"hint_drawmode": přidej bod kliknutím\ndvojklik/Enter\nukončí cestu
+"hint_overendpoint": "koncový bod:\nkliknutí pro napojení,\nshift-klik cesty sloučí"
+"hint_overpoint": bod cesty:\nkliknutím cestu napojíte"
+"gpxpleasewait": "Počkejte prosím: Zpracovávám GPX cestu"
+"revert": Revertovat
+"cancel": Zrušit
+"prompt_revertversion": "Vrátit se ke dříve uložené verzi:"
+"tip_revertversion": "Vyberte verzi, ke které se chcete vrátit:"
+"action_movepoi": posunutí bodu záju (POI)
+"tip_splitway": Rozdělit cestu ve vybraném bodě (X)
+"tip_direction": Směr cesty (kliknutím otočíte)
+"tip_clockwise": Po směru hodinových ručiček (kliknutím otočíte směr kruhové cesty)
+"tip_anticlockwise": Proti směru hodinových ručiček (kliknutím otočíte směr kruhové cesty)
+"tip_noundo": Není, co vzít zpět
+"action_mergeways": sloučení dvou cest
+"tip_gps": Zobrazit GPX stopy (GPS logy) (G)
+"tip_options": Možnosti (vyberte si mapu na pozadí)
+"tip_addtag": Přidat tag
+"tip_addrelation": Přidat do relace
+"tip_repeattag": Nastavit tagy předtím vybrané cesty(R)
+"tip_alert": Vyskyla se chyba - pro více informací klikněte
+"hint_toolong": "cesta je příliš dlouhá:\nrozdělte cestu na několik\nkratších úseků"
+"hint_loading": načítám cesty
+"prompt_welcome": Vítejte na OpenStreetMap
+"prompt_introduction": "Klikněte jedno z tlačítek níže. Kliknutím na 'Start' začnete rovnou editovat mapu - změny se  projeví většinou při pravidelné úterní aktualizaci. Tlačítko 'Pískoviště' nastaví tréninkový režim, kdy se vaše změny nebudou ukládat a vy si budete moci editaci vyzkoušet na nečisto.\n\nTři hlavní pravidla projektu OpenStreetMap:\n\n"
+"prompt_dontcopy": Nekopírujte z ostatních map - neporušujte autorská práva
+"prompt_accuracy": Buďtě přesní - mapujte jen místa, kde jste skutečně byli
+"prompt_enjoy": A hlavně, bavte se!
+"dontshowagain": Příště tuto zprávu nezobrazovat
+"prompt_start": Začít editovat
+"prompt_practise": Tréninkový mód - změny se nebudou ukládat.
+"practicemode": Tréninkový mód
+"help": Nápověda
+"prompt_help": Seznamte se s Potlatchem, tímto mapovým editorem
+"track": Trasovat
+"prompt_track": Převede vaši GPS stopu na (uzamčené) cesty, které následně můžete upravit.
+"action_deletepoint": odstraňuji bod
+"deleting": deleting
+"action_cancelchanges": cancelling changes to
+"emailauthor": \n\nPlease e-mail richard\@systemeD.net with a bug report, saying what you were doing at the time.
+"error_connectionfailed": "Spojení s OpenStreetMap serverem selhalo. Vaše nedávné změny nemohly být uloženy.\n\nZkusit uložit změny znovu?"
+"option_background": "Pozadí:"
+"option_fadebackground": Zesvětlit pozadí
+"option_thinlines": Používat tenké linky ve všech měřítkách mapy
+"option_custompointers": Use pen and hand pointers
+"tip_presettype": Zvolit skupinu předvoleb v menu.
+"action_waytags": úprava tagů cesty
+"action_pointtags": setting tags on a point
+"action_poitags": setting tags on a POI
+"action_addpoint": adding a node to the end of a way
+"add": Přidat
+"prompt_addtorelation": Přidat $1 k relace
+"prompt_selectrelation": Vyberte existující relaci, nebo vytvořte novou.
+"createrelation": Vytvořit novou relaci
+"tip_selectrelation": Přidat k vybrané cestě
+"action_reverseway": reversing a way
+"tip_undo": "Zpět: $1 (Z)"
+"error_noway": "Way $1 cannot be found (perhaps you've panned away?) so I can't undo."
+"error_nosharedpoint": "Cesty $1 a $2 v současnosti nemaí společný bod, so I can't undo."
+"error_nopoi": "The POI cannot be found (perhaps you've panned away?) so I can't undo."
+"prompt_taggedpoints": Some of the points on this way are tagged. Really delete?
+"action_insertnode": adding a node into a way
+"action_splitway": rozděluji cestu
+"editingmap": Editing map
+"start": Start
+"play": Play
+"delete": Smazat
+"a_way": $1 cestu
+"a_poi": $1 bod zájmu
+"action_moveway": moving a way
+"way": Cesta
+"point": Bod
+"ok": Budiž
+"existingrelation": Přidat k existující relaci
+"findrelation": Najít relaci obsahující
+"norelations": No relations in current area
+"advice_toolong": Too long to unlock - please split into shorter ways
+"advice_waydragged": Cesta posunuta (Z to undo)
+"advice_tagconflict": "Tags don't match - please check"
+"advice_nocommonpoint": Cesty nesdílí společný bod
+"option_warnings": Zobrazovat plovoucí varování
+"reverting": reverting
diff --git a/config/potlatch/localised/da/localised.yaml b/config/potlatch/localised/da/localised.yaml
new file mode 100755 (executable)
index 0000000..0e17ad9
--- /dev/null
@@ -0,0 +1,79 @@
+"action_createpoi": lave et POI (interessant punkt)
+"hint_pointselected": punkt valgt\n(shift+klik punktet for at\nstarte en ny linie)
+"action_movepoint": flytter et punkt
+"hint_drawmode": klik for at tilføje punkt\ndobbeltklik eller enter\nfor at afslutte linie
+"hint_overendpoint": over endepunkt\nklik for at forbinde\nshift+klik for at slå sammen til en
+"hint_overpoint": over punkt\nklik for at forbinde
+"gpxpleasewait": Vent venligst mens GPX sporet behandles.
+"revert": Rette tilbage
+"cancel": Afbryd
+"prompt_revertversion": "Ret tilbage til tidligere lagret version:"
+"tip_revertversion": Vælg versionen der skal rettes tilbage til
+"action_movepoi": flytter et POI (interessant punkt)
+"tip_splitway": Del vej i valgt punkt (X)
+"tip_direction": Vejretning, klik for at vende
+"tip_clockwise": Cirkulær vej med uret, klik for at vende
+"tip_anticlockwise": Cirkulær vej mod uret, klik for at vende
+"tip_noundo": Intet at fortryde
+"action_mergeways": slår to veje sammen
+"tip_gps": Vis GPS spor (G)
+"tip_options": Sæt indstillinger (vælg kortbaggrund)
+"tip_addtag": Tilføj et tag
+"tip_addrelation": Føj til en relation
+"tip_repeattag": Gentag tags fra senest valgte vej (R)
+"tip_alert": Der opstod en fejl, klik for detaljer
+"hint_toolong": "for lang til at låse op:\nopdel venligst\ni mindre veje"
+"hint_loading": henter veje
+"prompt_welcome": Velkommen til OpenStreetMap!
+"prompt_introduction": "Vælg en knap nedenfor for at redigere. Hvis du vælger 'Start' redigerer du kortet direkte, ændringer bliver normalt synlige hver torsdag. Hvis du vælger 'Øve' gemmes ændringer ikke, så kan du øve dig i at redigere.\nHusk OpenStreetMaps gyldne regler:\n\n"
+"prompt_dontcopy": Ikke kopier fra andre kort
+"prompt_accuracy": Nøjagtighed er vigtig, kortlæg kun steder du har besøgt
+"prompt_enjoy": Og hav det morsomt!
+"dontshowagain": Vis ikke denne besked igen
+"prompt_start": Begynd at kortlægge med OpenStreetMap.
+"prompt_practise": Øv i kortlæging, ændringer bliver ikke lagret.
+"practicemode": Øvelsestilstand
+"help": Hjælp
+"prompt_help": Find ud af hvordan du bruger Potlatch, programmet til kortredigering.
+"track": Spor
+"prompt_track": Overfør dine GPS-spor til (låste) veje for redigering.
+"action_deletepoint": sletter et punkt
+"deleting": sletter
+"action_cancelchanges": afbryder ændringer af
+"emailauthor": \n\nVenligst send en e-mail (på engelsk) til richard\@systemeD.net med en fejlrapport, og forklar hvad du gjorde da det skete.
+"error_connectionfailed": "Beklager - forbindelsen til OpenStreetMap-serveren fejlede, eventuelle nye ændringer er ikke blevet gemt.\n\nVil du prøve igen?"
+"option_background": "Baggrund:"
+"option_fadebackground": Fjern baggrund
+"option_thinlines": Brug tynde linier uanset skalering
+"option_custompointers": Brug pen- og håndvisere
+"tip_presettype": Vælg hvilke type forhåndsinstillinger som er tilgænglige i menuen
+"action_waytags": sætter tags på en vej
+"action_pointtags": sætter tags på et punkt
+"action_poitags": sætter tags på et POI (interessant punkt)
+"action_addpoint": tilføjer et punkt til enden af en vej
+"add": Tilføj
+"prompt_addtorelation": Tilføj $1 til en relation
+"prompt_selectrelation": Vælg en eksisterende relation for at føje til denne, eller lav en ny relation
+"createrelation": Lav en ny relation
+"tip_selectrelation": Føj til den valgte rute
+"action_reverseway": vend retningen på en vej
+"tip_undo": Fortryd $1 (Z)
+"error_noway": Fandt ikke vejen $1 så det er ikke muligt at fortryde. (Måske er den ikke på skærmen længere?)
+"error_nosharedpoint": Vejene $1 og $2 deler ikke noget punkt længere, så det er ikke muligt at fortryde delingen.
+"error_nopoi": Fandt ikke POI-et, så det er ikke muligt at fortryde. (Måske er den ikke på skærmen længere?)
+"prompt_taggedpoints": Nogle af punktene på denne vej har tags. Vil du virkelig slette?
+"action_insertnode": tilføj et punkt på vejen
+"action_splitway": del en vej
+"editingmap": Redigerer kort
+"start": Start
+"play": Øve
+"delete": Slet
+"a_way": $1 en vej
+"a_poi": $1 et POI
+"action_moveway": flytter en vej
+"way": Vej
+"point": Punkt
+"ok": Ok
+"existingrelation": Føj til en eksisterende relation
+"findrelation": Find en relation som indeholder
+"norelations": Ingen relationer i området på skærmen
diff --git a/config/potlatch/localised/de/localised.yaml b/config/potlatch/localised/de/localised.yaml
new file mode 100755 (executable)
index 0000000..60fe236
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": Einen Ort von Interesse (POI) erstellen
+"hint_pointselected": Punkt ausgewählt\n(Shift+Punkt anklicken, um\n eine neue Linie zu erstellen)
+"action_movepoint": Punkt verschieben
+"hint_drawmode": Klicken, um Punkt hinzuzufügen\nDoppelklicken oder Eingabetaste zum Beenden der Linie
+"hint_overendpoint": Überlappung mit Endpunkt\nKlicken zum Anschließen\nShift+Klick zum Verschmelzen
+"hint_overpoint": Überlappung mit Punkt\nKlicken zum Anschließen
+"gpxpleasewait": Bitte warten, während die GPX-Aufzeichnung (Track) verarbeitet wird.
+"revert": Vorherige Version wiederherstellen
+"cancel": Abbrechen
+"prompt_revertversion": "Frühere Version wiederherstellen:"
+"tip_revertversion": Version zur Wiederherstellung wählen
+"action_movepoi": Ort von Interesse (POI) verschieben
+"tip_splitway": Weg am ausgewählten Punkt auftrennen (x)
+"tip_direction": Richtung des Weges - Klicken zum Ändern
+"tip_clockwise": Geschlossener Weg im Uhrzeigersinn - Klicken zum Ändern der Richtung
+"tip_anticlockwise": Geschlossener Weg gegen den Uhrzeigersinn - Klicken zum Ändern der Richtung
+"tip_noundo": Es gibt nichts rückgängig zu machen.
+"action_mergeways": Zwei Wege verschmelzen
+"tip_gps": GPS-Aufzeichnungen (Tracks) einblenden (g/G)
+"tip_options": Optionen ändern (Kartenhintergrund)
+"tip_addtag": Attribut (Tag) hinzufügen
+"tip_addrelation": Zu einer Relation hinzufügen
+"tip_repeattag": Attribute (Tags) vom vorher markierten Weg übernehmen (R)
+"tip_alert": Ein Fehler ist aufgetreten - Klicken für Details
+"hint_toolong": "Zu lang zum Entsperren:\nBitte in kürzere Wege aufteilen"
+"hint_loading": Wege werden geladen
+"prompt_welcome": Willkommen bei OpenStreetMap!
+"prompt_introduction": "Bitte unten eine Schaltfläche anklicken, um mit dem Üben bzw. Editieren zu beginnen.\n\nStart: Jede Änderung wird sofort in der Datenbank gespeichert und wird beim nächsten Rendern berücksichtigt.\nÜben: Die Änderungen werden nicht gespeichert, es kann also nichts passieren. Bitte sicherstellen, dass unten rechts der Übungsmodus angezeigt wird.\n\nBeim Editieren bitte immer an die Goldenen Regeln von OpenStreetMap denken:\n\n"
+"prompt_dontcopy": Nichts von anderen Karten kopieren / abzeichnen.
+"prompt_accuracy": Fehlerfreiheit ist wichtig - nur Orte eintragen, die man kennt.
+"prompt_enjoy": "Und: Viel Spaß!"
+"dontshowagain": Diese Meldung nicht wieder anzeigen.
+"prompt_start": Kartographieren in OpenStreetMap beginnen
+"prompt_practise": Kartographieren üben - die Änderungen werden nicht gespeichert.
+"practicemode": Übungsmodus
+"help": Hilfe
+"prompt_help": Anleitung für Potlatch, diesen Karten-Editor
+"track": GPS-Aufzeichnung
+"prompt_track": Deine GPS-Aufzeichnungen (Tracks) in (gesperrte) Wege zum Editieren wandeln.
+"action_deletepoint": Punkt löschen
+"deleting": löschen
+"action_cancelchanges": Änderungen an <b>$1</b> abgebrochen
+"emailauthor": \n\nBitte maile an richard\@systemeD.net eine Fehlerbeschreibung, und schildere, was Du in dem Moment getan hast. <b>(Wenn möglich auf Englisch)</b>
+"error_connectionfailed": Die Verbindung zum OpenStreetMap-Server ist leider fehlgeschlagen. Kürzlich erfolgte Änderungen wurden nicht gespeichert.\n\nNoch einmal versuchen?
+"option_background": "Hintergrund:"
+"option_fadebackground": Hintergrund halbtransparent
+"option_thinlines": Dünne Linien in allen Auflösungen benutzen
+"option_custompointers": Stift- und Hand-Mauszeiger benutzen
+"tip_presettype": Art der Voreinstellungen wählen, die im Menü angeboten werden sollen
+"action_waytags": Attribute (Tags) für Weg zuweisen
+"action_pointtags": Attribute (Tags) für Punkt zuweisen
+"action_poitags": Attribute (Tags) für Ort von Interesse (POI) zuweisen
+"action_addpoint": Punkt am Ende des Wegs hinzufügen
+"add": Hinzufügen
+"prompt_addtorelation": $1 zu einer Relation hinzufügen
+"prompt_selectrelation": Bestehende Relation zum Hinzufügen auswählen oder neue Relation erstellen
+"createrelation": Eine neue Relation erstellen
+"tip_selectrelation": Zur markierten Route hinzufügen
+"action_reverseway": Wegrichtung umkehren
+"tip_undo": $1 rückgängig machen (Z)
+"error_noway": Der Weg $1 kann nicht gefunden werden (eventuell wurde der Kartenausschnitt verschoben), daher ist Rückgängigmachen nicht möglich.
+"error_nosharedpoint": Die Wege $1 und $2 haben keinen gemeinsamen Punkt mehr, daher kann das Aufteilen nicht rückgängig gemacht werden.
+"error_nopoi": Der Ort von Interesse (POI) kann nicht gefunden werden (vielleicht wurde der Kartenausschnitt verschoben?), daher ist Rückgängigmachen nicht möglich.
+"prompt_taggedpoints": Einige Punkte auf diesem Weg tragen Attribute (Tags). Trotzdem löschen?
+"action_insertnode": Punkt auf Weg hinzufügen
+"action_splitway": Weg teilen
+"editingmap": Karte editieren
+"start": Start
+"play": Üben
+"delete": Löschen
+"a_way": $1 einen Weg
+"a_poi": $1 einen Ort von Interesse (POI)
+"action_moveway": einen Weg verschieben
+"way": Weg
+"point": Punkt
+"ok": OK
+"existingrelation": Zu einer bestehenden Relation hinzufügen
+"findrelation": Finde eine Relation, die $1 enthält
+"norelations": Keine Relationen in diesem Gebiet
+"advice_toolong": Zu lang zum Entsperren - Bitte in kürzere Wege aufteilen.
+"advice_waydragged": Weg verschoben (Z zum Rückgängig-Machen)
+"advice_tagconflict": Die Attribute (Tags) passen nicht zusammen (Z zum Rückgängig-Machen)
+"advice_nocommonpoint": Die Wege (Ways) haben keinen gemeinsamen Punkt.
+"option_warnings": Warnungen anzeigen
+"reverting": Änderungen werden zurückgenommen
diff --git a/config/potlatch/localised/en/help.html b/config/potlatch/localised/en/help.html
new file mode 100755 (executable)
index 0000000..ba90958
--- /dev/null
@@ -0,0 +1,194 @@
+<!--
+
+========================================================================================================================
+Page 1: Introduction
+
+--><headline>Welcome to Potlatch</headline>
+<largeText>Potlatch is the easy-to-use editor for OpenStreetMap. Draw roads, paths, landmarks and shops from your GPS surveys, satellite imagery or old maps.
+
+These 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.
+
+When you've finished, just click anywhere else on the page.
+
+</largeText>
+
+<column/><headline>Useful stuff to know</headline>
+<bodyText>Don't copy from other maps! 
+
+If you choose 'Edit live', any changes you make will go into the database as you draw them - like, <i>immediately</i>. If you're not so confident, choose 'Edit with save', and they'll only go in when you press 'Save'.
+
+Any 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 <a href="http://www.opencyclemap.org/" target="_blank">OpenCycleMap</a> or <a href="http://maps.cloudmade.com/?styleId=999" target="_blank">Midnight Commander</a>.
+
+Remember it's <i>both</i> a good-looking map (so draw pretty curves for bends) and a diagram (so make sure roads join at junctions).
+
+Did we mention about not copying from other maps?
+</bodyText>
+
+<column/><headline>Find out more</headline>
+<bodyText><a href="http://wiki.openstreetmap.org/wiki/Potlatch" target="_blank">Potlatch manual</a>
+<a href="http://lists.openstreetmap.org/" target="_blank">Mailing lists</a>
+<a href="http://irc.openstreetmap.org/" target="_blank">Online chat (live help)</a>
+<a href="http://forum.openstreetmap.org/" target="_blank">Web forum</a>
+<a href="http://wiki.openstreetmap.org/" target="_blank">Community wiki</a>
+<a href="http://trac.openstreetmap.org/browser/applications/editors/potlatch" target="_blank">Potlatch source-code</a>
+</bodyText>
+<!-- News etc. goes here -->
+
+<!--
+========================================================================================================================
+Page 2: Surveying
+
+--><page/><headline>Surveying with a GPS</headline>
+<bodyText>The 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!
+       
+The 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.
+
+When you get home, your GPS will contain a 'tracklog' recording everywhere you've been. You can then upload this to OpenStreetMap.
+
+The 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 <a href="http://wiki.openstreetmap.org/wiki/GPS_Reviews" target="_blank">GPS Reviews</a> on our wiki.</bodyText>
+<column/><headline>Uploading your track</headline>
+<bodyText>Now, 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 <a href="http://www.gpsbabel.org/" target="_blank">GPSBabel</a>. Whatever, you want the file to be in GPX format.
+
+Then use the 'GPS Traces' tab to upload your track to the OpenStreetMap server. But this is only the first bit - it won't appear on the map yet. You need to draw and name the roads yourself, using the track as a guide.</bodyText>
+<headline>Using your track</headline>
+<bodyText>Find your uploaded track in the 'GPS Traces' listing, and click 'edit' <i>right next to it</i>. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!
+
+<img src="gps">You 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.</bodyText>
+<column/><headline>Using satellite photos</headline>
+<bodyText>If 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.
+
+<img src='prefs'>If 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.
+
+On 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.)
+
+Sometimes 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.</bodytext>
+
+<page/><headline>Drawing ways</headline>
+<bodyText>Now that you have Potlatch open, click 'Edit with save' to get started.
+
+To 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.
+
+To 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!)
+
+Click 'Save' (bottom right) when you're done. Save often, in case the server has problems.
+
+Don't expect your changes to show instantly on the main map. It usually takes an hour or two, sometimes up to a week.</bodyText>
+</bodyText><column/><headline>Making junctions</headline>
+<bodyText>It's really important that, where two roads join, they share a point (or 'node'). Route-planners use this to know where to turn.
+       
+Potlatch takes care of this as long as you are careful to click <i>exactly</i> 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.</bodyText>
+<headline>More advanced drawing</headline>
+<bodyText><img src="scissors">If 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 Shift-clicking, but don't merge two roads of different names or types.)
+
+Deleting a point is easy; select it and press Delete. To delete a whole way, press Shift-Delete.</bodyText>
+<column/><headline>Points of interest</headline>
+<bodyText>Not everything is a line or an area. Sometimes you'll just want to put a point on the map. You do this by double-clicking at the right spot; a green circle appears.</bodyText>
+<headline>Moving around</headline>
+<bodyText>To 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).
+
+You can also drag ways, points of interest, and points in ways to correct their position. You'll need to click and hold before dragging a whole way, to prevent accidents.
+
+We 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 <a href="http://wiki.openstreetmap.org/wiki/Current_events" target="_blank">mapping parties</a>.</bodyText>
+<page/><headline>What type of road is it?</headline>
+<bodyText>Once 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")?
+
+In 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 <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.
+
+The 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.
+
+You can tag whole ways; points in ways (maybe a gate or a traffic light); and points of interest.</bodytext>
+<column/><headline>Using preset tags</headline>
+<bodyText>To get you started, Potlatch has ready-made presets containing the most popular tags.
+
+<img src="preset_road">Select a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.
+
+This will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>
+<headline>One-way roads</headline>
+<bodyText>You might want to add a tag like <i>oneway | yes</i> - 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.</bodyText>
+<column/><headline>Choosing your own tags</headline>
+<bodyText>Of course, you're not restricted to just the presets. By using the '+' button, you can use any tags at all.
+
+You can see what tags other people use at <a href="http://osmdoc.com/en/tags/" target="_blank">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href="http://wiki.openstreetmap.org/wiki/Map_Features" target="_blank">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.
+
+Because OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.</bodyText>
+<headline>Relations</headline>
+<bodyText>Sometimes 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'. <a href="http://wiki.openstreetmap.org/wiki/Relations" target="_blank">Find out more</a> on the wiki.</bodyText>
+
+<page/><headline>Undoing mistakes</headline>
+<bodyText><img src="undo">This is the undo button (you can also press Z) - it will undo the last thing you did.
+
+You 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.
+
+If 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 padlock (by the ID); and save as usual.
+
+Think someone else has made a mistake? Send them a friendly message. Use the history option (H) to select their name, then click 'Mail'.
+</bodyText><column/><headline>FAQs</headline>
+<bodyText><b>How do I see my waypoints?</b>
+Waypoints 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.
+
+<b>Why can't I type text with accents?</b>
+<u>Linux users only</u>: This is a bug in Adobe Flash Player for Linux. We can't do anything until Adobe fixes it - sorry. Until then, you can copy and paste from elsewhere.
+
+More FAQs for <a href="http://wiki.openstreetmap.org/wiki/Potlatch/FAQs" target="_blank">Potlatch</a> and <a href="http://wiki.openstreetmap.org/wiki/FAQ" target="_blank">OpenStreetMap</a>.
+</bodyText>
+
+
+<column/><headline>Working faster</headline>
+<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.
+
+Turn off 'Use pen and hand pointers' (in the options window) for maximum speed.
+
+If the server is running slowly, come back later. <a href="http://wiki.openstreetmap.org/wiki/Platform_Status" target="_blank">Check the wiki</a> for known problems. Some times, like Sunday evenings, are always busy.
+
+Tell 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.)
+
+Turn 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 padlock (bottom left) to unlock when ready to save.</bodytext>
+
+<!--
+========================================================================================================================
+Page 6: Quick reference
+
+--><page/><headline>What to click</headline>
+<bodyText><b>Drag the map</b> to move around.
+<b>Double-click</b> to create a new POI.
+<b>Single-click</b> to start a new way.
+<b>Hold and drag a way or POI</b> to move it.</bodyText>
+<headline>When drawing a way</headline>
+<bodyText><b>Double-click</b> or <b>press Enter</b> to finish drawing.
+<b>Click</b> another way to make a junction.
+<b>Shift-click the end of another way</b> to merge.</bodyText>
+<headline>When a way is selected</headline>
+<bodyText><b>Click a point</b> to select it.
+<b>Shift-click in the way</b> to insert a new point.
+<b>Shift-click a point</b> to start a new way from there.
+<b>Shift-click another way</b> to merge.</bodyText>
+</bodyText>
+<column/><headline>Keyboard shortcuts</headline>
+<bodyText><textformat tabstops='[25]'>B        Add <u>b</u>ackground source tag
+C      Close <u>c</u>hangeset
+G      Show <u>G</u>PS tracks
+H      Show <u>h</u>istory
+K      Loc<u>k</u>/unlock current selection
+L      Show current <u>l</u>atitude/longitude
+M      <u>M</u>aximise editing window
+P      Create <u>p</u>arallel way
+R      <u>R</u>epeat tags
+S      <u>S</u>ave (unless editing live)
+U      <u>U</u>ndelete (show deleted ways)
+X      Cut way in two
+Z      Undo
+-      Remove point from this way only
++      Add new tag
+/      Select another way sharing this point
+</textformat><textformat tabstops='[50]'>Delete        Delete point
+ (+Shift)      Delete entire way
+Return Finish drawing line
+Space  Hold and drag background
+Esc    Abort this edit; reload from server
+0      Remove all tags
+1-9    Select preset tags
+ (+Shift)      Select memorised tags
+ (+S/Ctrl)     Memorise tags
+§ or `        Cycle between tag groups
+</textformat>
+</bodyText>
diff --git a/config/potlatch/localised/es/localised.yaml b/config/potlatch/localised/es/localised.yaml
new file mode 100755 (executable)
index 0000000..b8232d5
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": Crear un punto de interés (POI)
+"hint_pointselected": Punto seleccionado\n(shift-clic en el punto para\nempezar nueva línea)
+"action_movepoint": Mover un punto
+"hint_drawmode": Clic para añadir un punto\ndoble-clic/Return\npara terminar la línea
+"hint_overendpoint": Sobre punto final\nclic para unir\nshift-clic para combinar
+"hint_overpoint": Sobre punto\nclick para unir"
+"gpxpleasewait": Por favor espere un poco mientras el track GPX se procesa.
+"revert": Volver
+"cancel": Cancelar
+"prompt_revertversion": "Volver a una versión previamente guardada:"
+"tip_revertversion": Elige la versión a la que volver.
+"action_movepoi": Mover un punto de interés (POI)
+"tip_splitway": Dividir la vía en el punto seleccionado (X)
+"tip_direction": Dirección de la vía - clic para invertir la dirección de la vía
+"tip_clockwise": Vía circular en el sentido de las agujas del reloj - clic para invertir la dirección de la vía
+"tip_anticlockwise": Vía circular en el sentido contrario de las agujas del reloj - clic para invertir la dirección de la vía
+"tip_noundo": Nada que deshacer
+"action_mergeways": Combinar dos vías
+"tip_gps": Mostrar los tracks de GPS (G)
+"tip_options": Opciones (elegir el fondo del mapa)
+"tip_addtag": Añadir un nuevo parámetro (tag)
+"tip_addrelation": Añadir a una relación
+"tip_repeattag": Repetir los parámetros (tags) de la vía seleccionada previamente (R)
+"tip_alert": Ha ocurrido un error - clic para detalles
+"hint_toolong": "Demasiado larga para desbloquear:\nPorfavor divida\nen vías más cortas"
+"hint_loading": Cargando vías
+"prompt_welcome": Bienvenido a OpenStreetMap!
+"prompt_introduction": Seleccione uno de los botones más abajo para empezar a editar. Si pulsa "Empezar", estará editando directamente el mapa - Normalmente los cambios se mostrarán cada Jueves. Si pulsa "Practicar", sus cambios no se guardarán, de esta manera podrá practicar la edición.\n\nRecuerde las reglas de oro de OpenStreetMap:\n\n
+"prompt_dontcopy": No copie de otros mapas
+"prompt_accuracy": La precisión es importante - Mapee solo zonas en las que ha estado físicamente.
+"prompt_enjoy": Y páselo bien!
+"dontshowagain": No mostrar este mensaje de nuevo
+"prompt_start": Empezar a mapear con OpenStreetMap.
+"prompt_practise": Mapear en prácticas - Sus cambios no se guardarán.
+"practicemode": Modo prácticas
+"help": Ayuda
+"prompt_help": Encuentre cómo usar Potlatch (éste editor de mapas).
+"track": Track
+"prompt_track": Convierta su track de GPS a vías (bloqueadas) para editar.
+"action_deletepoint": Borrar un punto
+"deleting": Borrar
+"action_cancelchanges": Cancelar cambios
+"emailauthor": \n\nPor favor envíe un mail a richard\@systemeD.net con un informe del error, describiendo lo que hacía en ese momento.
+"error_connectionfailed": "Disculpe - la conexión al servidor de OpenStreetMap ha fallado. Cualquier cambio reciente no se ha guardado.\n\nPodría intentarlo de nuevo?"
+"option_background": "Fondo:"
+"option_fadebackground": Atenuar fondo
+"option_thinlines": Usar líneas finas en todas las escalas
+"option_custompointers": Usar punteros de pluma y mano
+"tip_presettype": Seleccionar que tipo de parámetros (tags) preestablecidos se ofrecen en el menú.
+"action_waytags": Parámetros (tags) en una vía
+"action_pointtags": Parámetros (tags) un punto
+"action_poitags": Parámetros (tags) en un punto de interés (POI)
+"action_addpoint": Añadir un punto al final de una vía
+"add": Añadir
+"prompt_addtorelation": Añadir $1 a una relación
+"prompt_selectrelation": Seleccionar una relación existente para añadir a ella, o crear una nueva relación.
+"createrelation": Crear una nueva relación
+"tip_selectrelation": Añadir a la ruta seleccionada
+"action_reverseway": Invertir dirección de una vía
+"tip_undo": Deshacer $1 (Z)
+"error_noway": La vía $1 no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer..
+"error_nosharedpoint": Las vías $1 y $2 ya no tienen ningún punto en común, por tanto no se pueden dividir.
+"error_nopoi": El punto de interés (POI) no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer.
+"prompt_taggedpoints": Algunos puntos de esta vía tienen parámetros (tags). Seguro que quiere borrar?
+"action_insertnode": Añadir un punto a una vía
+"action_splitway": Dividir una vía
+"editingmap": Editando el mapa
+"start": Empezar
+"play": Practicar
+"delete": Borrar
+"a_way": $1 una vía
+"a_poi": $1 un punto de interés (POI)
+"action_moveway": Moviendo una vía
+"way": Vía
+"point": Punto
+"ok": OK
+"existingrelation": Añadir a relación existente
+"findrelation": Buscar una relación que contenga
+"norelations": No hay relaciones en el área actual
+"advice_toolong": Demasiado largo para desbloquear - Por favor divídalo en vías más cortas
+"advice_waydragged": Vía desplazada (Z para deshacer)
+"advice_tagconflict": Los parámetros no coinciden - Por favor revíselos (Z para deshacer)
+"advice_nocommonpoint": Las vías no comparten un punto en común
+"option_warnings": Mostrar alertas flotantes
+"reverting": revirtiendo
diff --git a/config/potlatch/localised/fi/localised.yaml b/config/potlatch/localised/fi/localised.yaml
new file mode 100755 (executable)
index 0000000..4ce8aaa
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": "POI:n lisääminen"
+"hint_pointselected": piste valittuna\n(shift-klikkaa pistettä\naloittaaksesi uuden tien)
+"action_movepoint": pisteen lisääminen
+"hint_drawmode": napsauta lisätäksesi pisteen\nKaksoisnapsauta tai paina enter päättääksesi tien
+"hint_overendpoint": päätepisteen päällä\nnapsauta sulkeaksesi\nshift-napsauta yhdistääksesi
+"hint_overpoint": pisteen päällä\nnapsauta yhdistääksesi"
+"gpxpleasewait": Odota. GPX-jälkeä käsitellään.
+"revert": Kumoa
+"cancel": Peru
+"prompt_revertversion": "Palauta aiempaan versioon:"
+"tip_revertversion": Valitse palautettava versio
+"action_movepoi": "POI:n siirtäminen"
+"tip_splitway": Katkaise tie valitusta kohdasta (X)
+"tip_direction": Tien suunta - napsauta kääntääksesi
+"tip_clockwise": Myötäpäivään sulkeutuva tie - napsauta kääntääksesi
+"tip_anticlockwise": Vastapäivään sulkeutuva tie - napsauta kääntääksesi
+"tip_noundo": Ei kumottavaa
+"action_mergeways": kahden tien yhdistäminen
+"tip_gps": Näytä GPS-jäljet (G)
+"tip_options": Asetukset (valitse kartan tausta)
+"tip_addtag": Lisää uusi tagi
+"tip_addrelation": Lisää relaatio
+"tip_repeattag": Toista tagit viimeksi valitusta tiestä (R)
+"tip_alert": Tapahtui virhe - napsauta saadaksesi lisätietoja
+"hint_toolong": "liian pitkä vapautettavaksi:\nkatkaise\nlyhyempiin teihin"
+"hint_loading": ladataan teitä
+"prompt_welcome": "Tervetuloa OpenStreetMap:iin"
+"prompt_introduction": "Valitse haluamasi tila. Jos valitset aloita, pääset muokkaamaan karttaa suoraan - muutokset päivittyvät pääsivun kartalle yleensä torstaisin. Jos valitset harjoittele, tekemiäsi muutoksia ei tallenneta mihinkään, eli voit harjoitella muokkausta.\n\nMuistathan OpenStreetMapin kultaiset säännöt:\n\n"
+"prompt_dontcopy": Älä kopioi muista kartoista.
+"prompt_accuracy": "Tarkkuus on tärkeää: muokkaathan vain paikkoja, joissa olet ollut."
+"prompt_enjoy": Pidä hauskaa!
+"dontshowagain": Älä näytä tätä viestiä enää.
+"prompt_start": Aloita kartan muokkaus.
+"prompt_practise": Harjoittele - muutoksiasi ei tallenneta.
+"practicemode": Harjoitustila
+"help": Ohje
+"prompt_help": Kuinka käytän Potlatchiä, tätä editoria?
+"track": Jälki
+"prompt_track": Muunna GPX-jälki lukituiksi teiksi muokkausta varten
+"action_deletepoint": pisteen poistaminen
+"deleting": poistaminen
+"action_cancelchanges": peruutetaan muutokset
+"emailauthor": \n\nLähetäthän sähköpostia, jossa kerrot mitä olit tekemässä, osoitteeseen richard\@systemeD.net mieluiten englanniksi.
+"error_connectionfailed": "Yhteyttä OSM-palvelimeen ei saatu. Tuoreita muutoksia ei ole tallennettu.\n\nHaluatko yrittää uudestaan?"
+"option_background": "Tausta:"
+"option_fadebackground": Himmeä tausta
+"option_thinlines": Käytä aina ohuita viivoja
+"option_custompointers": Käytä kynä- ja käsikohdistimia
+"tip_presettype": Valitse, millaisia pohjia on tarjolla valikossa.
+"action_waytags": tien tagien asettaminen
+"action_pointtags": pisteen tagien asettaminen
+"action_poitags": "POI:n tagien asettaminen"
+"action_addpoint": pisteen lisääminen tien perään
+"add": Lisää
+"prompt_addtorelation": Lisää $1 relaatioon
+"prompt_selectrelation": Valitse olemassa oleva relaatio, johon lisätään tai luo uusi.
+"createrelation": Luo uusi relaatio
+"tip_selectrelation": Lisää valittuun reittiin
+"action_reverseway": tien kääntäminen
+"tip_undo": Kumoa $1 (Z)
+"error_noway": Tietä $1 ei löydy (ehkä vieritit siitä liian kauaksi), joten kumoaminen ei onnistu.
+"error_nosharedpoint": Teillä $1 ja $2 ei enää ole yhteistä solmua, joten tien katkaisua ei voi perua.
+"error_nopoi": "POI:ta ei löydetä (ehkä vieritit siitä liian kauaksi), joten peruminen ei onnistu."
+"prompt_taggedpoints": Joihinkin tien pisteisiin on lisätty tageja. Haluatko varmasti perua?
+"action_insertnode": pisteen lisääminen tiehen
+"action_splitway": tien katkaisu
+"editingmap": Muokataan karttaa
+"start": Aloita
+"play": Harjoittele
+"delete": Poista
+"a_way": $1 tie
+"a_poi": $1 POI
+"action_moveway": tien siirtäminen
+"way": Tie
+"point": Piste
+"ok": Ok
+"existingrelation": Lisää olemassa olevaan relaatioon
+"findrelation": Find a relation containing
+"norelations": Nykyisellä alueella ei ole relaatioita
+"advice_toolong": Liian pitkän tien lukituksen poisto ei sallittu - katkaise lyhyemmiksi teiksi.
+"advice_waydragged": Tietä siirrettiin (paina Z kumotaksesi)
+"advice_tagconflict": Tagit eivät täsmää - tarkista asia
+"advice_nocommonpoint": Tiet eivät jaa yhteistä pistettä
+"option_warnings": Näytä siirtymisvaroitukset
+"reverting": kumotaan
diff --git a/config/potlatch/localised/fr/localised.yaml b/config/potlatch/localised/fr/localised.yaml
new file mode 100755 (executable)
index 0000000..848408f
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": "Créer un POI (point d'intérêt)"
+"hint_pointselected": Point sélectionné\n(Shift-clic sur le point pour\ncommencer une nouvelle ligne)
+"action_movepoint": Déplacer un point
+"hint_drawmode": Clic pour ajouter un point\nDouble-clic/Entrée pour terminer le chemin
+"hint_overendpoint": Sur le dernier point du tracé\nClick pour joindre\nShift-click pour fusionner
+"hint_overpoint": Point du dessus\nClick pour joindre
+"gpxpleasewait": Veuillez patientez pendant le traitement de la trace GPX
+"revert": Revenir
+"cancel": Annuler
+"prompt_revertversion": "Revenir à une version sauvegardée plus récente :"
+"tip_revertversion": Choisissez la version vers laquelle revenir
+"action_movepoi": Déplacer un POI
+"tip_splitway": Scinder le chemin au point sélectionné (X)
+"tip_direction": Direction du chemin - Cliquez pour inverser
+"tip_clockwise": "Circulation dans le sens des aiguilles d'une montre - Cliquez pour inverser le sens"
+"tip_anticlockwise": "Circulation dans le sens inverse des aiguilles d'une montre (trigonométrique) - Cliquez pour inverser le sens"
+"tip_noundo": Rien à annuler
+"action_mergeways": Joindre deux chemins
+"tip_gps": Afficher les traces GPS (G)
+"tip_options": "Options (choix de la carte d'arrière plan)"
+"tip_addtag": Ajouter un nouveau tag
+"tip_addrelation": Ajouter à une relation
+"tip_repeattag": Recopier les informations du chemin sélectionné précédemment (R)
+"tip_alert": Une erreur est survenue - Cliquez pour plus de détails
+"hint_toolong": "Trop long pour débloquer la situation:\nScindez le chemin en chemins plus courts"
+"hint_loading": Chargement des chemins en cours
+"prompt_welcome": Bienvenue sur OpenStreetMap !
+"prompt_introduction": "Choisissez un bouton ci-dessous pour commencer l'édition. Si vous cliquez sur 'Editer', vous éditerez directement la carte principale - les modifications sont visibles sur celle-ci généralement tous les jeudis. Si vous cliquez sur 'Essai', vos modifications ne seront pas enregistrées, ainsi vous pouvez vous exercer sans risques.\n\nEt gardez en tête ces règles d'or d'OpenStreetMap :\n\n"
+"prompt_dontcopy": "Ne copiez pas d'autre cartes"
+"prompt_accuracy": Précision importante - Éditez seulement les lieux que vous avez visités
+"prompt_enjoy": Et amusez-vous bien !
+"dontshowagain": Ne plus afficher ce message
+"prompt_start": Commencer à cartographier dans Openstreetmap
+"prompt_practise": "Essai de cartographie : vos changements ne seront pas pris en compte"
+"practicemode": "Mode d'essai"
+"help": Aide
+"prompt_help": Découvrez comment utiliser Potlatch, cet éditeur de carte
+"track": Trace
+"prompt_track": "Conversion d'une trace GPS en chemin (verrouillé) pour l'édition"
+"action_deletepoint": "Suppression d'un point"
+"deleting": Supprimer
+"action_cancelchanges": Annulation de la modification
+"emailauthor": "\n\nMerci d'envoyer un e-mail a richard\@systemeD.net pour signaler ce bogue, en expliquant ce que vous faisiez quand il est survenu."
+"error_connectionfailed": Désolé, la connexion au serveur OpenStreetMap a échoué. Vos changements récents ne sont pas enregistrés.\n\nVoulez-vous réessayer ?
+"option_background": "Arrière-plan :"
+"option_fadebackground": Arrière-plan éclairci
+"option_thinlines": Utiliser un trait fin à toutes les échelles
+"option_custompointers": Remplacer la souris par le Crayon et la Main
+"tip_presettype": Sélectionner le type de paramètres proposés dans le menu de sélection.
+"action_waytags": Paramétrer un chemin
+"action_pointtags": Paramétrer un point
+"action_poitags": Paramétrer un POI
+"action_addpoint": "Ajout d'un point à la fin d'un chemin"
+"add": Ajouter
+"prompt_addtorelation": Ajouter $1 à la relation
+"prompt_selectrelation": "Sélectionner une relation existante pour l'ajouter, ou créer une nouvelle relation."
+"createrelation": Créer une nouvelle relation
+"tip_selectrelation": Ajouter à la route choisie
+"action_reverseway": Inverser le sens du chemin
+"tip_undo": "Annuler l'opération $1 (Z)"
+"error_noway": "Le chemin $1 n'a pas été trouvé, il ne peut être restauré à son état précédent."
+"error_nosharedpoint": "Les chemins $1 et $2 n'ont plus de point en commun et ne peuvent donc pas être recollés : l'opération précédente de scindage ne peut être annulée."
+"error_nopoi": "Le point d'intérêt (POI) n'est pas trouvé (éventuellement sur une autre page?), il ne peut être restauré."
+"prompt_taggedpoints": Certains points de ce chemin sont tagués. Souhaitez-vous les supprimer?
+"action_insertnode": Ajouter un point sur un chemin
+"action_splitway": Scinder un chemin
+"editingmap": Modifier la carte
+"start": Édition
+"play": Essai
+"delete": Supprimer
+"a_way": $1 un chemin
+"a_poi": $1 un POI
+"action_moveway": Déplacer un chemin
+"way": Chemin
+"point": Point
+"ok": Ok
+"existingrelation": Ajouter à une relation existante
+"findrelation": Trouver une relation contenant
+"norelations": "Aucune relation dans l'espace courant"
+"advice_toolong": Trop long pour débloquer la situation - Scindez le chemin en chemins plus courts
+"advice_waydragged": Chemin déplacé (Z pour annuler)
+"advice_tagconflict": Les tags ne correspondent pas - Veuillez vérifier
+"advice_nocommonpoint": Les chemins ne partagent pas de point commun
+"option_warnings": Montrer les avertissements flottants
+"reverting": annule
diff --git a/config/potlatch/localised/hu/localised.yaml b/config/potlatch/localised/hu/localised.yaml
new file mode 100755 (executable)
index 0000000..6cf8df2
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": POI készítésének
+"hint_pointselected": pont kijelölve\n(shift+kattintás a pontra\núj vonal kezdéséhez)
+"action_movepoint": pont mozgatásának
+"hint_drawmode": kattintás pont hozzáadásához\ndupla kattintás/Enter\na vonal befejezéséhez
+"hint_overendpoint": végpont fölött\nkattintás a csatlakoztatáshoz\nshift+kattintás az egyesítéshez
+"hint_overpoint": pont fölött\nkattintás a csatlakoztatáshoz
+"gpxpleasewait": Kérlek, várj a GPX nyomvonal feldolgozásáig.
+"revert": V.állít
+"cancel": Mégse
+"prompt_revertversion": "Visszaállítás egy korábbi mentett változatra:"
+"tip_revertversion": Válaszd ki a változatot a visszaállításhoz
+"action_movepoi": POI mozgatásának
+"tip_splitway": Vonal kettévágása a kijelölt pontnál
+"tip_direction": Vonal iránya - kattints a megfordításhoz
+"tip_clockwise": Órajárással egyező körkörös vonal - kattints a megfordításhoz
+"tip_anticlockwise": Órajárással ellentétes körkörös vonal - kattints a megfordításhoz
+"tip_noundo": Nincs mit visszavonni
+"action_mergeways": két vonal egyesítése
+"tip_gps": GPS nyomvonalak megjelenítése
+"tip_options": Beállítások módosítása (térképháttér kiválasztása)
+"tip_addtag": Új címke hozzáadása
+"tip_addrelation": Hozzáadás kapcsolathoz
+"tip_repeattag": Az előzőleg kiválasztott vonal címkéinek megismétlése (R)
+"tip_alert": Hiba történt - kattints a részletekért
+"hint_toolong": "túl hosszú a feloldáshoz:\nkérlek, vágd szét\nrövidebb vonalakra"
+"hint_loading": vonalak betöltése
+"prompt_welcome": Üdvözöllek az OpenStreetMapon!
+"prompt_introduction": "A szerkesztéshez válassz az alábbi gombok közül. Ha a 'Kezdés'-re kattintasz, akkor közvetlenül a főtérképet szerkesztheted - a módosítások általában minden csütörtökön jelennek meg. Ha a 'Próbá'-ra kattintasz, akkor a módosításaid nem lesznek elmentve, így gyakorolhatod a szerkesztést.\n\nEmlékezz az OpenStreetMap aranyszabályaira:\n\n"
+"prompt_dontcopy": Ne másolj más térképekből
+"prompt_accuracy": A pontosság fontos - csak olyan helyeket szerkessz, ahol már jártál
+"prompt_enjoy": És jó szórakozást!
+"dontshowagain": Ez az üzenet ne jelenjen meg újra
+"prompt_start": Térképkészítés kezdése OpenStreetMappal.
+"prompt_practise": Térképkészítés gyakorlása - módosításaid nem lesznek elmentve.
+"practicemode": Gyakorló mód
+"help": Súgó
+"prompt_help": Nézz utána, hogyan kell használni a Potlatch-ot, ezt a térképszerkesztőt.
+"track": Nyomvonal
+"prompt_track": GPS nyomvonalaid átkonvertálása (zárolt) vonalakká a szerkesztéshez.
+"action_deletepoint": pont törlésének
+"deleting": törlés
+"action_cancelchanges": Módosítások elvetése a következőre
+"emailauthor": \n\nKérlek, jelentsd a hibát (angolul) a richard\@systemeD.net e-mail címre, és írd le, hogy mit csináltál akkor, amikor a hiba történt.
+"error_connectionfailed": Bocs - az OpenStreetMap szerverhez való kapcsolódás sikertelen. A legutóbbi módosítások nem lettek elmentve.\n\nSzeretnéd megpróbálni újra?
+"option_background": "Háttér:"
+"option_fadebackground": Áttetsző háttér
+"option_thinlines": Vékony vonalak használata minden méretaránynál
+"option_custompointers": Toll és kéz egérmutatók használata
+"tip_presettype": Válaszd ki, hogy milyen típusú sablonok legyenek a menüben.
+"action_waytags": vonal címkéi állításának
+"action_pointtags": pont címkéi állításának
+"action_poitags": POI címkéi állításának
+"action_addpoint": a vonal végéhez pont hozzáadásának
+"add": Hozzáad
+"prompt_addtorelation": $1 hozzáadása kapcsolathoz
+"prompt_selectrelation": A hozzáadáshoz válassz egy meglévő kapcsolatot, vagy készíts egy újat.
+"createrelation": Új kapcsolat létrehozása
+"tip_selectrelation": Hozzáadás a kiválasztott kapcsolathoz
+"action_reverseway": vonal megfordításának
+"tip_undo": $1 visszavonása (Z)
+"error_noway": A(z) $1 vonal nem található (talán már eltávolítottad?), így nem vonható vissza.
+"error_nosharedpoint": Már nincs közös pontja a(z) $1 és a(z) $2 vonalaknak, így nem vonható vissza a kettévágás.
+"error_nopoi": A POI nem található (talán már eltávolítottad?), így nem vonható vissza.
+"prompt_taggedpoints": Ezen a vonalon van néhány címkézett pont. Biztosan törlöd?
+"action_insertnode": vonalhoz pont hozzáadásának
+"action_splitway": vonal kettévágásának
+"editingmap": Szerkesztés
+"start": Kezdés
+"play": Próba
+"delete": Törlés
+"a_way": Vonal $1
+"a_poi": POI $1
+"action_moveway": vonal mozgatásának
+"way": Vonal
+"point": Pont
+"ok": OK
+"existingrelation": Hozzáadás egy meglévő kapcsolathoz
+"findrelation": "Kapcsolat keresése, amely tartalmazza:"
+"norelations": Nincs kapcsolat a jelenlegi területen
+"advice_toolong": Túl hosszú a feloldáshoz - vágd rövidebb szakaszokra
+"advice_waydragged": Vonal áthelyezve (Z a visszavonáshoz)
+"advice_tagconflict": A címkék nem egyeznek - ellenőrizd (Z a visszavonáshoz)
+"advice_nocommonpoint": A vonalaknak nincs közös pontjuk
+"option_warnings": Lebegő figyelmeztetések megjelenítése
+"reverting": visszaállítás
diff --git a/config/potlatch/localised/it/localised.yaml b/config/potlatch/localised/it/localised.yaml
new file mode 100755 (executable)
index 0000000..dce9d8e
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": creazione PDI...
+"hint_pointselected": punto selezionato\n(shift-clic sul punto per\niniziare una nuova linea)
+"action_movepoint": spostamento punto...
+"hint_drawmode": clic per aggiungere un punto\ndoppio clic/Return\nper terminare la linea
+"hint_overendpoint": su punto terminale\nclic per congiungere\nshift-clic per unire
+"hint_overpoint": su punto\nclic per congiungere"
+"gpxpleasewait": Attendere mentre la traccia GPX viene elaborata.
+"revert": Ripristina
+"cancel": Annulla
+"prompt_revertversion": "Ripristina una versione precedente:"
+"tip_revertversion": Scegliere la versione da ripristinare
+"action_movepoi": spostamento PDI...
+"tip_splitway": Separa percorso nel punto selezionato (X)
+"tip_direction": Direzione del percorso - clic per invertire
+"tip_clockwise": Percorso circolare orario - clic per invertire
+"tip_anticlockwise": Percorso circolare antiorario - clic per invertire
+"tip_noundo": Nulla da annullare
+"action_mergeways": unione di due percorsi...
+"tip_gps": Mostra le tracce GPS (G)
+"tip_options": Imposta le opzioni (scegli lo sfondo della mappa)
+"tip_addtag": Aggiungi una nuova etichetta
+"tip_addrelation": Aggiungi ad una relazione
+"tip_repeattag": Ripeti le etichette del percorso precedentemente selezionato (R)
+"tip_alert": Si è verificato un errore (clic per i dettagli)
+"hint_toolong": "troppo lungo per sbloccare:\ndividere in\npercorsi più brevi"
+"hint_loading": caricamento percorsi...
+"prompt_welcome": Benvenuti su OpenStreetMap!
+"prompt_introduction": "Scegli un pulsante per iniziare la modifica. Se fai clic su 'Inizia' modificherai direttamente la mappa principale (le modifiche di solito sono visibili ogni giovedì). Se fai clic su 'Gioca' le modifiche non saranno salvate, quindi potrai esercitarti.\n\nRicorda le regole d'oro di OpenStreetMap:\n\n"
+"prompt_dontcopy": Non copiare da altre mappe
+"prompt_accuracy": "L'accuratezza è importante - mappa solo posti dove sei stato"
+"prompt_enjoy": E soprattutto, buon divertimento!
+"dontshowagain": Non mostrare più questo messaggio
+"prompt_start": Inizia a mappare con OpenStreetMap.
+"prompt_practise": "Inizia l'esercitazione (le modifiche non saranno salvate)."
+"practicemode": Esercitazione
+"help": Aiuto
+"prompt_help": Impara ad usare Potlatch, questo editor di mappe.
+"track": Traccia
+"prompt_track": Converti la tua traccia GPS in percorsi (bloccati) per la modifica.
+"action_deletepoint": cancellazione punto...
+"deleting": cancellazione...
+"action_cancelchanges": annullamento modifiche a
+"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_connectionfailed": "La connessione con il server di OpenStreetMap si è interrotta. Qualsiasi modifica recente non è stata salvata.\n\nRiprovare?"
+"option_background": "Sfondo:"
+"option_fadebackground": Sfondo sfumato
+"option_thinlines": Usa linee sottili a tutte le scale
+"option_custompointers": Usa puntatori penna e mano
+"tip_presettype": Scegli che tipo di preset mostrare nel menu.
+"action_waytags": impostazione etichette su un percorso...
+"action_pointtags": impostazione etichette su un punto...
+"action_poitags": impostazione etichette su un PDI...
+"action_addpoint": aggiunta nodo alla fine di un percorso...
+"add": Aggiungi
+"prompt_addtorelation": Aggiungi $1 ad una relazione
+"prompt_selectrelation": Selezionare una relazione esistente a cui aggiungere o creare una nuova relazione.
+"createrelation": Crea una nuova relazione
+"tip_selectrelation": Aggiungi alla rotta scelta
+"action_reverseway": inversione percorso...
+"tip_undo": Annulla $1 (Z)
+"error_noway": "Impossibile trovare il percorso $1 (forse è fuori dallo schermo?): impossibile annullare."
+"error_nosharedpoint": "I percorsi $1 e $2 non hanno più un punto comune: impossibile annullare la separazione."
+"error_nopoi": "Impossibile trovare il PDI (forse è fuori dallo schermo?): impossibile annullare."
+"prompt_taggedpoints": Alcuni dei punti di questo percorso sono etichettati. Cancellare davvero?
+"action_insertnode": aggiunta di un nodo in un percorso...
+"action_splitway": separazione di un percorso...
+"editingmap": Modifica
+"start": Inizia
+"play": Gioca
+"delete": Cancella
+"a_way": $1 un percorso
+"a_poi": $1 un PDI
+"action_moveway": spostamento percorso
+"way": Percorso
+"point": Punto
+"ok": OK
+"existingrelation": Aggiungi ad una relazione esistente
+"findrelation": Trova una relazione che contiene
+"norelations": "Nessuna relazione nell'area attuale"
+"advice_toolong": "Troppo lungo per sbloccare: separa in percorsi più brevi"
+"advice_waydragged": Percorso trascinato (Z per annullare)
+"advice_tagconflict": "Le etichette non corrispondono: controllare (Z per annullare)"
+"advice_nocommonpoint": I percorsi non hanno nessun punto comune
+"option_warnings": Mostra avvertimenti galleggianti
+"reverting": annullo...
diff --git a/config/potlatch/localised/ja/localised.yaml b/config/potlatch/localised/ja/localised.yaml
new file mode 100755 (executable)
index 0000000..60e00b7
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": POIを作成
+"hint_pointselected": pointを選択\n(shiftキーを押しながらpointをクリックして\n新しいlineを開始)
+"action_movepoint": pointを移動
+"hint_drawmode": クリックしてpointを追加\nダブルクリック/Returnで\nline編集を終了
+"hint_overendpoint": 終端のpoint上で\nクリックして接続\nshiftキーを押しながらクリックして結合
+"hint_overpoint": point上で\nクリックして接続
+"gpxpleasewait": GPX trackが処理されるまで暫くお待ち下さい。
+"revert": 差し戻し
+"cancel": 中止
+"prompt_revertversion": "以前に保存されたバージョンに差し戻す:"
+"tip_revertversion": 差し戻し先のバージョンを選択
+"action_movepoi": POIを移動
+"tip_splitway": 選択したpointでwayを分割 (X)
+"tip_direction": wayの方向 - クリックして反転
+"tip_clockwise": 時計回りのcircular way - クリックして反転
+"tip_anticlockwise": 反時計回りのcircular way - クリックして反転
+"tip_noundo": 取消対象無し
+"action_mergeways": 2つのwayを結合
+"tip_gps": GPS trackを表示 (G)
+"tip_options": オプション設定 (地図背景の選択)
+"tip_addtag": 新しいtagを追加
+"tip_addrelation": relationへ追加
+"tip_repeattag": 前回選択したwayのtagを繰り返す (R)
+"tip_alert": エラーが発生しました。クリックすると詳細が表示されます。
+"hint_toolong": "wayが長すぎるためunlockできません:\n短いwayに\n分割して下さい。"
+"hint_loading": wayを読み込んでいます。
+"prompt_welcome": OpenStreetMapへようこそ!
+"prompt_introduction": "編集を開始する前に下のボタンを選択して下さい。 - 『開始』をクリックするとOSMの地図を直接編集します。通常では毎週木曜日に変更が表示されるようになります。 - 『練習』をクリックすると変更は保存されませんので、地図の編集作業を練習することができます。\n\nOpenStreetMapの鉄則を忘れないで下さい:\n\n"
+"prompt_dontcopy": 他の地図から書き写してはいけません。
+"prompt_accuracy": 正確さは大切です - 地図作りはあなたが行ったことのある場所だけにして下さい。
+"prompt_enjoy": そして何より、楽しみましょう!
+"dontshowagain": 次回からこのメッセージを表示しない。
+"prompt_start": OpenStreetMapの地図の編集作業を開始します。
+"prompt_practise": 地図の編集作業を練習します。 - あなたの変更は保存されません。
+"practicemode": 練習モード
+"help": ヘルプ
+"prompt_help": この地図編集ソフトウェア(Potlatch)の使い方を表示します。
+"track": 軌跡
+"prompt_track": あなたのGPS trackを編集用のlockされたwayに変換します。
+"action_deletepoint": pointを削除
+"deleting": 削除
+"action_cancelchanges": 変更を中止
+"emailauthor": \n\nあなたがその時に何を行っていたかを書いたバグレポートを、 richard\@systemeD.net 宛てにe-mailで送付して下さい。
+"error_connectionfailed": 申し訳ありません。OpenStreetMapのサーバーへの接続に失敗しました。 直近の変更は保存されていません。\n\n再送信しますか?
+"option_background": "背景:"
+"option_fadebackground": 背景を隠す
+"option_thinlines": 全ての縮尺で細い線を使用する
+"option_custompointers": ペンのポインターと手のポインターを使用する
+"tip_presettype": 提供されているプリセットの種類をメニューから選択します。
+"action_waytags": wayにtagを設定
+"action_pointtags": pointにtagを設定
+"action_poitags": POIにtagを設定
+"action_addpoint": wayの終端にnodeを追加
+"add": 追加
+"prompt_addtorelation": relationに $1 を追加
+"prompt_selectrelation": 追加又はrelationを新規作成するために既存のrelationを選択
+"createrelation": 新しいrelationを作成
+"tip_selectrelation": 選択したrouteへ追加
+"action_reverseway": wayを反転
+"tip_undo": $1 を取り消し (Z)
+"error_noway": $1 というwayが見付からないため、取消ができませんでした。 (画面表示の範囲外になっていませんか?)
+"error_nosharedpoint": $1 と $2 のwayは既に共通のpointを共有していないため、分割の取消ができませんでした。
+"error_nopoi": 該当するPOIが見付からないため、取消ができませんでした。 (画面表示の範囲外になっていませんか?)
+"prompt_taggedpoints": このwayに含まれているpointのいくつかにtagが付けられています。 本当に削除しますか?
+"action_insertnode": wayの途中にnodeを追加
+"action_splitway": wayを分割
+"editingmap": 地図編集中
+"start": 開始
+"play": 練習
+"delete": 削除
+"a_way": wayを $1
+"a_poi": POIを $1
+"action_moveway": wayを移動
+"way": Way
+"point": Point
+"ok": Ok
+"existingrelation": 既存のリレーションを追加
+"findrelation": 以下に含まれるリレーションを検索
+"norelations": 現在のエリアにリレーションはありません
+"advice_toolong": wayが長すぎるためunlockできません - 短いwayに分割して下さい。
+"advice_waydragged": wayをドラッグしました。(Zでアンドゥ)
+"advice_tagconflict": Tagが合ってません。 - 確認してください。(Zでアンドゥ)
+"advice_nocommonpoint": そのwayは共通の点を持ってません。
+"option_warnings": 吹き出し警告を表示する。
+"reverting": リバート(差し戻し)
diff --git a/config/potlatch/localised/ko/localised.yaml b/config/potlatch/localised/ko/localised.yaml
new file mode 100755 (executable)
index 0000000..dba2927
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": POI 만들기
+"hint_pointselected": 포인트 선택됨\n(새로운 라인을 생성하려면\n포인트에서 shift-click하세요)
+"action_movepoint": 포인트를 이동
+"hint_drawmode": 클릭하면 포인트를 추가\n더블 클릭 또는 리턴 키를 누르면\n라인을 끝냄
+"hint_overendpoint": 마지막 포인트에서\n클릭하면 연결합니다\nshift-click하면 합칩니다.
+"hint_overpoint": 포인트를 클릭하면 연결합니다.
+"gpxpleasewait": GPX 트랙로그가 처리될때 까지 기다려주세요.
+"revert": 되돌리기
+"cancel": 취소
+"prompt_revertversion": "이전에 저장된 버전으로 부터 되돌리기:"
+"tip_revertversion": "되돌릴 버전 선택:"
+"action_movepoi": POI 이동
+"tip_splitway": 선택된 포인트에서 길을 나누기(split) (X)
+"tip_direction": 길의 방향 - 클릭하면 방향 바꿈
+"tip_clockwise": 시계방향 원형도로 - 클릭하면 방향 바꿈
+"tip_anticlockwise": 시계반대방향 원형도로 - 클릭하면 방향 바꿈
+"tip_noundo": undo할 것이 없음
+"action_mergeways": 두 길을 합침(merge)
+"tip_gps": GPS 트랙 보이기 (G)
+"tip_options": 옵션 지정(지도 배경 선택)
+"tip_addtag": 새로운 태그 추가
+"tip_addrelation": relation에 추가
+"tip_repeattag": 이전 선택된 도로의 태그들을 적용 (R)
+"tip_alert": 에러 발생 - 클릭하면 상세 내용 보기
+"hint_toolong": "unlock하기엔 너무 깁니다:\n짧은 길로 나눠주세요"
+"hint_loading": 길을 가져옵니다
+"prompt_welcome": OpenStreetMap에 오신 것을 환영합니다!
+"prompt_introduction": "아래 버튼 중 하나를 골라 에디터를 선택하세요. 'Start'를 클릭하면 바로 지도 수정이 가능합니다 - 보통은 매주 목요일에 변경내용이 지도에 나타납니다. 'Play'를 클릭하면 에디터에서 변경한 내용이 저장되지 않으므로 지도 수정을 연습할 수 있습니다.\n\nOpenStreetMap의 주요 규칙들을 기억하세요:\n\n"
+"prompt_dontcopy": 다른 지도를 복사해 오지 마십시오.
+"prompt_accuracy": 정확도가 중요합니다 -- 귀하가 알거나 머물렀던 곳만 작업하세요.
+"prompt_enjoy": 재밌는 지도 작성이 되시길!
+"dontshowagain": 이 메시지를 다시 보이지 않음
+"prompt_start": 지도 작성 시작.
+"prompt_practise": 지도 작성 연습 -- 변경 내용은 저장되지 않습니다.
+"practicemode": 연습하기
+"help": 도움말
+"prompt_help": Potlatch 사용법을 알아봅니다.
+"track": Track
+"prompt_track": GPS tracklog를 수정가능한 길(locked)로 변환
+"action_deletepoint": 포인트를 삭제
+"deleting": 삭제
+"action_cancelchanges": "변경 내용 취소:"
+"emailauthor": \n\n버그가 발견되면 richard\@systemeD.net 에게 email을 주십시오. 그리고 귀하가 무슨 작업을 하고 있는지 알려주세요.
+"error_connectionfailed": "죄송합니다. OpenStreetMap 서버와의 연결이 실패했습니다. 최근 변경사항은 저장되지 않았습니다\n\n접속을 다시 시도하겠습니까?"
+"option_background": "배경:"
+"option_fadebackground": 흐린 배경
+"option_thinlines": 모든 축적에서 가는 선을 사용
+"option_custompointers": pen과 hand 마우스 포인터 사용
+"tip_presettype": Choose what type of presets are offered in the menu.
+"action_waytags": 길의 태그를 설정
+"action_pointtags": 포인트의 태그를 설정
+"action_poitags": POI의 태그를 설정
+"action_addpoint": 길의 마지막에 새로운 node 추가
+"add": 추가
+"prompt_addtorelation": relation에 $1 추가
+"prompt_selectrelation": Select an existing relation to add to, or create a new relation.
+"createrelation": 새로운 relation 생성
+"tip_selectrelation": Add to the chosen route
+"action_reverseway": reversing a way
+"tip_undo": Undo $1 (Z)
+"error_noway": "길 $1 이 발견되지 않았습니다 (perhaps you've panned away?) so I can't undo."
+"error_nosharedpoint": 길 $1 과 $2 은(는) 같은 포인트를 더이상 공유하지 않습니다. 길 나누기를 취소할 수 없습니다.
+"error_nopoi": "POI를 찾을 수 없습니다. (perhaps you've panned away?) so I can't undo."
+"prompt_taggedpoints": 길의 몇몇 포인트에 태그가 있습니다. 정말 삭제하겠습니까?
+"action_insertnode": 길에 node를 추가
+"action_splitway": 길을 나누기
+"editingmap": 지도 수정
+"start": 시작
+"play": 연습
+"delete": 삭제
+"a_way": $1 a way
+"a_poi": $1 a POI
+"action_moveway": 길을 이동중
+"way": 길
+"point": 포인트
+"ok": 확인
+"existingrelation": Add to an existing relation
+"findrelation": Find a relation containing
+"norelations": 현재 영역에 relation이 없습니다.
+"advice_toolong": unlock하기에 너무 깁니다. 길을 짧게 나누세요
+"advice_waydragged": 길이 통째로 움직였습니다 (Z 키를 누르면 undo 됩니다)
+"advice_tagconflict": 태그가 일치하지 않습니다 -- 살펴보세요
+"advice_nocommonpoint": 길들이 같은 포인트를 공유하지 않았습니다.
+"option_warnings": Show floating warnings
+"reverting": reverting
diff --git a/config/potlatch/localised/lolcat/localised.yaml b/config/potlatch/localised/lolcat/localised.yaml
new file mode 100755 (executable)
index 0000000..b774b60
--- /dev/null
@@ -0,0 +1,79 @@
+"action_createpoi": creatin a plase
+"hint_pointselected": point selecteded\n(shift-clik point ta\nstaart new lien)
+"action_movepoint": movin a point
+"hint_drawmode": clik ta add point\ndouble-clik/Return\nto end lien
+"hint_overendpoint": ovah endpoint\nclik ta join\nshift-clik ta merge
+"hint_overpoint": "I'M OVAH UR POINT\nCLICKIN TO JOIN"
+"gpxpleasewait": Pleez wayt whiel teh GPZ track iz processeded.
+"revert": Revert
+"cancel": Noes!
+"prompt_revertversion": plz to chooes vershun
+"tip_revertversion": Chooes teh verzhun ta revert ta
+"action_movepoi": movin a plase
+"tip_splitway": wai goes NOM NOM NOM at the noed (X)
+"tip_direction": Direcshun uv wai - clik ta bakwadz
+"tip_clockwise": Clockwyez circlar wai - clik ta bakwadz
+"tip_anticlockwise": Anti-clockwyez circlar wai - clik ta bakwadz
+"tip_noundo": I haz nuffin for undos
+"action_mergeways": mergin bowf waiz
+"tip_gps": Can haz GPZ trax (G)
+"tip_options": Set optionz (chooes teh map bakgrownd)
+"tip_addtag": Noo tag
+"tip_addrelation": Add ta a relashun
+"tip_repeattag": Previous tagz ar relavint to mai selecteded wai (R)
+"tip_alert": OHNOES! Errorz! - clik foar detailz
+"hint_toolong": "too lawng ta unlok:\npleaes spleet into\nshortah waiz"
+"hint_loading": NOM NOM NOM
+"prompt_welcome": welcum ta OPENSTREETMAP!
+"prompt_introduction": "Clik ta getz editin. If yoo clik 'Staart', yoo'll b editin teh mane map - chanzes uzually show up evry Purrsdai! If yoo clik 'Plae', yur chanzes won't b saveded, sow yoo kan practies editin.\n\nCeiling Cat sais:\n\n"
+"prompt_dontcopy": Copi frum uddah mapz? DO NOT WANT
+"prompt_accuracy": Want acoracie - ownlee map placez yuv bein!
+"prompt_enjoy": Adn can has cheezburger!
+"dontshowagain": dis messig suxs. No more show
+"prompt_start": staart mappin wif OPENSTREETMAP.
+"prompt_practise": Invisibl mappur - yur chanzes wont b saveded.
+"practicemode": Practiec moeded
+"help": Halp
+"prompt_help": Find owt hao ta uz Potlatch, dis map editerer.
+"track": Trak
+"prompt_track": Convert yur GPZ track ta (lockeded) waiz foar editin.
+"action_deletepoint": deletin a noed
+"deleting": deletin
+"action_cancelchanges": cancellin chanzes ta
+"emailauthor": \n\NPLEAES e-male richard\@systemed.net wif a bug report, meaowin whut yoo werz doin at teh tyme.
+"error_connectionfailed": "OHNOES! teh OPENSTREETMAP servah connecshun has a FAIL. I no saveded n e recent chanzes.\n\nYoo wants tri agin?"
+"option_background": "bakground:"
+"option_fadebackground": Faeded bakground
+"option_thinlines": I can has thin linez at awl scalez
+"option_custompointers": I can has pen adn paw pointerz
+"tip_presettype": Chooes whut tyep uv presetz iz ofered in teh menu.
+"action_waytags": In ur wai, settin teh tagz
+"action_pointtags": In ur noed, settin teh tagz
+"action_poitags": In ur plase, settin teh tagz
+"action_addpoint": addin a noeded ta teh end uv a wai
+"add": Add
+"prompt_addtorelation": Add $1 ta a relashun
+"prompt_selectrelation": Chooes a existin relashun ta add ta, or creaet a noo relashun.
+"createrelation": Creaet a noo relashun
+"tip_selectrelation": Add ta teh chosen rouet
+"action_reverseway": reversin a wai
+"tip_undo": Undo $1 (Z)
+"error_noway": "I had a wai $1 but I losteded it, so noes can undo. :("
+"error_nosharedpoint": waiz $1 adn $2 dun shaer a common point n e moar , sow I noes kan undo teh spleet.
+"error_nopoi": "I had a plase but I losteded it, so noes can undo. :("
+"prompt_taggedpoints": sum uv teh pointz awn dis wai iz taggeded. reelee deleet?
+"action_insertnode": addin a noeded into a wai
+"action_splitway": spleettin a wai
+"editingmap": Editin map
+"start": Staart
+"play": Plae
+"delete": Deleet
+"a_way": $1 a wai
+"a_poi": $1 A plase
+"action_moveway": movin a wai
+"way": Wai
+"point": Noed
+"ok": kthx
+"existingrelation": Adds ta a relashun
+"findrelation": Luks for a relashun wif
+"norelations": I sees noes relashuns neer heer
diff --git a/config/potlatch/localised/nl/localised.yaml b/config/potlatch/localised/nl/localised.yaml
new file mode 100755 (executable)
index 0000000..80330d5
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": Maak een POI (nuttige plaats)
+"hint_pointselected": Punt geselecteerd\n(shift-klik op het punt om een nieuwe lijn te\nbeginnen)
+"action_movepoint": Verplaats een punt
+"hint_drawmode": Klik om een nieuw punt toe te voegen\ndubbelklik/enter\n om de lijn te stoppen
+"hint_overendpoint": "Eindpunt van een way:\nKlik om dit punt toe te voegen\nShift-klik om beide ways samen te voegen"
+"hint_overpoint": "Punt:\nKlik om dit punt toe te voegen"
+"gpxpleasewait": Even geduld alstublieft, terwijl de GPX trace wordt verwerkt
+"revert": Teruggaan naar een oudere versie
+"cancel": Annuleren
+"prompt_revertversion": "Teruggaan naar een oudere versie:"
+"tip_revertversion": Kies naar welke versie moet worden teruggegaan
+"action_movepoi": Verplaats de POI (nuttige plaats)
+"tip_splitway": "Splits de 'way' op het geselecteerde punt (X)"
+"tip_direction": "Richting van de 'way' - Klik om de richting om te draaien"
+"tip_clockwise": "Gesloten 'way' die met de klok meegaat - Klik om om te draaien"
+"tip_anticlockwise": "Gesloten 'way' die tegen de klok ingaat - Klik om om te draaien"
+"tip_noundo": Niets ongedaan te maken
+"action_mergeways": twee wegen samenvoegen
+"tip_gps": Laat de gps-tracks zien (G)
+"tip_options": Opties (kies de achtergrondkaart)
+"tip_addtag": Voeg een nieuwe tag toe
+"tip_addrelation": Voeg toe aan een relatie
+"tip_repeattag": "Herhaal de tags van de vorige geselecteerde 'way' (R)"
+"tip_alert": Foutmelding - Klik voor meer details
+"hint_toolong": "Te lang om vrij te geven:\nSplits\n de 'ways' in kleinere stukken"
+"hint_loading": "Bezig de 'ways' te laden"
+"prompt_welcome": Welkom bij OpenStreetMap!
+"prompt_introduction": "Klik beneden op een knop om te beginnen met mappen. Als u klikt op 'Start', wijzigt u de kaart direct. De veranderingen zijn gewoonlijk elke donderdag te zien op de kaart. Als u klikt op 'Oefenen', zullen uw wijzingen niet bewaard worden, zodat u kunt oefenen.\n\nOnthoud de belangrijkste regels van OpenStreetMap:\n\n"
+"prompt_dontcopy": Kopieer nooit van andere kaarten
+"prompt_accuracy": Precisie is belangrijk - breng alleen gebieden die u kent in kaart
+"prompt_enjoy": En veel plezier!
+"dontshowagain": Laat dit bericht niet meer zien
+"prompt_start": Begin te mappen met OpenStreetMap
+"prompt_practise": Oefenen - Veranderingen worden niet bewaard
+"practicemode": Oefenmodus
+"help": Help
+"prompt_help": Leer hoe u Potlatch, deze applicatie, moet gebruiken
+"track": Track
+"prompt_track": "Converteer uw gps-tracks in 'ways' om deze te gebruiken"
+"action_deletepoint": Verwijder een punt
+"deleting": verwijder
+"action_cancelchanges": veranderingen ongedaan maken naar
+"emailauthor": \n\nStuur een mail naar richard\@systemeD.net met een bug report, schrijf wat je aan het doen was.
+"error_connectionfailed": "Sorry - de verbinding met de server is verbroken. Recente veranderingen zijn misschien niet opgeslagen.\n\nOpnieuw proberen?"
+"option_background": "Achtergrond:"
+"option_fadebackground": Achtergrond lichter maken
+"option_thinlines": Altijd dunne lijnen gebruiken
+"option_custompointers": Pen- en handcursors gebruiken
+"tip_presettype": Kies welk type presets in het menu getoond moet worden.
+"action_waytags": "tags instellen op een 'way'"
+"action_pointtags": "tags instellen op een 'point'"
+"action_poitags": tags instellen op een POI
+"action_addpoint": "'Node' toevoegen aan eind van de 'way'"
+"add": Toevoegen
+"prompt_addtorelation": Voeg $1 toe aan een relatie
+"prompt_selectrelation": Selecteer een relatie om aan toe te voegen, of maak een nieuwe.
+"createrelation": Nieuwe relatie maken
+"tip_selectrelation": Toevoegen aan gekozen route
+"action_reverseway": "'Way' omdraaien"
+"tip_undo": $1 ongedaan maken (Z)
+"error_noway": "'Way' $1 niet gevonden (hebt u de kaart weggeschoven?), kan dus niet ongedaan maken."
+"error_nosharedpoint": "De 'ways' $1 en $2 hebben geen gemeenschappelijk punt meer, dus ik kan het splitsen niet ongedaan maken."
+"error_nopoi": POI niet gevonden (hebt u de kaart weggeschoven?), kan dus niet ongedaan maken.
+"prompt_taggedpoints": "Enkele punten op deze 'way' hebben tags. Wil je hem zeker verwijderen?"
+"action_insertnode": "Punt toevoegen aan 'way'"
+"action_splitway": "'Way' splitsen"
+"editingmap": Kaart aanpassen
+"start": Start
+"play": Oefenen
+"delete": Verwijderen
+"a_way": "$1 een 'way'"
+"a_poi": $1 een POI
+"action_moveway": "'Way' verplaatsen"
+"way": "'Way'"
+"point": Punt
+"ok": OK
+"existingrelation": Toevoegen aan bestaande relatie
+"findrelation": Relatie zoeken met
+"norelations": Geen relaties in huidig gebied
+"advice_toolong": "Te lang om te unlocken - splits de 'way' in kortere stukken"
+"advice_waydragged": "'Way' verplaatst (Z om ongedaan te maken)"
+"advice_tagconflict": Tags komen niet overeen - a.u.b. nakijken (Z om ongedaan te maken)
+"advice_nocommonpoint": "De 'ways' hebben geen gemeenschappelijk punt"
+"option_warnings": Floating warnings weergeven
+"reverting": omdraaien
diff --git a/config/potlatch/localised/no/localised.yaml b/config/potlatch/localised/no/localised.yaml
new file mode 100755 (executable)
index 0000000..848a29f
--- /dev/null
@@ -0,0 +1,79 @@
+"action_createpoi": lage et POI (interessant punkt)
+"hint_pointselected": punkt valgt\n(shift+trykk punktet for å\nstarte en ny linje)
+"action_movepoint": flytter punkt
+"hint_drawmode": trykk for å legge til punkt\ndobbeltklikk eller enter\nfor å avslutte linje
+"hint_overendpoint": over endepunkt\ntrykk for å koble sammen\nshift+trykk for å slå sammen
+"hint_overpoint": over punkt\ntrykk for å koble sammen
+"gpxpleasewait": Vennligst vent mens sporloggen behandles.
+"revert": Tilbakestill
+"cancel": Avbryt
+"prompt_revertversion": "Tilbakestill til tidligere lagret versjon:"
+"tip_revertversion": Velg versjonen det skal tilbakestilles til
+"action_movepoi": flytter et POI (interessant punkt)
+"tip_splitway": Del vei i valgt punkt (X)
+"tip_direction": Veiretning, trykk for å snu
+"tip_clockwise": Sirkulær vei med klokka, trykk for å snu
+"tip_anticlockwise": Sirkulær vei mot klokka, trykk for å snu
+"tip_noundo": Ingenting å angre
+"action_mergeways": slår sammen to veier
+"tip_gps": Vis GPS sporlogger (G)
+"tip_options": Sett valg (velg kartbakgrunn)
+"tip_addtag": Legg til merke
+"tip_addrelation": Legg til i en relasjon
+"tip_repeattag": Gjenta merker fra sist valgte vei (R)
+"tip_alert": Det oppstod en feil, trykk for detaljer
+"hint_toolong": "for lang til å låse opp:\nvennligst del opp\ni mindre veier"
+"hint_loading": laster veier
+"prompt_welcome": Velkommen til OpenStreetMap!
+"prompt_introduction": "Velg en knapp nedenfor for å redigere. Hvis du velger 'Start' redigerer du kartet direkte, endringer blir vanligvis synlige hver torsdag. Hvis du velger 'Øve' lagres ikke endringer, så du kan øve deg på å redigere.\nHusk OpenStreetMaps gyldne regler:\n\n"
+"prompt_dontcopy": Ikke kopier fra andre kart
+"prompt_accuracy": Nøyaktighet er viktig, bare kartlegg steder du har besøkt
+"prompt_enjoy": Og ha det morsomt!
+"dontshowagain": Ikke vis denne meldingen igjen
+"prompt_start": Begynn å kartlegge med OpenStreetMap.
+"prompt_practise": Øv på kartlegging, endringer blir ikke lagret.
+"practicemode": Øvelsesmodus
+"help": Hjelp
+"prompt_help": Finn ut hvordan du bruker Potlatch, programmet for kartredigering.
+"track": Spor
+"prompt_track": Overfør dine GPS-sporinger til (låste) veier for redigering.
+"action_deletepoint": sletter et punkt
+"deleting": sletter
+"action_cancelchanges": avbryter endringer av
+"emailauthor": \n\nVennligst send en epost (på engelsk) til richard\@systemeD.net med en feilrapport, og forklar hva du gjorde når det skjedde.
+"error_connectionfailed": "Beklager - forbindelsen til OpenStreetMap-tjeneren feilet, eventuelle nye endringer har ikke blitt lagret.\n\nVil du prøve på nytt?"
+"option_background": "Bakgrunn:"
+"option_fadebackground": Fjern bakgrunn
+"option_thinlines": Bruk tynne linjer uansett forstørrelse
+"option_custompointers": Bruk penn- og håndpekere
+"tip_presettype": Velg hva slags forhåndsinstillinger som blir vist i menyen
+"action_waytags": sette merker på en vei
+"action_pointtags": sette merker på et punkt
+"action_poitags": sette merker på et POI (interessant punkt)
+"action_addpoint": legger til et punkt på enden av en vei
+"add": Legg til
+"prompt_addtorelation": Legg $1 til en relasjon
+"prompt_selectrelation": Velg en relasjon som allerede finnes, eller lag en ny relasjon
+"createrelation": Lag en ny relasjon
+"tip_selectrelation": Legg til den valgte ruta
+"action_reverseway": snur en vei bak fram
+"tip_undo": Angre $1 (Z)
+"error_noway": Fant ikke veien $1 så det er ikke mulig å angre. (Kanskje den ikke er på skjermen lenger?)
+"error_nosharedpoint": Veiene $1 og $2 deler ikke noe punkt lenger, så det er ikke mulig å angre.
+"error_nopoi": Fant ikke POI-et, så det er ikke mulig å angre. (Kanskje den ikke er på skjermen lenger?)
+"prompt_taggedpoints": Noen av punktene på denne veien er merket. Vil du virkelig slette?
+"action_insertnode": legge til et punkt på veien
+"action_splitway": dele en vei
+"editingmap": Redigerer kart
+"start": Start
+"play": Øve
+"delete": Slett
+"a_way": $1 en vei
+"a_poi": $1 et POI
+"action_moveway": flytter en vei
+"way": Vei
+"point": Punkt
+"ok": Ok
+"existingrelation": Legg til en relasjon som er her fra før
+"findrelation": Finn en relasjon som inneholder
+"norelations": Ingen relasjoner i området på skjermen
diff --git a/config/potlatch/localised/pt-BR/localised.yaml b/config/potlatch/localised/pt-BR/localised.yaml
new file mode 100755 (executable)
index 0000000..1cebd38
--- /dev/null
@@ -0,0 +1,75 @@
+"action_createpoi": Criando um ponto de interesse (POI)
+"hint_pointselected": Ponto selecionado\n(clique no ponto pressionando o shift para\niniciar uma nova linha)
+"action_movepoint": Movendo um ponto
+"hint_drawmode": Clique para adicionar um ponto\nDuplo clique/Enter\npara finalizar a linha
+"hint_overendpoint": Sobre o ponto final\nclique para ligar\nclique pressionando o shift para mesclar
+"hint_overpoint": Sobre o ponto\nclique para conectar
+"gpxpleasewait": Favor aguardar enquanto a trilha GPX é processada.
+"revert": Reverter
+"cancel": Cancelar
+"prompt_revertversion": "Retornar a uma versão previamente salva:"
+"tip_revertversion": Escolha a versão para reverter
+"action_movepoi": Movendo um ponto de interesse (POI)
+"tip_splitway": Dividir caminho no ponto selecionado
+"tip_direction": Direção do caminho - clique para inverter
+"tip_clockwise": Caminho circular no sentido horário - clique para inverter
+"tip_anticlockwise": Caminho circular no sentido anti-horário - clique para inverter
+"tip_noundo": Nada para desfazer
+"action_mergeways": Mesclando dois caminhos
+"tip_gps": Mostrar trilhas do GPS
+"tip_options": Configurar opções (escolha o plano de fundo do mapa)
+"tip_addtag": Adicionar um novo tag (rótulo)
+"tip_addrelation": Adicionar a uma relação
+"tip_repeattag": Repetir tags (rótulos) do caminho previamente selecionado (R)
+"tip_alert": Ocorreu um erro - clique para mais informações
+"hint_toolong": "Muito longo para destravar:\nfavor dividir em\ncaminhos mais curtos"
+"hint_loading": Carregando caminhos
+"prompt_welcome": Bem-vindo ao OpenStreetMap!
+"prompt_introduction": "Escolha um botão abaixo para começar a editar. Se você clicar em 'Iniciar', você estará editando o mapa principal diretamente - as mudanças geralmente aparecem toda quinta-feira. Se você clicar em 'Play', as suas mudanças não serão salvas, de forma que você pode praticar a edição.\n\nLembre-se das regras de ouro do OpenStreetMap:\n\n"
+"prompt_dontcopy": Não copie de outros mapas
+"prompt_accuracy": Precisão é importante - apenas coloque mapas de onde você já esteve
+"prompt_enjoy": E divirta-se!
+"dontshowagain": Não mostre esta mensagem novamente
+"prompt_start": Comece a mapear com o OpenStreetMap.
+"prompt_practise": Pratique o mapeamento - suas alterações não serão salvas.
+"practicemode": Modo de prática
+"help": Ajuda
+"prompt_help": Descubra como utilizar o Potlatch, este editor de mapas.
+"track": Trilha
+"prompt_track": Converta a sua trilha GPS para caminhos (trancados) a serem editados.
+"action_deletepoint": Apagando um ponto
+"deleting": Apagando
+"action_cancelchanges": Cancelando as mudanças de
+"emailauthor": \n\nFavor enviar um e-mail a richard\@systemeD.net com um relatório de erro, informando o que você estava fazendo na hora.
+"error_connectionfailed": Sinto muito - a conexão ao servidor do OpenStreetMap falhou. Algumas alterações recentes não foram salvas.\n\nVocê gostaria de tentar novamente?
+"option_background": "Plano de fundo:"
+"option_fadebackground": Esmaecer o plano de fundo
+"option_thinlines": Utilize linhas finas em todas as escalas
+"option_custompointers": Utilize os apontadores caneta e mão
+"tip_presettype": Escolha quais tipos predefinidos são oferecidos neste menu.
+"action_waytags": Ajustando tags (rótulos) em um caminho
+"action_pointtags": Ajustando tags (rótulos) em um ponto
+"action_poitags": Ajustando tags (rótulos) em um ponto de interesse (POI)
+"action_addpoint": Adicionando um nó ao fim do caminho
+"add": Adicionar
+"prompt_addtorelation": Adicionar $1 a uma relação
+"prompt_selectrelation": Selecionar uma relação existente para adicionar a, ou criar, uma nova relação
+"createrelation": Criar uma nova relação
+"tip_selectrelation": Adicionar à rota escolhida
+"action_reverseway": Invertendo um caminho
+"tip_undo": Desfazer $1 (Z)
+"error_noway": Caminho $1 não foi encontrado (talvez você mudou a sua posição?), por isso não posso desfazer.
+"error_nosharedpoint": Caminhos $1 e $2 não compartilham mais um mesmo ponto, então a divisão não pode ser desfeita.
+"error_nopoi": O ponto de interesse (POI) não foi encontrado (talvez você tenha mudado a sua posição?), por isso não posso desfazer.
+"prompt_taggedpoints": Alguns dos pontos nesse caminho possuem tags (rótulos). Deseja realmente apagá-los?
+"action_insertnode": Adicionando um nó em um caminho
+"action_splitway": Dividindo um caminho
+"editingmap": Editar o mapa
+"start": Iniciar
+"play": Praticar
+"delete": Apagar
+"a_way": $1 um caminho
+"a_poi": $1 um ponto de interesse (POI)
+"action_moveway": Movendo um caminho
+"way": Caminho
+"point": Ponto
diff --git a/config/potlatch/localised/ro/localised.yaml b/config/potlatch/localised/ro/localised.yaml
new file mode 100755 (executable)
index 0000000..af9e21b
--- /dev/null
@@ -0,0 +1,13 @@
+"action_createpoi": creare punct de interes (POI)
+"hint_pointselected": Punctul selectat\n(shift-click pe punct pentru\no linie nouă)
+"action_movepoint": Mișcă un punct
+"hint_drawmode": click pentru a adăuga un punct\ndouble-click/Return\npentru a termina linia
+"hint_overendpoint": deasupra la endpoint\nclick to join\nshift-click to merge
+"hint_overpoint": over point\nclick to join"
+"gpxpleasewait": Please wait while the GPX track is processed.
+"revert": Inversează
+"cancel": Anuleaza
+"prompt_revertversion": "Revert to an earlier saved version:"
+"tip_revertversion": Choose the version to revert to
+"action_movepoi": Miscă POI
+"tip_splitway": Choose the version to revert to
diff --git a/config/potlatch/localised/ru/localised.yaml b/config/potlatch/localised/ru/localised.yaml
new file mode 100755 (executable)
index 0000000..be470cd
--- /dev/null
@@ -0,0 +1,85 @@
+"action_createpoi": создание точки интереса (POI)
+"hint_pointselected": точка выбрана\n(кликните с нажатым Shift на точку\nчтобы начать новую линию)
+"action_movepoint": перемещение точки
+"hint_drawmode": кликните для добавления точки,\nдвойной клик или Enter\nчтобы закончить линию
+"hint_overendpoint": над конечной точкой\nclick для соединения\nshift-click для слияния
+"hint_overpoint": над точкой\nclick для соединения"
+"gpxpleasewait": Пожалуйста, подождите — GPX-треки обрабатываются.
+"revert": Восстановить
+"cancel": Отмена
+"prompt_revertversion": "Восстановить ранее сохраненную версию:"
+"tip_revertversion": Выберите версию для восстановления
+"action_movepoi": перемещение точки интереса (POI)
+"tip_splitway": Разделить линию в текущей точке (X)
+"tip_direction": Направление линии — изменить на противоположное
+"tip_clockwise": Замкнутая линия по часовой стрелке - изменить на противоположное
+"tip_anticlockwise": Замкнутая линия против часовой стрелки - изменить на противоположное
+"tip_noundo": Нечего отменять
+"action_mergeways": соединение двух линий
+"tip_gps": Показать GPS треки (G)
+"tip_options": Задать настройки (выбрать карту-подложку)
+"tip_addtag": Добавить новый тег
+"tip_addrelation": Добавить новое отношение (relation)
+"tip_repeattag": Повторить теги с предыдущей выбранной линии (R)
+"tip_alert": Произошла ошибка — нажмите для получения подробностей
+"hint_toolong": "слишком длинная линия для разблокировки:\пожалуйста, разбейте ее\nна более короткие линии"
+"hint_loading": загрузка линий
+"prompt_welcome": Добро пожаловать в OpenStreetMap!
+"prompt_introduction": "Выберите кнопку. Если вы нажмёте «Старт», вы начнёте редактировать карту. Основная карта обновляется по средам. Если вы нажмёте «Тренировка», ваши изменения на карте сохраняться не будут и вы сможете практиковаться в редактировании.\n\nЗапомните основные правила OpenStreetMap:\n\n"
+"prompt_dontcopy": Не копируйте информацию с других карт
+"prompt_accuracy": Точность важна. Составляйте карты только для тех мест, в которых вы были.
+"prompt_enjoy": Приятного вам времяпровождения!
+"dontshowagain": Не показывать это сообщение снова.
+"prompt_start": Начать редактировать карту OpenStreetMap.
+"prompt_practise": Тренировочное редактирование — ваши изменения не будут сохранены.
+"practicemode": Тренировочный режим
+"help": Помощь
+"prompt_help": Узнать, как пользоваться редактором.
+"track": Трек
+"prompt_track": Конвертировать GPS-трек в линию(заблокированную), для редактирования.
+"action_deletepoint": удаление точки
+"deleting": удаление
+"action_cancelchanges": отмена изменений к
+"emailauthor": "\n\nПожалуйста, отправьте сообщение об ошибке (на английском языке) на электронную почту: richard\@systemeD.net, с указанием того, какие действия вы совершали."
+"error_connectionfailed": "Извините, соединение с сервером OpenStreetMap разорвано. Все текущие изменения не были сохранены.\n\nПопробовать ещё раз?"
+"option_background": "Фон:"
+"option_fadebackground": Светлый фон
+"option_thinlines": Использовать тонкие линии на всех масштабах
+"option_custompointers": Использовать курсоры пера и руки
+"tip_presettype": Выберите, какой набор тегов отображать в меню.
+"action_waytags": установку тегов для линии
+"action_pointtags": установку тегов для точки
+"action_poitags": установку тегов для точки интереса (POI)
+"action_addpoint": добавление точки в конец линии
+"add": Добавить
+"prompt_addtorelation": Добавить $1 в отношение
+"prompt_selectrelation": Выберите существующее отношение или создайте новое.
+"createrelation": Создать новое отношение
+"tip_selectrelation": Добавить в выбранное отношение
+"action_reverseway": изменение направления линии
+"tip_undo": Отменить $1 (Z)
+"error_noway": Линия $1 не найдена (возможно вы отошли в сторону?), поэтому невозможно отменить.
+"error_nosharedpoint": Линии $1 и $2 больше не содержат общих точек, поэтому невозможно отменить разделение.
+"error_nopoi": Точка интереса(POI) не найдена (возможно вы отошли в сторону?), поэтому невозможно отменить.
+"prompt_taggedpoints": Некоторые точки данной линии содержат теги. Действительно удалить?
+"action_insertnode": добавление точки в линию
+"action_splitway": разбиение линии
+"editingmap": Редактирование карты
+"start": Старт
+"play": Тренировка
+"delete": Удалить
+"a_way": $1 линия
+"a_poi": $1 точка интереса (POI)
+"action_moveway": перемещение линии
+"way": Линия
+"point": Точка
+"ok": Ok
+"existingrelation": Добавить в существующее отношение
+"findrelation": Найти отношения
+"norelations": Нет отношений в текущей области
+"advice_toolong": Длина слишком велика. Пожалуйста, разделите на более короткие линии
+"advice_waydragged": Линия передвинута (Z для отмены)
+"advice_tagconflict": Тэги не совпадают, пожалуйста проверьте (Z для отмены)
+"advice_nocommonpoint": Линии не имеют общей точки
+"option_warnings": Показывать всплывающие предупреждения
+"reverting": возвращается
diff --git a/config/potlatch/localised/sv/localised.yaml b/config/potlatch/localised/sv/localised.yaml
new file mode 100755 (executable)
index 0000000..aa7d36c
--- /dev/null
@@ -0,0 +1,75 @@
+"action_createpoi": Skapa en POI, "punkt av intresse"
+"hint_pointselected": En punkt är vald\n(Shift-klicka på punkten för att starta en ny väg)
+"action_movepoint": Flytta en punkt
+"hint_drawmode": Klicka för att lägga till en punkt\n Dubbelklicka för att avsluta vägen.
+"hint_overendpoint": över en slutpunkt\nklicka för att sätta fast\nshift-klicka för att slå samman
+"hint_overpoint": över en punkt\nklicka för att sätta fast"
+"gpxpleasewait": GPX-loggen bearbetas, var god vänta.
+"revert": Använd denna version
+"cancel": Avbryt
+"prompt_revertversion": Gå tillbaks till en tidigare version
+"tip_revertversion": Välj version som ska användas
+"action_movepoi": Flytta på en POI, "punkt av intresse"
+"tip_splitway": Dela upp vägen i två delar vid den valda punkten (x)
+"tip_direction": Vägens riktning - klicka för att vända vägen
+"tip_clockwise": Vägen är rund, riktad medurs, klicka för att vända riktning
+"tip_anticlockwise": Vägen är rund, riktad moturs, klicka för att vända riktning
+"tip_noundo": Finns inget att ångra
+"action_mergeways": Slå samman två vägar
+"tip_gps": Visa GPS-spår (G)
+"tip_options": Ändra inställningar (välj bakgrundskarta)
+"tip_addtag": Lägg till en ny etikett (tag)
+"tip_addrelation": Lägg till en ny relation
+"tip_repeattag": Kopiera etiketterna (taggarna) från den senast valda vägen (R)
+"tip_alert": Ett fel har inträffat - klicka för detaljer
+"hint_toolong": "för lång för att låsa upp:\ndela upp vägen\ni mindre delar"
+"hint_loading": laddar vägar
+"prompt_welcome": Välkommen till OpenStreetMap!
+"prompt_introduction": "För att börja editera, klicka på en av knapparna nedan. Om du klickar på 'Start' så arbetar du direkt mot huvudkartan, och ändringar sparas automatiskt - ändringarna syns normalt varje torsdag efter huvudkartan uppdaterats. Om du klickar 'Prova' så kommer inget att sparas, ett bra sätt att träna på att använda programmet.\n\nKom ihåg OpenStreetMaps gyllene regler:\n\n"
+"prompt_dontcopy": Kopiera inget från andra kartor
+"prompt_accuracy": Noggrannhet är viktigt - Ändra bara kartan på ställen du varit
+"prompt_enjoy": och ha roligt!
+"dontshowagain": Visa inte detta medelande igen
+"prompt_start": Börja göra ändringar på OpenStreetMaps karta.
+"prompt_practise": Träna på kartering - inga ändringar kommer att sparas.
+"practicemode": Träningsläge
+"help": Hjälp
+"prompt_help": Information hur man använder Potlatch, den här karteditorn.
+"track": Spår
+"prompt_track": Omvandla dina GPS-spår till (låsta) vägar för editering.
+"action_deletepoint": Tar bort en punkt
+"deleting": Tar bort
+"action_cancelchanges": avbryter ändringar på
+"emailauthor": \n\nVänligen e-posta richard\@systemeD.net med en felrapport som beskriver vad du gjorde när felet inträffade.
+"error_connectionfailed": "Tyvärr har vi tappat kontakten med OpenStreetMap serven. Nygjorda ändringar har inte kunnat sparas.\n\nFörsöka återansluta?"
+"option_background": "Bakgrund:"
+"option_fadebackground": Mattad bakgrund
+"option_thinlines": Använd tunna linjer på alla skalor
+"option_custompointers": Använd penna och handpekare
+"tip_presettype": Välj vilka typer av inställningar som syns i menyn.
+"action_waytags": lägger till taggar på en väg
+"action_pointtags": lägger till taggar på en punkt
+"action_poitags": lägger till taggar på en POI
+"action_addpoint": lägger till en punkt på slutet av en väg
+"add": Lägg till
+"prompt_addtorelation": Lägg till $1 till en relation
+"prompt_selectrelation": Välj en befintlig relation att addera till, eller skapa en ny relation.
+"createrelation": Skapa en ny relation
+"tip_selectrelation": Addera till den valda rutten
+"action_reverseway": Byter rikting på en väg
+"tip_undo": Ångra $1 (Z)
+"error_noway": Vägen $1 kan inte hittas (du kanske har flyttat den utanför bilden?) så det går inte att ångra.
+"error_nosharedpoint": Vägarna $1 och $2 möts inte i någon punkt längre, så det går inte att ångra delningen.
+"error_nopoi": "POI:n kan inte hittas (du kanske har flyttat den utanför bilden?) så det går inte att ångra."
+"prompt_taggedpoints": Några en punkterna i denna väg är taggade, vill du verkligen ta bort den?
+"action_insertnode": lägger till en punkt till en väg
+"action_splitway": delar upp en väg
+"editingmap": Ändra online kartan
+"start": Start
+"play": Prova
+"delete": Radera
+"a_way": $1 en väg
+"a_poi": $1 en POI
+"action_moveway": flytta en väg
+"way": Väg
+"point": Nod (punkt)
diff --git a/config/potlatch/localised/zh-HANS/localised.yaml b/config/potlatch/localised/zh-HANS/localised.yaml
new file mode 100755 (executable)
index 0000000..7b23576
--- /dev/null
@@ -0,0 +1,75 @@
+"action_createpoi": creating a POI
+"hint_pointselected": point selected\n(shift-click point to\nstart new line)
+"action_movepoint": moving a point
+"hint_drawmode": click to add point\ndouble-click/Return\nto end line
+"hint_overendpoint": over endpoint\nclick to join\nshift-click to merge
+"hint_overpoint": over point\nclick to join"
+"gpxpleasewait": Please wait while the GPX track is processed.
+"revert": Revert
+"cancel": Cancel
+"prompt_revertversion": "Revert to an earlier saved version:"
+"tip_revertversion": Choose the version to revert to
+"action_movepoi": moving a POI
+"tip_splitway": Split way at selected point (X)
+"tip_direction": Direction of way - click to reverse
+"tip_clockwise": Clockwise circular way - click to reverse
+"tip_anticlockwise": Anti-clockwise circular way - click to reverse
+"tip_noundo": Nothing to undo
+"action_mergeways": merging two ways
+"tip_gps": Show GPS tracks (G)
+"tip_options": Set options (choose the map background)
+"tip_addtag": Add a new tag
+"tip_addrelation": Add to a relation
+"tip_repeattag": Repeat tags from the previously selected way (R)
+"tip_alert": An error occurred - click for details
+"hint_toolong": "too long to unlock:\nplease split into\nshorter ways"
+"hint_loading": loading ways
+"prompt_welcome": Welcome to OpenStreetMap!
+"prompt_introduction": "Choose a button below to get editing. If you click 'Start', you'll be editing the main map directly - changes usually show up every Thursday. If you click 'Play', your changes won't be saved, so you can practise editing.\n\nRemember the golden rules of OpenStreetMap:\n\n"
+"prompt_dontcopy": "Don't copy from other maps"
+"prompt_accuracy": "Accuracy is important - only map places you've been"
+"prompt_enjoy": And have fun!
+"dontshowagain": "Don't show this message again"
+"prompt_start": Start mapping with OpenStreetMap.
+"prompt_practise": "Practice mapping - your changes won't be saved."
+"practicemode": Practice mode
+"help": Help
+"prompt_help": Find out how to use Potlatch, this map editor.
+"track": Track
+"prompt_track": Convert your GPS track to (locked) ways for editing.
+"action_deletepoint": deleting a point
+"deleting": deleting
+"action_cancelchanges": cancelling changes to
+"emailauthor": \n\nPlease e-mail richard\@systemeD.net with a bug report, saying what you were doing at the time.
+"error_connectionfailed": "Sorry - the connection to the OpenStreetMap server failed. Any recent changes have not been saved.\n\nWould you like to try again?"
+"option_background": "Background:"
+"option_fadebackground": Fade background
+"option_thinlines": Use thin lines at all scales
+"option_custompointers": Use pen and hand pointers
+"tip_presettype": Choose what type of presets are offered in the menu.
+"action_waytags": setting tags on a way
+"action_pointtags": setting tags on a point
+"action_poitags": setting tags on a POI
+"action_addpoint": adding a node to the end of a way
+"add": Add
+"prompt_addtorelation": Add $1 to a relation
+"prompt_selectrelation": Select an existing relation to add to, or create a new relation.
+"createrelation": Create a new relation
+"tip_selectrelation": Add to the chosen route
+"action_reverseway": reversing a way
+"tip_undo": Undo $1 (Z)
+"error_noway": "Way $1 cannot be found (perhaps you've panned away?) so I can't undo."
+"error_nosharedpoint": "Ways $1 and $2 don't share a common point any more, so I can't undo the split."
+"error_nopoi": "The POI cannot be found (perhaps you've panned away?) so I can't undo."
+"prompt_taggedpoints": Some of the points on this way are tagged. Really delete?
+"action_insertnode": adding a node into a way
+"action_splitway": splitting a way
+"editingmap": Editing map
+"start": Start
+"play": Play
+"delete": Delete
+"a_way": $1 a way
+"a_poi": $1 a POI
+"action_moveway": moving a way
+"way": Way
+"point": Point
index f3a625c..885d1e3 100644 (file)
@@ -133,13 +133,12 @@ module OSM
     attr_reader :provided, :latest, :id, :type
 
     def render_opts
-      { :text => "Version mismatch: Provided " + provided.to_s +
-        ", server had: " + latest.to_s + " of " + type + " " + id.to_s, 
+      { :text => "Version mismatch: Provided #{provided}, server had: #{latest} of #{type} #{id}",
         :status => :conflict, :content_type => "text/plain" }
     end
     
     def to_s
-       "Version mismatch: Provided " + provided.to_s + ", server had: " + latest.to_s + " of " + type + " " + id.to_s
+       "Version mismatch: Provided #{provided}, server had: #{latest} of #{type} #{id}"
     end
   end
 
index cfb6028..1b01a88 100644 (file)
@@ -199,10 +199,10 @@ module Potlatch
         }
       end
 
-         # Read internationalisation
-         localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised.yaml"))
+#        # Read internationalisation
+#        localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised.yaml"))
 
-      [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,localised]
+      [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths]
     end
   end
 
diff --git a/public/potlatch/help.css b/public/potlatch/help.css
new file mode 100644 (file)
index 0000000..99ae8c1
--- /dev/null
@@ -0,0 +1,14 @@
+headline       { font-family: Arial,Helvetica,sans-serif; 
+                         font-size: 18px; 
+                         color: #DDDDFF; } 
+
+largeText      { font-family: Arial,Helvetica,sans-serif; 
+                         font-size: 12px; 
+                         color: #FFFFFF; } 
+
+bodyText       { font-family: Arial,Helvetica,sans-serif; 
+                         font-size: 10px; 
+                         color: #FFFFFF; } 
+
+a:link      { color: #00FFFF; 
+              text-decoration: underline; }
index 41e49cb..ad60cd4 100755 (executable)
Binary files a/public/potlatch/potlatch.swf and b/public/potlatch/potlatch.swf differ