]> git.openstreetmap.org Git - rails.git/commitdiff
Merged 16488:16743 from trunk.
authorMatt Amos <zerebubuth@gmail.com>
Fri, 31 Jul 2009 10:42:06 +0000 (10:42 +0000)
committerMatt Amos <zerebubuth@gmail.com>
Fri, 31 Jul 2009 10:42:06 +0000 (10:42 +0000)
82 files changed:
app/controllers/amf_controller.rb
app/controllers/changeset_controller.rb
app/controllers/geocoder_controller.rb
app/controllers/message_controller.rb
app/models/user.rb
app/models/way.rb
app/views/browse/_map.html.erb
app/views/browse/_navigation.html.erb
app/views/changeset/_changeset.html.erb
app/views/changeset/_changeset_paging_nav.html.erb
app/views/changeset/_changesets.html.erb
app/views/changeset/list.atom.builder
app/views/changeset/list.html.erb
app/views/message/_message_summary.html.erb
app/views/message/_sent_message_summary.html.erb
app/views/message/inbox.html.erb
app/views/message/outbox.html.erb
app/views/user/view.html.erb
config/initializers/i18n.rb
config/locales/be.yml
config/locales/de.yml
config/locales/en.yml
config/locales/es.yml
config/locales/he.yml
config/locales/hi.yml
config/locales/hu.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ko.yml
config/locales/nl.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sl.yml
config/locales/vi.yml
config/locales/yo.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
config/potlatch/autocomplete.txt [changed mode: 0755->0644]
config/potlatch/localised.yaml [deleted file]
config/potlatch/localised/cz/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/da/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/de/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/en/help.html [changed mode: 0755->0644]
config/potlatch/localised/es/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/fi/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/fr/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/hu/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/it/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/ja/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/ko/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/lolcat/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/nl/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/no/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/pt-BR/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/ro/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/ru/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/sv/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/vi/localised.yaml
config/potlatch/localised/zh-HANS/localised.yaml [changed mode: 0755->0644]
config/potlatch/localised/zh-HANT/localised.yaml
config/routes.rb
db/migrate/036_add_visible_to_message.rb [new file with mode: 0644]
db/migrate/037_add_sender_visible_to_message.rb [new file with mode: 0644]
db/migrate/038_create_oauth_tables.rb [moved from db/migrate/036_create_oauth_tables.rb with 100% similarity]
db/migrate/039_add_fine_o_auth_permissions.rb [moved from db/migrate/037_add_fine_o_auth_permissions.rb with 100% similarity]
doc/README_FOR_APP
lib/osm.rb
lib/potlatch.rb
lib/utf8.rb [new file with mode: 0644]
lib/validators.rb
public/javascripts/map.js
public/potlatch/potlatch.swf [changed mode: 0755->0644]
public/potlatch/ymap.swf [changed mode: 0755->0644]
script/locale/diff
test/fixtures/gps_points.yml
test/functional/amf_controller_test.rb
vendor/plugins/globalize2/lib/globalize/backend/pluralizing.rb
vendor/plugins/http_accept_language/lib/http_accept_language.rb
vendor/plugins/rails-i18n/locale/is.yml

index 3fa47d0881dbe9e5894079a9c771d3f0e0919ec2..aa030ca92c60edfa2a54ba0dab1e14ee2b039c38 100644 (file)
@@ -76,7 +76,7 @@ class AmfController < ApplicationController
         logger.info("Executing AMF #{message}(#{args.join(',')}):#{index}")
 
         case message
-          when 'getpresets';        results[index]=AMF.putdata(index,getpresets(args[0]))
+          when 'getpresets';        results[index]=AMF.putdata(index,getpresets(*args))
           when 'whichways';         results[index]=AMF.putdata(index,whichways(*args))
           when 'whichways_deleted'; results[index]=AMF.putdata(index,whichways_deleted(*args))
           when 'getway';            results[index]=AMF.putdata(index,getway(args[0].to_i))
@@ -213,13 +213,21 @@ class AmfController < ApplicationController
   # Return presets (default tags, localisation etc.):
   # uses POTLATCH_PRESETS global, set up in OSM::Potlatch.
 
-  def getpresets(lang) #:doc:
-    lang.gsub!(/[^\w\-]/,'')
+  def getpresets(usertoken,lang) #:doc:
+    user = getuser(usertoken)
+
+    if user && !user.languages.empty?
+      request.user_preferred_languages = user.languages
+    end
+
+    lang = request.compatible_language_from(getlocales)
 
     begin
+      # if not, try the browser language
       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
+      # fall back to hardcoded English text
+      localised = ""
     end
 
     begin
@@ -518,6 +526,8 @@ class AmfController < ApplicationController
     amf_handle_error("'putrelation' #{relid}")  do
       user = getuser(usertoken)
       if !user then return -1,"You are not logged in, so the relation could not be saved." end
+      if !tags_ok(tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end
+      tags = strip_non_xml_chars tags
 
       relid = relid.to_i
       visible = (visible.to_i != 0)
@@ -604,6 +614,8 @@ class AmfController < ApplicationController
       user = getuser(usertoken)
       if !user then return -1,"You are not logged in, so the way could not be saved." end
       if pointlist.length < 2 then return -2,"Server error - way is only #{points.length} points long." end
+      if !tags_ok(attributes) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end
+      attributes = strip_non_xml_chars attributes
 
       originalway = originalway.to_i
       pointlist.collect! {|a| a.to_i }
@@ -628,6 +640,11 @@ class AmfController < ApplicationController
           node.lat = lat
           node.lon = lon
           node.tags = a[4]
+
+          # fixup node tags in a way as well
+          if !tags_ok(node.tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end
+          node.tags = strip_non_xml_chars node.tags
+
           node.tags.delete('created_by')
           node.version = version
           if id <= 0
@@ -700,6 +717,8 @@ class AmfController < ApplicationController
     amf_handle_error("'putpoi' #{id}") do
       user = getuser(usertoken)
       if !user then return -1,"You are not logged in, so the point could not be saved." end
+      if !tags_ok(tags) then return -1,"One of the tags is invalid. Please pester Adobe to fix Flash on Linux." end
+      tags = strip_non_xml_chars tags
 
       id = id.to_i
       visible = (visible.to_i == 1)
@@ -851,6 +870,34 @@ class AmfController < ApplicationController
     }
   end
 
+  def getlocales
+    Dir.glob("#{RAILS_ROOT}/config/potlatch/localised/*").collect { |f| File.basename(f) }
+  end
+  
+  ##
+  # check that all key-value pairs are valid UTF-8.
+  def tags_ok(tags)
+    tags.each do |k, v|
+      return false unless UTF8.valid? k
+      return false unless UTF8.valid? v
+    end
+    return true
+  end
+
+  ##
+  # strip characters which are invalid in XML documents from the strings
+  # in the +tags+ hash.
+  def strip_non_xml_chars(tags)
+    new_tags = Hash.new
+    unless tags.nil?
+      tags.each do |k, v|
+        new_k = k.delete "\000-\037", "^\011\012\015"
+        new_v = v.delete "\000-\037", "^\011\012\015"
+        new_tags[new_k] = new_v
+      end
+    end
+    return new_tags
+  end
 
   # ====================================================================
   # Alternative SQL queries for getway/whichways
index cc1758bf35696742c30e758d20621fb80086ccf1..4d9c6839edb3aeceb9f931dd4b830d49d445dddd 100644 (file)
@@ -285,15 +285,25 @@ class ChangesetController < ApplicationController
       bbox_link = "<a href='#{url_for(:controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes")}'>#{bbox.to_s}</a>"
     end
 
-    @title =  t 'changeset.list.title'
+    if user
+      user_link = "<a href='#{url_for(:controller => "user", :action => "view", :display_name => user.display_name)}'>#{user.display_name}</a>"
+    end
 
     if user and bbox
-      @description = t 'changeset.list.description_user_bbox', :user => user.display_name, :bbox => bbox_link
+      @title =  t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s
+      @heading =  t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s
+      @description = t 'changeset.list.description_user_bbox', :user => user_link, :bbox => bbox_link
     elsif user
-      @description = t 'changeset.list.description_user', :user => user.display_name
+      @title =  t 'changeset.list.title_user', :user => user.display_name
+      @heading =  t 'changeset.list.heading_user', :user => user.display_name
+      @description = t 'changeset.list.description_user', :user => user_link
     elsif bbox
+      @title =  t 'changeset.list.title_bbox', :bbox => bbox.to_s
+      @heading =  t 'changeset.list.heading_bbox', :bbox => bbox.to_s
       @description = t 'changeset.list.description_bbox', :bbox => bbox_link
     else
+      @title =  t 'changeset.list.title'
+      @heading =  t 'changeset.list.heading'
       @description = t 'changeset.list.description'
     end
 
index 1b2ae340b58c38912fe76edb0827b62a6dabf3a4..8195b0d473c511bb7a9d6de108d2283bcff99a18 100644 (file)
@@ -3,6 +3,7 @@ class GeocoderController < ApplicationController
   require 'net/http'
   require 'rexml/document'
 
+  before_filter :authorize_web
   before_filter :set_locale
 
   def search
index e1062bc9f6e89559e322d63a9a85d176b74dcaf0..db40cc03f7922b33625eb7ed9f17391e3b86b6a0 100644 (file)
@@ -104,5 +104,26 @@ class MessageController < ApplicationController
     @title = t'message.no_such_user.title'
     render :action => 'no_such_user', :status => :not_found
   end
+
+  # Delete the message.
+  def delete
+    if params[:message_id]
+      id = params[:message_id]
+      message = Message.find_by_id(id)
+      message.from_user_visible = false if message.sender == @user
+      message.to_user_visible = false if message.recipient == @user
+      if message.save
+        flash[:notice] = t 'message.delete.deleted'
+
+        if params[:referer]
+          redirect_to params[:referer]
+        else
+          redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
+        end
+      end
+    end
+  rescue ActiveRecord::RecordNotFound
+    @title = t'message.no_such_user.title'
+    render :action => 'no_such_user', :status => :not_found
+  end
 end
index 90d3835ac8ae87266c14ae31ed595aaba6129b00..5b6a97f39d884d53aecb8db4109bd49f6fa42f48 100644 (file)
@@ -1,11 +1,11 @@
 class User < ActiveRecord::Base
   require 'xml/libxml'
 
-  has_many :traces
+  has_many :traces, :conditions => { :visible => true }
   has_many :diary_entries, :order => 'created_at DESC'
-  has_many :messages, :foreign_key => :to_user_id, :order => 'sent_on DESC'
-  has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => {:message_read => false}, :order => 'sent_on DESC'
-  has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :order => 'sent_on DESC'
+  has_many :messages, :foreign_key => :to_user_id, :conditions => { :to_user_visible => true }, :order => 'sent_on DESC'
+  has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :message_read => false }, :order => 'sent_on DESC'
+  has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :conditions => { :from_user_visible => true }, :order => 'sent_on DESC'
   has_many :friends, :include => :befriendee, :conditions => ["users.visible = ?", true]
   has_many :tokens, :class_name => "UserToken"
   has_many :preferences, :class_name => "UserPreference"
index 8788bd671b1e2ffdd9b1c9bd82c8f371edabc45a..e2641873284d5e84de69b47a220ed4c7cfbd6655 100644 (file)
@@ -234,7 +234,7 @@ class Way < ActiveRecord::Base
   def preconditions_ok?(old_nodes = [])
     return false if self.nds.empty?
     if self.nds.length > APP_CONFIG['max_number_of_way_nodes']
-      raise OSM::APITooManyWayNodesError.new(self.nds.length, APP_CONFIG['max_number_of_way_nodes'])
+      raise OSM::APITooManyWayNodesError.new(self.id, self.nds.length, APP_CONFIG['max_number_of_way_nodes'])
     end
 
     # check only the new nodes, for efficiency - old nodes having been checked last time and can't
index f84a2ec9f3d034d3bd7ebc0b1f58ca0d71f89d73..5bb83b6bfb5f523234d719d24929f3c3e7d64e4b 100644 (file)
@@ -1,19 +1,21 @@
 <%= javascript_include_tag '/openlayers/OpenLayers.js' %>
 <%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
 <%= javascript_include_tag 'map.js' %>
-<td align="right">
-  <% if map.instance_of? Changeset or map.visible %>
-    <div id="small_map" style="width:250px; height: 300px; border: solid 1px black">
-    </div>
-    <span id="loading"><%= t 'browse.map.loading' %></span>
-    <a id="area_larger_map" href=""></a>
-    <% unless map.instance_of? Changeset %>
-      <br />
-      <a id="object_larger_map" href=""></a>
+<td>
+  <div style="width: 250px; margin: auto; text-align: right"">
+    <% if map.instance_of? Changeset or map.visible %>
+      <div id="small_map" style="width:250px; height: 300px; border: solid 1px black">
+      </div>
+      <span id="loading"><%= t 'browse.map.loading' %></span>
+      <a id="area_larger_map" href=""></a>
+      <% unless map.instance_of? Changeset %>
+        <br />
+        <a id="object_larger_map" href=""></a>
+      <% end %>
+    <% else %>
+      <%= t 'browse.map.deleted' %>
     <% end %>
-  <% else %>
-    <%= t 'browse.map.deleted' %>
-  <% end %>
+  </div>
 </td>
 <% if map.instance_of? Changeset or map.visible %>
   <script type="text/javascript">
index 88812c2bb6e29b63eafe225d832a2614f7cec37c..f08e09c04d53692e7219c1bd3ed7a1f155de31de 100644 (file)
@@ -1,40 +1,44 @@
-<div style="float:right; text-align:center; width: 250px;">
+<div style="float:right; text-align:center; width: 100%;">
   <% if @next_by_user or @prev_by_user %>
-    <% if @prev_by_user %>
+    <span class="nowrap">
+      <% if @prev_by_user %>
+        &lt;
+        <%= link_to @prev_by_user.id.to_s,
+                    { :id => @prev_by_user.id },
+                    { :title => t('browse.changeset_navigation.user.prev_tooltip', :user => @prev_by_user.user.display_name) } %>
+        |
+      <% end %>
+      <%=
+      user = (@prev_by_user || @next_by_user).user.display_name
+      link_to h(user),
+              { :controller => "changeset", :action => "list", :display_name => user },
+              { :title => t('browse.changeset_navigation.user.name_tooltip', :user => h(user)) }
+      %>
+      <% if @next_by_user %>
+        |
+        <%= link_to @next_by_user.id.to_s,
+                    { :id => @next_by_user.id },
+                    { :title => t('browse.changeset_navigation.user.next_tooltip', :user => @next_by_user.user.display_name) } %>
+        &gt;
+      <% end %>
+    </span>
+    <br/>
+  <% end %>
+  <span class="nowrap">
+    <% if @prev %>
       &lt;
-      <%= link_to @prev_by_user.id.to_s,
-                  { :id => @prev_by_user.id },
-                  { :title => t('browse.changeset_navigation.user.prev_tooltip', :user => @prev_by_user.user.display_name) } %>
-      |
+      <%= link_to @prev.id.to_s,
+                  { :id => @prev.id },
+                  { :title => t('browse.changeset_navigation.all.prev_tooltip') } %>
     <% end %>
-    <%=
-    user = (@prev_by_user || @next_by_user).user.display_name
-    link_to h(user),
-            { :controller => "changeset", :action => "list", :display_name => user },
-            { :title => t('browse.changeset_navigation.user.name_tooltip', :user => h(user)) }
-    %>
-    <% if @next_by_user %>
-      |
-      <%= link_to @next_by_user.id.to_s,
-                  { :id => @next_by_user.id },
-                  { :title => t('browse.changeset_navigation.user.next_tooltip', :user => @next_by_user.user.display_name) } %>
+    <% if @prev and @next %>
+      | 
+    <% end %>
+    <% if @next %>
+      <%= link_to @next.id.to_s,
+                  { :id => @next.id },
+                  { :title => t('browse.changeset_navigation.all.next_tooltip') } %>
       &gt;
     <% end %>
-    <br/>
-  <% end %>
-  <% if @prev %>
-    &lt;
-    <%= link_to @prev.id.to_s,
-                { :id => @prev.id },
-                { :title => t('browse.changeset_navigation.all.prev_tooltip') } %>
-  <% end %>
-  <% if @prev and @next %>
-    | 
-  <% end %>
-  <% if @next %>
-    <%= link_to @next.id.to_s,
-                { :id => @next.id },
-                { :title => t('browse.changeset_navigation.all.next_tooltip') } %>
-    &gt;
-  <% end %>
+  </span>
 </div>
index f8f00addb35cdffd43c020f47506dca3d23f4c1f..b682f1b4bd68a95a29d1e5b1e252cb48a662c194 100644 (file)
@@ -2,12 +2,17 @@
   <% cl = cycle('table0', 'table1') %>
 
   <td class="<%= cl %>">
-    #<%= changeset.id %>
+    <%=
+      id_link = link_to(changeset.id,
+                        {:controller => 'browse', :action => 'changeset', :id => changeset.id},
+                        {:title => t('changeset.changeset.view_changeset_details')})
+      t'changeset.changeset.id', :id => id_link
+    %>
   </td>
 
   <td class="<%= cl %> date">
     <% if changeset.closed_at > DateTime.now %> <%= t'changeset.changeset.still_editing' %>
-    <% else %><%= changeset.closed_at.strftime("%d %b %Y %H:%M") %><% end %>
+    <% else %><%= l changeset.closed_at, :format => :short %><% end %>
   </td>
 
     
@@ -48,8 +53,4 @@
     %>
   </td>
 
-  <td class="<%= cl %>">
-    <%= link_to t('changeset.changeset.more'), {:controller => 'browse', :action => 'changeset', :id => changeset.id}, {:title => t('changeset.changeset.view_changeset_details')} %> 
-  </td>
-
 </tr>
index 94edfc31ed1f673aceba4fe62a5c50431fb8b449..27bc30981b24b896f0ab35c91d80aebd1e2000c5 100644 (file)
@@ -7,14 +7,5 @@ if (current_page.first_item < current_page.last_item) # if more than 1 changeset
   %>-<%= current_page.last_item %><% 
 end %>
 <%= t'changeset.changeset_paging_nav.of'%> <%= @edit_pages.item_count %>)
-
-<%
-if @edit_pages.page_count > 1 
-       bboxparam = h(params['bbox'])
-       bboxparam = nil if bboxparam==""
-%>
- | <%= pagination_links_each(@edit_pages, {}) { |n| link_to(n,  :display_name => @display_name, :bbox => bboxparam , :page => n) }  %>
-<%
-end
-%>
+ | <%= pagination_links_each(@edit_pages, {}) { |n| link_to(n, params.merge({ :page => n })) }  %>
 </p>
index d9e01235c215d419375c9c36fbca051fe304950b..e177f666e2b0b42b23b71e1153bba2585d7b2c9c 100644 (file)
@@ -8,7 +8,6 @@
 <% end %>
     <th><%= t'changeset.changesets.comment' %></th>
     <th><%= t'changeset.changesets.area' %></th>
-    <th></th>
   </tr>
   <%= render :partial => 'changeset', :locals => {:showusername => showusername}, :collection => @edits unless @edits.nil? %>
 </table>
index c71c22aa1e55580c09e5bf443ebc3b78a1245ac6..db53cdb080c381c534f452876cea97ee171ce30c 100644 (file)
@@ -5,7 +5,9 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
   feed.title @title
 
   feed.subtitle :type => 'xhtml' do |xhtml|
-    xhtml.p @description
+    xhtml.p do |p|
+      p << @description
+    end
   end
 
   feed.updated @edits.map {|e|  [e.created_at, e.closed_at].max }.max
index 0fcf5ddda4af872576ceb4f38f73fd88eecf750e..6da108026608669999779a05618ea5e7a7a26b92 100644 (file)
@@ -1,4 +1,4 @@
-<h1><%= @title %></h1>
+<h1><%= @heading %></h1>
 <p><%= @description %></p>
 
 <%= render :partial => 'changeset_paging_nav' %>
index 129204d2d845c111e93c8f190cc27bdd451660c3..3d9976aab6e8162ca9855803100910b3ce3256b4 100644 (file)
@@ -1,14 +1,14 @@
-<% this_colour = cycle('lightgrey', 'white') # can only call once for some dumb reason 
-%>
+<% this_colour = cycle('lightgrey', 'white') %>
 
 <tr class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
   <td class="inbox-sender" bgcolor="<%= this_colour %>"><%= link_to h(message_summary.sender.display_name), :controller => 'user', :action => message_summary.sender.display_name %></td>
   <td class="inbox-subject" bgcolor="<%= this_colour %>"><%= link_to h(message_summary.title), :controller => 'message', :action => 'read', :message_id => message_summary.id  %></td>
-  <td class="inbox-sent" bgcolor="<%= this_colour %>"><%= l message_summary.sent_on %></td>
+  <td class="inbox-sent nowrap" bgcolor="<%= this_colour %>"><%= l message_summary.sent_on %></td>
   <% if message_summary.message_read? %>
     <td><%= button_to t('message.message_summary.unread_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread' %></td>
   <% else %>
     <td><%= button_to t('message.message_summary.read_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %></td>
   <% end %>
   <td><%= button_to t('message.message_summary.reply_button'), :controller => 'message', :action => 'reply', :message_id => message_summary.id %></td>
+  <td><%= button_to t('message.message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => message_summary.id, :referer => request.request_uri %></td>
 </tr>
index a03074e0838fa9f93793cef8ac8606cf4a9dccd9..9d3275835d42dca96f717342201d9c4ac713104a 100644 (file)
@@ -1,8 +1,8 @@
-<% this_colour = cycle('lightgrey', 'white') # can only call once for some dumb reason
-%>
+<% this_colour = cycle('lightgrey', 'white') %>
 
 <tr class="inbox-row">
   <td class="inbox-sender" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.recipient.display_name), :controller => 'user', :action => sent_message_summary.recipient.display_name %></td>
   <td class="inbox-subject" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id  %></td>
-  <td class="inbox-sent" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on %></td>
+  <td class="inbox-sent nowrap" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on %></td>
+  <td><%= button_to t('message.sent_message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => sent_message_summary.id, :referer => request.request_uri %></td>
 </tr>
index 38fe8495b7aa89e7bca7aaf953316ca96087e6c7..2a97b7bbd2d1f9d6ea782a61a646d7e4417b66da 100644 (file)
         <th><%= t'message.inbox.date' %></th>
         <th></th>
         <th></th>
+        <th></th>
       </tr>
       <%= render :partial => "message_summary", :collection => @user.messages %>
     </table>
   </div>
 <% else %>
-         <div id="messages"><%= t'message.inbox.no_messages_yet', :people_mapping_nearby_link => link_to(t('message.inbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name) %></div>
+  <div id="messages"><%= t'message.inbox.no_messages_yet', :people_mapping_nearby_link => link_to(t('message.inbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name) %></div>
 <% end %>
index 3e6346c9ab90398ba5485ad1ac550d14f460d07a..f1f9ddea73a5523b6d7ccc96babd876bf3c547a6 100644 (file)
@@ -9,10 +9,11 @@
         <th><%= t'message.outbox.to' %></th>
         <th><%= t'message.outbox.subject' %></th>
         <th><%= t'message.outbox.date' %></th>
+        <th></th>
       </tr>
       <%= render :partial => "sent_message_summary", :collection => @user.sent_messages %>
     </table>
   </div>
 <% else %>
-         <div id="messages"><%= t'message.outbox.no_sent_messages', :people_mapping_nearby_link => link_to(t('message.outbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name) %></div>
+  <div id="messages"><%= t'message.outbox.no_sent_messages', :people_mapping_nearby_link => link_to(t('message.outbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name) %></div>
 <% end %>
index e50610037e7bde0d4f9ab4b17deedba56c1484e9..ff349858c9229fd42916982fd0786c5fed3207f1 100644 (file)
@@ -81,7 +81,7 @@
           <% end %>
         <% end %>
       </td>
-      <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :user_id => @friend.id %>)</td>
+      <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @friend.display_name %>)</td>
       </tr>
       <%end%>
       </table>
           <%= t 'user.view.km away', :count => distance.round %>
         <% end %>
       </td>
-      <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
+      <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => nearby.display_name %>)</td>
       </tr>
       <% end %>
       </table>
index a061d873a2eab5e9b03cc079944bb1794ed978cc..54a925e3cd6ee85deab7f85cba7968be03168ce4 100644 (file)
@@ -2,5 +2,3 @@ require 'globalize/i18n/missing_translations_log_handler'
 
 I18n.missing_translations_logger = Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
 I18n.exception_handler = :missing_translations_log_handler
-
-I18n.backend.add_pluralizer :sl, lambda { |c| c%100 == 1 ? :one : c%100 == 2 ? :two : (3..4).include?(c%100) ? :few : :other }
index 9cb4bd40c8a2be3ca2d8b4710a71566b66367ded..c84def63c7b3ccb85ac20829b38eed8d3dfb24a7 100644 (file)
@@ -184,7 +184,6 @@ be:
       show_area_box: "паказаць мяжу мясцовасці"
       big_area: "(вялікая)"
       view_changeset_details: "Падрабязней пра набор зменаў"
-      more: "больш"
     changesets:
       id: "ID"
       saved_at: "Запісаны"
index 2a2b167f87bec6d5f76473661e8207cf0febe652..d2effb80bc86f2656ff1aebd78fc1b28a8487567 100644 (file)
@@ -87,6 +87,14 @@ de:
       download: "{{changeset_xml_link}} oder {{osmchange_xml_link}} herunterladen"
       changesetxml: "Changeset XML"
       osmchangexml: "osmChange XML"
+    changeset_navigation:
+      user:
+        name_tooltip: "Änderungen von {{user}} anzeigen"
+        prev_tooltip: "Vorherige Änderung von {{user}}"
+        next_tooltip: "Nächste Änderung von {{user}}"
+      all:
+        prev_tooltip: "Vorheriges Changeset"
+        next_tooltip: "Nächstes Changeset"
     changeset_details:
       created_at: "Erstellt am:"
       closed_at: "Geschlossen am:"
@@ -95,9 +103,15 @@ de:
       no_bounding_box: "Für dieses Changeset wurde kein Bereich gespeichert."
       show_area_box: "Bereichsgrenze anzeigen"
       box: "Bereichsgrenze"
-      has_nodes: "Enthält folgende {{count}} Knoten:"
-      has_ways: "Enthält folgende {{count}} Wege:"
-      has_relations: "Enthält folgende {{count}} Relationen:"
+      has_nodes:
+        one: "Enthält folgenden Knoten:"
+        other: "Enhält folgende {{count}} Knoten:"
+      has_ways:
+        one:  "Enthält folgenden Weg:"
+        other: "Enthält folgende {{count}} Wege:"
+      has_relations:
+        one:  "Enthält folgende Relation:"
+        other: "Enthält folgende {{count}} Relationen:"
     common_details: 
       edited_at: "Bearbeitet am:"
       edited_by: "Bearbeitet von:"
@@ -145,6 +159,9 @@ de:
     relation_history:
       relation_history: "Relations-Chronik"
       relation_history_title: "Relations-Chronik: {{relation_name}}"
+      download: "{{download_xml_link}} oder {{view_details_link}}"
+      download_xml: "XML herungerladen"
+      view_details: "Details anzeigen"
     relation_member:
       entry: "{{type}} {{name}}"
       entry_role: "{{type}} {{name}} als {{role}}"
@@ -229,34 +246,18 @@ de:
       show_area_box: "Bereich anzeigen"
       big_area: "(groß)"
       view_changeset_details: "Details des Changesets"
-      more: "mehr"
     changesets:
       id: "ID"
       saved_at: "Gespeichert am"
       user: "Benutzer"
       comment: "Kommentar"
       area: "Bereich"
-    list_bbox:
-      history: "Chronik"
-      changesets_within_the_area: "Changesets in dem Bereich:"
-      show_area_box: "Bereich anzeigen"
-      no_changesets: "Keine Changesets"
-      all_changes_everywhere: "Für letzte Änderungen weltweit siehe {{recent_changes_link}}"
-      recent_changes: "Letzte Änderungen"
-      no_area_specified: "Kein Bereich angegeben"
-      first_use_view: "{{view_tab_link}} verwenden, um einen interessanten Bereich zu finden und dann auf das 'Chronik-Tab' klicken."
-      view_the_map: "Karte"
-      view_tab: "Kartenansicht"
-      alternatively_view: "Alternativ: {{recent_changes_link}} anzeigen"
     list:
-      recent_changes: "Letzte Änderungen"
-      recently_edited_changesets: "Zuletzt erstellte Changesets:"
-      for_more_changesets: "Mehr Changesets des Benutzers kannst du auf dessen Benutzerseite unter Beiträge einsehen, für Changesets eines Bereiches gehe auf den 'Chronik'-Reiter beim betrachten des gewünschten Kartenausschnitts."
-    list_user:
-      edits_by_username: "Beiträge von {{username_link}}"
-      no_visible_edits_by: "Keine sichtbaren Beiträge von {{name}}."
-      for_all_changes: "Änderungen von allen Nutzern {{recent_changes_link}}"
-      recent_changes: "Letzte Änderungen"
+      title: "Changesets"
+      description: "Letzte Änderungen"
+      description_user: "Letzte Änderungen von {{user}}"
+      description_bbox: "Letzte Änderungen in {{bbox}}"
+      description_user_bbox: "Letzte Änderungen von {{user}} in {{bbox}}"
   diary_entry:
     new:
       title: Selbst Bloggen
@@ -346,8 +347,36 @@ de:
         ca_postcode: 'Suchergebnisse von <a href="http://geocoder.ca/">Geocoder.CA</a>'
         osm_namefinder: 'Suchergebnisse von <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
         geonames: 'Suchergebnisse von <a href="http://www.geonames.org/">GeoNames</a>'
+    search_osm_namefinder:
+      prefix: "{{type}} "
+      suffix_place: ", {{distance}} {{direction}} von {{placename}}"
+      suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} von {{parentname}})"
+      suffix_suburb: "{{suffix}}, {{parentname}}"
+    description:
+      title:
+        osm_namefinder: '{{types}} vom <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
+        geonames: 'Ort von <a href="http://www.geonames.org/">GeoNames</a>'
+      types:
+        cities: Großstädte
+        towns: Städte
+        places: Orte
+    description_osm_namefinder:
+      prefix: "{{distance}} {{direction}} von {{type}} "
     results:
       no_results: "Keine Ergebnisse"
+    distance:
+      zero: "weniger als 1km"
+      one: "ca. 1km"
+      other: "ca. {{count}}km"
+    direction:
+      south_west: "südwestlich"
+      south: "südlich"
+      south_east: "südöstlich"
+      east: "östlich"
+      north_east: "nordöstlich"
+      north: "nördlich"
+      north_west: "nordwestlich"
+      west: "westlich"
   layouts:
     project_name:
       # in <title>
@@ -517,6 +546,7 @@ de:
       unread_button: "Als ungelesen markieren"
       read_button: "Als gelesen markieren"
       reply_button: "Antworten"
+      delete_button: "Löschen"
     new:
       title: "Nachricht senden" 
       send_message_to: "Eine Nachricht an {{name}} senden"
@@ -552,9 +582,13 @@ de:
       reading_your_sent_messages: "Deine versendeten Nachrichten lesen"
       to: "An"
       back_to_outbox: "Zurück zu Gesendete Nachrichten"
+    sent_message_summary:
+      delete_button: "Löschen"
     mark: 
       as_read: "Nachricht als gelesen markiert" 
       as_unread: "Nachricht als ungelesen markiert"
+    delete:
+      deleted: "Nachricht gelöscht"
   site:
     index:
       js_1: "Dein Browser unterstützt kein Javascript oder du hast es deaktiviert."
@@ -576,7 +610,7 @@ de:
       anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
       anon_edits_link_text: "Hier findest du mehr Infos dazu."
       flash_player_required: 'Du benötigst den Flash Player um Potlatch, den OpenStreetMap-Flash-Editor zu benutzen. <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">Lade den Flash Player von Adobe.com herunter</a>. <a href="http://wiki.openstreetmap.org/wiki/DE:Editing">Einige andere Möglichkeiten</a>, um OpenStreetMap zu editieren, sind hier beschrieben.'
-      potlatch_unsaved_changes: "Du hast deine Arbeit noch nicht gespeichert. (Um sie in Potlach zu speichern, klicke auf eine leere Fläche bzw. deselektiere den Weg oder Punkt, wenn du im Live Modus editierst oder klicke auf Speichern, wenn ein Speicherbutton vorhanden ist.)"
+      potlatch_unsaved_changes: "Du hast deine Arbeit noch nicht gespeichert. (Um sie in Potlach zu speichern, klicke auf eine leere Fläche bzw. deselektiere den Weg oder Punkt, wenn du im Live-Modus editierst oder klicke auf Speichern, wenn ein Speicherbutton vorhanden ist.)"
     sidebar:
       search_results: Suchergebnisse
       close: Schließen
@@ -670,6 +704,7 @@ de:
       owner: "Besitzer:"
       description: "Beschreibung:"
       tags: "Tags:"
+      tags_help: "Trennung durch Komma" 
       save_button: "Speichere Änderungen"
     no_such_user:
       title: "Benutzer nicht gefunden"
@@ -679,6 +714,7 @@ de:
       upload_gpx: "GPX-Datei"
       description: "Beschreibung"
       tags: "Tags"
+      tags_help: "Trennung durch Komma" 
       public: "Öffentlich?"
       public_help: "Was heißt das?"
       public_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
@@ -820,6 +856,7 @@ de:
       your friends: Eigene Freunde
       no friends: Du hast bis jetzt keine Freunde hinzugefügt.
       km away: "{{count}}km entfernt"
+      m away: "{{count}}m entfernt" 
       nearby users: "Benutzer in der Nähe: "
       no nearby users: "Es gibt bisher keine Benutzer, die einen Standort in deiner Nähe angegeben haben."
       change your settings: Ändere deine Einstellungen
index 95fd929d09c4c58f2657168bb43bf7384066cb63..d98ac61d64f87a25b352bfab14175dde7c3885bf 100644 (file)
@@ -239,6 +239,7 @@ en:
       showing_page: "Showing page"
       of: "of"
     changeset:
+      id: "#{{id}}"
       still_editing: "(still editing)"
       anonymous: "Anonymous"
       no_comment: "(none)"
@@ -246,7 +247,6 @@ en:
       show_area_box: "show area box"
       big_area: "(big)"
       view_changeset_details: "View changeset details"
-      more: "more"
     changesets:
       id: "ID"
       saved_at: "Saved at"
@@ -255,10 +255,19 @@ en:
       area: "Area"
     list:
       title: "Changesets"
-      description: "Recent edits"
-      description_user: "Recent edits by {{user}}"
-      description_bbox: "Recent edits within {{bbox}}"
-      description_user_bbox: "Recent edits by {{user}} within {{bbox}}"
+      title_user: "Changesets by {{user}}"
+      title_bbox: "Changesets within {{bbox}}"
+      title_user_bbox: "Changesets by {{user}} within {{bbox}}"
+
+      heading: "Changesets"
+      heading_user: "Changesets by {{user}}"
+      heading_bbox: "Changesets within {{bbox}}"
+      heading_user_bbox: "Changesets by {{user}} within {{bbox}}"
+
+      description: "Recent changes"
+      description_user: "Changesets by {{user}}"
+      description_bbox: "Changesets within {{bbox}}"
+      description_user_bbox: "Changesets by {{user}} within {{bbox}}"
   diary_entry:
     new:
       title: New Diary Entry
@@ -547,6 +556,7 @@ en:
       unread_button: "Mark as unread"
       read_button: "Mark as read"
       reply_button: "Reply"
+      delete_button: "Delete"
     new:
       title: "Send message"
       send_message_to: "Send a new message to {{name}}"
@@ -582,9 +592,13 @@ en:
       reading_your_sent_messages: "Reading your sent messages"
       to: "To"
       back_to_outbox: "Back to outbox"
+    sent_message_summary:
+      delete_button: "Delete"
     mark:
       as_read: "Message marked as read"
       as_unread: "Message marked as unread"
+    delete:
+      deleted: "Message deleted"
   site:
     index:
       js_1: "You are either using a browser that doesn't support javascript, or you have disabled javascript."
index 6363f58b902607ca5c118e1c6d2eeacac60b2f3e..908173d3acbacf9966d45a7dac2dcea2021f78fe 100644 (file)
@@ -202,7 +202,6 @@ es:
       show_area_box: "mostrar caja"
       big_area: "(grande)"
       view_changeset_details: "Ver detalles del conjunto de cambios"
-      more: "más"
     changesets:
       id: "ID"
       saved_at: "Guardado en"
index b5001ade31cfc180f73ca2a35d324839bd132b69..ce8c75a722ce0163149278ea9dd8158e41f6f671 100644 (file)
@@ -184,7 +184,6 @@ he:
       show_area_box: "show area box"
       big_area: "(big)"
       view_changeset_details: "View changeset details"
-      more: "more"
     changesets:
       id: "ID"
       saved_at: "Saved at"
index 5f1cb67872cad1801df6d2c9802c8ba40c6ec5f7..b81c666f5f504b18d7d64942de854541900c3cf2 100644 (file)
@@ -209,7 +209,6 @@ hi:
       show_area_box: "show area box"
       big_area: "(बड़ा क्षेत्र)"
       view_changeset_details: "इस changeset के विवरण देखे"
-      more: "और दिखाए"
     changesets:
       id: "आईडी"
       saved_at: "समय जब सुरक्षित किया गया"
index 46be1f2b6af1d3abd273c8c5081b3a90c537698c..7679ac2caa2fa107faf55f416fe6dfc23b812b58 100644 (file)
@@ -83,10 +83,18 @@ hu:
   browse:
     changeset:
       title: "Módosításcsomag"
-      changeset: "Módosításcsomag:"
+      changeset: "Módosításcsomag: {{id}}"
       download: "{{changeset_xml_link}} vagy {{osmchange_xml_link}} letöltése"
       changesetxml: "Changeset XML"
       osmchangexml: "osmChange XML"
+    changeset_navigation:
+      user:
+        name_tooltip: "{{user}} szerkesztéseinek megtekintése"
+        prev_tooltip: "{{user}} előző szerkesztése"
+        next_tooltip: "{{user}} következő szerkesztése"
+      all:
+        prev_tooltip: "Előző módosításcsomag"
+        next_tooltip: "Következő módosításcsomag"
     changeset_details:
       created_at: "Készült:"
       closed_at: "Lezárva:"
@@ -95,9 +103,15 @@ hu:
       no_bounding_box: "Nincs eltárolva határoló ehhez a módosításcsomaghoz."
       show_area_box: "Területhatároló megtekintése"
       box: "határoló"
-      has_nodes: "A következő {{count}} pontot tartalmazza:"
-      has_ways: "A következő {{count}} vonalat tartalmazza:"
-      has_relations: "A következő {{count}} kapcsolatot tartalmazza:"
+      has_nodes:
+        one: "A következő {{count}} pontot tartalmazza:"
+        other: "A következő {{count}} pontot tartalmazza:"
+      has_ways:
+        one:  "A következő {{count}} vonalat tartalmazza:"
+        other: "A következő {{count}} vonalat tartalmazza:"
+      has_relations:
+        one:  "A következő {{count}} kapcsolatot tartalmazza:"
+        other: "A következő {{count}} kapcsolatot tartalmazza:"
     common_details: 
       edited_at: "Szerkesztve:"
       edited_by: "Szerkesztette:"
@@ -232,34 +246,18 @@ hu:
       show_area_box: "területhatároló megjelenítése"
       big_area: "(nagy)"
       view_changeset_details: "Módosításcsomag részleteinek megtekintése"
-      more: "tovább"
     changesets:
       id: "Azonosító"
       saved_at: "Mentve"
       user: "Felhasználó"
       comment: "Megjegyzés"
       area: "Terület"
-    list_bbox:
-      history: "Történet"
-      changesets_within_the_area: "Módosításcsomagok ezen a területen:"
-      show_area_box: "területhatároló megjelenítése"
-      no_changesets: "Nincsenek változtatáscsomagok"
-      all_changes_everywhere: "Az összes módosításhoz lásd a {{recent_changes_link}}at"
-      recent_changes: "Legutóbbi módosítások"
-      no_area_specified: "Nincs terület meghatározva"
-      first_use_view: "Először használd a {{view_tab_link}}t a kívánt területre való mozgatáshoz és nagyításhoz, majd kattints a történet fülre."
-      view_the_map: "a térkép megjelenítése"
-      view_tab: "térkép fül"
-      alternatively_view: "Vagy tekintsd meg az összeset: {{recent_changes_link}}"
     list:
-      recent_changes: "Legutóbbi módosítások"
-      recently_edited_changesets: "Legutóbb szerkesztett módosításcsomagok:"
-      for_more_changesets: "További módosításcsomagokhoz válassz egy felhasználót, és tekintsd meg szerkesztéseit, vagy nézz meg egy meghatározott terület szerkesztési történetét."
-    list_user:
-      edits_by_username: "{{username_link}} szerkesztései"
-      no_visible_edits_by: "{{name}} felhasználónak nincsenek látható szerkesztései"
-      for_all_changes: "Az összes felhasználó módosításaihoz lásd a {{recent_changes_link}}at"
-      recent_changes: "Legutóbbi módosítások"
+      title: "Módosításcsomagok"
+      description: "Legutóbbi szerkesztések"
+      description_user: "{{user}} legutóbbi szerkesztései"
+      description_bbox: "Legutóbbi szerkesztések ezen belül: {{bbox}}"
+      description_user_bbox: "{{user}} legutóbbi szerkesztései ezen belül: {{bbox}}"
   diary_entry:
     new:
       title: Új naplóbejegyzés
@@ -711,7 +709,7 @@ hu:
       upload_gpx: "GPX fájl feltöltése"
       description: "Leírás"
       tags: "Címkék"
-      tags_help: "használj vesszőket"
+      tags_help: "vesszővel elválasztva"
       public: "Nyilvános?"
       public_help: "mit jelent ez?"
       public_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
index 63781ef61f2bff88bab57940c19df19cf24e7a7b..86ae92ffa77b88c230e685c6bb2a7c53850ab289 100644 (file)
@@ -245,7 +245,6 @@ is:
       show_area_box: "sýna svæðismörk"
       big_area: "(stórt)"
       view_changeset_details: "Skoða breytingarsett"
-      more: "meira"
     changesets:
       id: "Kennitala"
       saved_at: "Vistað"
@@ -254,10 +253,19 @@ is:
       area: "Svæði"
     list:
       title: "Breytingarsett"
+      title_user: "Breytingar eftir {{user}}"
+      title_bbox: "Breytingar innan {{bbox}}"
+      title_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
+
+      heading: "Breytingarsett"
+      heading_user: "Breytingar eftir {{user}}"
+      heading_bbox: "Breytingar innan {{bbox}}"
+      heading_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
+
       description: "Nýlegar breytingar"
-      description_user: "Nýlegar breytingar eftir {{user}}"
-      description_bbox: "Nýlegar breytingar innan {{bbox}}"
-      description_user_bbox: "Nýlegar breytingar eftir {{user}} innan {{bbox}}"
+      description_user: "Breytingar eftir {{user}}"
+      description_bbox: "Breytingar innan {{bbox}}"
+      description_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
   diary_entry:
     new:
       title: "Ný bloggfærsla"
@@ -365,9 +373,9 @@ is:
     results:
       no_results: "Ekkert fannst"
     distance:
-      zero: "minna en 1km"
-      one: "u.þ.b. 1km"
-      other: "u.þ.b. {{count}}km"
+      zero: "minna en 1 km"
+      one: "u.þ.b. 1 km"
+      other: "u.þ.b. {{count}} km"
     direction:
       south_west: "suðvestur"
       south: "suður"
@@ -496,7 +504,7 @@ is:
       more_videos: "Fleiri myndbönd er {{more_videos_link}}."
       more_videos_here: "hægt að finna hér"
       get_reading: 'Þú getur lesið um OpenStreetMap verkefnið á <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Beginners%27_Guide">wiki-síðunni okkar</p> eða <a href="http://www.opengeodata.org/">OpenGeoData blogginu</a> þar sem einnig er að finna <a href="http://www.opengeodata.org/?cat=13">hljóðvarp</a>.'
-      wiki_signup: 'Kannski viltu einnig <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">skrá þig á wiki-síðuna</a>.'
+      wiki_signup: 'Kannski viltu einnig <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Fors%C3%AD%C3%B0a">skrá þig á wiki-síðuna</a>.'
       user_wiki_page: 'Það er mælt með því að þú búir ttil notandasíðu á wiki-inu þar sem tengt er í flokk sem gefur til kynna hvar þú ert, t.d. <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Category:Users_in_Iceland">[[Category:Users_in_Iceland]]</a>.'
       current_user: 'Í flokkakerfinu getur þú einnig séð <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Category:Users_by_geographical_region"> hvar í heiminum OpenStreetMap notendur</a> eru staðsettir.'
     email_confirm:
@@ -544,6 +552,7 @@ is:
       unread_button: "Merkja sem ólesin"
       read_button: "Merkja sem lesin"
       reply_button: "Svara"
+      delete_button: "Eyða"
     new:
       title: "Senda skilaboð"
       send_message_to: "Senda skilaboð til {{name}}"
@@ -579,9 +588,13 @@ is:
       reading_your_sent_messages: "Les send skilaboð"
       to: "Til"
       back_to_outbox: "Aftur í úthólf"
+    sent_message_summary:
+      delete_button: "Eyða"
     mark:
       as_read: "Skilaboðin voru merkt sem lesin"
       as_unread: "Skilaboðin voru merkt sem ólesin"
+    delete:
+      deleted: "Skilaboðunum var eytt"
   site:
     index:
       js_1: "Þú ert annaðhvort að nota vafra sem styður ekki JavaScript eða hefur slökkt á JavaScript stuðning."
index 3e367877dc6d65729b67abf39c49282fac5075a8..6d4735c1c14c193d7fb125a20a0280c22342e322 100644 (file)
@@ -184,7 +184,6 @@ it:
       show_area_box: "visualizza il riquadro dell'area"
       big_area: "(grande)"
       view_changeset_details: "Visualizza i dettagli del gruppo di modifiche"
-      more: "maggiori informazioni"
     changesets:
       id: "ID"
       saved_at: "Salvato il"
@@ -310,7 +309,7 @@ it:
     export: Esporta
     gps_traces: Tracciati GPS
     user_diaries: Diari degli utenti
-    tag_line: Il Wiki della mappa mondiale libera
+    tag_line: "La wiki-mappa Libera del Mondo"
     intro_1: "OpenStreetMap è una mappa liberamente modificabile dell'intero pianeta. E' fatta da persone come te."
     intro_2: "OpenStreetMap permette a chiunque sulla Terra di visualizzare, modificare ed utilizzare dati geografici con un approccio collaborativo."
     intro_3: "L'hosting di OpenStreetMap è supportato gentilmente dalla {{ucl}} e {{bytemark}}."
@@ -425,12 +424,12 @@ it:
         project_name: "progetto OpenStreetMap"
     edit:
       not_public: "Non si sono impostate come pubbliche le proprie modifiche."
-      not_public_description: "Non si può più modificare la mappa finché non lo si fa. Si possono impostare come pubbliche le proprie modifiche dalla propria {{user_page}}."
+      not_public_description: "Non è possibile modificare la mappa finché non lo si fa. Si possono impostare come pubbliche le proprie modifiche dalla propria {{user_page}}."
       user_page_link: pagina utente
       anon_edits: "({{link}})"
       anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
-      anon_edits_link_text: "Scopri perché è questo il caso."
-      flash_player_required: 'E'' necessario un Flash player per utilizzare Potlatch, il programma Flash per le modifiche di OpenStreetMap. Si può <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">scaricare il Flash Player da Adobe.com</a>. Sono disponibili anche <a href="http://wiki.openstreetmap.org/wiki/Editing">altre possibilità</a> per apportare modifiche in OpenStreetMap.'
+      anon_edits_link_text: "Leggi il perché."
+      flash_player_required: 'E'' necessario un visualizzatore Flash per utilizzare Potlatch, il programma Flash per le modifiche di OpenStreetMap. Si può <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">scaricare il Flash Player da Adobe.com</a>. Sono disponibili anche <a href="http://wiki.openstreetmap.org/wiki/Editing">altre possibilità</a> per apportare modifiche a OpenStreetMap.'
       potlatch_unsaved_changes: "Ci sono modifiche non salvate. (Per salvare in Potlatch, si dovrebbe deselezionare il percorso o nodo corrente, se si sta editando nella modalità 'list', o cliccare sul bottone salva se presente.)"
     sidebar:
       search_results: Risultati della ricerca
@@ -545,7 +544,7 @@ it:
       no_auto_account_create: "Sfortunatamente in questo momento non è possibile creare automaticamente per te un profilo."
       contact_webmaster: 'Si prega di contattare il <a href="mailto:webmaster@openstreetmap.org">webmaster</a> affinchè faccia in modo di creare un profilo. Tenteremo di soddisfare la richiesta il più rapidamente possibile.'
       fill_form: "Riempi il modulo e noi ti invieremo velocemente una email per attivare il tuo profilo."
-      license_agreement: 'Con la creazione di un profilo si accetta che tutto il lavoro caricato su openstreetmap.org e tutti i dati creati mediante l''utilizzo di qualsiasi strumento capace di connettersi a openstreetmap.org è da ritenersi (in modo non-esclusivo) rilasciato sotto <a href="http://creativecommons.org/licenses/by-sa/2.0/">questa licenza Creative Commons (by-sa)</a>.'
+      license_agreement: 'Con la creazione di un profilo si accetta che tutto il lavoro caricato nel progetto Openstreetmap è da ritenersi (in modo non-esclusivo) rilasciato sotto <a href="http://creativecommons.org/licenses/by-sa/2.0/">questa licenza Creative Commons (by-sa)</a>.'
       email address: "Indirizzo email: "
       confirm email address: "Conferma indirizzo email: "
       not displayed publicly: 'Non visualizzato pubblicamente (vedi le <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">norme sulla privacy</a>)'
index 114e360676b5aa7501a473f64497da9747dca8c4..915506a732b93b7b4a403c9de25c8553f3b68886 100644 (file)
@@ -210,7 +210,6 @@ ja:
       show_area_box: "領域境界を表示"
       big_area: "(大)"
       view_changeset_details: "変更セットの詳細表示"
-      more: "詳細"
     changesets:
       id: "ID"
       saved_at: "保存日時"
index 414927ba351623ff52f0609ac6a54a0bf0bf205f..fcb092446bd58161fd0ed8b840e77ca9d78606f5 100644 (file)
@@ -210,7 +210,6 @@ ko:
       show_area_box: "지역 박스 보기"
       big_area: "(큰 지역)"
       view_changeset_details: "변경셋 세부 사항 보기"
-      more: "more"
     changesets:
       id: "ID"
       saved_at: "저장 시간"
index 67ce9a2b23fae246b447eb2a274e28a110c195d9..20c0073beb57ef50bf2557d4d78c27d2fa259f89 100644 (file)
@@ -184,7 +184,6 @@ nl:
       show_area_box: "toon rechthoek"
       big_area: "(groot)"
       view_changeset_details: "Toon changeset-details"
-      more: "meer"
     changesets:
       id: "ID"
       saved_at: "Opgeslagen op"
index 2d261acd35f637ea7168984f17d3b3ae2e7a0afa..054fd70663996c4c1dba0774c2d81173376afde0 100644 (file)
@@ -184,7 +184,6 @@ pl:
       show_area_box: "pokaż prostokąt zawierający"
       big_area: "(pełny)"
       view_changeset_details: "Zobacz szczegóły changesetu"
-      more: "więcej"
     changesets:
       id: "ID"
       saved_at: "Zapisano"
index 25b8f18ff7f4007ca6f5c8e7742cee520228dc1d..f61716dc3bf80b85f1eaf9e690bc88a8e637716d 100644 (file)
@@ -210,7 +210,6 @@ pt-BR:
       show_area_box: "exibir limite da área"
       big_area: "(grande)"
       view_changeset_details: "Ver detalhes das alterações"
-      more: "mais"
     changesets:
       id: "ID"
       saved_at: "Salvo em"
index 1f9b0ecb62323c59408e9c3363d89647b7d8cbf2..88df00ed3146a61967b9fc62172fd29ecc4feacb 100644 (file)
@@ -229,7 +229,6 @@ ro:
       show_area_box: "afișează chenarul zonei"
       big_area: "(mare)"
       view_changeset_details: "Vizualizare detalii set de schimbări"
-      more: "mai mult"
     changesets:
       id: "ID"
       saved_at: "Salvat la"
index 58859588a2abc883b8ef996786dcbd8d9f528bce..87d6b88c842ea815580df1bbd7ae8312c3d61b58 100644 (file)
@@ -184,7 +184,6 @@ ru:
       show_area_box: "Показать границы сеанса"
       big_area: "(большая)"
       view_changeset_details: "Просмотреть данные сеанса"
-      more: "подробнее"
     changesets:
       id: "ID"
       saved_at: "Завершено"
index b05af69b697f3f99fc0bbdbdded807955ebe6845..ac666f04964db3722eb1ceaf7193eaf11750b445 100644 (file)
@@ -72,6 +72,10 @@ sl:
         description: "Opis"
         languages: "Jeziki"
         pass_crypt: "Geslo"
+  printable_name:
+    with_id: "{{id}}"
+    with_version: "{{id}}, {{version}}. različica"
+    with_name: "{{name}} ({{id}})"
   map:
     view: Zemljevid
     edit: Urejanje
@@ -83,6 +87,14 @@ sl:
       download: "Prenesi {{changeset_xml_link}} ali {{osmchange_xml_link}}"
       changesetxml: "Changeset XML"
       osmchangexml: "osmChange XML"
+    changeset_navigation:
+      user:
+        name_tooltip: "Prikaz prispevkov uporabnika {{user}}"
+        prev_tooltip: "Prejšnji prispevek uporabnika {{user}}"
+        next_tooltip: "Naslednji prispevek uporabnika {{user}}"
+      all:
+        prev_tooltip: "Prejšnji paket sprememb"
+        next_tooltip: "Naslednji paket sprememb"
     changeset_details:
       created_at: "Ustvarjen:"
       closed_at: "Zaključen:"
@@ -139,7 +151,7 @@ sl:
       view_history: "poglej zgodovino"
       edit: "uredi"
     not_found:
-      sorry: "Oprostite, {{type}} z ID-jem {{id}} ni bilo mogoče najti."
+      sorry: "Oprostite, {{type}} z ID-jem {{id}} ne obstaja v bazi."
       type:
         node: vozlišče
         way: pot
@@ -210,7 +222,6 @@ sl:
       nodes: "Vozlišča:"
       part_of: "Del:"
       also_part_of: 
-         one: "tudi del poti {{related_ways}}" 
          other: "tudi del poti {{related_ways}}" 
     way_history:
       way_history: "Zgodovina poti"
@@ -221,7 +232,7 @@ sl:
     way:
       way: "Pot"
       way_title: "Pot: {{way_name}}"
-      download: "{{download_xml_link}} ali {{view_history_link}}"
+      download: "{{download_xml_link}}, {{view_history_link}} ali {{edit_link}}"
       download_xml: "prenesi XML"
       view_history: "poglej zgodovino"
       edit: "uredi"
@@ -230,6 +241,7 @@ sl:
       showing_page: "Prikaz strani"
       of: "od"
     changeset:
+      id: "št. {{id}}"
       still_editing: "(še ureja)"
       anonymous: "Anonimen"
       no_comment: "(brez)"
@@ -237,34 +249,27 @@ sl:
       show_area_box: "prikaži pravokotno področje"
       big_area: "(veliko)"
       view_changeset_details: "Ogled podrobnosti paketa sprememb"
-      more: "več"
     changesets:
       id: "ID"
       saved_at: "Shranjen"
       user: "Uporabnik"
       comment: "Komentar"
       area: "Področje"
-    list_bbox:
-      history: "Zgodovina"
-      changesets_within_the_area: "Paketi sprememb na področju:"
-      show_area_box: "prikaži pravokotno področje"
-      no_changesets: "Ni paketov sprememb"
-      all_changes_everywhere: "Za vse spremembe kjerkoli poglejte {{recent_changes_link}}"
-      recent_changes: "Nedavne spremembe"
-      no_area_specified: "Področje ni določeno"
-      first_use_view: "Najprej na {{view_tab_link}} izberite področje, ki vas zanima, nato pa kliknite zavihek Zgodovina."
-      view_the_map: "zavihek, na katerem je zemljevid"
-      view_tab: "zavihku z zemljevidom"
-      alternatively_view: "Lahko pa pogledate tudi vse {{recent_changes_link}}"
     list:
-      recent_changes: "Nedavne spremembe"
-      recently_edited_changesets: "Nedavno urejeni paketi sprememb:"
-      for_more_changesets: "Za več sprememb izberite uporabnika in poglejte njegove spremembe ali pa med ogledom zemljevida nekega področja preklopite na zavihek 'zgodovina'."
-    list_user:
-      edits_by_username: "Spremembe uporabnika {{username_link}}"
-      no_visible_edits_by: "Ni vidnih sprememb uporabnika {{name}}."
-      for_all_changes: "Za spremembe vseh uporabnikov poglejte {{recent_changes_link}}"
-      recent_changes: "nedavne spremembe"
+      title: "Paketi sprememb"
+      title_user: "Paketi sprememb uporabnika {{user}}"
+      title_bbox: "Paketi sprememb znotraj področja {{bbox}}"
+      title_user_bbox: "Paketi sprememb uporabnika {{user}} znotraj {{bbox}}"
+
+      heading: "Paketi sprememb"
+      heading_user: "Paketi sprememb uporabnika {{user}}"
+      heading_bbox: "Paketi sprememb znotraj področja {{bbox}}"
+      heading_user_bbox: "Paketi sprememb uporabnika {{user}} znotraj {{bbox}}"
+
+      description: "Nedavne spremembe"
+      description_user: "Paketi sprememb uporabnika {{user}}"
+      description_bbox: "Paketi sprememb znotraj področja {{bbox}}"
+      description_user_bbox: "Paketi sprememb uporabnika {{user}} znotraj {{bbox}}"
   diary_entry:
     new:
       title: Nov zapis v dnevnik uporabnikov
@@ -565,6 +570,7 @@ sl:
       unread_button: "Označi kot neprebrano"
       read_button: "Označi kot prebrano"
       reply_button: "Odgovori"
+      delete_button: "Izbriši"
     new:
       title: "Pošiljanje sporočila"
       send_message_to: "Pošlji novo sporočilo uporabniku {{name}}"
@@ -600,9 +606,13 @@ sl:
       reading_your_sent_messages: "Prebiranje vaših poslanih sporočil"
       to: "Za"
       back_to_outbox: "Nazaj na poslano pošto"
+    sent_message_summary:
+      delete_button: "Izbriši"
     mark:
       as_read: "Sporočilo označeno kot prebrano"
       as_unread: "Sporočilo označeno kot neprebrano"
+    delete:
+      deleted: "Sporočilo izbrisano"
   site:
     index:
       js_1: "Bodisi uporabljate brskalnik, ki ne podpira Javascript-a, ali pa je izvajanje Javascript-a onemogočeno."
index 41f84b66ed75b8430d91637d32d69f0493800d94..8f5e8364e2124f9e8affdf6556edbca6f0f10289 100644 (file)
@@ -229,7 +229,6 @@ vi:
       show_area_box: "hiện hộp vùng"
       big_area: "(lớn)"
       view_changeset_details: "Xem chi tiết của bộ thay đổi"
-      more: "thêm"
     changesets:
       id: "ID"
       saved_at: "Lúc Lưu"
index ce6c0564427ab71e496109fdb1a24adae53dddae..b210e31777a9e7685e024fcdc0d8976c1789f3af 100644 (file)
@@ -210,7 +210,6 @@ yo:
       show_area_box: "show area box"
       big_area: "(big)"
       view_changeset_details: "View changeset details"
-      more: "more"
     changesets:
       id: "ID"
       saved_at: "Saved at"
index b4a7e027d66ad293bc9c8c6d7f94eed8d8e3d40d..4cca279083f3ea23cd11ac4f8797c1bef5fd5746 100644 (file)
@@ -186,7 +186,6 @@ zh-CN:
       show_area_box: "显示区域窗口"
       big_area: "(大)"
       view_changeset_details: "查看详细变更"
-      more: "更多"
     changesets:
       id: "ID"
       saved_at: "保存在"
index 9792d1477352786691b153f593c6ab0ce5120c65..f5fa89aef98ed0509c31d3ae16e79f26be134acf 100644 (file)
@@ -210,7 +210,6 @@ zh-TW:
       show_area_box: "顯示區域方塊"
       big_area: "(big)"
       view_changeset_details: "檢視變更組合詳細資訊"
-      more: "更多"
     changesets:
       id: "ID"
       saved_at: "儲存於"
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/config/potlatch/localised.yaml b/config/potlatch/localised.yaml
deleted file mode 100644 (file)
index 5f65aa5..0000000
+++ /dev/null
@@ -1,1489 +0,0 @@
-a_poi:
-    "cz": $1 bod zájmu
-    "de": $1 einen Ort von Interesse (POI)
-    "da": $1 et POI
-    "es": $1 un punto de interés (POI)
-    "fr": $1 un POI
-    "fi": $1 POI
-    "hu": POI $1
-    "it": $1 un PDI
-    "ja": POIを $1
-    "ko": $1 a POI
-    "lolcat": $1 A plase
-    "nl": $1 een POI
-    "no": $1 et POI
-    "pt-BR": $1 um ponto de interesse (POI)
-    "ru": $1 точка интереса (POI)
-    "sv": $1 en POI
-    "zh-HANS": $1 a POI
-a_way:
-    "cz": $1 cestu
-    "de": $1 einen Weg
-    "da": $1 en vej
-    "es": $1 una vía
-    "fr": $1 un chemin
-    "fi": $1 tie
-    "hu": Vonal $1
-    "it": $1 un percorso
-    "ja": wayを $1
-    "ko": $1 a way
-    "lolcat": $1 a wai
-    "nl": "$1 een 'way'"
-    "no": $1 en vei
-    "pt-BR": $1 um caminho
-    "ru": $1 линия
-    "sv": $1 en väg
-    "zh-HANS": $1 a way
-action_addpoint:
-    "cz": adding a node to the end of a way
-    "de": Punkt am Ende des Wegs hinzufügen
-    "da": tilføjer et punkt til enden af en vej
-    "es": Añadir un punto al final de una vía
-    "fr": "Ajout d'un point à la fin d'un chemin"
-    "fi": pisteen lisääminen tien perään
-    "hu": a vonal végéhez pont hozzáadásának
-    "it": aggiunta nodo alla fine di un percorso...
-    "ja": wayの終端にnodeを追加
-    "ko": 길의 마지막에 새로운 node 추가
-    "lolcat": addin a noeded ta teh end uv a wai
-    "nl": "'Node' toevoegen aan eind van de 'way'"
-    "no": legger til et punkt på enden av en vei
-    "pt-BR": Adicionando um nó ao fim do caminho
-    "ru": добавление точки в конец линии
-    "sv": lägger till en punkt på slutet av en väg
-    "zh-HANS": adding a node to the end of a way
-action_cancelchanges:
-    "cz": cancelling changes to
-    "de": Änderungen an <b>$1</b> abgebrochen
-    "da": afbryder ændringer af
-    "es": Cancelar cambios
-    "fr": Annulation de la modification
-    "fi": peruutetaan muutokset
-    "hu": Módosítások elvetése a következőre
-    "it": annullamento modifiche a
-    "ja": 変更を中止
-    "ko": "변경 내용 취소:"
-    "lolcat": cancellin chanzes ta
-    "nl": veranderingen ongedaan maken naar
-    "no": avbryter endringer av
-    "pt-BR": Cancelando as mudanças de
-    "ru": отмена изменений к
-    "sv": avbryter ändringar på
-    "zh-HANS": cancelling changes to
-action_createpoi:
-    "cz": vytváření bodu zájmu (POI)
-    "de": Einen Ort von Interesse (POI) erstellen
-    "da": lave et POI (interessant punkt)
-    "es": Crear un punto de interés (POI)
-    "fr": "Créer un POI (point d'intérêt)"
-    "fi": "POI:n lisääminen"
-    "hu": POI készítésének
-    "it": creazione PDI...
-    "ja": POIを作成
-    "ko": POI 만들기
-    "lolcat": creatin a plase
-    "nl": Maak een POI (nuttige plaats)
-    "no": lage et POI (interessant punkt)
-    "pt-BR": Criando um ponto de interesse (POI)
-    "ro": creare punct de interes (POI)
-    "ru": создание точки интереса (POI)
-    "sv": Skapa en POI, "punkt av intresse"
-    "zh-HANS": creating a POI
-action_deletepoint:
-    "cz": odstraňuji bod
-    "de": Punkt löschen
-    "da": sletter et punkt
-    "es": Borrar un punto
-    "fr": "Suppression d'un point"
-    "fi": pisteen poistaminen
-    "hu": pont törlésének
-    "it": cancellazione punto...
-    "ja": pointを削除
-    "ko": 포인트를 삭제
-    "lolcat": deletin a noed
-    "nl": Verwijder een punt
-    "no": sletter et punkt
-    "pt-BR": Apagando um ponto
-    "ru": удаление точки
-    "sv": Tar bort en punkt
-    "zh-HANS": deleting a point
-action_insertnode:
-    "cz": adding a node into a way
-    "de": Punkt auf Weg hinzufügen
-    "da": tilføj et punkt på vejen
-    "es": Añadir un punto a una vía
-    "fr": Ajouter un point sur un chemin
-    "fi": pisteen lisääminen tiehen
-    "hu": vonalhoz pont hozzáadásának
-    "it": aggiunta di un nodo in un percorso...
-    "ja": wayの途中にnodeを追加
-    "ko": 길에 node를 추가
-    "lolcat": addin a noeded into a wai
-    "nl": "Punt toevoegen aan 'way'"
-    "no": legge til et punkt på veien
-    "pt-BR": Adicionando um nó em um caminho
-    "ru": добавление точки в линию
-    "sv": lägger till en punkt till en väg
-    "zh-HANS": adding a node into a way
-action_mergeways:
-    "cz": sloučení dvou cest
-    "de": Zwei Wege verschmelzen
-    "da": slår to veje sammen
-    "es": Combinar dos vías
-    "fr": Joindre deux chemins
-    "fi": kahden tien yhdistäminen
-    "hu": két vonal egyesítése
-    "it": unione di due percorsi...
-    "ja": 2つのwayを結合
-    "ko": 두 길을 합침(merge)
-    "lolcat": mergin bowf waiz
-    "nl": twee wegen samenvoegen
-    "no": slår sammen to veier
-    "pt-BR": Mesclando dois caminhos
-    "ru": соединение двух линий
-    "sv": Slå samman två vägar
-    "zh-HANS": merging two ways
-action_movepoi:
-    "cz": posunutí bodu záju (POI)
-    "de": Ort von Interesse (POI) verschieben
-    "da": flytter et POI (interessant punkt)
-    "es": Mover un punto de interés (POI)
-    "fr": Déplacer un POI
-    "fi": "POI:n siirtäminen"
-    "hu": POI mozgatásának
-    "it": spostamento PDI...
-    "ja": POIを移動
-    "ko": POI 이동
-    "lolcat": movin a plase
-    "nl": Verplaats de POI (nuttige plaats)
-    "no": flytter et POI (interessant punkt)
-    "pt-BR": Movendo um ponto de interesse (POI)
-    "ro": Miscă POI
-    "ru": перемещение точки интереса (POI)
-    "sv": Flytta på en POI, "punkt av intresse"
-    "zh-HANS": moving a POI
-action_movepoint:
-    "cz": posouvám bod
-    "de": Punkt verschieben
-    "da": flytter et punkt
-    "es": Mover un punto
-    "fr": Déplacer un point
-    "fi": pisteen lisääminen
-    "hu": pont mozgatásának
-    "it": spostamento punto...
-    "ja": pointを移動
-    "ko": 포인트를 이동
-    "lolcat": movin a point
-    "nl": Verplaats een punt
-    "no": flytter punkt
-    "pt-BR": Movendo um ponto
-    "ro": Mișcă un punct
-    "ru": перемещение точки
-    "sv": Flytta en punkt
-    "zh-HANS": moving a point
-action_moveway:
-    "cz": moving a way
-    "de": einen Weg verschieben
-    "da": flytter en vej
-    "es": Moviendo una vía
-    "fr": Déplacer un chemin
-    "fi": tien siirtäminen
-    "hu": vonal mozgatásának
-    "it": spostamento percorso
-    "ja": wayを移動
-    "ko": 길을 이동중
-    "lolcat": movin a wai
-    "nl": "'Way' verplaatsen"
-    "no": flytter en vei
-    "pt-BR": Movendo um caminho
-    "ru": перемещение линии
-    "sv": flytta en väg
-    "zh-HANS": moving a way
-action_pointtags:
-    "cz": setting tags on a point
-    "de": Attribute (Tags) für Punkt zuweisen
-    "da": sætter tags på et punkt
-    "es": Parámetros (tags) un punto
-    "fr": Paramétrer un point
-    "fi": pisteen tagien asettaminen
-    "hu": pont címkéi állításának
-    "it": impostazione etichette su un punto...
-    "ja": pointにtagを設定
-    "ko": 포인트의 태그를 설정
-    "lolcat": In ur noed, settin teh tagz
-    "nl": "tags instellen op een 'point'"
-    "no": sette merker på et punkt
-    "pt-BR": Ajustando tags (rótulos) em um ponto
-    "ru": установку тегов для точки
-    "sv": lägger till taggar på en punkt
-    "zh-HANS": setting tags on a point
-action_poitags:
-    "cz": setting tags on a POI
-    "de": Attribute (Tags) für Ort von Interesse (POI) zuweisen
-    "da": sætter tags på et POI (interessant punkt)
-    "es": Parámetros (tags) en un punto de interés (POI)
-    "fr": Paramétrer un POI
-    "fi": "POI:n tagien asettaminen"
-    "hu": POI címkéi állításának
-    "it": impostazione etichette su un PDI...
-    "ja": POIにtagを設定
-    "ko": POI의 태그를 설정
-    "lolcat": In ur plase, settin teh tagz
-    "nl": tags instellen op een POI
-    "no": sette merker på et POI (interessant punkt)
-    "pt-BR": Ajustando tags (rótulos) em um ponto de interesse (POI)
-    "ru": установку тегов для точки интереса (POI)
-    "sv": lägger till taggar på en POI
-    "zh-HANS": setting tags on a POI
-action_reverseway:
-    "cz": reversing a way
-    "de": Wegrichtung umkehren
-    "da": vend retningen på en vej
-    "es": Invertir dirección de una vía
-    "fr": Inverser le sens du chemin
-    "fi": tien kääntäminen
-    "hu": vonal megfordításának
-    "it": inversione percorso...
-    "ja": wayを反転
-    "ko": reversing a way
-    "lolcat": reversin a wai
-    "nl": "'Way' omdraaien"
-    "no": snur en vei bak fram
-    "pt-BR": Invertendo um caminho
-    "ru": изменение направления линии
-    "sv": Byter rikting på en väg
-    "zh-HANS": reversing a way
-action_splitway:
-    "cz": rozděluji cestu
-    "de": Weg teilen
-    "da": del en vej
-    "es": Dividir una vía
-    "fr": Scinder un chemin
-    "fi": tien katkaisu
-    "hu": vonal kettévágásának
-    "it": separazione di un percorso...
-    "ja": wayを分割
-    "ko": 길을 나누기
-    "lolcat": spleettin a wai
-    "nl": "'Way' splitsen"
-    "no": dele en vei
-    "pt-BR": Dividindo um caminho
-    "ru": разбиение линии
-    "sv": delar upp en väg
-    "zh-HANS": splitting a way
-action_waytags:
-    "cz": úprava tagů cesty
-    "de": Attribute (Tags) für Weg zuweisen
-    "da": sætter tags på en vej
-    "es": Parámetros (tags) en una vía
-    "fr": Paramétrer un chemin
-    "fi": tien tagien asettaminen
-    "hu": vonal címkéi állításának
-    "it": impostazione etichette su un percorso...
-    "ja": wayにtagを設定
-    "ko": 길의 태그를 설정
-    "lolcat": In ur wai, settin teh tagz
-    "nl": "tags instellen op een 'way'"
-    "no": sette merker på en vei
-    "pt-BR": Ajustando tags (rótulos) em um caminho
-    "ru": установку тегов для линии
-    "sv": lägger till taggar på en väg
-    "zh-HANS": setting tags on a way
-add:
-    "cz": Přidat
-    "de": Hinzufügen
-    "da": Tilføj
-    "es": Añadir
-    "fr": Ajouter
-    "fi": Lisää
-    "hu": Hozzáad
-    "it": Aggiungi
-    "ja": 追加
-    "ko": 추가
-    "lolcat": Add
-    "nl": Toevoegen
-    "no": Legg til
-    "pt-BR": Adicionar
-    "ru": Добавить
-    "sv": Lägg till
-    "zh-HANS": Add
-advice_nocommonpoint:
-    "cz": Cesty nesdílí společný bod
-    "de": Die Wege (Ways) haben keinen gemeinsamen Punkt.
-    "es": Las vías no comparten un punto en común
-    "fr": Les chemins ne partagent pas de point commun
-    "fi": Tiet eivät jaa yhteistä pistettä
-    "hu": A vonalaknak nincs közös pontjuk
-    "it": I percorsi non hanno nessun punto comune
-    "ko": 길들이 같은 포인트를 공유하지 않았습니다.
-    "nl": "De 'ways' hebben geen gemeenschappelijk punt"
-    "ru": Линии не имеют общей точки
-advice_tagconflict:
-    "cz": "Tags don't match - please check"
-    "de": Die Attribute (Tags) passen nicht zusammen (Z zum Rückgängig-Machen)
-    "es": Los parámetros no coinciden - Por favor revíselos (Z para deshacer)
-    "fr": Les tags ne correspondent pas - Veuillez vérifier
-    "fi": Tagit eivät täsmää - tarkista asia
-    "hu": A címkék nem egyeznek - ellenőrizd (Z a visszavonáshoz)
-    "it": "Le etichette non corrispondono: controllare (Z per annullare)"
-    "ko": 태그가 일치하지 않습니다 -- 살펴보세요
-    "nl": Tags komen niet overeen - a.u.b. nakijken (Z om ongedaan te maken)
-    "ru": Тэги не совпадают, пожалуйста проверьте (Z для отмены)
-advice_toolong:
-    "cz": Too long to unlock - please split into shorter ways
-    "de": Zu lang zum Entsperren - Bitte in kürzere Wege aufteilen.
-    "es": Demasiado largo para desbloquear - Por favor divídalo en vías más cortas
-    "fr": Trop long pour débloquer la situation - Scindez le chemin en chemins plus courts
-    "fi": Liian pitkän tien lukituksen poisto ei sallittu - katkaise lyhyemmiksi teiksi.
-    "hu": Túl hosszú a feloldáshoz - vágd rövidebb szakaszokra
-    "it": "Troppo lungo per sbloccare: separa in percorsi più brevi"
-    "ko": unlock하기에 너무 깁니다. 길을 짧게 나누세요
-    "nl": "Te lang om te unlocken - splits de 'way' in kortere stukken"
-    "ru": Длина слишком велика. Пожалуйста, разделите на более короткие линии
-advice_waydragged:
-    "cz": Cesta posunuta (Z to undo)
-    "de": Weg verschoben (Z zum Rückgängig-Machen)
-    "es": Vía desplazada (Z para deshacer)
-    "fr": Chemin déplacé (Z pour annuler)
-    "fi": Tietä siirrettiin (paina Z kumotaksesi)
-    "hu": Vonal áthelyezve (Z a visszavonáshoz)
-    "it": Percorso trascinato (Z per annullare)
-    "ko": 길이 통째로 움직였습니다 (Z 키를 누르면 undo 됩니다)
-    "nl": "'Way' verplaatst (Z om ongedaan te maken)"
-    "ru": Линия передвинута (Z для отмены)
-cancel:
-    "cz": Zrušit
-    "de": Abbrechen
-    "da": Afbryd
-    "es": Cancelar
-    "fr": Annuler
-    "fi": Peru
-    "hu": Mégse
-    "it": Annulla
-    "ja": 中止
-    "ko": 취소
-    "lolcat": Noes!
-    "nl": Annuleren
-    "no": Avbryt
-    "pt-BR": Cancelar
-    "ro": Anuleaza
-    "ru": Отмена
-    "sv": Avbryt
-    "zh-HANS": Cancel
-createrelation:
-    "cz": Vytvořit novou relaci
-    "de": Eine neue Relation erstellen
-    "da": Lav en ny relation
-    "es": Crear una nueva relación
-    "fr": Créer une nouvelle relation
-    "fi": Luo uusi relaatio
-    "hu": Új kapcsolat létrehozása
-    "it": Crea una nuova relazione
-    "ja": 新しいrelationを作成
-    "ko": 새로운 relation 생성
-    "lolcat": Creaet a noo relashun
-    "nl": Nieuwe relatie maken
-    "no": Lag en ny relasjon
-    "pt-BR": Criar uma nova relação
-    "ru": Создать новое отношение
-    "sv": Skapa en ny relation
-    "zh-HANS": Create a new relation
-delete:
-    "cz": Smazat
-    "de": Löschen
-    "da": Slet
-    "es": Borrar
-    "fr": Supprimer
-    "fi": Poista
-    "hu": Törlés
-    "it": Cancella
-    "ja": 削除
-    "ko": 삭제
-    "lolcat": Deleet
-    "nl": Verwijderen
-    "no": Slett
-    "pt-BR": Apagar
-    "ru": Удалить
-    "sv": Radera
-    "zh-HANS": Delete
-deleting:
-    "cz": deleting
-    "de": löschen
-    "da": sletter
-    "es": Borrar
-    "fr": Supprimer
-    "fi": poistaminen
-    "hu": törlés
-    "it": cancellazione...
-    "ja": 削除
-    "ko": 삭제
-    "lolcat": deletin
-    "nl": verwijder
-    "no": sletter
-    "pt-BR": Apagando
-    "ru": удаление
-    "sv": Tar bort
-    "zh-HANS": deleting
-dontshowagain:
-    "cz": Příště tuto zprávu nezobrazovat
-    "de": Diese Meldung nicht wieder anzeigen.
-    "da": Vis ikke denne besked igen
-    "es": No mostrar este mensaje de nuevo
-    "fr": Ne plus afficher ce message
-    "fi": Älä näytä tätä viestiä enää.
-    "hu": Ez az üzenet ne jelenjen meg újra
-    "it": Non mostrare più questo messaggio
-    "ja": 次回からこのメッセージを表示しない。
-    "ko": 이 메시지를 다시 보이지 않음
-    "lolcat": dis messig suxs. No more show
-    "nl": Laat dit bericht niet meer zien
-    "no": Ikke vis denne meldingen igjen
-    "pt-BR": Não mostre esta mensagem novamente
-    "ru": Не показывать это сообщение снова.
-    "sv": Visa inte detta medelande igen
-    "zh-HANS": "Don't show this message again"
-editingmap:
-    "cz": Editing map
-    "de": Karte editieren
-    "da": Redigerer kort
-    "es": Editando el mapa
-    "fr": Modifier la carte
-    "fi": Muokataan karttaa
-    "hu": Szerkesztés
-    "it": Modifica
-    "ja": 地図編集中
-    "ko": 지도 수정
-    "lolcat": Editin map
-    "nl": Kaart aanpassen
-    "no": Redigerer kart
-    "pt-BR": Editar o mapa
-    "ru": Редактирование карты
-    "sv": Ändra online kartan
-    "zh-HANS": Editing map
-emailauthor:
-    "cz": \n\nPlease e-mail richard\@systemeD.net with a bug report, saying what you were doing at the time.
-    "de": \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>
-    "da": \n\nVenligst send en e-mail (på engelsk) til richard\@systemeD.net med en fejlrapport, og forklar hvad du gjorde da det skete.
-    "es": \n\nPor favor envíe un mail a richard\@systemeD.net con un informe del error, describiendo lo que hacía en ese momento.
-    "fr": "\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."
-    "fi": \n\nLähetäthän sähköpostia, jossa kerrot mitä olit tekemässä, osoitteeseen richard\@systemeD.net mieluiten englanniksi.
-    "hu": \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.
-    "it": "\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."
-    "ja": \n\nあなたがその時に何を行っていたかを書いたバグレポートを、 richard\@systemeD.net 宛てにe-mailで送付して下さい。
-    "ko": \n\n버그가 발견되면 richard\@systemeD.net 에게 email을 주십시오. 그리고 귀하가 무슨 작업을 하고 있는지 알려주세요.
-    "lolcat": \n\NPLEAES e-male richard\@systemed.net wif a bug report, meaowin whut yoo werz doin at teh tyme.
-    "nl": \n\nStuur een mail naar richard\@systemeD.net met een bug report, schrijf wat je aan het doen was.
-    "no": \n\nVennligst send en epost (på engelsk) til richard\@systemeD.net med en feilrapport, og forklar hva du gjorde når det skjedde.
-    "pt-BR": \n\nFavor enviar um e-mail a richard\@systemeD.net com um relatório de erro, informando o que você estava fazendo na hora.
-    "ru": "\n\nПожалуйста, отправьте сообщение об ошибке (на английском языке) на электронную почту: richard\@systemeD.net, с указанием того, какие действия вы совершали."
-    "sv": \n\nVänligen e-posta richard\@systemeD.net med en felreport, som beskriver vad du gjorde när felet inträffade.
-    "zh-HANS": \n\nPlease e-mail richard\@systemeD.net with a bug report, saying what you were doing at the time.
-error_connectionfailed:
-    "cz": "Spojení s OpenStreetMap serverem selhalo. Vaše nedávné změny nemohly být uloženy.\n\nZkusit uložit změny znovu?"
-    "de": Die Verbindung zum OpenStreetMap-Server ist leider fehlgeschlagen. Kürzlich erfolgte Änderungen wurden nicht gespeichert.\n\nNoch einmal versuchen?
-    "da": "Beklager - forbindelsen til OpenStreetMap-serveren fejlede, eventuelle nye ændringer er ikke blevet gemt.\n\nVil du prøve igen?"
-    "es": "Disculpe - la conexión al servidor de OpenStreetMap ha fallado. Cualquier cambio reciente no se ha guardado.\n\nPodría intentarlo de nuevo?"
-    "fr": Désolé, la connexion au serveur OpenStreetMap a échoué. Vos changements récents ne sont pas enregistrés.\n\nVoulez-vous réessayer ?
-    "fi": "Yhteyttä OSM-palvelimeen ei saatu. Tuoreita muutoksia ei ole tallennettu.\n\nHaluatko yrittää uudestaan?"
-    "hu": 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?
-    "it": "La connessione con il server di OpenStreetMap si è interrotta. Qualsiasi modifica recente non è stata salvata.\n\nRiprovare?"
-    "ja": 申し訳ありません。OpenStreetMapのサーバーへの接続に失敗しました。 直近の変更は保存されていません。\n\n再送信しますか?
-    "ko": "죄송합니다. OpenStreetMap 서버와의 연결이 실패했습니다. 최근 변경사항은 저장되지 않았습니다\n\n접속을 다시 시도하겠습니까?"
-    "lolcat": "OHNOES! teh OPENSTREETMAP servah connecshun has a FAIL. I no saveded n e recent chanzes.\n\nYoo wants tri agin?"
-    "nl": "Sorry - de verbinding met de server is verbroken. Recente veranderingen zijn misschien niet opgeslagen.\n\nOpnieuw proberen?"
-    "no": "Beklager - forbindelsen til OpenStreetMap-tjeneren feilet, eventuelle nye endringer har ikke blitt lagret.\n\nVil du prøve på nytt?"
-    "pt-BR": Sinto muito - a conexão ao servidor do OpenStreetMap falhou. Algumas alterações recentes não foram salvas.\n\nVocê gostaria de tentar novamente?
-    "ru": "Извините, соединение с сервером OpenStreetMap разорвано. Все текущие изменения не были сохранены.\n\nПопробовать ещё раз?"
-    "sv": "Tyvärr har vi tappat kontakten med OpenStreetMap serven. Nygjorda ändringar har inte kunnat sparas.\n\nFörsöka återansluta?"
-    "zh-HANS": "Sorry - the connection to the OpenStreetMap server failed. Any recent changes have not been saved.\n\nWould you like to try again?"
-error_nopoi:
-    "cz": "The POI cannot be found (perhaps you've panned away?) so I can't undo."
-    "de": Der Ort von Interesse (POI) kann nicht gefunden werden (vielleicht wurde der Kartenausschnitt verschoben?), daher ist Rückgängigmachen nicht möglich.
-    "da": Fandt ikke POI-et, så det er ikke muligt at fortryde. (Måske er den ikke på skærmen længere?)
-    "es": El punto de interés (POI) no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer.
-    "fr": "Le point d'intérêt (POI) n'est pas trouvé (éventuellement sur une autre page?), il ne peut être restauré."
-    "fi": "POI:ta ei löydetä (ehkä vieritit siitä liian kauaksi), joten peruminen ei onnistu."
-    "hu": A POI nem található (talán már eltávolítottad?), így nem vonható vissza.
-    "it": "Impossibile trovare il PDI (forse è fuori dallo schermo?): impossibile annullare."
-    "ja": 該当するPOIが見付からないため、取消ができませんでした。 (画面表示の範囲外になっていませんか?)
-    "ko": "POI를 찾을 수 없습니다. (perhaps you've panned away?) so I can't undo."
-    "lolcat": "I had a plase but I losteded it, so noes can undo. :("
-    "nl": POI niet gevonden (hebt u de kaart weggeschoven?), kan dus niet ongedaan maken.
-    "no": Fant ikke POI-et, så det er ikke mulig å angre. (Kanskje den ikke er på skjermen lenger?)
-    "pt-BR": O ponto de interesse (POI) não foi encontrado (talvez você tenha mudado a sua posição?), por isso não posso desfazer.
-    "ru": Точка интереса(POI) не найдена (возможно вы отошли в сторону?), поэтому невозможно отменить.
-    "sv": "POI:n kan inte hittas (du kanske har flyttat den utanför bilden?) så det går inte att ångra."
-    "zh-HANS": "The POI cannot be found (perhaps you've panned away?) so I can't undo."
-error_nosharedpoint:
-    "cz": "Cesty $1 a $2 v současnosti nemaí společný bod, so I can't undo."
-    "de": Die Wege $1 und $2 haben keinen gemeinsamen Punkt mehr, daher kann das Aufteilen nicht rückgängig gemacht werden.
-    "da": Vejene $1 og $2 deler ikke noget punkt længere, så det er ikke muligt at fortryde delingen.
-    "es": Las vías $1 y $2 ya no tienen ningún punto en común, por tanto no se pueden dividir.
-    "fr": "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."
-    "fi": Teillä $1 ja $2 ei enää ole yhteistä solmua, joten tien katkaisua ei voi perua.
-    "hu": Már nincs közös pontja a(z) $1 és a(z) $2 vonalaknak, így nem vonható vissza a kettévágás.
-    "it": "I percorsi $1 e $2 non hanno più un punto comune: impossibile annullare la separazione."
-    "ja": $1 と $2 のwayは既に共通のpointを共有していないため、分割の取消ができませんでした。
-    "ko": 길 $1 과 $2 은(는) 같은 포인트를 더이상 공유하지 않습니다. 길 나누기를 취소할 수 없습니다.
-    "lolcat": waiz $1 adn $2 dun shaer a common point n e moar , sow I noes kan undo teh spleet.
-    "nl": "De 'ways' $1 en $2 hebben geen gemeenschappelijk punt meer, dus ik kan het splitsen niet ongedaan maken."
-    "no": Veiene $1 og $2 deler ikke noe punkt lenger, så det er ikke mulig å angre.
-    "pt-BR": Caminhos $1 e $2 não compartilham mais um mesmo ponto, então a divisão não pode ser desfeita.
-    "ru": Линии $1 и $2 больше не содержат общих точек, поэтому невозможно отменить разделение.
-    "sv": Vägarna $1 och $2 möts inte i någon punkt längre, så det går inte att ångra delningen.
-    "zh-HANS": "Ways $1 and $2 don't share a common point any more, so I can't undo the split."
-error_noway:
-    "cz": "Way $1 cannot be found (perhaps you've panned away?) so I can't undo."
-    "de": Der Weg $1 kann nicht gefunden werden (eventuell wurde der Kartenausschnitt verschoben), daher ist Rückgängigmachen nicht möglich.
-    "da": Fandt ikke vejen $1 så det er ikke muligt at fortryde. (Måske er den ikke på skærmen længere?)
-    "es": La vía $1 no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer..
-    "fr": "Le chemin $1 n'a pas été trouvé, il ne peut être restauré à son état précédent."
-    "fi": Tietä $1 ei löydy (ehkä vieritit siitä liian kauaksi), joten kumoaminen ei onnistu.
-    "hu": A(z) $1 vonal nem található (talán már eltávolítottad?), így nem vonható vissza.
-    "it": "Impossibile trovare il percorso $1 (forse è fuori dallo schermo?): impossibile annullare."
-    "ja": $1 というwayが見付からないため、取消ができませんでした。 (画面表示の範囲外になっていませんか?)
-    "ko": "길 $1 이 발견되지 않았습니다 (perhaps you've panned away?) so I can't undo."
-    "lolcat": "I had a wai $1 but I losteded it, so noes can undo. :("
-    "nl": "'Way' $1 niet gevonden (hebt u de kaart weggeschoven?), kan dus niet ongedaan maken."
-    "no": Fant ikke veien $1 så det er ikke mulig å angre. (Kanskje den ikke er på skjermen lenger?)
-    "pt-BR": Caminho $1 não foi encontrado (talvez você mudou a sua posição?), por isso não posso desfazer.
-    "ru": Линия $1 не найдена (возможно вы отошли в сторону?), поэтому невозможно отменить.
-    "sv": Vägen $1 kan inte hittas (du kanske har flyttat den utanför bilden?) så det går inte att ångra.
-    "zh-HANS": "Way $1 cannot be found (perhaps you've panned away?) so I can't undo."
-existingrelation:
-    "cz": Přidat k existující relaci
-    "de": Zu einer bestehenden Relation hinzufügen
-    "da": Føj til en eksisterende relation
-    "es": Añadir a relación existente
-    "fr": Ajouter à une relation existante
-    "fi": Lisää olemassa olevaan relaatioon
-    "hu": Hozzáadás egy meglévő kapcsolathoz
-    "it": Aggiungi ad una relazione esistente
-    "ja": 既存のリレーションを追加
-    "ko": Add to an existing relation
-    "lolcat": Adds ta a relashun
-    "nl": Toevoegen aan bestaande relatie
-    "no": Legg til en relasjon som er her fra før
-    "ru": Добавить в существующее отношение
-findrelation:
-    "cz": Najít relaci obsahující
-    "de": Finde eine Relation, die $1 enthält
-    "da": Find en relation som indeholder
-    "es": Buscar una relación que contenga
-    "fr": Trouver une relation contenant
-    "fi": Find a relation containing
-    "hu": "Kapcsolat keresése, amely tartalmazza:"
-    "it": Trova una relazione che contiene
-    "ja": 以下に含まれるリレーションを検索
-    "ko": Find a relation containing
-    "lolcat": Luks for a relashun wif
-    "nl": Relatie zoeken met
-    "no": Finn en relasjon som inneholder
-    "ru": Найти отношения
-gpxpleasewait:
-    "cz": "Počkejte prosím: Zpracovávám GPX cestu"
-    "de": Bitte warten, während die GPX-Aufzeichnung (Track) verarbeitet wird.
-    "da": Vent venligst mens GPX sporet behandles.
-    "es": Por favor espere un poco mientras el track GPX se procesa.
-    "fr": Veuillez patientez pendant le traitement de la trace GPX
-    "fi": Odota. GPX-jälkeä käsitellään.
-    "hu": Kérlek, várj a GPX nyomvonal feldolgozásáig.
-    "it": Attendere mentre la traccia GPX viene elaborata.
-    "ja": GPX trackが処理されるまで暫くお待ち下さい。
-    "ko": GPX 트랙로그가 처리될때 까지 기다려주세요.
-    "lolcat": Pleez wayt whiel teh GPZ track iz processeded.
-    "nl": Even geduld alstublieft, terwijl de GPX trace wordt verwerkt
-    "no": Vennligst vent mens sporloggen behandles.
-    "pt-BR": Favor aguardar enquanto a trilha GPX é processada.
-    "ro": Please wait while the GPX track is processed.
-    "ru": Пожалуйста, подождите — GPX-треки обрабатываются.
-    "sv": GPX loggen bearbetas, var god vänta.
-    "zh-HANS": Please wait while the GPX track is processed.
-help:
-    "cz": Nápověda
-    "de": Hilfe
-    "da": Hjælp
-    "es": Ayuda
-    "fr": Aide
-    "fi": Ohje
-    "hu": Súgó
-    "it": Aiuto
-    "ja": ヘルプ
-    "ko": 도움말
-    "lolcat": Halp
-    "nl": Help
-    "no": Hjelp
-    "pt-BR": Ajuda
-    "ru": Помощь
-    "sv": Hjälp
-    "zh-HANS": Help
-hint_drawmode:
-    "cz": přidej bod kliknutím\ndvojklik/Enter\nukončí cestu
-    "de": Klicken, um Punkt hinzuzufügen\nDoppelklicken oder Eingabetaste zum Beenden der Linie
-    "da": klik for at tilføje punkt\ndobbeltklik eller enter\nfor at afslutte linie
-    "es": Clic para añadir un punto\ndoble-clic/Return\npara terminar la línea
-    "fr": Clic pour ajouter un point\nDouble-clic/Entrée pour terminer le chemin
-    "fi": napsauta lisätäksesi pisteen\nKaksoisnapsauta tai paina enter päättääksesi tien
-    "hu": kattintás pont hozzáadásához\ndupla kattintás/Enter\na vonal befejezéséhez
-    "it": clic per aggiungere un punto\ndoppio clic/Return\nper terminare la linea
-    "ja": クリックしてpointを追加\nダブルクリック/Returnで\nline編集を終了
-    "ko": 클릭하면 포인트를 추가\n더블 클릭 또는 리턴 키를 누르면\n라인을 끝냄
-    "lolcat": clik ta add point\ndouble-clik/Return\nto end lien
-    "nl": Klik om een nieuw punt toe te voegen\ndubbelklik/enter\n om de lijn te stoppen
-    "no": trykk for å legge til punkt\ndobbeltklikk eller enter\nfor å avslutte linje
-    "pt-BR": Clique para adicionar um ponto\nDuplo clique/Enter\npara finalizar a linha
-    "ro": click pentru a adăuga un punct\ndouble-click/Return\npentru a termina linia
-    "ru": кликните для добавления точки,\nдвойной клик или Enter\nчтобы закончить линию
-    "sv": Klicka för att lägga till en punkt\n Dubbelklicka för att avsluta vägen.
-    "zh-HANS": click to add point\ndouble-click/Return\nto end line
-hint_loading:
-    "cz": načítám cesty
-    "de": Wege werden geladen
-    "da": henter veje
-    "es": Cargando vías
-    "fr": Chargement des chemins en cours
-    "fi": ladataan teitä
-    "hu": vonalak betöltése
-    "it": caricamento percorsi...
-    "ja": wayを読み込んでいます。
-    "ko": 길을 가져옵니다
-    "lolcat": NOM NOM NOM
-    "nl": "Bezig de 'ways' te laden"
-    "no": laster veier
-    "pt-BR": Carregando caminhos
-    "ru": загрузка линий
-    "sv": laddar vägar
-    "zh-HANS": loading ways
-hint_overendpoint:
-    "cz": "koncový bod:\nkliknutí pro napojení,\nshift-klik cesty sloučí"
-    "de": Überlappung mit Endpunkt\nKlicken zum Anschließen\nShift+Klick zum Verschmelzen
-    "da": over endepunkt\nklik for at forbinde\nshift+klik for at slå sammen til en
-    "es": Sobre punto final\nclic para unir\nshift-clic para combinar
-    "fr": Sur le dernier point du tracé\nClick pour joindre\nShift-click pour fusionner
-    "fi": päätepisteen päällä\nnapsauta sulkeaksesi\nshift-napsauta yhdistääksesi
-    "hu": végpont fölött\nkattintás a csatlakoztatáshoz\nshift+kattintás az egyesítéshez
-    "it": su punto terminale\nclic per congiungere\nshift-clic per unire
-    "ja": 終端のpoint上で\nクリックして接続\nshiftキーを押しながらクリックして結合
-    "ko": 마지막 포인트에서\n클릭하면 연결합니다\nshift-click하면 합칩니다.
-    "lolcat": ovah endpoint\nclik ta join\nshift-clik ta merge
-    "nl": "Eindpunt van een way:\nKlik om dit punt toe te voegen\nShift-klik om beide ways samen te voegen"
-    "no": over endepunkt\ntrykk for å koble sammen\nshift+trykk for å slå sammen
-    "pt-BR": Sobre o ponto final\nclique para ligar\nclique pressionando o shift para mesclar
-    "ro": deasupra la endpoint\nclick to join\nshift-click to merge
-    "ru": над конечной точкой\nclick для соединения\nshift-click для слияния
-    "sv": över en slutpunkt\nklicka för att sätta fast\nshift-klicka för att slå samman
-    "zh-HANS": over endpoint\nclick to join\nshift-click to merge
-hint_overpoint:
-    "cz": bod cesty:\nkliknutím cestu napojíte"
-    "de": Überlappung mit Punkt\nKlicken zum Anschließen
-    "da": over punkt\nklik for at forbinde
-    "es": Sobre punto\nclick para unir"
-    "fr": Point du dessus\nClick pour joindre
-    "fi": pisteen päällä\nnapsauta yhdistääksesi"
-    "hu": pont fölött\nkattintás a csatlakoztatáshoz
-    "it": su punto\nclic per congiungere"
-    "ja": point上で\nクリックして接続
-    "ko": 포인트를 클릭하면 연결합니다.
-    "lolcat": "I'M OVAH UR POINT\nCLICKIN TO JOIN"
-    "nl": "Punt:\nKlik om dit punt toe te voegen"
-    "no": over punkt\ntrykk for å koble sammen
-    "pt-BR": Sobre o ponto\nclique para conectar
-    "ro": over point\nclick to join"
-    "ru": над точкой\nclick для соединения"
-    "sv": över en punkt\nklicka för att sätta fast"
-    "zh-HANS": over point\nclick to join"
-hint_pointselected:
-    "cz": vybrán bod\n(shift-klik na bod\nzačne novou cestu)
-    "de": Punkt ausgewählt\n(Shift+Punkt anklicken, um\n eine neue Linie zu erstellen)
-    "da": punkt valgt\n(shift+klik punktet for at\nstarte en ny linie)
-    "es": Punto seleccionado\n(shift-clic en el punto para\nempezar nueva línea)
-    "fr": Point sélectionné\n(Shift-clic sur le point pour\ncommencer une nouvelle ligne)
-    "fi": piste valittuna\n(shift-klikkaa pistettä\naloittaaksesi uuden tien)
-    "hu": pont kijelölve\n(shift+kattintás a pontra\núj vonal kezdéséhez)
-    "it": punto selezionato\n(shift-clic sul punto per\niniziare una nuova linea)
-    "ja": pointを選択\n(shiftキーを押しながらpointをクリックして\n新しいlineを開始)
-    "ko": 포인트 선택됨\n(새로운 라인을 생성하려면\n포인트에서 shift-click하세요)
-    "lolcat": point selecteded\n(shift-clik point ta\nstaart new lien)
-    "nl": Punt geselecteerd\n(shift-klik op het punt om een nieuwe lijn te\nbeginnen)
-    "no": punkt valgt\n(shift+trykk punktet for å\nstarte en ny linje)
-    "pt-BR": Ponto selecionado\n(clique no ponto pressionando o shift para\niniciar uma nova linha)
-    "ro": Punctul selectat\n(shift-click pe punct pentru\no linie nouă)
-    "ru": точка выбрана\n(кликните с нажатым Shift на точку\nчтобы начать новую линию)
-    "sv": En punkt är vald\n(Shift-klicka på punkten för att starta en ny väg)
-    "zh-HANS": point selected\n(shift-click point to\nstart new line)
-hint_toolong:
-    "cz": "cesta je příliš dlouhá:\nrozdělte cestu na několik\nkratších úseků"
-    "de": "Zu lang zum Entsperren:\nBitte in kürzere Wege aufteilen"
-    "da": "for lang til at låse op:\nopdel venligst\ni mindre veje"
-    "es": "Demasiado larga para desbloquear:\nPorfavor divida\nen vías más cortas"
-    "fr": "Trop long pour débloquer la situation:\nScindez le chemin en chemins plus courts"
-    "fi": "liian pitkä vapautettavaksi:\nkatkaise\nlyhyempiin teihin"
-    "hu": "túl hosszú a feloldáshoz:\nkérlek, vágd szét\nrövidebb vonalakra"
-    "it": "troppo lungo per sbloccare:\ndividere in\npercorsi più brevi"
-    "ja": "wayが長すぎるためunlockできません:\n短いwayに\n分割して下さい。"
-    "ko": "unlock하기엔 너무 깁니다:\n짧은 길로 나눠주세요"
-    "lolcat": "too lawng ta unlok:\npleaes spleet into\nshortah waiz"
-    "nl": "Te lang om vrij te geven:\nSplits\n de 'ways' in kleinere stukken"
-    "no": "for lang til å låse opp:\nvennligst del opp\ni mindre veier"
-    "pt-BR": "Muito longo para destravar:\nfavor dividir em\ncaminhos mais curtos"
-    "ru": "слишком длинная линия для разблокировки:\пожалуйста, разбейте ее\nна более короткие линии"
-    "sv": "för lång för att låsa upp:\ndela upp vägen\ni mindre delar"
-    "zh-HANS": "too long to unlock:\nplease split into\nshorter ways"
-norelations:
-    "cz": No relations in current area
-    "de": Keine Relationen in diesem Gebiet
-    "da": Ingen relationer i området på skærmen
-    "es": No hay relaciones en el área actual
-    "fr": "Aucune relation dans l'espace courant"
-    "fi": Nykyisellä alueella ei ole relaatioita
-    "hu": Nincs kapcsolat a jelenlegi területen
-    "it": "Nessuna relazione nell'area attuale"
-    "ja": 現在のエリアにリレーションはありません
-    "ko": 현재 영역에 relation이 없습니다.
-    "lolcat": I sees noes relashuns neer heer
-    "nl": Geen relaties in huidig gebied
-    "no": Ingen relasjoner i området på skjermen
-    "ru": Нет отношений в текущей области
-ok:
-    "cz": Budiž
-    "de": OK
-    "da": Ok
-    "es": OK
-    "fr": Ok
-    "fi": Ok
-    "hu": OK
-    "it": OK
-    "ja": Ok
-    "ko": 확인
-    "lolcat": kthx
-    "nl": OK
-    "no": Ok
-    "ru": Ok
-option_background:
-    "cz": "Pozadí:"
-    "de": "Hintergrund:"
-    "da": "Baggrund:"
-    "es": "Fondo:"
-    "fr": "Arrière-plan :"
-    "fi": "Tausta:"
-    "hu": "Háttér:"
-    "it": "Sfondo:"
-    "ja": "背景:"
-    "ko": "배경:"
-    "lolcat": "bakground:"
-    "nl": "Achtergrond:"
-    "no": "Bakgrunn:"
-    "pt-BR": "Plano de fundo:"
-    "ru": "Фон:"
-    "sv": "Bakgrund:"
-    "zh-HANS": "Background:"
-option_custompointers:
-    "cz": Use pen and hand pointers
-    "de": Stift- und Hand-Mauszeiger benutzen
-    "da": Brug pen- og håndvisere
-    "es": Usar punteros de pluma y mano
-    "fr": Remplacer la souris par le Crayon et la Main
-    "fi": Käytä kynä- ja käsikohdistimia
-    "hu": Toll és kéz egérmutatók használata
-    "it": Usa puntatori penna e mano
-    "ja": ペンのポインターと手のポインターを使用する
-    "ko": pen과 hand 마우스 포인터 사용
-    "lolcat": I can has pen adn paw pointerz
-    "nl": Pen- en handcursors gebruiken
-    "no": Bruk penn- og håndpekere
-    "pt-BR": Utilize os apontadores caneta e mão
-    "ru": Использовать курсоры пера и руки
-    "sv": Använd penna och handpekare
-    "zh-HANS": Use pen and hand pointers
-option_fadebackground:
-    "cz": Zesvětlit pozadí
-    "de": Hintergrund halbtransparent
-    "da": Fjern baggrund
-    "es": Atenuar fondo
-    "fr": Arrière-plan éclairci
-    "fi": Himmeä tausta
-    "hu": Áttetsző háttér
-    "it": Sfondo sfumato
-    "ja": 背景を隠す
-    "ko": 흐린 배경
-    "lolcat": Faeded bakground
-    "nl": Achtergrond lichter maken
-    "no": Fjern bakgrunn
-    "pt-BR": Esmaecer o plano de fundo
-    "ru": Светлый фон
-    "sv": Mattad bakgrund
-    "zh-HANS": Fade background
-option_thinlines:
-    "cz": Používat tenké linky ve všech měřítkách mapy
-    "de": Dünne Linien in allen Auflösungen benutzen
-    "da": Brug tynde linier uanset skalering
-    "es": Usar líneas finas en todas las escalas
-    "fr": Utiliser un trait fin à toutes les échelles
-    "fi": Käytä aina ohuita viivoja
-    "hu": Vékony vonalak használata minden méretaránynál
-    "it": Usa linee sottili a tutte le scale
-    "ja": 全ての縮尺で細い線を使用する
-    "ko": 모든 축적에서 가는 선을 사용
-    "lolcat": I can has thin linez at awl scalez
-    "nl": Altijd dunne lijnen gebruiken
-    "no": Bruk tynne linjer uansett forstørrelse
-    "pt-BR": Utilize linhas finas em todas as escalas
-    "ru": Использовать тонкие линии на всех масштабах
-    "sv": Använd tunna linjer på alla skalor
-    "zh-HANS": Use thin lines at all scales
-option_warnings:
-    "cz": Zobrazovat plovoucí varování
-    "de": Warnungen anzeigen
-    "es": Mostrar alertas flotantes
-    "fr": Montrer les avertissements flottants
-    "fi": Näytä siirtymisvaroitukset
-    "hu": Lebegő figyelmeztetések megjelenítése
-    "it": Mostra avvertimenti galleggianti
-    "ko": Show floating warnings
-    "nl": Floating warnings weergeven
-    "ru": Показывать всплывающие предупреждения
-play:
-    "cz": Play
-    "de": Üben
-    "da": Øve
-    "es": Practicar
-    "fr": Essai
-    "fi": Harjoittele
-    "hu": Próba
-    "it": Gioca
-    "ja": 練習
-    "ko": 연습
-    "lolcat": Plae
-    "nl": Oefenen
-    "no": Øve
-    "pt-BR": Praticar
-    "ru": Тренировка
-    "sv": Prova
-    "zh-HANS": Play
-point:
-    "cz": Bod
-    "de": Punkt
-    "da": Punkt
-    "es": Punto
-    "fr": Point
-    "fi": Piste
-    "hu": Pont
-    "it": Punto
-    "ja": Point
-    "ko": 포인트
-    "lolcat": Noed
-    "nl": Punt
-    "no": Punkt
-    "pt-BR": Ponto
-    "ru": Точка
-    "sv": Nod (punkt)
-    "zh-HANS": Point
-practicemode:
-    "cz": Tréninkový mód
-    "de": Übungsmodus
-    "da": Øvelsestilstand
-    "es": Modo prácticas
-    "fr": "Mode d'essai"
-    "fi": Harjoitustila
-    "hu": Gyakorló mód
-    "it": Esercitazione
-    "ja": 練習モード
-    "ko": 연습하기
-    "lolcat": Practiec moeded
-    "nl": Oefenmodus
-    "no": Øvelsesmodus
-    "pt-BR": Modo de prática
-    "ru": Тренировочный режим
-    "sv": Träningsläge
-    "zh-HANS": Practice mode
-prompt_accuracy:
-    "cz": Buďtě přesní - mapujte jen místa, kde jste skutečně byli
-    "de": Fehlerfreiheit ist wichtig - nur Orte eintragen, die man kennt.
-    "da": Nøjagtighed er vigtig, kortlæg kun steder du har besøgt
-    "es": La precisión es importante - Mapee solo zonas en las que ha estado físicamente.
-    "fr": Précision importante - Éditez seulement les lieux que vous avez visités
-    "fi": "Tarkkuus on tärkeää: muokkaathan vain paikkoja, joissa olet ollut."
-    "hu": A pontosság fontos - csak olyan helyeket szerkessz, ahol már jártál
-    "it": "L'accuratezza è importante - mappa solo posti dove sei stato"
-    "ja": 正確さは大切です - 地図作りはあなたが行ったことのある場所だけにして下さい。
-    "ko": 정확도가 중요합니다 -- 귀하가 알거나 머물렀던 곳만 작업하세요.
-    "lolcat": Want acoracie - ownlee map placez yuv bein!
-    "nl": Precisie is belangrijk - breng alleen gebieden die u kent in kaart
-    "no": Nøyaktighet er viktig, bare kartlegg steder du har besøkt
-    "pt-BR": Precisão é importante - apenas coloque mapas de onde você já esteve
-    "ru": Точность важна. Составляйте карты только для тех мест, в которых вы были.
-    "sv": Noggrannhet är viktigt - Ändra bara kartan på ställen du varit
-    "zh-HANS": "Accuracy is important - only map places you've been"
-prompt_addtorelation:
-    "cz": Přidat $1 k relace
-    "de": $1 zu einer Relation hinzufügen
-    "da": Tilføj $1 til en relation
-    "es": Añadir $1 a una relación
-    "fr": Ajouter $1 à la relation
-    "fi": Lisää $1 relaatioon
-    "hu": $1 hozzáadása kapcsolathoz
-    "it": Aggiungi $1 ad una relazione
-    "ja": relationに $1 を追加
-    "ko": relation에 $1 추가
-    "lolcat": Add $1 ta a relashun
-    "nl": Voeg $1 toe aan een relatie
-    "no": Legg $1 til en relasjon
-    "pt-BR": Adicionar $1 a uma relação
-    "ru": Добавить $1 в отношение
-    "sv": Lägg till $1 till en relation
-    "zh-HANS": Add $1 to a relation
-prompt_dontcopy:
-    "cz": Nekopírujte z ostatních map - neporušujte autorská práva
-    "de": Nichts von anderen Karten kopieren / abzeichnen.
-    "da": Ikke kopier fra andre kort
-    "es": No copie de otros mapas
-    "fr": "Ne copiez pas d'autre cartes"
-    "fi": Älä kopioi muista kartoista.
-    "hu": Ne másolj más térképekből
-    "it": Non copiare da altre mappe
-    "ja": 他の地図から書き写してはいけません。
-    "ko": 다른 지도를 복사해 오지 마십시오.
-    "lolcat": Copi frum uddah mapz? DO NOT WANT
-    "nl": Kopieer nooit van andere kaarten
-    "no": Ikke kopier fra andre kart
-    "pt-BR": Não copie de outros mapas
-    "ru": Не копируйте информацию с других карт
-    "sv": Kopiera inget från andra kartor
-    "zh-HANS": "Don't copy from other maps"
-prompt_enjoy:
-    "cz": A hlavně, bavte se!
-    "de": "Und: Viel Spaß!"
-    "da": Og hav det morsomt!
-    "es": Y páselo bien!
-    "fr": Et amusez-vous bien !
-    "fi": Pidä hauskaa!
-    "hu": És jó szórakozást!
-    "it": E soprattutto, buon divertimento!
-    "ja": そして何より、楽しみましょう!
-    "ko": 재밌는 지도 작성이 되시길!
-    "lolcat": Adn can has cheezburger!
-    "nl": En veel plezier!
-    "no": Og ha det morsomt!
-    "pt-BR": E divirta-se!
-    "ru": Приятного вам времяпровождения!
-    "sv": och ha roligt!
-    "zh-HANS": And have fun!
-prompt_help:
-    "cz": Seznamte se s Potlatchem, tímto mapovým editorem
-    "de": Anleitung für Potlatch, diesen Karten-Editor
-    "da": Find ud af hvordan du bruger Potlatch, programmet til kortredigering.
-    "es": Encuentre cómo usar Potlatch (éste editor de mapas).
-    "fr": Découvrez comment utiliser Potlatch, cet éditeur de carte
-    "fi": Kuinka käytän Potlatchiä, tätä editoria?
-    "hu": Nézz utána, hogyan kell használni a Potlatch-ot, ezt a térképszerkesztőt.
-    "it": Impara ad usare Potlatch, questo editor di mappe.
-    "ja": この地図編集ソフトウェア(Potlatch)の使い方を表示します。
-    "ko": Potlatch 사용법을 알아봅니다.
-    "lolcat": Find owt hao ta uz Potlatch, dis map editerer.
-    "nl": Leer hoe u Potlatch, deze applicatie, moet gebruiken
-    "no": Finn ut hvordan du bruker Potlatch, programmet for kartredigering.
-    "pt-BR": Descubra como utilizar o Potlatch, este editor de mapas.
-    "ru": Узнать, как пользоваться редактором.
-    "sv": Information hur man använder Potlatch, den här karteditorn.
-    "zh-HANS": Find out how to use Potlatch, this map editor.
-prompt_introduction:
-    "cz": "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"
-    "de": "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"
-    "da": "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"
-    "es": 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
-    "fr": "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"
-    "fi": "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"
-    "hu": "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"
-    "it": "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"
-    "ja": "編集を開始する前に下のボタンを選択して下さい。 - 『開始』をクリックするとOSMの地図を直接編集します。通常では毎週木曜日に変更が表示されるようになります。 - 『練習』をクリックすると変更は保存されませんので、地図の編集作業を練習することができます。\n\nOpenStreetMapの鉄則を忘れないで下さい:\n\n"
-    "ko": "아래 버튼 중 하나를 골라 에디터를 선택하세요. 'Start'를 클릭하면 바로 지도 수정이 가능합니다 - 보통은 매주 목요일에 변경내용이 지도에 나타납니다. 'Play'를 클릭하면 에디터에서 변경한 내용이 저장되지 않으므로 지도 수정을 연습할 수 있습니다.\n\nOpenStreetMap의 주요 규칙들을 기억하세요:\n\n"
-    "lolcat": "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"
-    "nl": "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"
-    "no": "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"
-    "pt-BR": "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"
-    "ru": "Выберите кнопку. Если вы нажмёте «Старт», вы начнёте редактировать карту. Основная карта обновляется по средам. Если вы нажмёте «Тренировка», ваши изменения на карте сохраняться не будут и вы сможете практиковаться в редактировании.\n\nЗапомните основные правила OpenStreetMap:\n\n"
-    "sv": "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"
-    "zh-HANS": "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_practise:
-    "cz": Tréninkový mód - změny se nebudou ukládat.
-    "de": Kartographieren üben - die Änderungen werden nicht gespeichert.
-    "da": Øv i kortlæging, ændringer bliver ikke lagret.
-    "es": Mapear en prácticas - Sus cambios no se guardarán.
-    "fr": "Essai de cartographie : vos changements ne seront pas pris en compte"
-    "fi": Harjoittele - muutoksiasi ei tallenneta.
-    "hu": Térképkészítés gyakorlása - módosításaid nem lesznek elmentve.
-    "it": "Inizia l'esercitazione (le modifiche non saranno salvate)."
-    "ja": 地図の編集作業を練習します。 - あなたの変更は保存されません。
-    "ko": 지도 작성 연습 -- 변경 내용은 저장되지 않습니다.
-    "lolcat": Invisibl mappur - yur chanzes wont b saveded.
-    "nl": Oefenen - Veranderingen worden niet bewaard
-    "no": Øv på kartlegging, endringer blir ikke lagret.
-    "pt-BR": Pratique o mapeamento - suas alterações não serão salvas.
-    "ru": Тренировочное редактирование — ваши изменения не будут сохранены.
-    "sv": Träna på kartering - inga ändringar kommer att sparas.
-    "zh-HANS": "Practice mapping - your changes won't be saved."
-prompt_revertversion:
-    "cz": "Vrátit se ke dříve uložené verzi:"
-    "de": "Frühere Version wiederherstellen:"
-    "da": "Ret tilbage til tidligere lagret version:"
-    "es": "Volver a una versión previamente guardada:"
-    "fr": "Revenir à une version sauvegardée plus récente :"
-    "fi": "Palauta aiempaan versioon:"
-    "hu": "Visszaállítás egy korábbi mentett változatra:"
-    "it": "Ripristina una versione precedente:"
-    "ja": "以前に保存されたバージョンに差し戻す:"
-    "ko": "이전에 저장된 버전으로 부터 되돌리기:"
-    "lolcat": plz to chooes vershun
-    "nl": "Teruggaan naar een oudere versie:"
-    "no": "Tilbakestill til tidligere lagret versjon:"
-    "pt-BR": "Retornar a uma versão previamente salva:"
-    "ro": "Revert to an earlier saved version:"
-    "ru": "Восстановить ранее сохраненную версию:"
-    "sv": Gå tillbaks till en tidigare version
-    "zh-HANS": "Revert to an earlier saved version:"
-prompt_selectrelation:
-    "cz": Vyberte existující relaci, nebo vytvořte novou.
-    "de": Bestehende Relation zum Hinzufügen auswählen oder neue Relation erstellen
-    "da": Vælg en eksisterende relation for at føje til denne, eller lav en ny relation
-    "es": Seleccionar una relación existente para añadir a ella, o crear una nueva relación.
-    "fr": "Sélectionner une relation existante pour l'ajouter, ou créer une nouvelle relation."
-    "fi": Valitse olemassa oleva relaatio, johon lisätään tai luo uusi.
-    "hu": A hozzáadáshoz válassz egy meglévő kapcsolatot, vagy készíts egy újat.
-    "it": Selezionare una relazione esistente a cui aggiungere o creare una nuova relazione.
-    "ja": 追加又はrelationを新規作成するために既存のrelationを選択
-    "ko": Select an existing relation to add to, or create a new relation.
-    "lolcat": Chooes a existin relashun ta add ta, or creaet a noo relashun.
-    "nl": Selecteer een relatie om aan toe te voegen, of maak een nieuwe.
-    "no": Velg en relasjon som allerede finnes, eller lag en ny relasjon
-    "pt-BR": Selecionar uma relação existente para adicionar a, ou criar, uma nova relação
-    "ru": Выберите существующее отношение или создайте новое.
-    "sv": Välj en befintlig relation att addera till, eller skapa en ny relation.
-    "zh-HANS": Select an existing relation to add to, or create a new relation.
-prompt_start:
-    "cz": Začít editovat
-    "de": Kartographieren in OpenStreetMap beginnen
-    "da": Begynd at kortlægge med OpenStreetMap.
-    "es": Empezar a mapear con OpenStreetMap.
-    "fr": Commencer à cartographier dans Openstreetmap
-    "fi": Aloita kartan muokkaus.
-    "hu": Térképkészítés kezdése OpenStreetMappal.
-    "it": Inizia a mappare con OpenStreetMap.
-    "ja": OpenStreetMapの地図の編集作業を開始します。
-    "ko": 지도 작성 시작.
-    "lolcat": staart mappin wif OPENSTREETMAP.
-    "nl": Begin te mappen met OpenStreetMap
-    "no": Begynn å kartlegge med OpenStreetMap.
-    "pt-BR": Comece a mapear com o OpenStreetMap.
-    "ru": Начать редактировать карту OpenStreetMap.
-    "sv": Börja göra ändringar på OpenStreetMaps karta.
-    "zh-HANS": Start mapping with OpenStreetMap.
-prompt_taggedpoints:
-    "cz": Some of the points on this way are tagged. Really delete?
-    "de": Einige Punkte auf diesem Weg tragen Attribute (Tags). Trotzdem löschen?
-    "da": Nogle af punktene på denne vej har tags. Vil du virkelig slette?
-    "es": Algunos puntos de esta vía tienen parámetros (tags). Seguro que quiere borrar?
-    "fr": Certains points de ce chemin sont tagués. Souhaitez-vous les supprimer?
-    "fi": Joihinkin tien pisteisiin on lisätty tageja. Haluatko varmasti perua?
-    "hu": Ezen a vonalon van néhány címkézett pont. Biztosan törlöd?
-    "it": Alcuni dei punti di questo percorso sono etichettati. Cancellare davvero?
-    "ja": このwayに含まれているpointのいくつかにtagが付けられています。 本当に削除しますか?
-    "ko": 길의 몇몇 포인트에 태그가 있습니다. 정말 삭제하겠습니까?
-    "lolcat": sum uv teh pointz awn dis wai iz taggeded. reelee deleet?
-    "nl": "Enkele punten op deze 'way' hebben tags. Wil je hem zeker verwijderen?"
-    "no": Noen av punktene på denne veien er merket. Vil du virkelig slette?
-    "pt-BR": Alguns dos pontos nesse caminho possuem tags (rótulos). Deseja realmente apagá-los?
-    "ru": Некоторые точки данной линии содержат теги. Действительно удалить?
-    "sv": Några en punkterna i denna väg är taggade, vill du verkligen ta bort den?
-    "zh-HANS": Some of the points on this way are tagged. Really delete?
-prompt_track:
-    "cz": Převede vaši GPS stopu na (uzamčené) cesty, které následně můžete upravit.
-    "de": Deine GPS-Aufzeichnungen (Tracks) in (gesperrte) Wege zum Editieren wandeln.
-    "da": Overfør dine GPS-spor til (låste) veje for redigering.
-    "es": Convierta su track de GPS a vías (bloqueadas) para editar.
-    "fr": "Conversion d'une trace GPS en chemin (verrouillé) pour l'édition"
-    "fi": Muunna GPX-jälki lukituiksi teiksi muokkausta varten
-    "hu": GPS nyomvonalaid átkonvertálása (zárolt) vonalakká a szerkesztéshez.
-    "it": Converti la tua traccia GPS in percorsi (bloccati) per la modifica.
-    "ja": あなたのGPS trackを編集用のlockされたwayに変換します。
-    "ko": GPS tracklog를 수정가능한 길(locked)로 변환
-    "lolcat": Convert yur GPZ track ta (lockeded) waiz foar editin.
-    "nl": "Converteer uw gps-tracks in 'ways' om deze te gebruiken"
-    "no": Overfør dine GPS-sporinger til (låste) veier for redigering.
-    "pt-BR": Converta a sua trilha GPS para caminhos (trancados) a serem editados.
-    "ru": Конвертировать GPS-трек в линию(заблокированную), для редактирования.
-    "sv": Omvandla dina GPS spår till (låsta) vägar för editering.
-    "zh-HANS": Convert your GPS track to (locked) ways for editing.
-prompt_welcome:
-    "cz": Vítejte na OpenStreetMap
-    "de": Willkommen bei OpenStreetMap!
-    "da": Velkommen til OpenStreetMap!
-    "es": Bienvenido a OpenStreetMap!
-    "fr": Bienvenue sur OpenStreetMap !
-    "fi": "Tervetuloa OpenStreetMap:iin"
-    "hu": Üdvözöllek az OpenStreetMapon!
-    "it": Benvenuti su OpenStreetMap!
-    "ja": OpenStreetMapへようこそ!
-    "ko": OpenStreetMap에 오신 것을 환영합니다!
-    "lolcat": welcum ta OPENSTREETMAP!
-    "nl": Welkom bij OpenStreetMap!
-    "no": Velkommen til OpenStreetMap!
-    "pt-BR": Bem-vindo ao OpenStreetMap!
-    "ru": Добро пожаловать в OpenStreetMap!
-    "sv": Välkommen till OpenStreetMap!
-    "zh-HANS": Welcome to OpenStreetMap!
-revert:
-    "cz": Revertovat
-    "de": Vorherige Version wiederherstellen
-    "da": Rette tilbage
-    "es": Volver
-    "fr": Revenir
-    "fi": Kumoa
-    "hu": V.állít
-    "it": Ripristina
-    "ja": 差し戻し
-    "ko": 되돌리기
-    "lolcat": Revert
-    "nl": Teruggaan naar een oudere versie
-    "no": Tilbakestill
-    "pt-BR": Reverter
-    "ro": Inversează
-    "ru": Восстановить
-    "sv": Använd denna version
-    "zh-HANS": Revert
-reverting:
-    "cz": reverting
-    "de": Änderungen werden zurückgenommen
-    "es": revirtiendo
-    "fr": annule
-    "fi": kumotaan
-    "hu": visszaállítás
-    "it": annullo...
-    "ko": reverting
-    "nl": omdraaien
-    "ru": возвращается
-start:
-    "cz": Start
-    "de": Start
-    "da": Start
-    "es": Empezar
-    "fr": Édition
-    "fi": Aloita
-    "hu": Kezdés
-    "it": Inizia
-    "ja": 開始
-    "ko": 시작
-    "lolcat": Staart
-    "nl": Start
-    "no": Start
-    "pt-BR": Iniciar
-    "ru": Старт
-    "sv": Start
-    "zh-HANS": Start
-tip_addrelation:
-    "cz": Přidat do relace
-    "de": Zu einer Relation hinzufügen
-    "da": Føj til en relation
-    "es": Añadir a una relación
-    "fr": Ajouter à une relation
-    "fi": Lisää relaatio
-    "hu": Hozzáadás kapcsolathoz
-    "it": Aggiungi ad una relazione
-    "ja": relationへ追加
-    "ko": relation에 추가
-    "lolcat": Add ta a relashun
-    "nl": Voeg toe aan een relatie
-    "no": Legg til i en relasjon
-    "pt-BR": Adicionar a uma relação
-    "ru": Добавить новое отношение (relation)
-    "sv": Lägg till en ny relation
-    "zh-HANS": Add to a relation
-tip_addtag:
-    "cz": Přidat tag
-    "de": Attribut (Tag) hinzufügen
-    "da": Tilføj et tag
-    "es": Añadir un nuevo parámetro (tag)
-    "fr": Ajouter un nouveau tag
-    "fi": Lisää uusi tagi
-    "hu": Új címke hozzáadása
-    "it": Aggiungi una nuova etichetta
-    "ja": 新しいtagを追加
-    "ko": 새로운 태그 추가
-    "lolcat": Noo tag
-    "nl": Voeg een nieuwe tag toe
-    "no": Legg til merke
-    "pt-BR": Adicionar um novo tag (rótulo)
-    "ru": Добавить новый тег
-    "sv": Lägg till en ny etikett (tag)
-    "zh-HANS": Add a new tag
-tip_alert:
-    "cz": Vyskyla se chyba - pro více informací klikněte
-    "de": Ein Fehler ist aufgetreten - Klicken für Details
-    "da": Der opstod en fejl, klik for detaljer
-    "es": Ha ocurrido un error - clic para detalles
-    "fr": Une erreur est survenue - Cliquez pour plus de détails
-    "fi": Tapahtui virhe - napsauta saadaksesi lisätietoja
-    "hu": Hiba történt - kattints a részletekért
-    "it": Si è verificato un errore (clic per i dettagli)
-    "ja": エラーが発生しました。クリックすると詳細が表示されます。
-    "ko": 에러 발생 - 클릭하면 상세 내용 보기
-    "lolcat": OHNOES! Errorz! - clik foar detailz
-    "nl": Foutmelding - Klik voor meer details
-    "no": Det oppstod en feil, trykk for detaljer
-    "pt-BR": Ocorreu um erro - clique para mais informações
-    "ru": Произошла ошибка — нажмите для получения подробностей
-    "sv": Ett fel har inträffat - klicka för detaljer
-    "zh-HANS": An error occurred - click for details
-tip_anticlockwise:
-    "cz": Proti směru hodinových ručiček (kliknutím otočíte směr kruhové cesty)
-    "de": Geschlossener Weg gegen den Uhrzeigersinn - Klicken zum Ändern der Richtung
-    "da": Cirkulær vej mod uret, klik for at vende
-    "es": Vía circular en el sentido contrario de las agujas del reloj - clic para invertir la dirección de la vía
-    "fr": "Circulation dans le sens inverse des aiguilles d'une montre (trigonométrique) - Cliquez pour inverser le sens"
-    "fi": Vastapäivään sulkeutuva tie - napsauta kääntääksesi
-    "hu": Órajárással ellentétes körkörös vonal - kattints a megfordításhoz
-    "it": Percorso circolare antiorario - clic per invertire
-    "ja": 反時計回りのcircular way - クリックして反転
-    "ko": 시계반대방향 원형도로 - 클릭하면 방향 바꿈
-    "lolcat": Anti-clockwyez circlar wai - clik ta bakwadz
-    "nl": "Gesloten 'way' die tegen de klok ingaat - Klik om om te draaien"
-    "no": Sirkulær vei mot klokka, trykk for å snu
-    "pt-BR": Caminho circular no sentido anti-horário - clique para inverter
-    "ru": Замкнутая линия против часовой стрелки - изменить на противоположное
-    "sv": Vägen är rund, riktad moturs, klicka för att vända riktning
-    "zh-HANS": Anti-clockwise circular way - click to reverse
-tip_clockwise:
-    "cz": Po směru hodinových ručiček (kliknutím otočíte směr kruhové cesty)
-    "de": Geschlossener Weg im Uhrzeigersinn - Klicken zum Ändern der Richtung
-    "da": Cirkulær vej med uret, klik for at vende
-    "es": Vía circular en el sentido de las agujas del reloj - clic para invertir la dirección de la vía
-    "fr": "Circulation dans le sens des aiguilles d'une montre - Cliquez pour inverser le sens"
-    "fi": Myötäpäivään sulkeutuva tie - napsauta kääntääksesi
-    "hu": Órajárással egyező körkörös vonal - kattints a megfordításhoz
-    "it": Percorso circolare orario - clic per invertire
-    "ja": 時計回りのcircular way - クリックして反転
-    "ko": 시계방향 원형도로 - 클릭하면 방향 바꿈
-    "lolcat": Clockwyez circlar wai - clik ta bakwadz
-    "nl": "Gesloten 'way' die met de klok meegaat - Klik om om te draaien"
-    "no": Sirkulær vei med klokka, trykk for å snu
-    "pt-BR": Caminho circular no sentido horário - clique para inverter
-    "ru": Замкнутая линия по часовой стрелке - изменить на противоположное
-    "sv": Vägen är rund, riktad medurs, klicka för att vända riktning
-    "zh-HANS": Clockwise circular way - click to reverse
-tip_direction:
-    "cz": Směr cesty (kliknutím otočíte)
-    "de": Richtung des Weges - Klicken zum Ändern
-    "da": Vejretning, klik for at vende
-    "es": Dirección de la vía - clic para invertir la dirección de la vía
-    "fr": Direction du chemin - Cliquez pour inverser
-    "fi": Tien suunta - napsauta kääntääksesi
-    "hu": Vonal iránya - kattints a megfordításhoz
-    "it": Direzione del percorso - clic per invertire
-    "ja": wayの方向 - クリックして反転
-    "ko": 길의 방향 - 클릭하면 방향 바꿈
-    "lolcat": Direcshun uv wai - clik ta bakwadz
-    "nl": "Richting van de 'way' - Klik om de richting om te draaien"
-    "no": Veiretning, trykk for å snu
-    "pt-BR": Direção do caminho - clique para inverter
-    "ru": Направление линии — изменить на противоположное
-    "sv": Vägens riktning - klicka för att vända vägen
-    "zh-HANS": Direction of way - click to reverse
-tip_gps:
-    "cz": Zobrazit GPX stopy (GPS logy) (G)
-    "de": GPS-Aufzeichnungen (Tracks) einblenden (g/G)
-    "da": Vis GPS spor (G)
-    "es": Mostrar los tracks de GPS (G)
-    "fr": Afficher les traces GPS (G)
-    "fi": Näytä GPS-jäljet (G)
-    "hu": GPS nyomvonalak megjelenítése
-    "it": Mostra le tracce GPS (G)
-    "ja": GPS trackを表示 (G)
-    "ko": GPS 트랙 보이기 (G)
-    "lolcat": Can haz GPZ trax (G)
-    "nl": Laat de gps-tracks zien (G)
-    "no": Vis GPS sporlogger (G)
-    "pt-BR": Mostrar trilhas do GPS
-    "ru": Показать GPS треки (G)
-    "sv": Visa GPS spår (G)
-    "zh-HANS": Show GPS tracks (G)
-tip_noundo:
-    "cz": Není, co vzít zpět
-    "de": Es gibt nichts rückgängig zu machen.
-    "da": Intet at fortryde
-    "es": Nada que deshacer
-    "fr": Rien à annuler
-    "fi": Ei kumottavaa
-    "hu": Nincs mit visszavonni
-    "it": Nulla da annullare
-    "ja": 取消対象無し
-    "ko": undo할 것이 없음
-    "lolcat": I haz nuffin for undos
-    "nl": Niets ongedaan te maken
-    "no": Ingenting å angre
-    "pt-BR": Nada para desfazer
-    "ru": Нечего отменять
-    "sv": Finns inget att ångra
-    "zh-HANS": Nothing to undo
-tip_options:
-    "cz": Možnosti (vyberte si mapu na pozadí)
-    "de": Optionen ändern (Kartenhintergrund)
-    "da": Sæt indstillinger (vælg kortbaggrund)
-    "es": Opciones (elegir el fondo del mapa)
-    "fr": "Options (choix de la carte d'arrière plan)"
-    "fi": Asetukset (valitse kartan tausta)
-    "hu": Beállítások módosítása (térképháttér kiválasztása)
-    "it": Imposta le opzioni (scegli lo sfondo della mappa)
-    "ja": オプション設定 (地図背景の選択)
-    "ko": 옵션 지정(지도 배경 선택)
-    "lolcat": Set optionz (chooes teh map bakgrownd)
-    "nl": Opties (kies de achtergrondkaart)
-    "no": Sett valg (velg kartbakgrunn)
-    "pt-BR": Configurar opções (escolha o plano de fundo do mapa)
-    "ru": Задать настройки (выбрать карту-подложку)
-    "sv": Ändra inställningar (välj bakgrundskarta)
-    "zh-HANS": Set options (choose the map background)
-tip_presettype:
-    "cz": Zvolit skupinu předvoleb v menu.
-    "de": Art der Voreinstellungen wählen, die im Menü angeboten werden sollen
-    "da": Vælg hvilke type forhåndsinstillinger som er tilgænglige i menuen
-    "es": Seleccionar que tipo de parámetros (tags) preestablecidos se ofrecen en el menú.
-    "fr": Sélectionner le type de paramètres proposés dans le menu de sélection.
-    "fi": Valitse, millaisia pohjia on tarjolla valikossa.
-    "hu": Válaszd ki, hogy milyen típusú sablonok legyenek a menüben.
-    "it": Scegli che tipo di preset mostrare nel menu.
-    "ja": 提供されているプリセットの種類をメニューから選択します。
-    "ko": Choose what type of presets are offered in the menu.
-    "lolcat": Chooes whut tyep uv presetz iz ofered in teh menu.
-    "nl": Kies welk type presets in het menu getoond moet worden.
-    "no": Velg hva slags forhåndsinstillinger som blir vist i menyen
-    "pt-BR": Escolha quais tipos predefinidos são oferecidos neste menu.
-    "ru": Выберите, какой набор тегов отображать в меню.
-    "sv": Välj vilka typer av inställningar som syns i menyn.
-    "zh-HANS": Choose what type of presets are offered in the menu.
-tip_repeattag:
-    "cz": Nastavit tagy předtím vybrané cesty(R)
-    "de": Attribute (Tags) vom vorher markierten Weg übernehmen (R)
-    "da": Gentag tags fra senest valgte vej (R)
-    "es": Repetir los parámetros (tags) de la vía seleccionada previamente (R)
-    "fr": Recopier les informations du chemin sélectionné précédemment (R)
-    "fi": Toista tagit viimeksi valitusta tiestä (R)
-    "hu": Az előzőleg kiválasztott vonal címkéinek megismétlése (R)
-    "it": Ripeti le etichette del percorso precedentemente selezionato (R)
-    "ja": 前回選択したwayのtagを繰り返す (R)
-    "ko": 이전 선택된 도로의 태그들을 적용 (R)
-    "lolcat": Previous tagz ar relavint to mai selecteded wai (R)
-    "nl": "Herhaal de tags van de vorige geselecteerde 'way' (R)"
-    "no": Gjenta merker fra sist valgte vei (R)
-    "pt-BR": Repetir tags (rótulos) do caminho previamente selecionado (R)
-    "ru": Повторить теги с предыдущей выбранной линии (R)
-    "sv": Kopiera etiketterna (taggarna) från den senast valda vägen (R)
-    "zh-HANS": Repeat tags from the previously selected way (R)
-tip_revertversion:
-    "cz": "Vyberte verzi, ke které se chcete vrátit:"
-    "de": Version zur Wiederherstellung wählen
-    "da": Vælg versionen der skal rettes tilbage til
-    "es": Elige la versión a la que volver.
-    "fr": Choisissez la version vers laquelle revenir
-    "fi": Valitse palautettava versio
-    "hu": Válaszd ki a változatot a visszaállításhoz
-    "it": Scegliere la versione da ripristinare
-    "ja": 差し戻し先のバージョンを選択
-    "ko": "되돌릴 버전 선택:"
-    "lolcat": Chooes teh verzhun ta revert ta
-    "nl": Kies naar welke versie moet worden teruggegaan
-    "no": Velg versjonen det skal tilbakestilles til
-    "pt-BR": Escolha a versão para reverter
-    "ro": Choose the version to revert to
-    "ru": Выберите версию для восстановления
-    "sv": Välj version som ska användas
-    "zh-HANS": Choose the version to revert to
-tip_selectrelation:
-    "cz": Přidat k vybrané cestě
-    "de": Zur markierten Route hinzufügen
-    "da": Føj til den valgte rute
-    "es": Añadir a la ruta seleccionada
-    "fr": Ajouter à la route choisie
-    "fi": Lisää valittuun reittiin
-    "hu": Hozzáadás a kiválasztott kapcsolathoz
-    "it": Aggiungi alla rotta scelta
-    "ja": 選択したrouteへ追加
-    "ko": Add to the chosen route
-    "lolcat": Add ta teh chosen rouet
-    "nl": Toevoegen aan gekozen route
-    "no": Legg til den valgte ruta
-    "pt-BR": Adicionar à rota escolhida
-    "ru": Добавить в выбранное отношение
-    "sv": Addera till den valda rutten
-    "zh-HANS": Add to the chosen route
-tip_splitway:
-    "cz": Rozdělit cestu ve vybraném bodě (X)
-    "de": Weg am ausgewählten Punkt auftrennen (x)
-    "da": Del vej i valgt punkt (X)
-    "es": Dividir la vía en el punto seleccionado (X)
-    "fr": Scinder le chemin au point sélectionné (X)
-    "fi": Katkaise tie valitusta kohdasta (X)
-    "hu": Vonal kettévágása a kijelölt pontnál
-    "it": Separa percorso nel punto selezionato (X)
-    "ja": 選択したpointでwayを分割 (X)
-    "ko": 선택된 포인트에서 길을 나누기(split) (X)
-    "lolcat": wai goes NOM NOM NOM at the noed (X)
-    "nl": "Splits de 'way' op het geselecteerde punt (X)"
-    "no": Del vei i valgt punkt (X)
-    "pt-BR": Dividir caminho no ponto selecionado
-    "ro": Choose the version to revert to
-    "ru": Разделить линию в текущей точке (X)
-    "sv": Dela upp vägen i två delar vid den valda punkten (x)
-    "zh-HANS": Split way at selected point (X)
-tip_undo:
-    "cz": "Zpět: $1 (Z)"
-    "de": $1 rückgängig machen (Z)
-    "da": Fortryd $1 (Z)
-    "es": Deshacer $1 (Z)
-    "fr": "Annuler l'opération $1 (Z)"
-    "fi": Kumoa $1 (Z)
-    "hu": $1 visszavonása (Z)
-    "it": Annulla $1 (Z)
-    "ja": $1 を取り消し (Z)
-    "ko": Undo $1 (Z)
-    "lolcat": Undo $1 (Z)
-    "nl": $1 ongedaan maken (Z)
-    "no": Angre $1 (Z)
-    "pt-BR": Desfazer $1 (Z)
-    "ru": Отменить $1 (Z)
-    "sv": Ångra $1 (Z)
-    "zh-HANS": Undo $1 (Z)
-track:
-    "cz": Trasovat
-    "de": GPS-Aufzeichnung
-    "da": Spor
-    "es": Track
-    "fr": Trace
-    "fi": Jälki
-    "hu": Nyomvonal
-    "it": Traccia
-    "ja": 軌跡
-    "ko": Track
-    "lolcat": Trak
-    "nl": Track
-    "no": Spor
-    "pt-BR": Trilha
-    "ru": Трек
-    "sv": Spår
-    "zh-HANS": Track
-way:
-    "cz": Cesta
-    "de": Weg
-    "da": Vej
-    "es": Vía
-    "fr": Chemin
-    "fi": Tie
-    "hu": Vonal
-    "it": Percorso
-    "ja": Way
-    "ko": 길
-    "lolcat": Wai
-    "nl": "'Way'"
-    "no": Vei
-    "pt-BR": Caminho
-    "ru": Линия
-    "sv": Väg
-    "zh-HANS": Way
old mode 100755 (executable)
new mode 100644 (file)
index 0039d07..de22489
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": Cesty nesdílí společný bod
 "option_warnings": Zobrazovat plovoucí varování
 "reverting": reverting
+"prompt_helpavailable": You have unsaved changes. (To save in Potlatch, you should deselect the current way or point.)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index b8232d5..7955359
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": Las vías no comparten un punto en común
 "option_warnings": Mostrar alertas flotantes
 "reverting": revirtiendo
+"prompt_helpavailable": Tiene cambios sin guardar. (Para guardar en Potlach, debería deseleccionar la vía o el punto actual.)
old mode 100755 (executable)
new mode 100644 (file)
index 4ce8aaa..7b4c5af
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": Tiet eivät jaa yhteistä pistettä
 "option_warnings": Näytä siirtymisvaroitukset
 "reverting": kumotaan
+"prompt_helpavailable": Kaikkia muutoksia ei ole tallennettu. (Tallentaaksesi Potlatchissa valitse jokin muu tie tai muu piste kuin nykyinen)
old mode 100755 (executable)
new mode 100644 (file)
index 848408f..21554e3
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": Les chemins ne partagent pas de point commun
 "option_warnings": Montrer les avertissements flottants
 "reverting": annule
+"prompt_helpavailable": Vous avez des modifications non enregistrées. (Pour sauvegarder dans Potlatch, vous devez déselectionner tout point ou chemin)
old mode 100755 (executable)
new mode 100644 (file)
index 7272c85..e7ee9f2
@@ -1,5 +1,4 @@
-
-"action_createpoi": POI készítése
+"action_createpoi": POI készítése
 "point": Pont
 "hint_pointselected": pont kijelölve\n(shift+kattintás a pontra\núj vonal kezdéséhez)
 "action_movepoint": pont mozgatása
@@ -17,9 +16,9 @@
 "error_connectionfailed": Sajnálom - 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?
 "error_readfailed": Sajnálom - az OpenStreetMap szerver az adatok lekérdezésekor nem válaszolt.\n\nSzeretnéd megpróbálni újra?
 "conflict_waychanged": Amióta elkezdtél szerkeszteni, valaki más módosította a(z) $1$2 vonalat.
-"conflict_visitway": A vonal megtekintéséhez kattints az 'OK'-ra.
+"conflict_visitway": "A vonal megtekintéséhez kattints az 'OK'-ra."
 "conflict_poichanged": Amióta elkezdtél szerkeszteni, valaki más módosította a(z) $1$2 pontot.
-"conflict_visitpoi": A pont megtekintéséhez kattints az 'OK'-ra.
+"conflict_visitpoi": "A pont megtekintéséhez kattints az 'OK'-ra."
 "conflict_relchanged": Amióta elkezdtél szerkeszteni, valaki más módosította a(z) $1$2 kapcsolatot.
 "conflict_download": Az ő változatának letöltése
 "conflict_overwrite": Az ő változatának felülírása
@@ -64,7 +63,7 @@
 "deleting": törlése
 "action_deletepoint": pont törlése
 "action_cancelchanges": "módosítások elvetése:"
-"custom": "Egyéni: "
+"custom": "Egyéni:"
 "nobackground": Nincs háttérkép
 "option_fadebackground": Áttetsző háttér
 "option_thinlines": Vékony vonalak használata minden méretaránynál
old mode 100755 (executable)
new mode 100644 (file)
index dce9d8e..ed5f44c
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": I percorsi non hanno nessun punto comune
 "option_warnings": Mostra avvertimenti galleggianti
 "reverting": annullo...
+"prompt_helpavailable": ??? Alcune modifiche non sono salvate. (Per salvare in Potlatch si deve deselezionare il percorso o il punto corrente.)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 80330d5..e8aec9f
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": "De 'ways' hebben geen gemeenschappelijk punt"
 "option_warnings": Floating warnings weergeven
 "reverting": omdraaien
+"prompt_helpavailable": "Er zijn niet-opgeslagen wijzigingen (om op te slaan in Potlatch, moet u de geselecteerde 'way' of POI deselecteren)."
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index be470cd..291f256
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": Линии не имеют общей точки
 "option_warnings": Показывать всплывающие предупреждения
 "reverting": возвращается
+"prompt_helpavailable": Присутствуют несохранённые изменения. (Чтобы записать изменения в Potlatch, снимите выделение с текущей точки или линии)
old mode 100755 (executable)
new mode 100644 (file)
index ee13fed6b1d1b12a7e264bae581e50c4cd0bdd22..4352611dc82d2b7a30990b0d199c23be0a7c49ea 100644 (file)
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": Các lối không cắt ngang nhau tại điểm nào
 "option_warnings": Nổi các cảnh báo
 "reverting": đang lùi sửa
+"prompt_helpavailable": Bạn chưa lưu một số thay đổi. (Để lưu trong Potlatch, chỉ việc bỏ chọn lối hoặc địa điểm hiện hành.)
index db3dcd73b737d20698c032d4e3e8d379b4b45fa1..7c29fe3d22f9d6299e3eda300157ef84f7cd9218 100644 (file)
@@ -83,3 +83,4 @@
 "advice_nocommonpoint": 這些路徑不再分享共同 point
 "option_warnings": 顯示浮動式警示
 "reverting": 正在反轉
+"prompt_helpavailable": 您有未儲存的變更。(要在 Potlatch 中儲存,您應該取消選取目前的路徑或 point。)
index a4e88cc9932799c45e2d42f74245827b458b7b5a..0ce2f051dcf915daad974f601849af2c19494df4 100644 (file)
@@ -193,6 +193,7 @@ ActionController::Routing::Routes.draw do |map|
   map.connect '/message/read/:message_id', :controller => 'message', :action => 'read'
   map.connect '/message/mark/:message_id', :controller => 'message', :action => 'mark'
   map.connect '/message/reply/:message_id', :controller => 'message', :action => 'reply'
+  map.connect '/message/delete/:message_id', :controller => 'message', :action => 'delete'
 
   # oauth admin pages (i.e: for setting up new clients, etc...)
   map.resources :oauth_clients
diff --git a/db/migrate/036_add_visible_to_message.rb b/db/migrate/036_add_visible_to_message.rb
new file mode 100644 (file)
index 0000000..22b1219
--- /dev/null
@@ -0,0 +1,9 @@
+class AddVisibleToMessage < ActiveRecord::Migration
+  def self.up
+    add_column :messages, :visible, :boolean, :default => true, :null => false
+  end
+
+  def self.down
+    remove_column :messages, :visible
+  end
+end
diff --git a/db/migrate/037_add_sender_visible_to_message.rb b/db/migrate/037_add_sender_visible_to_message.rb
new file mode 100644 (file)
index 0000000..305473a
--- /dev/null
@@ -0,0 +1,11 @@
+class AddSenderVisibleToMessage < ActiveRecord::Migration
+  def self.up
+    rename_column :messages, :visible, :to_user_visible
+    add_column :messages, :from_user_visible, :boolean, :default => true, :null => false
+  end
+
+  def self.down
+    remove_column :messages, :from_user_visible
+    rename_column :messages, :to_user_visible, :visible
+  end
+end
index 1e76e610b86cf36a62e0d51cd40ee0c5a0bcd0d9..863e19d395e6b171e6c88e09713c08739aef29d9 100644 (file)
@@ -42,4 +42,4 @@ http://wiki.openstreetmap.org/wiki/REST
 =Bugs
 
 See the 'rails_port' component for bugs:
-http://trac.openstreetmap.org/query?status=new&status=assigned&status=reopened&component=rails_port&order=priority
+http://trac.openstreetmap.org/query?status=new&status=assigned&status=reopened&component=website&order=priority
index 789a5f4398b72dadb1a186e39f352155766638eb..f36deb0a80906fa185e3c62764727c29604fb436 100644 (file)
@@ -187,18 +187,18 @@ module OSM
   # Raised when a way has more than the configured number of way nodes.
   # This prevents ways from being to long and difficult to work with
   class APITooManyWayNodesError < APIError
-    def initialize(provided, max)
-      @provided, @max = provided, max
+    def initialize(id, provided, max)
+      @id, @provided, @max = id, provided, max
     end
     
-    attr_reader :provided, :max
+    attr_reader :id, :provided, :max
 
     def status
       :bad_request
     end
     
     def to_s
-      "You tried to add #{provided} nodes to the way, however only #{max} are allowed"
+      "You tried to add #{provided} nodes to way #{id}, however only #{max} are allowed"
     end
   end
 
index e8de1aa8e1aeafc5ff5750ef0542936913c0ee7f..7a7926f043864f74fe7128b47cd6b4d9bf987257 100644 (file)
@@ -211,9 +211,6 @@ module Potlatch
         }
       end
 
-#        # Read internationalisation
-#        localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised.yaml"))
-
       [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,icon_list,icon_names,icon_tags]
     end
   end
diff --git a/lib/utf8.rb b/lib/utf8.rb
new file mode 100644 (file)
index 0000000..5f0d219
--- /dev/null
@@ -0,0 +1,14 @@
+module UTF8
+  ##
+  # Checks that a string is valid UTF-8 by trying to convert it to UTF-8
+  # using the iconv library, which is in the standard library.
+  def self.valid?(str)
+    return true if str.nil?
+    Iconv.conv("UTF-8", "UTF-8", str)
+    return true
+    
+  rescue
+    return false
+  end  
+end
+
index 095fb7af9ac3dc1bedea4f231963e1835f5dac2b..640a495649fc82a32b4db508a5a02a74323c89d2 100644 (file)
@@ -11,22 +11,10 @@ module ActiveRecord
       # is a valid UTF-8 format string.
       def validates_as_utf8(*attrs)
         validates_each(attrs) do |record, attr, value|
-          record.errors.add(attr, @@invalid_utf8_message) unless valid_utf8? value
+          record.errors.add(attr, @@invalid_utf8_message) unless UTF8.valid? value
         end
       end    
-      
-      ##
-      # Checks that a string is valid UTF-8 by trying to convert it to UTF-8
-      # using the iconv library, which is in the standard library.
-      def valid_utf8?(str)
-        return true if str.nil?
-        Iconv.conv("UTF-8", "UTF-8", str)
-        return true
 
-      rescue
-        return false
-      end  
-      
     end
   end
 end
index 9773ab348c4505ff881dbabeaba6c155828b6247..f79e3ae31632140946221eec0c08d8fea0d0e8f5 100644 (file)
@@ -14,7 +14,7 @@ var nonamekeys = {
 };
 
 OpenLayers._getScriptLocation = function () {
-  // Should really have this file as an erb, so that this can return 
+  // Should really have this file as an erb, so that this can return
   // the real rails root
    return "/openlayers/";
 }
@@ -116,7 +116,8 @@ function addObjectToMap(url, zoom, callback) {
           strokeWidth: 3,
           strokeOpacity: 0.5,
           fillOpacity: 0.2,
-          fillColor: "lightblue"
+          fillColor: "lightblue",
+          pointRadius: 6
       },
       projection: new OpenLayers.Projection("EPSG:4326"),
       displayInLayerSwitcher: false
@@ -145,7 +146,7 @@ function addObjectToMap(url, zoom, callback) {
          callback(extent);
       }
    });
-  
+
    map.addLayer(layer);
 
    layer.loadGML();
@@ -165,7 +166,7 @@ function addBoxToMap(boxbounds) {
       strokeColor: '#ee9900',
       fillOpacity: 0
    });
-   
+
    vectors.addFeatures(box);
 
    return box;
old mode 100755 (executable)
new mode 100644 (file)
index 8ee7e84..ccfc064
Binary files a/public/potlatch/potlatch.swf and b/public/potlatch/potlatch.swf differ
old mode 100755 (executable)
new mode 100644 (file)
index 0335fe9836037e8195db56e699b42a70e5e2ea98..b19d42a267fed71a0936cf04eacf0de2a3000109 100755 (executable)
@@ -6,6 +6,7 @@ use YAML::Syck qw(LoadFile);
 use Test::Differences;
 use Pod::Usage ();
 use Getopt::Long ();
+use File::Basename qw(fileparse);
 
 =head1 NAME
 
@@ -101,8 +102,8 @@ my ($from, $to) = @ARGV;
 my $from_data = LoadFile($from);
 my $to_data   = LoadFile($to);
 
-my $from_parsed = { iterate($from_data->{basename($from)}) };
-my $to_parsed = { iterate($to_data->{basename($to)}) };
+my $from_parsed = { iterate($from_data->{fileparse($from, qr/\.[^.]*/)}) };
+my $to_parsed = { iterate($to_data->{fileparse($to, qr/\.[^.]*/)}) };
 
 if ($keys)
 {
@@ -114,7 +115,7 @@ elsif ($untranslated_values or $untranslated_values_all)
 
     # Prune according to blacklist
     if ($untranslated_values) {
-        @untranslated = prune_untranslated_with_blacklist(basename($to), @untranslated);
+        @untranslated = prune_untranslated_with_blacklist(scalar(fileparse($to, qr/\.[^.]*/)), @untranslated);
     }
 
     say for @untranslated;
@@ -217,13 +218,6 @@ sub iterate
     return @ret;
 }
 
-sub basename
-{
-    my $name = shift;
-    $name =~ s[\..*?$][];
-    $name;
-}
-
 sub help
 {
     my %arg = @_;
@@ -252,6 +246,9 @@ untranslated_values:
     site.index.license.project_url: true
     browse.relation_member.entry: true
 
+    # #{{id}}
+    changeset.changeset.id: true
+
   de:
     activerecord.attributes.message.sender: true
     activerecord.attributes.trace.name: true
@@ -303,3 +300,9 @@ untranslated_values:
     
     # {{name}} ({{id}})
     printable_name.with_name: true
+
+    # {{type}} 
+    geocoder.search_osm_namefinder.prefix: true
+
+    # {{suffix}}, {{parentname}}
+    geocoder.search_osm_namefinder.suffix_suburb: true
index 13ee3552a4944cd361ec63bcfce107c753ba67e8..31bd90120fb99c0801f9bc09957bf8fcf161a5f3 100644 (file)
@@ -1,9 +1,11 @@
+<% SCALE = 10000000 unless defined?(SCALE) %>
+
 first_trace_1:
   altitude: 134
   trackid: 1
-  latitude: 1
-  longitude: 1
+  latitude: <%= 1 * SCALE %>
+  longitude: <%= 1 * SCALE %>
   gpx_id: 1
   timestamp: "2008-10-01 10:10:10"
-  tile: 1
+  tile: <%= QuadTile.tile_for_point(1, 1) %>
   
index ab0f5d5ad35cd6010c2a5590c35bf5493d472de8..c00003cbb8ddadcded714c5189a8885315d94919 100644 (file)
@@ -454,6 +454,65 @@ class AmfControllerTest < ActionController::TestCase
     assert_equal result[4], first_historic_node.version, "The version returned, is different to the one returned by the amf"
   end
   
+  # try creating a POI with rubbish in the tags
+  def test_putpoi_create_with_control_chars
+    # This node has no tags
+    nd = Node.new
+    # create a node with random lat/lon
+    lat = rand(100)-50 + rand
+    lon = rand(100)-50 + rand
+    # normal user has a changeset open
+    changeset = changesets(:public_user_first_change)
+    
+    mostly_invalid = (0..31).to_a.map {|i| i.chr}.join
+    tags = { "something" => "foo#{mostly_invalid}bar" }
+      
+    amf_content "putpoi", "/1", ["test@example.com:test", changeset.id, nil, nil, lon, lat, tags, nil]
+    post :amf_write
+    assert_response :success
+    amf_parse_response
+    result = amf_result("/1")
+      
+    # check the array returned by the amf
+    assert_equal 5, result.size
+    assert_equal 0, result[0], "Expected to get the status ok in the amf"
+    assert_equal 0, result[2], "The old id should be 0"
+    assert result[3] > 0, "The new id should be greater than 0"
+    assert_equal 1, result[4], "The new version should be 1"
+    
+    # Finally check that the node that was saved has saved the data correctly 
+    # in both the current and history tables
+    # First check the current table
+    current_node = Node.find(result[3])
+    assert_equal 1, current_node.tags.size, "There seems to be a tag that has been added to the node"
+    assert_equal({ "something" => "foo\t\n\rbar" }, current_node.tags, "tags were not fixed correctly")
+    assert_equal result[4], current_node.version, "The version returned, is different to the one returned by the amf"
+  end
+
+  # try creating a POI with rubbish in the tags
+  def test_putpoi_create_with_invalid_utf8
+    # This node has no tags
+    nd = Node.new
+    # create a node with random lat/lon
+    lat = rand(100)-50 + rand
+    lon = rand(100)-50 + rand
+    # normal user has a changeset open
+    changeset = changesets(:public_user_first_change)
+    
+    invalid = "\xc0\xc0"
+    tags = { "something" => "foo#{invalid}bar" }
+      
+    amf_content "putpoi", "/1", ["test@example.com:test", changeset.id, nil, nil, lon, lat, tags, nil]
+    post :amf_write
+    assert_response :success
+    amf_parse_response
+    result = amf_result("/1")
+
+    assert_equal 2, result.size
+    assert_equal -1, result[0], "Expected to get the status FAIL in the amf"
+    assert_equal "One of the tags is invalid. Please pester Adobe to fix Flash on Linux.", result[1] 
+  end
+      
   def test_putpoi_delete_valid
     
   end
index 80016f208bac4fc01f2e97c0f6c4079d9be08b51..753711d0b6ace1ef92bfc0bbd69ed11282099369 100644 (file)
@@ -6,7 +6,7 @@ module Globalize
       def pluralize(locale, entry, count)
         return entry unless entry.is_a?(Hash) and count
         key = :zero if count == 0 && entry.has_key?(:zero)
-        key ||= pluralizer(locale).call(count)
+        key ||= pluralizer(locale).call(count, entry)
         raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
         translation entry[key], :plural_key => key
       end
@@ -25,7 +25,22 @@ module Globalize
         end
 
         def pluralizers
-          @pluralizers ||= { :en => lambda{|n| n == 1 ? :one : :other } }
+          @pluralizers ||= {
+            :en => lambda { |count, entry|
+              case count
+                when 1 then entry.has_key?(:one) ? :one : :other
+                else :other
+              end
+            },
+            :sl => lambda { |count, entry|
+              case count % 100
+                when 1 then entry.has_key?(:one) ? :one : :other
+                when 2 then entry.has_key?(:two) ? :two : :other
+                when 3,4 then entry.has_key?(:few) ? :few : :other
+                else :other
+              end
+            }
+          }
         end
 
         # Overwrite this method to return something other than a String
@@ -34,4 +49,4 @@ module Globalize
         end
     end
   end
-end
\ No newline at end of file
+end
index 85ee89c95d8885f80bff36be063efd4d429b8a9e..1bedd6c742ff28e9793576688bd8a05aefe15185 100644 (file)
@@ -48,9 +48,8 @@ module HttpAcceptLanguage
   #
   def compatible_language_from(array)
     user_preferred_languages.map do |x|
-      x = x.to_s.split("-")[0]
       array.find do |y|
-        y.to_s.split("-")[0] == x
+        y.to_s =~ /^#{x.to_s}(-|$)/
       end
     end.compact.first
   end
index ccd0865c1b212918df97e888f2efb0d9f4a02ee5..e95cb7a738370bf0a221f5c327800e4a465c52a1 100644 (file)
@@ -1,22 +1,63 @@
 # Icelandic, by Ævar Arnfjörð Bjarmason <avarab@gmail.com>
 is:
-  support:
-    array:
-      sentence_connector: "og"
-      words_connector: ", "
-      two_words_connector: " og "
-      last_word_connector: " og "
-      skip_last_comma: true
+  number:
+    # Used in number_with_delimiter()
+    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
+    format:
+      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
+      separator: ","
+      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
+      delimiter: "."
+      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
+      precision: 2
+
+    # Used in number_to_currency()
+    currency:
+      format:
+        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
+        format: "%u %n"
+        unit: "kr."
+        # These three are to override number.format and are optional
+        #separator: ","
+        #delimiter: "."
+        #precision: 2
+
+    # Used in number_to_human_size()
+    human:
+      format:
+        # These three are to override number.format and are optional
+        # separator: 
+        delimiter: ""
+        precision: 1
+      storage_units:
+        # Storage units output formatting.
+        # %u is the storage unit, %n is the number (default: 2 MB)
+        format: "%n %u"
+        units:
+          byte:
+            one:   "bæti"
+            other: "bæti"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
 
   date:
     formats:
+      # Use the strftime parameters for formats.
+      # When no format has been given, it uses default.
+      # You can provide other formats here if you like!
       default: "%d.%m.%Y"
       short: "%e. %b"
       long: "%e. %B %Y"
+
     day_names: [Sunnudaginn, Mánudaginn, Þriðjudaginn, Miðvikudaginn, Fimmtudaginn, Föstudaginn, Laugardaginn]
     abbr_day_names: [sun, mán, þri, mið, fim, fös, lau]
+
+    # Don't forget the nil at the beginning; there's no such thing as a 0th month
     month_names: [~, janúar, febrúar, mars, apríl, maí, júní, júlí, ágúst, september, október, nóvember, desember]
     abbr_month_names: [~, jan, feb, mar, apr, maí, jún, júl, ágú, sep, okt, nóv, des]
+    # Used in date_select and datime_select.
     order: [:day, :month, :year]
 
   time:
@@ -28,6 +69,16 @@ is:
     am: ""
     pm: ""
 
+  # Used in array.to_sentence.
+  support:
+    array:
+      sentence_connector: "og"
+      words_connector: ", "
+      two_words_connector: " og "
+      last_word_connector: " og "
+      skip_last_comma: true
+
+  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
   datetime:
     distance_in_words:
       half_a_minute: "hálf mínúta"
@@ -62,20 +113,6 @@ is:
         one: "meira en 1 ár"
         other: "meira en {{count}} ár"
 
-  number:
-    format:
-      precision: 2
-      separator: "."
-      delimiter: ","
-    currency:
-      format:
-        unit: "kr"
-        format: "%n %u"
-    precision:
-      format:
-        delimiter: ""
-        precision: 4
-
   activerecord:
     errors:
       template:
@@ -84,8 +121,8 @@ is:
           other:  "Ekki var hægt að vista {{model}} vegna {{count}} villna."
         body: "Upp kom vandamál í eftirfarandi dálkum:"
       messages:
-        # inclusion: "er ikke inkludert i listen"
-        # exclusion: "er reservert"
+        inclusion: "er ekki í listanum"
+        exclusion: "er frátekið"
         invalid: "er ógilt"
         confirmation: "er ekki jafngilt staðfestingunni"
         accepted: "þarf að vera tekið gilt"