]> git.openstreetmap.org Git - rails.git/commitdiff
Merge branch 'master' into openid
authorTom Hughes <tom@compton.nu>
Mon, 19 Apr 2010 23:41:03 +0000 (00:41 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 19 Apr 2010 23:41:03 +0000 (00:41 +0100)
Conflicts:
app/controllers/user_controller.rb
app/views/user/login.html.erb
config/locales/en.yml

257 files changed:
.gitignore [new file with mode: 0644]
app/controllers/browse_controller.rb
app/controllers/geocoder_controller.rb
app/controllers/message_controller.rb
app/controllers/user_controller.rb
app/helpers/application_helper.rb
app/models/diary_sweeper.rb
app/models/notifier.rb
app/models/user.rb
app/views/browse/_relation_details.html.erb
app/views/diary_entry/_diary_comment.html.erb
app/views/diary_entry/_diary_entry.html.erb
app/views/diary_entry/_diary_list_entry.html.erb [new file with mode: 0644]
app/views/diary_entry/_location.html.erb [new file with mode: 0644]
app/views/diary_entry/list.html.erb
app/views/diary_entry/view.html.erb
app/views/export/_start.html.erb
app/views/geocoder/error.html.erb
app/views/layouts/_inbox.html.erb [new file with mode: 0644]
app/views/layouts/site.html.erb
app/views/message/_message_summary.html.erb
app/views/message/_sent_message_summary.html.erb
app/views/message/no_such_message.html.erb [new file with mode: 0644]
app/views/message/read.html.erb
app/views/notifier/friend_notification.html.erb
app/views/site/_key.html.erb
app/views/site/_search.html.erb
app/views/trace/_trace.html.erb
app/views/trace/_trace_list.html.erb
app/views/trace/_trace_optionals.html.erb
app/views/trace/edit.html.erb
app/views/trace/view.html.erb
app/views/user/_contact.html.erb [new file with mode: 0644]
app/views/user/_map.html.erb [moved from app/views/user/_friend_map.html.erb with 57% similarity]
app/views/user/_popup.html.erb [new file with mode: 0644]
app/views/user/account.html.erb
app/views/user/login.html.erb
app/views/user/logout.html.erb [new file with mode: 0644]
app/views/user/new.html.erb
app/views/user/view.html.erb
config/.gitignore [new file with mode: 0644]
config/environment.rb
config/environments/test.rb
config/initializers/i18n.rb
config/initializers/sanitize.rb [new file with mode: 0644]
config/locales/af.yml
config/locales/ar.yml
config/locales/arz.yml
config/locales/be-TARASK.yml
config/locales/be.yml
config/locales/bg.yml
config/locales/br.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de.yml
config/locales/dsb.yml
config/locales/el.yml
config/locales/en.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/et.yml [new file with mode: 0644]
config/locales/eu.yml
config/locales/fa.yml [new file with mode: 0644]
config/locales/fi.yml
config/locales/fr.yml
config/locales/fur.yml
config/locales/gcf.yml
config/locales/gl.yml
config/locales/gsw.yml
config/locales/he.yml
config/locales/hi.yml
config/locales/hr.yml
config/locales/hsb.yml
config/locales/hu.yml
config/locales/ia.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/km.yml
config/locales/ko.yml
config/locales/ksh.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/nb.yml [new file with mode: 0644]
config/locales/nds.yml
config/locales/ne.yml [new file with mode: 0644]
config/locales/nl.yml
config/locales/nn.yml
config/locales/no.yml
config/locales/pl.yml
config/locales/ps.yml
config/locales/pt-BR.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sr-EC.yml
config/locales/sv.yml
config/locales/te.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/yi.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
config/mongrel_cluster.yml
config/openlayers.cfg
config/potlatch/locales/arz.yml
config/potlatch/locales/br.yml
config/potlatch/locales/ca.yml
config/potlatch/locales/da.yml
config/potlatch/locales/de.yml
config/potlatch/locales/dsb.yml
config/potlatch/locales/en.yml
config/potlatch/locales/eo.yml
config/potlatch/locales/es.yml
config/potlatch/locales/fr.yml
config/potlatch/locales/gl.yml
config/potlatch/locales/hr.yml
config/potlatch/locales/hsb.yml
config/potlatch/locales/hu.yml
config/potlatch/locales/ia.yml
config/potlatch/locales/it.yml
config/potlatch/locales/mk.yml
config/potlatch/locales/nl.yml
config/potlatch/locales/no.yml
config/potlatch/locales/pms.yml [new file with mode: 0644]
config/potlatch/locales/pt-BR.yml
config/potlatch/locales/ro.yml
config/potlatch/locales/ru.yml
config/potlatch/locales/sk.yml
config/potlatch/locales/sr-EC.yml
config/potlatch/locales/sv.yml
config/potlatch/locales/uk.yml
config/potlatch/locales/vi.yml
config/potlatch/relation_colours.txt
lib/quad_tile/.gitignore [new file with mode: 0644]
public/.gitignore [new file with mode: 0644]
public/images/anon_large.png [new file with mode: 0644]
public/images/anon_small.png [new file with mode: 0644]
public/javascripts/map.js
public/javascripts/site.js
public/lib/OpenLayers.js [deleted file]
public/lib/OpenLayers/Ajax.js [deleted file]
public/lib/OpenLayers/Control.js [deleted file]
public/lib/OpenLayers/Control/KeyboardDefaults.js [deleted file]
public/lib/OpenLayers/Control/LayerSwitcher.js [deleted file]
public/lib/OpenLayers/Control/MouseDefaults.js [deleted file]
public/lib/OpenLayers/Control/MouseToolbar.js [deleted file]
public/lib/OpenLayers/Control/PanZoom.js [deleted file]
public/lib/OpenLayers/Control/PanZoomBar.js [deleted file]
public/lib/OpenLayers/Events.js [deleted file]
public/lib/OpenLayers/Feature.js [deleted file]
public/lib/OpenLayers/Feature/WFS.js [deleted file]
public/lib/OpenLayers/Icon.js [deleted file]
public/lib/OpenLayers/Layer.js [deleted file]
public/lib/OpenLayers/Layer/Google.js [deleted file]
public/lib/OpenLayers/Layer/Grid.js [deleted file]
public/lib/OpenLayers/Layer/KaMap.js [deleted file]
public/lib/OpenLayers/Layer/Markers.js [deleted file]
public/lib/OpenLayers/Layer/Text.js [deleted file]
public/lib/OpenLayers/Layer/VirtualEarth.js [deleted file]
public/lib/OpenLayers/Layer/WFS.js [deleted file]
public/lib/OpenLayers/Layer/WMS.js [deleted file]
public/lib/OpenLayers/Layer/WMS/Untiled.js [deleted file]
public/lib/OpenLayers/Layer/Yahoo.js [deleted file]
public/lib/OpenLayers/Map.js [deleted file]
public/lib/OpenLayers/Marker.js [deleted file]
public/lib/OpenLayers/Popup.js [deleted file]
public/lib/OpenLayers/Popup/Anchored.js [deleted file]
public/lib/OpenLayers/Popup/AnchoredBubble.js [deleted file]
public/lib/OpenLayers/SingleFile.js [deleted file]
public/lib/OpenLayers/Tile.js [deleted file]
public/lib/OpenLayers/Tile/Image.js [deleted file]
public/lib/OpenLayers/Tile/WFS.js [deleted file]
public/lib/OpenLayers/Util.js [deleted file]
public/lib/Prototype.js [deleted file]
public/lib/Rico/Color.js [deleted file]
public/lib/Rico/Corner.js [deleted file]
public/openlayers/OpenLayers.js
public/opensearch/osm.xml
public/potlatch/potlatch.swf
public/robots.txt
public/stylesheets/common.css
public/stylesheets/large.css [new file with mode: 0644]
public/stylesheets/site-sml.css [deleted file]
public/stylesheets/site.css [deleted file]
public/stylesheets/small.css [new file with mode: 0644]
test/functional/api_controller_test.rb
test/functional/diary_entry_controller_test.rb
test/functional/way_controller_test.rb
vendor/gems/composite_primary_keys-2.2.2/README.txt
vendor/gems/composite_primary_keys-2.2.2/Rakefile
vendor/gems/composite_primary_keys-2.2.2/install.rb
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys.rb
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/base.rb
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/composite_arrays.rb
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/reflection.rb
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/version.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/article.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/articles.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariff.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariffs.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/products.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reading.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/readings.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_code.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_codes.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_type.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_types.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburb.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburbs.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariff.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariffs.yml
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/user.rb
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/users.yml
vendor/gems/composite_primary_keys-2.2.2/test/hash_tricks.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_associations.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_clone.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_delete.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_dummy.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_find.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_ids.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_miscellaneous.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_pagination.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_santiago.rb
vendor/gems/composite_primary_keys-2.2.2/test/test_update.rb
vendor/gems/composite_primary_keys-2.2.2/website/stylesheets/screen.css
vendor/gems/composite_primary_keys-2.2.2/website/version-raw.txt
vendor/gems/composite_primary_keys-2.2.2/website/version.js
vendor/gems/composite_primary_keys-2.2.2/website/version.txt
vendor/plugins/rails-i18n/locale/bg.yml
vendor/plugins/rails-i18n/locale/dsb.yml
vendor/plugins/rails-i18n/locale/es-CO.yml
vendor/plugins/rails-i18n/locale/es.yml
vendor/plugins/rails-i18n/locale/fa.yml
vendor/plugins/rails-i18n/locale/fi.yml
vendor/plugins/rails-i18n/locale/hsb.yml
vendor/plugins/rails-i18n/locale/nb.yml [moved from vendor/plugins/rails-i18n/locale/no-NB.yml with 95% similarity]
vendor/plugins/rails-i18n/locale/nl.yml
vendor/plugins/rails-i18n/locale/nn.yml [moved from vendor/plugins/rails-i18n/locale/no-NN.yml with 99% similarity]
vendor/plugins/rails-i18n/locale/pt-BR.yml
vendor/plugins/rails-i18n/locale/sk.yml
vendor/plugins/rails-i18n/locale/sl.rb [deleted file]
vendor/plugins/rails-i18n/locale/sl.yml [new file with mode: 0644]
vendor/plugins/rails-i18n/locale/sv-SE.yml
vendor/plugins/rails-i18n/locale/th.rb [new file with mode: 0644]
vendor/plugins/rails-i18n/locale/th.yml [deleted file]
vendor/plugins/rails-i18n/locale/tr.yml
vendor/plugins/rails-i18n/locale/zh-CN.yml
vendor/plugins/validates_email_format_of/MIT-LICENSE
vendor/plugins/validates_email_format_of/rails/init.rb
vendor/plugins/validates_email_format_of/rakefile [deleted file]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..74094e8
--- /dev/null
@@ -0,0 +1,2 @@
+log
+tmp
index a77b0f94a48f71939e16243282e27735bd0f9ac2..a511d67d35fb54cc558ff124a894abf03469540f 100644 (file)
@@ -86,11 +86,11 @@ private
     end
   rescue ActionView::TemplateError => ex
     if ex.original_exception.is_a?(Timeout::Error)
-      render :action => "timeout", :status => :request_timeout
+      render :action => "timeout"
     else
       raise
     end
   rescue Timeout::Error
-    render :action => "timeout", :status => :request_timeout
+    render :action => "timeout"
   end
 end
index 8394b3e6e0c9f70b5c124daff923a1970cccc36c..aaa8d17ef114524cff62490b5db150279dee5d6c 100644 (file)
@@ -357,8 +357,8 @@ class GeocoderController < ApplicationController
     response = fetch_xml("http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{request.user_preferred_languages.join(',')}")
 
     # parse the response
-    response.elements.each("reversegeocode") do |result|
-      description = result.get_text("result").to_s
+    response.elements.each("reversegeocode/result") do |result|
+      description = result.get_text.to_s
 
       @results.push({:prefix => "#{description}"})
     end
index 435c3fa78455cb68907d1eaa70d21bee45959def..5db9cccfa052a0b623120133d1003e100377343e 100644 (file)
@@ -47,25 +47,38 @@ class MessageController < ApplicationController
 
   # Allow the user to reply to another message.
   def reply
-    message = Message.find(params[:message_id], :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id ])
-    @body = "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}" 
-    @title = @subject = "Re: #{message.title.sub(/^Re:\s*/, '')}"
-    @to_user = User.find(message.from_user_id)
-    render :action => 'new'
+    message = Message.find(params[:message_id])
+
+    if message.to_user_id == @user.id then
+      @body = "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}" 
+      @title = @subject = "Re: #{message.title.sub(/^Re:\s*/, '')}"
+      @to_user = User.find(message.from_user_id)
+
+      render :action => 'new'
+    else
+      flash[:notice] = t 'message.reply.wrong_user', :user => @user.display_name
+      redirect_to :controller => "user", :action => "login", :referer => request.request_uri
+    end
   rescue ActiveRecord::RecordNotFound
-    @title = t'message.no_such_user.title'
-    render :action => 'no_such_user', :status => :not_found
+    @title = t'message.no_such_message.title'
+    render :action => 'no_such_message', :status => :not_found
   end
 
   # Show a message
   def read
     @title = t 'message.read.title'
-    @message = Message.find(params[:message_id], :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id ])
-    @message.message_read = true if @message.to_user_id == @user.id
-    @message.save
+    @message = Message.find(params[:message_id])
+
+    if @message.to_user_id == @user.id or @message.from_user_id == @user.id then
+      @message.message_read = true if @message.to_user_id == @user.id
+      @message.save
+    else
+      flash[:notice] = t 'message.read.wrong_user', :user => @user.display_name
+      redirect_to :controller => "user", :action => "login", :referer => request.request_uri
+    end
   rescue ActiveRecord::RecordNotFound
-    @title = t'message.no_such_user.title'
-    render :action => 'no_such_user', :status => :not_found
+    @title = t'message.no_such_message.title'
+    render :action => 'no_such_message', :status => :not_found
   end
 
   # Display the list of messages that have been sent to the user.
@@ -90,7 +103,7 @@ class MessageController < ApplicationController
   def mark
     if params[:message_id]
       id = params[:message_id]
-      message = Message.find_by_id(id)
+      message = Message.find_by_id(id, :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id])
       if params[:mark] == 'unread'
         message_read = false 
         notice = t 'message.mark.as_unread'
@@ -102,6 +115,7 @@ class MessageController < ApplicationController
       if message.save
         if request.xhr?
           render :update do |page|
+            page.replace "inboxanchor", :partial => "layouts/inbox"
             page.replace "inbox-count", :partial => "message_count"
             page.replace "inbox-#{message.id}", :partial => "message_summary", :object => message
           end
@@ -112,15 +126,15 @@ class MessageController < ApplicationController
       end
     end
   rescue ActiveRecord::RecordNotFound
-    @title = t'message.no_such_user.title'
-    render :action => 'no_such_user', :status => :not_found
+    @title = t'message.no_such_message.title'
+    render :action => 'no_such_message', :status => :not_found
   end
 
   # Delete the message.
   def delete
     if params[:message_id]
       id = params[:message_id]
-      message = Message.find_by_id(id)
+      message = Message.find_by_id(id, :conditions => ["to_user_id = ? or from_user_id = ?", @user.id, @user.id])
       message.from_user_visible = false if message.sender == @user
       message.to_user_visible = false if message.recipient == @user
       if message.save
@@ -134,7 +148,7 @@ class MessageController < ApplicationController
       end
     end
   rescue ActiveRecord::RecordNotFound
-    @title = t'message.no_such_user.title'
-    render :action => 'no_such_user', :status => :not_found
+    @title = t'message.no_such_message.title'
+    render :action => 'no_such_message', :status => :not_found
   end
 end
index 97e184b5943cef9269668e13520893f6867b9375..428a8b90c8e998e5b175568244a051ea3f04b5a3 100644 (file)
@@ -253,6 +253,8 @@ if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0)
            end
       end
     end
+
+    user
   end
 
   def go_public
@@ -310,8 +312,8 @@ if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0)
   def new
     @title = t 'user.new.title'
 
-    # The user is logged in already, so don't show them the signup page, instead
-    # send them to the home page
+    # The user is logged in already, so don't show them the signup
+    # page, instead send them to the home page
     redirect_to :controller => 'site', :action => 'index' if session[:user]
 
        @nickname = params['nickname']
@@ -320,66 +322,64 @@ if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0)
   end
 
   def login
+    @title = t 'user.login.title'
 
-       #The redirect from the OpenID provider reenters here again
+    #The redirect from the OpenID provider reenters here again
     #and we need to pass the parameters through to the 
     # open_id_authentication function
     if params[:open_id_complete]
-      open_id_authentication('')
-    end
-
-    if params[:user] and session[:user].nil?
-         if !params[:user][:openid_url].nil? and !params[:user][:openid_url].empty?
-               session[:remember] = params[:remember_me]
-        open_id_authentication(params[:user][:openid_url])
+      user = open_id_authentication('')
+    elsif params[:user]
+      if !params[:user][:openid_url].nil? and !params[:user][:openid_url].empty?
+        session[:remember] = params[:remember_me]
+        user = open_id_authentication(params[:user][:openid_url])
       else
-               email_or_display_name = params[:user][:email]
-               pass = params[:user][:password]
-               user = User.authenticate(:username => email_or_display_name, :password => pass)
-               if user
-                 session[:user] = user.id
-                 session_expires_after 1.month if params[:remember_me]
-               elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true)
-                 flash.now[:error] = t 'user.login.account not active'
-               else
-                 flash.now[:error] = t 'user.login.auth failure'
-               end
-         end
+        email_or_display_name = params[:user][:email]
+        pass = params[:user][:password]
+
+        if user = User.authenticate(:username => email_or_display_name, :password => pass)
+          session[:user] = user.id
+          session_expires_after 1.month if params[:remember_me]
+        elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true)
+          flash.now[:error] = t 'user.login.account not active'
+        else
+          flash.now[:error] = t 'user.login.auth failure'
+        end
+      end
     end
 
-    if session[:user]
-      # The user is logged in, if the referer param exists, redirect them to that
-      # unless they've also got a block on them, in which case redirect them to
-      # the block so they can clear it.
-      user = User.find(session[:user])
-      block = user.blocked_on_view
-      if block
-        redirect_to block, :referrer => params[:referrer]
+    if user
+      # The user is logged in, if the referer param exists, redirect
+      # them to that unless they've also got a block on them, in
+      # which case redirect them to the block so they can clear it.
+      if user.blocked_on_view
+        redirect_to user.blocked_on_view, :referrer => params[:referrer]
       elsif params[:referer]
         redirect_to params[:referer]
       else
         redirect_to :controller => 'site', :action => 'index'
       end
-      return
     end
-
-    @title = t 'user.login.title'
   end
 
   def logout
-    if session[:token]
-      token = UserToken.find_by_token(session[:token])
-      if token
-        token.destroy
+    @title = t 'user.logout.title'
+
+    if params[:session] == request.session_options[:id]
+      if session[:token]
+        token = UserToken.find_by_token(session[:token])
+        if token
+          token.destroy
+        end
+        session[:token] = nil
+      end
+      session[:user] = nil
+      session_expires_automatically
+      if params[:referer]
+        redirect_to params[:referer]
+      else
+        redirect_to :controller => 'site', :action => 'index'
       end
-      session[:token] = nil
-    end
-    session[:user] = nil
-    session_expires_automatically
-    if params[:referer]
-      redirect_to params[:referer]
-    else
-      redirect_to :controller => 'site', :action => 'index'
     end
   end
 
@@ -468,7 +468,11 @@ if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0)
         flash[:warning] = t 'user.make_friend.already_a_friend', :name => name
       end
 
-      redirect_to :controller => 'user', :action => 'view'
+      if params[:referer]
+        redirect_to params[:referer]
+      else
+        redirect_to :controller => 'user', :action => 'view'
+      end
     end
   end
 
@@ -483,7 +487,11 @@ if (!params[:user][:openid_url].nil? and params[:user][:openid_url].length > 0)
         flash[:error] = t 'user.remove_friend.not_a_friend', :name => friend.display_name
       end
 
-      redirect_to :controller => 'user', :action => 'view'
+      if params[:referer]
+        redirect_to params[:referer]
+      else
+        redirect_to :controller => 'user', :action => 'view'
+      end
     end
   end
 
index d805e27adee83bfe8518ec846b943940e5fd7dbb..2ed50216ff257d22ed58ed50a0b7eb3cd1c3bac7 100644 (file)
@@ -1,4 +1,10 @@
 module ApplicationHelper
+  require 'rexml/document'
+
+  def sanitize(text)
+    Sanitize.clean(text, Sanitize::Config::OSM)
+  end
+
   def htmlize(text)
     return linkify(sanitize(simple_format(text)))
   end
@@ -34,6 +40,39 @@ module ApplicationHelper
     return js
   end
 
+  def describe_location(lat, lon, zoom = nil, language = nil)
+    zoom = zoom || 14
+    language = language || request.user_preferred_languages.join(',')
+    url = "http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{language}"
+    response = REXML::Document.new(Net::HTTP.get(URI.parse(url)))
+
+    if result = response.get_text("reversegeocode/result")
+      result.to_s
+    else
+      "#{number_with_precision(lat, :precision => 3)}, #{number_with_precision(lon, :precision => 3)}"
+    end
+  end
+
+  def user_image(user, options = {})
+    options[:class] ||= "user_image"
+
+    if user.image
+      image_tag url_for_file_column(user, "image"), options
+    else
+      image_tag "anon_large.png", options
+    end
+  end
+
+  def user_thumbnail(user, options = {})
+    options[:class] ||= "user_thumbnail"
+
+    if user.image
+      image_tag url_for_file_column(user, "image"), options
+    else
+      image_tag "anon_small.png", options
+    end
+  end
+
 private
 
   def javascript_strings_for_key(key)
index c003cc0f5c342d252accfe5ac6720e05ac032c96..59d578f7e6737d9676a04ef6353500b18bf22f37 100644 (file)
@@ -30,5 +30,9 @@ private
     expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => nil)
     expire_action(:controller => 'diary_entry', :action => 'rss', :language => entry.language_code, :display_name => nil)
     expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => entry.user.display_name)
+
+    if record.is_a?(DiaryEntry)
+      expire_fragment(:controller => 'diary_entry', :action => 'view', :display_name => entry.user.display_name, :id => entry.id, :part => "location")
+    end
   end
 end
index 1f3d39808ecafcfd29a56debb63fe9dfc925dc7d..df30d651bd75ce4d678ee12ec799587f202b8cb8 100644 (file)
@@ -89,15 +89,9 @@ class Notifier < ActionMailer::Base
   end
 
   def friend_notification(friend)
-    befriender = User.find_by_id(friend.user_id)
-    befriendee = User.find_by_id(friend.friend_user_id)
-
-    common_headers befriendee
-    subject I18n.t('notifier.friend_notification.subject', :user => befriender.display_name, :locale => locale)
-    body :user => befriender.display_name,
-         :userurl => url_for(:host => SERVER_URL,
-                             :controller => "user", :action => "view",
-                             :display_name => befriender.display_name)
+    common_headers friend.befriendee
+    subject I18n.t('notifier.friend_notification.subject', :user => friend.befriender.display_name, :locale => locale)
+    body :friend => friend
   end
 
 private
index 1a476954440f8b308be08c63c0ed8072dd7c5e03..09e1a7d35611a9c3178a4832a3b19845b5faf0fe 100644 (file)
@@ -86,7 +86,7 @@ class User < ActiveRecord::Base
   end
 
   def languages
-    attribute_present?(:languages) ? read_attribute(:languages).split(",") : []
+    attribute_present?(:languages) ? read_attribute(:languages).split(/ *, */) : []
   end
 
   def languages=(languages)
index bb7d45e44b3fb37b379566ddfec418bf4c88f261..e52c9981f016846837f4a9e5ad1b5873216d9d93 100644 (file)
@@ -14,7 +14,7 @@
   <% end %>
 
   <% unless relation_details.containing_relation_members.empty? %>
-    <tr>
+    <tr valign="top">
       <th><%= t'browse.relation_details.part_of' %></th>
       <td>
         <table cellpadding="0">
index b2a4449828d53a4974e0e731556aa75f4201430c..77238b4d37690348afd5586010d8609bff3f2d18 100644 (file)
@@ -1,4 +1,5 @@
-<h4 id="comment<%= diary_comment.id %>"><%= t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at)) %></h4>
+<%= user_thumbnail diary_comment.user, :style => "float: right" %>
+<h4 id="comment<%= diary_comment.id %>"><%= t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at, :format => :friendly)) %></h4>
 <%= htmlize(diary_comment.body) %>
 <% if @user && @user.administrator? %> 
 <%= link_to t('diary_entry.diary_comment.hide_link'), {:action => 'hidecomment', :display_name => @user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id}, {:confirm => t('diary_entry.diary_comment.confirm')} %>
index 0f4f6c206fd2a0fc2468e492ddbc2413e32d2384..17078a8bb9f42be93b20e1be82f03cd6a1d0a542 100644 (file)
@@ -1,9 +1,10 @@
 <b><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></b><br />
 <%= htmlize(diary_entry.body) %>
 <% if diary_entry.latitude and diary_entry.longitude %>
-<%= t 'map.coordinates' %> <div class="geo" style="display: inline"><span class="latitude"><%= diary_entry.latitude %></span>; <span class="longitude"><%= diary_entry.longitude %></span></div> (<%=link_to (t 'map.view'), :controller => 'site', :action => 'index', :lat => diary_entry.latitude, :lon => diary_entry.longitude, :zoom => 14 %> / <%=link_to (t 'map.edit'), :controller => 'site', :action => 'edit', :lat => diary_entry.latitude, :lon => diary_entry.longitude, :zoom => 14 %>)<br/>
+<%= render :partial => "location", :object => diary_entry %>
+<br />
 <% end %>
-<%= t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :language => diary_entry.language_code)  %> 
+<%= t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at, :format => :friendly), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :language => diary_entry.language_code)  %> 
 <% if params[:action] == 'list' %>
 <br />
 <%= link_to t('diary_entry.diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %>
diff --git a/app/views/diary_entry/_diary_list_entry.html.erb b/app/views/diary_entry/_diary_list_entry.html.erb
new file mode 100644 (file)
index 0000000..65ee73f
--- /dev/null
@@ -0,0 +1,2 @@
+<%= user_thumbnail diary_list_entry.user, :style => "float: right" %>
+<%= render :partial => "diary_entry", :object => diary_list_entry %>
diff --git a/app/views/diary_entry/_location.html.erb b/app/views/diary_entry/_location.html.erb
new file mode 100644 (file)
index 0000000..dfac3a1
--- /dev/null
@@ -0,0 +1,11 @@
+<%= t 'diary_entry.location.location' %>
+
+<abbr class="geo" title="<%= number_with_precision(location.latitude, :precision => 4) %>; <%= number_with_precision(location.longitude, :precision => 4) %>">
+<% cache(:controller => 'diary_entry', :action => 'view', :display_name => location.user.display_name, :id => location.id, :part => "location") do %>
+<%= describe_location location.latitude, location.longitude, 14, location.language_code %>
+<% end %>
+</abbr>
+
+(<%=link_to t('diary_entry.location.view'), :controller => 'site', :action => 'index', :lat => location.latitude, :lon => location.longitude, :zoom => 14 %>
+/
+<%=link_to t('diary_entry.location.edit'), :controller => 'site', :action => 'edit', :lat => location.latitude, :lon => location.longitude, :zoom => 14 %>)
index 0bc17d2bb14324f030b9824c87bafb57bca78d5d..9fbb9ca32aba72d812955446cb3ef04ca548b1f4 100644 (file)
@@ -1,9 +1,8 @@
-<h2><%= h(@title) %></h2>
-
-<% if @this_user && @this_user.image %>
- <%= image_tag url_for_file_column(@this_user, "image") %>
+<% if @this_user %>
+<%= user_image @this_user, :style => "float: right" %>
 <% end %>
 
+<h2><%= h(@title) %></h2>
 
 <% if @this_user %>
   <% if @user == @this_user %>
 
   <hr />
 
-  <%= render :partial => 'diary_entry', :collection => @entries %>
-       
+  <% if @this_user %>
+    <%= render :partial => 'diary_entry', :collection => @entries %>
+  <% else %>
+    <%= render :partial => 'diary_list_entry', :collection => @entries %>
+  <% end %>
+
   <%= link_to t('diary_entry.list.older_entries'), { :page => @entry_pages.current.next, :language => params[:language] } if @entry_pages.current.next %>
   <% if @entry_pages.current.next and @entry_pages.current.previous %>|<% end %>
   <%= link_to t('diary_entry.list.newer_entries'), { :page => @entry_pages.current.previous, :language => params[:language] } if @entry_pages.current.previous %>
index 8e71cb24298a5b9d9fdfc759e7e03308348629d0..312b7b81a75166a2f533f4e7184ba77a15ca8516 100644 (file)
@@ -1,3 +1,5 @@
+<%= user_image @entry.user, :style => "float: right" %>
+
 <h2><%= t 'diary_entry.view.user_title', :user => h(@entry.user.display_name) %></h2>
 
 <%= render :partial => 'diary_entry', :object => @entry %>
index d541aae8b40fe819ae370f944cf624c31faf3834..722ba9be574145b3f1b4cdfc5e81d7e00a83ae5a 100644 (file)
@@ -40,7 +40,7 @@
 
       <div class="export_details">
         <p><%= t'export.start.too_large.body' %></p>
-      </div
+      </div>
     </div>
   </div>
 
index e2ce07b6e539f1f284c3ded6e55253f13afe5e42..c4b6f8964bb2b3fbd15b867e87e09789e8fbe7de 100644 (file)
@@ -1 +1 @@
-<p class="search_results_error"><%= @error %></p>
+<p class="search_results_error"><%= h(@error) %></p>
diff --git a/app/views/layouts/_inbox.html.erb b/app/views/layouts/_inbox.html.erb
new file mode 100644 (file)
index 0000000..1871661
--- /dev/null
@@ -0,0 +1,7 @@
+<%
+inbox_attributes = {}
+inbox_attributes[:id] = "inboxanchor"
+inbox_attributes[:class] = 'greeting-bar-unread' if @user.new_messages.size > 0
+inbox_attributes[:title] = t 'layouts.inbox_tooltip', :count => @user.new_messages.size
+%>
+<%= link_to t('layouts.inbox', :count => @user.new_messages.size), {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, inbox_attributes %>
index 8fb9beae1c5125016ed799903e8ef4634aaa608f..5679f3e8bfcc5df4617394011b340c7ed5fa2bb3 100644 (file)
@@ -7,9 +7,9 @@
     <%= javascript_include_tag 'site' %>
     <!--[if lt IE 7]><%= javascript_include_tag 'pngfix' %><![endif]--> <!-- thanks, microsoft! -->
     <%= stylesheet_link_tag 'common' %>
-    <!--[if IE]><%= stylesheet_link_tag 'site', :media => "screen" %><![endif]--> <!-- IE is totally broken with CSS media queries -->
-    <%= stylesheet_link_tag 'site-sml', :media => "only screen and (max-width: 481px)" %>
-    <%= stylesheet_link_tag 'site', :media => "screen and (min-width: 482px)" %> 
+    <!--[if IE]><%= stylesheet_link_tag 'large', :media => "screen" %><![endif]--> <!-- IE is totally broken with CSS media queries -->
+    <%= stylesheet_link_tag 'small', :media => "only screen and (max-width: 481px)" %>
+    <%= stylesheet_link_tag 'large', :media => "screen and (min-width: 482px)" %> 
     <%= stylesheet_link_tag 'print', :media => "print" %>
     <%= tag("link", { :rel => "search", :type => "application/opensearchdescription+xml", :title => "OpenStreetMap Search", :href => "/opensearch/osm.xml" }) %>
     <%= tag("meta", { :name => "description", :content => "OpenStreetMap is the free wiki world map." }) %>
         <span id="full-greeting"><%= t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip')) %></span> 
         <span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %></span> | 
         <%= yield :greeting %>
-        <%
-        inbox_attributes = {}
-        inbox_attributes[:class] = 'greeting-bar-unread' if @user.new_messages.size > 0
-        inbox_attributes[:title] = t 'layouts.inbox_tooltip', :count => @user.new_messages.size
-        %>
-        <%= link_to t('layouts.inbox', :count => @user.new_messages.size), {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, inbox_attributes %> |
-        <%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :referer => request.request_uri}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%>
+        <%= render :partial => "layouts/inbox" %> |
+        <%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :session => request.session_options[:id], :referer => request.request_uri}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip'), :method => :post, :href => url_for(:controller => 'user', :action => 'logout', :referer => request.request_uri)}%>
       <% else %>
         <%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.request_uri}, {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |
         <%= link_to t('layouts.sign_up'), {:controller => 'user', :action => 'new'}, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %>
           <a href="http://donate.openstreetmap.org/" title="<%= h(t('layouts.make_a_donation.title')) %>"><%= h(t('layouts.make_a_donation.text')) %></a>
         </div>
 
-        <div id="cclogo" class="button" style="width: 88px">
+        <div id="cclogo" style="width: 88px">
           <%= link_to(
                   image_tag("cc_button.png",
                       :alt => t('layouts.license.alt'),
index d4d4f788be69d7c7117b6c4fba741f4f1e3a86a2..1397d65aff3669c92faee30d68398819d79e05e0 100644 (file)
@@ -3,7 +3,7 @@
 <tr id="inbox-<%= message_summary.id %>" 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 nowrap" bgcolor="<%= this_colour %>"><%= l message_summary.sent_on %></td>
+  <td class="inbox-sent nowrap" bgcolor="<%= this_colour %>"><%= l message_summary.sent_on, :format => :friendly %></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'}, { :onclick => remote_function(:url => {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread'}) + "; return false;" } %></td>
   <% else %>
index 9d3275835d42dca96f717342201d9c4ac713104a..d4d8b3fa5749a8e9c9ca0dbf52887018fd4c7edd 100644 (file)
@@ -3,6 +3,6 @@
 <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 nowrap" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on %></td>
+  <td class="inbox-sent nowrap" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on, :format => :friendly %></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>
diff --git a/app/views/message/no_such_message.html.erb b/app/views/message/no_such_message.html.erb
new file mode 100644 (file)
index 0000000..6fd5212
--- /dev/null
@@ -0,0 +1,2 @@
+<h1><%= t'message.no_such_message.heading' %></h1>
+<p><%= t'message.no_such_message.body' %></p>
index 8a7b6b1563c235340f6969e42a320f5b53b3497e..5764031704b9698097d4109c112a2cb9583a2d0f 100644 (file)
@@ -5,24 +5,23 @@
 <table>
   <tr>
     <th align="right"><%= t'message.read.from' %></th>
-    <td>
-     <% if @message.sender.image %>
-        <%= image_tag url_for_file_column(@message.sender, "image") %>
-      <% end %>
-  
-<%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
+    <td><%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
+    <td rowspan="4" valign="top"><%= user_thumbnail @message.sender %></td>
   </tr>
   <tr>
     <th align="right"><%= t'message.read.subject' %></th>
     <td><%= h(@message.title) %></td>
+    <td></td>
   </tr>
   <tr>
     <th align="right"><%= t'message.read.date' %></th>
-    <td><%= l @message.sent_on %></td>
+    <td><%= l @message.sent_on, :format => :friendly %></td>
+    <td></td>
   </tr>
   <tr>
     <th></th>
     <td><%= htmlize(@message.body) %></td>
+    <td></td>
   </tr>
 </table>
 
   <tr>
     <th align="right"><%= t'message.read.to' %></th>
     <td><%= link_to h(@message.recipient.display_name), :controller => 'user', :action => 'view', :display_name => @message.recipient.display_name %></td>
+    <td rowspan="4" valign="top"><%= user_thumbnail @message.recipient %></td>
   </tr>
   <tr>
     <th align="right"><%= t'message.read.subject' %></th>
     <td><%= h(@message.title) %></td>
+    <td></td>
   </tr>
   <tr>
     <th align="right"><%= t'message.read.date' %></th>
-    <td><%= l @message.sent_on %></td>
+    <td><%= l @message.sent_on, :format => :friendly %></td>
+    <td></td>
   </tr>
   <tr>
     <th></th>
     <td><%= htmlize(@message.body) %></td>
+    <td></td>
   </tr>
 </table>
 
index 8917061f1444d3e556ee824c1d374696da85a74b..ca77547570a6f543f4e7694ba7c7a0fb1da12b3f 100644 (file)
@@ -1,4 +1,20 @@
-<%= t'notifier.friend_notification.had_added_you', :user => @user %>
+<%=
+  t 'notifier.friend_notification.had_added_you',
+     :user => @friend.befriender.display_name
+%>
 
-<%= t'notifier.friend_notification.see_their_profile', :userurl => @userurl %>
+<%=
+  t 'notifier.friend_notification.see_their_profile',
+     :userurl => url_for(:host => SERVER_URL,
+                         :controller => "user", :action => "view",
+                         :display_name => @friend.befriender.display_name)
+%>
 
+<%=
+  unless @friend.befriendee.is_friends_with?(@friend.befriender)
+    t 'notifier.friend_notification.befriend_them',
+       :befriendurl => url_for(:host => SERVER_URL,
+                               :controller => "user", :action => "make_friend",
+                               :display_name => @friend.befriender.display_name)
+  end
+%>
index 22261900d60ad3ba61ce94c8378c6d7a737c9463..e990071c850b65dee3ba7dc2ac7cbbce7bb5497b 100644 (file)
@@ -17,7 +17,7 @@
   }
 
   function updateMapKey() {
-    var layer = map.baseLayer.name.toLowerCase().replace(/\s+/g, "_");
+    var layer = map.baseLayer.keyid;
     var zoom = map.getZoom();
 
     <%= remote_function :update => "sidebar_content",
index 3750a7dc93191e97c6d6ecc55b50e0577208c580..31b5af16f9f3a92aad912dc97b681ac0e32a2f33 100644 (file)
@@ -5,12 +5,11 @@
   }
 
   function describeLocation() {
-    var position = getPosition();
-    var zoom = getZoom();
+    var args = getArgs($("viewanchor").href);
 
     <%= remote_function(:loading => "startSearch()",
                         :url => { :controller => :geocoder, :action => :description },
-                        :with => "'lat=' + position.lat + '&lon=' + position.lon + '&zoom=' + zoom") %>
+                        :with => "'lat=' + args['lat'] + '&lon=' + args['lon'] + '&zoom=' + args['zoom']") %>
   }
 
   function setSearchViewbox() {
@@ -33,8 +32,8 @@
 
 <% content_for "optionals" do %>
   <div class="optionalbox">
-    <span class="oboxheader"><%= t 'site.search.search' %></span>
     <span class="whereami"><a href="javascript:describeLocation()" title="<%= t 'site.search.where_am_i_title' %>"><%= t 'site.search.where_am_i' %></a></span>
+    <h1><%= t 'site.search.search' %></h1>
     <div class="search_form">
     <div id="search_field">
     <% form_remote_tag(:before => "setSearchViewbox()",
index a3ae1fb08f49c4279e114262e129fa361dfe0a64..509c346eda8361fa7e9ff7aca658e891204181e2 100644 (file)
@@ -10,7 +10,7 @@
     <% end %>
   </td>
   <td class="<%= cl %>"><%= link_to trace.name, {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id} %>
-    <span class="gpxsummary" title="<%= trace.timestamp %>"> ... 
+    <span class="trace_summary" title="<%= trace.timestamp %>"> ... 
       <% if trace.inserted %> 
         (<%= t'trace.trace.count_points', :count => trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %>)
       <% end %> 
index c1547027aac1f51a212f93d2edcde6537751ada2..968fd85be6836753ffb0b2216d17ca4614738ffa 100644 (file)
@@ -1,6 +1,6 @@
 <%= render :partial => 'trace_paging_nav' %>
 
-<table id="keyvalue" cellpadding="3">
+<table id="trace_list" cellpadding="3">
   <tr>
     <th></th>
     <th></th>
index f166a779bb5b9b4ecaa68e81cb8530cee3f68002..69eedd143e1a7876578a7562c938dbac39face34 100644 (file)
@@ -1,7 +1,6 @@
 <% content_for "optionals" do %>
   <div class="optionalbox">
-    <span class="oboxheader"><%= t'trace.trace_optionals.tags' %></span>
-    <br />
+    <h1><%= t'trace.trace_optionals.tags' %></h1>
     <br />
     <% if @all_tags %>
       <% @all_tags.each do |tag| %>
index 523607ae63b660094bcd930dbe92a175b261b105..202f9039d573b5a81ed954818c91f2af6ee40941 100644 (file)
@@ -11,7 +11,7 @@
   </tr> 
   <tr>
     <td><%= t'trace.edit.uploaded_at' %></td>
-    <td><%= l @trace.timestamp %></td>
+    <td><%= l @trace.timestamp, :format => :friendly %></td>
   </tr>
   <% if @trace.inserted? %>
   <tr>
index c1d5e044570f1b1b197fa62e284f3a69525cb3db..73638cb3d917da56649a77be0bd504b807746f4e 100644 (file)
@@ -15,7 +15,7 @@
   </tr> 
   <tr>
     <td><%= t'trace.view.uploaded' %></td>
-    <td><%= l @trace.timestamp %></td>
+    <td><%= l @trace.timestamp, :format => :friendly %></td>
   </tr>
   <% if @trace.inserted? %>
   <tr>
diff --git a/app/views/user/_contact.html.erb b/app/views/user/_contact.html.erb
new file mode 100644 (file)
index 0000000..e0babce
--- /dev/null
@@ -0,0 +1,27 @@
+<tr>
+  <td rowspan="2">
+    <%= user_thumbnail contact %>
+  </td>
+  <td>
+    <%= link_to h(contact.display_name), :controller => 'user', :action => 'view',  :display_name => contact.display_name %>
+    <% if @this_user.home_lon and @this_user.home_lat and contact.home_lon and contact.home_lat %>
+      <% distance = @this_user.distance(contact) %>
+      <% if distance < 1 %>
+        (<%= t 'user.view.m away', :count => (distance * 1000).round %>)
+      <% else %>
+        (<%= t 'user.view.km away', :count => distance.round %>)
+      <% end %>
+    <% end %>
+  </td>
+</tr>
+<tr>
+  <td>
+    <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => contact.display_name %>
+    |
+    <% if @user.is_friends_with?(contact) %>
+      <%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => contact.display_name, :referer => request.request_uri %>
+    <% else %>
+      <%= link_to t('user.view.add as friend'), :controller => 'user', :action => 'make_friend', :display_name => contact.display_name, :referer => request.request_uri %>
+    <% end %>
+  </td>
+</tr>
similarity index 57%
rename from app/views/user/_friend_map.html.erb
rename to app/views/user/_map.html.erb
index a73bb53b8250a5bad816f6e624d52b8bea8e3520..7c29526cf7d7a24d8da3acf1ee93992abdc217b6 100644 (file)
@@ -1,15 +1,5 @@
-<% nearest_str = "" %>
-<% if !@user.home_lat.nil? and !@user.home_lon.nil? %>
-  <% if !@user.nearby.empty? %>
-    <% @user.nearby.each do |nearby| %>
-    <% nearest_str += "nearest.push( { 'display_name' : '#{escape_javascript(nearby.display_name)}', 'home_lat' : #{nearby.home_lat}, 'home_lon' : #{nearby.home_lon} } );\n" %>
-    <% end %>
-  <% end %>
-<% end %>
-<script type="text/javascript">
-    var nearest = [], friends = [];
-    <%= nearest_str %>
-</script>
+<% friends = @user.friends.collect { |f| f.befriendee }.select { |f| !f.home_lat.nil? and !f.home_lon.nil? } %>
+<% nearest = @user.nearby - friends %>
 
 <% if @user.home_lat.nil? or @user.home_lon.nil? %>
   <% lon = h(params['lon'] || '-0.1') %>
     setMapCenter(centre, zoom);
 
     <% if marker %>
-    marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>), null, "<%= t 'user.friend_map.your location' %>");
+    marker = addMarkerToMap(
+      new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>), null,
+      '<%= escape_javascript(render(:partial => "popup", :object => @user, :locals => { :type => "your location" })) %>'
+    );
     <% end %>
 
     var near_icon = OpenLayers.Marker.defaultIcon();
-    near_icon.url = OpenLayers.Util.getImagesLocation() + "marker-green.png";;
-    var i = nearest.length;
-    while( i-- ) {
-      var description = i18n('<%= t 'user.friend_map.nearby mapper'%>', { nearby_user: '<a href="/user/'+nearest[i].display_name+'">'+nearest[i].display_name+'</a>' });
-      var nearmarker = addMarkerToMap(new OpenLayers.LonLat(nearest[i].home_lon, nearest[i].home_lat), near_icon.clone(), description);
-    }
+    near_icon.url = OpenLayers.Util.getImagesLocation() + "marker-green.png";
+    <% nearest.each do |u| %>
+      addMarkerToMap(new OpenLayers.LonLat(
+        <%= u.home_lon %>, <%= u.home_lat %>), near_icon.clone(),
+        '<%= escape_javascript(render(:partial => "popup", :object => u, :locals => { :type => "nearby mapper" })) %>'
+      );
+    <% end %>
+
+    var friend_icon = OpenLayers.Marker.defaultIcon();
+    friend_icon.url = OpenLayers.Util.getImagesLocation() + "marker-blue.png";
+    <% friends.each do |u| %>
+      addMarkerToMap(new OpenLayers.LonLat(
+        <%= u.home_lon %>, <%= u.home_lat %>), friend_icon.clone(),
+        '<%= escape_javascript(render(:partial => "popup", :object => u, :locals => { :type => "friend" })) %>'
+      );
+    <% end %>
 
     if (document.getElementById('updatehome')) {
       map.events.register("click", map, setHome);
         removeMarkerFromMap(marker);
       }
 
-      marker = addMarkerToMap(lonlat, null, "<%= t 'user.friend_map.your location' %>");
+      marker = addMarkerToMap(
+        lonlat, null, 
+        '<%= escape_javascript(render(:partial => "popup", :object => @user, :locals => { :type => "your location" })) %>'
+      );
     }
   }
 
   window.onload = init;
 // -->
 </script>
-
-
diff --git a/app/views/user/_popup.html.erb b/app/views/user/_popup.html.erb
new file mode 100644 (file)
index 0000000..cad5f79
--- /dev/null
@@ -0,0 +1,5 @@
+<div class="user_popup">
+  <%= user_thumbnail popup, :style => "float :left" %>
+  <p><%= t('user.popup.' + type) %></p>
+  <p><%= link_to popup.display_name, :controller => "user", :action => "view", :display_name => popup.display_name %></p>
+</div>
index c20f3526c69103aa9da24c5a0f525c1885c6ac91..badcc1249c2ceb81610589b938ffd01ac719e61d 100644 (file)
 
   <tr>
     <td class="fieldName" style="padding-bottom:0px;"><%= t 'user.new.password' %></td>
-    <td style="padding-bottom:0px;"><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255} %></td>
+    <td style="padding-bottom:0px;"><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255, :autocomplete => :off} %></td>
   </tr>
 
   <tr>
     <td class="fieldName"><%= t 'user.new.confirm password' %></td>
-    <td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255} %></td>
+    <td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255, :autocomplete => :off} %></td>
   </tr>
   <tr>
     <td class="fieldName" ><%= t 'user.account.openid.openid' %></td>
     <td valign="top">
       <% if @user.image.nil? %>
         <%= hidden_field_tag "image_action", "new" %>
-        <%= t 'user.account.new image' %><br /><%= file_column_field "user", "image" %>
+        <%= t 'user.account.new image' %><br /><%= file_column_field "user", "image" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span>
       <% else %>
-        <table>
+        <table id="accountImage">
           <tr>
-            <td rowspan="3" valign="top"><%= image_tag url_for_file_column(@user, "image") %></td>
+            <td rowspan="3" valign="top"><%= image_tag url_for_file_column(@user, "image"), :class => "user_image" %></td>
             <td><%= radio_button_tag "image_action", "keep", true %></td>
             <td><%= t 'user.account.keep image' %></td>
           </tr>
@@ -72,7 +72,7 @@
           </tr>
           <tr>
             <td><%= radio_button_tag "image_action", "new" %></td>
-            <td><%= t 'user.account.replace image' %><br /><%= file_column_field "user", "image", :onchange => "$('image_action_new').checked = true" %></td>
+            <td><%= t 'user.account.replace image' %><br /><%= file_column_field "user", "image", :onchange => "$('image_action_new').checked = true" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span></td>
           </tr>
         </table>
       <% end %>
@@ -88,7 +88,7 @@
     <td></td>
     <td>
       <p><%= t 'user.account.update home location on click' %> <input type="checkbox" value="1" <% unless @user.home_lat and @user.home_lon %> checked="checked" <% end %> id="updatehome" /> </p>
-      <div id="map" style="border:1px solid black; position:relative; width:500px; height:400px;"></div>
+      <div id="map" class="user_map" style="border:1px solid black; position:relative; width:500px; height:400px;"></div>
     </td>
   </tr>
   
@@ -99,7 +99,7 @@
 </table>
 <% end %>
 
-<%= render :partial => 'friend_map' %>
+<%= render :partial => 'map' %>
 
 <% unless @user.data_public? %>
 <a name="public"></a>
index 269bbc0cc6aeff99512132836d8603ddb16701b6..46e7f7b8b334867c7d02ab6da592de845e05b11b 100644 (file)
@@ -5,13 +5,12 @@
 <% form_tag :action => 'login' do %>
 <%= hidden_field_tag('referer', h(params[:referer])) %>
 <table id="loginForm">
-  <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field('user', 'email',{:size => 28, :maxlength => 255, :tabindex => 1}) %></td></tr>
-  <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %></td><td> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
-<tr><td colspan = "3"><h4><I><%= t 'user.login.alternatively' %></I></h4></td></tr>
-<tr><td class="fieldName"><%= t 'user.login.openid' %></td><td><%= text_field('user', 'openid_url',{:size => 28, :maxlength => 255, :tabindex => 3}) %></td><td> <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span></td></tr>
-
-  <tr><td colspan="2">&nbsp;<!--vertical spacer--></td></tr>
-  <tr><td colspan="2">&nbsp;<!--vertical spacer--></td></tr>
-  <tr><td class="fieldName"><label for="remember_me">Remember me:</label></td><td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %></td><td align=right><%= submit_tag t('user.login.login_button'), :tabindex => 3 %></td></tr>
+  <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field('user', 'email',{:value => "", :size => 28, :maxlength => 255, :tabindex => 1}) %></td></tr>
+  <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field('user', 'password',{:value => "", :size => 28, :maxlength => 255, :tabindex => 2}) %></td><td> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
+  <tr><td colspan = "3"><h4><I><%= t 'user.login.alternatively' %></I></h4></td></tr>
+  <tr><td class="fieldName"><%= t 'user.login.openid' %></td><td><%= text_field('user', 'openid_url',{:size => 28, :maxlength => 255, :tabindex => 3}) %></td><td> <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span></td></tr>
+  <tr><td colspan="3">&nbsp;<!--vertical spacer--></td></tr>
+  <tr><td colspan="3">&nbsp;<!--vertical spacer--></td></tr>
+  <tr><td class="fieldName"><label for="remember_me"><%= t 'user.login.remember' %></label></td><td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %></td><td align=right><%= submit_tag t('user.login.login_button'), :tabindex => 3 %></td></tr>
 </table>
 <% end %>
diff --git a/app/views/user/logout.html.erb b/app/views/user/logout.html.erb
new file mode 100644 (file)
index 0000000..e6d0dec
--- /dev/null
@@ -0,0 +1,6 @@
+<h1><%= t 'user.logout.heading' %></h1>
+<% form_tag :action => "logout" do %>
+  <%= hidden_field_tag("referer", h(params[:referer])) %>
+  <%= hidden_field_tag("session", request.session_options[:id]) %>
+  <%= submit_tag t('user.logout.logout_button') %>
+<% end %>
index 3059a0bc0765afc5281c8c6a373969c1afb02708..d2c939badc1908cf66b12e66b8295b91cdbeaedc 100644 (file)
@@ -39,4 +39,6 @@
 </table>
 <% end %>
 
+<%= javascript_include_tag 'https://ethnio.com/remotes/62786' %>
+
 <% end %>
index 372bd660d28cde0abfa97895196b3cf8d92e4fcf..b333b5c67eef1bb5638b4af34f4045b23e24a49c 100644 (file)
-<% if @this_user.image %>
-<%= image_tag url_for_file_column(@this_user, "image"), :align => "right", :float => "left" %>
-<% end %>
+<%= user_image @this_user, :style => "float: right" %>
+
 <h2><%= h(@this_user.display_name) %>
+
 <% UserRole::ALL_ROLES.each do |role| %>
-<% if @user and @user.administrator? %>
-<% if @this_user.has_role? role %>
-<%= link_to(image_tag("roles/#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.revoke.#{role}"), :title => t("user.view.role.revoke.#{role}")), :controller => 'user_roles', :action => 'revoke', :display_name => @this_user.display_name, :role => role) %>
-<% else %>
-<%= link_to(image_tag("roles/blank_#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.grant.#{role}"), :title => t("user.view.role.grant.#{role}")), :controller => 'user_roles', :action => 'grant', :display_name => @this_user.display_name, :role => role) %>
-<% end %>
-<% elsif @this_user.has_role? role %>
-<%= image_tag("roles/#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.#{role}"), :title => t("user.view.role.#{role}")) %>
-<% end %>
+  <% if @user and @user.administrator? %>
+    <% if @this_user.has_role? role %>
+      <%= link_to(image_tag("roles/#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.revoke.#{role}"), :title => t("user.view.role.revoke.#{role}")), :controller => 'user_roles', :action => 'revoke', :display_name => @this_user.display_name, :role => role) %>
+    <% else %>
+      <%= link_to(image_tag("roles/blank_#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.grant.#{role}"), :title => t("user.view.role.grant.#{role}")), :controller => 'user_roles', :action => 'grant', :display_name => @this_user.display_name, :role => role) %>
+    <% end %>
+  <% elsif @this_user.has_role? role %>
+    <%= image_tag("roles/#{role}.png", :size => "20x20", :border => 0, :alt => t("user.view.role.#{role}"), :title => t("user.view.role.#{role}")) %>
+  <% end %>
 <% end %></h2>
+
 <div id="userinformation">
-<% if @user and @this_user.id == @user.id %>
-<!-- Displaying user's own profile page -->
-<%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
-| <%= link_to t('user.view.new diary entry'), :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
-| <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
-| <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
-| <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
-| <%= link_to t('user.view.blocks on me'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @user.display_name %>
-<% if @user and @user.moderator? %>
-| <%= link_to t('user.view.blocks by me'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @user.display_name %>
-<% end %>
-<% else %>
-<!-- Displaying another user's profile page -->
-<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
-| <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
-| <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
-| <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
-| <% if @user and @user.is_friends_with?(@this_user) %>
-  <%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
-<% else %>
-  <%= link_to t('user.view.add as friend'), :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
-<% end %>
-| <%= link_to t('user.view.block_history'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @this_user.display_name %>
-<% if @this_user.moderator? %>
-| <%= link_to t('user.view.moderator_history'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @this_user.display_name %>
-<% end %>
-<% if @user and @user.moderator? %>
-| <%= link_to t('user.view.create_block'), :controller => 'user_blocks', :action => 'new', :display_name => @this_user.display_name %>
-<% end %>
-<% end %>
-<% if @user and @user.administrator? %>
-<br/>
-<% if @this_user.active? %>
-<%= link_to t('user.view.deactivate_user'), {:controller => 'user', :action => 'deactivate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
-<% else %>
-<%= link_to t('user.view.activate_user'), {:controller => 'user', :action => 'activate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
-<% end %>
-<% if @this_user.visible? %>
-| <%= link_to t('user.view.hide_user'), {:controller => 'user', :action => 'hide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
-| <%= link_to t('user.view.delete_user'), {:controller => 'user', :action => 'delete', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
-<% else %>
-| <%= link_to t('user.view.unhide_user'), {:controller => 'user', :action => 'unhide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
-<% end %>
-<% end %>
+  <% if @user and @this_user.id == @user.id %>
+    <!-- Displaying user's own profile page -->
+    <%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
+    |
+    <%= link_to t('user.view.new diary entry'), :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
+    |
+    <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
+    |
+    <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
+    |
+    <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
+    |
+    <%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %>
+    |
+    <%= link_to t('user.view.blocks on me'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @user.display_name %>
+    <% if @user and @user.moderator? %>
+      | <%= link_to t('user.view.blocks by me'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @user.display_name %>
+    <% end %>
+  <% else %>
+    <!-- Displaying another user's profile page -->
+    <%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
+    |
+    <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
+    |
+    <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
+    |
+    <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
+    |
+    <% if @user and @user.is_friends_with?(@this_user) %>
+      <%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
+    <% else %>
+      <%= link_to t('user.view.add as friend'), :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
+    <% end %>
+    |
+    <%= link_to t('user.view.block_history'), :controller => 'user_blocks', :action => 'blocks_on', :display_name => @this_user.display_name %>
+    <% if @this_user.moderator? %>
+      | <%= link_to t('user.view.moderator_history'), :controller => 'user_blocks', :action => 'blocks_by', :display_name => @this_user.display_name %>
+    <% end %>
+    <% if @user and @user.moderator? %>
+      | <%= link_to t('user.view.create_block'), :controller => 'user_blocks', :action => 'new', :display_name => @this_user.display_name %>
+    <% end %>
+  <% end %>
+  <% if @user and @user.administrator? %>
+    <br/>
+    <% if @this_user.active? %>
+      <%= link_to t('user.view.deactivate_user'), {:controller => 'user', :action => 'deactivate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
+    <% else %>
+      <%= link_to t('user.view.activate_user'), {:controller => 'user', :action => 'activate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
+    <% end %>
+    |
+    <% if @this_user.visible? %>
+      <%= link_to t('user.view.hide_user'), {:controller => 'user', :action => 'hide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
+      |
+      <%= link_to t('user.view.delete_user'), {:controller => 'user', :action => 'delete', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
+    <% else %>
+      <%= link_to t('user.view.unhide_user'), {:controller => 'user', :action => 'unhide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
+    <% end %>
+  <% end %>
 </div>
 
-<p><b><%= t 'user.view.mapper since' %></b> <%= l @this_user.creation_time %> <%= t 'user.view.ago', :time_in_words_ago => time_ago_in_words(@this_user.creation_time) %></p>
+<p><b><%= t 'user.view.mapper since' %></b> <%= l @this_user.creation_time, :format => :friendly %> <%= t 'user.view.ago', :time_in_words_ago => time_ago_in_words(@this_user.creation_time) %></p>
 
 <% if @user and @user.administrator? %>
-<p><b><%= t 'user.view.email address' %></b> <%= @this_user.email %></p>  
-<p><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></p>
+  <p><b><%= t 'user.view.email address' %></b> <%= @this_user.email %></p>  
+  <p><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></p>
 <% end %>
 
 <h3><%= t 'user.view.description' %></h3>
-<div id="description"><%= htmlize(@this_user.description) %></div>
 
-<% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
-<h3><%= t 'user.view.user location' %></h3>
-
-  <%= t 'user.view.no home location' %>
-  <% if @user and @this_user.id == @user.id %>
-  <%= t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name) %>
-  <% end %>
-<% else %>
+<div id="description"><%= htmlize(@this_user.description) %></div>
 
-  <% if @user and @this_user.id == @user.id %>
-    <h3><%= t 'user.view.your friends' %></h3>
-    <% if @this_user.friends.empty? %>
-      <%= t 'user.view.no friends' %>
+<% if @user and @this_user.id == @user.id %>
+  <div id="map" class="user_map" style="border: 1px solid black; position: relative; width: 400px; height: 400px; float: right;">
+    <% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
+      <p style="position: absolute; top: 0; bottom: 0; width: 90%; height: 30%; margin: auto 5%">
+        <%= t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name) %>
+      </p>
     <% else %>
-      <table id="friends">
-      <% @this_user.friends.each do |friend| %>
-      <% @friend = User.find_by_id(friend.friend_user_id) %>
-      <tr>
-      <td class="image">
-      <% if @friend.image %>
-        <%= image_tag url_for_file_column(@friend, "image") %>
-      <% end %>
-      </td>
-      <td class="username"><%= link_to h(@friend.display_name), :controller => 'user', :action => 'view',  :display_name => @friend.display_name %></td>
-      <td>
-        <% if @friend.home_lon and @friend.home_lat %>
-          <% distance = @this_user.distance(@friend) %>
-          <% if distance < 1 %>
-            <%= t 'user.view.m away', :count => (distance * 1000).round %>
-          <% else %>
-            <%= t 'user.view.km away', :count => distance.round %>
-          <% end %>
-        <% end %>
-      </td>
-      <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @friend.display_name %>)</td>
-      </tr>
-      <%end%>
-      </table>
-    <%end%>
-    <br/>
-  <%end%>
+      <%= render :partial => 'map' %>
+    <% end %>
+  </div>
 
+  <% friends = @this_user.friends.collect { |f| f.befriendee } %>
+  <% nearby = @this_user.nearby - friends %>
 
-  <% if @user and @this_user.id == @user.id %>
-    <h3><%= t 'user.view.nearby users' %></h3>
-    <% if @this_user.nearby.empty? %>
-      <%= t 'user.view.no nearby users' %>
-    <% else %>
+  <h3 style="margin-top: 0"><%= t 'user.view.your friends' %></h3>
 
-    <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px;"></div>
-    <%= render :partial => 'friend_map' %>
-      <table id="nearbyusers">
-      <% @this_user.nearby.each do |nearby| %>
-      <tr>
-      <td class="username"><%= link_to h(nearby.display_name), :controller => 'user', :action => 'view',  :display_name => nearby.display_name %></td>
-      <td>
-        <% distance = @this_user.distance(nearby) %>
-        <% if distance < 1 %>
-          <%= t 'user.view.m away', :count => (distance * 1000).round %>
-        <% else %>
-          <%= t 'user.view.km away', :count => distance.round %>
-        <% end %>
-      </td>
-      <td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => nearby.display_name %>)</td>
-      </tr>
-      <% end %>
-      </table>
-    <% end %>
+  <% if friends.empty? %>
+    <%= t 'user.view.no friends' %>
+  <% else %>
+    <table id="friends">
+      <%= render :partial => "contact", :collection => friends %>
+    </table>
   <% end %>
-<% end %>
 
-<br/>
-<br/>
-<% if @user and @this_user.id == @user.id %>
-<%= link_to t('user.view.my_oauth_details'), :controller => 'oauth_clients', :action => 'index' %>
+  <h3><%= t 'user.view.nearby users' %></h3>
+
+  <% if nearby.empty? %>
+    <%= t 'user.view.no nearby users' %>
+  <% else %>
+    <table id="nearbyusers">
+      <%= render :partial => "contact", :collection => nearby %>
+    </table>
+  <% end %>
 <% end %>
diff --git a/config/.gitignore b/config/.gitignore
new file mode 100644 (file)
index 0000000..b5649dd
--- /dev/null
@@ -0,0 +1 @@
+database.yml
index 70a1ddbd5ac04cd52ce30899a247d24b0d7e1172..01115ba97fb17133e9e47eb38cb829faac36ba50 100644 (file)
@@ -54,6 +54,7 @@ Rails::Initializer.run do |config|
   config.gem 'httpclient'
   config.gem 'ruby-openid', :lib => 'openid', :version => '>=2.0.4'
   config.gem 'SystemTimer', :version => '>= 1.1.3', :lib => 'system_timer'
+  config.gem 'sanitize'
 
   # Only load the plugins named here, in the order given. By default, all plugins
   # in vendor/plugins are loaded in alphabetical order.
index 58850a7974fb92dbc7d7cf637466499c8b5dbd1a..a26b6ef9293ec2d155060ab1cad92668723c122e 100644 (file)
@@ -20,3 +20,6 @@ config.action_controller.allow_forgery_protection    = false
 # The :test delivery method accumulates sent emails in the
 # ActionMailer::Base.deliveries array.
 config.action_mailer.delivery_method = :test
+
+# Load timecop to help with testing time dependent code
+config.gem 'timecop'
index 54a925e3cd6ee85deab7f85cba7968be03168ce4..b2af5004e463abee8834b404a7864396651de934 100644 (file)
@@ -2,3 +2,29 @@ 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
+
+module I18n
+  module Backend
+    class Simple
+      protected
+      alias_method :old_init_translations, :init_translations
+      
+      def init_translations
+        old_init_translations
+
+        merge_translations(:nb, translations[:no])
+        translations[:no] = translations[:nb]
+
+        friendly = translate('en', 'time.formats.friendly')
+
+        available_locales.each do |locale|
+          time_formats = I18n.t('time.formats', :locale => locale)
+
+          unless time_formats.has_key?(:friendly)
+            store_translations(locale, :time => { :formats => { :friendly => friendly } })
+          end
+        end
+      end
+    end
+  end
+end
diff --git a/config/initializers/sanitize.rb b/config/initializers/sanitize.rb
new file mode 100644 (file)
index 0000000..7360e27
--- /dev/null
@@ -0,0 +1,3 @@
+Sanitize::Config::OSM = Sanitize::Config::RELAXED.dup
+
+Sanitize::Config::OSM[:add_attributes] = { 'a' => { 'rel' => 'nofollow' } }
index e7bbe8d2f27628148c4f9b614098f5bee479e173..b1d57267c0c1c6806e035e3da8ed0ee034ef7988 100644 (file)
@@ -353,6 +353,7 @@ af:
           auditorium: Ouditorium
           bank: Bank
           bar: Kroeg
+          bench: Bank
           bicycle_parking: Fietsparkering
           bicycle_rental: Fietsverhuring
           brothel: Bordeel
@@ -367,6 +368,7 @@ af:
           club: Klub
           college: Kollege
           community_centre: Gemeenskap-sentrum
+          courthouse: Hof
           crematorium: Krematorium
           dentist: Tandarts
           doctors: Dokters
@@ -382,6 +384,7 @@ af:
           fountain: Fontein
           fuel: Brandstof
           grave_yard: Begraafplaas
+          hall: Saal
           health_centre: Gesondheidsentrum
           hospital: Hospitaal
           hotel: Hotel
@@ -392,6 +395,7 @@ af:
           market: Mark
           marketplace: Markplein
           nightclub: Nagklub
+          nursery: Kleuterskool
           nursing_home: Verpleeghuis
           office: Kantoor
           park: Park
@@ -413,6 +417,7 @@ af:
           school: Skool
           shelter: Skuiling
           shop: Winkel
+          shopping: Inkopies
           social_club: Sosiale klub
           studio: Studio
           supermarket: Supermark
@@ -474,6 +479,8 @@ af:
           platform: Platform
           primary: Primêre pad
           primary_link: Primêre pad
+          raceway: Renbaan
+          residential: Woonerf
           road: Pad
           secondary: Sekondêre pad
           secondary_link: Sekondêre pad
@@ -559,6 +566,7 @@ af:
           feature: Besienswaardigheid
           geyser: Geiser
           glacier: Gletser
+          heath: Heide
           hill: Heuwel
           island: Eiland
           land: Land
@@ -570,6 +578,7 @@ af:
           ridge: Bergkam
           river: Rivier
           rock: Rotse
+          scree: Puin
           scrub: Struikgewas
           shoal: Sandbank
           spring: Bron
@@ -731,11 +740,10 @@ af:
     donate: Ondersteun OpenStreetMap deur aan die Hardeware Opgradeer-fonds te {{link}}.
     donate_link_text: skenk
     edit: Wysig
-    edit_tooltip: Wysig kaarte
     export: Eksporteer
     export_tooltip: Eksporteer kaartdata
     gps_traces: GPS-spore
-    gps_traces_tooltip: Beheer spore
+    gps_traces_tooltip: Beheer GPS-spore
     help_wiki: Help &amp; Wiki
     help_wiki_tooltip: Help en wiki vir die projek
     history: Geskiedenis
@@ -770,13 +778,9 @@ af:
     user_diaries: Gebruikersdagboeke
     user_diaries_tooltip: Wys gebruikersdagboeke
     view: Wys
-    view_tooltip: Wys kaarte
+    view_tooltip: Wys die kaart
     welcome_user: Welkom, {{user_link}}
     welcome_user_link_tooltip: U gebruikersblad
-  map: 
-    coordinates: "Koördinate:"
-    edit: Wysig
-    view: Wys
   message: 
     delete: 
       deleted: Boodskap is verwyder
@@ -807,9 +811,9 @@ af:
       subject: Onderwerp
       title: Stuur boodskap
     no_such_user: 
-      body: Jammer, daar is geen gebruiker of boodskap met die naam of id nie
-      heading: Geen sodanige gebruiker of boodskap nie
-      title: Geen sodanige gebruiker of boodskap nie
+      body: Jammer, daar is geen gebruiker met die naam nie
+      heading: Die gebruiker bestaan nie
+      title: Die gebruiker bestaan nie
     outbox: 
       date: Datum
       inbox: inboks
@@ -1104,6 +1108,7 @@ af:
       email never displayed publicly: (word nie openbaar gemaak nie)
       flash update success: U gebruikersinligting is verander.
       home location: "Tuisligging:"
+      image: "Beeld:"
       latitude: "Breedtegraad:"
       longitude: "Lengtegraad:"
       make edits public button: Maak al my wysigings openbaar
@@ -1127,9 +1132,6 @@ af:
     confirm_email: 
       button: Bevestig
       success: U e-posadres is bevestig, dankie dat u geregistreer het!
-    friend_map: 
-      nearby mapper: "Nabygeleë karteerder: [[nearby_user]]"
-      your location: U ligging
     login: 
       auth failure: Jammer, kon nie met hierdie inligting aanteken nie.
       create_account: registreer
@@ -1167,6 +1169,9 @@ af:
       body: Daar is geen gebruiker met die naam {{user}} nie. Kontroleer u spelling, of die skakel waarop u gekliek het is verkeerd.
       heading: Die gebruiker {{user}} bestaan nie
       title: Gebruiker bestaan nie
+    popup: 
+      nearby mapper: Nabygeleë karteerder
+      your location: U ligging
     remove_friend: 
       not_a_friend: "{{name}} is nie een van u vriende nie."
       success: "{{name}} is uit u lys van vriende verwyder."
@@ -1182,16 +1187,13 @@ af:
     view: 
       activate_user: aktiveer hierdie gebruiker
       add as friend: voeg by as vriend
-      add image: Voeg prent by
       ago: ({{time_in_words_ago}} gelede)
       block_history: wys blokkades ontvang
       blocks by me: blokkades deur my
       blocks on me: blokkades op my
-      change your settings: verander u voorkeure
       confirm: Bevestig
       create_block: blokkeer die gebruiker
       deactivate_user: deaktiveer hierdie gebruiker
-      delete image: Verwyder prent
       delete_user: skrap die gebruiker
       description: Beskrywing
       diary: dagboek
@@ -1207,12 +1209,10 @@ af:
       my edits: my wysigings
       my settings: my voorkeure
       my traces: my spore
-      my_oauth_details: Wys my OAuth-besonderhede
-      nearby users: "Nabygeleë gebruikers:"
+      nearby users: Ander nabygeleë gebruikers
       new diary entry: nuwe dagboekinskrywing
       no friends: U het nog geen vriende bygevoeg nie.
-      no home location: Geen tuisligging verskaf nie.
-      no nearby users: Daar is nog geen nabygeleë gebruikers wat erken dat hulle karterinswerk doen nie.
+      no nearby users: Daar is nog geen gebruikers wat herken dat hulle nabygeleë karterinswerk doen nie.
       remove as friend: verwyder as vriend
       role: 
         administrator: Hierdie gebruiker is 'n administrateur
@@ -1227,8 +1227,6 @@ af:
       settings_link_text: voorkeure
       traces: spore
       unhide_user: maak die gebruiker weer sigbaar
-      upload an image: Laai 'n prent op
-      user image heading: Foto van gebruiker
       user location: Ligging van gebruiker
       your friends: U vriende
   user_block: 
index 832c106a74310a91b2020fdd05cb342b8f618c2d..8a012517577a5e5591e970cfc4f0f646dd313e75 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: syck
 # Author: Aude
 # Author: Bassem JARKAS
+# Author: Grille chompa
 # Author: Mutarjem horr
 # Author: OsamaK
 ar: 
@@ -328,6 +329,10 @@ ar:
       recent_entries: "المدخلات اليومية الحديثة:"
       title: يوميات المستخدمين
       user_title: يومية {{user}}
+    location: 
+      edit: عدّل
+      location: "الموقع:"
+      view: اعرض
     new: 
       title: مدخلة يومية جديدة
     no_such_entry: 
@@ -367,6 +372,9 @@ ar:
       output: الخرج
       paste_html: ألصق HTML لتضمينه في موقع ما
       scale: القياس
+      too_large: 
+        body: هذه المنطقة كبيرة جدًا للتصدير على هيئة بيانات إكس إم إل لخريطة الشارع المفتوحة. يرجى تكبير الخريطة أو استخدام منطقة أصغر.
+        heading: المنطقة كبيرة جدًا
       zoom: تكبير
     start_rjs: 
       add_marker: أضف علامة على الخريطة
@@ -852,27 +860,31 @@ ar:
           water_point: نقطة ماء شفة
           waterfall: شلال
           weir: هدار (سدّ منخفض)
+  html: 
+    dir: rtl
   javascripts: 
     map: 
       base: 
         cycle_map: خريطة للدراجات
         noname: التسمية غائبة
     site: 
+      edit_disabled_tooltip: قم بالتكبير لتحرير الخريطة
+      edit_tooltip: عدّل الخريطة
       edit_zoom_alert: يجب عليك التكبير لتعديل الخريطة
+      history_disabled_tooltip: قم بالتكبير لعرض التعديلات في هذه المنطقة
+      history_tooltip: اعرض التعديلات في هذه المنطقة
       history_zoom_alert: يجب التكبير لرؤية تاريخ التعديل
   layouts: 
     donate: ادعم خريطة الشارع المفتوحة ب{{link}} لتمويل ترقية العتاد.
     donate_link_text: التبرع
     edit: عدّل الخريطة
-    edit_tooltip: يمكنك تعديل هذه الخريطة، من فضلك اقرأ صفحة الدليل قبل البدء
     export: صدِّر
     export_tooltip: صدّر بيانات الخريطة
     gps_traces: آثار جي بي أس
-    gps_traces_tooltip: Ø¹Ø§Ù\84ج Ø§Ù\84آثار
+    gps_traces_tooltip: Ø¹Ø§Ù\84ج Ø¢Ø«Ø§Ø± Ø¬Ù\8a Ø¨Ù\8a Ø¥Ø³
     help_wiki: المساعدة والويكي
     help_wiki_tooltip: المساعدة وموقع الويكي للمشروع
     history: تاريخ
-    history_tooltip: تاريخ حزمة التغييرات
     home: الصفحة الرئيسية
     home_tooltip: اذهب إلى الصفحة الرئيسية
     inbox: صندوق البريد ({{count}})
@@ -910,13 +922,9 @@ ar:
     user_diaries: يوميات المستخدمين
     user_diaries_tooltip: اعرض يوميات المستخدمين
     view: اعرض
-    view_tooltip: اعرض الخرائط
+    view_tooltip: اعرض الخريطة
     welcome_user: مرحبًا بك، {{user_link}}
     welcome_user_link_tooltip: صفحة المستخدم الخاصة بك
-  map: 
-    coordinates: "الإحداثيات:"
-    edit: عدّل
-    view: اعرض
   message: 
     delete: 
       deleted: حُذفت الرسالة
@@ -947,10 +955,14 @@ ar:
       send_message_to: أرسل رسالة جديدة إلى {{name}}
       subject: الموضوع
       title: أرسل رسالة
+    no_such_message: 
+      body: عذرًا لا يوجد أي رسالة بهذا المعرف.
+      heading: لا توجد مثل هذه الرسالة
+      title: لا توجد مثل هذه الرسالة
     no_such_user: 
-      body: عذرًا لا يوجد مستخدم أو رسالة بذلك الاسم أو المعرّف
-      heading: لا يوجد مستخدم أو رسالة
-      title: لا يوجد مستخدم أو رسالة
+      body: عذرًا لا يوجد مستخدم أو رسالة بذلك الاسم.
+      heading: لا يوجد مثل هذا المستخدم
+      title: لا يوجد مثل هذا المستخدم
     outbox: 
       date: التاريخ
       inbox: صندوق البريد الوارد
@@ -974,6 +986,9 @@ ar:
       title: اقرأ الرسالة
       to: إلى
       unread_button: علّم كغير مقروءة
+      wrong_user: أنت مسجل دخول باسم '{{user}}' ولكن الرسالة التي طلبت قراءتها لم تكن من أو إلى ذلك المستخدم. يرجى تسجيل الدخول كمستخدم صحيح للرد.
+    reply: 
+      wrong_user: أنت مسجل دخول باسم '{{user}}' ولكن الرسالة التي طلبت الرد عليها لم تكن مرسلة لذلك المستخدم. يرجى تسجيل الدخول كمستخدم صحيح للرد.
     sent_message_summary: 
       delete_button: احذف
   notifier: 
@@ -994,8 +1009,9 @@ ar:
       hopefully_you_1: شخص ما (نأمل أنت) يرغب بتغيير عنوان بريده الإلكتروني على
       hopefully_you_2: "{{server_url}} إلى {{new_address}}."
     friend_notification: 
+      befriend_them: يمكنك أيضًا إضافتهم كصديق على {{befriendurl}}.
       had_added_you: "{{user}} قام بإضافتك كصديق على خريطة الشارع المفتوحة."
-      see_their_profile: يمكنك أن تشاهد ملفه الشخصي على {{userurl}} وإضافته كصديق أيضًا إن كنت ترغب في ذلك.
+      see_their_profile: يمكنك أن تشاهد ملفهم الشخصي على {{userurl}}.
       subject: "[خريطة الشارع المفتوحة] {{user}} أضافك كصديق."
     gpx_notification: 
       and_no_tags: ولا يوجد سمات.
@@ -1222,6 +1238,9 @@ ar:
     sidebar: 
       close: أغلق
       search_results: نتائج البحث
+  time: 
+    formats: 
+      friendly: "%e %B %Y في %H:%M"
   trace: 
     create: 
       trace_uploaded: لقد تم تحميل ملفك الجي بي إكس ويتنظر الإدراج في قاعدة البيانات. وهذا يحدث عادًة خلال نصف ساعة، وسيتم إرسال رسالة إلكترونية لك عند الانتهاء.
@@ -1324,15 +1343,20 @@ ar:
   user: 
     account: 
       current email address: "عنوان البريد الإلكرتروني الحالي:"
+      delete image: أزل الصورة الحالية
       email never displayed publicly: (لا يظهر علنًا)
       flash update success: تم تحديث معلومات المستخدم بنجاح.
       flash update success confirm needed: تم تحديث معلومات المستخدم بنجاح. تحقق من بريدك الإلكتروني لمذكرة تأكيد العنوان الإلكتروني الجديد.
       home location: "موقع المنزل:"
+      image: "الصورة:"
+      image size hint: (صورة مربعة على الأقل 100 × 100 تعمل بشكل أفضل)
+      keep image: احتفظ بالصورة الحالية
       latitude: "خط العرض:"
       longitude: "خط الطول:"
       make edits public button: اجعل جميع تعديلاتي عامة
       my settings: إعداداتي
       new email address: "عنوان البريد الإلكتروني الجديد:"
+      new image: أضف صورة
       no home location: لم تدخل موقع منزلك.
       preferred languages: "اللغات المفضّلة:"
       profile description: "وصف الملف الشخصي:"
@@ -1346,6 +1370,7 @@ ar:
       public editing note: 
         heading: تعديل عام
         text: حاليًا تعديلاتك تظهر بشكل مجهول ولا يمكن للناس إرسال رسائل لك أو رؤية موقعك. لإظهار ما قمت بتعديله وللسماح للناس بالاتصال بك من خلال الموقع، انقر على الزر أدناه. <b>منذ التغيير إلى الأي بي أي 0.6، فقط المستخدمين العلنيين يمكنه تحرير بيانات الخريطة</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">لمعرفة السبب</a>). <ul><li>عنوانك البريدي لن يكشف به علنّا.</li><li>هذا الإجراء لا يمكن عكسه وجميع المستخدمين الجديد علنيين بشكل افتراضي.</li></ul>
+      replace image: استبدل الصورة الحالية
       return to profile: العودة إلى الملف الشخصي
       save changes button: احفظ التغييرات
       title: عدّل الحساب
@@ -1364,9 +1389,6 @@ ar:
       success: تم تأكيد عنوان بريدك الإلكتروني، شكرًا للاشتراك!
     filter: 
       not_an_administrator: عليك أن تكون إداري لتنفيذ هذا الإجراء.
-    friend_map: 
-      nearby mapper: "مخطط بالجوار: [[nearby_user]]"
-      your location: موقعك
     go_public: 
       flash success: جميع تعديلاتك الآن عامة، ومسموح لك بالتعديل الآن.
     login: 
@@ -1379,7 +1401,12 @@ ar:
       lost password link: أنسيت كلمة المرور؟
       password: "كلمة المرور:"
       please login: من فضلك لُج أو {{create_user_link}}.
+      remember: "تذكرني:"
       title: ولوج
+    logout: 
+      heading: الخروج من خريطة الشارع المفتوحة
+      logout_button: اخرج
+      title: اخرج
     lost_password: 
       email address: "عنوان البريد الإلكتروني:"
       heading: أنسيت كلمة المرور؟
@@ -1412,6 +1439,10 @@ ar:
       body: عذرًا، لا يوجد مستخدم بالاسم {{user}}. يرجى تدقيق الاسم، أو ربما يكون الرابط الذي تم النقر عليه خاطئ.
       heading: المستخدم {{user}} غير موجود
       title: مستخدم غير موجود
+    popup: 
+      friend: صديق
+      nearby mapper: مخطط بالجوار
+      your location: موقعك
     remove_friend: 
       not_a_friend: "{{name}} ليس من أحد أصدقائك."
       success: تم إزالة {{name}} من قائمة أصدقائك.
@@ -1428,17 +1459,14 @@ ar:
     view: 
       activate_user: نشّط هذا المستخدم
       add as friend: أضف كصديق
-      add image: أضف صورة
       ago: ({{time_in_words_ago}})
       block_history: اعرض العرقلات الواصلة
       blocks by me: العرقلات بواسطتي
       blocks on me: العرقلات علي
-      change your settings: غيّر إعداداتك
       confirm: أكّد
       create_block: امنع هذا المستخدم
       created from: "أُنشىء من:"
       deactivate_user: احذف هذا المستخدم
-      delete image: احذف الصورة
       delete_user: احذف هذا المستخدم
       description: الوصف
       diary: يومية
@@ -1454,12 +1482,11 @@ ar:
       my edits: مساهماتي
       my settings: إعداداتي
       my traces: آثاري
-      my_oauth_details: اعرض تفاصيل OAuth الخاص بي
-      nearby users: "مستخدمين بالجوار:"
+      nearby users: "مستخدمين أيضًا بالجوار:"
       new diary entry: مدخلة يومية جديدة
       no friends: لم تقم بإضافة أي أصدقاء بعد.
-      no home location: لم يتم تحديد الموقع.
-      no nearby users: لا يوجد بعد مستخدمين أفصحوا عن تخطيطهم بالجوار.
+      no nearby users: لا يوجد بعد المزيد من المستخدمين أفصحوا عن تخطيطهم بالجوار.
+      oauth settings: إعدادات oauth
       remove as friend: أزل كصديق
       role: 
         administrator: هذا المستخدم إداري
@@ -1474,8 +1501,6 @@ ar:
       settings_link_text: إعدادات
       traces: آثار
       unhide_user: أظهر هذا المستخدم
-      upload an image: حمّل صورة
-      user image heading: صورة المستخدم
       user location: الموقع
       your friends: أصدقاؤك
   user_block: 
index c49bdbfa9aab1a0bd6ac5dad1d09933bc8431162..bf861a9379d8c370c34c218f62bc3dd0d8f285ec 100644 (file)
@@ -818,7 +818,6 @@ arz:
     donate: ادعم خريطه الشارع المفتوحه ب{{link}} لتمويل ترقيه العتاد.
     donate_link_text: التبرع
     edit: عدّل هذه الخريطة
-    edit_tooltip: يمكنك تعديل هذه الخريطه، من فضلك اقرأ صفحه الدليل قبل البدء
     export: صدِّر
     export_tooltip: صدّر بيانات الخريطة
     gps_traces: آثار جى بى أس
@@ -826,7 +825,6 @@ arz:
     help_wiki: المساعده والويكي
     help_wiki_tooltip: المساعده وموقع الويكى للمشروع
     history: تاريخ
-    history_tooltip: تاريخ حزمه التغييرات
     home: الصفحه الرئيسية
     home_tooltip: اذهب إلى الصفحه الرئيسية
     inbox: صندوق البريد ({{count}})
@@ -866,10 +864,6 @@ arz:
     view_tooltip: اعرض الخرائط
     welcome_user: مرحبًا بك، {{user_link}}
     welcome_user_link_tooltip: صفحه المستخدم الخاصه بك
-  map: 
-    coordinates: "الإحداثيات:"
-    edit: عدّل
-    view: اعرض
   message: 
     delete: 
       deleted: حُذفت الرسالة
@@ -1289,9 +1283,6 @@ arz:
       success: تم تأكيد عنوان بريدك الإلكترونى، شكرًا للاشتراك!
     filter: 
       not_an_administrator: عليك أن تكون إدارى لتنفيذ هذا الإجراء.
-    friend_map: 
-      nearby mapper: "مخطط بالجوار: [[nearby_user]]"
-      your location: موقعك
     go_public: 
       flash success: جميع تعديلاتك الآن عامه، ومسموح لك بالتعديل الآن.
     login: 
@@ -1337,6 +1328,9 @@ arz:
       body: عذرًا، لا يوجد مستخدم بالاسم {{user}}. يرجى تدقيق الاسم، أو ربما يكون الرابط الذى تم النقر عليه خاطئ.
       heading: المستخدم {{user}} غير موجود
       title: مستخدم غير موجود
+    popup: 
+      nearby mapper: مخطط بالجوار
+      your location: موقعك
     remove_friend: 
       not_a_friend: "{{name}} ليس من أحد أصدقائك."
       success: تم إزاله {{name}} من قائمه أصدقائك.
@@ -1353,17 +1347,14 @@ arz:
     view: 
       activate_user: نشّط هذا المستخدم
       add as friend: أضف كصديق
-      add image: أضف صورة
       ago: (منذ {{time_in_words_ago}})
       block_history: اعرض العرقلات الواصلة
       blocks by me: العرقلات بواسطتي
       blocks on me: العرقلات علي
-      change your settings: غيّر إعداداتك
       confirm: أكّد
       create_block: امنع هذا المستخدم
       created from: "أُنشىء من:"
       deactivate_user: احذف هذا المستخدم
-      delete image: احذف الصورة
       delete_user: احذف هذا المستخدم
       description: الوصف
       diary: يومية
@@ -1379,11 +1370,9 @@ arz:
       my edits: مساهماتي
       my settings: إعداداتي
       my traces: آثاري
-      my_oauth_details: اعرض تفاصيل OAuth الخاص بي
       nearby users: "مستخدمين بالجوار:"
       new diary entry: مدخله يوميه جديدة
       no friends: لم تقم بإضافه أى أصدقاء بعد.
-      no home location: لم يتم تحديد الموقع.
       no nearby users: لا يوجد بعد مستخدمين أفصحوا عن تخطيطهم بالجوار.
       remove as friend: أزل كصديق
       role: 
@@ -1399,8 +1388,6 @@ arz:
       settings_link_text: إعدادات
       traces: آثار
       unhide_user: أظهر هذا المستخدم
-      upload an image: حمّل صورة
-      user image heading: صوره المستخدم
       user location: الموقع
       your friends: أصدقاؤك
   user_block: 
index 39de27112a1bcafd2178ce6f729aa5b1cf78ad8d..b41bed97cec5f6cb809d44e1a71345bc74ccbb96 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: syck
 # Author: EugeneZelenko
 # Author: Jim-by
+# Author: Wizardist
 be-TARASK: 
   activerecord: 
     attributes: 
@@ -30,6 +31,8 @@ be-TARASK:
       version: "Вэрсія:"
     map: 
       deleted: Выдаленая
+      larger: 
+        way: Паказаць шлях на большай мапе
       loading: Загрузка…
     node: 
       download_xml: Загрузіць XML
@@ -76,6 +79,9 @@ be-TARASK:
         type: 
           node: Вузел
           way: Шлях
+      wait: Пачакайце...
+    tag_details: 
+      tags: "Меткі:"
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} ці {{edit_link}}"
       download_xml: Загрузіць XML
@@ -89,6 +95,10 @@ be-TARASK:
     way_history: 
       download_xml: Загрузіць XML
       view_details: паказаць падрабязнасьці
+      way_history_title: "Гісторыя зьменаў шляху: {{way_name}}"
+  changeset: 
+    list: 
+      description: Апошнія зьмены
   diary_entry: 
     edit: 
       language: "Мова:"
@@ -110,9 +120,6 @@ be-TARASK:
     edit: Рэдагаваць
     export: Экспартаваць
     history: Гісторыя
-  map: 
-    coordinates: "Каардынаты:"
-    edit: Рэдагаваць
   message: 
     inbox: 
       subject: Тэма
@@ -132,6 +139,8 @@ be-TARASK:
     edit: 
       submit: Рэдагаваць
   trace: 
+    create: 
+      upload_trace: Загрузіць GPS-трэк
     edit: 
       description: "Апісаньне:"
       download: загрузіць
@@ -168,8 +177,6 @@ be-TARASK:
       reset: Ачысьціць пароль
       title: Ачысьціць пароль
     view: 
-      add image: Дадаць выяву
-      delete image: Выдаліць выяву
       description: Апісаньне
       edits: рэдагаваньні
       my settings: мае ўстаноўкі
index b176549b54e98b1cb8f4ba2e93dbd7d0f844c6e1..c3d9d59b86e1ab06095a3e3d7ed8acc3c79edef8 100644 (file)
@@ -282,7 +282,6 @@ be:
     donate: Падтрымайце OpenStreetMap {{link}} у фонд абнаўлення тэхнікі.
     donate_link_text: ахвяраваннем
     edit: Змяніць
-    edit_tooltip: Рэдагаваць карты
     export: Экспарт
     export_tooltip: Экспартаваць данныя карты
     gps_traces: GPS Трэкі
@@ -291,7 +290,6 @@ be:
     help_wiki_tooltip: Даведка і сайт Вікі
     help_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Main_Page?uselang=be
     history: Гісторыя
-    history_tooltip: Гісторыя змен
     home: дамоў
     home_tooltip: Паказаць маю хату
     inbox: уваходныя ({{count}})
@@ -327,10 +325,6 @@ be:
     view_tooltip: Паглядзець карты
     welcome_user: Вітаем, {{user_link}}
     welcome_user_link_tooltip: Ваша старонка карыстача
-  map: 
-    coordinates: "Каардынаты:"
-    edit: Змяніць
-    view: Карта
   message: 
     inbox: 
       date: Дата
@@ -593,9 +587,6 @@ be:
       heading: Пацвердзіць змену паштовага адрасу
       press confirm button: Націсніце кнопку, каб пацвердзіць ваш новы паштовы адрас.
       success: Ваш адрас пацверджаны, дзякуй за рэгістрацыю!
-    friend_map: 
-      nearby mapper: "Карыстальнік: [[nearby_user]]"
-      your location: Ваша месцазнаходжанне
     go_public: 
       flash success: Усе вашыя змены цяпер публічныя, і вам цяпер дазволена рэдагаванне
     login: 
@@ -639,6 +630,9 @@ be:
       body: Прабачце, карыстальнік {{user}} не знойдзены. Please check your spelling, Калі ласка, праверце свой правапіс, ці, магчыма, вам далі няправільную спасылку.
       heading: Карыстальнік {{user}} не існуе
       title: Няма такога карыстальніка
+    popup: 
+      nearby mapper: Карыстальнік
+      your location: Ваша месцазнаходжанне
     remove_friend: 
       not_a_friend: "{{name}} не з'яўляецца вашым сябрам."
       success: "{{name}} выдалены са спіса сяброў."
@@ -649,10 +643,7 @@ be:
       flash success: Дамашняе месцазнаходжанне паспяхова запісана
     view: 
       add as friend: дадаць у сябры
-      add image: Дадаць выяву
       ago: ({{time_in_words_ago}} таму)
-      change your settings: змяніць вашыя настаўленні
-      delete image: Выдаліць выяву
       description: Апісанне
       diary: дзённік
       edits: змены
@@ -666,13 +657,10 @@ be:
       nearby users: "Карыстальнікі непадалёку:"
       new diary entry: новы запіс у дзённіку
       no friends: Вы пакуль не дадалі нікога ў сябры.
-      no home location: Карыстальнік не паказаў сваё месцазнаходжанне.
       no nearby users: Пакуль няма карыстальнікаў, што адмецілі сваё месцазнаходжанне непадалёку.
       remove as friend: выдаліць з сяброў
       send message: даслаць паведамленне
       settings_link_text: настаўленняў
       traces: трэкі
-      upload an image: Зацягнуць выяву
-      user image heading: Выява карыстальніка
       user location: Месцазнаходжанне
       your friends: Вашыя сябры
index 47427fc54ecd900a7357ffc5ed0173c67f11cfbd..76fbb74c52ea3b35824d681b58b581ed4fadf650 100644 (file)
@@ -4,6 +4,11 @@
 # Author: DCLXVI
 bg: 
   browse: 
+    changeset_details: 
+      belongs_to: "Принадлежи към:"
+    common_details: 
+      changeset_comment: "Коментар:"
+      version: "Версия:"
     containing_relation: 
       entry: Релация {{relation_name}}
       entry_role: Релация {{relation_name}} (като {{relation_role}})
@@ -31,6 +36,10 @@ bg:
     paging_nav: 
       of: от
       showing_page: Показване на страница
+    relation: 
+      download_xml: Изтегляне на XML
+    relation_details: 
+      members: "Членове:"
     relation_history: 
       download: "{{download_xml_link}} или {{view_details_link}}"
       download_xml: Изтегляне на XML
@@ -39,6 +48,11 @@ bg:
       type: 
         node: Възел
         relation: Релация
+    start_rjs: 
+      details: Подробности
+      loading: Зареждане...
+      object_list: 
+        details: Подробности
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} или {{edit_link}}"
       download_xml: Изтегляне на XML
@@ -64,6 +78,9 @@ bg:
     view: 
       login: Влизане
       save_button: Съхраняване
+  export: 
+    start: 
+      licence: Лиценз
   message: 
     new: 
       send_button: Изпращане
@@ -73,3 +90,46 @@ bg:
       subject: Тема
       to: До
       unread_button: Отбелязване като непрочетено
+  notifier: 
+    diary_comment_notification: 
+      hi: Здравейте ((to_user)),
+    email_confirm: 
+      subject: "[OpenStreetMap] Потвърждаване на вашия адрес за е-поща"
+  oauth_clients: 
+    edit: 
+      submit: Редактиране
+    form: 
+      name: Име
+    new: 
+      submit: Регистриране
+  trace: 
+    edit: 
+      description: "Описание:"
+      edit: редактиране
+      filename: "Име на файл:"
+      save_button: Съхраняване на промените
+    no_such_user: 
+      title: Няма такъв потребител
+    trace: 
+      edit: редактиране
+      in: в
+    trace_form: 
+      help: Помощ
+    view: 
+      edit: редактиране
+      filename: "Име на файл:"
+  user: 
+    reset_password: 
+      password: "Парола:"
+  user_block: 
+    partial: 
+      creator_name: Създател
+      display_name: Блокиран потребител
+      edit: Редактиране
+      reason: Причина за блокиране
+      status: Статут
+  user_role: 
+    grant: 
+      confirm: Потвърждаване
+    revoke: 
+      confirm: Потвърждаване
index 2342aa4960a78e2298e282518db69717b0214422..af01e66d79b8e2c022ecc39edef860367839b151 100644 (file)
@@ -214,6 +214,12 @@ br:
       zoom_or_select: Zoumañ pe diuzañ un takad eus ar gartenn da welet
     tag_details: 
       tags: "Balizennoù :"
+    timeout: 
+      type: 
+        changeset: strollad kemmoù
+        node: skoulm
+        relation: darempred
+        way: hent
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} pe {{edit_link}}"
       download_xml: Pellgargañ XML
@@ -277,7 +283,7 @@ br:
       comment_link: Addisplegañ an enmoned-mañ
       confirm: Kadarnaat
       edit_link: Aozañ an enmoned-mañ
-      hide_link: Kuzhat an ebarzhadenn-mañ
+      hide_link: Kuzhat an elfenn-mañ
       posted_by: Postet gant {{link_user}} da {{created}} e {{language_link}}
       reply_link: Respont d'an enmoned-mañ
     edit: 
@@ -311,6 +317,10 @@ br:
       recent_entries: "Enmonedoù nevez en deizlevr :"
       title: Deizlevrioù an implijerien
       user_title: Deizlevr {{user}}
+    location: 
+      edit: Kemmañ
+      location: "Lec'hiadur :"
+      view: "Lec'hiadur :"
     new: 
       title: Enmoned nevez en deizlevr
     no_such_entry: 
@@ -326,7 +336,7 @@ br:
       login: Kevreañ
       login_to_leave_a_comment: "{{login_link}} evit lezel un addispleg"
       save_button: Enrollañ
-      title: Deizlevrioù an implijerien | {{user}}
+      title: Deizlevr {{user}} | {{title}}
       user_title: Deizlevr {{user}}
   export: 
     start: 
@@ -350,6 +360,8 @@ br:
       output: Er-maez
       paste_html: Pegañ HTML evit bezañ enkorfet en ul lec'hienn web
       scale: Skeuliad
+      too_large: 
+        heading: Zonenn re vras
       zoom: Zoum
     start_rjs: 
       add_marker: Ouzhpennañ ur merker d'ar gartenn
@@ -385,6 +397,7 @@ br:
       other: war-dro {{count}} km
       zero: nebeutoc'h eget 1 km
     results: 
+      more_results: Muioc'h a zisoc'hoù
       no_results: N'eus bet kavet respont ebet
     search: 
       title: 
@@ -574,7 +587,7 @@ br:
           icon: Arlun
           manor: Maner
           memorial: Kounlec'h
-          mine: Maen-gleuz
+          mine: Mengleuz
           monument: Monumant
           museum: Mirdi
           ruins: Dismantroù
@@ -600,7 +613,7 @@ br:
           landfill: Diskarg
           meadow: Prad
           military: Takad milourel
-          mine: Maen-gleuz
+          mine: Mengleuz
           mountain: Menez
           nature_reserve: Gwarezva natur
           park: Park
@@ -658,7 +671,7 @@ br:
           moor: Lanneier
           mud: Fank
           peak: Pikern
-          point: Beg
+          point: Poent
           reef: Karreg
           ridge: Kribenn
           river: Stêr
@@ -840,21 +853,23 @@ br:
         cycle_map: Kelc'hiad kartenn
         noname: AnvEbet
     site: 
+      edit_disabled_tooltip: Zoumañ da zegas kemmoù war ar gartenn
+      edit_tooltip: Kemmañ ar gartenn
       edit_zoom_alert: Ret eo deoc'h zoumañ evit aozañ ar gartenn
+      history_disabled_tooltip: Zoumañ evit gwelet ar c'hemmoù degaset d'an takad-mañ
+      history_tooltip: Gwelet ar c'hemmoù er zonenn-se
       history_zoom_alert: Ret eo deoc'h zoumañ evit gwelet istor an aozadennoù
   layouts: 
     donate: Skoazellit OpenStreetMap dre {{link}} d'an Hardware Upgrade Fund.
     donate_link_text: oc'h ober un donezon
     edit: Aozañ
-    edit_tooltip: Aozañ kartennoù
     export: Ezporzhiañ
     export_tooltip: Ezporzhiañ roadennoù ar gartenn
     gps_traces: Roudoù GPS
-    gps_traces_tooltip: Merañ ar roudoù
+    gps_traces_tooltip: Merañ ar roudoù GPS
     help_wiki: Skoazell &amp; Wiki
     help_wiki_tooltip: Skoazell &amp; lec'hienn Wiki evit ar raktres
     history: Istor
-    history_tooltip: Istor ar strollad kemmoù
     home: degemer
     home_tooltip: Mont da lec'h ar gêr
     inbox: boest resev ({{count}})
@@ -864,7 +879,8 @@ br:
       zero: N'eus kemennadenn anlennet ebet en ho poest resev
     intro_1: OpenStreetMap zo ur gartenn digoust eus ar bed a-bezh, a c'haller kemmañ. Graet eo gant tud eveldoc'h.
     intro_2: Gant OpenStreetMap e c'hallit gwelet, aozañ hag implijout roadennoù douaroniel eus forzh pelec'h er bed.
-    intro_3: Herberc'hiet eo OpenStreetMap gant {{ucl}} et {{bytemark}}.
+    intro_3: Herberc'hiet eo OpenStreetMap gant {{ucl}} et {{bytemark}}. Skoazellerien all eus ar raktres a vez rollet war ar {{partners}}.
+    intro_3_partners: wiki
     license: 
       title: OpenStreetMap data zo dindan an aotre-implijout Creative Commons Attribution-Share Alike 2.0
     log_in: kevreañ
@@ -889,13 +905,9 @@ br:
     user_diaries: Deizlevrioù an implijer
     user_diaries_tooltip: Gwelet deizlevrioù an implijerien
     view: Gwelet
-    view_tooltip: Gwelet ar c'hartennoù
+    view_tooltip: Gwelet ar gartenn
     welcome_user: Degemer mat, {{user_link}}
     welcome_user_link_tooltip: Ho pajenn implijer
-  map: 
-    coordinates: "Daveennoù :"
-    edit: Aozañ
-    view: Gwelet
   message: 
     delete: 
       deleted: Kemennadenn dilamet
@@ -926,10 +938,14 @@ br:
       send_message_to: Kas ur gemennadenn nevez da {{name}}
       subject: Danvez
       title: Kas ur gemennadenn
+    no_such_message: 
+      body: Ho tigarez, n'eus kemennadenn ebet gant an id-se.
+      heading: N'eus ket eus ar gemennadenn-se
+      title: N'eus ket eus ar gemennadenn-se
     no_such_user: 
-      body: Ho tigarez, n'eus implijer ebet na kemennadenn ebet gant an anv pe an id-se
-      heading: N'eus ket un implijer pe ur gemennadenn evel-se
-      title: N'eus ket un implijer pe ur gemennadenn evel-se
+      body: Ho tigarez, n'eus implijer ebet gant an anv.
+      heading: N'eus implijer ebet evel-se
+      title: N'eus implijer ebet evel-se
     outbox: 
       date: Deiziad
       inbox: boest resev
@@ -973,8 +989,9 @@ br:
       hopefully_you_1: Unan bennak (c'hwi moarvat) a garfe cheñch e chomlec'h postel da
       hopefully_you_2: "{{server_url}} da {{new_address}}."
     friend_notification: 
+      befriend_them: "Tu 'zo deoc'h e ouzhpennañ evel ur mignon amañ : {{befriendurl}}."
       had_added_you: "{{user}} en deus hoc'h ouzhpennet evel mignon war OpenStreetMap."
-      see_their_profile: Gallout a rit gwelet o frofil war {{userurl}} hag o ouzhpennañ evel mignoned ma karit.
+      see_their_profile: "Gallout a rit gwelet o frofil amañ : {{userurl}}."
       subject: "[OpenStreetMap] {{user}} en deus hoc'h ouzhpennet evel mignon"
     gpx_notification: 
       and_no_tags: ha balizenn ebet.
@@ -1200,6 +1217,9 @@ br:
     sidebar: 
       close: Serriñ
       search_results: Disoc'hoù an enklask
+  time: 
+    formats: 
+      friendly: "%e %B %Y da %H:%M"
   trace: 
     create: 
       trace_uploaded: Kaset eo bet ho restr GPX hag emañ en gortoz a vezañ ensoc'het en diaz roadennoù. C'hoarvezout a ra dindan un hanter-eurvezh peurvuiañ, ha kaset e vo ur postel deoc'h pa vo echu.
@@ -1271,6 +1291,10 @@ br:
       traces_waiting: Bez' hoc'h eus {{count}} roud a c'hortoz bezañ kaset. Gwell e vefe gortoz a-raok kas re all, evit chom hep stankañ al lostennad evit an implijerien all.
     trace_optionals: 
       tags: Balizennoù
+    trace_paging_nav: 
+      next: War-lerc'h &raquo;
+      previous: "&laquo; A-raok"
+      showing_page: O tiskouez ar bajenn {{page}}
     view: 
       delete_track: Dilemel ar roudenn-mañ
       description: "Deskrivadur :"
@@ -1297,14 +1321,21 @@ br:
       trackable: A c'haller treseal (rannet evel dizanv hepken, poent uzhiet gant deiziadoù)
   user: 
     account: 
+      current email address: "Chomlec'h postel a-vremañ :"
+      delete image: Dilemel ar skeudenn a-vremañ
       email never displayed publicly: (n'eo ket diskwelet d'an holl morse)
       flash update success: Hizivaet eo bet titouroù an implijer.
       flash update success confirm needed: Hizivaet eo bet titouroù an implijer. Gwiriit ho posteloù evit kadarnaat ho chomlec'h postel nevez.
       home location: "Lec'hiadur ar gêr :"
+      image: "Skeudenn :"
+      image size hint: (ar skeudennoù karrezenneg gant ar stumm 100×100 pixel a zo ar re wellañ)
+      keep image: Derc'hel ar skeudenn a-vremañ
       latitude: "Ledred :"
       longitude: "Hedred :"
       make edits public button: Lakaat ma holl aozadennoù da vezañ foran
       my settings: Ma arventennoù
+      new email address: "Chomlec'h postel nevez :"
+      new image: Ouzhpennañ ur skeudenn
       no home location: N'hoc'h eus ket ebarzhet lec'hiadur ho kêr.
       preferred languages: "Yezhoù gwellañ karet :"
       profile description: "Deskrivadur ar profil :"
@@ -1318,6 +1349,7 @@ br:
       public editing note: 
         heading: Kemm foran
         text: Evit poent ez eo ho embannoù dianv, dre-se ne c'hell den skrivañ deoc'h pe gwelet ho lec'hiadur. Evit diskouez ar pezh o peus embannet ha reiñ an tu d'an dud da vont e darempred ganeoc'h dre al lec'hienn, klikit war al liamm da heul. <b>Abaoe ar c'hemm davet ar stumm API 0.6, ne c'hell nemet an dud gant an doare "kemmoù foran" embann kartennoù</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">gouzout hiroc'h</a>).<ul><li>Ne vo ket roet ho chomlec'h e-mail d'an dud o kregiñ ganti.</li><li>An obererezh-se ne c'hell ket bezañ nullet hag an implijerien nevez a zo en doare "kemmoù foran" dre ziouer.</li></ul>
+      replace image: Erlec'hiañ ar skeudenn a-vremañ
       return to profile: Distreiñ d'ar profil
       save changes button: Enrollañ ar c'hemmoù
       title: Aozañ ar gont
@@ -1336,9 +1368,6 @@ br:
       success: Kadarnaet eo ho chomlec'h postel, trugarez evit bezañ en em enskrivet !
     filter: 
       not_an_administrator: Ret eo deoc'h bezañ merour evit kas an ober-mañ da benn.
-    friend_map: 
-      nearby mapper: "Kartennour en ardremez : [[nearby_user]]"
-      your location: Ho lec'hiadur
     go_public: 
       flash success: Foran eo hoc'h holl aozadennoù bremañ, ha n'oc'h ket aotreet da aozañ.
     login: 
@@ -1351,7 +1380,12 @@ br:
       lost password link: Kollet hoc'h eus ho ker-tremen ?
       password: "Ger-tremen :"
       please login: Kevreit, mar plij, pe {{create_user_link}}.
+      remember: "Derc'hel soñj ac'hanon :"
       title: Kevreañ
+    logout: 
+      heading: Kuitaat OpenStreetMap
+      logout_button: Kuitaat
+      title: Kuitaat
     lost_password: 
       email address: "Chomlec'h postel :"
       heading: Ankouaet hoc'h eus ho ker-tremen ?
@@ -1384,6 +1418,10 @@ br:
       body: Ho tigarez, n'eus implijer ebet en anv {{user}}. Gwiriit hag-eñ eo skrivet mat, pe marteze hoc'h eus kliket war ul liamm fall.
       heading: N'eus ket eus an implijer {{user}}
       title: N'eus ket un implijer evel-se
+    popup: 
+      friend: Mignon
+      nearby mapper: Kartennour en ardremez
+      your location: Ho lec'hiadur
     remove_friend: 
       not_a_friend: "{{name}} n'eo ket unan eus ho mignoned."
       success: "{{name}} zo bet lamet eus ho mignoned."
@@ -1400,17 +1438,14 @@ br:
     view: 
       activate_user: gweredekaat an implijer-mañ
       add as friend: Ouzhpennañ evel mignon
-      add image: Ouzhpennañ ur skeudenn
       ago: ({{time_in_words_ago}} zo)
       block_history: gwelet ar stankadurioù resevet
       blocks by me: stankadurioù graet ganin
       blocks on me: Stankadurioù evidon
-      change your settings: cheñch hoc'h arventennoù
       confirm: Kadarnaat
       create_block: stankañ an implijer-mañ
       created from: "Krouet diwar :"
       deactivate_user: diweredekaat an implijer-mañ
-      delete image: Dilemel ar skeudenn
       delete_user: dilemel an implijer-mañ
       description: Deskrivadur
       diary: deizlevr
@@ -1426,12 +1461,11 @@ br:
       my edits: ma aozadennoù
       my settings: ma arventennoù
       my traces: ma roudoù
-      my_oauth_details: Gwelet ma munudoù OAuth
-      nearby users: "Implijerien tost deoc'h :"
+      nearby users: "Implijerien all tost deoc'h :"
       new diary entry: enmoned nevez en deizlevr
       no friends: N'hoc'h eus ouzhpennet mignon ebet c'hoazh.
-      no home location: N'eus bet lakaet lec'hiadur ebet evit ar gêr.
-      no nearby users: N'eus implijer ebet en ardremez c'hoazh.
+      no nearby users: N'eus implijer ebet all en ardremez c'hoazh.
+      oauth settings: arventennoù oauth
       remove as friend: Lemel evel mignon
       role: 
         administrator: Ur merour eo an implijer-mañ
@@ -1446,8 +1480,6 @@ br:
       settings_link_text: arventennoù
       traces: roudoù
       unhide_user: Diguzhat an implijer-mañ
-      upload an image: Kas ur skeudenn
-      user image heading: Skeudenn implijer
       user location: Lec'hiadur an implijer
       your friends: Ho mignoned
   user_block: 
index 3342444e658db1d151f0d3ce309d5a8df0a6b225..d2c1f31b36fc250bf18f170c79c8963e4007cf65 100644 (file)
@@ -86,6 +86,7 @@ ca:
       title: Conjunt de canvis
     changeset_details: 
       belongs_to: "Pertany a:"
+      bounding_box: "Caixa contenidora:"
       box: caixa
       closed_at: "Tancat el:"
       created_at: "Creat el:"
@@ -238,30 +239,43 @@ ca:
       user: Usuari
     list: 
       description: Canvis recents
+      description_bbox: Conjunt de canvis dins de {{bbox}}
+      description_user_bbox: Conjunt de canvis de {{user}} dins de {{bbox}}
       heading: Conjunt de canvis
       heading_bbox: Conjunt de canvis
       heading_user: Conjunt de canvis
       heading_user_bbox: Conjunt de canvis
       title: Conjunt de canvis
+      title_bbox: Conjunt de canvis dins de {{bbox}}
+      title_user: Conjunt de canvis de {{user}}
+      title_user_bbox: Conjunt de canvis de {{user}} dins de {{bbox}}
   diary_entry: 
     diary_comment: 
       confirm: Confirmar
     diary_entry: 
       confirm: Confirmar
     edit: 
+      body: "Cos del missatge:"
       language: Idioma
       latitude: "Latitud:"
+      location: "Ubicació:"
       longitude: "Longitud:"
       save_button: Guardar
       subject: "Assumpte:"
+    location: 
+      edit: Edita
+      location: "Ubicació:"
+      view: Veure
     view: 
       login: Accés
       save_button: Desa
   export: 
     start: 
+      area_to_export: Àrea a exportar
       export_button: Exporta
       export_details: Les dades l'OpenStreetMap són publicades sota el termes de la <a href="http://creativecommons.org/licenses/by-sa/2.0/">llicència Creative Commons Attribution-ShareAlike 2.0</a>.
       format: Format
+      format_to_export: Format d'exportació
       image_size: Mida de la imatge
       latitude: "Lat:"
       licence: Llicència
@@ -269,15 +283,24 @@ ca:
       mapnik_image: Imatge de Mapnik
       max: màx
       options: Opcions
+      osm_xml_data: OpenStreetMap XML Data
+      osmarender_image: Imatge de Osmarender
       output: Sortida
       scale: Escala
+      too_large: 
+        heading: L'àrea és massa gran
       zoom: Zoom
     start_rjs: 
       export: Exporta
   geocoder: 
     description: 
+      title: 
+        geonames: Localització des de <a href="http://www.geonames.org/">GeoNames</a>
+        osm_nominatim: Localització des de <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
       types: 
         cities: Ciutats
+        places: Llocs
+        towns: Municipis
     description_osm_namefinder: 
       prefix: "{{distance}} {{direction}} de {{type}}"
     direction: 
@@ -311,6 +334,8 @@ ca:
           auditorium: Auditori
           bank: Banc
           bar: Bar
+          bench: Banc
+          bicycle_rental: Lloguer de bicicletes
           brothel: Prostíbul
           bureau_de_change: Oficina de canvi
           bus_station: Estació d'autobusos
@@ -318,10 +343,12 @@ ca:
           car_rental: Lloguer de cotxes
           casino: Casino
           cinema: Cinema
+          clinic: Clínica
           club: Club
           courthouse: Jutjat
           crematorium: Crematori
           dentist: Dentista
+          doctors: Metges
           drinking_water: Aigua potable
           driving_school: Autoescola
           embassy: Ambaixada
@@ -334,6 +361,7 @@ ca:
           hospital: Hospital
           hotel: Hotel
           ice_cream: Gelat
+          kindergarten: Jardí d'infància
           library: Biblioteca
           market: Mercat
           nightclub: Club nocturn
@@ -341,19 +369,25 @@ ca:
           parking: Pàrquing
           pharmacy: Farmàcia
           place_of_worship: Lloc de culte
+          police: Policia
+          post_box: Bustia
           post_office: Oficina de correus
+          preschool: Pre-Escola
           prison: Presó
+          pub: Pub
           public_building: Edifici públic
           recycling: Punt de reciclatge
           restaurant: Restaurant
           sauna: Sauna
           school: Escola
+          shelter: Refugi
           shop: Botiga
           social_club: Club social
           supermarket: Supermercat
           taxi: Taxi
           telephone: Telèfon públic
           theatre: Teatre
+          toilets: Banys
           townhall: Ajuntament
           university: Universitat
           wifi: Accés a internet WiFi
@@ -385,7 +419,9 @@ ca:
           emergency_access_point: Accés d'emergència
           footway: Sendera
           gate: Porta
+          path: Camí
           primary_link: Carretera principal
+          residential: Residencial
           road: Carretera
           secondary: Carretera secundària
           secondary_link: Carretera secundària
@@ -411,6 +447,7 @@ ca:
         landuse: 
           cemetery: Cementiri
           commercial: Zona comercial
+          construction: Construcció
           farm: Granja
           forest: Bosc
           industrial: Zona industrial
@@ -434,6 +471,7 @@ ca:
           sports_centre: Centre esportiu
           stadium: Estadi
           swimming_pool: Piscina
+          water_park: Parc aquàtic
         natural: 
           bay: Badia
           beach: Platja
@@ -443,9 +481,11 @@ ca:
           cliff: Cingle
           coastline: Litoral
           crater: Cràter
+          fell: Forest
           fjord: Fiord
           geyser: Guèiser
           glacier: Glacera
+          heath: Bruguerar
           hill: Pujol
           island: Illa
           moor: Amarratge
@@ -453,11 +493,13 @@ ca:
           peak: Pic
           point: Punt
           reef: Escull
+          ridge: Cresta
           river: Riu
           rock: Roca
           scree: Pedregar
           shoal: Banc
           spring: Deu
+          strait: Estret
           tree: Arbre
           valley: Vall
           volcano: Volcà
@@ -471,9 +513,13 @@ ca:
           country: País
           county: Comtat
           farm: Granja
+          hamlet: Aldea
           house: Casa
           houses: Cases
           island: Illa
+          islet: Illot
+          locality: Localitat
+          moor: Amarrador
           municipality: Municipi
           postcode: Codi postal
           region: Regió
@@ -482,6 +528,7 @@ ca:
           subdivision: Subdivisió
           suburb: Suburbi
           town: Poble
+          village: Aldea
         railway: 
           level_crossing: Pas a nivell
           monorail: Monorail
@@ -490,6 +537,7 @@ ca:
           tram_stop: Parada de tramvia
         shop: 
           bakery: Fleca
+          bicycle: Tenda de bicicletes
           books: Llibreria
           butcher: Carnisseria
           car_repair: Reparació d'automòbils
@@ -499,19 +547,25 @@ ca:
           hairdresser: Perruqueria o barberia
           jewelry: Joieria
           laundry: Bugaderia
+          mall: Centre comercial
           market: Mercat
           shoes: Sabateria
           supermarket: Supermercat
           travel_agency: Agència de viatges
         tourism: 
+          alpine_hut: Cabanya alpina
           artwork: Il·lustració
           attraction: Atracció
           bed_and_breakfast: Llist i esmorzar (B&B)
+          cabin: Cabanya
+          camp_site: Campament
+          caravan_site: Càmping per a caravanes
           chalet: Xalet
           guest_house: Alberg
           hostel: Hostal
           hotel: Hotel
           information: Informació
+          lean_to: Nau
           motel: Motel
           museum: Museu
           picnic_site: Àrea de pícnic
@@ -520,6 +574,7 @@ ca:
           viewpoint: Mirador
           zoo: Zoològic
         waterway: 
+          canal: Canal
           ditch: Séquia
           mooring: Amarradors
           rapids: Ràpids
@@ -539,21 +594,27 @@ ca:
     history: Historial
     home: Inici
     intro_1: L'OpenStreetMap és un mapa editable i lliure de tot el món. Està fet per gent com vós.
+    intro_3_partners: wiki
     logo: 
       alt_text: logotip de l'OpenStreetMap
+    logout: sortir
+    logout_tooltip: Sortir
+    make_a_donation: 
+      text: Fer una donació
     shop: Botiga
     user_diaries: DIaris de usuari
     view: Veure
     view_tooltip: Visualitza els mapes
     welcome_user: Benvingut/da, {{user_link}}
-  map: 
-    coordinates: "Coordenades:"
-    edit: Modifica
-    view: Visualitza
+    welcome_user_link_tooltip: La teva pàgina d'usuari
   message: 
+    delete: 
+      deleted: Missatge esborrat
     inbox: 
       date: Data
       from: De
+      outbox: sortida
+      subject: Assumpte
       title: Safata d'entrada
     message_summary: 
       delete_button: Suprimeix
@@ -562,19 +623,30 @@ ca:
       unread_button: Marca com a no llegit
     new: 
       back_to_inbox: Tornar a la safata d'entrada
+      body: Cos
+      message_sent: S'ha enviat el missatge
       send_button: Envia
       subject: Assumpte
+      title: Enviar missatge
+    no_such_message: 
+      heading: No existeix aquest missatge
+      title: No existeix aquest missatge
     outbox: 
       date: Data
+      inbox: Entrada
       my_inbox: El meu {{inbox_link}}
+      outbox: sortida
       subject: Assumpte
+      title: Sortida
       to: A
     read: 
       date: Data
       from: De
       reply_button: Respon
       subject: Assumpte
+      title: Llegir missatge
       to: Per a
+      unread_button: Marca com a no llegit
     sent_message_summary: 
       delete_button: Suprimeix
   notifier: 
@@ -606,11 +678,16 @@ ca:
     edit: 
       user_page_link: pàgina d'usuari
     index: 
+      license: 
+        license_name: Creative Commons Reconeixement-Compartir Igual 2.0
+        project_name: projecte OpenStreetMap
       permalink: Enllaç permanent
       shortlink: Enllaç curt
     key: 
       table: 
         entry: 
+          apron: 
+            1: terminal
           cemetery: Cementiri
           centre: Centre esportiu
           farm: Granja
@@ -632,6 +709,7 @@ ca:
           subway: Metro
           summit: 
             1: pic
+          track: Pista
           wood: Fusta
     search: 
       search: Cerca
@@ -661,6 +739,7 @@ ca:
       visibility: "Visibilitat:"
       visibility_help: Què vol dir això?
     list: 
+      public_traces: Traces GPS públiques
       tagged_with: " etiquetat amb {{tags}}"
       your_traces: Les teves traces GPS
     no_such_user: 
@@ -707,6 +786,7 @@ ca:
       edit: modificació
       edit_track: Edita aquesta traça
       filename: "Nom del fitxer:"
+      heading: Veient traça {{name}}
       map: mapa
       none: Ningú
       owner: "Propietari:"
@@ -714,18 +794,25 @@ ca:
       points: "Punts:"
       start_coordinates: "coordenada de inici:"
       tags: "Etiquetes:"
+      title: Veient traça {{name}}
       trace_not_found: No s'ha trobat la traça!
       uploaded: "Pujat el:"
       visibility: "Visibilitat:"
   user: 
     account: 
+      current email address: "Adreça de correu electrònic actual:"
       email never displayed publicly: (no es mostrarà mai en públic)
+      image: "Imatge:"
       latitude: "Latitud:"
       longitude: "Longitud:"
       my settings: La meva configuració
+      new image: Afegir una imatge
       preferred languages: "Llengües preferents:"
+      profile description: "Descripció del perfil:"
       public editing: 
+        enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
         enabled link text: què és això?
+        heading: "Edició pública:"
       public editing note: 
         heading: Edició pública
       return to profile: Torna al perfil
@@ -735,8 +822,6 @@ ca:
       button: Confirmar
     confirm_email: 
       button: Confirmar
-    friend_map: 
-      your location: La teva situació
     go_public: 
       flash success: Ara totes les teves edicions són públiques i ja estàs autoritzat per a editar
     login: 
@@ -748,6 +833,10 @@ ca:
       password: "Contrasenya:"
       please login: Si us plau, inicieu la sessió o {{create_user_link}}.
       title: Accés
+    logout: 
+      heading: Sortir d'OpenStreetMap
+      logout_button: Sortir
+      title: Sortir
     lost_password: 
       email address: "Adreça de correu electrònic:"
       heading: Heu oblidat la contrasenya?
@@ -757,10 +846,16 @@ ca:
       success: "{{name}} ara és el vostre amic."
     new: 
       confirm password: "Confirmeu la contrasenya:"
+      display name: "Nom en pantalla:"
       email address: "Adreça de correu:"
       heading: Crea un compte d'usuari
       password: "Contrasenya:"
       signup: Registre
+    no_such_user: 
+      title: No existeix aquest usuari
+    popup: 
+      friend: Amic
+      your location: La teva situació
     reset_password: 
       confirm password: "Confirmeu la contrasenya:"
       flash changed: S'ha canviat la contrasenya.
@@ -769,28 +864,35 @@ ca:
       reset: Restablir contrasenya
       title: Restablir la contrasenya
     view: 
-      add image: Afegeix una imatge
+      activate_user: activa aquest usuari
+      add as friend: afegir com a amic
+      ago: (fa {{time_in_words_ago}})
       confirm: Confirmeu
       create_block: boca aquest usuari
+      created from: "Creat a partir de:"
       deactivate_user: desactiva aquest usuari
-      delete image: Suprimeix la imatge
       delete_user: Suprimeix aquest usuari
       description: Descripció
       diary: diari
       edits: modificacions
       email address: "Adreça de correu:"
       hide_user: amagar aquest usuari
+      km away: "{{count}}km de distància"
+      m away: "{{count}}m de distància"
+      mapper since: "Mapejant des de:"
       my diary: el meu diari
       my edits: les meves edicions
+      my settings: les meves preferències
       my traces: les meves traces
-      my_oauth_details: Veure els meus detalls de OAuth
-      nearby users: "Usuaris propers:"
+      nearby users: Altres usuaris propers
+      oauth settings: configuració OAuth
       role: 
         administrator: Aquest usuari és administrador
         moderator: Aquest usuari és moderador
+      send message: enviar missatge
       settings_link_text: preferències
       traces: traces
-      user image heading: Imatge d'usuari
+      user location: Ubicació de l'usuari
       your friends: Els vostres amics
   user_block: 
     partial: 
index a07646b726bd2334a9031636a72e1a7006e9c8e7..3cf94478340c88dbb8e00f52c4d95b1c8f4aaa42 100644 (file)
@@ -4,6 +4,7 @@
 # Author: Bilbo
 # Author: Masox
 # Author: Mormegil
+# Author: Mr. Richard Bolla
 cs: 
   activerecord: 
     attributes: 
@@ -187,6 +188,7 @@ cs:
         type: 
           node: Uzel
           way: Cesta
+      private_user: anonym
       show_history: Zobrazit historii
       unable_to_load_size: "Nelze načíst: Rozměr [[bbox_size]] je příliš velký (maximum je {{max_bbox_size}})"
       wait: Čekejte...
@@ -227,7 +229,9 @@ cs:
       still_editing: (stále se upravuje)
       view_changeset_details: Zobrazit detaily sady změn
     changeset_paging_nav: 
-      showing_page: Zobrazuji stranu
+      next: Následující &raquo;
+      previous: "&laquo; Předchozí"
+      showing_page: Zobrazuji stranu {{page}}
     changesets: 
       area: Oblast
       comment: Komentář
@@ -277,7 +281,7 @@ cs:
       login: Přihlaste se
       login_to_leave_a_comment: "{{login_link}} k zanechání komentáře"
       save_button: Uložit
-      title: Deníčky uživatelů | {{user}}
+      title: Deníček uživatele {{user}} | {{title}}
   export: 
     start: 
       add_marker: Přidat do mapy značku
@@ -295,9 +299,13 @@ cs:
       mapnik_image: Obrázek z Mapniku
       max: max.
       options: Nastavení
+      osmarender_image: Obrázek z Osmarenderu
       output: Výstup
       paste_html: Ke vložení na stránku použijte toto HTML
       scale: Měřítko
+      too_large: 
+        body: Tato oblast je pro export do XML formátu OpenStreetMap příliš velká. Přejděte na větší měřítko nebo zvolte menší oblast.
+        heading: Příliš velká oblast
     start_rjs: 
       add_marker: Přidat do mapy značku
       change_marker: Změnit umístění značky
@@ -346,10 +354,34 @@ cs:
       suffix_place: ", {{distance}} na {{direction}} od {{placename}}"
     search_osm_nominatim: 
       prefix: 
+        amenity: 
+          cinema: Kino
+          parking: Parkoviště
+          post_office: Pošta
+          toilets: Toalety
+        building: 
+          train_station: Železniční stanice
+        highway: 
+          bus_stop: Autobusová zastávka
+          gate: Brána
+          secondary: Silnice II. třídy
+          steps: Schody
+        historic: 
+          museum: Muzeum
         leisure: 
           garden: Zahrada
           miniature_golf: Minigolf
+          nature_reserve: Přírodní rezervace
           park: Park
+          pitch: Hřiště
+          stadium: Stadion
+        natural: 
+          beach: Pláž
+          glacier: Ledovec
+          hill: Kopec
+          island: Ostrov
+          tree: Strom
+          valley: Údolí
         place: 
           airport: Letiště
           city: Velkoměsto
@@ -365,8 +397,14 @@ cs:
           region: Region
           sea: Moře
           state: Stát
+          suburb: Městská část
           town: Město
           village: Vesnice
+        railway: 
+          halt: Železniční zastávka
+          subway: Stanice metra
+        shop: 
+          hairdresser: Kadeřnictví
         tourism: 
           alpine_hut: Vysokohorská chata
           attraction: Turistická atrakce
@@ -388,17 +426,15 @@ cs:
     map: 
       base: 
         cycle_map: Cyklomapa
-        noname: Bezejmenné ulice
+        noname: Nepojmenované ulice
   layouts: 
     edit: Upravit
-    edit_tooltip: Upravovat mapy
     export: Export
     export_tooltip: Exportovat mapová data
     help_wiki: Nápověda &amp; wiki
     help_wiki_tooltip: Server s nápovědou a wiki k tomuto projektu
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Cs:Main_Page?uselang=cs
     history: Historie
-    history_tooltip: Historie změn
     home: domů
     home_tooltip: Přejít na polohu domova
     inbox: zprávy ({{count}})
@@ -409,8 +445,9 @@ cs:
       zero: Nemáte žádné nepřečtené zprávy
     intro_1: OpenStreetMap je svobodná editovatelná mapa celého světa. Tvoří ji lidé jako vy.
     intro_2: OpenStreetMap vám umožňuje společně si prohlížet, upravovat a používat geografická data z libovolného místa na Zemi.
-    intro_3: Hosting OpenStreetMap laskavě poskytují {{ucl}} a {{bytemark}}.
+    intro_3: Hosting OpenStreetMap laskavě poskytují {{ucl}} a {{bytemark}}. Další partneři projektu jsou uvedeni na {{partners}}.
     intro_3_bytemark: bytemark
+    intro_3_partners: wiki
     intro_3_ucl: středisko VR UCL
     license: 
       title: Data OpenStreetMap jsou k dispozici pod licencí Creative Commons Uveďte autora-Zachovejte licenci 2.0 Generic
@@ -431,16 +468,13 @@ cs:
     shop_tooltip: Obchod se zbožím s logem OpenStreetMap
     sign_up: zaregistrovat se
     sign_up_tooltip: Vytvořit si uživatelský účet pro editaci
+    tag_line: Otevřená wiki-mapa světa
     user_diaries: Deníčky
     user_diaries_tooltip: Zobrazit deníčky uživatelů
     view: Zobrazit
-    view_tooltip: Zobrazit mapy
+    view_tooltip: Zobrazit mapu
     welcome_user: Vítejte, {{user_link}}
     welcome_user_link_tooltip: Vaše uživatelská stránka
-  map: 
-    coordinates: "Souřadnice:"
-    edit: Upravit
-    view: Zobrazit
   message: 
     delete: 
       deleted: Zpráva smazána
@@ -493,6 +527,8 @@ cs:
       the_wiki_url: http://wiki.openstreetmap.org/wiki/Cs:Beginners_Guide?uselang=cs
       wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=Cs:Main_Page&uselang=cs
   site: 
+    edit: 
+      flash_player_required: Pokud chcete používat Potlatch, flashový editor OpenStreetMap, potřebujete přehrávač Flashe. Můžete si <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">stáhnout Flash Player z Adobe.com</a>. Pro editaci OpenStreetMap existuje <a href="http://wiki.openstreetmap.org/wiki/Editing">mnoho dalších možností</a>.
     index: 
       js_1: Buď používáte prohlížeč bez podpory JavaScriptu, nebo máte JavaScript zakázaný.
       license: 
@@ -502,8 +538,8 @@ cs:
       permalink: Trvalý odkaz
       shortlink: Krátký odkaz
     key: 
-      map_key: Mapový klíč
-      map_key_tooltip: Mapový klíč pro vykreslení mapnikem na této úrovni přiblížení
+      map_key: Legenda
+      map_key_tooltip: Legenda pro vykreslení mapnikem na této úrovni přiblížení
       table: 
         entry: 
           admin: Administrativní hranice
@@ -560,13 +596,13 @@ cs:
             - Vrchol
             - hora
           tourist: Turistická atrakce
-          track: Lesní či polní cesta
+          track: Lesní a polní cesta
           tram: 
             - Rychlodráha
             - tramvaj
           trunk: Významná silnice
           tunnel: Čárkované obrysy = tunel
-          unclassified: Silnice bez klasifikace
+          unclassified: Silnice
           unsurfaced: Nezpevněná cesta
         heading: Legenda pro z{{zoom_level}}
     search: 
@@ -600,9 +636,12 @@ cs:
     list: 
       your_traces: Vaše GPS záznamy
     no_such_user: 
+      body: Lituji, ale uživatel {{user}} neexistuje. Zkontrolujte překlepy nebo jste možná klikli na chybný odkaz.
       heading: Uživatel {{user}} neexistuje
+      title: Uživatel nenalezen
     trace: 
       ago: před {{time_in_words_ago}}
+      by: od
       count_points: "{{count}} bodů"
       edit: upravit
       edit_map: Upravit mapu
@@ -626,6 +665,8 @@ cs:
     trace_optionals: 
       tags: Tagy
     trace_paging_nav: 
+      next: Následující &raquo;
+      previous: "&laquo; Předchozí"
       showing_page: Zobrazuji stranu {{page}}
     view: 
       description: "Popis:"
@@ -645,12 +686,17 @@ cs:
       trackable: Trackable (dostupný jedině jako anonymní, uspořádané body s časovými značkami)
   user: 
     account: 
+      current email address: "Stávající e-mailová adresa:"
       email never displayed publicly: (nikde se veřejně nezobrazuje)
       home location: "Poloha domova:"
+      image: "Obrázek:"
+      image size hint: (nejlépe fungují čtvercové obrázky velikosti nejméně 100×100)
       latitude: "Šířka:"
       longitude: "Délka:"
       make edits public button: Zvěřejnit všechny moje úpravy
       my settings: Moje nastavení
+      new email address: "Nová e-mailová adresa:"
+      new image: Přidat obrázek
       no home location: Nezadali jste polohu svého bydliště.
       preferred languages: "Preferované jazyky:"
       profile description: "Popis profilu:"
@@ -670,9 +716,6 @@ cs:
       button: Potvrdit
       failure: Tento kód byl už pro potvrzení e-mailové adresy použit.
       success: Vaše e-mailová adresa byla potvrzena, děkujeme za registraci!
-    friend_map: 
-      nearby mapper: "Nedaleký uživatel: [[nearby_user]]"
-      your location: Vaše poloha
     login: 
       account not active: Je mi líto, ale váš uživatelský účet dosud nebyl aktivován.<br />Svůj účet si můžete aktivovat kliknutím na odkaz v potvrzovacím e-mailu.
       auth failure: Je mi líto, ale s uvedenými údaji se nemůžete přihlásit.
@@ -682,8 +725,12 @@ cs:
       login_button: Přihlásit
       lost password link: Ztratili jste heslo?
       password: "Heslo:"
-      please login: Prosím přihlašte se, nebo si můžete {{create_user_link}}.
+      please login: Prosím přihlaste se, nebo si můžete {{create_user_link}}.
+      remember: "Zapamatuj si mě:"
       title: Přihlásit se
+    logout: 
+      logout_button: Odhlásit se
+      title: Odhlásit se
     lost_password: 
       email address: "E-mailová adresa:"
       heading: Zapomněli jste heslo?
@@ -714,6 +761,9 @@ cs:
       body: Je mi líto, ale uživatel {{user}} neexistuje. Zkontrolujte překlepy nebo jste možná klikli na chybný odkaz.
       heading: Uživatel {{user}} neexistuje
       title: Uživatel nenalezen
+    popup: 
+      nearby mapper: Nedaleký uživatel
+      your location: Vaše poloha
     remove_friend: 
       not_a_friend: "{{name}} není mezi vašimi přáteli."
       success: "{{name}} byl odstraněn z vašich přátel."
@@ -729,12 +779,9 @@ cs:
       flash success: Pozice domova byla úspěšně uložena
     view: 
       add as friend: přidat jako přítele
-      add image: Přidat obrázek
       ago: (před {{time_in_words_ago}})
       blocks on me: moje zablokování
-      change your settings: změnit vaše nastavení
       confirm: Potvrdit
-      delete image: Smazat obrázek
       description: Popis
       diary: deníček
       edits: editace
@@ -746,15 +793,15 @@ cs:
       my diary: můj deníček
       my edits: moje editace
       my settings: moje nastavení
-      nearby users: "Uživatelé poblíž:"
+      nearby users: Další uživatelé poblíž
       new diary entry: nový záznam do deníčku
       no friends: Zatím jste nepřidali žádné přátele.
-      no home location: Pozice domova nebyla nastavena.
+      no nearby users: Nejsou známi žádní uživatelé, kteří by uvedli domov blízko vás.
+      oauth settings: nastavení oauth
       remove as friend: odstranit jako přítele
       send message: poslat zprávu
       settings_link_text: nastavení
-      upload an image: Nahrát obrázek
-      user image heading: Obrázek uživatele
+      traces: záznamy
       user location: Pozice uživatele
       your friends: Vaši přátelé
   user_role: 
index e18d0c3c4e604a5bc525a40691a9380ab4d8072d..e7324d736f6681090365aafed0dd5c80e77b6d5e 100644 (file)
@@ -215,6 +215,7 @@ da:
       no_edits: (ingen redigeringer)
       show_area_box: vis boks for område
       still_editing: (redigerer stadig)
+      view_changeset_details: Vis detaljer for ændringssæt
     changeset_paging_nav: 
       next: Næste &raquo;
       previous: "&laquo; Forrige"
@@ -264,9 +265,12 @@ da:
       manually_select: Vælg et andet område manuelt
       mapnik_image: Mapnik billede
       max: maks
+      options: Indstillinger
       osm_xml_data: OpenStreetMap XML-data
       osmarender_image: Osmarender billede
       scale: Skala
+      too_large: 
+        heading: Område for stort
       zoom: Zoom
     start_rjs: 
       add_marker: Tilføj en markør på kortet
@@ -318,7 +322,6 @@ da:
     donate: Støt OpenStreetMap med en {{link}} til Hardware-upgradefonden.
     donate_link_text: donation
     edit: Redigér
-    edit_tooltip: Redigér kortet
     export: Eksporter
     export_tooltip: Eksporter kortdata
     gps_traces: GPS-spor
@@ -326,7 +329,6 @@ da:
     help_wiki_tooltip: Hjælp- og Wiki-side for projektet
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Da:Main_Page?uselang=da
     history: Historik
-    history_tooltip: Historik af ændringssæt
     home: hjem
     home_tooltip: Gå til hjemmeposition
     inbox: indbakke ({{count}})
@@ -361,10 +363,6 @@ da:
     view_tooltip: Vis kortere
     welcome_user: Velkommen, {{user_link}}
     welcome_user_link_tooltip: Din brugerside
-  map: 
-    coordinates: "Koordinater:"
-    edit: Redigér
-    view: Kort
   message: 
     delete: 
       deleted: Besked slettet
@@ -557,8 +555,6 @@ da:
       heading: Bekræft ændring af e-mail adresse
     filter: 
       not_an_administrator: Du skal være administrator for at gøre dette.
-    friend_map: 
-      your location: Din position
     login: 
       account not active: Din konto er ikke aktiveret endnu.<br />Klik på linket i bekræftelsemailen for at aktivere din konto.
       auth failure: Kunne ikke logge på med disse oplysninger.
@@ -593,6 +589,8 @@ da:
       body: Der findes desværre ingen bruger ved navn {{user}}. Tjek venligst stavningen, ellers kan linket du trykkede på være forkert.
       heading: Brugeren {{user}} findes ikke
       title: Ingen sådan bruger
+    popup: 
+      your location: Din position
     reset_password: 
       confirm password: "Bekræft adgangskode:"
       flash changed: Din adgangskode er ændret.
@@ -604,11 +602,9 @@ da:
       flash success: Hjemmeposition gemt
     view: 
       add as friend: tilføj som ven
-      add image: Tilføj billede
       ago: ({{time_in_words_ago}} siden)
       confirm: Bekræft
       deactivate_user: deaktiver denne bruger
-      delete image: Slet billede
       delete_user: slet denne bruger
       description: Beskrivelse
       diary: dagbog
@@ -623,7 +619,6 @@ da:
       my traces: mine GPS-spor
       nearby users: "Brugere nær dig:"
       new diary entry: ny dagbogsoptegnelse
-      no home location: Ingen hjemmeposition sat.
       remove as friend: fjern som ven
       role: 
         administrator: Denne bruger er en administrator
@@ -631,8 +626,6 @@ da:
       settings_link_text: indstillinger
       traces: GPS-spor
       unhide_user: stop med at skjule denne bruger
-      upload an image: Send et billede
-      user image heading: Brugerbillede
       user location: Brugereposition
       your friends: Dine venner
   user_block: 
index 3ee00a759ccc1b405f642d76f186a4a8cfb5eeed..7cbdb2c719eb337c55deaaf2f9da887685b7c77e 100644 (file)
@@ -108,7 +108,7 @@ de:
       created_at: "Erstellt am:"
       has_nodes: 
         one: "Enthält folgenden Knoten:"
-        other: "Enhält folgende {{count}} Knoten:"
+        other: "Enthält folgende {{count}} Knoten:"
       has_relations: 
         one: "Enthält folgende Relation:"
         other: "Enthält folgende {{count}} Relationen:"
@@ -330,6 +330,10 @@ de:
       recent_entries: "Neuste Einträge:"
       title: Blogs
       user_title: "{{user}}s Blog"
+    location: 
+      edit: Bearbeiten
+      location: "Ort:"
+      view: Anzeigen
     new: 
       title: Selbst Bloggen
     no_such_entry: 
@@ -345,7 +349,7 @@ de:
       login: Anmelden
       login_to_leave_a_comment: "{{login_link}}, um einen Kommentar zu schreiben"
       save_button: Speichern
-      title: Benutzer-Blogs | {{user}}
+      title: "{{user}}s Blog | {{title}}"
       user_title: "{{user}}s Blog"
   export: 
     start: 
@@ -369,6 +373,9 @@ de:
       output: Ausgabe
       paste_html: HTML-Code kopieren, um ihn in eine Website einzufügen.
       scale: Maßstab
+      too_large: 
+        body: Dieser Bereich ist zu groß, um als OpenStreetMap XML-Daten exportiert werden. Bitte heranzoomen oder einen kleineren Bereich wählen.
+        heading: Bereich zu groß
       zoom: Zoom
     start_rjs: 
       add_marker: Markierung zur Karte hinzufügen
@@ -860,22 +867,24 @@ de:
         cycle_map: Radfahrerkarte
         noname: Straßen ohne Name
     site: 
+      edit_disabled_tooltip: Reinzoomen zum Editieren der Karte
+      edit_tooltip: Karte bearbeiten
       edit_zoom_alert: Du musst näher heranzoomen, um die Karte zu bearbeiten
+      history_disabled_tooltip: Reinzoomen um Änderungen für diesen Bereich anzuzeigen
+      history_tooltip: Änderungen für diesen Bereich anzeigen
       history_zoom_alert: Du musst näher heranzoomen, um die Chronik zu sehen
   layouts: 
     donate: Unterstütze die OpenStreetMap-Hardwarespendenaktion durch eine eigene {{link}}.
     donate_link_text: Spende
     edit: Bearbeiten
-    edit_tooltip: Karte bearbeiten
     export: Export
     export_tooltip: Kartendaten exportieren
     gps_traces: GPS-Tracks
-    gps_traces_tooltip: GPS-Tracks anzeigen und verwalten
+    gps_traces_tooltip: GPS-Tracks verwalten
     help_wiki: Hilfe & Wiki
     help_wiki_tooltip: Hilfe &amp; Wiki des Projekts
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de
     history: Chronik
-    history_tooltip: Änderungen der Kartendaten anzeigen
     home: Standort
     home_tooltip: Eigener Standort
     inbox: Posteingang ({{count}})
@@ -885,7 +894,8 @@ de:
       zero: Dein Posteingang enthält keine ungelesenen Nachrichten
     intro_1: OpenStreetMap ist eine freie, editierbare Karte der gesamten Welt, die von Menschen wie dir erstellt wird.
     intro_2: OpenStreetMap ermöglicht es geographische Daten gemeinschaftlich von überall auf der Welt anzuschauen und zu bearbeiten.
-    intro_3: Das Hosting der OpenStreetMap-Server wird freundlicherweise von {{ucl}} und {{bytemark}} unterstützt.
+    intro_3: Das Hosting der OpenStreetMap-Server wird freundlicherweise von {{ucl}} und {{bytemark}} unterstützt. Weitere Unterstützer sind im {{partners}} aufgelistet.
+    intro_3_partners: Wiki
     license: 
       title: Daten von OpenStreetMap stehen unter der „Creative Commons Attribution-Share Alike 2.0 Generic“-Lizenz
     log_in: Anmelden
@@ -910,13 +920,9 @@ de:
     user_diaries: Blogs
     user_diaries_tooltip: Benutzer-Blogs lesen
     view: Karte
-    view_tooltip: Karte betrachten
+    view_tooltip: Karte anzeigen
     welcome_user: Willkommen, {{user_link}}
     welcome_user_link_tooltip: Eigene Benutzerseite
-  map: 
-    coordinates: "Koordinaten:"
-    edit: Bearbeiten
-    view: Karte
   message: 
     delete: 
       deleted: Nachricht gelöscht
@@ -947,10 +953,14 @@ de:
       send_message_to: Eine Nachricht an {{name}} senden
       subject: Betreff
       title: Nachricht senden
+    no_such_message: 
+      body: Leider gibt es keine Nachricht mit dieser ID.
+      heading: Nachricht nicht vorhanden
+      title: Nachricht nicht vorhanden
     no_such_user: 
-      body: Wir konnten leider keinen entsprechenden Benutzer oder eine entsprechende Nachricht finden. Du hast dich möglicherweise vertippt oder du bist einem ungültigem Link gefolgt.
-      heading: Benutzer oder Nachricht nicht gefunden
-      title: Benutzer oder Nachricht nicht gefunden
+      body: Leider gibt es kein Benutzer mit diesem Namen.
+      heading: Benutzer nicht gefunden
+      title: Benutzer nicht gefunden
     outbox: 
       date: Datum
       inbox: Posteingang
@@ -974,6 +984,9 @@ de:
       title: Nachricht lesen
       to: An
       unread_button: Als ungelesen markieren
+      wrong_user: Sie sind angemeldet als '{{user}}', aber die Nachricht die Sie lesen wollten wurde an einen anderen Benutzer geschickt. Bitte melden Sie sich zum Lesen mit dem korrekten Benutzer an.
+    reply: 
+      wrong_user: Sie sind angemeldet als '{{user}}', aber die Nachricht auf die Sie antworten wollten wurde an einen anderen Benutzer geschickt. Bitte melden Sie sich zum Beantworten mit dem korrekten Benutzer an.
     sent_message_summary: 
       delete_button: Löschen
   notifier: 
@@ -994,8 +1007,9 @@ de:
       hopefully_you_1: Jemand (hoffentlich du) möchte seine E-Mail-Adresse bei
       hopefully_you_2: "{{server_url}} zu {{new_address}} ändern."
     friend_notification: 
+      befriend_them: Du kannst sie / ihn unter {{befriendurl}} ebenfalls als Freund hinzufügen.
       had_added_you: "{{user}} hat dich als Freund hinzugefügt."
-      see_their_profile: Sein Profil ist hier {{userurl}} zu finden, dort kannst du ihn ebenfalls als Freund hinzufügen.
+      see_their_profile: Du kannst sein / ihr Profil unter {{userurl}} ansehen.
       subject: "[OpenStreetMap] {{user}} hat dich als Freund hinzugefügt"
     gpx_notification: 
       and_no_tags: und ohne Tags.
@@ -1101,7 +1115,7 @@ de:
       no_apps: Wenn du mit einer Anwendung gerne den {{oauth}}-Standard verwenden würdest, musst du sie hier registrieren.
       register_new: Anwendung registrieren
       registered_apps: "Du hast die folgenden Client-Anwendungen registriert:"
-      revoke: Wiederrufen!
+      revoke: Widerrufen!
       title: Meine OAuth Details
     new: 
       submit: Registrieren
@@ -1223,6 +1237,9 @@ de:
     sidebar: 
       close: Schließen
       search_results: Suchergebnisse
+  time: 
+    formats: 
+      friendly: "%e %B %Y um %H:%M"
   trace: 
     create: 
       trace_uploaded: Deine GPX-Datei wurde hochgeladen und wartet auf die Aufnahme in die Datenbank. Dies geschieht normalerweise innerhalb einer halben Stunde, anschließend wird dir eine Bestätigungs-E-Mail gesendet.
@@ -1325,14 +1342,21 @@ de:
       trackable: Track (wird in der Trackliste als anonyme, sortierte Punktfolge mit Zeitstempel angezeigt)
   user: 
     account: 
+      current email address: "Aktuelle E-Mail-Adresse:"
+      delete image: Aktuelles Bild löschen
       email never displayed publicly: (nicht öffentlich sichtbar)
       flash update success: Benutzerinformationen erfolgreich aktualisiert.
       flash update success confirm needed: Benutzerinformationen erfolgreich aktualisiert. Du erhältst eine E-Mail, um deine neue E-Mail-Adresse zu bestätigen.
       home location: "Standort:"
+      image: "Bild:"
+      image size hint: (quadratische Bilder mit zumindes 100x100 funktionieren am Besten)
+      keep image: Aktuelles Bild beibehalten
       latitude: "Breitengrad:"
       longitude: "Längengrad:"
       make edits public button: Alle meine Bearbeitungen öffentlich machen
       my settings: Eigene Einstellungen
+      new email address: "Neue E-Mail Adresse:"
+      new image: Bild einfügen
       no home location: Du hast noch keinen Standort angegeben.
       preferred languages: "Bevorzugte Sprachen:"
       profile description: "Profil-Beschreibung:"
@@ -1346,6 +1370,7 @@ de:
       public editing note: 
         heading: Öffentliches Bearbeiten
         text: Im Moment sind deine Beiträge anonym und man kann dir weder Nachrichten senden noch deinen Wohnort sehen. Um sichtbar zu machen, welche Arbeit von dir stammt, und um kontaktierbar zu werden, klicke auf den Button unten. <b>Seit Version 0.6 der API aktiv ist, können anonyme Benutzer die Karte nicht mehr bearbeiten</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">warum?</a>).<ul><li>Deine E-Mail-Adresse wird bei Verlassen des anonymen Statuses nicht veröffentlicht.</li><li>Die Aktion kann nicht rückgängig gemacht werden. Für neu registrierte Benutzer besteht die Möglichkeit des anonymen Accounts nicht mehr.</li></ul>
+      replace image: Aktuelles Bild austauschen
       return to profile: Zurück zum Profil
       save changes button: Speichere Änderungen
       title: Benutzerkonto bearbeiten
@@ -1364,9 +1389,6 @@ de:
       success: Deine E-Mail-Adresse wurde bestätigt, danke fürs Registrieren!
     filter: 
       not_an_administrator: Du must ein Administrator sein um das machen zu dürfen
-    friend_map: 
-      nearby mapper: "Mapper in der Nähe: [[nearby_user]]"
-      your location: Eigener Standort
     go_public: 
       flash success: Alle deine Bearbeitungen sind nun öffentlich und du kannst nun die Kartendaten bearbeiten.
     login: 
@@ -1379,7 +1401,12 @@ de:
       lost password link: Passwort vergessen?
       password: "Passwort:"
       please login: Bitte melde dich an oder {{create_user_link}}.
+      remember: "Anmeldedaten merken:"
       title: Anmelden
+    logout: 
+      heading: Von OpenStreetMap abmelden
+      logout_button: Abmelden
+      title: Abmelden
     lost_password: 
       email address: "E-Mail-Adresse:"
       heading: Passwort vergessen?
@@ -1412,6 +1439,10 @@ de:
       body: Es gibt leider keinen Benutzer mit dem Namen {{user}}. Bitte überprüfe deine Schreibweise oder der Link war beschädigt.
       heading: Der Benutzer {{user}} existiert nicht
       title: Benutzer nicht gefunden
+    popup: 
+      friend: Freund
+      nearby mapper: Mapper in der Nähe
+      your location: Eigener Standort
     remove_friend: 
       not_a_friend: "{{name}} ist nicht dein Freund."
       success: "{{name}} wurde als Freund entfernt."
@@ -1428,17 +1459,14 @@ de:
     view: 
       activate_user: Benutzer aktivieren
       add as friend: Als Freund hinzufügen
-      add image: Ein Bild hinzufügen
       ago: ({{time_in_words_ago}} her)
-      block_history: Blockierungen ansehen
+      block_history: Erhaltene Sperren anzeigen
       blocks by me: Selbst vergebene Sperren
       blocks on me: Erhaltene Sperren
-      change your settings: Ändere deine Einstellungen
       confirm: Bestätigen
       create_block: Diesen Nutzer sperren
       created from: "erstellt aus:"
       deactivate_user: Benutzer deaktivieren
-      delete image: Bild löschen
       delete_user: Benutzer löschen
       description: Beschreibung
       diary: Blog
@@ -1454,12 +1482,11 @@ de:
       my edits: Eigene Bearbeitungen
       my settings: Eigene Einstellungen
       my traces: Eigene Tracks
-      my_oauth_details: Meine OAuth-Details
-      nearby users: "Benutzer in der Nähe:"
+      nearby users: Anwender in der Nähe
       new diary entry: Neuer Blogeintrag
       no friends: Du hast bis jetzt keine Freunde hinzugefügt.
-      no home location: Es wurde kein Standort angegeben.
       no nearby users: Es gibt bisher keine Benutzer, die einen Standort in deiner Nähe angegeben haben.
+      oauth settings: oauth Einstellungen
       remove as friend: Als Freund entfernen
       role: 
         administrator: Dieser Benutzer ist ein Administrator
@@ -1474,15 +1501,13 @@ de:
       settings_link_text: Einstellungen
       traces: Tracks
       unhide_user: Benutzer nicht mehr verstecken
-      upload an image: Ein Bild hochladen
-      user image heading: Benutzerbild
       user location: Standort des Benutzers
       your friends: Eigene Freunde
   user_block: 
     blocks_by: 
       empty: "{{name}} hat noch keine Sperren eingerichtet."
-      heading: Liste der Blockierungen durch {{name}}
-      title: Blockierungen von {{name}}
+      heading: Liste der Sperren durch {{name}}
+      title: Sperre durch {{name}}
     blocks_on: 
       empty: "{{name}} wurde bisher nicht gesperrt."
       heading: Liste der Sperren für {{name}}
@@ -1490,33 +1515,33 @@ de:
     create: 
       flash: Benutzer {{name}} wurde gesperrt.
       try_contacting: Bitte nimm Kontakt mit dem Benutzer auf und gib ihm eine angemessene Zeit zum Antworden, bevor Du ihn sperrst.
-      try_waiting: Bitte gib dem Benutzer einen angemessenen Zeitraum zu antworten bevor Du ihn blockierst.
+      try_waiting: Bitte gib dem Benutzer einen angemessenen Zeitraum zu antworten bevor Du ihn sperrst.
     edit: 
-      back: Alle Blockierungen anzeigen
-      heading: Blockierung von {{name}} bearbeiten
-      needs_view: Muss der Benutzer sich anmelden, damit die Blockierung beendet wird?
-      period: Zeitraum, ab jetzt, den der Benutzer von der API blockiert wird.
-      reason: Der Grund warum {{name}} blockiert wird. Bitte bleibe ruhig und sachlich und versuche so viele Details wie möglich anzugeben. Bedenke, dass nicht alle Benutzer den Community Jargon verstehen und versuche eine Erklärung zu finden, die von Laien verstanden werden kann.
-      show: Diese Blockierung ansehen
-      submit: Blockierung aktualisieren
-      title: Blockierung von {{name}} bearbeiten
+      back: Alle Sperren anzeigen
+      heading: Sperre von {{name}} bearbeiten
+      needs_view: Muss der Benutzer sich anmelden, damit die Sperre aufgehoben wird?
+      period: Dauer, ab jetzt, während der dem Benutzer der Zugriff auf die API gesperrt wird.
+      reason: Der Grund warum {{name}} gesperrt wird. Bitte bleibe ruhig und sachlich und versuche so viele Details wie möglich anzugeben. Bedenke, dass nicht alle Benutzer den Community Jargon verstehen und versuche eine Erklärung zu finden, die von Laien verstanden werden kann.
+      show: Diese Sperre anzeigen
+      submit: Sperre aktualisieren
+      title: Sperre von {{name}} bearbeiten
     filter: 
-      block_expired: Die Blockierung kann nicht bearbeitet werden weil die Blockierungszeit bereits abgelaufen ist.
-      block_period: Die Blockierungszeit muss einer der Werte aus der Drop-Down Liste sein
+      block_expired: Die Sperre kann nicht bearbeitet werden, da die Sperrdauer bereits abgelaufen ist.
+      block_period: Die Sperrdauer muss einem der Werte aus der Drop-Down-Liste entsprechen.
       not_a_moderator: Du musst Moderator sein um diese Aktion durchzuführen.
     helper: 
       time_future: Endet in {{time}}.
       time_past: Endete vor {{time}}
       until_login: Aktiv, bis der Benutzer sich anmeldet.
     index: 
-      empty: Noch nie blockiert.
+      empty: Noch nie gesperrt.
       heading: Liste der Benutzersperren
       title: Benutzersperren
     model: 
       non_moderator_revoke: Du musst Moderator sein, um eine Sperre aufzuheben.
       non_moderator_update: Du musst Moderator sein, um eine Sperre einzurichten oder zu ändern.
     new: 
-      back: Alle Blockierungen anzeigen
+      back: Alle Sperren anzeigen
       heading: Sperre für {{name}} einrichten
       needs_view: Der Benutzer muss sich anmelden, bevor die Sperre aufgehoben wird.
       period: Wie lange der Benutzer von jetzt ab für den Zugriff auf die API gesperrt wird.
@@ -1527,14 +1552,14 @@ de:
       tried_waiting: Ich habe dem Benutzer eine angemessene Zeit eingeräumt, um auf diese Nachrichten zu antworten.
     not_found: 
       back: Zurück zur Übersicht
-      sorry: Sorry, die Blockierung mit der ID {{id}} konnte nicht gefunden werden.
+      sorry: Entschuldigung, die Sperre mit der ID {{id}} konnte nicht gefunden werden.
     partial: 
       confirm: Bist du sicher?
       creator_name: Ersteller
-      display_name: Blockierter Benutzer
+      display_name: Gesperrter Benutzer
       edit: Bearbeiten
       not_revoked: (nicht aufgehoben)
-      reason: Grund der Blockierung
+      reason: Grund der Sperre
       revoke: Aufheben!
       revoker_name: Aufgehoben von
       show: Anzeigen
@@ -1543,7 +1568,7 @@ de:
       one: 1 Stunde
       other: "{{count}} Stunden"
     revoke: 
-      confirm: Bist du sicher, das du diese Blockierung aufheben möchtest?
+      confirm: Bist du sicher, dass du diese Sperre aufheben möchtest?
       flash: Die Sperre wurde aufgehoben.
       heading: Sperre für {{block_on}} durch {{block_by}} aufgehoben
       past: Die Sperre ist seit {{time}} beendet und kann nicht mehr aufgehoben werden.
@@ -1551,19 +1576,19 @@ de:
       time_future: "Blockablaufdatum: {{time}}."
       title: Sperre für {{block_on}} aufheben
     show: 
-      back: Alle Blockierungen anzeigen
+      back: Alle Sperren anzeigen
       confirm: Bist Du sicher?
       edit: Bearbeiten
-      heading: "{{block_on}} blockiert durch {{block_by}}"
-      needs_view: Der Benutzer muss sich wieder anmelden, damit die Blockierung beendet wird.
-      reason: "Grund der Blockierung:"
+      heading: "{{block_on}} gesperrt durch {{block_by}}"
+      needs_view: Der Benutzer muss sich wieder anmelden, damit die Sperre beendet wird.
+      reason: "Grund der Sperre:"
       revoke: Aufheben!
       revoker: "Aufgehoben von:"
       show: anzeigen
       status: Status
       time_future: Endet in {{time}}
       time_past: Geendet vor {{time}}
-      title: "{{block_on}} blockiert von  {{block_by}}"
+      title: "{{block_on}} gesperrt durch  {{block_by}}"
     update: 
       only_creator_can_edit: Nur der Moderator, der die Sperre eingerichtet hat, kann sie ändern.
       success: Block aktualisiert.
index a3c78b9e944fe141657b692146fdf508be9e0896..c791c6f125e7f414f1c0022b750c54f54ea4c801 100644 (file)
@@ -326,6 +326,10 @@ dsb:
       recent_entries: "Nejnowše zapiski dnjownika:"
       title: Dnjowniki wužywarjow
       user_title: dnjownik wužywarja {{user}}
+    location: 
+      edit: Wobźěłaś
+      location: "Městno:"
+      view: Woglědaś se
     new: 
       title: Nowy zapisk dnjownika
     no_such_entry: 
@@ -341,7 +345,7 @@ dsb:
       login: Pśizjawjenje
       login_to_leave_a_comment: "{{login_link}}, aby zawóstajił komentar"
       save_button: Składowaś
-      title: Dnjowniki | {{user}}
+      title: Dnjownik {{user}} | {{title}}
       user_title: dnjownik wužywarja {{user}}
   export: 
     start: 
@@ -365,6 +369,8 @@ dsb:
       output: Wudaśe
       paste_html: HTML kopěrowaś, aby se zasajźił do websedła
       scale: Měritko
+      too_large: 
+        heading: Wobłuk pśewjeliki
       zoom: Skalěrowanje
     start_rjs: 
       add_marker: Kórśe marku pśidaś
@@ -400,6 +406,7 @@ dsb:
       other: mjenjej ako {{count}} km
       zero: mjenjej ako 1 km
     results: 
+      more_results: Dalšne wuslědki
       no_results: Žedne wuslědki namakane
     search: 
       title: 
@@ -509,14 +516,18 @@ dsb:
         boundary: 
           administrative: Zastojnstwowa granica
         building: 
+          apartments: Bydleński blok
           chapel: Kapałka
           church: Cerkwja
           city_hall: Radnica
+          flats: Bydlenja
+          garage: Garaža
           hall: Hala
           hospital: Chórownja
           hotel: Hotel
           house: Dom
           industrial: Industrijowe twarjenje
+          school: Šulske twarjenje
           shop: Wobchod
           stadium: Stadion
           terrace: Terasa
@@ -563,17 +574,26 @@ dsb:
           unclassified: Njezarědowana droga
           unsurfaced: Njewobtwarźona droga
         historic: 
+          archaeological_site: Archeologiske wukopowanišćo
           building: Twarjenje
           castle: Grod
           church: Cerkwja
           house: Dom
+          icon: Ikona
           monument: Pomnik
           museum: Muzeum
+          ruins: Ruiny
           tower: Torm
+          wreck: Wrak
         landuse: 
+          cemetery: Kjarchob
           construction: Twarnišćo
+          farm: Farma
+          forest: Góla
           industrial: Industrijowy wobcerk
           mountain: Góra
+          park: Park
+          plaza: Naměstno
           railway: Zeleznica
           wood: Lěs
         leisure: 
@@ -659,8 +679,10 @@ dsb:
           unincorporated_area: Bźezgmejnske strony
           village: Wjas
         railway: 
+          historic_station: Historiske dwórnišćo
           station: Dwórnišćo
           tram: Elektriska
+          tram_stop: Zastanišćo elektriskeje
         shop: 
           alcohol: Wobchod za spirituoze
           apparel: Woblekarnja
@@ -778,23 +800,22 @@ dsb:
     map: 
       base: 
         cycle_map: Kórta za kolesowarjow
-        noname: Žedne
+        noname: Žedno
     site: 
+      edit_tooltip: Kórtu wobźěłaś
       edit_zoom_alert: Musyš powětšyś, aby wobźěłał kórtu
       history_zoom_alert: Musyš powětšyś, aby wiźeł wobźěłowańsku historiju
   layouts: 
     donate: Pódprěj OpenStreetMap pśez {{link}} do fondsa aktualizacije hardware
     donate_link_text: dar
     edit: Wobźěłaś
-    edit_tooltip: Kórty wobźěłaś
     export: Eksport
     export_tooltip: Kórtowe daty eksportěrowaś
     gps_traces: GPS-slědy
-    gps_traces_tooltip: Slědy zastojaś
+    gps_traces_tooltip: GPS-slědy zastojaś
     help_wiki: Pomoc &amp; wiki
     help_wiki_tooltip: Pomoc &amp; wikisedło za projekt
     history: Historija
-    history_tooltip: Historija sajźby změnow
     home: domoj
     home_tooltip: K stojnišćoju
     inbox: post ({{count}})
@@ -806,7 +827,8 @@ dsb:
       zero: Twój postowy kašćik njewopśimujo žedne njepśecytane powěsći
     intro_1: OpenStreetMap jo licho wobźěłujobna kórta cełego swěta. Jo se za luźi ako ty napórała.
     intro_2: OpenStreetMap śi dowólujo, geografiske daty wóte wšuźi na zemi zgromadnje se woglědaś, wobźěłaś a wužywaś.
-    intro_3: Hostowanje OpenStreetMap pódpěra se wót {{ucl}} a {{bytemark}} z pśijaznosću.
+    intro_3: Hostowanje OpenStreetMap pśijaznosću pódpěra se wót {{ucl}} a {{bytemark}}. Druge pódpěrarje projekta su w {{partners}} nalicone.
+    intro_3_partners: wiki
     license: 
       title: Daty OpenStreetMap licencěruju se pód licencu Creative Commons Attribution-Share Alike 2.0 Generic
     log_in: pśizjawiś
@@ -831,13 +853,9 @@ dsb:
     user_diaries: Dnjowniki
     user_diaries_tooltip: Wužywarske dnjowniki cytaś
     view: Kórta
-    view_tooltip: Kórty se woglědaś
+    view_tooltip: Kórtu se woglědaś
     welcome_user: Witaj, {{user_link}}
     welcome_user_link_tooltip: Twój wužywarski bok
-  map: 
-    coordinates: "Koordinaty:"
-    edit: Wobźěłaś
-    view: Kórta
   message: 
     delete: 
       deleted: Powěsć wulašowana
@@ -868,10 +886,13 @@ dsb:
       send_message_to: "{{name}} nowu powěsć pósłaś"
       subject: Temowe nadpismo
       title: Powěsć pósłaś
+    no_such_message: 
+      heading: Powěsć njeeksistěrujo
+      title: Powěsć njeeksistěrujo
     no_such_user: 
-      body: Bóžko njejo žeden wužywaŕ abo žedna powěsć z tym mjenim abo ID
-      heading: Wužywaŕ abo powěsć njeeksistěrujo
-      title: Wužywaŕ abo powěsć njeeksistěrujo
+      body: Bóžko njejo žeden wužywaŕ z tym mjenim.
+      heading: Wužywaŕ njeeksistěrujo
+      title: Wužywaŕ njeeksistěrujo
     outbox: 
       date: Datum
       inbox: post
@@ -916,7 +937,7 @@ dsb:
       hopefully_you_2: "{{server_url}} do {{new_address}} změniś."
     friend_notification: 
       had_added_you: "{{user}} jo śi na OpenStreetMap ako pśijaśela pśidał."
-      see_their_profile: Jogo profil jo na {{userurl}} a móžoš jogo teke ako pśijaśela pśidaś, jolic coš.
+      see_their_profile: Móžoš profil na {{userurl}} wiźeś.
       subject: "[OpenStreetMap] {{user}} jo śi ako pśijaśela pśidał."
     gpx_notification: 
       and_no_tags: a žedne atributy.
@@ -1142,6 +1163,9 @@ dsb:
     sidebar: 
       close: Zacyniś
       search_results: Pytańske wuslědki
+  time: 
+    formats: 
+      friendly: "%e. %B %Y  %H:%M"
   trace: 
     create: 
       trace_uploaded: Twója GPX-dataja jo se nagrała a caka na zasajźenje do datoweje banki. To stawa se zwětšego za poł góźiny a dostanjoš e-mail za wobkšuśenje.
@@ -1243,14 +1267,20 @@ dsb:
       trackable: Cera (jano źělona ako anonymne, zrědowane dypki z casowymi kołkami)
   user: 
     account: 
+      current email address: "Aktualna e-mailowa adresa:"
+      delete image: Aktualny wobraz wótpóraś
       email never displayed publicly: (njejo nigda widobna)
       flash update success: Wužywarske informacije wuspěšnje zaktualizěrowane.
       flash update success confirm needed: Wužywarske informacije wuspěšnje zaktualizěrowane. Dostanjoš e-mail z napominanim, twóju e-mailowu adresu wobkšuśiś.
       home location: "Bydlišćo:"
+      image: "Wobraz:"
+      keep image: Aktualny wobraz wobchowaś
       latitude: "Šyrina:"
       longitude: "Dlinina:"
       make edits public button: Wše móje změny wózjawiś
       my settings: Móje nastajenja
+      new email address: "Nowa e-mailowa adresa:"
+      new image: Wobraz pśidaś
       no home location: Njejsy swóje bydlišćo zapódał.
       preferred languages: "Preferěrowane rěcy:"
       profile description: "Profilowe wopisanje:"
@@ -1264,6 +1294,7 @@ dsb:
       public editing note: 
         heading: Zjawne wobźěłowanje
         text: Tuchylu twóje změny su anonymne a luźe njamógu śi powěsći pósłaś abo twójo městno wiźeś. Aby pokazał, což sy wobźěłał a luźam dowólił, se z tobu pśez websedło do zwiska stajiś, klikni dołojnce na tłocašk. <b>Wót pśeźenja do API 0.6, jano zjawne wužywarje mógu kórtowe daty wobźěłaś.</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">glědaj pśicyny</a>).<ul><li>Twója e-mailowa adresa njebuźo zjawnje widobna.</li><li>Toś ta akcija njedajo se anulěrowaś a wše nowe wužywarje su něnto pó standarźe zjawne.</li></ul>
+      replace image: Aktualny wobraz wuměniś
       return to profile: Slědk k profiloju
       save changes button: Změny składowaś
       title: Konto wobźěłaś
@@ -1282,9 +1313,6 @@ dsb:
       success: Twója e-mailowa adresa jo se wobkšuśiła, źěkujomy se za registrěrowanje!
     filter: 
       not_an_administrator: Musyš administrator byś, aby wuwjadł toś tu akciju.
-    friend_map: 
-      nearby mapper: "Kartěrowaŕ w bliskosći: [[nearby_user]]"
-      your location: Twójo městno
     go_public: 
       flash success: Wše twóje změny su něnto zjawne, a ty móžoš je něnto wobźěłaś.
     login: 
@@ -1298,6 +1326,10 @@ dsb:
       password: "Gronidło:"
       please login: Pšosym pśizjaw se abo {{create_user_link}}.
       title: Pśizjawjenje
+    logout: 
+      heading: Z OpenStreetMap se wótzjawiś
+      logout_button: Wótzjawjenje
+      title: Wótzjawiś se
     lost_password: 
       email address: "E-mailowa adresa:"
       heading: Sy gronidło zabył?
@@ -1330,6 +1362,10 @@ dsb:
       body: Bóžko njejo wužywaŕ z mjenim {{user}}. Pšosym pśekontrolěruj swój pšawopis, abo wótkaz, na kótaryž sy kliknuł, jo njepłaśiwy.
       heading: Wužywaŕ {{user}} njeeksistěrujo
       title: Toś ten wužywaŕ njejo
+    popup: 
+      friend: Pśijaśel
+      nearby mapper: Kartěrowaŕ w bliskosći
+      your location: Twójo městno
     remove_friend: 
       not_a_friend: "{{name}} njejo twój pśijaśel."
       success: "{{name}} jo se z twójich pśijaśelow wótpórał."
@@ -1346,17 +1382,14 @@ dsb:
     view: 
       activate_user: toś togo wužywarja aktiwěrowaś
       add as friend: ako pśijaśela pśidaś
-      add image: Wobraz pśidaś
       ago: (pśed {{time_in_words_ago}})
       block_history: Dostane blokěrowanja pokazaś
       blocks by me: blokěrowanja wóte mnjo
       blocks on me: blokěrowanja pśeśiwo mě
-      change your settings: Twóje nastajenja změniś
       confirm: Wobkšuśiś
       create_block: toś togo wužywarja blokěrowaś
       created from: "Napórany z:"
       deactivate_user: toś togo wužywarja znjemóžniś
-      delete image: Wobraz wulašowaś
       delete_user: toś togo wužywarja lašowaś
       description: Wopisanje
       diary: dnjownik
@@ -1372,12 +1405,11 @@ dsb:
       my edits: móje změny
       my settings: móje nastajenja
       my traces: móje slědy
-      my_oauth_details: Móje OAuth-drobnostki pokazaś
-      nearby users: "Wužywarje w bliskosći:"
+      nearby users: Druge wužywarje w bliskosći
       new diary entry: nowy dnjownikowy zapisk
       no friends: Hyšći njejsy žednych pśijaśelow pśidał.
-      no home location: Žedne stojnišćo njejo se pódało.
       no nearby users: Hyšći njejsu žedne wužywarje, kótarež kartěruju w bliskosći.
+      oauth settings: OAUTH-nastajenja
       remove as friend: ako pśijaśela wótpóraś
       role: 
         administrator: Toś ten wužywaŕ jo administrator
@@ -1392,8 +1424,6 @@ dsb:
       settings_link_text: nastajenja
       traces: slědy
       unhide_user: toś togo wužiwarja pokazaś
-      upload an image: Wobraz nagraś
-      user image heading: Wužywarski wobraz
       user location: Wužywarske městno
       your friends: Twóje pśijaśele
   user_block: 
index e086bf5a5c3875449f9165d1ba1690c0ae109ded..b2d2af9fdd8f4ae35a02860bbfa709f0ec816ea2 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: syck
 # Author: Consta
 # Author: Crazymadlover
+# Author: Logictheo
 # Author: Omnipaedista
 el: 
   activerecord: 
@@ -97,7 +98,7 @@ el:
       loading: Φόρτωση...
     node: 
       download: "{{download_xml_link}} ή {{view_history_link}}"
-      node: Î£Î®Î¼Îµο
+      node: Î£Î·Î¼ÎµÎ¯ο
       node_title: "Σήμεο: {{node_name}}"
       view_history: Δες ιστορία
     node_details: 
@@ -168,12 +169,12 @@ el:
     way: 
       download: "{{download_xml_link}} ή {{view_history_link}}"
       view_history: δες ιστορία
-      way: Κατεύθηνση
-      way_title: "Κατεύθηνση: {{way_name}}"
+      way: Κατεύθυνση
+      way_title: "Κατεύθυνση: {{way_name}}"
     way_details: 
       also_part_of: 
-        one: επίσης κομμάτι κατεύθηνσης {{related_ways}}
-        other: ÎµÏ\80ίÏ\83ηÏ\82 ÎºÎ¿Î¼Î¼Î¬Ï\84ι ÎºÎ±Ï\84εÏ\8dθηνσεων {{related_ways}}
+        one: επίσης κομμάτι κατεύθυνσης {{related_ways}}
+        other: ÎµÏ\80ίÏ\83ηÏ\82 ÎºÎ¿Î¼Î¼Î¬Ï\84ι ÎºÎ±Ï\84εÏ\85θÏ\8dνσεων {{related_ways}}
       nodes: "Σημεία:"
       part_of: Κομμάτι του
     way_history: 
@@ -186,6 +187,8 @@ el:
       anonymous: Ανόνυμος
       show_area_box: δείξε περιοχή κουτιού
       view_changeset_details: Δες αλλαγή συλλογής λεπτομερειών
+    changeset_paging_nav: 
+      showing_page: Eμφάνιση σελίδας {{page}}
     changesets: 
       area: Περιοχή
       comment: Σχόλιο
@@ -243,7 +246,7 @@ el:
       area_to_export: Εξαγωγή περιοχής
       export_button: Εξαγωγή
       export_details: OpenStreetMap data are licensed under the <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike 2.0 license</a>.
-      format: Î¤Ï\81Ï\8cÏ\80οÏ\82 Ï\80αÏ\81οÏ\85Ï\83ίαÏ\83ηÏ\82
+      format: Î\9cοÏ\81Ï\86οÏ\80οίηÏ\83η
       format_to_export: Εξαγωγή τρόπου παρουσίασης
       image_size: Μέγεθος εικόνας
       latitude: "Γ. Π.:"
@@ -261,10 +264,6 @@ el:
       export: Εξαγωγή
   layouts: 
     home: κύρια σελίδα
-  map: 
-    coordinates: "Συντεταγμένες:"
-    edit: Άλλαξε
-    view: Εξέτασε
   message: 
     message_summary: 
       delete_button: Διαγραφή
index b358cf8d3b9d1b684f4673f8d266e60d17119632..2df80cd1d7ccebcf56d977a9bda7f797e5f18d37 100644 (file)
@@ -1,6 +1,9 @@
 en:
   html:
     dir: ltr
+  time:
+    formats:
+      friendly: "%e %B %Y at %H:%M"    
   activerecord:
     # Translates all the model names, which is used in error handling on the web site
     models:
@@ -76,10 +79,6 @@ en:
     with_id: "{{id}}"
     with_version: "{{id}}, v{{version}}"
     with_name: "{{name}} ({{id}})"
-  map:
-    view: View
-    edit: Edit
-    coordinates: "Coordinates:"
   browse:
     changeset:
       title: "Changeset"
@@ -328,7 +327,7 @@ en:
       heading: "The user {{user}} does not exist"
       body: "Sorry, there is no user with the name {{user}}. Please check your spelling, or maybe the link you clicked is wrong."
     diary_entry:
-      posted_by: "Posted by {{link_user}} at {{created}} in {{language_link}}"
+      posted_by: "Posted by {{link_user}} on {{created}} in {{language_link}}"
       comment_link: Comment on this entry
       reply_link: Reply to this entry
       comment_count:
@@ -338,9 +337,13 @@ en:
       hide_link: Hide this entry
       confirm: Confirm
     diary_comment:
-      comment_from: "Comment from {{link_user}}  at {{comment_created_at}}"
+      comment_from: "Comment from {{link_user}} on {{comment_created_at}}"
       hide_link: Hide this comment
       confirm: Confirm
+    location:
+      location: "Location:"
+      view: "View"
+      edit: "Edit"
     feed:
       user:
         title: "OpenStreetMap diary entries for {{user}}"
@@ -938,7 +941,8 @@ en:
     friend_notification:
       subject: "[OpenStreetMap] {{user}} added you as a friend"
       had_added_you: "{{user}} has added you as a friend on OpenStreetMap."
-      see_their_profile: "You can see their profile at {{userurl}} and add them as a friend too if you wish."
+      see_their_profile: "You can see their profile at {{userurl}}."
+      befriend_them: "You can also add them as a friend at {{befriendurl}}."
     gpx_notification:
       greeting: "Hi,"
       your_gpx_file: "It looks like your GPX file"
@@ -1035,9 +1039,13 @@ en:
       message_sent: "Message sent"
       limit_exceeded: "You have sent a lot of messages recently. Please wait a while before trying to send any more."
     no_such_user:
-      title: "No such user or message"
-      heading: "No such user or message"
-      body: "Sorry there is no user or message with that name or id"
+      title: "No such user"
+      heading: "No such user"
+      body: "Sorry there is no user with that name."
+    no_such_message:
+      title: "No such message"
+      heading: "No such message"
+      body: "Sorry there is no message with that id."
     outbox: 
       title: "Outbox"
       my_inbox: "My {{inbox_link}}"
@@ -1049,6 +1057,8 @@ en:
       date: "Date"
       no_sent_messages: "You have no sent messages yet. Why not get in touch with some of the {{people_mapping_nearby_link}}?"
       people_mapping_nearby: "people mapping nearby"
+    reply:
+      wrong_user: "You are logged in as `{{user}}' but the message you have asked to reply to was not sent to that user. Please login as the correct user in order to reply."
     read:
       title: "Read message"
       reading_your_messages: "Reading your messages"
@@ -1061,6 +1071,7 @@ en:
       reading_your_sent_messages: "Reading your sent messages"
       to: "To"
       back_to_outbox: "Back to outbox"
+      wrong_user: "You are logged in as `{{user}}' but the message you have asked to read to was not sent by or to that user. Please login as the correct user in order to read it."
     sent_message_summary:
       delete_button: "Delete"
     mark:
@@ -1183,7 +1194,7 @@ en:
       heading: "Editing trace {{name}}"
       filename: "Filename:"
       download: "download"
-      uploaded_at: "Uploaded at:"
+      uploaded_at: "Uploaded:"
       points: "Points:"
       start_coord: "Start coordinate:"
       map: "map"
@@ -1224,7 +1235,7 @@ en:
       pending: "PENDING"
       filename: "Filename:"
       download: "download"
-      uploaded: "Uploaded at:"
+      uploaded: "Uploaded:"
       points: "Points:"
       start_coordinates: "Start coordinate:"
       map: "map"
@@ -1354,12 +1365,17 @@ en:
       openid: "OpenID:"
       openid description: "Use your OpenID to login"
       alternatively: "Alternatively"
+      remember: "Remember me:"
       lost password link: "Lost your password?"
       login_button: "Login"
       account not active: "Sorry, your account is not active yet.<br />Please click on the link in the account confirmation email to activate your account."
       auth failure: "Sorry, could not log in with those details."
       openid missing provider: "Sorry, could not contact your OpenID provider"
       openid invalid: "Sorry, your OpenID seems misformed"
+    logout:
+      title: "Logout"
+      heading: "Logout from OpenStreetMap"
+      logout_button: "Logout"      
     lost_password:
       title: "Lost password"
       heading: "Forgotten Password?"
@@ -1404,6 +1420,7 @@ en:
       my edits: my edits
       my traces: my traces
       my settings: my settings
+      oauth settings: oauth settings
       blocks on me: blocks on me
       blocks by me: blocks by me
       send message: send message
@@ -1418,16 +1435,14 @@ en:
       created from: "Created from:"
       description: Description
       user location: User location
-      no home location: "No home location has been set."
-      if set location: "If you set your location, a pretty map and stuff will appear below. You can set your home location on your {{settings_link}} page."
+      if set location: "If you set your location, a pretty map and stuff will appear here. You can set your home location on your {{settings_link}} page."
       settings_link_text: settings
       your friends: Your friends
       no friends: You have not added any friends yet.
       km away: "{{count}}km away"
       m away: "{{count}}m away"
-      nearby users: "Nearby users:"
-      no nearby users: "There are no users who admit to mapping nearby yet."
-      my_oauth_details: "View my OAuth details"
+      nearby users: "Other nearby users"
+      no nearby users: "There are no other users who admit to mapping nearby yet."
       role:
         administrator: "This user is an administrator"
         moderator: "This user is a moderator"
@@ -1446,9 +1461,10 @@ en:
       unhide_user: "unhide this user"
       delete_user: "delete this user"
       confirm: "Confirm"
-    friend_map:
-      your location: Your location
-      nearby mapper: "Nearby mapper: [[nearby_user]]"
+    popup:
+      your location: "Your location"
+      nearby mapper: "Nearby mapper"
+      friend: "Friend"
     account:
       title: "Edit account"
       my settings: My settings
@@ -1476,6 +1492,7 @@ en:
       keep image: "Keep the current image"
       delete image: "Remove the current image"
       replace image: "Replace the current image"
+      image size hint: "(square images at least 100x100 work best)"
       home location: "Home Location:"
       no home location: "You have not entered your home location."
       latitude: "Latitude:"
index 6197737dd9c5b99584cc6e982a5ba79cebddc024..ab18da65b9a016167564b5d8874a5c15247e0f90 100644 (file)
@@ -196,6 +196,12 @@ eo:
       zoom_or_select: Zomu aŭ elektu videndan mapareon
     tag_details: 
       tags: "Etikedoj:"
+    timeout: 
+      type: 
+        changeset: ŝanĝaro
+        node: nodo
+        relation: rilato
+        way: vojo
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} aŭ {{edit_link}}"
       download_xml: Elŝuti XML
@@ -334,7 +340,6 @@ eo:
     donate: Subtenu OpenStreetMap {{link}} al Fonduso de Ĝisdatigo de Aparataro.
     donate_link_text: donacante
     edit: Redakti
-    edit_tooltip: Redakti mapojn
     export: Eksporti
     export_tooltip: Eksporti mapajn datumojn
     gps_traces: GPS spuroj
@@ -342,7 +347,6 @@ eo:
     help_wiki: Helpo kaj Vikio
     help_wiki_tooltip: Helpo kaj Vikio por la projekto
     history: Historio
-    history_tooltip: Historio de ŝanĝaroj
     home: hejmo
     home_tooltip: Iri al hejmloko
     inbox: leterkesto ({{count}})
@@ -373,10 +377,6 @@ eo:
     view_tooltip: Vidi mapojn
     welcome_user: Bonvenon, {{user_link}}
     welcome_user_link_tooltip: Via uzantpaĝo
-  map: 
-    coordinates: "Koordinatoj:"
-    edit: Redakti
-    view: Vidi
   message: 
     delete: 
       deleted: Mesaĝo forigita
@@ -657,9 +657,6 @@ eo:
       success: Via retadreso estis konfirmita, dankon pro registriĝo.
     filter: 
       not_an_administrator: Vi devas esti administristo por fari tion.
-    friend_map: 
-      nearby mapper: "Proksima uzanto: [[nearby_user]]"
-      your location: Via loko
     go_public: 
       flash success: Ĉiuj viaj redaktoj naŭ estas publikaj, kaj vi naŭ rajtas redakti.
     login: 
@@ -695,6 +692,9 @@ eo:
     no_such_user: 
       heading: La uzanto {{user}} ne ekzistas
       title: Neniu tiel uzanto
+    popup: 
+      nearby mapper: Proksima uzanto
+      your location: Via loko
     remove_friend: 
       not_a_friend: "{{name}} ne estas amiko via."
       success: "{{name}} estis forviŝita el viaj amikoj."
@@ -711,15 +711,12 @@ eo:
     view: 
       activate_user: ebligi tiun uzanto
       add as friend: aldoni kiel amikon
-      add image: Aldoni Bildon
       ago: (antaŭ {{time_in_words_ago}})
       blocks on me: blokas min
-      change your settings: ŝanĝi viajn agordojn
       confirm: Konfirmi
       create_block: bloki tiun uzanto
       created from: "Kreita de:"
       deactivate_user: malebligi tiun uzanto
-      delete image: Forigi Bildon
       delete_user: forviŝi ĉi tiun uzanton
       description: Priskribo
       diary: ĵurnalo
@@ -733,11 +730,9 @@ eo:
       my edits: miaj redaktoj
       my settings: miaj agordoj
       my traces: miaj spuroj
-      my_oauth_details: Vidi miajn OAuth detalojn
       nearby users: "Proksimaj uzantoj:"
       new diary entry: nova ĵurnalrikordo
       no friends: Vi jam ne aldonis neniun amikon.
-      no home location: Neniu hejmloko estis elektita.
       remove as friend: forviŝu kiel amiko
       role: 
         administrator: Ĉi tiu uzanto estas administranto
@@ -746,8 +741,6 @@ eo:
       settings_link_text: agordoj
       traces: spuroj
       unhide_user: aperigi tiun uzanto
-      upload an image: Alŝuti bildon
-      user image heading: Uzantbildo
       user location: Loko de uzanto
       your friends: Viaj amikoj
   user_block: 
index 4392e96a4c15d6c5d89195b5df56a56fd85a1e48..e7a95265d7ca3754ef308f777616d35f11038a2c 100644 (file)
@@ -5,6 +5,7 @@
 # Author: McDutchie
 # Author: PerroVerd
 # Author: Peter17
+# Author: Toliño
 # Author: Translationista
 es: 
   activerecord: 
@@ -291,7 +292,7 @@ es:
       body: "Cuerpo:"
       language: "Idioma:"
       latitude: Latitud
-      location: "Lugar:"
+      location: "Ubicación:"
       longitude: Longitud
       marker_text: Lugar de la entrada del diario
       save_button: Guardar
@@ -318,6 +319,10 @@ es:
       recent_entries: "Entradas recientes en el diario:"
       title: Diarios de usuarios
       user_title: Diario de {{user}}
+    location: 
+      edit: Editar
+      location: "Ubicación:"
+      view: Ver
     new: 
       title: Nueva entrada en el diario
     no_such_entry: 
@@ -341,7 +346,7 @@ es:
       area_to_export: Área a exportar
       embeddable_html: HTML para pegar
       export_button: Exportar
-      export_details: Los datos de OpenStreetMap se encuentran bajo una <a href='http://creativecommons.org/licenses/by-sa/2.0/'>licencia Creative Commons AtribuciÃ\83³n-Compartir Igual 2.0</a>.
+      export_details: Los datos de OpenStreetMap se encuentran bajo una <a href='http://creativecommons.org/licenses/by-sa/2.0/'>licencia Creative Commons Atribución-Compartir Igual 2.0</a>.
       format: Formato
       format_to_export: Formato de exportación
       image_size: Tamaño de la imagen
@@ -357,6 +362,9 @@ es:
       output: Resultado
       paste_html: HTML para empotrar en otro sitio web
       scale: Escala
+      too_large: 
+        body: Este área es demasiado grande para ser exportado como OpenStreetMap XML. Por favor, haga zoom o seleccione un área más pequeña.
+        heading: El área es demasiado grande
       zoom: Zoom
     start_rjs: 
       add_marker: Añadir un marcador al mapa
@@ -848,22 +856,24 @@ es:
         cycle_map: Mapa ciclista
         noname: Sin nombres
     site: 
+      edit_disabled_tooltip: Haga zoom para editar el mapa
+      edit_tooltip: Edita el mapa
       edit_zoom_alert: Debe hacer más zoom para editar el mapa
+      history_disabled_tooltip: Haga zoom para ver las ediciones de este área
+      history_tooltip: Ver ediciones para este área
       history_zoom_alert: Debe hacer más zoom para ver el histórico de ediciones
   layouts: 
     donate: Apoye a OpenStreetMap {{link}} al Fondo de Actualización de Hardware.
     donate_link_text: donando
     edit: Editar
-    edit_tooltip: Editar mapas
     export: Exportar
     export_tooltip: Exportar datos del mapa
     gps_traces: Trazas GPS
-    gps_traces_tooltip: Gestionar trazas
+    gps_traces_tooltip: Gestiona las trazas GPS
     help_wiki: Ayuda y Wiki
     help_wiki_tooltip: Ayuda y sitio Wiki del proyecto
     help_wiki_url: http://wiki.openstreetmap.org/wiki/ES:Main_Page?uselang=es
     history: Historial
-    history_tooltip: Historial de conjuntos de cambios
     home: inicio
     home_tooltip: Ir a la página inicial
     inbox: bandeja de entrada ({{count}})
@@ -899,13 +909,9 @@ es:
     user_diaries: Diarios de usuario
     user_diaries_tooltip: Ver diarios de usuario
     view: Ver
-    view_tooltip: Ver mapas
+    view_tooltip: Ver el mapa
     welcome_user: Bienvenido, {{user_link}}
     welcome_user_link_tooltip: Tu página de usuario
-  map: 
-    coordinates: Coordenadas
-    edit: Editar
-    view: Ver
   message: 
     delete: 
       deleted: Mensaje borrado
@@ -936,10 +942,14 @@ es:
       send_message_to: Enviar un mensaje nuevo a {{name}}
       subject: Asunto
       title: Enviar mensaje
+    no_such_message: 
+      body: Lo sentimos, no hay ningún mensaje con este identificador.
+      heading: Este mensaje no existe.
+      title: Este mensaje no existe.
     no_such_user: 
-      body: Perdón no existe usuario o mensaje con ese nombre o id
-      heading: No hay tal usuario o mensaje
-      title: No hay tal usuario o mensaje
+      body: Lo sentimos no hay ningún usuario con ese nombre.
+      heading: Este usuario no existe
+      title: Este usuario no existe
     outbox: 
       date: Fecha
       inbox: entrada
@@ -963,6 +973,9 @@ es:
       title: Leer mensaje
       to: A
       unread_button: Marcar como no leído
+      wrong_user: Está conectado como `{{user}}' pero el mensaje que quiere leer no se ha enviado a dicho usuario. Por favor, ingrese con el usuario correcto para ver el mensaje.
+    reply: 
+      wrong_user: Está conectado como `{{user}}' pero el mensaje que quiere responder no se ha enviado a dicho usuario. Por favor, ingrese con el usuario correcto para responder.
     sent_message_summary: 
       delete_button: Borrar
   notifier: 
@@ -983,8 +996,9 @@ es:
       hopefully_you_1: Alguien (posiblemente usted) quiere cambiar la dirección de correo en
       hopefully_you_2: "{{server_url}} a {{new_address}}."
     friend_notification: 
+      befriend_them: También puede añadirle como amigo en {{befriendurl}}.
       had_added_you: "{{user}} te ha añadido como amigo en OpenStreetMap"
-      see_their_profile: Puede ver su perfil en {{userurl}} y añadirle como amigo también, si así­ lo desea
+      see_their_profile: Puede ver su perfil en {{userurl}}.
       subject: "[OpenStreetMap] {{user}} te ha añadido como amigo"
     gpx_notification: 
       and_no_tags: y sin etiquetas
@@ -1212,6 +1226,9 @@ es:
     sidebar: 
       close: Cerrar
       search_results: Resultados de la búsqueda
+  time: 
+    formats: 
+      friendly: "%e %B %Y a las %H:%M"
   trace: 
     create: 
       trace_uploaded: Su archivo GPX ha sido cargado y está esperando ser agregado a la Base de Datos. Esto normalmente ocurre dentro de la próxima media hora, y un email le será enviado al terminar.
@@ -1234,7 +1251,7 @@ es:
       title: Editando trazo {{name}}
       uploaded_at: "Subido el:"
       visibility: "Visibilidad:"
-      visibility_help: ¿Que significa esto?
+      visibility_help: ¿Qué significa esto?
     list: 
       public_traces: Trazas GPS públicas
       public_traces_from: Trazas GPS Publicas de {{user}}
@@ -1314,15 +1331,20 @@ es:
   user: 
     account: 
       current email address: "Dirección de correo electrónico actual:"
+      delete image: Elimina la imagen actual
       email never displayed publicly: (nunca es mostrado públicamente)
       flash update success: La información del usuario se ha actualizado correctamente.
       flash update success confirm needed: La información del usuario se ha actualizado correctamente. Compruebe su correo electrónico para ver una nota sobre cómo confirmar su nueva dirección de correo electrónico.
       home location: "Lugar de origen:"
+      image: "Imagen:"
+      image size hint: (las imágenes cuadradas de al menos 100x100 funcionan mejor)
+      keep image: Mantiene la imagen actual
       latitude: "Latitud:"
       longitude: "Longitud:"
       make edits public button: Hacer que todas mis ediciones sean públicas
       my settings: Mis preferencias
       new email address: "Nueva dirección de correo electrónico:"
+      new image: Añadir una imagen
       no home location: No has introducido tu lugar de origen.
       preferred languages: "Idiomas preferidos:"
       profile description: "Descripción del perfil:"
@@ -1336,6 +1358,7 @@ es:
       public editing note: 
         heading: Edición pública
         text: Actualmente sus ediciones son anónimas y la gente no puede ni enviarle mensajes ni ver su localización. Para mostrar que es lo que ha editado y permitir a la gente contactar con usted a través del sitio web, pulse el botón inferior. <b>Desde la migración a la API 0.6, sólo los usuarios públicos pueden editar el mapa</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">más detalles aquí</a>) <ul><li>Su dirección de correo no será revelada por el hecho de ser público. </li><li>Esta acción no puede ser revertida y todos los nuevos usuarios son públicos por omisión.</li></ul>
+      replace image: Reemplazar la imagen actual
       return to profile: Regresar al perfil
       save changes button: Guardar cambios
       title: Editar cuenta
@@ -1354,9 +1377,6 @@ es:
       success: Dirección de correo electrónico confirmada. ¡Gracias por registrarse!
     filter: 
       not_an_administrator: Necesitas ser administrador para ejecutar esta acción.
-    friend_map: 
-      nearby mapper: "Mapeadores cercanos:"
-      your location: "Tu lugar de origen:"
     go_public: 
       flash success: Ahora todas tus ediciones son públicas y ya estás autorizado para editar
     login: 
@@ -1369,7 +1389,12 @@ es:
       lost password link: ¿Ha perdido su contraseña?
       password: Contraseña
       please login: Por favor inicie sesión o {{create_user_link}}.
+      remember: "Recordarme:"
       title: Iniciar sesión
+    logout: 
+      heading: Salir de OpenStreetMap
+      logout_button: Cerrar sesión
+      title: Cerrar sesión
     lost_password: 
       email address: "Dirección de correo:"
       heading: ¿Contraseña olvidada?
@@ -1402,6 +1427,10 @@ es:
       body: Perdón, No existe usuario con el nombre {{user}}. Por favor verifica las letras, o posiblemente el vínculo que has hecho click está equivocado.
       heading: El usuario {{user}} no existe
       title: Este usuario no existe
+    popup: 
+      friend: Amigo
+      nearby mapper: Mapeadores cercanos
+      your location: "Tu lugar de origen:"
     remove_friend: 
       not_a_friend: "{{name}} no es uno de tus amigos."
       success: Has quitado a {{name}} de tus amigos.
@@ -1418,17 +1447,14 @@ es:
     view: 
       activate_user: activar este usuario
       add as friend: añadir como amigo
-      add image: Añadir imagen
       ago: (hace {{time_in_words_ago}})
       block_history: ver los bloqueos recibidos
       blocks by me: bloqueados por mi
       blocks on me: bloqueos sobre mi
-      change your settings: cambiar tu configuración
       confirm: Confirmar
       create_block: bloquear a este usuario
       created from: "Creado a partir de:"
       deactivate_user: desactivar este usuario
-      delete image: Borrar imagen
       delete_user: borrar este usuario
       description: Descripción
       diary: diario
@@ -1444,12 +1470,11 @@ es:
       my edits: mis ediciones
       my settings: mis preferencias
       my traces: mis trazas
-      my_oauth_details: Ver mis detalles OAuth
-      nearby users: "Usuarios cercanos:"
+      nearby users: "Otros usuarios cercanos:"
       new diary entry: nueva entrada de diario
       no friends: No has añadido ningún amigo aún.
-      no home location: No se ha fijado ninguna localización.
-      no nearby users: Todavía no hay usuarios que reconozcan el estar mapeando cerca.
+      no nearby users: Todavía no hay usuarios que se hayan ubicado en su proximidad.
+      oauth settings: ajustes OAuth
       remove as friend: eliminar como amigo
       role: 
         administrator: Este usuario es un administrador
@@ -1464,32 +1489,30 @@ es:
       settings_link_text: preferencias
       traces: trazas
       unhide_user: descubrir este usuario
-      upload an image: Subir una imagen
-      user image heading: Imagen del usuario
       user location: Localización del usuario
       your friends: Tus amigos
   user_block: 
     blocks_by: 
-      empty: "{{name}} todavía no ha creado ningún bloque."
-      heading: Listado de bloques por {{name}}
-      title: Bloques por {{name}}
+      empty: "{{name}} todavía no ha creado ningún bloqueo."
+      heading: Listado de bloqueos por {{name}}
+      title: Bloqueos por {{name}}
     blocks_on: 
       empty: "{{name}} no ha sido bloqueado todavía."
-      heading: Listado de bloques en {{name}}
+      heading: Listado de bloqueos en {{name}}
       title: Bloqueos para {{name}}
     create: 
       flash: Ha creado un bloque en el usuario {{name}}.
       try_contacting: Por favor, antes de bloquear al usuario, intenta contactarle y darle un tiempo razonable de respuesta.
       try_waiting: Por favor, trata de darle al usuario un tiempo razonable de respuesta antes de bloquearle.
     edit: 
-      back: Ver todos los bloques
-      heading: Editando el bloque en {{name}}
+      back: Ver todos los bloqueos
+      heading: Editando el bloqueo en {{name}}
       needs_view: ¿Necesita el usuario hacer login antes de que este bloqueo sea eliminado_
       period: ¿Por cuánto tiempo, empezando ahora, tiene que estar el usuario bloqueado del uso de la API?
       reason: El motivo por el que {{name}} está siendo bloqueado. Por favor, escriba todo lo calmado y razonable que pueda, proporcionando todos los detalles que pueda sobre la situación. Tenga en cuenta que no todos los usuarios entienden la jerga de la comunidad, así que por favor trate de usar un lenguaje plano.
-      show: Ver este bloque
-      submit: Actualizar el bloque
-      title: Editando el bloque en {{name}}
+      show: Ver este bloqueo
+      submit: Actualizar el bloqueo
+      title: Editando el bloqueo en {{name}}
     filter: 
       block_expired: Este bloqueo ya ha expirado y no puede ser editado.
       block_period: El periodo de bloqueo debe de ser uno de los valores seleccionables de la lista desplegable
@@ -1533,13 +1556,13 @@ es:
       one: 1 hora
       other: "{{count}} horas"
     revoke: 
-      confirm: ¿Seguro que deseas revocar este bloque?
-      flash: Este bloque ha sido revocado.
-      heading: Revocando bloque en {{block_on}} por {{block_by}}
-      past: Este bloque terminó hace {{time}} y no puede ser revocado ahora.
+      confirm: ¿Seguro que deseas revocar este bloqueo?
+      flash: Este bloqueo ha sido revocado.
+      heading: Revocando bloqueo en {{block_on}} por {{block_by}}
+      past: Este bloqueo terminó hace {{time}} y no puede ser revocado ahora.
       revoke: Revocar
-      time_future: Este bloque finalizará en {{time}}.
-      title: Revocando bloque en {{block_on}}
+      time_future: Este bloqueo finalizará en {{time}}.
+      title: Revocando bloqueo en {{block_on}}
     show: 
       back: Ver todos los bloqueos
       confirm: ¿Está seguro?
@@ -1555,7 +1578,7 @@ es:
       time_past: Finalizado hace {{time}}
       title: "{{block_on}} bloqueado por {{block_by}}"
     update: 
-      only_creator_can_edit: Sólo el moderador que ha creado este bloque puede editarlo.
+      only_creator_can_edit: Sólo el moderador que ha creado este bloqueo puede editarlo.
       success: Bloqueo actualizado.
   user_role: 
     filter: 
diff --git a/config/locales/et.yml b/config/locales/et.yml
new file mode 100644 (file)
index 0000000..0267cb4
--- /dev/null
@@ -0,0 +1,400 @@
+# Messages for Estonian (Eesti)
+# Exported from translatewiki.net
+# Export driver: syck
+# Author: Avjoska
+et: 
+  activerecord: 
+    attributes: 
+      diary_entry: 
+        language: Keel
+        user: Kasutaja
+      friend: 
+        friend: Sõber
+        user: Kasutaja
+      message: 
+        recipient: Vastuvõtja
+        sender: Saatja
+      trace: 
+        description: Kirjeldus
+        latitude: Laiuskraadid
+        longitude: Pikkuskraadid
+        name: Nimi
+        size: Suurus
+        user: Kasutaja
+        visible: Nähtav
+      user: 
+        description: Kirjeldus
+        email: E-posti aadress
+        languages: Keeled
+        pass_crypt: Parool
+    models: 
+      country: Riik
+      language: Keel
+  browse: 
+    map: 
+      deleted: Kustutatud
+    node: 
+      edit: redigeeri
+      view_history: vaata redigeerimiste ajalugu
+    node_details: 
+      coordinates: "Koordinaadid:"
+    relation_details: 
+      members: "Liikmed:"
+    start_rjs: 
+      details: Detailid
+      object_list: 
+        details: Detailid
+      show_history: Näita ajalugu
+      wait: Oota...
+    way: 
+      edit: redigeeri
+      view_history: vaata ajalugu
+    way_history: 
+      view_details: vaata detaile
+  changeset: 
+    changesets: 
+      comment: Kommentaar
+  diary_entry: 
+    edit: 
+      language: "Keel:"
+      save_button: Salvesta
+      subject: "Teema:"
+    list: 
+      title: Kasutajate päevikud
+  geocoder: 
+    direction: 
+      east: ida
+      north: põhja
+      north_east: kirde
+      north_west: loode
+      south: lõuna
+      south_east: kagu
+      south_west: edela
+      west: lääne
+    search_osm_nominatim: 
+      prefix: 
+        amenity: 
+          airport: Lennujaam
+          atm: Pangaautomaat
+          auditorium: Auditoorium
+          bank: Pank
+          bench: Pink
+          bicycle_parking: Jalgrattaparkla
+          bicycle_rental: Jalgrattarent
+          bureau_de_change: Rahavahetus
+          bus_station: Bussijaam
+          cafe: Kohvik
+          car_rental: Autorent
+          car_wash: Autopesu
+          casino: Kasiino
+          cinema: Kino
+          clinic: Kliinik
+          club: Klubi
+          courthouse: Kohtuhoone
+          crematorium: Krematoorium
+          dentist: Hambaarst
+          drinking_water: Joogivesi
+          driving_school: Autokool
+          embassy: Saatkond
+          fast_food: Kiirtoit
+          fuel: Kütus
+          grave_yard: Surnuaed
+          hospital: Haigla
+          hotel: Hotell
+          ice_cream: Jäätis
+          kindergarten: Lasteaed
+          library: Raamatukogu
+          market: Turg
+          nightclub: Ööklubi
+          pharmacy: Apteek
+          police: Politsei
+          post_box: Postkast
+          post_office: Postkontor
+          preschool: Lasteaed
+          prison: Vangla
+          reception_area: Vastuvõtt
+          restaurant: Restoran
+          retirement_home: Vanadekodu
+          sauna: Saun
+          school: Kool
+          shop: Kauplus
+          supermarket: Supermarket
+          taxi: Takso
+          theatre: Teater
+          toilets: WC
+          university: Ülikool
+          waste_basket: Prügikast
+          wifi: WiFi
+          youth_centre: Noortekeskus
+        building: 
+          chapel: Kabel
+          church: Kirik
+          hotel: Hotell
+          school: Koolihoone
+          shop: Kauplus
+          stadium: Staadion
+          tower: Torn
+          train_station: Raudteejaam
+          university: Ülikoolihoone
+          "yes": Hoone
+        highway: 
+          bus_stop: Bussipeatus
+          cycleway: Jalgrattatee
+          footway: Jalgrada
+          pedestrian: Jalakäijatele
+        historic: 
+          castle: Kindlus
+          church: Kirik
+          icon: Ikoon
+          manor: Mõis
+          museum: Muuseum
+          ruins: Varemed
+          tower: Torn
+        landuse: 
+          cemetery: Surnuaed
+          forest: Mets
+          mountain: Mägi
+          railway: Raudtee
+          wetland: Soo
+        leisure: 
+          garden: Aed
+          golf_course: Golfiväljak
+          ice_rink: Uisuväli
+          miniature_golf: Minigolf
+          park: Park
+          playground: Mänguväljak
+          sports_centre: Spordikeskus
+          stadium: Saadion
+          swimming_pool: Ujula
+          water_park: Veepark
+        natural: 
+          beach: Rand
+          cave_entrance: Koopa sissepääs
+          coastline: Rannajoon
+          crater: Kraater
+          fjord: Fjord
+          geyser: Geiser
+          hill: Mägi
+          island: Saar
+          mud: Muda
+          peak: Mäetipp
+          river: Jõgi
+          spring: Allikas
+          tree: Puu
+          volcano: Vulkaan
+          water: Vesi
+          wetlands: Soo
+        place: 
+          airport: Lennujaam
+          city: Linn
+          country: Riik
+          county: Maakond
+          house: Maja
+          houses: Majad
+          island: Saar
+          islet: Saareke
+          municipality: Vald
+          postcode: Sihtnumber
+          state: Osariik
+          town: Linn
+          village: Küla
+        railway: 
+          station: Raudteejaam
+          tram: Trammitee
+          tram_stop: Trammipeatus
+        shop: 
+          books: Raamatupood
+          car_repair: Autoparandus
+          carpet: Vaibakauplus
+          clothes: Riidepood
+          computer: Arvutikauplus
+          cosmetics: Kosmeetikapood
+          drugstore: Apteek
+          dry_cleaning: Keemiline puhastus
+          fish: Kalapood
+          food: Toidupood
+          furniture: Mööbel
+          gallery: Galerii
+          hairdresser: Juuksur
+          insurance: Kindlustus
+          jewelry: Juveelipood
+          kiosk: Kiosk
+          mobile_phone: Mobiiltelefonide pood
+          music: Muusikapood
+          pet: Lemmikloomapood
+          shoes: Kingapood
+          sports: Spordipood
+          supermarket: Supermarket
+          toys: Mänguasjapood
+          travel_agency: Reisiagentuur
+        tourism: 
+          attraction: Turismiatraktsioon
+          camp_site: Laagriplats
+          guest_house: Külalistemaja
+          hotel: Hotell
+          information: Informatsioon
+          motel: Motell
+          museum: Muuseum
+          picnic_site: Piknikuplats
+          theme_park: Teemapark
+          zoo: Loomaaed
+  layouts: 
+    edit: Redigeeri
+    log_in: logi sisse
+    logout_tooltip: Logi välja
+    shop: Kauplus
+    welcome_user_link_tooltip: Sinu kasutajaleht
+  message: 
+    inbox: 
+      date: Kuupäev
+    message_summary: 
+      delete_button: Kustuta
+      read_button: Märgi loetuks
+      reply_button: Vasta
+    outbox: 
+      date: Kuupäev
+      subject: Teema
+    read: 
+      date: Kuupäev
+      from: Kellelt
+      reply_button: Vasta
+      subject: Teema
+      to: Kellele
+      unread_button: Märgi mitteloetuks
+    sent_message_summary: 
+      delete_button: Kustuta
+  notifier: 
+    email_confirm_html: 
+      greeting: Tere,
+    email_confirm_plain: 
+      greeting: Tere,
+    gpx_notification: 
+      greeting: Tere,
+    lost_password_html: 
+      greeting: Tere,
+    lost_password_plain: 
+      greeting: Tere,
+    message_notification: 
+      hi: Tere, {{to_user}},
+  oauth_clients: 
+    edit: 
+      submit: Redigeeri
+      title: Redigeeri oma avaldust
+    index: 
+      application: Avalduse nimi
+    new: 
+      submit: Registreeri
+      title: Registreeri uus avaldus
+  site: 
+    edit: 
+      user_page_link: kasutajaleht
+    key: 
+      table: 
+        entry: 
+          cemetery: Surnuaed
+          cycleway: Jalgrattatee
+          footway: Jalgtee
+          park: Park
+    search: 
+      search: Otsi
+      submit_text: Otsi
+      where_am_i: Kus ma olen?
+    sidebar: 
+      close: Sulge
+      search_results: Otsingu tulemused
+  trace: 
+    edit: 
+      description: "Kirjeldus:"
+      download: laadi alla
+      edit: redigeeri
+      filename: "Failinimi:"
+      map: kaart
+      owner: "Omanik:"
+      points: "Punktid:"
+      save_button: Salvesta muudatused
+      start_coord: "Alguskoordinaadid:"
+      visibility: "Nähtavus:"
+      visibility_help: mida see tähendab?
+    no_such_user: 
+      title: Sellist kasutajat ei ole
+    trace: 
+      view_map: Vaata kaarti
+    trace_form: 
+      description: Kirjeldus
+      help: Abi
+      upload_button: Laadi üles
+      visibility: Nähtavus
+      visibility_help: mida see tähendab?
+    view: 
+      description: "Kirjeldus:"
+      download: laadi alla
+      edit: redigeeri
+      filename: "Failinimi:"
+      map: kaardil
+      owner: "Omanik:"
+      points: "Punktid:"
+      start_coordinates: "Alguskoordinaadid:"
+      visibility: "Nähtavus:"
+  user: 
+    account: 
+      latitude: "Laiuskraadid:"
+      longitude: "Pikkuskraadid:"
+      preferred languages: "Eelistatud keeled:"
+      public editing: 
+        disabled link text: miks ma ei saa redigeerida?
+        enabled link text: mis see on?
+      save changes button: Salvesta muudatused
+    confirm: 
+      button: Kinnita
+    login: 
+      create_account: loo uus kasutajanimi
+      email or username: "E-posti aadress või kasutajanimi:"
+      heading: Logi sisse
+      login_button: Logi sisse
+      password: "Parool:"
+      title: Sisselogimise lehekülg
+    lost_password: 
+      email address: "E-posti aadress:"
+      heading: Parool ununenud?
+    make_friend: 
+      success: "{{name}} on nüüd Sinu sõber."
+    new: 
+      confirm email address: "Kinnita e-posti aadress:"
+      confirm password: "Kinnita parool:"
+      email address: "E-posti aadress:"
+      heading: Loo uus kasutajanimi
+      password: "Parool:"
+    reset_password: 
+      confirm password: "Kinnita parool:"
+      flash changed: Sinu parool on muudetud.
+      password: "Parool:"
+    view: 
+      activate_user: aktiveeri see kasutaja
+      add as friend: lisa sõbraks
+      create_block: blokeeri see kasutaja
+      delete_user: kustuta see kasutaja
+      description: Kirjeldus
+      diary: päevik
+      edits: muudatused
+      email address: "E-posti aadress:"
+      km away: "{{count}} kilomeetri kaugusel"
+      m away: "{{count}} meetri kaugusel"
+      my diary: minu päevik
+      new diary entry: uus päevikusissekanne
+      role: 
+        administrator: See kasutaja on administraator
+        moderator: See kasutaja on moderaator
+      send message: saada sõnum
+      your friends: Sinu sõbrad
+  user_block: 
+    edit: 
+      back: Vaata kõiki blokeeringuid
+    new: 
+      back: Vaata kõiki blokeeringuid
+    partial: 
+      confirm: Oled Sa kindel?
+    show: 
+      confirm: Oled Sa kindel?
+  user_role: 
+    revoke: 
+      confirm: Kinnita
index 5b1e6874c26947b0f931cf57dcc2aaf8eb9d88f7..62213b5892fb190093e407c609a3f721fa339080 100644 (file)
@@ -489,7 +489,6 @@ eu:
         noname: Izenik gabe
   layouts: 
     edit: Aldatu
-    edit_tooltip: Mapak aldatu
     export: Esportatu
     help_wiki: Laguntza eta Wiki
     history: Historia
@@ -511,10 +510,6 @@ eu:
     view_tooltip: Mapak ikusi
     welcome_user: Ongietorri, {{user_link}}
     welcome_user_link_tooltip: Zure lankide orrialdea
-  map: 
-    coordinates: "Koordenatuak:"
-    edit: Aldatu
-    view: Ikusi
   message: 
     delete: 
       deleted: Mezua ezabatuta
@@ -690,9 +685,6 @@ eu:
       heading: Erabiltzaile kontua baieztatu
     confirm_email: 
       button: Berretsi
-    friend_map: 
-      nearby mapper: "Hurbileko mapeatzaileak: [[nearby_user]]"
-      your location: Zure kokapena
     login: 
       create_account: kontua sortu
       email or username: "Eposta helbidea edo Erabiltzaile izena:"
@@ -713,6 +705,9 @@ eu:
       password: "Pasahitza:"
       signup: Izena eman
       title: Kontua sortu
+    popup: 
+      nearby mapper: Hurbileko mapeatzaileak
+      your location: Zure kokapena
     remove_friend: 
       not_a_friend: "{{name}} ez da zure laguna."
     reset_password: 
@@ -723,10 +718,8 @@ eu:
       title: Pasahitza berrezarri
     view: 
       add as friend: lagun bezala
-      add image: Irudia gehitu
       ago: (duela {{time_in_words_ago}})
       confirm: Berretsi
-      delete image: Irudia ezabatu
       description: Deskribapen
       edits: aldaketak
       email address: "Helbide elektronikoa:"
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
new file mode 100644 (file)
index 0000000..cda24e3
--- /dev/null
@@ -0,0 +1,341 @@
+# Messages for Persian (فارسی)
+# Exported from translatewiki.net
+# Export driver: syck
+# Author: Grille chompa
+fa: 
+  activerecord: 
+    attributes: 
+      diary_entry: 
+        language: زبان
+        latitude: عرض جغرافیایی
+        longitude: طول جغرافیایی
+        user: کاربر
+      friend: 
+        friend: دوست
+        user: کاربر
+      trace: 
+        latitude: عرض جغرافیایی
+        longitude: طول جغرافیایی
+        name: نام
+        user: کاربر
+      user: 
+        pass_crypt: کلمه عبور
+    models: 
+      country: کشور
+      friend: دوست
+      language: زبان
+      message: پیغام
+      node: گره
+      relation: ارتباط
+      user: کاربر
+      way: راه
+  browse: 
+    common_details: 
+      version: "نسخه :"
+    containing_relation: 
+      entry: ارتباطات {{relation_name}}
+    node: 
+      download: "{{download_xml_link}}، {{view_history_link}} یا {{edit_link}}"
+      edit: ویرایش
+      node: گره
+      node_title: "گره: {{node_name}}"
+    node_details: 
+      part_of: "قسمتی از:"
+    not_found: 
+      type: 
+        node: گره
+        relation: ارتباط
+        way: راه
+    paging_nav: 
+      of: از
+    relation: 
+      relation: ارتباط
+      relation_title: "ارتباطات: {{relation_name}}"
+    relation_details: 
+      part_of: "قسمتی از:"
+    relation_member: 
+      entry_role: "{{type}} {{name}} به عنوان {{role}}"
+      type: 
+        node: گره
+        relation: ارتباط
+        way: راه
+    start_rjs: 
+      details: جزئیات
+      object_list: 
+        details: جزئیات
+        history: 
+          type: 
+            node: گره [[id]]
+            way: راه [[id]]
+        selected: 
+          type: 
+            node: گره [[id]]
+            way: راه [[id]]
+        type: 
+          node: گره
+          way: راه
+    tag_details: 
+      tags: "برچسب‌ها:"
+    timeout: 
+      type: 
+        node: گره
+        relation: ارتباط
+        way: راه
+    way: 
+      download: "{{download_xml_link}}، {{view_history_link}} یا {{edit_link}}"
+      edit: ویرایش
+      way: راه
+      way_title: "راه: {{way_name}}"
+    way_details: 
+      nodes: "گره ها :"
+      part_of: "قسمتی از:"
+  changeset: 
+    changeset: 
+      big_area: (بزرگ)
+    changesets: 
+      user: کاربر
+  diary_entry: 
+    edit: 
+      language: "زبان:"
+      latitude: "عرض جغرافیایی:"
+      longitude: "طول جغرافیایی:"
+      save_button: ذخیره
+    location: 
+      edit: ویرایش
+    view: 
+      save_button: ذخیره
+  export: 
+    start: 
+      latitude: "عرض:"
+      longitude: "طول:"
+      options: تنظیمات
+  geocoder: 
+    description_osm_namefinder: 
+      prefix: "{{distance}} {{direction}} {{type}}"
+    direction: 
+      east: شرق
+      north: شمال
+      north_east: شمال شرقی
+      north_west: شمال غربی
+      south: جنوب
+      south_east: جنوب شرقی
+      south_west: جنوب غربی
+      west: غرب
+    search_osm_namefinder: 
+      suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} {{parentname}})"
+      suffix_place: ", {{distance}} {{direction}} {{placename}}"
+    search_osm_nominatim: 
+      prefix: 
+        amenity: 
+          airport: فرودگاه
+          atm: عابر بانک
+          bank: بانک
+          bench: نیمکت
+          brothel: فاحشه خانه
+          cafe: کافه
+          cinema: سینما
+          clinic: درمانگاه
+          courthouse: دادگاه
+          dentist: دندانپزشک
+          dormitory: خوابگاه دانشجویی
+          embassy: سفارت
+          fire_station: آتش نشانی
+          fuel: پمپ بنزین
+          hospital: بیمارستان
+          hotel: هتل
+          kindergarten: کودکستان
+          library: کتابخانه
+          market: بازار
+          marketplace: بازار
+          office: دفتر
+          park: پارک
+          parking: پارکینگ
+          pharmacy: داروخانه
+          police: پلیس
+          post_box: صندوق پست
+          post_office: اداره پست
+          prison: زندان
+          pub: میخانه
+          recycling: بازیافت
+          restaurant: رستوران
+          school: مدرسه
+          supermarket: سوپرمارکت
+          taxi: تاکسی
+          theatre: تئاتر
+          townhall: شهر داری
+          university: دانشگاه
+          waste_basket: سطل اشغال
+        building: 
+          garage: گاراژ
+          hotel: هتل
+          house: خانه
+          stadium: ورزشگاه
+          tower: برج
+        highway: 
+          bus_stop: ایستگاه اتوبوس
+          motorway: اتوبان
+          path: مسیر
+          road: جاده
+          steps: پله
+          trunk: بزرگراه
+        historic: 
+          castle: قلعه
+          museum: موزه
+          tower: برج
+        landuse: 
+          farmland: زمین کشاورزی
+          forest: جنگل
+          mountain: کوه
+          park: پارک
+          railway: ریل
+        leisure: 
+          garden: باغ
+          park: پارک
+          stadium: ورزشگاه
+        natural: 
+          beach: ساحل
+          channel: کانال
+          coastline: ساحل
+          hill: تپه
+          island: جزیره
+          point: نقطه
+          river: رود خانه
+          rock: صخره
+          tree: درخت
+          valley: دره
+          volcano: کوه آتشفشان
+          water: اب
+          wood: جنگل
+        place: 
+          airport: فرودگاه
+          city: شهر بزرگ
+          country: کشور
+          farm: مزرعه
+          house: خانه
+          island: جزیره
+          sea: دریا
+          suburb: محله
+          town: شهر
+          village: دهکده
+        shop: 
+          bakery: نانوایی
+          butcher: قصاب
+          kiosk: کیوسک
+          market: بازار
+          supermarket: سوپرمارکت
+        tourism: 
+          hotel: هتل
+          motel: متل
+          museum: موزه
+          valley: دره
+          zoo: باغ وحش
+        waterway: 
+          canal: کانال
+          river: رودخانه
+          waterfall: ابشار
+  message: 
+    inbox: 
+      date: تاریخ
+      from: از
+      subject: عنوان
+    outbox: 
+      date: تاریخ
+      subject: عنوان
+      to: به
+    read: 
+      date: تاریخ
+      from: از
+      to: به
+  notifier: 
+    diary_comment_notification: 
+      hi: سلام {{to_user}} ،
+    email_confirm_html: 
+      greeting: سلام ،
+    email_confirm_plain: 
+      greeting: سلام ،
+    gpx_notification: 
+      greeting: سلام ،
+    lost_password_html: 
+      greeting: سلام ،
+    lost_password_plain: 
+      greeting: سلام ،
+    message_notification: 
+      hi: سلام {{to_user}},
+    signup_confirm_plain: 
+      greeting: سلام!
+  oauth_clients: 
+    edit: 
+      submit: ویرایش
+    form: 
+      name: نام
+  site: 
+    key: 
+      table: 
+        entry: 
+          cemetery: گورستان
+          farm: مزرعه
+          forest: جنگل
+          lake: 
+            - دریاچه
+          motorway: اتوبان
+          park: پارک
+          school: 
+            - مدرسه
+            - دانشگاه
+          summit: 
+            - قله
+            - قله
+          trunk: بزرگراه
+    sidebar: 
+      close: بستن
+  trace: 
+    edit: 
+      edit: ویرایش
+      map: نقشه
+      tags: "برچسب‌ها:"
+    trace: 
+      by: توسط
+      edit: ویرایش
+      edit_map: ویرایش نقشه
+      in: در
+      map: نقشه
+      more: بیشتر
+    trace_form: 
+      help: راهنما
+      tags: برچسب‌ها
+    trace_optionals: 
+      tags: برچسب‌ها
+    view: 
+      edit: ویرایش
+      map: نقشه
+      tags: "برچسب‌ها:"
+  user: 
+    account: 
+      image: "تصویر :"
+      latitude: "عرض جغرافیایی:"
+      longitude: "طول جغرافیایی:"
+    confirm_email: 
+      button: تأیید
+    login: 
+      heading: ورود به سیستم
+      login_button: ورود
+      password: "کلمه عبور:"
+      title: ورود به سیستم
+    new: 
+      password: "کلمه عبور:"
+    popup: 
+      friend: دوست
+    reset_password: 
+      password: "کلمه عبور:"
+    view: 
+      settings_link_text: تنظیمات
+  user_block: 
+    partial: 
+      edit: ویرایش
+    show: 
+      edit: ویرایش
+  user_role: 
+    grant: 
+      confirm: تائید
+    revoke: 
+      confirm: تأیید
index beaa1ff799a5fd47983590db42f99dabd47b2116..cb579699d66b4e695ea6354eae69188972c4e54e 100644 (file)
@@ -56,6 +56,7 @@ fi:
       node: Piste
       node_tag: Pisteen tägi
       notifier: Ilmoitus
+      old_node: Vanha piste
       old_relation: Vanha relaatio
       old_way: Vanha polku
       relation: Relaatio
@@ -122,7 +123,7 @@ fi:
         node: Näytä piste suurella kartalla
         relation: Näytä relaatio suurella kartalla
         way: Näytä polku suurella kartalla
-      loading: Lataa tietoja...
+      loading: Ladataan…
     node: 
       download: "{{download_xml_link}}, {{view_history_link}} tai {{edit_link}}"
       download_xml: Lataa XML
@@ -304,6 +305,10 @@ fi:
       recent_entries: Uusimmat päiväkirjamerkinnät
       title: Käyttäjien päiväkirjamerkinnät
       user_title: Käyttäjän {{user}} päiväkirja
+    location: 
+      edit: Muokkaa
+      location: "Sijainti:"
+      view: Näytä
     new: 
       title: Uusi päiväkirjamerkintä
     no_such_entry: 
@@ -319,7 +324,7 @@ fi:
       login: Kirjaudu sisään
       login_to_leave_a_comment: "{{login_link}} kommentoidaksesi"
       save_button: Tallenna
-      title: Käyttäjien päiväkirjat | {{user}}
+      title: Käyttäjän {{user}} päiväkirja | {{title}}
       user_title: Käyttäjän {{user}} päiväkirja
   export: 
     start: 
@@ -506,6 +511,7 @@ fi:
           primary: Kantatie
           primary_link: Kantatie
           raceway: Kilparata
+          residential: Asuinkatu
           road: Tie
           secondary: Seututie
           secondary_link: Seututie
@@ -528,11 +534,13 @@ fi:
           wreck: Hylky
         landuse: 
           cemetery: Hautausmaa
+          commercial: Kaupallinen alue
           construction: Rakennustyömaa
           forest: Metsä
           grass: Nurmikko
           industrial: Teollisuusalue
           landfill: Kaatopaikka
+          meadow: Niitty
           military: Sotilasalue
           mine: Kaivos
           mountain: Vuori
@@ -607,12 +615,14 @@ fi:
           town: Kaupunki
           village: Kylä
         railway: 
+          abandoned: Hylätty rautatie
           construction: Rakenteilla oleva rautatie
           disused_station: Käytöstä poistunut rautatieasema
           level_crossing: Tasoristeys
           monorail: Yksikiskoinen raide
           platform: Asemalaituri
           station: Rautatieasema
+          subway: Metroasema
           subway_entrance: Metron sisäänkäynti
           yard: Ratapiha
         shop: 
@@ -691,18 +701,18 @@ fi:
       base: 
         cycle_map: Pyöräilykartta
         noname: Nimettömät tiet
+    site: 
+      edit_tooltip: Muokkaa karttaa
   layouts: 
     donate: Tue OpenStreetMapia {{link}} laitteistopäivitysrahastoon.
     donate_link_text: lahjoittamalla
     edit: Muokkaa
-    edit_tooltip: Muokkaa karttoja
     export: Vienti
     export_tooltip: Karttatiedon vienti
     gps_traces: GPS-jäljet
     help_wiki: Wiki ja ohjeet
     help_wiki_tooltip: Projektin ohje ja wiki
     history: Historia
-    history_tooltip: Muutoshistoria
     home: koti
     home_tooltip: Siirry kotisijaintiin
     inbox: viestit ({{count}})
@@ -734,13 +744,9 @@ fi:
     tag_line: Vapaa wikimaailmankartta
     user_diaries: Päiväkirjamerkinnät
     view: Kartta
-    view_tooltip: Näytä kartat
+    view_tooltip: Näytä kartta
     welcome_user: Tervetuloa, {{user_link}}
     welcome_user_link_tooltip: Käyttäjäsivusi
-  map: 
-    coordinates: "Koordinaatit:"
-    edit: Muokkaa
-    view: Näytä
   message: 
     delete: 
       deleted: Viesti poistettu
@@ -772,8 +778,8 @@ fi:
       subject: Otsikko
       title: Lähetä viesti
     no_such_user: 
-      heading: Käyttäjää tai viestiä ei ole
-      title: Käyttäjää tai viestiä ei ole
+      heading: Käyttäjää ei löydy
+      title: Käyttäjää ei löydy
     outbox: 
       date: Päiväys
       inbox: saapuneet
@@ -968,6 +974,9 @@ fi:
     sidebar: 
       close: Sulje
       search_results: Hakutulokset
+  time: 
+    formats: 
+      friendly: "%e. %Bta %Y kello %H:%M"
   trace: 
     create: 
       trace_uploaded: GPX-tiedostosi on nyt palvelimella ja jonossa tietokantaan syötettäväksi. Yleensä tämä valmistuu puolen tunnin sisällä. Saat vielä sähköpostiisi vahvistuksen asiasta.
@@ -1010,6 +1019,7 @@ fi:
         other: "{{count}} pistettä"
       edit: muokkaa
       edit_map: Muokkaa karttaa
+      identifiable: TUNNISTETTAVA
       in: tägeillä
       map: sijainti kartalla
       more: tiedot
@@ -1034,6 +1044,9 @@ fi:
       traces_waiting: Lähettämiäsi jälkiä on jo {{count}} käsittelyjonossa odottamassa tallennusta tietokantaan. Olisi huomaavaista jos odottaisit näiden valmistuvan ennen kuin lähetät lisää jälkiä. Näin muidenkin käyttäjien lähettämät jäljet pääsevät aiemmin tietokantaan.
     trace_optionals: 
       tags: Tägit
+    trace_paging_nav: 
+      next: Seuraava &raquo;
+      previous: "&laquo; Edellinen"
     view: 
       delete_track: Poista tämä jälki
       description: "Kuvaus:"
@@ -1058,14 +1071,21 @@ fi:
       trackable: Jäljitettävissä (pisteet jaetaan järjestettynä aikaleimoineen, mutta nimettömänä)
   user: 
     account: 
+      current email address: "Nykyinen sähköpostiosoite:"
+      delete image: Poista nykyinen kuva
       email never displayed publicly: (ei näy muille)
       flash update success: Käyttäjätiedot on päivitetty onnistuneesti.
       flash update success confirm needed: Käyttäjätiedot on päivitetty onnistuneesti. Vahvista sähköpostiosoitteesi sinulle lähetettyjen ohjeiden mukaisesti.
       home location: "Kodin sijainti:"
+      image: "Kuva:"
+      image size hint: (parhaiten toimivat neliöt kuvat, joiden koko on vähintään 100x100)
+      keep image: Säilytä nykyinen kuva
       latitude: "Leveyspiiri:"
       longitude: "Pituuspiiri:"
       make edits public button: Tee muokkauksistani julkisia
       my settings: Käyttäjän asetukset
+      new email address: "Uusi sähköpostiosoite:"
+      new image: Lisää kuva
       no home location: Et ole määrittänyt kodin sijaintia.
       preferred languages: "Kielivalinnat:"
       profile description: "Kuvaustekstisi:"
@@ -1078,6 +1098,7 @@ fi:
         heading: "Muokkaukset julkisia:"
       public editing note: 
         heading: Julkinen muokkaus
+      replace image: Korvaa nykyinen kuva
       return to profile: Palaa profiilisivulle
       save changes button: Tallenna muutokset
       title: Asetusten muokkaus
@@ -1096,9 +1117,6 @@ fi:
       success: Sähköpostiosoite on vahvistettu. Kiitos liittymisestä!
     filter: 
       not_an_administrator: Tähän toimintoon tarvitaan ylläpitäjän oikeudet.
-    friend_map: 
-      nearby mapper: "Lähellä oleva kartoittaja: [[nearby_user]]"
-      your location: Oma sijaintisi
     go_public: 
       flash success: Kaikki tekemäsi muokkaukset ovat nyt julkisia.
     login: 
@@ -1111,6 +1129,7 @@ fi:
       lost password link: Salasana unohtunut?
       password: "Salasana:"
       please login: Kirjaudu sisään tai {{create_user_link}}.
+      remember: "Muista minut:"
       title: Kirjautumissivu
     lost_password: 
       email address: "Sähköpostiosoite:"
@@ -1143,6 +1162,10 @@ fi:
       body: Käyttäjää {{user}} ei löytynyt. Tarkista oikeikirjoitus.
       heading: Käyttäjää {{user}} ei ole olemassa
       title: Haettua käyttäjää ei ole olemassa
+    popup: 
+      friend: Ystävä
+      nearby mapper: Lähellä oleva kartoittaja
+      your location: Oma sijaintisi
     remove_friend: 
       not_a_friend: "{{name}} ei ole enää kaverisi."
       success: "{{name}} poistettiin kaverilistastasi."
@@ -1159,16 +1182,13 @@ fi:
     view: 
       activate_user: aktivoi tämä käyttäjä
       add as friend: lisää kaveriksi
-      add image: Tallenna
       ago: ({{time_in_words_ago}} sitten)
       block_history: näytä estot
       blocks by me: tekemäni estot
       blocks on me: saadut estot
-      change your settings: muuta asetuksiasi
       confirm: Vahvista
       create_block: estä tämä käyttäjä
       deactivate_user: deaktivoi tämä käyttäjä
-      delete image: Poista kuva
       delete_user: poista käyttäjä
       description: Kuvaus
       diary: päiväkirja
@@ -1184,12 +1204,11 @@ fi:
       my edits: omat muokkaukset
       my settings: asetukset
       my traces: omat jäljet
-      my_oauth_details: Näytä omat OAuth-yksityiskohdat
-      nearby users: "Lähialueen käyttäjät:"
+      nearby users: Muut lähialueen käyttäjät
       new diary entry: uusi päiväkirjamerkintä
       no friends: Sinulla ei ole vielä kavereita.
-      no home location: Käyttäjä ei ole asettanut kotisijaintiaan.
       no nearby users: Valitun sijainnin lähellä ei ole tiedossa muita käyttäjiä.
+      oauth settings: oauth-asetukset
       remove as friend: poista kavereista
       role: 
         administrator: Tämä käyttäjä on ylläpitäjä.
@@ -1203,8 +1222,6 @@ fi:
       send message: lähetä viesti
       settings_link_text: asetussivulla
       traces: jäljet
-      upload an image: Tallenna kuva
-      user image heading: Käyttäjän kuva
       user location: Käyttäjän sijainti
       your friends: Kaverit
   user_block: 
index d21f18d9b339335385775394d3fa8e76fd6225ff..728d24ee888e9203b2269d3580bb31974546fa02 100644 (file)
@@ -322,6 +322,10 @@ fr:
       recent_entries: "Entrées récentes:"
       title: Journaux des utilisateurs
       user_title: Journal de {{user}}
+    location: 
+      edit: Modifier
+      location: "Lieu :"
+      view: Afficher
     new: 
       title: Nouvelle entrée du journal
     no_such_entry: 
@@ -361,6 +365,9 @@ fr:
       output: Sortie
       paste_html: Collez le code HTML pour incorporer dans un site web.
       scale: Échelle
+      too_large: 
+        body: Cette zone est trop vaste pour être exportée comme données XML OpenStreetMap. Veuillez zoomer ou sélectionner une zone plus petite.
+        heading: Zone trop grande
       zoom: Zoom
     start_rjs: 
       add_marker: Ajouter un marqueur à la carte
@@ -777,7 +784,7 @@ fr:
           greengrocer: Marchand de fruits et légumes
           grocery: Épicerie
           hairdresser: Coiffeur
-          hardware: Magasin de matériel informatique
+          hardware: Quincaillerie
           hifi: Magasin Hi-Fi
           insurance: Assurance
           jewelry: Bijouterie
@@ -852,21 +859,23 @@ fr:
         cycle_map: Carte cyclable
         noname: SansNom
     site: 
+      edit_disabled_tooltip: Zoomez en avant pour modifier la carte
+      edit_tooltip: Modifier la carte
       edit_zoom_alert: Vous devez zoomer pour modifier la carte
+      history_disabled_tooltip: Zoomez en avant pour voir les modifications dans cette zone
+      history_tooltip: Voir les modifications dans cette zone
       history_zoom_alert: Vous devez zoomer pour voir l’historique des modifications
   layouts: 
     donate: Soutenez OpenStreetMap, {{link}} au fond pour améliorer le matériel.
     donate_link_text: participez
     edit: Modifier
-    edit_tooltip: Modifier des cartes
     export: Exporter
     export_tooltip: Exporter les données de la carte
     gps_traces: Traces GPS
-    gps_traces_tooltip: Gérer les traces
+    gps_traces_tooltip: Gérer les traces GPS
     help_wiki: Aide &amp; Wiki
     help_wiki_tooltip: Aide et site Wiki du projet
     history: Historique
-    history_tooltip: Historique du groupe de modifications
     home: Chez moi
     home_tooltip: Aller à l'emplacement de mon domicile
     inbox: Boîte aux lettres ({{count}})
@@ -902,13 +911,9 @@ fr:
     user_diaries: Journaux
     user_diaries_tooltip: Voir les journaux d'utilisateurs
     view: Voir
-    view_tooltip: Afficher les cartes
+    view_tooltip: Afficher la carte
     welcome_user: Bienvenue, {{user_link}}
     welcome_user_link_tooltip: Votre page utilisateur
-  map: 
-    coordinates: Coordonnées
-    edit: Modifier
-    view: Carte
   message: 
     delete: 
       deleted: Message supprimé
@@ -939,10 +944,14 @@ fr:
       send_message_to: Envoyer un nouveau message à {{name}}
       subject: Sujet
       title: Envoyer un message
+    no_such_message: 
+      body: Désolé, il n'y a aucun message avec cet identifiant.
+      heading: Message introuvable
+      title: Message introuvable
     no_such_user: 
-      body: Désolé, il n'y a aucun utilisateur ni message avec ce nom ou cet identifiant
-      heading: Utilisateur ou message inexistant
-      title: Utilisateur ou message inexistant
+      body: Désolé, aucun utilisateur ne porte ce nom.
+      heading: Utilisateur inexistant
+      title: Utilisateur inexistant
     outbox: 
       date: Date
       inbox: boîte de réception
@@ -966,6 +975,9 @@ fr:
       title: Lire le message
       to: À
       unread_button: Marque comme non lu
+      wrong_user: Vous êtes identifié comme « {{user}} » mais le message que vous essayez de lire n'a été envoyé ni à ni par cet utilisateur. Veuillez vous connecter avec l'identifiant correct pour pouvoir le lire.
+    reply: 
+      wrong_user: Vous êtes identifié(e) comme « {{user}} » mais le message auquel vous souhaitez répondre n'a pas été envoyé à cet utilisateur. Veuillez vous connecter avec l'identifiant correct pour pouvoir répondre.
     sent_message_summary: 
       delete_button: Supprimer
   notifier: 
@@ -986,8 +998,9 @@ fr:
       hopefully_you_1: Quelqu'un (problablement vous) voudrait changer son adresse de courriel de
       hopefully_you_2: "{{server_url}} à {{new_address}}."
     friend_notification: 
+      befriend_them: "Vous pouvez également l'ajouter comme ami ici : {{befriendurl}}."
       had_added_you: "{{user}} vous a ajouté comme ami dans OpenStreetMap."
-      see_their_profile: Vous pouvez voir son profil sur {{userurl}} et l’ajouter comme ami si vous le souhaitez.
+      see_their_profile: "Vous pouvez voir son profil ici : {{userurl}}."
       subject: "[OpenStreetMap] {{user}} vous a ajouté comme ami"
     gpx_notification: 
       and_no_tags: et sans balise.
@@ -1214,6 +1227,9 @@ fr:
     sidebar: 
       close: Fermer
       search_results: Résultats de la recherche
+  time: 
+    formats: 
+      friendly: "%e %B %Y à %H:%M"
   trace: 
     create: 
       trace_uploaded: Votre fichier GPX a été envoyé et est en attente de son intégration dans la base de données. Ceci prend en général moins d'une demie heure, et un email vous sera envoyé lorsque cette tâche sera finie.
@@ -1247,7 +1263,7 @@ fr:
     no_such_user: 
       body: Désolé, aucun utilisateur ne porte le nom {{user}}. Veuillez vérifier l'orthographe. Si vous avez cliqué sur un lien, celui-ci est faux.
       heading: L’utilisateur {{user}} n’existe pas
-      title: Aucun utilisteur trouvé
+      title: Utilisateur inexistant
     offline: 
       heading: Stockage GPX hors ligne
       message: Le système de stockage et d'envoi des GPX est actuellement indisponible.
@@ -1316,15 +1332,20 @@ fr:
   user: 
     account: 
       current email address: "Adresse de courriel actuelle :"
+      delete image: Supprimer l'image actuelle
       email never displayed publicly: (jamais affiché publiquement)
       flash update success: Informations sur l'utilisateur mises à jour avec succès.
       flash update success confirm needed: Informations sur l'utilisateur mises à jour avec succès. Vérifiez votre boîte mail afin de valider la vérification de votre nouvelle adresse e-mail.
       home location: "Emplacement du domicile :"
+      image: "Image :"
+      image size hint: (les images carrées d'au moins 100×100 pixels fonctionnent le mieux)
+      keep image: Garder l'image actuelle
       latitude: "Latitude:"
       longitude: "Longitude:"
       make edits public button: Rendre toutes mes modifications publiques
       my settings: Mes options
       new email address: "Nouvelle adresse de courriel :"
+      new image: Ajouter une image
       no home location: Vous n'avez pas indiqué l'emplacement de votre domicile.
       preferred languages: "Langues préférées :"
       profile description: "Description du profil :"
@@ -1338,6 +1359,7 @@ fr:
       public editing note: 
         heading: Modification publique
         text: "Votre compte est actuellement en mode \"modifications anonymes\" : il n'existe pas de lien entre vos modifications et votre compte utilisateur et les autres contributeurs ne peuvent pas vous envoyer de message ni connaître votre localisation géographique. Pour qu'il soit possible de lister vos contributions et permettre aux autres personnes de vous contacter via ce site, cliquez sur le bouton ci-dessous. <b>Depuis le basculement de l'API en version 0.6, seuls les utilisateurs en mode \"modifications publiques\" peuvent modifier les cartes</b> (<a href=\"http://wiki.openstreetmap.org/wiki/Anonymous_edits\">en savoir plus</a>).<ul><li>Votre adresse de courriel ne sera pas rendue publique.</li><li>Cette opération ne peut pas être annulée et tous les nouveaux utilisateurs sont en mode \"modifications publiques\" par défaut.</li></ul>"
+      replace image: Remplacer l'image actuelle
       return to profile: Retourner au profil
       save changes button: Sauvegarder les changements
       title: Modifier le compte
@@ -1356,9 +1378,6 @@ fr:
       success: Adresse email confirmée, merci de vous être enregistré !
     filter: 
       not_an_administrator: Vous devez être administrateur pour effectuer cette action.
-    friend_map: 
-      nearby mapper: "Mappeur dans les environs: [[nearby_user]]"
-      your location: Votre emplacement
     go_public: 
       flash success: Toutes vos modifications sont dorénavant publiques, et vous êtes autorisé a modifier.
     login: 
@@ -1371,7 +1390,12 @@ fr:
       lost password link: Vous avez perdu votre mot de passe ?
       password: "Mot de passe :"
       please login: Veuillez vous connecter ou {{create_user_link}}.
+      remember: "Se souvenir de moi :"
       title: Se connecter
+    logout: 
+      heading: Déconnexion d'OpenStreetMap
+      logout_button: Déconnexion
+      title: Déconnexion
     lost_password: 
       email address: "Adresse e-mail :"
       heading: Vous avez perdu votre mot de passe ?
@@ -1404,6 +1428,10 @@ fr:
       body: Désolé, il n'y a pas d'utilisateur avec le nom {{user}}. Veuillez vérifier l'orthographe, ou le lien que vous avez cliqué n'est pas valide.
       heading: L'utilisateur {{user}} n'existe pas
       title: Utilisateur inexistant
+    popup: 
+      friend: Ami
+      nearby mapper: Mappeur dans les environs
+      your location: Votre emplacement
     remove_friend: 
       not_a_friend: "{{name}} n'est pas parmi vos amis."
       success: "{{name}} a été retiré de vos amis."
@@ -1420,17 +1448,14 @@ fr:
     view: 
       activate_user: activer cet utilisateur
       add as friend: ajouter en tant qu'ami
-      add image: Ajouter une image
       ago: (il y a {{time_in_words_ago}})
       block_history: blocages reçus
       blocks by me: blocages donnés
       blocks on me: mes blocages
-      change your settings: modifiez vos options
       confirm: Confirmer
       create_block: bloquer cet utilisateur
       created from: "Créé depuis :"
       deactivate_user: désactiver cet utilisateur
-      delete image: Effacer l'image
       delete_user: supprimer cet utilisateur
       description: Description
       diary: journal
@@ -1446,12 +1471,11 @@ fr:
       my edits: mes modifications
       my settings: mes options
       my traces: mes traces
-      my_oauth_details: Voir mes détails OAuth
-      nearby users: "Utilisateurs proches de vous :"
+      nearby users: Autres utilisateurs à proximité
       new diary entry: nouvelle entrée dans le journal
       no friends: Vous n'avez pas encore ajouté d'ami
-      no home location: Aucun lieu n'a été défini.
-      no nearby users: Il n'y a pas encore d'utilisateur à proximité.
+      no nearby users: Aucun utilisateur n'a encore signalé qu'il cartographiait à proximité.
+      oauth settings: paramètres OAuth
       remove as friend: enlever en tant qu'ami
       role: 
         administrator: Cet utilisateur est un adminstrateur
@@ -1466,8 +1490,6 @@ fr:
       settings_link_text: options
       traces: traces
       unhide_user: ré-afficher cet utilisateur
-      upload an image: Envoyer une image
-      user image heading: Image utilisateur
       user location: Emplacement de l'utilisateur
       your friends: Vos amis
   user_block: 
index 30f054f78d73b338e0b21e86e2a32ee768ef1cfb..2b671631472decd19fd6ed4e3c1c1793b7476071 100644 (file)
@@ -243,6 +243,10 @@ fur:
       recent_entries: "Ultimis vôs dal diari:"
       title: Diaris dai utents
       user_title: Diari di {{user}}
+    location: 
+      edit: Cambie
+      location: "Lûc:"
+      view: Viôt
     new: 
       title: Gnove vôs dal diari
     view: 
@@ -328,6 +332,7 @@ fur:
           bureau_de_change: Ufizi di cambi
           bus_station: Stazion des corieris
           car_wash: Lavaç machinis
+          casino: Casinò
           cinema: Cine
           clinic: Cliniche
           dentist: Dentist
@@ -378,17 +383,21 @@ fur:
         landuse: 
           cemetery: Simiteri
           commercial: Aree comerciâl
+          construction: In costruzion
           industrial: Aree industriâl
           military: Aree militâr
           nature_reserve: Riserve naturâl
           park: Parc
+          railway: Ferade
           residential: Aree residenziâl
         leisure: 
           garden: Zardin
           golf_course: Troi di golf
           miniature_golf: Minigolf
+          nature_reserve: Riserve naturâl
           park: Parc
           sports_centre: Centri sportîf
+          stadium: Stadi
           swimming_pool: Pissine
         natural: 
           bay: Rade
@@ -427,6 +436,7 @@ fur:
           supermarket: Supermarcjât
           toys: Negozi di zugatui
         tourism: 
+          information: Informazions
           museum: Museu
           valley: Val
           viewpoint: Pont panoramic
@@ -446,15 +456,13 @@ fur:
     donate: Sosten OpenStreetMap {{link}} al font pal inzornament dal hardware.
     donate_link_text: donant
     edit: Cambie
-    edit_tooltip: Modifiche mapis
     export: Espuarte
     export_tooltip: Espuarte i dâts de mape
     gps_traces: Percors GPS
-    gps_traces_tooltip: Gjestìs i percors
+    gps_traces_tooltip: Gjestìs i percors GPS
     help_wiki: Jutori &amp; Vichi
     help_wiki_tooltip: Jutori &amp; Vichi pal progjet
     history: Storic
-    history_tooltip: Storic dal grup di cambiaments
     home: lûc iniziâl
     home_tooltip: Va al lûc iniziâl
     inbox: "{{count}} in jentrade"
@@ -489,13 +497,9 @@ fur:
     user_diaries: Diaris dai utents
     user_diaries_tooltip: Viôt i diaris dai utents
     view: Viôt
-    view_tooltip: Viôt lis mapis
+    view_tooltip: Viôt la mape
     welcome_user: Benvignût/de, {{user_link}}
     welcome_user_link_tooltip: La tô pagjine utent
-  map: 
-    coordinates: "Coordenadis:"
-    edit: Cambie
-    view: Viôt
   message: 
     delete: 
       deleted: Messaç eliminât
@@ -708,6 +712,7 @@ fur:
       visibility: "Visibilitât:"
   user: 
     account: 
+      current email address: "Direzion di pueste eletroniche atuâl:"
       email never displayed publicly: (mai mostrade in public)
       flash update success: Informazions dal utent inzornadis cun sucès.
       flash update success confirm needed: Informazions dal utent inzornadis cun sucès. Controle la tô pueste par confermâ la tô gnove direzion di pueste eletroniche.
@@ -736,9 +741,6 @@ fur:
       button: Conferme
       press confirm button: Frache sul boton di conferme par confermâ la gnove direzion di pueste.
       success: Tu âs confermât la tô direzion di pueste, graziis par jessiti regjistrât
-    friend_map: 
-      nearby mapper: "Mapadôr dongje: [[nearby_user]]"
-      your location: La tô posizion
     login: 
       auth failure: Nus displâs, ma no si à rivât a jentrâ cun i dâts inserîts.
       create_account: cree un profîl
@@ -747,7 +749,12 @@ fur:
       login_button: Jentre
       lost password link: Password pierdude?
       please login: Jentre o {{create_user_link}}.
+      remember: Visiti di me
       title: Jentre
+    logout: 
+      heading: Va fûr di OpenStreetMap
+      logout_button: Jes
+      title: Jes
     lost_password: 
       email address: "Direzion di pueste:"
     make_friend: 
@@ -767,6 +774,10 @@ fur:
       body: Nol esist un utent di non {{user}}. Controle par plasê la grafie o che tu vedis seguît il leam just.
       heading: L'utent {{user}} nol esist
       title: Utent no cjatât
+    popup: 
+      friend: Amì
+      nearby mapper: Mapadôr dongje
+      your location: La tô posizion
     remove_friend: 
       not_a_friend: "{{name}} nol è un dai tiei amîs."
       success: "{{name}} al è stât gjavât dai tiei amîs."
@@ -774,21 +785,19 @@ fur:
       flash success: Lûc iniziâl salvât cun sucès
     view: 
       add as friend: zonte ai amîs
-      add image: Zonte figure
       ago: ({{time_in_words_ago}} fa)
       block_history: viôt i blocs ricevûts
       blocks by me: blocs aplicâts di me
       blocks on me: blocs su di me
-      change your settings: cambie lis tôs impostazions
       confirm: Conferme
       create_block: bloche chest utent
       created from: "Creât di:"
-      delete image: Elimine figure
       description: Descrizion
       diary: diari
       edits: cambiaments
       email address: "Direzion di pueste:"
       hide_user: plate chest utent
+      if set location: Se tu impuestis la tô locazion, tu viodarâs culì une biele mape e altris informazions. Tu puedis impuestâ il to lûc iniziâl inte pagjine des {{settings_link}}.
       km away: a {{count}}km di distance
       m away: "{{count}}m di distance"
       mapper since: "Al mape dai:"
@@ -797,17 +806,14 @@ fur:
       my edits: miei cambiaments
       my settings: mês impostazions
       my traces: percors personâi
-      nearby users: "Utents dongje:"
+      nearby users: Altris utents dongje
       new diary entry: gnove vôs dal diari
       no friends: No tu âs ancjemò nissun amì.
-      no home location: Nol è stât configurât un lûc iniziâl.
       no nearby users: Ancjemò nissun utent che al declare di mapâ dongje di te.
       remove as friend: gjave dai amîs
       send message: mande messaç
       settings_link_text: impostazions
       traces: percors
-      upload an image: Cjame une figure
-      user image heading: Figure dal utent
       user location: Lûc dal utent
       your friends: I tiei amîs
   user_block: 
index 5c0a9765cfa0384fee09794f593ad293b0533402..cc62af43ed607da844d1245318984b57e80a12a9 100644 (file)
@@ -133,12 +133,6 @@ gcf:
     user_diaries: Jounal
     view: Vwè
     welcome_user: Bienvini, {{user_link}}
-  map: 
-    coordinates: Sitiyasion
-    edit: Édité
-    view: Kat
-  notifier: 
-    diary_comment_notification: 
   site: 
     edit: 
       anon_edits_link_text: Ka y ni la.
@@ -196,9 +190,6 @@ gcf:
       button: Konfirmé
       heading: Konfirmé chanjman a adres imél aw
       press confirm button: Apiyé asi bouton la ki an ba pou konfirmé nouvo adres imél aw.
-    friend_map: 
-      nearby mapper: "Arpantè owa aw: [[nearby_user]]"
-      your location: Koté ou yé
     go_public: 
       flash success: Tou sa ou fè jis alè ki lé piblik ou pa otorizé édité.
     login: 
@@ -229,13 +220,13 @@ gcf:
       signup: Enskriw
     no_such_user: 
       body: Malérezman, pa ti ni pon itilisatè èvè non la sa {{user}}. Kontrolé lòtograf la ouben lien la ou kliké asiy la pa bon.
+    popup: 
+      nearby mapper: Arpantè owa aw
+      your location: Koté ou yé
     set_home: 
       flash success: La ou ka rété la bien anrèjistré
     view: 
       add as friend: Ajouté on zanmi
-      add image: Ajouté on imaj
-      change your settings: Chanjé opsion aw
-      delete image: Woté on imaj
       description: Deskription
       diary: Jounal
       edits: Édision
@@ -249,13 +240,10 @@ gcf:
       nearby users: "Itilizatè owa aw :"
       new diary entry: On dot nouvel an jounal la
       no friends: Ou poko ni pon zanmi
-      no home location: Pa ni pon koté défini.
       no nearby users: Ou poko ni itilizatè owa aw.
       remove as friend: Woté on zanmi
       send message: Voyé on mésaj
       settings_link_text: Opsion
       traces: Chimen
-      upload an image: Voyé on imaj
-      user image heading: Foto itilizatè
       user location: Ola itilizatè yé
       your friends: Kanmarad aw
index 50fc165abb9f68880abcf0b9108bf53812bf884d..5e75c380db1fd05847a589d12f6f78c6e922920f 100644 (file)
@@ -1,21 +1,99 @@
 # Messages for Galician (Galego)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Gallaecio
 # Author: Toliño
 gl: 
   activerecord: 
     attributes: 
+      diary_comment: 
+        body: Corpo
+      diary_entry: 
+        language: Lingua
+        latitude: Latitude
+        longitude: Lonxitude
+        title: Título
+        user: Usuario
+      friend: 
+        friend: Amigo
+        user: Usuario
+      message: 
+        body: Corpo
+        recipient: Destinatario
+        sender: Remitente
+        title: Título
+      trace: 
+        description: Descrición
+        latitude: Latitude
+        longitude: Lonxitude
+        name: Nome
+        public: Público
+        size: Tamaño
+        user: Usuario
+        visible: Visible
       user: 
+        active: Activo
+        description: Descrición
+        display_name: Nome mostrado
+        email: Correo electrónico
+        languages: Linguas
         pass_crypt: Contrasinal
     models: 
+      changeset: Conxunto de cambios
+      changeset_tag: Etiqueta do conxunto de cambios
+      country: País
+      friend: Amigo
+      language: Lingua
+      message: Mensaxe
       node: Nodo
+      node_tag: Etiqueta do nodo
+      notifier: Notificador
+      relation: Relación
+      relation_tag: Etiqueta da relación
+      session: Sesión
+      user: Usuario
+      user_preference: Preferencia do usuario
       way: Camiño
   browse: 
+    changeset: 
+      changeset: "Conxunto de cambios: {{id}}"
+      changesetxml: Conxunto de cambios XML
+      download: Descargar {{changeset_xml_link}} ou {{osmchange_xml_link}}
+      feed: 
+        title: Conxunto de cambios {{id}}
+        title_comment: Conxunto de cambios {{id}} - {{comment}}
+      osmchangexml: osmChange XML
+      title: Conxunto de cambios
     changeset_details: 
+      belongs_to: "Pertence a:"
+      bounding_box: "Caixa de envoltura:"
       box: caixa
+      closed_at: "Pechouse o:"
+      created_at: "Creado o:"
+      has_nodes: 
+        one: "Ten o seguinte {{count}} nodo:"
+        other: "Ten os seguintes {{count}} nodos:"
+      has_relations: 
+        one: "Ten a seguinte relación:"
+        other: "Ten as seguintes {{count}} relacións:"
+      has_ways: 
+        one: "Ten o seguinte camiño:"
+        other: "Ten os seguintes {{count}} camiños:"
+      no_bounding_box: Non se seleccionou ningunha caixa de envoltura para este conxunto de cambios.
+      show_area_box: Amosar a caixa de zona
+    changeset_navigation: 
+      all: 
+        next_tooltip: Seguinte conxunto de cambios
+        prev_tooltip: Conxunto de cambios anterior
+      user: 
+        name_tooltip: Ver as edicións de {{user}}
+        next_tooltip: Seguinte edición de {{user}}
+        prev_tooltip: Edición anterior de {{user}}
     common_details: 
       changeset_comment: "Comentario:"
+      edited_at: "Editado o:"
       edited_by: "Editado por:"
+      in_changeset: "No conxunto de cambios:"
       version: "Versión:"
     containing_relation: 
       entry: Relación {{relation_name}}
@@ -45,7 +123,7 @@ gl:
       node_history_title: "Historial do nodo: {{node_name}}"
       view_details: ver os detalles
     not_found: 
-      sorry: Sentímolo, non se puido atopar o {{type}} co ID {{id}}.
+      sorry: Sentímolo, non se puido atopar o {{type}} co id {{id}}.
       type: 
         changeset: conxunto de cambios
         node: nodo
@@ -75,12 +153,20 @@ gl:
         node: Nodo
         relation: Relación
         way: Camiño
+    start: 
+      manually_select: Escoller manualmente unha zona distinta
+      view_data: Ver os datos para a vista do mapa actual
     start_rjs: 
       data_frame_title: Datos
       data_layer_name: Datos
       details: Detalles
+      drag_a_box: Arrastre unha caixa sobre o mapa para escoller unha zona
+      edited_by_user_at_timestamp: Editado por [[user]] o [[timestamp]]
+      history_for_feature: Historial de [[feature]]
       load_data: Cargar os datos
+      loaded_an_area_with_num_features: Cargou unha zona que contén [[num_features]] funcionalidades. Pode que algúns navegadores teñan problemas para amosar correctamente esta cantidade de datos. Xeralmente, os navegadores traballan mellor amosando menos de 100 funcionalidades á vez. Utilizar máis pode provocar que o navegador vaia lento ou non responda. Se está seguro de que quere amosar estes datos, pode facelo premendo no seguinte botón.
       loading: Cargando...
+      manually_select: Escoller manualmente unha zona distinta
       object_list: 
         api: Obter esta área desde o API
         back: Mostrar a lista de obxectos
@@ -97,10 +183,20 @@ gl:
         type: 
           node: Nodo
           way: Camiño
+      private_user: usuario privado
       show_history: Mostrar o historial
+      unable_to_load_size: "Non se puido cargar: o tamaño [[bbox_size]] da caixa de envoltura é grande de máis (ten que ser menor de {{max_bbox_size}})"
       wait: Agarde...
+      zoom_or_select: Escolla unha zona do mapa ou achéguese a ela para vela
     tag_details: 
       tags: "Etiquetas:"
+    timeout: 
+      sorry: Tardouse demasiado en obter os datos para o {{type}} co id {{id}}.
+      type: 
+        changeset: conxunto de cambios
+        node: nodo
+        relation: relación
+        way: camiño
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} ou {{edit_link}}"
       download_xml: Descargar en XML
@@ -120,53 +216,477 @@ gl:
       view_details: ver os detalles
       way_history: Historial do camiño
       way_history_title: "Historial co camiño: {{way_name}}"
+  changeset: 
+    changesets: 
+      area: Zona
+      comment: Comentario
+      id: ID
+      saved_at: Gardado o
+      user: Usuario
+    list: 
+      description: Cambios recentes
+      description_bbox: Conxuntos de cambios en {{bbox}}
+      description_user: Conxuntos de cambios por {{user}}
+      description_user_bbox: Conxuntos de cambios por {{user}} en {{bbox}}
+      heading: Conxuntos de cambios
+      heading_bbox: Conxuntos de cambios
+      heading_user: Conxuntos de cambios
+      heading_user_bbox: Conxuntos de cambios
+      title: Conxuntos de cambios
+      title_bbox: Conxuntos de cambios en {{bbox}}
+      title_user: Conxuntos de cambios por {{user}}
+      title_user_bbox: Conxuntos de cambios por {{user}} en {{bbox}}
   diary_entry: 
+    diary_comment: 
+      confirm: Confirmar
+      hide_link: Agochar este comentario
+    diary_entry: 
+      comment_count: 
+        one: 1 comentario
+        other: "{{count}} comentarios"
+      comment_link: Comentar esta entrada
+      confirm: Confirmar
+      edit_link: Editar esta entrada
+      hide_link: Agochar esta entrada
     edit: 
+      body: "Corpo:"
+      language: "Lingua:"
+      latitude: "Latitude:"
+      location: "Localización:"
+      longitude: "Lonxitude:"
       save_button: Gardar
+      subject: "Asunto:"
+    location: 
+      edit: Editar
+      location: "Localización:"
+      view: Ver
     view: 
       save_button: Gardar
+  export: 
+    start: 
+      add_marker: Engadir un marcador ao mapa
+      area_to_export: Zona a exportar
+      export_button: Exportar
+      format: Formato
+      format_to_export: Formato de exportación
+      image_size: Tamaño da imaxe
+      latitude: "Lat:"
+      licence: Licenza
+      longitude: "Lon:"
+      mapnik_image: Imaxe de Mapnik
+      max: máx.
+      options: Opcións
+      osm_xml_data: Datos XML do OpenStreetMap
+      scale: Escala
+      too_large: 
+        body: Esta zona é grande de máis para ser exportada como datos XML do OpenStreetMap. Amplíe a zona ou escolla unha menor.
+        heading: Zona demasiado grande
+      zoom: Zoom
+    start_rjs: 
+      add_marker: Engadir un marcador ao mapa
+      change_marker: Cambiar a posición do marcador
+      click_add_marker: Prema sobre o mapa para engadir un marcador
+      drag_a_box: Arrastre unha caixa sobre o mapa para escoller unha zona
+      export: Exportar
+      manually_select: Escoller manualmente unha zona distinta
+      view_larger_map: Ver un mapa máis grande
   geocoder: 
     description: 
       title: 
         geonames: Localización desde <a href="http://www.geonames.org/">GeoNames</a>
         osm_namefinder: "{{types}} desde <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
+        osm_nominatim: Localización desde <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
+      types: 
+        cities: Cidades
+        places: Lugares
+        towns: Municipios
+    description_osm_namefinder: 
+      prefix: "{{distance}} ao {{direction}} de {{type}}"
+    direction: 
+      east: leste
+      north: norte
+      north_east: nordés
+      north_west: noroeste
+      south: sur
+      south_east: sueste
+      south_west: suroeste
+      west: oeste
+    distance: 
+      one: arredor de 1km
+      other: arredor de {{count}}km
+      zero: menos de 1km
+    results: 
+      more_results: Máis resultados
+      no_results: Non se atopou ningún resultado
     search: 
       title: 
         ca_postcode: Resultados desde <a href="http://geocoder.ca/">Geocoder.CA</a>
         geonames: Resultados desde <a href="http://www.geonames.org/">GeoNames</a>
         latlon: Resultados <a href="http://openstreetmap.org/">internos</a>
         osm_namefinder: Resultados desde <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>
+        osm_nominatim: Resultados desde <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
         uk_postcode: Resultados desde <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
         us_postcode: Resultados desde <a href="http://geocoder.us/">Geocoder.us</a>
+    search_osm_namefinder: 
+      suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} de {{parentname}})"
+      suffix_place: ", {{distance}} ao {{direction}} de {{placename}}"
+    search_osm_nominatim: 
+      prefix: 
+        highway: 
+          emergency_access_point: Punto de acceso de emerxencia
+          footway: Carreiro
+          motorway_junction: Cruce de autovías
+          primary_link: Estrada principal
+          secondary_link: Estrada secundaria
+        leisure: 
+          beach_resort: Balneario
+          common: Terreo común
+          fishing: Área de pesca
+          garden: Xardín
+          golf_course: Campo de golf
+          ice_rink: Pista de patinaxe sobre xeo
+          marina: Porto deportivo
+          miniature_golf: Minigolf
+          nature_reserve: Reserva natural
+          park: Parque
+          pitch: Cancha deportiva
+          playground: Patio de recreo
+          recreation_ground: Área recreativa
+          slipway: Varadoiro
+          sports_centre: Centro deportivo
+          stadium: Estadio
+          swimming_pool: Piscina
+          track: Pista de carreiras
+          water_park: Parque acuático
+        natural: 
+          bay: Baía
+          beach: Praia
+          cape: Cabo
+          cave_entrance: Entrada de cova
+          channel: Canal
+          cliff: Cantil
+          coastline: Litoral
+          crater: Cráter
+          feature: Elemento
+          fell: Brañal
+          fjord: Fiorde
+          glacier: Glaciar
+          hill: Outeiro
+          island: Illa
+          land: Terra
+          marsh: Marisma
+          moor: Páramo
+          mud: Lama
+          peak: Pico
+          point: Punto
+          reef: Arrecife
+          river: Río
+          rock: Rocha
+          scree: Pedregal
+          shoal: Cardume
+          spring: Primavera
+          strait: Estreito
+          tree: Árbore
+          valley: Val
+          volcano: Volcán
+          water: Auga
+          wetland: Pantano
+          wetlands: Pantano
+          wood: Bosque
+        place: 
+          airport: Aeroporto
+          city: Cidade
+          country: País
+          county: Condado
+          farm: Granxa
+          hamlet: Aldea
+          house: Casa
+          houses: Casas
+          island: Illa
+          islet: Illote
+          locality: Localidade
+          moor: Páramo
+          municipality: Municipio
+          postcode: Código postal
+          region: Rexión
+          sea: Mar
+          state: Estado/Provincia
+          subdivision: Subdivisión
+          suburb: Barrio
+          town: Cidade
+          unincorporated_area: Área non incorporada
+          village: Vila
+        tourism: 
+          alpine_hut: Cabana alpina
+          artwork: Obra de arte
+          attraction: Atracción
+          bed_and_breakfast: Cama e almorzo
+          cabin: Cabana
+          camp_site: Campamento
+          caravan_site: Sitio de caravanas
+          chalet: Chalé
+          guest_house: Albergue
+          hostel: Hostal
+          hotel: Hotel
+          information: Información
+          lean_to: Caseta
+          motel: Motel
+          museum: Museo
+          picnic_site: Sitio de pícnic
+          theme_park: Parque temático
+          valley: Val
+          viewpoint: Miradoiro
+          zoo: Zoolóxico
   layouts: 
     edit: Editar
-  map: 
-    coordinates: "Coordenadas:"
-    edit: Editar
+    export: Exportar
+    export_tooltip: Exportar os datos do mapa
+    history: Historial
+    intro_3_partners: wiki
+    make_a_donation: 
+      text: Facer unha doazón
+    news_blog: Blogue de novas
+    sign_up_tooltip: Crear unha conta para editar
+    view: Ver
+    view_tooltip: Ver o mapa
   message: 
+    inbox: 
+      date: Data
+      subject: Asunto
     message_summary: 
       delete_button: Borrar
+      read_button: Marcar como lido
+      reply_button: Responder
+      unread_button: Marcar como non lido
+    new: 
+      body: Corpo
+      subject: Asunto
+    outbox: 
+      date: Data
+      subject: Asunto
+    read: 
+      date: Data
+      reply_button: Responder
+      subject: Asunto
     sent_message_summary: 
       delete_button: Borrar
+  notifier: 
+    email_confirm: 
+      subject: "[OpenStreetMap] Confirme o seu enderezo de correo electrónico"
   oauth_clients: 
     edit: 
       submit: Editar
+      title: Editar a súa aplicación
+    index: 
+      application: Nome da aplicación
+      register_new: Rexistrar a súa aplicación
+  time: 
+    formats: 
+      friendly: "%e %B %Y ás %H:%M"
   trace: 
     edit: 
+      description: "Descrición:"
+      download: descargar
       edit: editar
+      filename: "Nome do ficheiro:"
+      map: mapa
+      owner: "Propietario:"
+      points: "Puntos:"
       save_button: Gardar os cambios
+      start_coord: "Coordenada de inicio:"
+      tags: "Etiquetas:"
+      tags_help: separadas por comas
+      uploaded_at: "Cargado o:"
+      visibility: "Visibilidade:"
+      visibility_help: que significa isto?
+    no_such_user: 
+      title: Non existe tal usuario
     trace: 
+      ago: hai {{time_in_words_ago}}
+      by: por
+      count_points: "{{count}} puntos"
       edit: editar
+      edit_map: Editar o mapa
+      identifiable: IDENTIFICABLE
+      in: en
+      map: mapa
+      more: máis
+      pending: PENDENTE
+      private: PRIVADO
+      public: PÚBLICO
+      view_map: Ver o mapa
+    trace_form: 
+      description: Descrición
+      help: Axuda
+      tags: Etiquetas
+      tags_help: separadas por comas
+      upload_button: Cargar
+      visibility: Visibilidade
+      visibility_help: que significa isto?
+    trace_optionals: 
+      tags: Etiquetas
+    trace_paging_nav: 
+      next: Seguinte &raquo;
+      previous: "&laquo; Anterior"
     view: 
+      description: "Descrición:"
+      download: descargar
       edit: editar
+      filename: "Nome do ficheiro:"
+      map: mapa
+      none: Ningún
+      owner: "Propietario:"
+      pending: PENDENTE
+      points: "Puntos:"
+      start_coordinates: "Coordenada de inicio:"
+      tags: "Etiquetas:"
+      uploaded: "Cargado o:"
+      visibility: "Visibilidade:"
   user: 
     account: 
+      current email address: "Enderezo de correo electrónico actual:"
+      delete image: Eliminar a imaxe actual
+      email never displayed publicly: (nunca mostrado publicamente)
+      flash update success: Información de usuario actualizada correctamente.
+      flash update success confirm needed: Información de usuario actualizada correctamente. Busque no seu correo electrónico unha mensaxe para confirmar o seu novo enderezo.
+      home location: "Lugar de orixe:"
+      image: "Imaxe:"
+      keep image: Manter a imaxe actual
+      latitude: "Latitude:"
+      longitude: "Lonxitude:"
+      make edits public button: Facer públicas todas as miñas edicións
+      my settings: Os meus axustes
+      new email address: "Novo enderezo de correo electrónico:"
+      new image: Engadir unha imaxe
+      preferred languages: "Linguas preferidas:"
+      profile description: "Descrición do perfil:"
+      public editing: 
+        disabled link text: por que non podo editar?
+        enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
+        enabled link text: que é isto?
+        heading: "Edición pública:"
+      public editing note: 
+        heading: Edición pública
+      replace image: Substituír a imaxe actual
+      return to profile: Voltar ao perfil
       save changes button: Gardar os cambios
+      title: Editar a conta
+      update home location on click: Quere actualizar o domicilio ao premer sobre o mapa?
+    confirm: 
+      button: Confirmar
+      failure: Xa se confirmou unha conta de usuario con este pase.
+      heading: Confirmar unha conta de usuario
+      press confirm button: Prema sobre o botón de confirmación que aparece a continuación para activar a súa conta.
+      success: Confirmouse a súa conta. Grazas por se rexistrar!
+    confirm_email: 
+      button: Confirmar
+      failure: Xa se confirmou un enderezo de correo electrónico con este pase.
+      heading: Confirmar o cambio do enderezo de correo electrónico
+      press confirm button: Prema sobre o botón de confirmación que aparece a continuación para confirmar o seu novo enderezo de correo electrónico.
+      success: Confirmouse o seu enderezo de correo electrónico. Grazas por se rexistrar!
+    filter: 
+      not_an_administrator: Ten que ser administrador para poder levar a cabo esta acción.
     login: 
+      create_account: cree unha conta
+      email or username: "Enderezo de correo electrónico ou nome de usuario:"
+      lost password link: Perdeu o seu contrasinal?
       password: "Contrasinal:"
+      please login: Identifíquese ou {{create_user_link}}.
+      remember: "Lembrádeme:"
+    lost_password: 
+      email address: "Enderezo de correo electrónico:"
+      heading: Esqueceu o contrasinal?
+      new password button: Restablecer o contrasinal
+      notice email cannot find: Non se puido atopar o enderezo de correo electrónico.
+      notice email on way: Por desgraza perdeuno, pero hai en camiño unha mensaxe de correo electrónico coa que o poderá restablecer axiña.
+      title: Contrasinal perdido
+    make_friend: 
+      already_a_friend: Xa é amigo de {{name}}.
+      failed: Houbo un erro ao engadir a {{name}} como amigo.
+      success: "{{name}} xa é o seu amigo."
     new: 
+      confirm email address: Confirmar o enderezo de correo electrónico
+      confirm password: "Confirmar o contrasinal:"
+      display name: "Nome mostrado:"
+      display name description: O seu nome de usuario mostrado publicamente. Pode cambialo máis tarde nas preferencias.
+      email address: "Enderezo de correo electrónico:"
+      fill_form: Encha o formulario e axiña recibirá un correo electrónico coas instrucións para activar a súa conta.
+      heading: Crear unha conta de usuario
+      no_auto_account_create: Por desgraza, arestora non podemos crear automaticamente unha conta para vostede.
       password: "Contrasinal:"
+      title: Crear unha conta
+    no_such_user: 
+      body: Non existe ningún usuario co nome "{{user}}". Comprobe a ortografía ou que a ligazón que seguiu estea ben.
+      heading: O usuario {{user}} non existe
+      title: Non existe tal usuario
+    popup: 
+      friend: Amigo
+      your location: A súa localización
+    remove_friend: 
+      not_a_friend: "{{name}} non é un dos seus amigos."
+      success: "{{name}} foi eliminado dos seus amigos."
     reset_password: 
+      confirm password: "Confirmar o contrasinal:"
+      flash changed: Cambiouse o seu contrasinal.
+      flash token bad: Non se atopou o pase. Quizais debería comprobar o enderezo URL.
+      heading: Restablecer o contrasinal de {{user}}
       password: "Contrasinal:"
+      reset: Restablecer o contrasinal
+      title: Restablecer o contrasinal
+    set_home: 
+      flash success: Gardouse o domicilio
     view: 
+      activate_user: activar este usuario
+      add as friend: engadir como amigo
+      ago: (hai {{time_in_words_ago}})
+      block_history: ver os bloqueos recibidos
+      confirm: Confirmar
+      create_block: bloquear este usuario
+      created from: "Creado a partir de:"
+      deactivate_user: desactivar este usuario
+      delete_user: borrar este usuario
+      description: Descrición
       edits: edicións
+      email address: "Enderezo de correo electrónico:"
+      hide_user: agochar este usuario
+      if set location: Se define a súa localización, aquí aparecerá un mapa. Pode establecer o seu lugar de orixe na súa páxina de {{settings_link}}.
+      km away: a {{count}}km de distancia
+      m away: a {{count}}m de distancia
+      moderator_history: ver os bloqueos dados
+      my edits: as miñas edicións
+      my settings: os meus axustes
+      no friends: Aínda non engadiu ningún amigo.
+      oauth settings: axustes OAuth
+      remove as friend: eliminar como amigo
+      role: 
+        administrator: Este usuario é administrador
+        grant: 
+          administrator: Conceder o acceso de administrador
+          moderator: Conceder o acceso de moderador
+        moderator: Este usuario é moderador
+        revoke: 
+          administrator: Revogar o acceso de administrador
+          moderator: Revogar o acceso de moderador
+      send message: enviar unha mensaxe
+      settings_link_text: axustes
+      unhide_user: descubrir este usuario
+      user location: Localización do usuario
+      your friends: Os seus amigos
+  user_role: 
+    filter: 
+      already_has_role: O usuario xa ten o rol {{role}}.
+      doesnt_have_role: O usuario non ten o rol {{role}}.
+      not_a_role: A cadea "{{role}}" non é un rol correcto.
+      not_an_administrator: Só os administradores poden xestionar os roles dos usuarios, e vostede non é administrador.
+    grant: 
+      are_you_sure: Seguro que quere concederlle o rol "{{role}}" ao usuario "{{name}}"?
+      confirm: Confirmar
+      fail: Non se lle puido conceder o rol "{{role}}" ao usuario "{{name}}". Comprobe que tanto o usuario coma o rol son correctos.
+      heading: Confirmar a concesión do rol
+      title: Confirmar a concesión do rol
+    revoke: 
+      are_you_sure: Seguro que quere revogarlle o rol "{{role}}" ao usuario "{{name}}"?
+      confirm: Confirmar
+      fail: Non se lle puido revogar o rol "{{role}}" ao usuario "{{name}}". Comprobe que tanto o usuario coma o rol son correctos.
+      heading: Confirmar a revogación do rol
+      title: Confirmar a revogación do rol
index 7baca62dad4bea922504f3cf42cb90d9f3f3fd11..839e56cc5ff1bbffe5f272ff1eb4b9be70a26815 100644 (file)
@@ -162,6 +162,8 @@ gsw:
     create: 
       trace_uploaded: Dyy GPX-Datei isch uffeglade wore un wartet uf d Ufnahm in d Datebank. Des gschiht normalerwyys innerhalb vun ere halbe Stund, derno wird Dir e Bstetigungs-E-Mail gschickt.
       upload_trace: E GPS-Track uffelade
+    delete: 
+      scheduled_for_deletion: Track, wu zum Lesche vorgsäh isch
     edit: 
       description: "Bschryybig:"
       download: abelade
@@ -179,14 +181,111 @@ gsw:
       uploaded_at: "Uffegladen am:"
       visibility: "Sichtbarkeit:"
       visibility_help: Was heißt des?
+    list: 
+      public_traces: Effetligi GPS-Track
+      public_traces_from: Effetligi GPS-Track vu {{user}}
+      tagged_with: Gchännzeichnet mit {{tags}}
+      your_traces: Dyy GPS-Track
+    make_public: 
+      made_public: Track, wu vereffetligt isch
+    no_such_user: 
+      body: Äxgisi, s git kei Benutzer mit em Name {{user}}. Bitte iberprief Dyy Schryybwyys, oder villicht isch s Gleich, wu Du nogange bisch, falsch.
+      heading: Dr Benutzer {{user}} git s nit
+      title: Benutzer nit gfunde
     trace: 
+      ago: "{{time_in_words_ago}} här"
+      by: vu
       count_points: "{{count}} Pinkt"
+      edit: bearbeite
       edit_map: Charte bearbeite
+      in: in
+      map: Charte
+      more: meh
       pending: HÄNGIG
       private: PRIVAT
+      public: EFFETLI
+      trace_details: Track-Einzelheite aaluege
       view_map: Charten aazeige
+    trace_form: 
+      description: Bschryybig
+      help: Hilf
+      tags: Markierige
+      tags_help: Trännig dur Komma
+      upload_button: Uffelade
+      upload_gpx: GPX-Datei uffelade
+      visibility: Sichtbarkeit
+      visibility_help: Was heißt des?
     trace_header: 
       see_all_traces: Alli Tracks aaluege
       see_just_your_traces: Eigeni GPS-Tracks aazeige oder neji uffelade
       see_your_traces: Eigeni GPS-Tracks aazeige
       traces_waiting: "{{count}} vu Dyyne Tracks sin zur Zyt in dr Warteschlang. Bitte wart, bis die fertig sin go d Verarbeitig nit fir anderi Nutzer blockiere."
+    trace_optionals: 
+      tags: Markierige
+    view: 
+      delete_track: Dää Track lesche
+      description: "Bschryybig:"
+      download: abelade
+      edit: bearbeite
+      edit_track: Dää Track bearbeite
+      filename: "Dateiname:"
+      heading: Am Bschaue vum Track {{name}}
+      map: Charte
+      none: Keini
+      owner: "Bsitzer:"
+      pending: HÄNGIG
+      points: "Pinkt:"
+      start_coordinates: "Startkoordinate:"
+      tags: "Markierige:"
+      title: Am Aaluege vum Track {{name}}
+      trace_not_found: Track nit gfunde!
+      uploaded: "Uffegladen am:"
+      visibility: "Sichtbarkeit:"
+    visibility: 
+      identifiable: Identifizierbar (wird in dr Tracklischt as anonymi, sortierti Punktfolg mit Zytstämpfel aazeigt)
+      private: Privat (nume as anonymi, nit sortierti Pinkt ohni Zytstämpfel aazeigt)
+      public: Effentlig (wird in dr Tracklischt aazeigt, aber numen as anonymi, nit sortierti Punktfolg ohni Zytstämpfel)
+      trackable: Track (wird in dr Tracklischt as anonymi, sortierti Punktfolg mit Zytstämpfel aazeigt)
+  user: 
+    confirm_email: 
+      button: Bstetige
+      failure: E E-Mail-Adräss isch scho mit däm Gleich bstetigt wore.
+      heading: Änderig vu dr E-Mail-Adräss bstetige
+      press confirm button: Druck unte uf dr „Bstetige“-Chnopf go Dyy nej E-Mail-Adräss bstetige.
+      success: Dyy E-Mail-Adräss isch bstetigt wore, dankschen fir s Regischtriere!
+    filter: 
+      not_an_administrator: Du muesch e Administrator syy go die Aktion uusfiere.
+    go_public: 
+      flash success: Alli Dyyni Bearbeitige sion jetz effetlig, un Du derfsch jetz Bearbeitige mache.
+    make_friend: 
+      already_a_friend: Du bisch scho ne Frynd vu {{name}}.
+      failed: Excusez, {{name}} het nit as Frynd chenne zuegfiegt wäre.
+      success: "{{name}} isch jetz Dyy Frynd."
+    popup: 
+      nearby mapper: Mapper in dr Nechi
+      your location: Dyy Standort
+    reset_password: 
+      confirm password: "Passwort bstetige:"
+      flash changed: Dyy Passwort isch gänderet wore.
+      flash token bad: Mir hän des Chirzel leider nit chenne finde. Iberprief d URL.
+      heading: Passwort fir {{user}} zrucksetze
+      reset: Passwort zrucksetze
+      title: Passwort zrucksetze
+  user_role: 
+    filter: 
+      already_has_role: Dr Nutzer ghert scho zue dr Rolle {{role}}.
+      doesnt_have_role: Dr Nutzer het kei Roll {{role}}.
+      not_a_role: D Zeichechette „{{role}}“ bezeichnet kei giltigi Rolle.
+      not_an_administrator: Benutzerrolle chenne nume vu Adminischtratore verwaltet wäre, un Du bisch kei Adminischtrator.
+    grant: 
+      are_you_sure: Bisch sicher, ass Du dr Benutzer „{{name}}“ dr Rolle „{{role}}“ witt zueordne?
+      confirm: Bstetige
+      fail: Dr Benutzer „{{name}}“ het dr Rolle „{{role}}“ nit chenne zuegordnet wären. Bitte iberprief, eb s sich um e giltige Benutzer un e giltigi Rolle handlet.
+      heading: Rollezueornig bstetige
+      title: Rollezueornig bstetige
+    revoke: 
+      are_you_sure: Bisch sicher, ass Du d Zueornig vum Benutzer „{{name}}“ zue dr Rolle „{{role}}“ witt ufhebe?
+      confirm: Bstetige
+      fail: Het d Zueornig vum Benutzer „{{name}}“ zue dr Rolle „{{role}}“ nit chenne ufhebe. Bitte iberprief, eb s sich um e giltige Benutzer un e giltigi Rolle handlet.
+      heading: D Ufhebig vu dr Rollezueornig bstetige
+      title: Ufhebig vu dr Rollezueornig bstetige
index 76f953b5ad7288c188cecaafa0da75d16099186d..d098292acd481721fdbf653c03d338707be4a295 100644 (file)
@@ -205,7 +205,6 @@ he:
       zero: פחות מקילומטר
   layouts: 
     edit: עריכה
-    edit_tooltip: עריכת מפות
     export: יצוא
     export_tooltip: ייצוא נתוני המפה
     gps_traces_tooltip: ניהול מסלולים
@@ -235,9 +234,6 @@ he:
     view_tooltip: צפייה במפות
     welcome_user: "{{user_link}}ברוך הבא"
     welcome_user_link_tooltip: דף המשתמש שלך
-  map: 
-    edit: עריכה
-    view: תצוגה
   message: 
     delete: 
       deleted: ההודעה נמחקה
@@ -340,8 +336,6 @@ he:
       save changes button: שמירת השינויים
     confirm: 
       heading: אימות חשבון משתמש
-    friend_map: 
-      your location: מיקומך
     login: 
       create_account: יצירת חשבון
       login_button: כניסה
@@ -359,6 +353,8 @@ he:
     no_such_user: 
       heading: המשתמש {{user}} אינו קיים
       title: אין משתמש כזה
+    popup: 
+      your location: מיקומך
     reset_password: 
       confirm password: "אימות הסיסמה:"
       flash changed: סיסמתך השתנתה.
@@ -367,23 +363,17 @@ he:
       reset: איפוס הסיסמה
       title: reset password
     view: 
-      add image: הוספת תמונה
       ago: (לפני {{time_in_words_ago}})
-      change your settings: שינוי ההגדרות שלך
-      delete image: מחיקת תמונה
       description: תאור
       edits: עריכות
       km away: במרחק {{count}} ק"מ
       m away: במרחק {{count}} מ'
       my diary: היומן שלי
       my edits: העריכות שלי
-      my_oauth_details: צפייה בפרטי ה־OAuth שלי
       new diary entry: רשומה חדשה ביומן
       no friends: לא הוספת חברים כלל עדיין.
       remove as friend: הסרה כחבר
       send message: שליחת הודעה
       settings_link_text: הגדרות
       traces: מסלולים
-      upload an image: העלאת תמונה
-      user image heading: תמונת המשתמש
       your friends: החברים שלך
index c6c3ee2a6d3a3d769819ab647f460a82ba805c0e..18c816efc5d2808b047acb81ff6efae2a6f566d5 100644 (file)
@@ -97,7 +97,7 @@ hi:
       node_history_title: "नोड इतिहास: {{node_name}}"
       view_details: विवरण देखें
     not_found: 
-      sorry: क्षमा करें, ये {{type}} इस आईडी {{id}} के साथ, पाया नहीं जा सका
+      sorry: क्षमा करें, ये {{type}} इस आईडी {{id }} के साथ, पाया नहीं जा सका
       type: 
         node: आसंधि
         relation: संबंध
@@ -174,6 +174,8 @@ hi:
       no_edits: (कोई संपादित नहीं है)
       still_editing: (संपादित किया जा रहा है)
       view_changeset_details: इस changeset के विवरण देखे
+    changeset_paging_nav: 
+      showing_page: "इस पृष्ठ का प्रदर्शन:"
     changesets: 
       area: क्षेत्र
       comment: टिप्पणी
@@ -239,7 +241,6 @@ hi:
       other: करीब {{count}} किमी
       zero: 1 किमी से कम
   layouts: 
-    edit_tooltip: नक्शा संपादन
     home: गृह
     inbox_tooltip: 
       other: आपके इनबॉक्स में {{count}} अपठित संदेश हैं
@@ -247,10 +248,6 @@ hi:
     sign_up_tooltip: संपादन के लिए खाता बनाएं
     view_tooltip: नक्शा देखें
     welcome_user_link_tooltip: आपका प्रयोक्ता पन्ना
-  map: 
-    coordinates: "निर्देशांक:"
-    edit: संपादित करें
-    view: दृश्य
   message: 
     delete: 
       deleted: संदेश खात्मा
index 1ac24f1956eadf2928138bfa8572f7fd5d61d806..341b9698004d15fb1593b619528b235751b72358 100644 (file)
@@ -857,7 +857,6 @@ hr:
     donate: Podržite OpenStreetMap sa {{link}} Hardware Upgrade Fond.
     donate_link_text: donacije
     edit: Uredi
-    edit_tooltip: Uredi kartu
     export: Izvoz
     export_tooltip: Izvoz podataka karte
     gps_traces: GPS trase
@@ -866,7 +865,6 @@ hr:
     help_wiki_tooltip: Pomoć &amp; Wiki-site za projekt
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Hr:Main_Page?uselang=hr
     history: Povijest
-    history_tooltip: Povijest seta promjena
     home: dom
     home_tooltip: Idi na lokaciju svog doma
     inbox: pošta ({{count}})
@@ -904,10 +902,6 @@ hr:
     view_tooltip: Prikaži kartu
     welcome_user: Dobrodošli, {{user_link}}
     welcome_user_link_tooltip: Tvoja korisnička stranica
-  map: 
-    coordinates: "Koordinate:"
-    edit: Uredi
-    view: Karta
   message: 
     delete: 
       deleted: Poruka obrisana
@@ -1353,9 +1347,6 @@ hr:
       success: Potvrđena je vaša email adresa, hvala za priključenje!
     filter: 
       not_an_administrator: Morate biti administrator za izvođenje ovih akcija.
-    friend_map: 
-      nearby mapper: "Obližnji maper: [[nearby_user]]"
-      your location: Vaša lokacija
     go_public: 
       flash success: Sve vaše promjene su sada javne i sada vam je dozvoljeno uređivanje.
     login: 
@@ -1401,6 +1392,9 @@ hr:
       body: Žao mi je, ne postoji korisnik s imenom {{user}}. Molim provjerite ukucano ili je link na koji ste kliknuli neispravan.
       heading: Korisnik {{user}}  ne postoji
       title: Nema takvog korisnika
+    popup: 
+      nearby mapper: Obližnji maper
+      your location: Vaša lokacija
     remove_friend: 
       not_a_friend: "{{name}} nije tvoj prijatelj."
       success: "{{name}} je izbačen iz prijatelja."
@@ -1417,17 +1411,14 @@ hr:
     view: 
       activate_user: aktiviraj ovog korisnika
       add as friend: dodaj kao prijatelja
-      add image: Dodaj sliku
       ago: prije ({{time_in_words_ago}})
       block_history: prikaži dobivene blokade
       blocks by me: blokade koje sam postavio
       blocks on me: blokade na mene
-      change your settings: promjeni svoje postavke
       confirm: Potvrdi
       create_block: blokiraj ovog korisnika
       created from: "Napravljeno iz:"
       deactivate_user: deaktiviraj ovog korisnika
-      delete image: Izbriši sliku
       delete_user: obriši ovog korisnika
       description: Opis
       diary: dnevnik
@@ -1443,11 +1434,9 @@ hr:
       my edits: moje promjene
       my settings: moje postavke
       my traces: moje trase
-      my_oauth_details: Prikaži moje OAuth detalje
       nearby users: "Okolni korisnici:"
       new diary entry: novi unos u dnevnik
       no friends: Nisi dodao niti jednog prijatelja.
-      no home location: Nije postavljena lokacija doma
       no nearby users: Nema okolnih korisnika koji mapiraju.
       remove as friend: ukloni kao prijatelja
       role: 
@@ -1463,8 +1452,6 @@ hr:
       settings_link_text: postavke
       traces: trase
       unhide_user: otkrij ovog korisnika
-      upload an image: Postavite sliku
-      user image heading: Slika korisnika
       user location: Lokacija boravišta korisnika
       your friends: Tvoji prijatelji
   user_block: 
index dc4e463b52c13d0e4843b4b3f21f7cb216fd4847..aecff5f91fe31156cfb2d1e0d7a316e720e7b26d 100644 (file)
@@ -326,6 +326,10 @@ hsb:
       recent_entries: "Najnowše dźenikowe zapiski:"
       title: Dźeniki wužiwarjow
       user_title: dźenik wužiwarja {{user}}
+    location: 
+      edit: Wobdźěłać
+      location: "Městno:"
+      view: Pokazać
     new: 
       title: Nowy dźenikowy zapisk
     no_such_entry: 
@@ -341,7 +345,7 @@ hsb:
       login: Přizjew so
       login_to_leave_a_comment: "{{login_link}}, zo by komentar spisał"
       save_button: Składować
-      title: Dźeniki wužiwarja | {{user}}
+      title: Dźenik {{user}} | {{title}}
       user_title: dźenik wužiwarja {{user}}
   export: 
     start: 
@@ -365,6 +369,9 @@ hsb:
       output: Wudaće
       paste_html: HTML-kod kopěrować, zo by so do websydła zasunył
       scale: Měritko
+      too_large: 
+        body: Tutón wobłuk je přewulki za eksportowanje jako XML-daty OpenStreetMap. Prošu powjetš abo wubjer mjeńši wobłuk.
+        heading: Wobłuk přewulki
       zoom: Skalowanje
     start_rjs: 
       add_marker: Karće marku přidać
@@ -856,21 +863,23 @@ hsb:
         cycle_map: Kolesowa karta
         noname: ŽaneMjeno
     site: 
+      edit_disabled_tooltip: Za wobdźěłowanje karty powjetšić
+      edit_tooltip: Kartu wobdźěłać
       edit_zoom_alert: Dyrbiš powjetšić, zo by kartu wobdźěłał
+      history_disabled_tooltip: Za zwobraznjenje změnow za tutón wobłuk powjetšić
+      history_tooltip: Změny za tutón wobłuk pokazać
       history_zoom_alert: Dyrbiš powjetšić, zo by wobdźěłowansku historiju widźał
   layouts: 
     donate: Podpěraj OpenStreetMap přez {{link}} k fondsej aktualizacije hardwary.
     donate_link_text: Darjenje
     edit: Wobdźěłać
-    edit_tooltip: Karty wobdźěłać
     export: Eksport
     export_tooltip: Kartowe daty eksportować
     gps_traces: GPS-ćěrje
-    gps_traces_tooltip: Ćěrje zrjadować
+    gps_traces_tooltip: GPS-ćěrje zrjadować
     help_wiki: Pomoc &amp; wiki
     help_wiki_tooltip: Sydło Pomoc & wiki za projekt
     history: Historija
-    history_tooltip: Historija sadźbow změnow
     home: domoj
     home_tooltip: Domoj hić
     inbox: póst ({{count}})
@@ -882,7 +891,8 @@ hsb:
       zero: Twój póstowy kašćik žane njepřečitane powěsće njewobsahuje.
     intro_1: OpenStreetMap je swobodna wobdźěłujomna karta cyłeho swěta. Bu za ludźi kaž wy wutworjena.
     intro_2: OpenStreetMap ći dowola geografiske daty na zhromadne wašnje wot něhdźe na zemi pokazać, wobdźěłać a wužiwać.
-    intro_3: Hospodowanje OpenStreetMap so přećelnje wot {{ucl}} a {{bytemark}} podpěruje.
+    intro_3: Hospodowanje OpenStreetMap so přećelnje wot {{ucl}} a {{bytemark}} podpěruje. Druzy podpěraćeljo projekta su we {{partners}} nalistowani.
+    intro_3_partners: wiki
     license: 
       alt: CC by-sa 2.0
       title: Daty OpenStreetMap licencuja so pod licencu Creative Commons Attribution-Share Alike 2.0 Generic
@@ -908,13 +918,9 @@ hsb:
     user_diaries: Dźeniki
     user_diaries_tooltip: Wužiwarske dźeniki čitać
     view: Karta
-    view_tooltip: Karty pokazać
+    view_tooltip: Kartu pokazać
     welcome_user: Witaj, {{user_link}}
     welcome_user_link_tooltip: Twoja wužiwarska strona
-  map: 
-    coordinates: "Koordinaty:"
-    edit: Wobdźěłać
-    view: Karta
   message: 
     delete: 
       deleted: Powěsć zničena
@@ -945,10 +951,14 @@ hsb:
       send_message_to: Wužiwarjej {{name}} nowu powěsć pósłać
       subject: Temowe nadpismo
       title: Powěsć pósłać
+    no_such_message: 
+      body: Bohužel powěsć z tutym ID njeje.
+      heading: Powěsć njeeksistuje
+      title: Powěsć njeeksistuje
     no_such_user: 
-      body: Bohužel wužiwar abo powěsć z tym mjenom resp. id njeje
-      heading: Wužiwar abo powěsć njeeksistuje
-      title: Wužiwar abo powěsć njeeksistuje
+      body: Bohužel wužiwar z tym mjenom njeeksistuje.
+      heading: Wužiwar njeeksistuje
+      title: Wužiwar njeeksistuje
     outbox: 
       date: Datum
       inbox: póstowy kašćik
@@ -972,6 +982,9 @@ hsb:
       title: Powěsć čitać
       to: Komu
       unread_button: Jako njepřečitany markěrować
+      wrong_user: Sy jako `{{user}}' přizjewjeny, ale powěsć, kotruž chcyše čitać, njebu na toho wužiwarja pósłana. Prošu přizjew so jako korektny wužiwar, zo by čitał.
+    reply: 
+      wrong_user: Sy jako `{{user}}' přizjewjeny, ale powěsć, na kotruž chcyše wotmołwić, njebu na toho wužiwarja pósłana. Prošu přizjew so jako korektny wužiwar, zo by wotmołwił.
     sent_message_summary: 
       delete_button: Zničić
   notifier: 
@@ -992,8 +1005,9 @@ hsb:
       hopefully_you_1: Něchtó (najskerje ty) chce swoju e-mejlowu adresu
       hopefully_you_2: na {{server_url}} do {{new_address}} změnić.
     friend_notification: 
+      befriend_them: Móžeš jich na {{befriendurl}} jako přećelow přidać.
       had_added_you: "{{user}} je će na OpenStreetMap jako přećela přidał."
-      see_their_profile: Móžeš sej jich profil na {{userurl}} wobhladać a přidaj jich jako přećelow, jeli to chceš.
+      see_their_profile: Móžeš jeho abo jeje profil na {{userurl}} widźeć.
       subject: "[OpenStreetMap] {{user}} je će jako přećela přidał"
     gpx_notification: 
       and_no_tags: a žane atributy.
@@ -1219,6 +1233,9 @@ hsb:
     sidebar: 
       close: Začinić
       search_results: Pytanske wuslědki
+  time: 
+    formats: 
+      friendly: "%e %B %Y %H:%M"
   trace: 
     create: 
       trace_uploaded: Twoja GPX-dataja je so nahrała a čaka na zasunjenje do datoweje banki. To so zwjetša za poł hodźiny stawa a po dokónčenju budźe so ći e-mejl słać.
@@ -1320,14 +1337,21 @@ hsb:
       trackable: Čarujomny (jenož jako anonymny dźěleny, zrjadowane dypki z časowymi kołkami)
   user: 
     account: 
+      current email address: "Aktualna e-mejlowa adresa:"
+      delete image: Aktualny wobraz wotstronić
       email never displayed publicly: (njeje ženje zjawnje widźomna)
       flash update success: Wužiwarske informacije wuspěšnje zaktualizowane.
       flash update success confirm needed: Wužiwarske informacije wuspěšnje zaktualizowane. Dóstanješ e-mejl z namołwu, swoju nowu e-mejlowu adresu wobkrućić.
       home location: "Domjace stejnišćo:"
+      image: "Wobraz:"
+      image size hint: (kwadratiske wobrazy z wulkosću wot znajmjeńša 100x100 najlěpje funguja)
+      keep image: Aktualny wobraz wobchować
       latitude: "Šěrokostnik:"
       longitude: "Dołhostnik:"
       make edits public button: Wšě moje změny zjawne činić
       my settings: Moje nastajenja
+      new email address: "Nowa e-mejlowa adresa:"
+      new image: Wobraz přidać
       no home location: Njejsy swoje domjace stejnišćo zapodał.
       preferred languages: "Preferowane rěče:"
       profile description: "Profilowe wopisanje:"
@@ -1341,6 +1365,7 @@ hsb:
       public editing note: 
         heading: Zjawne wobdźěłowanje
         text: Tuchwilu twoje změny su anonymne a ludźo njemóžeja ći powěsće pósłać abo twoje stejnišćo widźeć. Zo by pokazał, štož sy wobdźěłał a ludźom dowolił, so z tobu přez websydło do zwiska stajić, klikń deleka na tłóčatko. <b>Wot přeńdźenja do API 0.6, jenož zjawni wužiwarjo móžeja kartowe daty wobdźěłać</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">hlej přičiny</a>).<ul><li>Twoja e-mejlowa adresa njebudźe so zjawnej pokazać.</li><li>Tuta akcija njeda so wobroćić a wšitcy nowi wužiwarjo su nětko po standardźe zjawni.</li></ul>
+      replace image: Aktualny wobraz narunać
       return to profile: Wróćo k profilej
       save changes button: Změny składować
       title: Konto wobdźěłać
@@ -1359,9 +1384,6 @@ hsb:
       success: Twoja e-mejlowa adresa bu wobkrućena, dźakujemy so za registrowanje!
     filter: 
       not_an_administrator: Dyrbiš administrator być, zo by tutu akciju wuwjedł.
-    friend_map: 
-      nearby mapper: "Kartěrowar w bliskosći: [[nearby_user]]"
-      your location: Twoje městno
     go_public: 
       flash success: Wšě twoje změny su nětko zjawne, a směš nětko wobdźěłać.
     login: 
@@ -1374,7 +1396,12 @@ hsb:
       lost password link: Swoje hesło zabył?
       password: "Hesło:"
       please login: Prošu přizjew so abo {{create_user_link}}.
+      remember: "Spomjatkować sej:"
       title: Přizjewjenje
+    logout: 
+      heading: Z OpenStreetMap wotzjewić
+      logout_button: Wotzjewić
+      title: Wotzjewić
     lost_password: 
       email address: "E-mejlowa adresa:"
       heading: Sy hesło zabył?
@@ -1407,6 +1434,10 @@ hsb:
       body: Bohužel žadyn wužiwar z mjenom {{user}} njeje. Prošu skontroluj prawopis, abo wotkaz, na kotryž sy kliknył, je njepłaćiwy.
       heading: Wužiwar {{user}} njeeksistuje
       title: Wužiwar njeeksistuje
+    popup: 
+      friend: Přećel
+      nearby mapper: Kartěrowar w bliskosći
+      your location: Twoje městno
     remove_friend: 
       not_a_friend: "{{name}} twój přećel njeje."
       success: "{{name}} je so jako přećel wotstronił."
@@ -1423,17 +1454,14 @@ hsb:
     view: 
       activate_user: tutoho wužiwarja aktiwizować
       add as friend: jako přećela přidać
-      add image: Wobraz přidać
       ago: (před {{time_in_words_ago}})
       block_history: Dóstane blokowanja pokazać
       blocks by me: blokowanja wote mnje
       blocks on me: blokowanja přećiwo mi
-      change your settings: Twoje nastajenja změnić
       confirm: Wobkrućić
       create_block: tutoho wužiwarja blokować
       created from: "Wutworjeny z:"
       deactivate_user: tutoho wužiwarja znjemóžnić
-      delete image: Wobraz zničić
       delete_user: tutoho wužiwarja zničić
       description: Wopisanje
       diary: dźenik
@@ -1449,12 +1477,11 @@ hsb:
       my edits: moje změny
       my settings: moje nastajenja
       my traces: moje ćěrje
-      my_oauth_details: Moje podrobnosće OAuth pokazać
-      nearby users: "Wužiwarjo w bliskosći:"
+      nearby users: Druzy wužiwarjo w bliskosći
       new diary entry: nowy dźenikowy zapisk
       no friends: Hišće njejsy přećelow přidał.
-      no home location: Žane domjace stejnišćo podate.
-      no nearby users: Hišće wužiwarjo njejsu, kotřiž w bliskosći kartěruja.
+      no nearby users: Njejsu druzy wužiwarjo, kotřiž w bliskosći kartěruja.
+      oauth settings: OAUTH-nastajenja
       remove as friend: jako přećela wotstronić
       role: 
         administrator: Tutón wužiwar je administrator
@@ -1469,8 +1496,6 @@ hsb:
       settings_link_text: nastajenja
       traces: ćěrje
       unhide_user: tutoho wužiwarja pokazaś
-      upload an image: Wobraz nahrać
-      user image heading: Wužiwarski wobraz
       user location: Wužiwarske stejnišćo
       your friends: Twoji přećeljo
   user_block: 
index b158ff8fca4c9289bcc0bf48e07af188aa89cbe1..1a175ebbd42ee8d6ba3c334c098c1017bf36e72c 100644 (file)
@@ -319,6 +319,10 @@ hu:
       recent_entries: "Legutóbbi naplóbejegyzések:"
       title: Felhasználók naplói
       user_title: "{{user}} naplója"
+    location: 
+      edit: Szerkesztés
+      location: "Hely:"
+      view: Megtekintés
     new: 
       title: Új naplóbejegyzés
     no_such_entry: 
@@ -358,6 +362,9 @@ hu:
       output: Kimenet
       paste_html: Webhelyekbe való beágyazáshoz illeszd be a HTML kódot
       scale: Méretarány
+      too_large: 
+        body: Ez a terület túl nagy ahhoz, hogy exportálásra kerüljön OpenStreetMap XML adatként. Közelíts, vagy jelölj ki kisebb területet.
+        heading: Túl nagy terület
       zoom: Nagyítási szint
     start_rjs: 
       add_marker: Jelölő hozzáadása a térképhez
@@ -851,13 +858,16 @@ hu:
         cycle_map: Kerékpártérkép
         noname: NincsNév
     site: 
+      edit_disabled_tooltip: Közelíts a térkép szerkesztéséhez
+      edit_tooltip: Térkép szerkesztése
       edit_zoom_alert: Közelítened kell a térkép szerkesztéséhez
+      history_disabled_tooltip: Közelíts ahhoz, hogy lásd a szerkesztéseket ezen a területen.
+      history_tooltip: Szerkesztések megtekintése ezen a területen
       history_zoom_alert: Közelítened kell a szerkesztési előzmények megtekintéséhez
   layouts: 
     donate: Támogasd az OpenStreetMapot a Hardverfrissítési Alapba történő {{link}}sal.
     donate_link_text: adományozás
     edit: Szerkesztés
-    edit_tooltip: Térkép szerkesztése
     export: Exportálás
     export_tooltip: Térképadatok exportálása
     gps_traces: Nyomvonalak
@@ -866,7 +876,6 @@ hu:
     help_wiki_tooltip: Segítség és wikioldal a projekthez
     help_wiki_url: http://wiki.openstreetmap.org/wiki/HU:Main_Page?uselang=hu
     history: Előzmények
-    history_tooltip: Módosításcsomagok előzményei
     home: otthon
     home_tooltip: Ugrás otthonra
     inbox: postaláda ({{count}})
@@ -906,10 +915,6 @@ hu:
     view_tooltip: Térkép megjelenítése
     welcome_user: Üdvözlünk {{user_link}}
     welcome_user_link_tooltip: Felhasználói oldalad
-  map: 
-    coordinates: "Koordináták:"
-    edit: Szerkesztés
-    view: Térkép
   message: 
     delete: 
       deleted: Üzenet törölve
@@ -940,10 +945,14 @@ hu:
       send_message_to: "Új üzenet küldése neki: {{name}}"
       subject: Tárgy
       title: Üzenet küldése
+    no_such_message: 
+      body: Sajnálom, nincs üzenet ezzel az azonosítóval.
+      heading: Nincs ilyen üzenet
+      title: Nincs ilyen üzenet
     no_such_user: 
-      body: Sajnálom, nincs felhasználó vagy üzenet ezzel a névvel vagy azonosítóval
-      heading: Nincs ilyen felhasználó vagy üzenet
-      title: Nincs ilyen felhasználó vagy üzenet
+      body: Sajnálom, nincs felhasználó ezzel a névvel.
+      heading: Nincs ilyen felhasználó
+      title: Nincs ilyen felhasználó
     outbox: 
       date: Elküldve
       inbox: Beérkezett üzenetek
@@ -967,6 +976,9 @@ hu:
       title: Üzenet olvasása
       to: Címzett
       unread_button: Jelölés olvasatlanként
+      wrong_user: „{{user}}” néven jelentkeztél be, de a levelet, amit lekérdeztél olvasásra, nem ez a felhasználó küldte vagy kapta. Annak érdekében, hogy elolvashasd a levelet, jelentkezz be a helyes felhasználóval.
+    reply: 
+      wrong_user: „{{user}}” néven jelentkeztél be, de a levelet, amit lekérdeztél válaszolásra, nem ez a felhasználó kapta. Annak érdekében, hogy válaszolhass, jelentkezz be a helyes felhasználóval.
     sent_message_summary: 
       delete_button: Törlés
   notifier: 
@@ -987,8 +999,9 @@ hu:
       hopefully_you_1: "Valaki (remélhetőleg Te) meg szeretné változtatni az e-mail címét erről:"
       hopefully_you_2: "{{server_url}} erre: {{new_address}}."
     friend_notification: 
+      befriend_them: "Felveheted őt barátnak is itt: {{befriendurl}}."
       had_added_you: "{{user}} felvett a barátai közé az OpenStreetMapon."
-      see_their_profile: "Megnézheted a profilját itt: {{userurl}} és felveheted őt is barátnak, ha szeretnéd."
+      see_their_profile: "Megnézheted a profilját itt: {{userurl}}."
       subject: "[OpenStreetMap] {{user}} felvett a barátai közé"
     gpx_notification: 
       and_no_tags: és címkék nélkül
@@ -1220,6 +1233,9 @@ hu:
     sidebar: 
       close: Bezár
       search_results: Keresés eredményei
+  time: 
+    formats: 
+      friendly: "%Y. %B %e., %H.%M"
   trace: 
     create: 
       trace_uploaded: A GPX fájl feltöltése megtörtént, és várakozik az adatbázisba való beillesztésre. Ez általában fél órán belül megtörténik, és fogsz kapni egy e-mailt, amint elkészült.
@@ -1322,15 +1338,20 @@ hu:
   user: 
     account: 
       current email address: "Jelenlegi e-mail cím:"
+      delete image: Jelenlegi kép eltávolítása
       email never displayed publicly: (soha nem jelenik meg nyilvánosan)
       flash update success: Felhasználói információk sikeresen frissítve.
       flash update success confirm needed: Felhasználói információk sikeresen frissítve. Nézd meg az e-mailjeidet az új e-mail címedet megerősítő levélhez.
       home location: "Otthon:"
+      image: "Kép:"
+      image size hint: (legalább 100x100 pixel nagyságú négyzetes kép javasolt)
+      keep image: Jelenlegi kép megtartása
       latitude: "Földrajzi szélesség:"
       longitude: "Földrajzi hosszúság:"
       make edits public button: Szerkesztéseim nyilvánossá tétele
       my settings: Beállításaim
       new email address: "Új e-mail cím:"
+      new image: Kép hozzáadása
       no home location: Nem adtad meg az otthonod helyét.
       preferred languages: "Előnyben részesített nyelvek:"
       profile description: "Profil leírása:"
@@ -1344,6 +1365,7 @@ hu:
       public editing note: 
         heading: Nyilvános szerkesztés
         text: Jelenleg a szerkesztéseid névtelenek, és az emberek nem küldhetnek neked üzeneteket, és nem láthatják a tartózkodási helyedet. Hogy megmutasd, mit szerkesztettél, és megengedd az embereknek, hogy a webhelyen keresztül kapcsolatba lépjenek veled, kattints az alábbi gombra. <b>A 0.6 API-ra történt átállás óta csak nyilvános felhasználók szerkeszthetik a térképadatokat</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">nézz utána, miért</a>).<ul><li>Az e-mail címed nem kerül felfedésre azzal, hogy nyilvános leszel.</li><li>Ez a művelet nem vonható vissza, és alapértelmezésben az összes új felhasználó már nyilvános.</li></ul>
+      replace image: Jelenlegi kép cseréje
       return to profile: Vissza a profilhoz
       save changes button: Módosítások mentése
       title: Felhasználói fiók szerkesztése
@@ -1362,9 +1384,6 @@ hu:
       success: E-mail címed megerősítve, köszönjük a regisztrációt!
     filter: 
       not_an_administrator: Ennek a műveletnek az elvégzéséhez adminisztrátori jogosultsággal kell rendelkezned.
-    friend_map: 
-      nearby mapper: "Közeli térképszerkesztő: [[nearby_user]]"
-      your location: Helyed
     go_public: 
       flash success: Mostantól az összes szerkesztésed nyilvános, és engedélyezett a szerkesztés.
     login: 
@@ -1377,7 +1396,12 @@ hu:
       lost password link: Elfelejtetted a jelszavad?
       password: "Jelszó:"
       please login: Jelentkezz be, vagy {{create_user_link}}.
+      remember: "Emlékezz rám:"
       title: Bejelentkezés
+    logout: 
+      heading: Kijelentkezés az OpenStreetMapból
+      logout_button: Kijelentkezés
+      title: Kijelentkezés
     lost_password: 
       email address: "E-mail cím:"
       heading: Elfelejtetted jelszavad?
@@ -1410,6 +1434,10 @@ hu:
       body: Sajnálom, nincs {{user}} nevű felhasználó. Ellenőrizd a helyességét, vagy lehet, hogy a link, amire kattintottál, rossz.
       heading: "{{user}} felhasználó nem létezik"
       title: Nincs ilyen felhasználó
+    popup: 
+      friend: Barát
+      nearby mapper: Közeli térképszerkesztő
+      your location: Helyed
     remove_friend: 
       not_a_friend: "{{name}} nem tartozik a barátaid közé."
       success: "{{name}} eltávolítva a barátaid közül."
@@ -1426,17 +1454,14 @@ hu:
     view: 
       activate_user: felhasználó aktiválása
       add as friend: felvétel barátnak
-      add image: Kép hozzáadása
       ago: ({{time_in_words_ago}} óta)
       block_history: kapott blokkolások megjelenítése
       blocks by me: általam kiosztott blokkolások
       blocks on me: saját blokkolásaim
-      change your settings: beállítások módosítása
       confirm: Megerősítés
       create_block: ezen felhasználó blokkolása
       created from: "Készítve innen:"
       deactivate_user: felhasználó deaktiválása
-      delete image: Kép törlése
       delete_user: ezen felhasználó törlése
       description: Leírás
       diary: napló
@@ -1452,12 +1477,11 @@ hu:
       my edits: szerkesztéseim
       my settings: beállításaim
       my traces: saját nyomvonalak
-      my_oauth_details: OAuth részletek megtekintése
-      nearby users: "Közeli felhasználók:"
+      nearby users: Egyéb közeli felhasználók
       new diary entry: új naplóbejegyzés
       no friends: Még nem adtál meg egyetlen barátot sem.
-      no home location: Nincs otthon beállítva.
-      no nearby users: Még nincsenek felhasználók, akik megadták, hogy a közelben szerkesztenek.
+      no nearby users: Még nincsenek más felhasználók, akik megadták, hogy a közelben szerkesztenek.
+      oauth settings: oauth beállítások
       remove as friend: barát eltávolítása
       role: 
         administrator: Ez a felhasználó adminisztrátor
@@ -1472,8 +1496,6 @@ hu:
       settings_link_text: beállítások
       traces: nyomvonalak
       unhide_user: felhasználó elrejtésének megszüntetése
-      upload an image: Kép feltöltése
-      user image heading: Felhasználó képe
       user location: Felhasználó helye
       your friends: Barátaid
   user_block: 
index b7faf47733b091c53a0b789dbd82e6b78e00c924..b7ffd96ee75383b864ca8cff1506eb8b4bf5c2da 100644 (file)
@@ -331,7 +331,7 @@ ia:
       login: Aperir session
       login_to_leave_a_comment: "{{login_link}} pro lassar un commento"
       save_button: Salveguardar
-      title: Diarios de usatores | {{user}}
+      title: Diario de {{user}} | {{title}}
       user_title: Diario de {{user}}
   export: 
     start: 
@@ -355,6 +355,9 @@ ia:
       output: Resultato
       paste_html: Colla HTML pro incorporar in sito web
       scale: Scala
+      too_large: 
+        body: Iste area es troppo grande pro esser exportate como datos XML de OpenStreetMap. Per favor face zoom avante o selige un area minor.
+        heading: Area troppo grande
       zoom: Zoom
     start_rjs: 
       add_marker: Adder un marcator al carta
@@ -408,6 +411,7 @@ ia:
         amenity: 
           airport: Aeroporto
           arts_centre: Centro artistic
+          atm: Cassa automatic
           auditorium: Auditorio
           bank: Banca
           bar: Bar
@@ -430,6 +434,7 @@ ia:
           courthouse: Tribunal
           crematorium: Crematorio
           dentist: Dentista
+          doctors: Medicos
           dormitory: Dormitorio
           drinking_water: Aqua potabile
           driving_school: Autoschola
@@ -438,11 +443,13 @@ ia:
           fast_food: Fast food
           ferry_terminal: Terminal de ferry
           fire_hydrant: Hydrante de incendio
+          fire_station: Caserna de pumperos
           fountain: Fontana
           fuel: Carburante
           grave_yard: Cemeterio
           gym: Centro de fitness / Gymnasio
           hall: Hall
+          health_centre: Centro de sanitate
           hospital: Hospital
           hotel: Hotel
           hunting_stand: Posto de cacia
@@ -458,6 +465,7 @@ ia:
           office: Officio
           park: Parco
           parking: Parking
+          pharmacy: Pharmacia
           place_of_worship: Loco de adoration
           police: Policia
           post_box: Cassa postal
@@ -488,6 +496,7 @@ ia:
           vending_machine: Distributor automatic
           veterinary: Clinica veterinari
           village_hall: Casa communal
+          waste_basket: Corbe a papiro
           wifi: Accesso WiFi
           youth_centre: Centro pro le juventute
         highway: 
@@ -529,6 +538,9 @@ ia:
           unclassified: Via non classificate
           unsurfaced: Cammino de terra
         landuse: 
+          commercial: Area commercial
+          farm: Ferma
+          military: Area militar
           nature_reserve: Reserva natural
         leisure: 
           beach_resort: Loco de vacantias al plagia
@@ -612,6 +624,77 @@ ia:
           town: Urbe
           unincorporated_area: Area sin municipalitate
           village: Village
+        shop: 
+          alcohol: Magazin de bibitas alcoholic
+          apparel: Boteca de vestimentos
+          art: Magazin de arte
+          bakery: Paneteria
+          beauty: Salon de beltate
+          beverages: Boteca de bibitas
+          bicycle: Magazin de bicyclettas
+          books: Libreria
+          butcher: Macelleria
+          car: Magazin de automobiles
+          car_dealer: Venditor de automobiles
+          car_parts: Partes de automobiles
+          car_repair: Reparation de automobiles
+          carpet: Magazin de tapetes
+          charity: Magazin de beneficentia
+          chemist: Pharmacia
+          clothes: Magazin de vestimentos
+          computer: Magazin de computatores
+          confectionery: Confecteria
+          convenience: Magazin de quartiero
+          copyshop: Centro de photocopias
+          cosmetics: Boteca de cosmetica
+          department_store: Grande magazin
+          discount: Boteca de disconto
+          doityourself: Magazin de bricolage
+          drugstore: Drogeria
+          dry_cleaning: Lavanderia a sic
+          electronics: Boteca de electronica
+          estate_agent: Agentia immobiliari
+          farm: Magazin agricole
+          fashion: Boteca de moda
+          fish: Pischeria
+          florist: Florista
+          food: Magazin de alimentation
+          funeral_directors: Directores de pompas funebre
+          furniture: Magazin de mobiles
+          gallery: Galeria
+          garden_centre: Jardineria
+          general: Magazin general
+          gift: Boteca de donos
+          greengrocer: Verdurero
+          grocery: Specieria
+          hairdresser: Perruccheria
+          hardware: Quincalieria
+          hifi: Hi-fi
+          insurance: Assecurantia
+          jewelry: Joieleria
+          kiosk: Kiosque
+          laundry: Lavanderia
+          mall: Galeria mercante
+          market: Mercato
+          mobile_phone: Boteca de telephonos mobile
+          motorcycle: Magazin de motocyclos
+          music: Magazin de musica
+          newsagent: Venditor de jornales
+          optician: Optico
+          organic: Boteca de alimentos organic
+          outdoor: Magazin de sport al aere libere
+          pet: Boteca de animales
+          photo: Magazin de photographia
+          salon: Salon
+          shoes: Scarperia
+          shopping_centre: Centro commercial
+          sports: Magazin de sport
+          stationery: Papireria
+          supermarket: Supermercato
+          toys: Magazin de joculos
+          travel_agency: Agentia de viages
+          video: Magazin de video
+          wine: Magazin de vinos
         tourism: 
           alpine_hut: Cabana alpin
           artwork: Obra de arte
@@ -633,6 +716,18 @@ ia:
           valley: Valle
           viewpoint: Puncto de vista
           zoo: Zoo
+        waterway: 
+          derelict_canal: Canal abandonate
+          ditch: Fossato
+          dock: Dock
+          drain: Aquiero
+          lock: Esclusa
+          lock_gate: Porta de esclusa
+          mooring: Ammarrage
+          rapids: Rapidos
+          river: Fluvio/Riviera
+          riverbank: Ripa de fluvio/riviera
+          waterfall: Cascada
   javascripts: 
     map: 
       base: 
@@ -645,15 +740,13 @@ ia:
     donate: Supporta OpenStreetMap per {{link}} al Fundo de Actualisation de Hardware.
     donate_link_text: donation
     edit: Modificar
-    edit_tooltip: Modificar cartas
     export: Exportar
     export_tooltip: Exportar datos cartographic
     gps_traces: Tracias GPS
-    gps_traces_tooltip: Gerer tracias
+    gps_traces_tooltip: Gerer tracias GPS
     help_wiki: Adjuta &amp; Wiki
     help_wiki_tooltip: Adjuta &amp; sito Wiki pro le projecto
     history: Historia
-    history_tooltip: Historia del gruppo de modificationes
     home: initio
     home_tooltip: Ir al position de origine
     inbox: cassa de entrata ({{count}})
@@ -663,7 +756,9 @@ ia:
       zero: Tu cassa de entrata non contine messages non legite
     intro_1: OpenStreetMap es un carta libere e modificabile del mundo integre. Illo es facite per gente como te.
     intro_2: OpenStreetMap permitte vider, modificar e usar datos geographic de modo collaborative desde ubique in le mundo.
-    intro_3: Le albergamento de OpenStreetMap es gratiosemente supportate per le {{ucl}} e {{bytemark}}.
+    intro_3: Le albergamento de OpenStreetMap es gratiosemente supportate per le {{ucl}} e per {{bytemark}}. Altere sponsores del projecto es listate in le {{partners}}.
+    intro_3_bytemark: Bytemark
+    intro_3_ucl: Centro VR del UCL
     license: 
       title: Le datos de OpenStreetMap es disponibile sub le licentia Attribution-Share Alike 2.0 Generic de Creative Commons
     log_in: aperir session
@@ -688,13 +783,9 @@ ia:
     user_diaries: Diarios de usatores
     user_diaries_tooltip: Leger diarios de usatores
     view: Vider
-    view_tooltip: Vider cartas
+    view_tooltip: Vider le carta
     welcome_user: Benvenite, {{user_link}}
     welcome_user_link_tooltip: Tu pagina de usator
-  map: 
-    coordinates: "Coordinatas:"
-    edit: Modificar
-    view: Vider
   message: 
     delete: 
       deleted: Message delite
@@ -726,9 +817,9 @@ ia:
       subject: Subjecto
       title: Inviar message
     no_such_user: 
-      body: Pardono, il non ha un usator o message con iste nomine o ID.
-      heading: Nulle tal usator o message
-      title: Nulle tal usator o message
+      body: Regrettabilemente, il non ha un usator o message con iste nomine.
+      heading: Iste usator non existe
+      title: Iste usator non existe
     outbox: 
       date: Data
       inbox: cassa de entrata
@@ -772,8 +863,9 @@ ia:
       hopefully_you_1: Alcuno (sperabilemente tu) vole cambiar su adresse de e-mail a
       hopefully_you_2: "{{server_url}} a {{new_address}}."
     friend_notification: 
+      befriend_them: Tu pote equalmente adder le/la como amico a {{befriendurl}}.
       had_added_you: "{{user}} te ha addite como amico in OpenStreetMap."
-      see_their_profile: Tu pote vider su profilo a {{userurl}} e adder le/la tamben como amico si tu lo vole.
+      see_their_profile: Tu pote vider su profilo a {{userurl}}.
       subject: "[OpenStreetMap] {{user}} te ha addite como amico"
     gpx_notification: 
       and_no_tags: e sin etiquettas.
@@ -842,7 +934,7 @@ ia:
       allow_to: "Permitter al application cliente:"
       allow_write_api: modificar le carta.
       allow_write_diary: crear entratas de diario, commentos e adder amicos.
-      allow_write_gpx: cargar tracias GPS.
+      allow_write_gpx: incargar tracias GPS.
       allow_write_prefs: modificar tu preferentias de usator.
       request_access: Le application {{app_name}} requesta accesso a tu conto. Per favor verifica si tu vole que le application ha le sequente capabilitates. Tu pote seliger tantes o si poches como tu vole.
     revoke: 
@@ -860,7 +952,7 @@ ia:
       allow_read_prefs: leger su preferentias de usator.
       allow_write_api: modificar le carta.
       allow_write_diary: crear entratas de diario, commentos e adder amicos.
-      allow_write_gpx: cargar tracias GPS.
+      allow_write_gpx: incargar tracias GPS.
       allow_write_prefs: modificar su preferentias de usator.
       callback_url: URL de reappello
       name: Nomine
@@ -890,7 +982,7 @@ ia:
       allow_read_prefs: leger su preferentias de usator.
       allow_write_api: modificar le carta.
       allow_write_diary: crear entratas de diario, commentos e adder amicos.
-      allow_write_gpx: cargar tracias GPS.
+      allow_write_gpx: incargar tracias GPS.
       allow_write_prefs: modificar su preferentias de usator.
       authorize_url: "URL de autorisation:"
       edit: Modificar detalios
@@ -999,10 +1091,13 @@ ia:
     sidebar: 
       close: Clauder
       search_results: Resultatos del recerca
+  time: 
+    formats: 
+      friendly: "%e %B %Y a %H:%M"
   trace: 
     create: 
-      trace_uploaded: Tu file GPX ha essite cargate e attende insertion in le base de datos. Isto prende generalmente minus de un medie hora, e un e-mail te essera inviate al completion.
-      upload_trace: Cargar tracia GPS
+      trace_uploaded: Tu file GPX ha essite incargate e attende insertion in le base de datos. Isto prende generalmente minus de un medie hora, e un e-mail te essera inviate al completion.
+      upload_trace: Incargar tracia GPS
     delete: 
       scheduled_for_deletion: Tracia programmate pro deletion
     edit: 
@@ -1014,12 +1109,12 @@ ia:
       map: carta
       owner: "Proprietario:"
       points: "Punctos:"
-      save_button: Immagazinar modificationes
+      save_button: Salveguardar modificationes
       start_coord: "Coordinata initial:"
       tags: "Etiquettas:"
       tags_help: separate per commas
       title: Modification del tracia {{name}}
-      uploaded_at: "Cargate le:"
+      uploaded_at: "Incargate le:"
       visibility: "Visibilitate:"
       visibility_help: que significa isto?
     list: 
@@ -1035,9 +1130,9 @@ ia:
       title: Nulle tal usator
     offline: 
       heading: Immagazinage GPX foras de linea
-      message: Le systema pro immagazinar e cargar files GPX es actualmente indisponibile.
+      message: Le systema pro immagazinar e incargar files GPX es actualmente indisponibile.
     offline_warning: 
-      message: Le systema pro cargar files GPX es actualmente indisponibile
+      message: Le systema pro incargar files GPX es actualmente indisponibile
     trace: 
       ago: "{{time_in_words_ago}} retro"
       by: per
@@ -1059,15 +1154,15 @@ ia:
       help: Adjuta
       tags: Etiquettas
       tags_help: separate per commas
-      upload_button: Cargar
+      upload_button: Incargar
       upload_gpx: Incargar file GPX
       visibility: Visibilitate
       visibility_help: que significa isto?
     trace_header: 
       see_all_traces: Vider tote le tracias
-      see_just_your_traces: Vider solo tu tracias, o cargar un tracia
+      see_just_your_traces: Vider solo tu tracias, o incargar un tracia
       see_your_traces: Vider tote tu tracias
-      traces_waiting: Tu ha {{count}} tracias attendente cargamento. Per favor considera attender le completion de istes ante de cargar alteres, pro non blocar le cauda pro altere usatores.
+      traces_waiting: Tu ha {{count}} tracias attendente incargamento. Per favor considera attender le completion de istes ante de incargar alteres, pro non blocar le cauda pro altere usatores.
     trace_optionals: 
       tags: Etiquettas
     trace_paging_nav: 
@@ -1091,7 +1186,7 @@ ia:
       tags: "Etiquettas:"
       title: Visualisation del tracia {{name}}
       trace_not_found: Tracia non trovate!
-      uploaded: "Cargate le:"
+      uploaded: "Incargate le:"
       visibility: "Visibilitate:"
     visibility: 
       identifiable: Identificabile (monstrate in le lista de tracias e como identificabile, punctos ordinate con datas e horas)
@@ -1101,15 +1196,20 @@ ia:
   user: 
     account: 
       current email address: "Adresse de e-mail actual:"
+      delete image: Remover le imagine actual
       email never displayed publicly: (nunquam monstrate publicamente)
       flash update success: Informationes del usator actualisate con successo.
       flash update success confirm needed: Informationes del usator actualisate con successo. Tu recipera in e-mail un nota pro confirmar tu nove adresse de e-mail.
       home location: "Position de origine:"
+      image: "Imagine:"
+      image size hint: (imagines quadrate de al minus 100×100 functiona melio)
+      keep image: Retener le imagine actual
       latitude: "Latitude:"
       longitude: "Longitude:"
       make edits public button: Render tote mi modificationes public
       my settings: Mi configurationes
       new email address: "Adresse de e-mail nove:"
+      new image: Adder un imagine
       no home location: Tu non ha entrate tu position de origine.
       preferred languages: "Linguas preferite:"
       profile description: "Description del profilo:"
@@ -1123,8 +1223,9 @@ ia:
       public editing note: 
         heading: Modification public
         text: A iste momento tu modificationes es anonyme, e le gente non pote inviar te messages ni vider tu position. Pro poter monstrar tu contributiones e pro permitter al gente de contactar te per le sito web, clicca le button ci infra. <b>Post le cambio al API 0.6, solo le usatores public pote modificar datos cartographic</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">lege proque</a>).<ul><li>Tu adresse de e-mail non essera revelate si tu deveni public.</li><li>Iste action non pote esser revertite e tote le nove usatores es ora public per predefinition.</li></ul>
+      replace image: Reimplaciar le imagine actual
       return to profile: Retornar al profilo
-      save changes button: Immagazinar modificationes
+      save changes button: Salveguardar modificationes
       title: Modificar conto
       update home location on click: Actualisar le position de origine quando io clicca super le carta?
     confirm: 
@@ -1141,9 +1242,6 @@ ia:
       success: Tu adresse de e-mail ha essite confirmate, gratias pro inscriber te!
     filter: 
       not_an_administrator: Tu debe esser administrator pro executar iste action.
-    friend_map: 
-      nearby mapper: "Cartographo vicin: [[nearby_user]]"
-      your location: Tu position
     go_public: 
       flash success: Tote tu modificationes es ora public, e tu ha ora le permission de modificar.
     login: 
@@ -1156,7 +1254,12 @@ ia:
       lost password link: Tu perdeva le contrasigno?
       password: "Contrasigno:"
       please login: Per favor aperi un session o {{create_user_link}}.
+      remember: "Memorar me:"
       title: Aperir session
+    logout: 
+      heading: Clauder le session de OpenStreetMap
+      logout_button: Clauder session
+      title: Clauder session
     lost_password: 
       email address: "Adresse de e-mail:"
       heading: Contrasigno oblidate?
@@ -1189,6 +1292,10 @@ ia:
       body: Non existe un usator con le nomine {{user}}. Per favor verifica le orthographia, o pote esser que le ligamine que tu sequeva es incorrecte.
       heading: Le usator {{user}} non existe
       title: Nulle tal usator
+    popup: 
+      friend: Amico
+      nearby mapper: Cartographo vicin
+      your location: Tu position
     remove_friend: 
       not_a_friend: "{{name}} non es un de tu amicos."
       success: "{{name}} ha essite removite de tu amicos."
@@ -1205,17 +1312,14 @@ ia:
     view: 
       activate_user: activar iste usator
       add as friend: adder como amico
-      add image: Adder imagine
       ago: ({{time_in_words_ago}} retro)
       block_history: vider blocadas recipite
       blocks by me: blocadas per me
       blocks on me: blocadas super me
-      change your settings: cambiar tu configurationes
       confirm: Confirmar
       create_block: blocar iste usator
       created from: "Create ex:"
       deactivate_user: disactivar iste usator
-      delete image: Deler imagine
       delete_user: deler iste usator
       description: Description
       diary: diario
@@ -1231,12 +1335,11 @@ ia:
       my edits: mi modificationes
       my settings: mi configurationes
       my traces: mi tracias
-      my_oauth_details: Vider mi detalios OAuth
-      nearby users: "Usatores vicin:"
+      nearby users: Altere usatores vicin
       new diary entry: nove entrata de diario
       no friends: Tu non ha ancora addite alcun amico.
-      no home location: Nulle position de origine ha essite definite.
-      no nearby users: Il non ha ancora cartographos in le vicinitate.
+      no nearby users: Il non ha ancora altere cartographos in le vicinitate.
+      oauth settings: configuration oauth
       remove as friend: remover como amico
       role: 
         administrator: Iste usator es un administrator
@@ -1251,8 +1354,6 @@ ia:
       settings_link_text: configurationes
       traces: tracias
       unhide_user: revelar iste usator
-      upload an image: Cargar un imagine
-      user image heading: Imagine del usator
       user location: Position del usator
       your friends: Tu amicos
   user_block: 
index dddaa16d0f1f41aa2585ff6681072472b3841fa7..355660b5b1271453d4db92b42aeae4a550f963b5 100644 (file)
@@ -212,6 +212,13 @@ is:
       zoom_or_select: Þú verður að þysja að eða velja svæði á kortinu
     tag_details: 
       tags: "Eigindi:"
+    timeout: 
+      sorry: Ekki var hægt að ná í gögn fyrir {{type}} með kennitöluna {{id}}, það tók of langann tíma að ná í gögnin.
+      type: 
+        changeset: breytingarsettið
+        node: hnútinn
+        relation: venslin
+        way: veginn
     way: 
       download: "{{download_xml_link}} eða {{view_history_link}} eða {{edit_link}}"
       download_xml: Sækja veginn á XML sniði
@@ -383,6 +390,7 @@ is:
       other: u.þ.b. {{count}} km
       zero: minna en 1 km
     results: 
+      more_results: Fleiri niðurstöður
       no_results: Ekkert fannst
     search: 
       title: 
@@ -405,6 +413,7 @@ is:
           bicycle_rental: Reiðhjólaleigan
           brothel: Hóruhúsið
           cafe: Kaffihúsið
+          car_rental: Bílaleigan
           car_wash: Bílaþvottastöðin
           cinema: Kvikmyndarhúsið
           dentist: Tannlæknirinn
@@ -437,6 +446,7 @@ is:
           swimming_pool: Sundlaugin
           water_park: Vatnsleikjagarðurinn
         natural: 
+          bay: Flóinn
           beach: Ströndin
           cave_entrance: Hellisop
           crater: Gígurinn
@@ -517,7 +527,6 @@ is:
     donate: Hjálpaðu OpenStreetMap verkefninu með {{link}} í vélbúnaðarsjóðinn.
     donate_link_text: fjárframlagi
     edit: Breyta
-    edit_tooltip: Breyta kortagögnunum
     export: Niðurhala
     export_tooltip: Niðurhala kortagögnum á hinum ýmsu sniðum
     gps_traces: GPS ferlar
@@ -526,7 +535,6 @@ is:
     help_wiki_tooltip: Hjálpar og wiki-síða fyrir verkefnið
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Fors%C3%AD%C3%B0a?uselang=is
     history: Breytingarskrá
-    history_tooltip: Sjá skrá yfir breytingarsett
     home: heim
     home_tooltip: Færa kortasýnina á þína staðsetningu
     inbox: innhólf ({{count}})
@@ -565,10 +573,6 @@ is:
     view_tooltip: Kortasýn
     welcome_user: Hæ {{user_link}}
     welcome_user_link_tooltip: Notandasíðan þín
-  map: 
-    coordinates: "Hnit:"
-    edit: Breyta
-    view: Kort
   message: 
     delete: 
       deleted: Skilaboðunum var eytt
@@ -852,6 +856,9 @@ is:
     sidebar: 
       close: Loka
       search_results: Leitarniðurstöður
+  time: 
+    formats: 
+      friendly: "%e .%B %Y kl. %H:%M"
   trace: 
     create: 
       trace_uploaded: Búið er að hlaða upp GPS ferlinum og bíður hann núna eftir því að vera settur inn í gagnagrunninn, sem gerist yfirleitt innan stundar. Póstur verður sendur á netfangið þitt þegar því er lokið.
@@ -892,13 +899,15 @@ is:
       count_points: "{{count}} punktar"
       edit: breyta
       edit_map: Breyta kortinu með ferilin til hliðsjónar
+      identifiable: AUÐKENNANLEGUR
       in: í
       map: kort
       more: upplýsingar
       pending: Í BIÐ
-      private: BARA ÞÚ SÉRÐ
+      private: PRÍVAT
       public: ALLIR SJÁ
       trace_details: Sýna upplýsingar um ferilinn
+      trackable: REKJANLEGUR
       view_map: Sjá kort
     trace_form: 
       description: Lýsing
@@ -917,6 +926,10 @@ is:
       traces_waiting: Þú ert með {{count}} ferla í bið. Íhugaðu að bíða með að senda inn fleiri ferla til að aðrir notendur komist að.
     trace_optionals: 
       tags: Tögg
+    trace_paging_nav: 
+      next: Næsta &raquo;
+      previous: "&laquo; Fyrri"
+      showing_page: Sýni síðu {{page}}
     view: 
       delete_track: Eyða
       description: "Lýsing:"
@@ -943,14 +956,19 @@ is:
       trackable: Rekjanlegur (aðeins deilt sem óauðkennanlegir punktar með tímastimpli)
   user: 
     account: 
+      current email address: "Núverandi netfang:"
+      delete image: Eyða þessari mynd
       email never displayed publicly: (aldrei sýnt opinberlega)
       flash update success: Stillingarnar þínar voru uppfærðar.
       flash update success confirm needed: Stillingarnar þínar voru uppfærðar. Póstur var sendur á netfangið þitt sem þú þarft að bregðast við til að netfangið þitt verði staðfest.
       home location: "Staðsetning:"
+      image: "Mynd:"
+      keep image: Halda þessari mynd
       latitude: "Lengdargráða:"
       longitude: "Breiddargráða:"
       make edits public button: Gera allar breytingarnar mínar opinberar
       my settings: Mínar stillingar
+      new email address: "Nýtt netfang:"
       no home location: Þú hefur ekki stillt staðsetningu þína.
       preferred languages: "Viðmótstungumál:"
       profile description: "Lýsing á þér:"
@@ -982,9 +1000,6 @@ is:
       success: Netfangið þitt hefur verið staðfest.
     filter: 
       not_an_administrator: Þú þarft að vera möppudýr til að framkvæma þessa aðgerð.
-    friend_map: 
-      nearby mapper: "Nálægur notandi: [[nearby_user]]"
-      your location: Þín staðsetning
     go_public: 
       flash success: Allar breytingar þínar eru nú opinberar, og þú getur breytt gögnum.
     login: 
@@ -997,7 +1012,12 @@ is:
       lost password link: Gleymt lykilorð?
       password: "Lykilorð:"
       please login: Vinsamlegast innskráðu þig eða {{create_user_link}}.
+      remember: "Muna innskráninguna:"
       title: Innskrá
+    logout: 
+      heading: Útskrá
+      logout_button: Útskrá
+      title: Útskrá
     lost_password: 
       email address: "Netfang:"
       heading: Gleymt lykilorð?
@@ -1030,6 +1050,10 @@ is:
       body: Það er ekki til notandi með nafninu {{user}}. Kannski slóstu nafnið rangt inn eða fylgdir ógildum tengli.
       heading: Notandinn {{user}} er ekki til
       title: Notandi ekki til
+    popup: 
+      friend: Vinur
+      nearby mapper: Nálægur notandi
+      your location: Þín staðsetning
     remove_friend: 
       not_a_friend: "{{name}} er ekki vinur þinn."
       success: "{{name}} er ekki lengur vinur þinn."
@@ -1046,17 +1070,14 @@ is:
     view: 
       activate_user: virkja þennan notanda
       add as friend: bæta við sem vin
-      add image: Senda
       ago: ({{time_in_words_ago}} síðan)
       block_history: bönn gegn þessum notanda
       blocks by me: bönn eftir mig
       blocks on me: bönn gegn mér
-      change your settings: breyttu stillingunum þínum
       confirm: Staðfesta
       create_block: banna þennan notanda
       created from: "Búin til frá:"
       deactivate_user: óvirkja þennan notanda
-      delete image: Eyða myndinni
       delete_user: eyða þessum notanda
       description: Lýsing
       diary: blogg
@@ -1072,12 +1093,11 @@ is:
       my edits: mínar breytingar
       my settings: mínar stillingar
       my traces: mínir ferlar
-      my_oauth_details: OAuth stillingar
       nearby users: "Nálægir notendur:"
       new diary entry: ný bloggfærsla
       no friends: Þú átt enga vini
-      no home location: Engin staðsetning hefur verið stillt..
       no nearby users: Engir notendur hafa stillt staðsetningu sína nálægt þér.
+      oauth settings: oauth stillingar
       remove as friend: fjarlægja sem vin
       role: 
         administrator: Þessi notandi er möppudýr
@@ -1092,8 +1112,6 @@ is:
       settings_link_text: stillingarsíðunni
       traces: ferlar
       unhide_user: af-fela þennan notanda
-      upload an image: Senda inn mynd
-      user image heading: Notandamynd
       user location: Staðsetning
       your friends: Vinir þínir
   user_block: 
index 5076c5dcf3e3f5149c6cc9e117988a42c1748cad..3af1e40e808cc8d2f1ccb1f3f4a308ed8003a145 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: syck
 # Author: Bellazambo
 # Author: Davalv
+# Author: McDutchie
 it: 
   activerecord: 
     attributes: 
@@ -598,14 +599,12 @@ it:
     donate: Supporta OpenStreetMap {{link}} al fondo destinato all'aggiornamento dell'hardware.
     donate_link_text: donando
     edit: Modifica
-    edit_tooltip: Modifica mappe
     export: Esporta
     export_tooltip: Esporta i dati della mappa
     gps_traces: Tracciati GPS
     gps_traces_tooltip: Gestione tracciati
     help_wiki: Aiuto &amp; Wiki
     history: Storico
-    history_tooltip: Storico delle modifiche
     home: posizione iniziale
     inbox: in arrivo ({{count}})
     inbox_tooltip: 
@@ -639,10 +638,6 @@ it:
     view_tooltip: Visualizza mappe
     welcome_user: Benvenuto, {{user_link}}
     welcome_user_link_tooltip: Pagina utente personale
-  map: 
-    coordinates: "Coordinate:"
-    edit: Modifica
-    view: Visualizza
   message: 
     delete: 
       deleted: Messaggio eliminato
@@ -721,7 +716,7 @@ it:
       hopefully_you_2: "{{server_url}} con il nuovo indirizzo {{new_address}}."
     friend_notification: 
       had_added_you: "{{user}} ti ha aggiunto come suo amico su OpenStreetMap."
-      see_their_profile: Puoi vedere il loro profilo su {{userurl}} e aggiungerli anche come amici, se lo si desidera.
+      see_their_profile: Puoi vedere il suo profilo su {{userurl}}.
       subject: "[OpenStreetMap] {{user}} ti ha aggiunto come amico"
     gpx_notification: 
       and_no_tags: e nessuna etichetta.
@@ -1007,15 +1002,12 @@ it:
       success: L'indirizzo email è stato confermato, grazie per l'iscrizione!
     filter: 
       not_an_administrator: Bisogna essere amministratori per poter eseguire questa azione.
-    friend_map: 
-      nearby mapper: "Mappatore vicino: [[nearby_user]]"
-      your location: Propria posizione
     go_public: 
       flash success: Tutte le tue modifiche sono ora pubbliche, e hai il permesso di modificare.
     login: 
       account not active: Spiacenti, il tuo profilo non è ancora attivo.<br />Clicca sul collegamento presente nell'email di conferma per attivare il tuo profilo.
       auth failure: Spiacenti, non si può accedere con questi dettagli.
-      create_account: crea un profilo
+      create_account: crealo ora
       email or username: "Indirizzo email o nome utente:"
       heading: Entra
       login_button: Entra
@@ -1055,6 +1047,9 @@ it:
       body: Spiacenti, non c'è alcun utente con il nome {{user}}. Controllare la digitazione, oppure potrebbe essere che il collegamento che si è seguito sia errato.
       heading: L'utente {{user}} non esiste
       title: Nessun utente
+    popup: 
+      nearby mapper: Mappatore vicino
+      your location: Propria posizione
     remove_friend: 
       not_a_friend: "{{name}} non è uno dei tuoi amici."
       success: "{{name}} è stato rimosso dai tuoi amici."
@@ -1071,17 +1066,14 @@ it:
     view: 
       activate_user: attiva questo utente
       add as friend: aggiungi come amico
-      add image: Aggiungi immagine
       ago: ({{time_in_words_ago}} fa)
       block_history: visualizza i blocchi ricevuti
       blocks by me: blocchi applicati da me
       blocks on me: blocchi su di me
-      change your settings: modifica le impostazioni personali
       confirm: Conferma
       create_block: blocca questo utente
       created from: "Creato da:"
       deactivate_user: disattiva questo utente
-      delete image: Elimina immagine
       delete_user: elimina questo utente
       description: Descrizione
       diary: diario
@@ -1100,7 +1092,6 @@ it:
       nearby users: "Utenti nelle vicinanze:"
       new diary entry: nuova voce del diario
       no friends: Non ci sono ancora amici.
-      no home location: Non è stato impostato alcun luogo.
       no nearby users: Non c'è ancora alcun utente che ammette di mappare nelle vicinanze.
       remove as friend: rimuovi come amico
       role: 
@@ -1116,8 +1107,6 @@ it:
       settings_link_text: impostazioni
       traces: tracciati
       unhide_user: mostra questo utente
-      upload an image: Carica una immagine
-      user image heading: Immagine dell'utente
       user location: Luogo dell'utente
       your friends: Amici personali
   user_block: 
index 57b67b53e65c546634d36a311ef0dbc7aa466dbf..8e6bc1bd15c67ff6b829232efbcda99652b11866 100644 (file)
@@ -414,7 +414,6 @@ ja:
     donate: ハードウェアーアップグレード基金への{{link}} で、OpenStreetMap を支援する。
     donate_link_text: 寄付
     edit: 編集
-    edit_tooltip: 地図を編集する
     export: エクスポート
     export_tooltip: 地図データのエクスポート
     gps_traces: GPS トレース
@@ -423,7 +422,6 @@ ja:
     help_wiki_tooltip: プロジェクトのヘルプと Wiki
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Ja:Main_Page?uselang=ja
     history: 履歴
-    history_tooltip: 変更セットの履歴
     home: ホーム
     home_tooltip: ホームへ戻る
     inbox: 受信箱 ({{count}})
@@ -460,10 +458,6 @@ ja:
     view_tooltip: 地図を見る
     welcome_user: "{{user_link}} さん、ようこそ。"
     welcome_user_link_tooltip: あなたの個人ページ
-  map: 
-    coordinates: "座標:"
-    edit: 編集
-    view: 表示
   message: 
     delete: 
       deleted: メッセージは削除されました
@@ -816,9 +810,6 @@ ja:
       success: あなたのメールアドレスが確認できました。登録ありがとうございます。
     filter: 
       not_an_administrator: この作業を行うには、管理者になる必要があります。
-    friend_map: 
-      nearby mapper: "周辺のマッパー: [[nearby_user]]"
-      your location: あなたの位置
     go_public: 
       flash success: あなたの全ての編集は公開されます。今から編集できます。
     login: 
@@ -863,6 +854,9 @@ ja:
       body: "{{user}}. という名前のユーザは存在しません。スペルミスが無いかチェックしてください。もしくはリンク元が間違っています。"
       heading: "{{user}} というユーザは存在しません。"
       title: ユーザが存在しません
+    popup: 
+      nearby mapper: 周辺のマッパー
+      your location: あなたの位置
     remove_friend: 
       not_a_friend: "{{name}} はあなたの友達ではありません。"
       success: "{{name}} はあなたの友達から外しました。"
@@ -878,12 +872,9 @@ ja:
       flash success: 活動地域を保存しました。
     view: 
       add as friend: 友達に追加
-      add image: 画像の追加
       ago: ({{time_in_words_ago}} 前)
-      change your settings: 設定を変更する
       confirm: 確認する
       create_block: このユーザーをブロック
-      delete image: 画像の削除
       delete_user: このユーザーを消す
       description: 詳細
       diary: 日記
@@ -898,11 +889,9 @@ ja:
       my edits: 私の編集
       my settings: ユーザ情報の設定
       my traces: 私のトレース
-      my_oauth_details: 自分の OAuth の詳細を表示
       nearby users: "周辺のユーザ:"
       new diary entry: 新しい日記エントリ
       no friends: あなたは誰も友達として登録していません。
-      no home location: 活動地域が設定されていません。
       no nearby users: あなたの活動地域周辺にマッパーはいないようです。
       remove as friend: 友達から削除
       role: 
@@ -914,8 +903,6 @@ ja:
       send message: メッセージ送信
       settings_link_text: 設定
       traces: トレース
-      upload an image: 画像のアップロード
-      user image heading: ユーザの画像
       user location: ユーザの位置
       your friends: あなたの友達
   user_block: 
index 68305de821fb473b9ad864934c899a0fe1473c1d..00b378a984ddb7e4a306f4abe39f740fd5812abb 100644 (file)
@@ -226,12 +226,10 @@ km:
         us_postcode: លទ្ធផលពី <a href="http://geocoder.us/">Geocoder.us</a>
   layouts: 
     edit: កែប្រែ​
-    edit_tooltip: កែប្រែ​ផែនទី​
     export: នាំចេញ​
     export_tooltip: នាំចេញ​ទិន្នន័យផែនទី​
     help_wiki_tooltip: ជំនួយ &amp; តំបន់​វិគីសម្រាប់​គម្រោង​នេះ
     history: ប្រវត្តិ​
-    history_tooltip: ប្រវត្តិនៃសំនុំ​បំលាស់ប្តូរ​
     home_tooltip: ទៅទីតាំងដើម​
     inbox: ប្រអប់សំបុត្រ​ ({{count}})
     intro_2: OpenStreetMap អនុញ្ញាតឲ្យអ្នក​មើល កែប្រែ និងប្រើប្រាស់​ទិន្នន័យ​ភូមិសាស្រ្ត ក្នុងភាពរួមសហការគ្នា​ពីគ្រប់ទិសទី​លើផែនដី​។
@@ -245,9 +243,6 @@ km:
     view: មើល​
     view_tooltip: មើលផែនទី
     welcome_user_link_tooltip: ទំព័រអ្នកប្រើប្រាស់​របស់អ្នក​
-  map: 
-    edit: កែប្រែ​
-    view: មើល​
   message: 
     inbox: 
       date: កាលបរិច្ឆេទ​
@@ -415,6 +410,4 @@ km:
       my edits: កំណែប្រែ​របស់ខ្ញុំ​
       no friends: អ្នកមិនទាន់បានបន្ថែមមិត្តណាមួយនៅឡើយទេ​។
       remove as friend: ដកចេញជាមិត្ត​
-      upload an image: ផ្ទុកឡើង​រូបភាព​
-      user image heading: រូបភាព​អ្នកប្រើប្រាស់​
       your friends: មិត្តរបស់អ្នក​
index 3eb677d0a7f6f539797574a3105aa2a3111caa67..675208a6f389c5b7d456632eab7f295f0e7a9bde 100644 (file)
@@ -244,7 +244,6 @@ ko:
   layouts: 
     donate_link_text: 기부
     edit: 편집
-    edit_tooltip: 지도 편집
     export: 추출
     export_tooltip: 맵 정보 추출
     gps_traces: GPS 추적
@@ -252,7 +251,6 @@ ko:
     help_wiki: 도움말 &amp; 위키
     help_wiki_tooltip: 프로젝트 도움말 &amp; 위키
     history: 이력
-    history_tooltip: 변경셋 이력
     inbox: 받은 쪽지함 ({{count}})
     inbox_tooltip: 
       one: 한 개의 읽지 않은 쪽지가 있습니다.
@@ -275,10 +273,6 @@ ko:
     view: 보기
     view_tooltip: 지도 보기
     welcome_user: "{{user_link}}님 환영합니다."
-  map: 
-    coordinates: "좌표:"
-    edit: 편집
-    view: 보기
   message: 
     inbox: 
       date: 날짜
index 67765877de6a6c022f601189b80f2ff4aec9ff52..ef81a01746beabfb6cd9db4914f8b49e7afd110d 100644 (file)
@@ -1,4 +1,4 @@
-# Messages for Ripoarisch (Ripoarisch)
+# Messages for Colognian (Ripoarisch)
 # Exported from translatewiki.net
 # Export driver: syck
 # Author: Purodha
@@ -102,12 +102,8 @@ ksh:
     start: 
       osm_xml_data: <i lang="en">OpenStreetMap</i> sing <i lang="en">XML</i> Daate
   layouts: 
-    edit_tooltip: Landkaate ändere
     view_tooltip: Landkaate beloore
-  map: 
-    coordinates: "Ko'oodinate:"
   notifier: 
-    diary_comment_notification: 
     email_confirm: 
       subject: "[OpenStreetMap] Donn Ding Addräß för de <i lang=\"en\">e-mail</i> beshtääteje"
     email_confirm_html: 
@@ -116,7 +112,6 @@ ksh:
       hopefully_you_1: Someone (hopefully you) would like to change their Adräß för de <i lang="en">e-mail</i> ändere
     lost_password: 
       subject: "[OpenStreetMap] Aanfrooch: Paßwoot neu säze"
-    message_notification: 
     signup_confirm: 
       subject: "[OpenStreetMap] Donn Ding Addräß för de <i lang=\"en\">e-mail</i> beshtääteje"
     signup_confirm_html: 
index af79d919342c7c745105781a17be15279e2f1f6a..940c50b2eb460c2ce6da2414bfd2a1d9cc0a6461 100644 (file)
@@ -15,9 +15,6 @@ lt:
     history: Istorija
     news_blog: Naujienų tinklaraštis
     shop: Parduotuvė
-  map: 
-    edit: Redaguoti
-    view: Žemėlapis
   site: 
     key: 
       map_key: Žemėlapio legenda
index 9943b161a4aef1f0e2a32645bad4511d6c96b951..adfbf217b2566b8c38a22fe0cb46e46fec5df508 100644 (file)
@@ -24,6 +24,3 @@ lv:
   browse: 
     common_details: 
       version: "Versija:"
-  map: 
-    edit: Labot
-    view: Skatīties
index e57075e0dee605c1bcc0a13873ea16cf282e77eb..88ce245059bfcb0eefceee79750b16f6fbead7b7 100644 (file)
@@ -316,6 +316,10 @@ mk:
       recent_entries: "Скорешни дневнички записи:"
       title: Дневници на корисници
       user_title: Дневник на {{user}}
+    location: 
+      edit: Уреди
+      location: "Местоположба:"
+      view: Види
     new: 
       title: Нова дневничка ставка
     no_such_entry: 
@@ -355,6 +359,9 @@ mk:
       output: Излезни податоци
       paste_html: Ископирајте го HTML кодот за да го вметнете во страницата.
       scale: Размер
+      too_large: 
+        body: Подрачјето е преголемо за да може да се извезе како OpenStreetMap XML податоци. Приближете или изберете помала површина.
+        heading: Подрачјето е преголемо
       zoom: Приближи
     start_rjs: 
       add_marker: Стави бележник на картата
@@ -846,21 +853,23 @@ mk:
         cycle_map: Велосипедска карта
         noname: БезИме
     site: 
+      edit_disabled_tooltip: Приближете за да ја уредите картата
+      edit_tooltip: Уреди карта
       edit_zoom_alert: Морате да зумирате за да можете да ја уредувате картата.
+      history_disabled_tooltip: Приближете за да ги видите уредувањата за ова подрачје
+      history_tooltip: Види уредувања за ова подрачје
       history_zoom_alert: Морате да зумирате за да можете да ја видите историјата на уредувања
   layouts: 
     donate: Поддржете ја OpenStreetMap со {{link}} за Фондот за обнова на хардвер.
     donate_link_text: донирање
     edit: Уреди
-    edit_tooltip: Уредување карти
     export: Извези
     export_tooltip: Извези податоци од картата
     gps_traces: GPS-траги
-    gps_traces_tooltip: Ð Ð°ÐºÐ¾Ð²Ð¾Ð´ÐµÑ\9aе Ñ\81о траги
+    gps_traces_tooltip: Ð Ð°Ð±Ð¾Ñ\82а Ñ\81о GPS траги
     help_wiki: Помош и вики
     help_wiki_tooltip: Помош и Вики-страница за овој проект
     history: Историја
-    history_tooltip: Историја на измените
     home: дома
     home_tooltip: Оди на домашна локација
     inbox: пораки ({{count}})
@@ -898,13 +907,9 @@ mk:
     user_diaries: Кориснички дневници
     user_diaries_tooltip: Види кориснички дневници
     view: Карта
-    view_tooltip: Ð\9fÑ\80еглед Ð½Ð° ÐºÐ°Ñ\80Ñ\82иÑ\82е
+    view_tooltip: Ð\92иди ÐºÐ°Ñ\80Ñ\82а
     welcome_user: Добредојде, {{user_link}}
     welcome_user_link_tooltip: Ваша корисничка страница
-  map: 
-    coordinates: "Координати:"
-    edit: Уреди
-    view: Карта
   message: 
     delete: 
       deleted: Пораката е избришана
@@ -935,10 +940,14 @@ mk:
       send_message_to: Испрати нова порака за {{name}}
       subject: Наслов
       title: Испрати ја пораката
+    no_such_message: 
+      body: Нажалост нема порака со тој id.
+      heading: Нема таква порака
+      title: Нема таква порака
     no_such_user: 
-      body: Ð\96алиме, Ð½ÐµÐ¼Ð° ÐºÐ¾Ñ\80иÑ\81ник Ð¸Ð»Ð¸ Ð¿Ð¾Ñ\80ака Ñ\81о Ñ\82оа Ð¸Ð¼Ðµ Ð¸Ð»Ð¸ Ð¸Ð´. Ð±Ñ\80.
-      heading: Нема таков корисник или порака
-      title: Нема таков корисник или порака
+      body: Ð\9dажалоÑ\81Ñ\82 Ð½ÐµÐ¼Ð° ÐºÐ¾Ñ\80иÑ\81ник Ñ\81о Ñ\82оа Ð¸Ð¼Ðµ.
+      heading: Нема таков корисник
+      title: Нема таков корисник
     outbox: 
       date: Даѕум
       inbox: примени пораки
@@ -962,6 +971,9 @@ mk:
       title: Прочитај ја пораката
       to: За
       unread_button: Означи како непрочитано
+      wrong_user: Најавени сте како „{{user}}“, но пораката што побаравте да ја прочитате не е испратена до или од тој корисник. Најавете се под правилно корисничко име за да ја прочитате.
+    reply: 
+      wrong_user: Најавени сте како „{{user}}“, но пораката на којашто побаравте да одговорите не е испратена до тој корисник. Најавете се под правилно корисничко име за да одговорите.
     sent_message_summary: 
       delete_button: Избриши
   notifier: 
@@ -982,8 +994,9 @@ mk:
       hopefully_you_1: Некој (се надеваме Вие) сака да ја замени е-поштенската адреса на
       hopefully_you_2: "{{server_url}} со новата адреса {{new_address}}."
     friend_notification: 
+      befriend_them: Можете личноста и да ја додадете како пријател на {{befriendurl}}.
       had_added_you: "{{user}} ве додаде како пријател на OpenStreetMap."
-      see_their_profile: Ð\9cожеÑ\82е Ð´Ð° Ð¼Ñ\83 Ð³Ð¾ Ð¿Ð¾Ð³Ð»ÐµÐ´Ð°Ñ\82е Ð¿Ñ\80оÑ\84илоÑ\82 Ð½Ð° {{userurl}} Ð¸ Ð´Ð° Ð³Ð¾ Ð´Ð¾Ð´Ð°Ð´ÐµÑ\82е ÐºÐ°ÐºÐ¾ Ð¿Ñ\80иÑ\98аÑ\82ел, Ð°ÐºÐ¾ Ñ\81акаÑ\82е.
+      see_their_profile: Ð\9cожеÑ\82е Ð´Ð° Ð³Ð¾ Ð¿Ð¾Ð³Ð»ÐµÐ´Ð°Ñ\82е Ð¿Ñ\80оÑ\84илоÑ\82 Ð½Ð° Ð¾Ð²Ð°Ð° Ð»Ð¸Ñ\87ноÑ\81Ñ\82 Ð½Ð° {{userurl}}.
       subject: "[OpenStreetMap] {{user}} ве додаде како пријател"
     gpx_notification: 
       and_no_tags: и без ознаки.
@@ -1209,6 +1222,9 @@ mk:
     sidebar: 
       close: Затвори
       search_results: Резултати од пребарувањето
+  time: 
+    formats: 
+      friendly: "%e %B %Y во %H:%M"
   trace: 
     create: 
       trace_uploaded: Вашата GPX податотека е подигната и чека да биде вметната во базата на податоци. Ова обично се врши во рок од половина час, и откога ќе заврши, ќе ви биде испратена порака по е-пошта.
@@ -1310,14 +1326,21 @@ mk:
       trackable: Проследиво (споделено само како анонимни, подредени точки со време)
   user: 
     account: 
+      current email address: "Тековна е-поштенска адреса:"
+      delete image: Отстрани тековна слика
       email never displayed publicly: (никогаш не се прикажува јавно)
       flash update success: Корисничките информации се успешно ажурирани.
       flash update success confirm needed: Корисничките информации се успешно ажурирани. Проверете е-пошта за да ја потврдите на адресата.
       home location: "Домашна локација:"
+      image: "Слика:"
+      image size hint: (најдобро работат квадратни слики, барем 100x100)
+      keep image: Задржи ја тековната слика
       latitude: Геог. ширина
       longitude: Геог. должина
       make edits public button: Објавувај ми ги сите уредувања
       my settings: Мои прилагодувања
+      new email address: "Нова е-поштенска адреса:"
+      new image: Додај слика
       no home location: Немате внесено домашна локација.
       preferred languages: "Претпочитани јазици:"
       profile description: "Опис за профилот:"
@@ -1331,6 +1354,7 @@ mk:
       public editing note: 
         heading: Јавно уредување
         text: Во моментов вашите уредувања се анонимни и луѓето не можат да ви пратат порака или да ви ја видат локацијата. За да покажете што уредувате и да овозможите корисниците да ве контактираат преку оваа страница, кликнете на копчето подолу. <b>По преодот на 0.6 API, само јавни корисници можат да уредуваат податоци на карти</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">дознајте зошто</a>).<ul> <li>Ако станете јавен корисник, вашата е-пошта сепак нема да се открие.</li> <li>Оваа постапка не може да се врати, и сите нови корисници сега се автоматски јавни.</li> </ul>
+      replace image: Замени тековна слика
       return to profile: Назад кон профилот
       save changes button: Зачувај ги промените
       title: Уреди сметка
@@ -1349,9 +1373,6 @@ mk:
       success: Вашата е-пошта е потврдена. Ви благодариме што се регистриравте!
     filter: 
       not_an_administrator: За да го изведете тоа, треба да се администратор.
-    friend_map: 
-      nearby mapper: "Соседен картограф: [[nearby_user]]"
-      your location: Ваша локација
     go_public: 
       flash success: Сега сите уредувања ви се јавни, и ви е дозволено да уредувате.
     login: 
@@ -1364,7 +1385,12 @@ mk:
       lost password link: Си ја загубивте лозинката?
       password: "Лозинка:"
       please login: Најавете се или {{create_user_link}}.
+      remember: "Запомни ме:"
       title: Најавување
+    logout: 
+      heading: Одјавување од OpenStreetMap
+      logout_button: Одјава
+      title: Одјава
     lost_password: 
       email address: "Е-пошта:"
       heading: Ја заборавивте лозинката?
@@ -1397,6 +1423,10 @@ mk:
       body: Жалиме, но не постои корисник по име {{user}}. Проверете да не сте згрешиле во пишувањето, или пак да не сте кликнале на погрешна врска.
       heading: Корисникот {{user}} не постои.
       title: Нема таков корисник
+    popup: 
+      friend: Пријател
+      nearby mapper: Соседен картограф
+      your location: Ваша локација
     remove_friend: 
       not_a_friend: "{{name}} не е меѓу вашите пријатели."
       success: Корисникот {{name}} е отстранет од вашите пријатели.
@@ -1413,17 +1443,14 @@ mk:
     view: 
       activate_user: активирај го корисников
       add as friend: додај како пријател
-      add image: Додај слика
       ago: (пред {{time_in_words_ago}})
       block_history: погледај добиени блокови
       blocks by me: извршени болокови
       blocks on me: добиени блокови
-      change your settings: измени прилагодувања
       confirm: Потврди
       create_block: блокирај го корисников
       created from: "Создадено од:"
       deactivate_user: деактивирај го корисников
-      delete image: Избриши ја сликата
       delete_user: избриши го корисников
       description: Опис
       diary: дневник
@@ -1439,12 +1466,11 @@ mk:
       my edits: мои уредувања
       my settings: мои прилагодувања
       my traces: мои траги
-      my_oauth_details: Моите OAuth детали
-      nearby users: "Соседни корисници:"
+      nearby users: Други соседни корисници
       new diary entry: нова ставка во дневникот
       no friends: Сè уште немате додадено пријатели.
-      no home location: Немате поставено домашна локација.
-      no nearby users: Сè уште нема корисници во вашата околина кои признаваат дека работат на карти.
+      no nearby users: Сè уште нема други корисници во вашата околина што признаваат дека работат на карти.
+      oauth settings: oauth поставки
       remove as friend: отстрани од пријатели
       role: 
         administrator: Овој корисник е администратор
@@ -1459,8 +1485,6 @@ mk:
       settings_link_text: прилагодувања
       traces: траги
       unhide_user: покажи го корисникот
-      upload an image: Подигни слика
-      user image heading: Корисничка слика
       user location: Локација на корисникот
       your friends: Ваши пријатели
   user_block: 
diff --git a/config/locales/nb.yml b/config/locales/nb.yml
new file mode 100644 (file)
index 0000000..c40049e
--- /dev/null
@@ -0,0 +1,2 @@
+nb:
+  dummy: dummy
index e2ac2427ccaddb5951bd17095bcb8f3acf997c1c..b5f452384601fa6d39120082234295bf83dc5bbb 100644 (file)
@@ -235,7 +235,6 @@ nds:
   layouts: 
     donate_link_text: Spennen
     edit: Ännern
-    edit_tooltip: Koorten ännern
     export: Export
     export_tooltip: Koortendaten exporteren
     help_wiki: Hülp & Wiki
@@ -258,10 +257,6 @@ nds:
     view_tooltip: Koorten ankieken
     welcome_user: Willkamen, {{user_link}}
     welcome_user_link_tooltip: Dien Brukersied
-  map: 
-    coordinates: "Koordinaten:"
-    edit: Ännern
-    view: Ankieken
   message: 
     delete: 
       deleted: Naricht wegdaan
@@ -459,9 +454,6 @@ nds:
       return to profile: Trüch na’t Profil
       save changes button: Ännern spiekern
       title: Brukerkonto ännern
-    friend_map: 
-      nearby mapper: "Koortenmaker in de Neegd: [[nearby_user]]"
-      your location: Dien Standoort
     login: 
       create_account: Brukerkonto opstellen
       email or username: "E-Mail-Adress oder Brukernaam:"
@@ -489,6 +481,9 @@ nds:
     no_such_user: 
       heading: Den Bruker {{user}} gifft dat nich
       title: Bruker nich funnen
+    popup: 
+      nearby mapper: Koortenmaker in de Neegd
+      your location: Dien Standoort
     remove_friend: 
       not_a_friend: "{{name}} is keen von dien Frünn."
       success: "{{name}} is rutnahmen bi de Frünn."
@@ -502,9 +497,7 @@ nds:
       flash success: Standoort is spiekert.
     view: 
       add as friend: as Fründ tofögen
-      add image: Bild tofögen
       ago: (vör {{time_in_words_ago}})
-      delete image: Bild wegdoon
       description: Beschrieven
       diary: Dagbook
       edits: Ännern
@@ -516,11 +509,8 @@ nds:
       my edits: mien Ännern
       nearby users: "Brukers in de Neegd:"
       new diary entry: Nee Dagbook-Indrag
-      no home location: Keen Standoort angeven.
       remove as friend: as Fründ rutnehmen
       send message: Naricht sennen
-      upload an image: Bild hoochladen
-      user image heading: Brukerbild
       your friends: Dien Frünn
   user_block: 
     partial: 
diff --git a/config/locales/ne.yml b/config/locales/ne.yml
new file mode 100644 (file)
index 0000000..bb2735f
--- /dev/null
@@ -0,0 +1,300 @@
+# Messages for Nepali (नेपाली)
+# Exported from translatewiki.net
+# Export driver: syck
+# Author: सरोज कुमार ढकाल
+ne: 
+  browse: 
+    changeset: 
+      changeset: "चेन्जसेट: {{id}}"
+      changesetxml: चेन्जसेट XML
+      download: डाउनलोड गर्ने {{changeset_xml_link}} वा {{osmchange_xml_link}}
+      feed: 
+        title: चेन्जसेट {{id}}
+        title_comment: चेन्जसेट {{id}} - {{comment}}
+      title: चेन्जसेट
+    changeset_details: 
+      belongs_to: "स्वामित्व:"
+      box: बाकस
+      closed_at: "बन्द गरिएको:"
+      created_at: "श्रृजना गरिएको:"
+      show_area_box: क्षेत्र बाकस देखाउने
+    changeset_navigation: 
+      all: 
+        next_tooltip: पछिल्लो चेन्जसेट
+        prev_tooltip: अघिल्लो चेन्जसेट
+      user: 
+        name_tooltip: " {{user}}को सम्पादन हेर्ने"
+        next_tooltip: पछिल्लो सम्पादन {{user}}
+        prev_tooltip: पहिलो सम्पादन {{user}}
+    common_details: 
+      changeset_comment: "टिप्पणी:"
+      edited_at: "समपादित :"
+      edited_by: "सम्पादक:"
+      in_changeset: "चेन्जसेटमा:"
+      version: "संस्करण:"
+    containing_relation: 
+      entry: सम्बन्ध {{relation_name}}
+      entry_role: सम्बन्ध {{relation_name}} (as {{relation_role}})
+    map: 
+      deleted: मेटियो
+      larger: 
+        area: क्षेत्र ठूलो नक्सामा हेर्ने
+        node: नोड ठूलो नक्सामा हेर्ने
+        relation: सम्बन्ध ठूलो नक्सामा हेर्ने
+        way: बाटो ठूलो नक्सामा हेर्ने \
+      loading: लोड हुदैछ...
+    node: 
+      download: "{{download_xml_link}}, {{view_history_link}} वा{{edit_link}}"
+      download_xml: " XML डाउनलोड गर्ने"
+      edit: सम्पादन
+      node: नोड
+      node_title: "नोड: {{node_name}}"
+      view_history: इतिहास हेर्ने
+    node_details: 
+      coordinates: "अक्षांशहरु:"
+      part_of: "को खण्ड:"
+    node_history: 
+      download: "{{download_xml_link}} वा {{view_details_link}}"
+      download_xml: XML डाउनलोड गर्ने
+      node_history: नोड इतिहास \
+      node_history_title: "नोड इतिहास: {{node_name}}"
+      view_details: बिस्तृत जानकारी हेर्ने \
+    not_found: 
+      sorry: माफ गर्नुहोस, {{id}} आईडी भएको {{type}}  , फेला पार्न सकिएन ।
+      type: 
+        changeset: परिवर्तनसेट \
+        node: नोड
+        relation: सम्बन्ध
+        way: बाटो
+    paging_nav: 
+      of: को \
+      showing_page: देखाउदै पृष्ठ
+    relation: 
+      download: "{{download_xml_link}} वा {{view_history_link}}"
+      download_xml: " XML डाउनलोड गर्ने"
+      relation: सम्बन्ध
+      relation_title: "सम्बन्ध: {{relation_name}}"
+      view_history: इतिहास हेर्ने
+    relation_details: 
+      members: "सदस्यहरु:"
+      part_of: "को खण्ड:"
+    relation_history: 
+      download: "{{download_xml_link}} वा {{view_details_link}}"
+      download_xml: XML डाउनलोड गर्ने
+      relation_history: सम्बन्ध इतिहास
+      relation_history_title: "सम्बन्ध इतिहास: {{relation_name}}"
+      view_details: विस्तृत जानकारी हेर्ने
+    relation_member: 
+      entry_role: "{{type}} {{name}}  {{role}}को रुपमा"
+      type: 
+        node: नोड
+        relation: सम्बन्ध
+        way: बाटो
+    start: 
+      manually_select: आफै फरक क्षेत्र छान्ने
+      view_data: हालको मानचित्रबाट डेटा हेर्ने
+    start_rjs: 
+      data_frame_title: डेटा \
+      data_layer_name: डेटा
+      details: विस्तृत जानकारी
+      drag_a_box: क्षेत्र छान्न नक्साको बाकसलाई घिसार्नुहोस
+      edited_by_user_at_timestamp: " [[user]]द्रारा  [[timestamp]]मा सम्पादित \\"
+      history_for_feature: " [[feature]]को इतिहास"
+      load_data: डेटा लोडगर्ने
+      loading: लोड हुदैछ...
+      manually_select: आफै अर्को क्षेत्र छान्नुहोस \
+      object_list: 
+        api: यो क्षेत्र API बाट निकाल्नुहोस \
+        back: वस्तु सुची देखाउने
+        details: विस्तृत जानकारीहरु \
+        heading: वस्तु सुची
+        history: 
+          type: 
+            node: नोड [[id]]
+            way: बाटो [[id]]
+        selected: 
+          type: 
+            node: नोड [[id]]
+            way: बाटो [[id]]
+        type: 
+          node: नोड
+          way: बाटो
+      private_user: निजी प्रयोगकर्ता
+      show_history: इतिहास देखाउने
+      wait: पर्खनुहोस.....
+    tag_details: 
+      tags: "ट्यागहरु:"
+    way: 
+      download: "{{download_xml_link}}, {{view_history_link}} वा {{edit_link}}"
+      download_xml: " XML डाउनलोड गर्ने"
+      edit: सम्पादन
+      view_history: इतिहास हेर्ने
+      way: बाटो
+      way_title: "बाटो: {{way_name}}"
+    way_details: 
+      nodes: "नोडहरु:"
+      part_of: "को खण्ड:"
+    way_history: 
+      download: "{{download_xml_link}} वा {{view_details_link}}"
+      download_xml: " XML डाउनलोड गर्ने"
+      view_details: विस्तृत जानकारी हेर्ने
+      way_history: बाटो इतिहास \
+      way_history_title: "बाटो इतिहास: {{way_name}}"
+  diary_entry: 
+    diary_comment: 
+      confirm: " निश्चित गर्ने"
+    diary_entry: 
+      comment_link: यो प्रविष्टीमा टिप्पणीगर्ने
+      confirm: निश्चित गर्ने
+      edit_link: यो प्रविष्टी सम्पादन गर्ने
+      hide_link: यो प्रविष्टी लुकाउने
+      reply_link: यो प्रविष्टीमा जवाफ लेख्ने
+    edit: 
+      body: "मूख्य भाग:"
+      language: "भाषा:"
+      latitude: "देशान्तर:"
+      location: "स्थान:"
+      longitude: "अक्षांश:"
+      marker_text: दैनिकी प्रविष्ठी स्थान
+      save_button: संग्रह गर्ने
+      subject: "विषय:"
+      title: दैनिकी प्रविष्ठी सम्पादन गर्ने
+      use_map_link: नक्सा प्रयोगर्ने
+    view: 
+      leave_a_comment: टिप्पणी छोड्ने
+      login_to_leave_a_comment: "{{login_link}} टिप्पणी छोड्नलाई"
+  trace: 
+    create: 
+      upload_trace: " GPS Trace अपलोड गर्ने"
+    delete: 
+      scheduled_for_deletion: मेट्नको लागि तालिकावद्ध गरिएको ट्रेस
+    edit: 
+      description: विवरण
+      download: डाउनलोड
+      edit: सम्पादन
+      filename: "फाइलनाम:"
+      heading: ट्रेस सम्पादन गर्दै {{name}}
+      map: नक्सा
+      owner: "मालिक:"
+      points: "बिन्दुहरु:"
+      save_button: परिवर्तनहरु संग्रह गर्ने
+      start_coord: "निर्देशंक सुरु गर्ने:"
+      tags: "ट्यागहरु:"
+      tags_help: अल्पविरामले छुट्याएको
+      title: ट्रेस सम्पादन गर्दै {{name}}
+      uploaded_at: "आध्यवधिक गरिएको:"
+      visibility: "दृश्यक्षमता:"
+      visibility_help: यसको मतलब के हो ?
+    list: 
+      public_traces: सारवजनिक GPS ट्रेसहरु \
+      public_traces_from: "{{user}}बाट सार्वकनिक GPS ट्रेसहरु"
+      tagged_with: " {{tags}}हरु द्वारा ट्याग गरिएको"
+      your_traces: तपाईको GPS ट्रेसहरु
+    make_public: 
+      made_public: सार्वजनिक बनाइएको ट्रेस
+    no_such_user: 
+      heading: प्रयोगकर्ता {{user}} अस्तित्वमा छैन \
+      title: कुनै त्यस्तो प्रयोगकर्ता छैन
+    trace: 
+      ago: "{{time_in_words_ago}} पहिले"
+      by: द्वारा
+      count_points: पोइन्टहरु {{count}}
+      edit: सम्पादन
+      edit_map: नक्सा सम्पादन गर्ने
+      in: मा
+      map: नक्सा
+      more: थप
+      pending: बाँकी रहेको
+      private: निजी
+      public: सार्वजनिक
+      trace_details: ट्रेसको विस्तृत जानकारी हेर्ने
+      view_map: नक्सा हेर्ने
+    trace_form: 
+      description: विवरण
+      help: सहायता
+      tags: ट्यागहरु
+      tags_help: अल्पविरामले छुट्याएको
+      upload_button: अपलोड गर्ने
+      upload_gpx: GPX फाइल अपलोड गर्ने
+      visibility: दृश्यक्षमता
+      visibility_help: यसको मतलाब के हो ?
+    trace_header: 
+      see_all_traces: सबै ट्रेसहरु हेर्ने
+      see_your_traces: तपाईको सबै ट्रेसहरु हेर्नुहोस \
+    trace_optionals: 
+      tags: ट्यागहरु
+    view: 
+      delete_track: यो ट्रेस मेट्ने
+      description: "विवरण:"
+      download: डाउनलोड
+      edit: सम्पादन
+      edit_track: यो ट्रेस सम्पादन गर्ने
+      filename: "फाइलनाम:"
+      heading: हेर्दै ट्रेस {{name}}
+      map: नक्सा
+      none: कुनै पनि होइन
+      owner: "मालिक:"
+      pending: बाँकी
+      points: "विन्दुहरु:"
+      start_coordinates: निर्देशंक सुरु गर्ने
+      tags: "ट्यागहरु:"
+      title: हेर्दै ट्रेस {{name}}
+      trace_not_found: ट्रेस भेटिएन!
+      uploaded: "अपलोड गरिएको:"
+      visibility: "दृश्यक्षमता:"
+  user: 
+    account: 
+      flash update success: प्रयोगकर्ताको जानकारीहरु सफलतापूर्वक अध्यावधिक गरियो।
+      home location: "गृह स्थान:"
+      my settings: मेरो अनुकुलताहरु
+      no home location: तपाईले आफ्नो गृहस्थान प्रविष्ठ गर्नुभएको छैन।
+      preferred languages: "रुचाइएका भाषाहरु:"
+      public editing: 
+        disabled link text: म किन सम्पादन गर्न सक्दिन?
+        enabled link text: यो के हो ?
+        heading: "सार्वजनिक सम्पादन:"
+      public editing note: 
+        heading: सार्वजनिक सम्पादन
+      save changes button: परिवर्तनहरु संग्रह गर्नुहोस \
+    confirm_email: 
+      button: निश्चित
+      failure: यो टोकन को साथम एक इमेल पहिले नै निश्चित गरिसकिएको छ।
+      heading: इमेल परिवर्तन भएको निश्चित गर्नुहोस् \
+      press confirm button: इमेल निश्चित गर्नको लागि निश्चितमा क्लिक गर्नुहोस् ।
+      success: तपाईको इमेल निश्चित गर्नुहोस, ग्राह्याताको लागि धन्यवाद!
+    filter: 
+      not_an_administrator: यो कार्य गर्न तपाई प्रवन्धक हुनुपर्छ .
+    go_public: 
+      flash success: तपाईको सबै सम्पादनहरु सार्वाजनिक छन् ,तपाई अब सम्पान लायक हुनु भयो ।
+    make_friend: 
+      already_a_friend: " {{name}} सँग तपाई पहिले नै मित्रता गरिसक्नु भएको छ ।"
+      failed: माफ गर्नुहोला, {{name}}लाई मित्रको रुपमा थप्न सकिएन।
+      success: "{{name}} अब तपाईको मित्र हुनुभएको छ।"
+    popup: 
+      nearby mapper: नजिकको मानचित्रकर्मी
+      your location: तपाईको स्थान
+    reset_password: 
+      confirm password: "प्रवेशशव्द निश्चित गर्ने:"
+      flash changed: तपाईको प्रवेशशव्द परिवर्तन गरिएको छ।
+      heading: " {{name}}को लागि प्रवेशशव्द परिवर्तन गर्ने \\"
+      password: "प्रवेशशव्द:"
+      reset: नयाँ प्रवेशशव्द \
+      title: प्रवेशशव्द परिवर्तन गर्ने
+  user_role: 
+    filter: 
+      already_has_role: प्रयोगकर्ता सँग {{role}} भूमिका पहिले देखि नै छ।
+      doesnt_have_role: " प्रयोगर्ताको {{role}}को भूमिका छैन"
+      not_a_role: " `{{role}}'  मान्य भूमिका हैन ।"
+      not_an_administrator: प्रवन्धकहरुले भूमिका व्यवस्थापन गर्न सक्छन् र तपाई प्रवन्धक हैन ।
+    grant: 
+      are_you_sure: भूमिका `{{role}}' प्रयोगकर्ता `{{name}}'लाई प्रदान गर्न निश्चित हुनुहुन्छ?
+      confirm: निश्चित गर्ने
+      fail: भूमिका `{{role}}' प्रयोगकर्ता  `{{name}}'लाई प्रदान गर्न सकिएन । कृपया प्रयोगकर्ता र भूमिका दुबै मान्य छन् भनि जाँच गर्नुहोस् ।
+      heading: भूमिका प्रदान निश्चित गर्ने \
+      title: भूमिका प्रदान निश्चित गर्ने \
+    revoke: 
+      are_you_sure: तपाईँ भूमिका `{{role}}' , `{{name}} प्रोगकर्ताबाट फिर्ता लिने कुरामा निश्चित हुनुहुन्छ'?
+      confirm: निश्चित गर्ने
+      fail: भूमिका `{{role}}' ,`{{name}}'बाट फिर्ता लिन सकिएन । प्रोगकर्ता नाम र भूमिका दुबै मान्य छन् भन्ने खुलाउनु होस् ।
+      heading: भूमिका फिर्ता निश्चित गर्ने
+      title: Confirm role revoking
index 653a3d1d62374c96a04b95147797fe4612e385c4..d14d38ea408fd1e457c3b1a260e7b5c39a6daa49 100644 (file)
@@ -319,6 +319,10 @@ nl:
       recent_entries: "Recente dagboekberichten:"
       title: Gebruikersdagboeken
       user_title: Dagboek van {{user}}
+    location: 
+      edit: Bewerken
+      location: "Locatie:"
+      view: Bekijken
     new: 
       title: Nieuw dagboekbericht
     no_such_entry: 
@@ -328,7 +332,7 @@ nl:
     no_such_user: 
       body: Sorry, er is geen gebruiker met de naam {{user}}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
       heading: De gebruiker {{user}} bestaat niet
-      title: De opgevraagde gebruiker bestaat niet
+      title: Deze gebruiker bestaat niet
     view: 
       leave_a_comment: Opmerking achterlaten
       login: aanmelden
@@ -358,6 +362,9 @@ nl:
       output: Uitvoer
       paste_html: Kopieer de HTML-code en voeg deze toe aan uw website
       scale: Schaal
+      too_large: 
+        body: Dit gebied is te groot om als OpenStreetMap XML-gegevens te exporteren. Zoom in of selecteer een kleiner gebied.
+        heading: Gebied te groot
       zoom: Zoom
     start_rjs: 
       add_marker: Marker op de kaart zetten
@@ -731,7 +738,7 @@ nl:
           tram_stop: Tramhalte
           yard: Rangeerterrein
         shop: 
-          alcohol: Verkooppunt alcoholische dranken
+          alcohol: Slijterij
           apparel: Kledingwinkel
           art: Kunstwinkel
           bakery: Bakkerij
@@ -756,7 +763,7 @@ nl:
           department_store: Warenhuis
           discount: Discountwinkel
           doityourself: Doe-het-zelf-winkel
-          drugstore: Apotheek
+          drugstore: Drogisterij
           dry_cleaning: Stomerij
           electronics: Elektronicawinkel
           estate_agent: Makelaar
@@ -766,13 +773,13 @@ nl:
           florist: Bloemist
           food: Etenswarenwinkel
           funeral_directors: Uitvaartcentrum
-          furniture: Meulbelzaak
+          furniture: Meubelzaak
           gallery: Galerie
           garden_centre: Tuincentrum
           general: Algemene winkel
           gift: Cadeauwinkel
           greengrocer: Groenteboer
-          grocery: Groentenwinkel
+          grocery: Kruidenierswinkel
           hairdresser: Kapper
           hardware: Gereedschappenwinkel
           hifi: Hi-fi
@@ -800,7 +807,7 @@ nl:
           toys: Speelgoedwinkel
           travel_agency: Reisbureau
           video: Videotheek
-          wine: Verkooppunt alcoholische dranken
+          wine: Slijterij
         tourism: 
           alpine_hut: Berghut
           artwork: Kunst
@@ -831,7 +838,7 @@ nl:
           ditch: Sloot
           dock: Dock
           drain: Afvoerkanaal
-          lock: Sluis
+          lock: Schutsluis
           lock_gate: Sluisdeur
           mineral_spring: Bron
           mooring: Aanlegplaats
@@ -849,21 +856,23 @@ nl:
         cycle_map: Fietskaart
         noname: GeenNaam
     site: 
+      edit_disabled_tooltip: Zoom in om de kaart te bewerken
+      edit_tooltip: Kaart bewerken
       edit_zoom_alert: U moet inzoomen om de kaart te bewerken
+      history_disabled_tooltip: Zoom in om de bewerkingen voor dit gebied te bekijken
+      history_tooltip: Bewerkingen voor dit gebied bekijken
       history_zoom_alert: U moet inzoomen om de kaart te bewerkingsgeschiedenis te bekijken
   layouts: 
     donate: Ondersteun OpenStreetMap door te {{link}} aan het Hardware Upgrade-fonds.
     donate_link_text: doneren
     edit: Bewerken
-    edit_tooltip: Kaarten bewerken
     export: Exporteren
     export_tooltip: Kaartgegevens exporteren
     gps_traces: GPS-tracks
-    gps_traces_tooltip: Tracks beheren
+    gps_traces_tooltip: GPS-tracks beheren
     help_wiki: Help &amp; wiki
     help_wiki_tooltip: Help en wikisite voor het project
     history: Geschiedenis
-    history_tooltip: Wijzigingensetgeschiedenis
     home: home
     home_tooltip: Naar thuislocatie gaan
     inbox: Postvak IN ({{count}})
@@ -899,13 +908,9 @@ nl:
     user_diaries: Gebruikersdagboeken
     user_diaries_tooltip: Gebruikersdagboeken bekijken
     view: Bekijken
-    view_tooltip: Kaarten bekijken
+    view_tooltip: Kaart bekijken
     welcome_user: Welkom, {{user_link}}
     welcome_user_link_tooltip: Uw gebruikerspagina
-  map: 
-    coordinates: "Coördinaten:"
-    edit: Bewerken
-    view: Bekijken
   message: 
     delete: 
       deleted: Het bericht is verwijderd
@@ -936,10 +941,14 @@ nl:
       send_message_to: Een persoonlijk bericht naar {{name}} versturen
       subject: Onderwerp
       title: Bericht verzenden
+    no_such_message: 
+      body: Er is geen bericht met dat ID.
+      heading: Bericht bestaat niet
+      title: Dat bericht bestaat niet
     no_such_user: 
-      body: Sorry, er is geen gebruiker of bericht met die naam of id
-      heading: Deze gebruiker of dit bericht bestaat niet
-      title: De gebruiker of het bericht bestaat niet
+      body: Er is geen gebruiker die naam.
+      heading: Deze gebruiker bestaat niet
+      title: Deze gebruiker bestaat niet
     outbox: 
       date: Datum
       inbox: Postvak IN
@@ -963,6 +972,9 @@ nl:
       title: Bericht lezen
       to: Aan
       unread_button: Markeren als ongelezen
+      wrong_user: "U bent aangemeld als \"{{user}}\", maar het bericht dat u wilt lezen is niet aan die gebruiker gericht.\nMeld u aan als de juiste gebruiker om het te lezen."
+    reply: 
+      wrong_user: U bent aangemeld als "{{user}}", maar het bericht waarop u wilt antwoorden is niet aan die gebruiker gericht. Meld u aan als de juiste gebruiker om te antwoorden.
     sent_message_summary: 
       delete_button: Verwijderen
   notifier: 
@@ -983,8 +995,9 @@ nl:
       hopefully_you_1: Iemand - hopelijk u - wil zijn e-mailadres  op
       hopefully_you_2: "{{server_url}} wijzigen naar {{new_address}}."
     friend_notification: 
+      befriend_them: U kunt deze gebruiker ook als vriend toevoegen op {{befriendurl}}.
       had_added_you: "{{user}} heeft u toegevoegd als vriend op OpenStreetMap."
-      see_their_profile: U kunt zijn/haar profiel bekijken op {{userurl}} en deze gebruiker ook als vriend toevoegen.
+      see_their_profile: U kunt zijn/haar profiel bekijken op {{userurl}}.
       subject: "[OpenStreetMap] {{user}} heeft u als vriend toegevoegd"
     gpx_notification: 
       and_no_tags: en geen labels.
@@ -1210,6 +1223,9 @@ nl:
     sidebar: 
       close: Sluiten
       search_results: Zoekresultaten
+  time: 
+    formats: 
+      friendly: "%e %B %Y om %H:%M"
   trace: 
     create: 
       trace_uploaded: Uw track is geüpload en staat te wachten totdat hij in de database wordt opgenomen. Dit gebeurt meestal binnen een half uur. U ontvangt dan een e-mail.
@@ -1243,7 +1259,7 @@ nl:
     no_such_user: 
       body: Sorry, er is geen gebruiker {{user}}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
       heading: De gebruiker {{user}} bestaat niet
-      title: De gebruiker bestaat niet
+      title: Deze gebruiker bestaat niet
     offline: 
       heading: De opslag van GPX-bestanden is niet beschikbaar
       message: Het systeem voor het opslaan en uploaden van GPX-bestanden is op het moment niet beschikbaar.
@@ -1313,15 +1329,20 @@ nl:
   user: 
     account: 
       current email address: "Huidige e-mailadres:"
+      delete image: Huidige afbeelding verwijderen
       email never displayed publicly: (nooit openbaar gemaakt)
       flash update success: De gebruikersinformatie is bijgewerkt.
       flash update success confirm needed: De gebruikersinformatie is bijgewerkt. Controleer uw e-mail om uw nieuwe e-mailadres te bevestigen.
       home location: "Thuislocatie:"
+      image: "Afbeelding:"
+      image size hint: (vierkante afbeeldingen van minstens 100x100 pixels werken het beste)
+      keep image: Huidige afbeelding behouden
       latitude: "Breedtegraad:"
       longitude: "Lengtegraad:"
       make edits public button: Al mijn wijzigingen  openbaar maken
       my settings: Mijn instellingen
       new email address: "Nieuw e-mailadres:"
+      new image: Afbeelding toevoegen
       no home location: Er is geen thuislocatie ingevoerd.
       preferred languages: "Voorkeurstalen:"
       profile description: "Profielbeschrijving:"
@@ -1335,6 +1356,7 @@ nl:
       public editing note: 
         heading: Publiek bewerken
         text: Op dit moment zijn uw bewerkingen anoniem en kunnen andere gebruikers u geen berichten sturen of uw locatie zien. Om uw bewerkingen weer te kunnen geven en andere gebruikers in staat te stellen in contact met u te komen, kunt u op de onderstaande knop klikken. <b>Sinds de overgang naar versie 0.6 van de API kunnen alleen publieke gebruikers de kaartgegevens bewerken</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">meer informatie</a>).<ul><li>Uw e-mailadres wordt niet publiek gemaakt door uw bewerkingen publiek te maken.</li><li>Deze handeling kan niet ongedaan gemaakt worden en alle nieuwe gebrukers zijn nu standaard publiek.</li></ul>
+      replace image: Huidige afbeelding vervangen
       return to profile: Terug naar profiel
       save changes button: Wijzgingen opslaan
       title: Gebruiker bewerken
@@ -1353,9 +1375,6 @@ nl:
       success: Uw e-mailadres is bevestigd. Dank u wel voor het registreren!
     filter: 
       not_an_administrator: U moet beheerder zijn om deze handeling uit te kunnen voeren.
-    friend_map: 
-      nearby mapper: "Dichtbijzijnde mapper: [[nearby_user]]"
-      your location: Uw locatie
     go_public: 
       flash success: Al uw bewerkingen zijn nu openbaar en u kunt bewerken.
     login: 
@@ -1368,7 +1387,12 @@ nl:
       lost password link: Wachtwoord vergeten?
       password: "Wachtwoord:"
       please login: Aanmelden of {{create_user_link}}.
+      remember: "Aanmeldgegevens onthouden:"
       title: Aanmelden
+    logout: 
+      heading: Afmelden van OpenStreetMap
+      logout_button: Afmelden
+      title: Afmelden
     lost_password: 
       email address: "E-mailadres:"
       heading: Wachtwoord vergeten?
@@ -1401,6 +1425,10 @@ nl:
       body: Sorry, er is geen gebruiker met de naam {{user}}. Controleer de spelling, of misschien is de link waarop je klikte onjuist.
       heading: De gebruiker {{user}} bestaat niet
       title: Deze gebruiker bestaat niet
+    popup: 
+      friend: Vriend
+      nearby mapper: Dichtbijzijnde mapper
+      your location: Uw locatie
     remove_friend: 
       not_a_friend: "{{name}} staat niet in uw vriendelijst."
       success: "{{name}} is verwijderd uit uw vriendenlijst."
@@ -1417,17 +1445,14 @@ nl:
     view: 
       activate_user: gebruiker actief maken
       add as friend: vriend toevoegen
-      add image: Afbeelding toevoegen
       ago: ({{time_in_words_ago}} geleden)
       block_history: blokkades voor mij
       blocks by me: blokkades door mij
       blocks on me: blokkades door mij
-      change your settings: Instellingen aanpassen
       confirm: Bevestigen
       create_block: gebruiker blokkeren
       created from: "Aangemaakt door:"
       deactivate_user: gebruiker inactief maken
-      delete image: Afbeelding verwijderen
       delete_user: gebruiker verwijderen
       description: Beschrijving
       diary: dagboek
@@ -1435,7 +1460,7 @@ nl:
       email address: "E-mailadres:"
       hide_user: gebruikers verbergen
       if set location: Als u uw locatie instelt, verschijnt er hieronder een kaart. U kunt de locatie instellen in uw {{settings_link}}.
-      km away: "{{count}}km ver"
+      km away: "{{count}} km verwijderd"
       m away: "{{count}} m verwijderd"
       mapper since: "Mapper sinds:"
       moderator_history: ingesteld blokkades bekijken
@@ -1443,12 +1468,11 @@ nl:
       my edits: mijn bewerkingen
       my settings: mijn instellingen
       my traces: mijn tracks
-      my_oauth_details: Mijn OAuth-gegevens bekijken
-      nearby users: "Dichtbijzijnde mappers:"
+      nearby users: Andere dichtbijzijnde gebruikers
       new diary entry: nieuw dagboekbericht
       no friends: U hebt nog geen vrienden toegevoegd.
-      no home location: Geen thuislocatie ingesteld.
-      no nearby users: Er zijn geen dichtbijzijnde mappers.
+      no nearby users: Er zijn geen andere gebruikers die hebben aangegeven in de buurt te mappen.
+      oauth settings: Oauth-instellingen
       remove as friend: vriend verwijderen
       role: 
         administrator: Deze gebruiker is beheerder
@@ -1463,8 +1487,6 @@ nl:
       settings_link_text: voorkeuren
       traces: tracks
       unhide_user: gebruiker weer zichtbaar maken
-      upload an image: Afbeelding uploaden
-      user image heading: Gebruikersafbeelding
       user location: Gebruikerslocatie
       your friends: Uw vrienden
   user_block: 
index 0a6376099fff129066fb18b371468ef5e1ec7cc2..ef6da4da13f3798bd53f503d253e56bc160502b1 100644 (file)
@@ -1,7 +1,9 @@
 # Messages for Norwegian Nynorsk (‪Norsk (nynorsk)‬)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Eirik
 # Author: Gunnernett
+# Author: Nghtwlkr
 nn: 
   activerecord: 
     attributes: 
@@ -13,7 +15,75 @@ nn:
       friend: Ven
       user: Brukar
   browse: 
+    changeset_details: 
+      box: boks
     map: 
       deleted: Sletta
       larger: 
         area: Sjå området på eit større kart
+      loading: Lastar inn …
+    node: 
+      download_xml: Last ned XML
+      view_history: vis historikk
+    node_history: 
+      download_xml: Last ned XML
+    paging_nav: 
+      of: av
+    relation_details: 
+      members: "Medlemmar:"
+    relation_member: 
+      entry_role: "{{type}} {{name}} som {{role}}"
+      type: 
+        node: Punkt
+        relation: Relasjon
+        way: Veg
+    start_rjs: 
+      data_frame_title: Data
+      data_layer_name: Data
+      load_data: Last data
+      loading: Lastar...
+      object_list: 
+        back: Syn objektliste
+        details: Detaljer
+        heading: Objektliste
+      wait: Vent...
+    way: 
+      download: "{{download_xml_link}}, {{view_history_link}} eller {{edit_link}}"
+      download_xml: Last ned XML
+      edit: rediger
+      view_history: vis historikk
+      way: Veg
+      way_title: "Veg: {{way_name}}"
+    way_details: 
+      also_part_of: 
+        one: også del av vegen {{related_ways}}
+        other: også del av vegane {{related_ways}}
+      nodes: Punkt
+      part_of: "Del av:"
+    way_history: 
+      download_xml: Last ned XML
+      view_details: syn detaljer
+  geocoder: 
+    distance: 
+      one: omkring 1 km
+      other: omkring {{count}}km
+      zero: mindre enn 1 km
+  time: 
+    formats: 
+      friendly: "%e %B %Y kl %H:%M"
+  trace: 
+    edit: 
+      download: last ned
+    trace: 
+      count_points: "{{count}} punkt"
+      in: i
+      map: kart
+    view: 
+      download: last ned
+      filename: "Filnamn:"
+      map: kart
+      none: Inga
+      owner: "Eigar:"
+  user: 
+    account: 
+      image: "Bilete:"
index 15e2f231fc04fb073705b8de7f46b074390a9a18..8c127eea1efd89cdf9517ee907a693333a61d427 100644 (file)
       way: Vei
       way_node: Veinode
       way_tag: Veimerkelapp
+  application: 
+    require_cookies: 
+      cookies_needed: Du ser ut til å ha deaktivert informasjonskapsler. Aktiver informasjonskapsler i nettleseren din før du fortsetter.
+    setup_user_auth: 
+      blocked: Din tilgang til API-et er blokkert. Logg inn på nettstedet for å finne ut mer.
   browse: 
     changeset: 
       changeset: "Endringssett: {{id}}"
       recent_entries: "Nye oppføringer i dagboka:"
       title: Brukernes dagbøker
       user_title: Dagboken for {{user}}
+    location: 
+      edit: Rediger
+      location: "Posisjon:"
+      view: Vis
     new: 
       title: Ny dagbokoppføring
     no_such_entry: 
+      body: Det er ingen dagbokinnlegg eller kommentar med ID {{id}}. Sjekk om du har skrevet feil eller om lenka du klikket er feil.
       heading: Ingen oppføring med {{id}}
       title: Ingen slik dagbokoppføring
     no_such_user: 
+      body: Beklager, det finnes ingen bruker med navnet {{user}}. Vennligst sjekk at du har stavet riktig, eller kanskje lenken du fulgte er feil.
       heading: Brukeren {{user}} finnes ikke
       title: Ingen bruker funnet
     view: 
       output: Utdata
       paste_html: Lim inn HTML som skal bygges inn i nettsted
       scale: Skala
+      too_large: 
+        body: Dette området er for stort for å bli eksportert som OpenStreetMap XML-data. Zoom inn eller velg et mindre område.
+        heading: For stort område
       zoom: Zoom
     start_rjs: 
       add_marker: Legg til en markør på kartet
       title: 
         geonames: Posisjon fra <a href="http://www.geonames.org/">GeoNames</a>
         osm_namefinder: "{{types}} fra <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
+        osm_nominatim: Sted fra <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
       types: 
         cities: Byer
         places: Steder
         geonames: Resultat fra <a href="http://www.geonames.org/">GeoNames</a>
         latlon: Resultat fra <a href="http://openstreetmap.org/">Internt</a>
         osm_namefinder: Resultat fra <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>
+        osm_nominatim: Resultat fra <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
         uk_postcode: Resultat fra <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
         us_postcode: Resultat fra <a href="http://geocoder.us/">Geocoder.us</a>
     search_osm_namefinder: 
           bank: Bank
           bar: Bar
           bench: Benk
+          bicycle_parking: Sykkelparkering
           bicycle_rental: Sykkelutleie
           brothel: Bordell
           bureau_de_change: Vekslingskontor
           bus_station: Busstasjon
           cafe: Kafé
           car_rental: Bilutleie
+          car_sharing: Bildeling
           car_wash: Bilvask
           casino: Kasino
           cinema: Kino
           clinic: Klinikk
           club: Klubb
           college: Høyskole
+          courthouse: Rettsbygning
           crematorium: Krematorium
           dentist: Tannlege
           doctors: Leger
           dormitory: Sovesal
           drinking_water: Drikkevann
+          driving_school: Kjøreskole
           embassy: Ambassade
           emergency_phone: Nødtelefon
           fast_food: Hurtigmat
           library: Bibliotek
           market: Marked
           marketplace: Markedsplass
+          mountain_rescue: Fjellredning
           nightclub: Nattklubb
           office: Kontor
           park: Park
           prison: Fengsel
           pub: Pub
           public_building: Offentlig bygning
+          reception_area: Oppsamlingsområde
+          recycling: Resirkuleringspunkt
           restaurant: Restaurant
           retirement_home: Gamlehjem
+          sauna: Sauna
           school: Skole
+          shop: Butikk
+          shopping: Handel
           studio: Studio
           supermarket: Supermarked
           taxi: Drosje
           theatre: Teater
           toilets: Toaletter
           townhall: Rådhus
+          university: Universitet
+          vending_machine: Vareautomat
           veterinary: Veterinærklinikk
           wifi: WiFi-tilgangspunkt
           youth_centre: Ungdomssenter
           church: Kirke
           city_hall: Rådhus
           dormitory: Sovesal
+          entrance: Bygningsinngang
           farm: Gårdsbygg
           flats: Leiligheter
           garage: Garasje
           "yes": Bygning
         highway: 
           bus_stop: Busstopp
+          construction: Motorvei under konstruksjon
           cycleway: Sykkelsti
+          distance_marker: Avstandsmarkør
           motorway: Motorvei
+          motorway_junction: Motorveikryss
+          path: Sti
           pedestrian: Gangvei
+          primary: Primær vei
+          primary_link: Primær vei
           road: Vei
+          secondary: Sekundær vei
+          secondary_link: Sekundær vei
           steps: Trapper
+          tertiary: Tertiær vei
+          track: Sti
+          trunk: Hovedvei
+          trunk_link: Hovedvei
+          unclassified: Uklassifisert vei
+          unsurfaced: Vei uten dekke
         historic: 
           archaeological_site: Arkeologisk plass
           battlefield: Slagmark
           park: Park
           quarry: Steinbrudd
           railway: Jernbane
+          recreation_ground: Idrettsplass
           reservoir: Reservoar
           residential: Boligområde
           vineyard: Vingård
           wetland: Våtland
           wood: Skog
         leisure: 
+          beach_resort: Strandsted
+          common: Allmenning
           fishing: Fiskeområde
           garden: Hage
           golf_course: Golfbane
           ice_rink: Skøytebane
+          marina: Båthavn
           miniature_golf: Minigolf
           nature_reserve: Naturreservat
           park: Park
           playground: Lekeplass
+          recreation_ground: Idrettsplass
+          slipway: Slipp
           sports_centre: Sportssenter
           stadium: Stadion
           swimming_pool: Svømmebaseng
+          track: Løpebane
           water_park: Vannpark
         natural: 
+          bay: Bukt
           beach: Strand
+          cape: Nes
           cave_entrance: Huleinngang
           channel: Kanal
           cliff: Klippe
           coastline: Kystlinje
           crater: Krater
+          feature: Egenskap
+          fell: Fjellskrent
           fjord: Fjord
           geyser: Geysir
           glacier: Isbre
+          heath: Vidde
+          hill: Ås
           island: Øy
+          land: Land
+          marsh: Sump
+          moor: Myr
           mud: Gjørme
           peak: Topp
+          point: Punkt
           reef: Rev
+          ridge: Rygg
           river: Elv
           rock: Stein
+          scree: Ur
           scrub: Kratt
+          shoal: Grunning
           spring: Kilde
+          strait: Stred
           tree: Tre
           valley: Dal
           volcano: Vulkan
           water: Vann
+          wetland: Våtmark
           wetlands: Våtland
           wood: Skog
         place: 
           airport: Flyplass
           city: By
           country: Land
+          county: Fylke
           farm: Gård
+          hamlet: Grend
           house: Hus
           houses: Hus
           island: Øy
           islet: Holme
+          locality: Plass
+          moor: Myr
           municipality: Kommune
           postcode: Postnummer
           region: Område
           sea: Hav
+          state: Delstat
           subdivision: Underavdeling
           suburb: Forstad
           town: Tettsted
+          village: Landsby
         railway: 
           abandoned: Forlatt jernbane
           construction: Jernbane under konstruksjon
           disused_station: Nedlagt jernbanestasjon
           halt: Togstopp
           historic_station: Historisk jernbanestasjon
+          junction: Jernbanekryss
           platform: Jernbaneperrong
           station: Jernbanestasjon
           subway: T-banestasjon
           subway_entrance: T-baneinngang
+          tram: Sporvei
+          tram_stop: Trikkestopp
         shop: 
           alcohol: Utenfor lisens
           art: Kunstbutikk
           alpine_hut: Fjellhytte
           artwork: Kunstverk
           attraction: Attraksjon
+          bed_and_breakfast: Bed and Breakfast
           cabin: Hytte
           camp_site: Teltplass
           caravan_site: Campingplass
+          chalet: Fjellhytte
           guest_house: Gjestehus
           hostel: Vandrerhjem
           hotel: Hotell
           information: Informasjon
+          lean_to: Lenne inntil
           motel: Motell
           museum: Museum
           picnic_site: Piknikplass
           canal: Kanal
           dam: Demning
           ditch: Grøft
+          mooring: Fortøyning
           rapids: Stryk
           river: Elv
+          riverbank: Elvebredd
           stream: Strøm
           waterfall: Foss
   javascripts: 
       base: 
         cycle_map: Sykkelkart
         noname: IntetNavn
+    site: 
+      edit_disabled_tooltip: Zoom inn for å redigere kartet
+      edit_tooltip: Rediger kartet
+      edit_zoom_alert: Du må zoome inn for å redigere kartet
+      history_disabled_tooltip: Zoom inn for å vise redigeringer i dette området
+      history_tooltip: Vis redigeringer for dette området
+      history_zoom_alert: Du må zoome inn for å vise redigeringer i dette området
   layouts: 
     donate: Støtt OpenStreetMap ved {{link}} til Hardware Upgrade Fund (et fond for maskinvareoppgraderinger).
     donate_link_text: donering
     edit: Rediger
-    edit_tooltip: Rediger kart
     export: Eksporter
     export_tooltip: Eksporter kartdata
     gps_traces: GPS-spor
-    gps_traces_tooltip: Behandle spor
+    gps_traces_tooltip: Behandle GPS-spor
     help_wiki: Hjelp &amp; Wiki
     help_wiki_tooltip: Hjelp- &amp; Wiki-side for prosjektet
     history: Historikk
-    history_tooltip: Historikk for endringssett
     home: hjem
     home_tooltip: Gå til hjemmeposisjon
     inbox: innboks ({{count}})
     user_diaries: Brukerdagbok
     user_diaries_tooltip: Vis brukerens dagbok
     view: Vis
-    view_tooltip: Vis kart
+    view_tooltip: Vis kartet
     welcome_user: Velkommen, {{user_link}}
     welcome_user_link_tooltip: Din brukerside
-  map: 
-    coordinates: "Koordinater:"
-    edit: Rediger
-    view: Vis
   message: 
     delete: 
       deleted: Melding slettet
       send_message_to: Send en ny melding til {{name}}
       subject: Emne
       title: Send melding
+    no_such_message: 
+      body: Det er ingen melding med den ID-en.
+      heading: Ingen melding funnet
+      title: Ingen melding funnet
     no_such_user: 
-      body: Det er ingen bruker eller melding med det navnet eller den id-en
-      heading: Ingen bruker eller melding funnet
-      title: Ingen bruker eller melding funnet
+      body: Det er ingen bruker med det navnet.
+      heading: Ingen bruker funnet
+      title: Ingen bruker funnet
     outbox: 
       date: Dato
       inbox: innboks
       title: Les melding
       to: Til
       unread_button: Marker som ulest
+      wrong_user: Du er logget inn som «{{user}}», men meldingen du ønsker å lese ble ikke sendt til den brukeren. Logg inn som korrekt bruker for å lese.
+    reply: 
+      wrong_user: Du er logget inn som «{{user}}», men meldingen du ønsker å svare på ble ikke sendt til den brukeren. Logg inn som korrekt bruker for å svare.
     sent_message_summary: 
       delete_button: Slett
   notifier: 
       hopefully_you_1: Noen (forhåpentligvis deg) ønsker å endre e-postadressen for
       hopefully_you_2: "{{server_url}} til {{new_address}}."
     friend_notification: 
+      befriend_them: Du kan også legge dem til som venn på {{befriendurl}}.
       had_added_you: "{{user}} har lagt deg til som venn på OpenStreetMap."
-      see_their_profile: Du kan se profilen deres på {{userurl}} og legge dem til som venn også om du vil det.
+      see_their_profile: Du kan se profilen deres på {{userurl}}.
       subject: "[OpenStreetMap] {{user}} la deg til som en venn"
     gpx_notification: 
       and_no_tags: og ingen merkelapper.
         subject: "[OpenStreetMap] Feil under import av GPX"
       greeting: Hei,
       success: 
+        loaded_successfully: lastet med {{trace_points}} av {{possible_points}} mulige punkter.
         subject: "[OpenStreetMap] Vellykket import av GPX"
       with_description: med beskrivelse
       your_gpx_file: Det ser ut som GPX-filen din
       click_the_link: Om dette er deg, vennligst klikk på lenken under for å tilbakestille passordet.
       greeting: Hei,
       hopefully_you_1: Noen (muligens deg) har bedt om å tilbakestille passordet på denne
+      hopefully_you_2: e-postadressser for openstreetmap.org-konto.
     message_notification: 
       footer1: Du kan også lese meldingen på {{readurl}}
       footer2: og du kan svare til {{replyurl}}
     signup_confirm: 
       subject: "[OpenStreetMap] Bekreft din e-postadresse"
     signup_confirm_html: 
+      click_the_link: Hvis dette er deg, så er du velkommen! Klikke lenka nedenfor for å bekrefte kontoen og les videre for mer informasjon om OpenStreetMap
       current_user: En liste over nåværende brukere i kategorier, basert på hvor i verden de er, er tilgjengelig fra <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
+      get_reading: Start å lese om OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">på wikien</a>, få med deg de siste nyhetene via  <a href="http://blog.openstreetmap.org/">OpenStreetMap-bloggen</a> eller <a href="http://twitter.com/openstreetmap">Twitter</a>. Eller bla gjennom OpenStreetMaps grunnlegger Steve Coasts <a href="http://www.opengeodata.org/">OpenGeoData-blogg</a> for hele historien til prosjektet, som også har <a href="http://www.opengeodata.org/?cat=13">engelske podkaster</a> du kan lytte til.
       greeting: Hei der!
+      hopefully_you: Noen (forhåpentligvis deg) ønsker å opprette en konto på
       introductory_video: Du kan se en {{introductory_video_link}}.
       more_videos: Det er {{more_videos_link}}.
       more_videos_here: flere videoer her
+      user_wiki_page: Det anbefales at du oppretter en brukerside på wiki-en som inkluderer kategorimerker som viser hvor du er, f.eks <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.
       video_to_openstreetmap: introduksjonsvideo til OpenStreetMap
       wiki_signup: Du vil kanskje <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">melde deg inn i OpenStreetMap-wikien</a> også.
     signup_confirm_plain: 
       blog_and_twitter: "Få med deg de siste nyhetene gjennom OpenStreetMap-bloggen eller Twitter:"
       click_the_link_1: Om dette er deg, velkommen! Vennligst klikk på lenken under for å bekrefte din
       click_the_link_2: konto og les videre for mer informasjon om OpenStreetMap.
+      current_user_1: En liste over nåværende brukere i kategorier, basert på hvor i verden
       current_user_2: "de er, er tilgjengelig fra:"
       greeting: Hei der!
+      hopefully_you: Noen (forhåpentligvis deg) ønsker å opprette en konto på
       introductory_video: "Du kan se en introduksjonsvideo for OpenStreetMap her:"
       more_videos: "Det er flere videoer her:"
+      opengeodata: "OpenGeoData.org er bloggen til OpenStreetMap-grunnlegger Steve Coast, og den har podcast-er også:"
       the_wiki: "Les mer om OpenStreetMap på wikien:"
-      user_wiki_1: Det anbefales at du oppretter en wikibrukerside som inkluderer
+      user_wiki_1: Det anbefales at du oppretter en brukerside på wiki-en som inkluderer
+      user_wiki_2: kategorimerker som viser hvor du er, f.eks [[Category:Users_in_London]].
       wiki_signup: "Du vil kanskje også melde deg inn i OpenStreetMap-wikien på:"
   oauth: 
     oauthorize: 
       submit: Rediger
       title: Rediger ditt programvare
     form: 
+      allow_read_gpx: les deres private GPS-spor.
+      allow_read_prefs: les brukerinnstillingene deres.
       allow_write_api: endre kartet.
       allow_write_diary: opprett dagbokoppføringer, kommentarer og finn venner.
       allow_write_gpx: last opp GPS-spor.
+      allow_write_prefs: endre brukerinnstillingene deres.
       callback_url: "URL til sårbarhetsinformasjon:"
       name: Navn
+      requests: "Be om følgende tillatelser fra brukeren:"
       required: Påkrevet
       support_url: Støtte-URL
       url: "URL til sårbarhetsinformasjon:"
       allow_write_diary: opprett dagbokoppføringer, kommentarer og finn venner.
       allow_write_gpx: last opp GPS-spor.
       allow_write_prefs: endre brukerinnstillingene deres.
-      authorize_url: "URL til sårbarhetsinformasjon:"
+      authorize_url: "Godkjenn URL:"
       edit: Rediger detaljer
       key: "Forbrukernøkkel:"
       requests: "Ber om følgende tillatelser fra brukeren:"
       secret: "Forbrukerhemmelighet:"
       support_notice: Vi støtter HMAC-SHA1 (anbefalt) så vel som ren tekst i ssl-modus.
       title: OAuth-detaljer for {{app_name}}
-      url: "URL til sårbarhetsinformasjon:"
+      url: "URL for forespørelsnøkkel:"
     update: 
       flash: Oppdaterte klientinformasjonen
   site: 
     edit: 
       anon_edits_link_text: Finn ut hvorfor dette er tilfellet.
+      flash_player_required: Du trenger en Flash-spiller for å kunne bruke Potlatch, Flasheditoren for OpenStreetMap. Du kan <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">laste ned Flash Player fra Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Flere andre alternativ</a> er også tilgjengelig for redigering av OpenStreetMap.
+      not_public: Du har ikke satt dine redigeringer til å være offentlige.
+      not_public_description: Du kan ikke lenger redigere kartet om du ikke gjør det. Du kan gjøre dine redigeringer offentlige fra din {{user_page}}.
+      potlatch_unsaved_changes: Du har ulagrede endringer. (For å lagre i Potlatch, må du fjerne markeringen av gjeldende vei eller punkt hvis du redigerer i live-modues eller klikke lagre hvis du har en lagreknapp.)
       user_page_link: brukerside
     index: 
       js_1: Du har en nettleser som ikke støtter JavaScript eller så har du slått av JavaScript.
           trunk: Hovedvei
           tunnel: Streket kant = tunnel
           unclassified: Uklassifisert vei
+          unsurfaced: Vei uten dekke
           wood: Ved
         heading: Legend for z{{zoom_level}}
     search: 
     sidebar: 
       close: Lukk
       search_results: Søkeresultater
+  time: 
+    formats: 
+      friendly: "%e %B %Y kl. %H:%M"
   trace: 
     create: 
       trace_uploaded: Din GPX-fil er last opp og venter på å bli satt inn i databasen. Dette skjer vanligvis innen en halvtime og en e-post blir sendt til deg når det er gjort.
       body: Beklager, det finnes ingen bruker med navnet {{user}}. Vennligst sjekk at du har stavet riktig, eller kanskje lenken du fulgte er feil.
       heading: Brukeren {{user}} finnes ikke
       title: Ingen bruker funnet
+    offline: 
+      heading: GPX-lagring er utilgjengelig
+      message: Systemet for opplasting og lagring av GPX-filer er ikke tilgjengelig for øyeblikket.
+    offline_warning: 
+      message: Systemet for opplasting av GPX-filer er ikke tilgjengelig for øyeblikket.
     trace: 
       ago: "{{time_in_words_ago}} siden"
       by: av
       count_points: "{{count}} punkter"
       edit: rediger
       edit_map: Rediger kart
+      identifiable: IDENTIFISERBAR
       in: i
       map: kart
       more: mer
       private: PRIVAT
       public: OFFENTLIG
       trace_details: Vis detaljer for spor
+      trackable: SPORBAR
       view_map: Vis kart
     trace_form: 
       description: Beskrivelse
   user: 
     account: 
       current email address: "Nåværende e-postadresse:"
+      delete image: Fjern gjeldende bilde
       email never displayed publicly: " (vis aldri offentlig)"
       flash update success: Brukerinformasjon oppdatert.
       flash update success confirm needed: Brukerinformasjon oppdatert. Sjekk eposten din for å bekrefte din epostadresse.
       home location: "Hjemmeposisjon:"
+      image: "Bilde:"
+      image size hint: (kvadratiske bilder som er minst 100x100 fungerer best)
+      keep image: Behold gjeldende bilde
       latitude: "Breddegrad:"
       longitude: "Lengdegrad:"
       make edits public button: Gjør alle mine redigeringer offentlig
       my settings: Mine innstillinger
       new email address: "Ny e-postadresse:"
+      new image: Legg til et bilde
       no home location: Du har ikke skrevet inn din hjemmelokasjon.
       preferred languages: "Foretrukne språk:"
       profile description: "Profilbeskrivelse:"
       public editing: 
         disabled: Deaktivert og kan ikke redigere data. Alle tidligere redigeringer er anonyme.
         disabled link text: hvorfor can jeg ikke redigere?
+        enabled: Aktivert. Ikke anonym og kan redigere data.
         enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
         enabled link text: hva er dette?
         heading: "Offentlig redigering:"
       public editing note: 
         heading: Offentlig redigering
+      replace image: Erstatt gjeldende bilde
       return to profile: Returner til profil
       save changes button: Lagre endringer
       title: Rediger konto
       success: E-postadressen din er bekreftet - takk for at du registrerte deg.
     filter: 
       not_an_administrator: Du må være administrator for å gjøre det.
-    friend_map: 
-      nearby mapper: "Bruker i nærheten: [[nearby_user]]"
-      your location: Din posisjon
     go_public: 
       flash success: Alle dine redigeringer er nå offentlig, og du har lov til å redigere.
     login: 
       lost password link: Mistet passordet ditt?
       password: "Passord:"
       please login: Logg inn eller {{create_user_link}}.
+      remember: "Huske meg:"
       title: Logg inn
+    logout: 
+      heading: Logg ut fra OpenStreetMap
+      logout_button: Logg ut
+      title: Logg ut
     lost_password: 
       email address: "E-postadresse:"
       heading: Glemt passord?
     new: 
       confirm email address: "Bekreft e-postadresse:"
       confirm password: "Bekreft passord:"
+      contact_webmaster: Kontakt <a href="mailto:webmaster@openstreetmap.org">webmaster</a> for å opprette en konto. Vi vil prøve å behandle forespørselen så fort som mulig.
       display name: "Visningsnavn:"
       display name description: Ditt offentlig fremviste brukernavn. Du kan endre dette senere i innstillingene.
       email address: "E-postadresse:"
       fill_form: Fyll ut skjemaet og vi vil sende deg en e-post for å aktivere kontoen din.
+      flash create success message: Bruker ble opprettet. Se etter er en bekreftelsesmelding i e-posten din, og du vil lage kart på null tid :-)<br /><br />Legg merke til at du ikke kan logge inn før du har bekreftet e-postadresssen din.<br /><br />Hvis du bruker en antispam-løsning som krever bekreftelse fra avsender, så må du hvitliste webmaster@openstreetmap.org (siden vi ikke er i stand til å svare på slike forespørsler om bekreftelse).
       heading: Opprett en brukerkonto
+      license_agreement: Ved å opprette en konto, godtar du at alle data du sender inn til OpenStreetMap-prosjektet vil bli (ikke-eksklusivt) lisensiert under <a href="http://creativecommons.org/licenses/by-sa/2.0/">denne Creative Commons-lisensen (by-sa)</a>.
+      no_auto_account_create: Beklageligvis kan vi for øyeblikket ikke opprette en konto for deg automatisk.
+      not displayed publicly: Ikke vist offentlig (se <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="Personvernpolitikk for Wiki-en inklusiv avsnitt om e-postadressser">vår personvernpolitikk</a>)
       password: "Passord:"
       signup: Registrering
       title: Opprett konto
     no_such_user: 
+      body: Det er ingen bruker med navnet {{user}}. Sjekk om du har skrevet navnet feil eller om lenka du klikket er feil.
       heading: Brukeren {{user}} finnes ikke
       title: Ingen bruker funnet
+    popup: 
+      friend: Venn
+      nearby mapper: Bruker i nærheten
+      your location: Din posisjon
     remove_friend: 
       not_a_friend: "{{name}} er ikke en av dine venner."
       success: "{{name}} ble fjernet fra dine venner"
     view: 
       activate_user: aktiver denne brukeren
       add as friend: legg til som en venn
-      add image: Legg til bilde
       ago: ({{time_in_words_ago}} siden)
       block_history: vis mottatte blokkeringer
       blocks by me: blokkeringer utført av meg
       blocks on me: mine blokkeringer
-      change your settings: endre dine innstillinger
       confirm: Bekreft
       create_block: blokker denne brukeren
       created from: "Opprettet fra:"
       deactivate_user: deaktiver denne brukeren
-      delete image: Slett bilde
       delete_user: slett denne brukeren
       description: Beskrivelse
       diary: dagbok
       edits: redigeringer
       email address: "E-postadresse:"
       hide_user: skjul denne brukeren
+      if set location: Hvis du setter din posisjon, så vil et fint kart og ting vises her. Du kan sette din hjemmeposisjon på din {{settings_link}}-side.
       km away: "{{count}}km unna"
       m away: "{{count}}m unna"
       mapper since: "Bruker siden:"
       my edits: mine redigeringer
       my settings: mine innstillinger
       my traces: mine spor
-      my_oauth_details: Vis mine OAuth-detaljer
-      nearby users: "Næreliggende brukere:"
+      nearby users: Andre nærliggende brukere
       new diary entry: ny dagbokoppføring
       no friends: Du har ikke lagt til noen venner ennå.
-      no home location: Ingen hjemmelokasjon satt.
-      no nearby users: Det er ingen brukere som innrømmer kartlegging i ditt område ennå.
+      no nearby users: Det er ingen andre brukere som innrømmer kartlegging i ditt område ennå.
+      oauth settings: oauth-innstillinger
       remove as friend: fjern som venn
       role: 
         administrator: Denne brukeren er en administrator
       settings_link_text: innstillinger
       traces: spor
       unhide_user: stopp å skjule denne brukeren
-      upload an image: Last opp et bilde
-      user image heading: Brukerbilde
       user location: Brukerens posisjon
       your friends: Dine venner
   user_block: 
       title: Blokkeringer av {{name}}
     blocks_on: 
       empty: "{{name}} har ikke blitt blokkert ennå."
+      heading: Liste over blokkeringer av {{name}}
       title: Blokkeringer av {{name}}
     create: 
       flash: Opprettet en blokkering av bruker {{name}}.
     edit: 
       back: Vis alle blokkeringer
       heading: Endrer blokkering av {{name}}
+      needs_view: Må brukeren logge inn før denne blokkeringen blir fjernet?
+      period: Hvor lenge, fra nå, brukeren vil bli blokkert fra API-en.
       reason: Årsaken til hvorfor {{name}} blir blokkert. Vennligst vær så rolig og rimelig som mulig og oppgi så mange detaljer du kan om situasjonen. Husk at ikke alle brukere forstår felleskapssjargongen så prøv å bruke lekmannsuttrykk.
       show: Vis denne blokkeringen
       submit: Oppdater blokkering
     new: 
       back: Vis alle blokkeringer
       heading: Oppretter blokkering av {{name}}
+      needs_view: Brukeren må logge inn før denne blokkeringen blir fjernet.
+      period: Hvor lenge, fra nå, brukeren vil bli blokkert fra API-en.
       reason: Årsaken til at {{name}} blir blokkert. Vennligst vær så rolig og rimelig som mulig og gi så mange detaljer du kan om situasjonen, og husk på at meldingen blir synlig for offentligheten. Husk på at ikke alle brukere forstår fellesskapssjargongen så prøv å bruke lekmannsuttrykk.
       submit: Opprett blokkering
       title: Oppretter blokkering av {{name}}
       tried_waiting: Jeg har gitt brukeren rimelig med tid til å svare på disse kommunikasjonene.
     not_found: 
       back: Tilbake til indeksen
+      sorry: Beklager, brukerblokkeringen med ID {{id}} ble ikke funnet.
     partial: 
       confirm: Er du sikker?
       creator_name: Opprettet av
       time_future: Denne blokkeringen ender i {{time}}
       title: Tilbakekaller blokkering på {{block_on}}
     show: 
+      back: Vis alle blokkeringer
       confirm: Er du sikker?
       edit: Rediger
+      heading: "{{block_on}} blokkert av {{block_by}}"
+      needs_view: Brukeren må logge inn før denne blokkeringen blir fjernet.
+      reason: "Årsak for blokkering:"
       revoke: Tilbakekall!
       show: Vis
       status: Status
index d79e5a5eb164655ef7c1b629efcd9208757b2ee9..2f8136e7304eff5b3e341e6482ffd24da2e986d7 100644 (file)
@@ -323,6 +323,10 @@ pl:
       recent_entries: "Ostatnie wpisy do dziennika:"
       title: Dzienniki użytkowników
       user_title: Dziennik dla {{user}}
+    location: 
+      edit: Edytuj
+      location: "Położenie:"
+      view: Podgląd
     new: 
       title: Nowy wpis do dziennika
     no_such_entry: 
@@ -859,15 +863,13 @@ pl:
     donate: Wspomóż Projekt OpenStreetMap {{link}} na Konto Aktualizacji Naszego Sprzętu.
     donate_link_text: dokonując darowizny
     edit: Edycja
-    edit_tooltip: Edycja mapy
     export: Eksport
     export_tooltip: Eksport danych mapy
     gps_traces: Ślady GPS
-    gps_traces_tooltip: Zarządzaj śladami
+    gps_traces_tooltip: Zarządzanie śladami GPS
     help_wiki: Pomoc &amp; Wiki
     help_wiki_tooltip: Pomoc i strony Wiki projektu
     history: Zmiany
-    history_tooltip: Historia zestawów zmian
     home: główna
     home_tooltip: Przejdź do strony głównej
     inbox: poczta ({{count}})
@@ -905,10 +907,6 @@ pl:
     view_tooltip: Zobacz mapę
     welcome_user: Witaj, {{user_link}}
     welcome_user_link_tooltip: Strona użytkownika
-  map: 
-    coordinates: "Współrzędne:"
-    edit: Edycja
-    view: Mapa
   message: 
     delete: 
       deleted: Wiadomość usunięta
@@ -1155,7 +1153,7 @@ pl:
           tunnel: Kreskowany obrys – tunel
           unclassified: Drogi niesklasyfikowane
           unsurfaced: Droga nieutwardzona
-          wood: Las
+          wood: Puszcza
         heading: Legenda dla przybliżenia {{zoom_level}}
     search: 
       search: Szukaj
@@ -1268,15 +1266,18 @@ pl:
   user: 
     account: 
       current email address: "Aktualny adres e-mail:"
+      delete image: Usuń obecną grafikę
       email never displayed publicly: (nie jest wyświetlany publicznie)
       flash update success: Zaktualizowano profil użytkownika.
       flash update success confirm needed: Zaktualizowano profil użytkownika.  Sprawdź czy przyszedł już mail potwierdzający nowy adres mailowy.
       home location: "Lokalizacja domowa:"
+      image: "Grafika:"
       latitude: "Szerokość:"
       longitude: "Długość geograficzna:"
       make edits public button: Niech wszystkie edycje będą publiczne.
       my settings: Moje ustawienia
       new email address: "Nowy adres e-mail:"
+      new image: Dodaj grafikę
       no home location: Nie wpisałeś swojej lokalizacji domowej.
       preferred languages: "Preferowane Języki:"
       profile description: "Opis profilu:"
@@ -1290,6 +1291,7 @@ pl:
       public editing note: 
         heading: Publiczna edycja
         text: Obecnie twoje edycje są anonimowe i ludzie nie mogą wysyłać do ciebie wiadomości lub zobaczyć twojej lokalizacji. Aby pokazać, co edytowałeś i umożliwić ludziom kontakt z Tobą za pośrednictwem strony internetowej, kliknij przycisk poniżej. <b>W międzyczasie API 0.6 zmienił się, jedynie publiczni użytkownicy mogą edytować dane mapy. </b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">dowiedz się dlaczego</a>).<ul><li>Twój adres e-mail nie zostanie ujawniony przez stawanie się publicznym. Tej akcji nie można cofnąć i wszyscy nowi użytkownicy są już domyślnie publiczni.</ul></li>
+      replace image: Zmień obecną grafikę
       return to profile: Powrót do profilu.
       save changes button: Zapisz zmiany
       title: Zmiana ustawień konta
@@ -1308,9 +1310,6 @@ pl:
       success: Twój nowy adres został zatwierdzony, cieszymy się że do nas dołączyłeś!
     filter: 
       not_an_administrator: Musisz mieć uprawnienia administratora do wykonania tego działania.
-    friend_map: 
-      nearby mapper: "Mapowicz z okolicy: [[nearby_user]]"
-      your location: Twoje położenie
     go_public: 
       flash success: Wszystkie Twoje modyfikacje są od teraz publiczne i jesteś uprawniony/a do edycji.
     login: 
@@ -1356,6 +1355,9 @@ pl:
       body: Niestety nie znaleziono użytkownika o nazwie {{user}}, sprawdź pisownię.  Być może użyłeś(aś) linku który był niepoprawny.
       heading: Użytkownik{{user}} nie istnieje
       title: Nie znaleziono użytkownika
+    popup: 
+      nearby mapper: Mapowicz z okolicy
+      your location: Twoje położenie
     remove_friend: 
       not_a_friend: "{{name}} nie był Twoim znajomym."
       success: "{{name}} został wyłączony z grona Twoich znajomych."
@@ -1372,17 +1374,14 @@ pl:
     view: 
       activate_user: aktywuj tego użytkownika
       add as friend: dodaj do znajomych
-      add image: Dodaj zdjęcie
       ago: ({{time_in_words_ago}} temu)
       block_history: otrzymane blokady
       blocks by me: nałożone blokady
       blocks on me: otrzymane blokady
-      change your settings: zmień swoje ustawienia
       confirm: Potwierdź
       create_block: zablokuj tego użytkownika
       created from: "Stworzony z:"
       deactivate_user: dezaktywuj tego użytkownika
-      delete image: Usuń zdjęcie
       delete_user: usuń to konto
       description: Opis
       diary: dziennik
@@ -1398,12 +1397,11 @@ pl:
       my edits: moje zmiany
       my settings: moje ustawienia
       my traces: moje ślady
-      my_oauth_details: Pokaż moje szczegóły OAuth
-      nearby users: "Najbliżsi użytkownicy:"
+      nearby users: Najbliżsi użytkownicy
       new diary entry: nowy wpis w dzienniku
       no friends: Nie dodałeś/aś jeszcze żadnych znajomych.
-      no home location: Lokalizacja domowa nie została podana.
       no nearby users: Nikt nie przyznał się jeszcze do mapowania w tej okolicy.
+      oauth settings: ustawienia oauth
       remove as friend: usuń ze znajomych
       role: 
         administrator: Ten użytkownik jest administratorem
@@ -1418,8 +1416,6 @@ pl:
       settings_link_text: stronie ustawień
       traces: ślady
       unhide_user: odkryj tego użytkownika
-      upload an image: Wgraj zdjęcie
-      user image heading: Zdjęcie użytkownika
       user location: Lokalizacja użytkownika
       your friends: Twoi znajomi
   user_block: 
index 85b5987afad35a1da286862ed2073faa3ac94bfa..09350f46bf5a50857dd05a642f0acf83cbe25cad 100644 (file)
@@ -10,6 +10,7 @@ ps:
         title: سرليک
         user: کارن
       friend: 
+        friend: ملګری
         user: کارن
       message: 
         title: سرليک
@@ -29,5 +30,172 @@ ps:
   browse: 
     map: 
       deleted: ړنګ شو
-  map: 
+    node: 
+      edit: سمول
+      view_history: پېښليک کتل
+    node_details: 
+      coordinates: "کوارډيناټونه:"
+    not_found: 
+      type: 
+        way: لار
+    relation_details: 
+      members: "غړي:"
+    relation_member: 
+      type: 
+        way: لار
+    start_rjs: 
+      object_list: 
+        type: 
+          way: لار
+    timeout: 
+      type: 
+        way: لار
+    way: 
+      edit: سمول
+      view_history: پېښليک کتل
+      way: لار
+  changeset: 
+    changesets: 
+      user: کارن
+  diary_entry: 
+    edit: 
+      language: "ژبه:"
+      save_button: خوندي کول
+      use_map_link: نخشه کارول
+    location: 
+      edit: سمول
+      view: کتل
+    view: 
+      login: ننوتل
+      save_button: خوندي کول
+  geocoder: 
+    description: 
+      types: 
+        cities: ښارونه
+        towns: ښارګوټي
+    direction: 
+      east: ختيځ
+      north: سهېل
+      north_east: سهېل-ختيځ
+      north_west: سهېل-لوېديځ
+      south: سوېل
+      south_east: سوېل-ختيځ
+      south_west: سوېل-لوېديځ
+      west: لوېديځ
+    search_osm_nominatim: 
+      prefix: 
+        amenity: 
+          bank: بانک
+          clinic: کلينيک
+          college: پوهنځی
+          embassy: سفارت
+          hospital: روغتون
+          hotel: هوټل
+          park: پارک
+          pharmacy: درملتون
+          police: پوليس
+          school: ښوونځی
+          shop: هټۍ
+          theatre: نندارتون
+        building: 
+          hotel: هوټل
+          shop: هټۍ
+          stadium: لوبغالی
+          tower: برج
+        highway: 
+          bus_stop: تمځای
+          road: واټ
+        historic: 
+          castle: ماڼۍ
+          church: کليسا
+          house: کور
+          museum: موزيم
+          tower: برج
+        landuse: 
+          cemetery: هديره
+          forest: ځنګل
+          park: پارک
+        leisure: 
+          park: پارک
+        natural: 
+          hill: غونډۍ
+          island: ټاپو
+          peak: څوکه
+          tree: ونه
+          valley: دره
+          water: اوبه
+        place: 
+          airport: هوايي ډګر
+          city: ښار
+          country: هېواد
+          farm: فارم
+          house: کور
+          houses: کورونه
+          island: ټاپو
+          region: سيمه
+          town: ښارګوټی
+          village: کلی
+        shop: 
+          bakery: بټيارۍ
+          gallery: ګالېري
+        tourism: 
+          guest_house: مېلمستون
+          hostel: ليليه
+          hotel: هوټل
+          information: مالومات
+          museum: موزيم
+          picnic_site: مېله ځای
+          valley: دره
+          zoo: ژوبڼ
+  layouts: 
+    home: کور
+    intro_3_partners: ويکي
+    log_in: ننوتل
+    shop: هټۍ
     view: کتل
+  message: 
+    inbox: 
+      date: نېټه
+    outbox: 
+      date: نېټه
+  site: 
+    search: 
+      submit_text: ورځه
+    sidebar: 
+      close: تړل
+  trace: 
+    edit: 
+      edit: سمول
+      filename: "د دوتنې نوم:"
+      map: نخشه
+      save_button: بدلونونه خوندي کول
+    trace: 
+      edit: سمول
+      map: نخشه
+      view_map: نخشه کتل
+    view: 
+      edit: سمول
+      filename: "د دوتنې نوم:"
+      map: نخشه
+      none: هېڅ
+  user: 
+    account: 
+      image: "انځور:"
+    login: 
+      heading: ننوتل
+      login_button: ننوتل
+      password: "پټنوم:"
+      title: ننوتل
+    logout: 
+      logout_button: وتل
+      title: وتل
+    new: 
+      email address: "برېښليک پته:"
+      password: "پټنوم:"
+    popup: 
+      friend: ملګری
+    reset_password: 
+      password: "پټنوم:"
+    view: 
+      email address: "برېښليک پته:"
+      send message: پيغام لېږل
index 2d311a9ba7a0d5fcbed113ec97411e6422d4bf24..9b1a33d0146b1ffd67e4fdb2e78e0ee52708219c 100644 (file)
@@ -329,6 +329,10 @@ pt-BR:
       recent_entries: "Entradas recentes no Diário:"
       title: Diários dos Usuários
       user_title: Diário de {{user}}
+    location: 
+      edit: Editar
+      location: "Local:"
+      view: Exibir
     new: 
       title: Nova Entrada de Diário
     no_such_entry: 
@@ -368,6 +372,9 @@ pt-BR:
       output: Saída
       paste_html: Cole o HTML para publicar no site
       scale: Escala
+      too_large: 
+        body: Esta área é muito grande para ser exportada como dados XML do OpenStreetMap. Por gentileza, aumente o zoom ou selecione uma área menor.
+        heading: Área muito grande
       zoom: Zoom
     start_rjs: 
       add_marker: Adicionar um marcador ao mapa
@@ -867,22 +874,24 @@ pt-BR:
       overlays: 
         maplint: Maplint
     site: 
+      edit_disabled_tooltip: Aumente o zoom para editar o mapa
+      edit_tooltip: Edite o mapa
       edit_zoom_alert: Você deve aumentar o zoom para editar o mapa
+      history_disabled_tooltip: Aumente o zoom para ver as edições desta área
+      history_tooltip: Veja as edições desta área
       history_zoom_alert: Você deve aumentar o zoom para ver o histórico de edição
   layouts: 
     donate: "Ajude o OpenStreetMap fazendo doações para o Fundo de Upgrade de Hardware: {{link}}."
     donate_link_text: doando
     edit: Editar
-    edit_tooltip: Editar mapas
     export: Exportar
     export_tooltip: Exportar dados do mapa
     gps_traces: Trilhas GPS
-    gps_traces_tooltip: Gerenciar trilhas
+    gps_traces_tooltip: Gerenciar trilhas GPS
     help_wiki: Ajuda & Wiki
     help_wiki_tooltip: Ajuda &amp; Wiki do projeto
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Pt-br:Main_Page?uselang=pt-br
     history: Histórico
-    history_tooltip: Histórico de alterações
     home: início
     home_tooltip: Ir para a sua localização
     inbox: caixa de entrada ({{count}})
@@ -926,13 +935,9 @@ pt-BR:
     user_diaries: Diários de Usuário
     user_diaries_tooltip: Ver os diários dos usuários
     view: Ver
-    view_tooltip: Ver mapas
+    view_tooltip: Veja o mapa
     welcome_user: Bem vindo, {{user_link}}
     welcome_user_link_tooltip: Sua Página de usuário
-  map: 
-    coordinates: "Coordenadas:"
-    edit: Editar
-    view: Ver
   message: 
     delete: 
       deleted: Mensagem apagada
@@ -963,10 +968,14 @@ pt-BR:
       send_message_to: Enviar uma nova mensagem para {{name}}
       subject: Assunto
       title: Enviar mensagem
+    no_such_message: 
+      body: Desculpe, mas não existe uma mensagem com este id.
+      heading: Esta mensagem não existe
+      title: Esta mensagem não existe
     no_such_user: 
-      body: Me desculpe, não há nenhum usuário ou mensagem com esse nome ou id
-      heading: Não há tal usuário ou mensagem
-      title: Não existe usuário ou mensagem
+      body: Desculpe, mas não existe usuário com este nome.
+      heading: Este usuário não existe
+      title: Este usuário não existe
     outbox: 
       date: Data
       inbox: caixa de entrada
@@ -990,6 +999,9 @@ pt-BR:
       title: Ler Mensagem
       to: Para
       unread_button: Marcar como não lida
+      wrong_user: Você está conectado como `{{user}}' mas a mensagem que você quer ler não foi enviada para este usuário. Por gentileza, faça o login com o usuário correto para poder responder.
+    reply: 
+      wrong_user: Você está conectado como `{{user}}' mas a mensagem que você quer responder não foi enviada para este usuário. Por gentileza, faça o login com o usuário correto para poder responder.
     sent_message_summary: 
       delete_button: Apagar
   notifier: 
@@ -1010,8 +1022,9 @@ pt-BR:
       hopefully_you_1: Alguém (esperamos que você) quer alterar seu endereço de e-mail de
       hopefully_you_2: "{{server_url}} para {{new_address}}."
     friend_notification: 
+      befriend_them: Você também pode adicioná-lo como amigo em {{befriendurl}}.
       had_added_you: "{{user}} adicionou você como amigo no OpenStreetMap."
-      see_their_profile: Você pode ver seu perfil em {{userurl}} e adicioná-lo também se desejar.
+      see_their_profile: Você pode ver o perfil dele em {{userurl}}.
       subject: "[OpenStreetMap] {{user}} adicionou você como amigo"
     gpx_notification: 
       and_no_tags: e sem etiquetas.
@@ -1248,6 +1261,9 @@ pt-BR:
     sidebar: 
       close: Fechar
       search_results: Resultados da Busca
+  time: 
+    formats: 
+      friendly: "%e %B %E às %H:%M"
   trace: 
     create: 
       trace_uploaded: Seu arquivo GPX foi enviado e está aguardando para ser inserido no banco de dados. Isso normalmente leva meia hora, e um e-mail será enviado para você quando ocorrer.
@@ -1353,15 +1369,20 @@ pt-BR:
   user: 
     account: 
       current email address: "Endereço de e-mail atual:"
+      delete image: Remova a imagem atual
       email never displayed publicly: (nunca mostrado publicamente)
       flash update success: Informação de usuário atualizada com sucesso.
       flash update success confirm needed: Informação de usuário atualizada com sucesso. Verifique sua caixa de entrada do email para confirmar seu novo endereço.
       home location: "Localização:"
+      image: "Imagem:"
+      image size hint: (imagens quadradas, com pelo menos 100x100, funcionam melhor)
+      keep image: Mantenha a imagem atual
       latitude: "Latitude:"
       longitude: "Longitude:"
       make edits public button: Tornar todas as minhas edições públicas
       my settings: Minhas configurações
       new email address: "Novo endereço de e-mail:"
+      new image: Adicionar uma imagem
       no home location: Você ainda não entrou a sua localização.
       preferred languages: "Preferência de Idioma:"
       profile description: "Descrição do Perfil:"
@@ -1375,6 +1396,7 @@ pt-BR:
       public editing note: 
         heading: Edição pública
         text: Atualmente suas edições são anônimas e ninguém pode lhe enviar mensagens ou saber sua localização. Para mostrar o que você editou e permitir que pessoas entrem em contato através do website, clique no botão abaixo. <b>Desde as mudanças na API 0.6, apenas usuários públicos podem editar o mapa</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">Veja por quê</a>).<ul><li>O seu endereço de e-mail não será revelado para o público.</li><li>Esta ação não pode ser desfeita e todos os novos usuários são agora públicos por padrão.</li></ul>
+      replace image: Substitua a imagem atual
       return to profile: Retornar para o perfil
       save changes button: Salvar Mudanças
       title: Editar conta
@@ -1393,9 +1415,6 @@ pt-BR:
       success: Confirmamos seu endereço de email. Obrigado por se cadastrar!
     filter: 
       not_an_administrator: Você precisa ser um administrador para executar essa ação.
-    friend_map: 
-      nearby mapper: "Mapeador próximo: [[nearby_user]]"
-      your location: Sua localização
     go_public: 
       flash success: Todas as suas edições agora são públicas, e você está com permissão para edição.
     login: 
@@ -1408,7 +1427,12 @@ pt-BR:
       lost password link: Esqueceu sua senha?
       password: "Senha:"
       please login: Por favor entre as informações de sua conta para entrar, ou {{create_user_link}}.
+      remember: Lembrar neste computador
       title: Entrar
+    logout: 
+      heading: Sair do OpenStreetMap
+      logout_button: Sair
+      title: Sair
     lost_password: 
       email address: "Endereço de Email:"
       heading: Esqueceu sua senha?
@@ -1441,6 +1465,10 @@ pt-BR:
       body: Desculpe, não há nenhum usuário com o nome {{user}}. Por favor verifique se você digitou corretamente, ou talvez o link que você tenha clicado esteja errado.
       heading: O usuário {{user}} não existe
       title: Usuário não existe
+    popup: 
+      friend: Amigo
+      nearby mapper: Mapeador próximo
+      your location: Sua localização
     remove_friend: 
       not_a_friend: "{{name}} não é um de seus amigos."
       success: "{{name}} foi removido de seus amigos."
@@ -1457,17 +1485,14 @@ pt-BR:
     view: 
       activate_user: ativar este usuário
       add as friend: adicionar como amigos
-      add image: Adicionar Imagem
       ago: ({{time_in_words_ago}} atrás)
       block_history: ver bloqueios recebidos
       blocks by me: bloqueios em mim
       blocks on me: bloqueios sobre mim
-      change your settings: mudar suas configurações
       confirm: Confirmar
       create_block: bloquear este usuário
       created from: "Criado de:"
       deactivate_user: desativar este usuário
-      delete image: Apagar Imagem
       delete_user: excluir este usuário
       description: Descrição
       diary: diário
@@ -1483,12 +1508,11 @@ pt-BR:
       my edits: minhas edições
       my settings: minhas configurações
       my traces: minhas trilhas
-      my_oauth_details: Ver meus detalhes OAuth
-      nearby users: "Usuários próximos:"
+      nearby users: Outros usuários próximos
       new diary entry: nova entrada de diário
       no friends: Você ainda não adicionou amigos.
-      no home location: Nenhuma localização foi definida.
-      no nearby users: Não existem usuários mapeando por perto.
+      no nearby users: Ainda não há outros usuários mapeando por perto.
+      oauth settings: configurações do oauth
       remove as friend: remover da lista de amigos
       role: 
         administrator: Este usuário é um administrador
@@ -1503,8 +1527,6 @@ pt-BR:
       settings_link_text: configurações
       traces: trilhas
       unhide_user: mostrar esse usuário
-      upload an image: Enviar uma Imagem
-      user image heading: Imagem do usuário
       user location: Local do usuário
       your friends: Seus amigos
   user_block: 
index 4ac591b2f9c90a4fbe962ce6f28d8e14b095ebf7..1d426764632f5db61f80eb2f21fef5b2df293acc 100644 (file)
@@ -98,6 +98,13 @@ pt:
       view_details: ver detalhes
       way_history: Histórico do Trajeto
       way_history_title: "Histórico do Trajeto: {{way_name}}"
+  geocoder: 
+    search_osm_nominatim: 
+      prefix: 
+        historic: 
+          ruins: Ruínas
+        railway: 
+          funicular: Funicular
   notifier: 
     email_confirm_plain: 
       greeting: Olá,
@@ -130,6 +137,8 @@ pt:
       more: mais
       pending: PENDENTE
       view_map: Ver Mapa
+    trace_form: 
+      help: Ajuda
     view: 
       edit: editar
       map: mapa
index 965d5351cc2be5898c53651c8e142fe37b0356cb..12f1956dfc1a4d875a80525b10184b44553874dc 100644 (file)
@@ -210,6 +210,8 @@ ro:
       show_area_box: afișează chenarul zonei
       still_editing: (încă se editează)
       view_changeset_details: Vizualizare detalii set de schimbări
+    changeset_paging_nav: 
+      showing_page: Se afișează pagina
     changesets: 
       area: Zonă
       comment: Comentariu
@@ -220,10 +222,6 @@ ro:
   geocoder: 
     search_osm_namefinder: 
       prefix: "{{type}}"
-  map: 
-    coordinates: "Coordonate:"
-    edit: Editare
-    view: Vizualizare
   message: 
     delete: 
       deleted: Mesaj şters
index 0d2302db6182c6acf98deb26876f0a9d2453cad6..a0b58bdcd63c831783c8a2a107d51f2049e342b8 100644 (file)
@@ -322,6 +322,10 @@ ru:
       recent_entries: "Недавние записи:"
       title: Дневники
       user_title: Дневник пользователя {{user}}
+    location: 
+      edit: Правка
+      location: "Положение:"
+      view: Вид
     new: 
       title: Сделать новую запись в дневнике
     no_such_entry: 
@@ -361,6 +365,9 @@ ru:
       output: Результат
       paste_html: HTML-код для встраивания на сайт
       scale: Масштаб
+      too_large: 
+        body: Эта область слишком велика, для экспорта в качестве XML данных OpenStreetMap. Пожалуйста, увеличьте масштаб или выберите меньший размер.
+        heading: Область слишком большая
       zoom: Приблизить
     start_rjs: 
       add_marker: Добавить маркер на карту
@@ -856,22 +863,24 @@ ru:
       overlays: 
         maplint: Maplint
     site: 
+      edit_disabled_tooltip: Увеличить масштаб для редактирования карты
+      edit_tooltip: Править карту
       edit_zoom_alert: Необходимо увеличить масштаб карты, если вы хотите ее править.
+      history_disabled_tooltip: Увеличить масштаб для просмотра правок в этой области
+      history_tooltip: Просмотр правок в этой области
       history_zoom_alert: Необходимо увеличить масштаб карты, чтобы увидеть историю правок
   layouts: 
     donate: Поддержите OpenStreetMap {{link}} в Фонд обновления оборудования.
     donate_link_text: пожертвованиями
     edit: Правка
-    edit_tooltip: Редактировать карты
     export: Экспорт
     export_tooltip: Экспортировать данные карты
     gps_traces: GPS-треки
-    gps_traces_tooltip: Работать с треками
+    gps_traces_tooltip: Работать с GPS треками
     help_wiki: Справка и вики
     help_wiki_tooltip: Справка и вики-сайт проекта
     help_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Main_Page?uselang=ru
     history: История
-    history_tooltip: История пакета правок
     home: домой
     home_tooltip: Показать мой дом
     inbox: входящие ({{count}})
@@ -908,13 +917,9 @@ ru:
     user_diaries: Дневники
     user_diaries_tooltip: Посмотреть дневники
     view: Карта
-    view_tooltip: Ð\9fоÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c ÐºÐ°Ñ\80Ñ\82Ñ\8b
+    view_tooltip: Ð\9fоÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c ÐºÐ°Ñ\80Ñ\82Ñ\83
     welcome_user: Добро пожаловать, {{user_link}}
     welcome_user_link_tooltip: Ваша страница пользователя
-  map: 
-    coordinates: "Координаты:"
-    edit: Правка
-    view: Карта
   message: 
     delete: 
       deleted: Сообщение удалено
@@ -945,10 +950,14 @@ ru:
       send_message_to: Отправить новое сообщение для {{name}}
       subject: "Тема:"
       title: Отправить сообщение
+    no_such_message: 
+      body: "\nИзвините, но сообщения с таким ID нет."
+      heading: "\nНет такого сообщения"
+      title: "\nНет такого сообщения"
     no_such_user: 
-      body: Ð\9a Ñ\81ожалениÑ\8e, Ð½Ðµ Ñ\83далоÑ\81Ñ\8c Ð½Ð°Ð¹Ñ\82и Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f Ð¸Ð»Ð¸ Ñ\81ообÑ\89ение Ñ\81 Ñ\82аким Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ð¸Ð»Ð¸ Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80ом
-      heading: Нет такого пользователя/сообщения
-      title: Нет такого пользователя/сообщения
+      body: Ð\98звиниÑ\82е, Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f Ñ\81 Ñ\82аким Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ð½ÐµÑ\82.
+      heading: Нет такого пользователя
+      title: Нет такого пользователя
     outbox: 
       date: Дата
       inbox: входящие
@@ -972,6 +981,9 @@ ru:
       title: Просмотр сообщения
       to: "Кому:"
       unread_button: Пометить как непрочитанное
+      wrong_user: "\nВы вошли как пользователь `{{user}}' но сообщение, которое вы хотите прочитать, отправлено не этим или не этому пользователю. Пожалуйста, войдите как правильный пользователь, чтобы прочитать его."
+    reply: 
+      wrong_user: "\nВы вошли как `{{user}}' но ответ на ваш вопрос был отправлен не этому пользователю. Пожалуйста, войдите как соответствующий вашему вопросу пользователь, чтобы прочитать ответ."
     sent_message_summary: 
       delete_button: Удалить
   notifier: 
@@ -992,8 +1004,9 @@ ru:
       hopefully_you_1: Кто-то (надеемся, что вы) хочет изменить свой адрес электронной почты в
       hopefully_you_2: "{{server_url}} на адрес: {{new_address}}."
     friend_notification: 
+      befriend_them: Вы также можете добавить их в качестве друзей в {{befriendurl}}.
       had_added_you: "{{user}} добавил вас в друзья на OpenStreetMap."
-      see_their_profile: "Ð\92Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ñ\80оÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8e Ð¾ Ð½ÐµÐ¼ Ð¿Ð¾ Ñ\81Ñ\81Ñ\8bлке: {{userurl}} Ð¸ Ñ\82оже Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ\82Ñ\8c ÐµÐ³Ð¾ Ð² Ð´Ñ\80Ñ\83зÑ\8cÑ\8f."
+      see_their_profile: "Ð\92Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ñ\80оÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8e Ð¾ Ð½Ð¸Ñ\85 Ð¿Ð¾ Ñ\81Ñ\81Ñ\8bлке: {{userurl}}."
       subject: "[OpenStreetMap] {{user}} добавил вас в список своих друзей"
     gpx_notification: 
       and_no_tags: и без меток.
@@ -1222,6 +1235,9 @@ ru:
     sidebar: 
       close: Закрыть
       search_results: Результаты поиска
+  time: 
+    formats: 
+      friendly: "%e %B %Y в %H:%M"
   trace: 
     create: 
       trace_uploaded: Ваш файл GPX был передан на сервер и сейчас вносится в базу данных. Обычно это занимает от минуты до получаса. По завершении вам будет прислано уведомление на электронную почту.
@@ -1327,15 +1343,20 @@ ru:
   user: 
     account: 
       current email address: "Текущий адрес эл. почты:"
+      delete image: Удалить текущее изображение
       email never displayed publicly: (не будет показан)
       flash update success: Информация о пользователе успешно обновлена.
       flash update success confirm needed: Информация о пользователе успешно обновлена. Проверьте свою электронную почту, чтобы подтвердить ваш новый адрес.
       home location: "Основное местоположение:"
+      image: "Изображение:"
+      image size hint: (квадратные изображения, по крайней мере 100x100 работают лучше)
+      keep image: Хранить текущее изображение
       latitude: "Широта:"
       longitude: "Долгота:"
       make edits public button: Сделать все мои правки доступными
       my settings: Мои настройки
       new email address: "Новый адрес эл. почты:"
+      new image: Добавить изображение
       no home location: Вы не обозначили свое основное местоположение.
       preferred languages: "Предпочитаемые языки:"
       profile description: "Описание профиля:"
@@ -1349,6 +1370,7 @@ ru:
       public editing note: 
         heading: Общедоступная правка
         text: В настоящий момент ваши правки анонимны и никто не может отправлять вам сообщения или видеть ваше местоположение. Чтобы указать авторство своих правок и позволить другим связываться с вами через вебсайт, нажмите на кнопку внизу. <b>После перехода на API  версии 0.6, только доступные для связи пользователи могут править данные карты</b>. (<a href="http://wiki.openstreetmap.org/wiki/RU:Anonymous_edits">узнайте, почему</a>).<ul> <li>Ваш адрес электронной почты не будет раскрыт для других, но связаться с вами будет возможно.</li> <li>Это действие не имеет обратной силы, а все новые пользователи теперь доступны для связи по умолчанию.</li> </ul>
+      replace image: Заменить текущее изображение
       return to profile: Возврат к профилю
       save changes button: Сохранить изменения
       title: Изменение учётной записи
@@ -1367,9 +1389,6 @@ ru:
       success: Ваш адрес электронной почты подтверждён, спасибо за регистрацию!
     filter: 
       not_an_administrator: Только администратор может выполнить это действие.
-    friend_map: 
-      nearby mapper: "Ближайший пользователь: [[nearby_user]]"
-      your location: Ваше местоположение
     go_public: 
       flash success: Все ваши правки теперь общедоступны, и вы теперь можете редактировать.
     login: 
@@ -1382,7 +1401,12 @@ ru:
       lost password link: Забыли пароль?
       password: "Пароль:"
       please login: Пожалуйста, представьтесь или {{create_user_link}}.
+      remember: "\nЗапомнить меня:"
       title: Представьтесь
+    logout: 
+      heading: Выйти из OpenStreetMap
+      logout_button: Выйти
+      title: Выйти
     lost_password: 
       email address: "Аадрес эл. почты:"
       heading: Забыли пароль?
@@ -1415,6 +1439,10 @@ ru:
       body: Извините, нет пользователя с именем {{user}}. Пожалуйста, проверьте правильность ввода. Возможно, вы перешли по ошибочной ссылке.
       heading: Пользователя {{user}} не существует
       title: Нет такого пользователя
+    popup: 
+      friend: Друг
+      nearby mapper: Ближайший пользователь
+      your location: Ваше местоположение
     remove_friend: 
       not_a_friend: "{{name}} не является вашим другом."
       success: "{{name}} удалён из вашего списка друзей."
@@ -1431,17 +1459,14 @@ ru:
     view: 
       activate_user: активировать этого пользователя
       add as friend: добавить в друзья
-      add image: Загрузить
       ago: ({{time_in_words_ago}} назад)
       block_history: полученные блокировки
       blocks by me: наложенные мною блокировки
       blocks on me: мои блокировки
-      change your settings: изменить настройки
       confirm: Подтвердить
       create_block: блокировать пользователя
       created from: "Создано из:"
       deactivate_user: деактивировать этого пользователя
-      delete image: Удалить аватар
       delete_user: удалить этого пользователя
       description: Описание
       diary: дневник
@@ -1457,12 +1482,11 @@ ru:
       my edits: мои правки
       my settings: мои настройки
       my traces: мои треки
-      my_oauth_details: Просмотр подробностей OAuth
-      nearby users: "Ближайшие пользователи:"
+      nearby users: Другие ближайшие пользователи
       new diary entry: новая запись
       no friends: Вы не добавили ещё ни одного друга.
-      no home location: Местонахождение не было указано.
-      no nearby users: Поблизости пока нет пользователей, занимающихся составлением карты.
+      no nearby users: Пока нет других пользователей, признающих, что занимающихся составлением карты поблизости.
+      oauth settings: "\nнастройки OAuth"
       remove as friend: удалить из друзей
       role: 
         administrator: Этот пользователь является администратором
@@ -1477,8 +1501,6 @@ ru:
       settings_link_text: настройки
       traces: треки
       unhide_user: отобразить этого пользователя
-      upload an image: Передать аватар на сервер
-      user image heading: Аватар
       user location: Местонахождение пользователя
       your friends: Ваши друзья
   user_block: 
index 32e3043428cc5cca5f5f80ba1c223c2ebc0150c1..11a55805fc11029078deef3c04b1839ebd787564 100644 (file)
@@ -20,6 +20,7 @@ sk:
         user: Užívateľ
       message: 
         body: Telo
+        recipient: Príjemca
         sender: Odosielateľ
       trace: 
         description: Popis
@@ -33,23 +34,44 @@ sk:
       user: 
         active: Aktívny
         description: Popis
+        display_name: Zobrazované meno
         email: E-mail
         languages: Jazyky
         pass_crypt: Heslo
     models: 
+      changeset: Súbor zmien
       country: Krajina
+      diary_comment: Poznámka v denníku
+      diary_entry: Položka denníka
       friend: Priateľ
       language: Jazyk
       message: Správa
-      node: Uzol
-      node_tag: Tag uzlu
-      old_node: Starý uzol
+      node: Bod
+      node_tag: Tag bodu
+      old_node: Starý bod
+      old_node_tag: Stará značka bodu
+      old_relation: Stará relácia
       old_relation_member: Starý člen relácie
-      old_way_node: Starý uzol cesty
+      old_relation_tag: Stará značka relácie
+      old_way: Stará cesta
+      old_way_node: Starý bod cesty
+      old_way_tag: Stará značka cesty
+      relation: Relácia
+      relation_member: Člen relácie
+      relation_tag: Značka relácie
       session: Relácia
+      trace: Stopa
+      tracepoint: Bod stopy
+      tracetag: Značka stopy
       user: Užívateľ
+      user_preference: Osobné nastavenia
       way: Cesta
-      way_node: Uzol cesty
+      way_node: Bod cesty
+  application: 
+    require_cookies: 
+      cookies_needed: Vyzerá to tak, že máte zakázané cookies – prosím povoľte cookies vo vašom prehliadači a až potom pokračujte.
+    setup_user_auth: 
+      blocked: Váš prístup do API bol zablokovaný. Prosím prihláste sa na webové rozhranie pre zistenie viac informácií.
   browse: 
     changeset: 
       changeset: "Súbor zmien:  {{id}}"
@@ -106,8 +128,8 @@ sk:
       download: "{{download_xml_link}}, {{view_history_link}} alebo {{edit_link}}"
       download_xml: Stiahnuť XML
       edit: upraviť
-      node: Uzol
-      node_title: "Uzol: {{node_name}}"
+      node: Bod
+      node_title: "Bod: {{node_name}}"
       view_history: zobraziť históriu
     node_details: 
       coordinates: "Súradnice:"
@@ -115,19 +137,19 @@ sk:
     node_history: 
       download: "{{download_xml_link}} alebo {{view_details_link}}"
       download_xml: Stiahnuť XML
-      node_history: História Uzla
-      node_history_title: "História Uzla: {{node_name}}"
+      node_history: História bodu
+      node_history_title: "História bodu: {{node_name}}"
       view_details: zobraziť detaily
     not_found: 
       sorry: Prepáčte, {{type}} s id {{id}} nebolo možné nájsť.
       type: 
         changeset: počet zmien
-        node: uzol
+        node: bod
         relation: relácia
         way: cesta
     paging_nav: 
       of: z
-      showing_page: Zobrazovanie stránky
+      showing_page: Strana
     relation: 
       download: "{{download_xml_link}} alebo {{view_history_link}}"
       download_xml: Stiahnuť XML
@@ -146,7 +168,7 @@ sk:
     relation_member: 
       entry_role: "{{type}} {{name}} ako {{role}}"
       type: 
-        node: Uzol
+        node: Bod
         relation: Relácia
         way: Cesta
     start: 
@@ -174,10 +196,10 @@ sk:
             way: Cesta [[id]]
         selected: 
           type: 
-            node: Uzol [[id]]
+            node: Bod [[id]]
             way: Cesta [[id]]
         type: 
-          node: Uzol
+          node: Bod
           way: Cesta
       private_user: anonymný používateľ
       show_history: Zobraziť Históriu
@@ -189,7 +211,10 @@ sk:
     timeout: 
       sorry: Prepáčte, ale načítanie dát {{type}} číslo {{id}} trvalo príliš dlho
       type: 
-        node: uzol
+        changeset: zmenový súbor
+        node: bod
+        relation: relácia
+        way: cesta
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} alebo {{edit_link}}"
       download_xml: Stiahnuť XML
@@ -201,7 +226,7 @@ sk:
       also_part_of: 
         one: tiež časťou cesty {{related_ways}}
         other: tiež časťou ciest {{related_ways}}
-      nodes: "Uzly:"
+      nodes: "Body:"
       part_of: "Časť z:"
     way_history: 
       download: "{{download_xml_link}} alebo {{view_details_link}}"
@@ -211,7 +236,13 @@ sk:
       way_history_title: "História Cesty: {{way_name}}"
   changeset: 
     changeset: 
+      anonymous: Anonym
+      big_area: (veľký)
+      no_comment: (žiadny)
+      no_edits: (bez úprav)
+      show_area_box: Zobraziť Rám Oblasti
       still_editing: (stále sa upravuje)
+      view_changeset_details: Zobraziť detaily zmenového súboru
     changeset_paging_nav: 
       next: Ďalšia &raquo;
       previous: "&laquo; Predošlá"
@@ -221,25 +252,88 @@ sk:
       comment: Komentár
       id: ID
       saved_at: Uložené
-      user: Používateľ
+      user: Užívateľ
     list: 
       description: Posledné zmeny
+      description_bbox: Zmenové súbory vo vnútri {{bbox}}
+      description_user: Zmenové súbory užívateľa {{user}}
+      description_user_bbox: Zmenové súbory užívateľa {{user}} v {{bbox}}
+      heading: Zmenové súbory
+      heading_bbox: Zmenové súbory
+      heading_user: Zmenové súbory
+      heading_user_bbox: Zmenové súbory
+      title: Zmenové súbory
+      title_bbox: Zmenové súbory vo vnútri {{bbox}}
+      title_user: Zmenové súbory užívateľa {{user}}
+      title_user_bbox: Zmenové súbory užívateľa {{user}} v {{bbox}}
   diary_entry: 
+    diary_comment: 
+      comment_from: Poznámka od {{link_user}} na {{comment_created_at}}
+      confirm: Potvrdiť
+      hide_link: Skryť túto poznámku
     diary_entry: 
       comment_count: 
         few: "{{count}} komentáre"
         one: 1 komentár
         other: "{{count}} komentárov"
+      comment_link: Komentár k záznamu
+      confirm: Potvrdiť
+      edit_link: Upraviť tento záznam
+      hide_link: Skryť tento záznam
+      posted_by: Odoslané od {{link_user}} pre {{created}} v {{language_link}}
+      reply_link: Odpovedať na tento záznam
     edit: 
+      body: "Telo:"
       language: "Jazyk:"
       latitude: "Zemepisná šírka:"
+      location: "Poloha:"
       longitude: "Zemepisná dĺžka:"
+      marker_text: Umiestnenie položky zápisníka
       save_button: Uložiť
       subject: "Predmet:"
+      title: Upraviť záznam denníka
       use_map_link: použiť mapu
+    feed: 
+      all: 
+        description: Nedávna položka zápisníka od užívateľov OpenStreetMap
+        title: OpenStreetMap položka zápisníka
+      language: 
+        description: Nedávna položka zápisníka od užívateľov OpenStreetMap v {{language_name}}
+        title: OpenStreetMap položka zápisníka v {{language_name}}
+      user: 
+        description: Nedávna OpenStreetMap položka zápisníka od {{user}}
+        title: OpenStreetMap položka zápisníka pre {{user}}
+    list: 
+      in_language_title: Záznamy denníka v {{language}}
+      new: Nový záznam denníka
+      new_title: Napísať nový záznam do svojho užívateľského denníka
+      newer_entries: Novšie Príspevky
+      no_entries: Žiadny záznam denníka
+      older_entries: Staršie záznamy
+      recent_entries: "Nedávne záznamy denníka:"
+      title: Užívateľské denníky
+      user_title: "{{user}}-ov denník"
+    location: 
+      edit: Editovať
+      location: "Poloha:"
+      view: Pohľad
+    new: 
+      title: Nový záznam denníka
+    no_such_entry: 
+      body: Prepáčte, nie je tam žiadna položka denníka, alebo poznámka s id {{id}}. Prosím skontrolujte váš text, alebo možno že odkaz na ktorý ste klikli je zlý.
+      heading: "Žiadny záznam s id: {{id}}"
+      title: Nieto takýto záznam denníka
+    no_such_user: 
+      body: Prepáčte, neexistuje užívateľ s menom {{user}}. Prosím skontrolujte váš text, alebo možno že odkaz na ktorý ste klikli je zlý.
+      heading: Užívateľ {{user}} neexistuje
+      title: Užívateľ neexistuje
     view: 
       leave_a_comment: Zanechať komentár
+      login: Prihlásiť sa
+      login_to_leave_a_comment: "{{login_link}} pre odchádzajúcu poznámku"
       save_button: Uložiť
+      title: "{{user}}-ov denník | {{title}}"
+      user_title: "{{user}} -ov denník"
   export: 
     start: 
       add_marker: Pridať marker na mapu
@@ -256,9 +350,14 @@ sk:
       mapnik_image: Zobrazenie Mapnik
       max: max
       options: Možnosti
+      osm_xml_data: OpenStreetMap XML Dáta
       osmarender_image: Zobrazenie Osmarender
       output: Výstup
       scale: Mierka
+      too_large: 
+        body: Táto oblasť je príliš veľká pre export OpenStreetMap dát. Prosím priblížte, alebo vyberte menšiu oblasť.
+        heading: Príliš veľká oblasť
+      zoom: Zväčšenie
     start_rjs: 
       add_marker: Pridať marker na mapu
       change_marker: Zmena polohy markera
@@ -269,6 +368,10 @@ sk:
       view_larger_map: Zobraziť väčšiu mapu
   geocoder: 
     description: 
+      title: 
+        geonames: Umiestnenie na <a href="http://www.geonames.org/">GeoNames</a>
+        osm_namefinder: "{{types}} z <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
+        osm_nominatim: Umiestnenie z <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
       types: 
         cities: Veľkomestá
         places: Miesta
@@ -295,8 +398,14 @@ sk:
       title: 
         ca_postcode: Výsledky z <a href="http://geocoder.ca/">Geocoder.CA</a>
         geonames: Výsledky z <a href="http://www.geonames.org/">GeoNames</a>
+        latlon: Výsledok z <a href="http://openstreetmap.org/">Internal</a>
         osm_namefinder: Výsledky z <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>
+        osm_nominatim: Výsledok z <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
+        uk_postcode: Výsledok z <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
         us_postcode: Výsledky z <a href="http://geocoder.us/">Geocoder.us</a>
+    search_osm_namefinder: 
+      suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} of {{parentname}})"
+      suffix_place: ", {{distance}} {{direction}} of {{placename}}"
     search_osm_nominatim: 
       prefix: 
         amenity: 
@@ -309,9 +418,11 @@ sk:
           bicycle_parking: Parkovisko bicyklov
           bicycle_rental: Požičovňa bicyklov
           brothel: Nevestinec
+          bureau_de_change: Zmenáreň
           bus_station: Autobusová stanica
           cafe: Kaviareň
           car_rental: Požičovňa áut
+          car_sharing: Autopožičovňa
           car_wash: Autoumývareň
           casino: Kasíno
           cinema: Kino
@@ -342,11 +453,13 @@ sk:
           ice_cream: Zmrzlina
           kindergarten: Materská škola
           library: Knižnica
+          market: Obchod
           marketplace: Tržnica
           mountain_rescue: Horská služba
           nightclub: 'Nočný klub'
           nursery: Jasle
           nursing_home: Sanatórium
+          office: Úrad
           park: Park
           parking: Parkovisko
           pharmacy: lekáreň
@@ -358,6 +471,7 @@ sk:
           prison: Väzenie
           pub: Krčma
           public_building: Verejná budova
+          recycling: Recyklačké miesto
           restaurant: Reštaurácia
           retirement_home: Domov dôchodcov
           sauna: Sauna
@@ -372,6 +486,7 @@ sk:
           theatre: Divadlo
           toilets: WC
           townhall: Radnica
+          university: Univerzita
           vending_machine: Predajný automat
           veterinary: Veterinárna ordinácia
           waste_basket: Odpadkový kôš
@@ -385,15 +500,21 @@ sk:
           chapel: Kaplnka
           church: Kostol,cirkev
           city_hall: Radnica,magistrát
+          commercial: Komerčné budovy
           dormitory: Študentský domov
+          faculty: Budovy fakulty
           farm: Hospodárska budova
           flats: Byty
           garage: Garáž
           hall: Sála
+          hospital: Nemocničné budovy
           hotel: Hotel
           house: Dom
+          industrial: Priemyselné budovy
           office: Administratívna budova
           public: Verejná budova
+          residential: Obytné budovy
+          retail: Maloobchodné budovy
           school: Škola
           shop: Obchod
           stadium: Štadión
@@ -401,31 +522,43 @@ sk:
           terrace: Radová zástavba
           tower: Veža
           train_station: Železničná stanica
+          university: Univerzitné budovy
           "yes": Budova
         highway: 
           bridleway: Cesta pre kone
           bus_guideway: Bus so sprievodcom
           bus_stop: Zastávka autobusu
+          byway: Byway (súkromná cesta)
+          construction: Cesta vo výstavbe
           cycleway: Cyklistický chodník
+          distance_marker: Distance Marker (kilometrovník)
           emergency_access_point: Stanica prvej pomoci
           footway: Chodník
           ford: Brod
           gate: Brána
+          living_street: Obytná zóna
           minor: Vedľajšia cesta
           motorway: Diaľnica
+          motorway_junction: Motorway Junction (Diaľničná križovatka)
           motorway_link: Diaľnica
+          path: Cesta
           pedestrian: Chodník pre chodcov
+          platform: Nástupište
           primary: Cesta I. triedy
           primary_link: Cesta I. triedy
+          residential: Residential(Obytný)
           road: Cesta
           secondary: Cesta II. triedy
           secondary_link: Cesta II. triedy
+          service: Service Road (prístupová komunikácia)
           steps: Schody
+          stile: Schodíky cez ohradu
           tertiary: Cesta III. triedy
           track: Nespevnené cesty
           trunk: Cesta pre motorové vozidlá
           trunk_link: Cesta pre motorové vozidlá
           unclassified: Neklasifikovaná cesta
+          unsurfaced: Nespevnená cesta
         historic: 
           archaeological_site: Archeologické nálezisko
           battlefield: Bojisko
@@ -445,8 +578,11 @@ sk:
           wayside_shrine: Malá kaplnka pri ceste
           wreck: Zrúcanina
         landuse: 
+          allotments: Záhradkárske osady
+          basin: Basin (Vodná nádrž)
           cemetery: Cintorín
           commercial: Obchodná štvrť
+          construction: Stavba
           farm: Farma
           farmyard: Dvor
           forest: Les
@@ -460,8 +596,11 @@ sk:
           nature_reserve: Prírodná rezervácia
           park: Park
           piste: Zjazdovka
+          plaza: Námestie
           quarry: Lom
           railway: Železnica
+          residential: Residential Area (Obytná oblasť)
+          retail: Retail (Obchodná zóna)
           village_green: Verejná zeleň
           vineyard: Vinica
           wetland: Mokrina
@@ -494,6 +633,7 @@ sk:
           cliff: Útes, kamenná stena
           coastline: Pobrežie
           crater: Kráter
+          feature: Vlastnosť
           fell: Horská pastvina
           fjord: Fjord
           geyser: Gejzír
@@ -540,13 +680,16 @@ sk:
           region: Región
           sea: More
           state: Štát
+          subdivision: Pododdelenie
           suburb: Mestský obvod
           town: Mesto 10 tis.-100 tis.
           unincorporated_area: Nezaradená oblasť
           village: Obec 200-10 tis.
         railway: 
           abandoned: Opustená železnica
+          construction: Železnica vo výstavbe
           disused: Nepoužívaná železnica
+          disused_station: Nepoužívaná železničná stanica
           funicular: Lanová dráha
           halt: Zastávka vlaku
           historic_station: Zastávka historickej železnice
@@ -555,14 +698,18 @@ sk:
           light_rail: Ľahká železnica
           monorail: Jednokoľajka
           narrow_gauge: Úzkokoľajná železnica
+          platform: Železničné nástupište
+          preserved: Historická železnica
           spur: Železničná vlečka
           station: Železničná stanica
           subway: Stanica metra
           subway_entrance: Vchod do metra
+          switch: Železničná výhybka
           tram: Električka
           tram_stop: Zastávka električky
           yard: Železničné depo
         shop: 
+          alcohol: Mimo povolenia
           apparel: Odevy
           art: Obchod s umením
           bakery: Pekáreň
@@ -571,9 +718,12 @@ sk:
           bicycle: Obchod s bicylkami
           books: Kníhkupectvo
           butcher: Mäsiarstvo
+          car_dealer: Obchod s autami
           car_parts: Mototechna
           car_repair: Autoservis
+          carpet: Obchod s kobercami
           charity: Charitatívny obchod
+          chemist: Lekáreň
           clothes: Obchod s konfekciou
           computer: Obchod s počítačmi
           confectionery: Cukráreň
@@ -583,9 +733,11 @@ sk:
           dry_cleaning: Chemická čistiareň
           electronics: Elektro
           estate_agent: Realitná kancelária
+          farm: Poľnonákup
           fish: Obchod s rybami
           florist: Kvetinárstvo
           food: Obchod s potravinami
+          funeral_directors: Pohrebníctvo
           furniture: Nábytok
           gallery: Galéria
           garden_centre: Záhradnícke centrum
@@ -595,20 +747,29 @@ sk:
           grocery: Potraviny
           hairdresser: Kaderníctvo,holičstvo
           hardware: Železiarstvo
+          hifi: Hi-Fi
           insurance: Poisťovňa
           jewelry: Zlatníctvo
+          kiosk: Novinový stánok
           laundry: Práčovňa
           mall: Pešia zóna
+          mobile_phone: Obchod s mobilnými telefónmi
+          motorcycle: Motocyklový obchod
           music: Hudobniny
+          optician: Očná optika
           organic: Obchod so zdravou výživou
+          outdoor: Turistický obchod
           pet: Chovprodukt
+          photo: Fotokino
           salon: Salón
           shoes: Obuva
+          shopping_centre: Nákupné stredisko
           sports: Športový obchod
           stationery: Papierníctvo
           supermarket: Supermarket
           toys: Hračkárstvo
           travel_agency: Cestovná kancelária
+          wine: Mimo povolenia
         tourism: 
           alpine_hut: Vysokohorská chata
           artwork: Umelecké dielo
@@ -634,12 +795,16 @@ sk:
           boatyard: Lodenica
           canal: Kanál
           dam: Priehrada,hrádza
+          derelict_canal: Opustený kanál
           ditch: Priekopa
           dock: Dok
           drain: Odvodňovací kanál
+          lock: Plavebná komora
+          lock_gate: Brána plavebnej komory
           mineral_spring: Minerálny prameň
           mooring: Kotvisko
           river: Rieka
+          riverbank: Breh rieky
           stream: Potok
           wadi: Občasné riečisko(Vádí)
           water_point: Vodný bod
@@ -649,44 +814,73 @@ sk:
     map: 
       base: 
         cycle_map: Cyklomapa
+        noname: Bez mena
+    site: 
+      edit_disabled_tooltip: Priblížiť na editovateľnú mapu
+      edit_tooltip: Upraviť mapu
+      edit_zoom_alert: Musíte sa priblížiť na úpravu mapy
+      history_disabled_tooltip: Priblížiť na zobrazenie úprav pre túto oblasť
+      history_tooltip: Zobraziť úpravy pre túto oblasť
+      history_zoom_alert: Musíte priblížiť na zobrazenie úprav pre túto oblasť
   layouts: 
+    donate_link_text: darovanie
     edit: Upraviť
-    edit_tooltip: Upravovať mapy
     export: Export
     export_tooltip: Export mapových dát
+    gps_traces: GPS Stopy
+    gps_traces_tooltip: Správa GPS stopy
     help_wiki: Pomocník &amp; Wiki
+    help_wiki_tooltip: Help &amp; Wiki stránka projektu
     history: História
     home: domov
+    home_tooltip: Choďte na domácu polohu
     inbox: správy ({{count}})
     inbox_tooltip: 
       few: V schránke máte {{count}} neprečítané správy
       one: V schránke máte 1 neprečítanú správu
       other: V schránke máte {{count}} neprečítaných správ
       zero: Nemáte žiadne neprečítané správy
+    intro_1: OpenStreetMap je volne editovateľná mapa celého sveta. Tvoria ju ľudia ako vy.
+    intro_2: OpenStreetMap vám dovolí prezerať, upravovať a používať zemepisné dáta vďaka spolupráci kdekoľvek na Zemi.
+    intro_3_partners: wiki
+    license: 
+      title: OpenStreetMap dáta sú licencované pod the Creative Commons Attribution-Share Alike 2.0 Generic License
     log_in: prihlásiť sa
+    log_in_tooltip: Prihlásenie s existujúcim účtom
     logo: 
       alt_text: Logo OpenStreetMap
     logout: odhlásiť
     logout_tooltip: Odhlásiť
-    news_blog: Novinkový blog
+    make_a_donation: 
+      text: Darovanie
+      title: Podpora OpenStreetMap s finančnou podporou
+    news_blog: Novinky blog
+    news_blog_tooltip: Spravodajský blog o OpenStreetMap, voľné zemepisné dáta, etc.
+    osm_offline: OpenStreetMap databáza je teraz offline, zatiaľ čo potrebná údržba databázy naďalej prebieha.
+    osm_read_only: OpenStreetMap databáza je teraz len v móde čítania (bez možnosti zapisovania), zatiaľ čo potrebná údržba databázy naďalej prebieha.
     shop: Obchod
+    shop_tooltip: Obchod so značkovým OpenStreetMap tovarom
     sign_up: zaregistrovať sa
     sign_up_tooltip: Vytvorte si účet pre úpravy
+    tag_line: Voľná Wiki Mapa sveta
+    user_diaries: Denník užívateľa
+    user_diaries_tooltip: Zobraziť denníky užívateľa
     view: Zobraziť
-    view_tooltip: Zobraziť mapy
+    view_tooltip: Zobraziť mapu
     welcome_user: Vitajte, {{user_link}}
     welcome_user_link_tooltip: Vaša užívateľská stránka
-  map: 
-    coordinates: "Koordináty:"
-    edit: Upraviť
-    view: Zobraziť
   message: 
     delete: 
       deleted: Správa vymazaná
     inbox: 
       date: Dátum
       from: Od
+      my_inbox: Moja schránka došlej pošty
+      no_messages_yet: Nemáte žiadne správy. Prečo ste sa nespojili s niekým z {{people_mapping_nearby_link}}?
+      outbox: odoslaná pošta
+      people_mapping_nearby: blízko mapujúci ľudia
       subject: Predmet
+      title: Prichádzajúca pošta
       you_have: Máte {{new_count}} nových a {{old_count}} starých správ
     mark: 
       as_read: Správa označená ako prečítaná
@@ -698,54 +892,204 @@ sk:
       unread_button: Označiť ako neprečítané
     new: 
       back_to_inbox: Späť do prijatých správ
+      body: Telo
       message_sent: Správa odoslaná
       send_button: Odoslať
       send_message_to: Poslať novú správu užívateľovi {{name}}
       subject: Predmet
       title: Odoslať správu
+    no_such_message: 
+      body: Prepáčte, neexistuje správa s takým id.
+      heading: Zadaná správa neexistuje
+      title: Zadaná správa neexistuje
+    no_such_user: 
+      body: Prepáčte, neexistuje žiaden užívateľ s týmto menom.
+      heading: Taký užívateľ nie je
+      title: Taký užívateľ nie je
     outbox: 
       date: Dátum
+      inbox: prichádzajúca pošta
+      my_inbox: Moja {{inbox_link}}
+      no_sent_messages: Nemáte odoslané správy. Prečo ste sa nespojili s niekým z {{people_mapping_nearby_link}}?
+      outbox: odoslaná pošta
+      people_mapping_nearby: blízko mapujúci ľudia
+      subject: Predmet
+      title: Odoslaná pošta
       to: Komu
       you_have_sent_messages: Máte {{count}} odoslaných správ
     read: 
+      back_to_inbox: Späť do prijatých správ
+      back_to_outbox: Späť do schránky odoslanej pošty
       date: Dátum
       from: Od
+      reading_your_messages: Načítavam vaše správy
+      reading_your_sent_messages: Čítanie vašich odoslaných správ
       reply_button: Odpovedať
       subject: Predmet
+      title: Čítať správu
       to: Komu
       unread_button: Označiť ako neprečítané
     sent_message_summary: 
       delete_button: Zmazať
   notifier: 
     diary_comment_notification: 
+      footer: Môžete si tiež prečítať komentár na {{readurl}} a môžete komentovať na {{commenturl}}, alebo odpoveď na {{replyurl}}
+      header: "{{from_user}} má poznámku na váš nedávny OpenStreetMap záznam v denníku s predmetom {{subject}}:"
       hi: Ahoj {{to_user}},
+      subject: "[OpenStreetMap] {{user}} komentovaj vo vašej položke denníka"
     email_confirm: 
       subject: "[OpenStreetMap] Potvrďte svoju e-mailovú adresu"
+    email_confirm_html: 
+      click_the_link: Ak ste to vy, kliknite prosím na nižšie uvedený odkaz pre potvrdenie zmeny.
+      greeting: Ahoj,
+      hopefully_you: Niekto (dúfajme, že vy) chcel zmeniť e-mailovú adresu  na {{server_url}} do {{new_address}}.
     email_confirm_plain: 
+      click_the_link: Ak je toto vaše, kliknite prosím na nižšie uvedený odkaz pre potvrdenie zmeny.
       greeting: Ahoj,
+      hopefully_you_1: Niekto (dúfajme, že vy) chce zmeniť svoju e-mailovú adresu, na viac ako
+      hopefully_you_2: "{{server_url}} do {{new_address}}."
+    friend_notification: 
+      befriend_them: Môžete ich tiež pridať ako priateľov na {{befriendurl}}.
+      had_added_you: "{{user}} vás pridal ako priateľa na OpenStreetMap."
+      see_their_profile: Môžete vidieť svoj profil na {{userurl}}.
+      subject: "[OpenStreetMap] {{user}} vás pridal ako priateľa"
     gpx_notification: 
+      and_no_tags: a žiadne značky.
+      and_the_tags: "a nasledujúce značky:"
+      failure: 
+        failed_to_import: "neúspešný import. Tu je chyba:"
+        more_info_1: Viac informácií o neúspešných importoch GPX  a ako sa im vyhnúť
+        more_info_2: "nemožno nájsť na adrese:"
+        subject: "[OpenStreetMap] GPX Import neúspešný"
       greeting: Ahoj,
+      success: 
+        subject: "[OpenStreetMap] GPX Import uspešný"
+      with_description: s popisom
+      your_gpx_file: Vyzerá to ako váš GPX súbor
+    lost_password: 
+      subject: "[OpenStreetMap] Žiadosť o reset hesla"
     lost_password_html: 
+      click_the_link: Ak ste to vy, kliknite prosím na nižšie uvedený odkaz pre obnovenie vášho hesla.
+      greeting: Ahoj,
+      hopefully_you: Niekto (možno vy) požiadal, o reset hesla na tejto emailovej adrese openstreetmap.org účtu.
+    lost_password_plain: 
+      click_the_link: Ak ste to vy, prosím kliknite na odkaz nižšie pre obnovenie svojho hesla.
       greeting: Ahoj,
+      hopefully_you_1: Niekto (dúfajme že vy) požiadal o obnovu hesla
+      hopefully_you_2: e-mailové adresy openstreetmap.org účtu.
     message_notification: 
+      footer1: Môžete si tiež prečítať správy na {{readurl}}
+      footer2: a môžete odpovedať na {{replyurl}}
+      header: "{{from_user}} vám zaslal správu cez OpenStreetMap s predmetom {{subject}}:"
       hi: Ahoj {{to_user}},
+      subject: "[OpenStreetMap] {{user}} pošleme vám novú správu"
+    signup_confirm: 
+      subject: "[OpenStreetMap] Potvrďte svoju e-mailovú adresu"
+    signup_confirm_html: 
+      click_the_link: Ak je to vám, vitajte! Prosím kliknite na odkaz nižšie pre potvrdenie vášho účtu a prečítajte si viac informácií o  OpenStreetMap
+      current_user: Zoznam aktuálnych užívateľov v kategóriách, založený na tom, kde sa nachádzate, je dostupný na <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
+      get_reading: Poďte čítať o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">na wiki</a>, dostanete posledné správy cez <a href="http://blog.openstreetmap.org/">OpenStreetMap blog</a> alebo <a href="http://twitter.com/openstreetmap">Twitter</a>, alebo prehliadať cez OpenStreetMap zakladateľa Steve Coast's <a href="http://www.opengeodata.org/">OpenGeoData blog</a> pre stručnú históriu projektu, ktorý má <a href="http://www.opengeodata.org/?cat=13">podcasts na počúvanie</a> tiež!
+      greeting: Ahoj tam!
+      hopefully_you: Niekto (dúfame že vy) chcel vytvoriť účet po dobu
+      introductory_video: Môžete sledovať {{introductory_video_link}}.
+      more_videos: Je tam {{more_videos_link}}.
+      more_videos_here: viac videí tu
+      user_wiki_page: Toto je doporučenie ak vytvárate užívateľskú stránku na wiki, ktorá obsahuje kategórie podľa toho kde sa nachádzate, také ako <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.
+      video_to_openstreetmap: úvodné video do OpenStreetMap
+      wiki_signup: Môžete tiež potrebovať <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">prihlásiť sa do OpenStreetMap wiki</a>.
+    signup_confirm_plain: 
+      blog_and_twitter: "Dosiahnite na posledné novinky cez OpenStreetMap blog alebo Twitter:"
+      click_the_link_1: Ak je to vám, vitajte! Prosím kliknite na odkaz nižšie pre potvrdenie vášho
+      current_user_1: Zoznam aktuálnych užívateľov v kategóriách, založené na tom, kde sa vo svete nachádzajú
+      current_user_2: "sú k dispozícii na:"
+      greeting: Ahoj!
+      hopefully_you: Niekto (dúfame že vy) chce vytvoriť účet po dobu
+      introductory_video: "Môžete sledovať úvodné video k OpenStreetMap tu:"
+      more_videos: "Existujú ďalšie videá tu:"
+      the_wiki: "Poďte čítať o OpenStreetMap na wiki:"
+      user_wiki_1: Odporúča sa, aby ste vytvorili užívateľskú wiki stránku, ktorá obsahuje
+      user_wiki_2: obsahuje kategórie podľa toho kde sa nachádzate, také ako [[Category:Users_in_London]].
+      wiki_signup: "Môžete tiež prihlásiť do wiki OpenStreetMap na adrese:"
+  oauth: 
+    oauthorize: 
+      allow_read_gpx: čítať vaše súkromné GPS stopy.
+      allow_read_prefs: čítať vaše osobné nastavenia.
+      allow_to: "Klientskej aplikácie umožnia, aby:"
+      allow_write_api: upravovať mapu.
+      allow_write_diary: vytvoriť položky denníka, poznámok a priateľov.
+      allow_write_gpx: nahrať GPS stopy.
+      allow_write_prefs: upraviť vaše osobné nastavenia.
+      request_access: Aplikácia {{app_name}} požaduje prístup na váš účet. Prosím skontrolujte či aplikácia má nasledujúcu schopnosť. Môžete si vybrať veľa alebo málo, ako sa vám páči.
   oauth_clients: 
+    create: 
+      flash: Uspešne registrované informácie
     edit: 
       submit: Upraviť
+      title: Upravte vašu žiadosť
+    form: 
+      allow_read_gpx: čítať svoje súkromné GPS stopy.
+      allow_read_prefs: čítať svoje užívateľské nastavenia.
+      allow_write_api: zmeniť mapu.
+      allow_write_diary: vytvoriť položky denníka, poznámky a vytvoriť priateľov.
+      allow_write_gpx: nahrať GPS stopy.
+      allow_write_prefs: upraviť svoje užívateľské nastavenia.
+      callback_url: Spätná URL
+      name: Meno
+      requests: "Žiadosť o nasledujúce povolenia od užívateľa:"
+      required: Požadované
+      support_url: Podpora URL
+      url: URL Hlavnej aplikácie
+    index: 
+      application: Meno žiadosti
+      issued_at: Vydané v
+      my_tokens: Moje povolené požiadavky
+      register_new: Zaregistrujte svoju požiadavku
+      revoke: Zrušiť!
+    new: 
+      submit: Registrovať
+      title: Zaregistrovať novú žiadosť
+    not_found: 
+      sorry: Je nám ľúto, že {{type}} nemožno nájsť.
     show: 
+      allow_read_gpx: čítať svoje súkromné GPS stopy.
+      allow_read_prefs: čítať svoje užívateľské nastavenia.
+      allow_write_api: zmeniť mapu.
+      allow_write_diary: vytvoriť položky denníka, poznámky a vytvoriť priateľov.
+      allow_write_gpx: nahrať GPS stopy.
+      allow_write_prefs: upraviť svoje užívateľské nastavenia.
       edit: Upraviť detaily
+      requests: "Žiadam nasledujúce povolenia od užívateľa:"
+      support_notice: Podporujeme HMAC-SHA1 (odporúča sa) rovnako ako obyčajný text v ssl móde.
+    update: 
+      flash: Úspešne aktualizované informácie o klientovi
   site: 
+    edit: 
+      anon_edits_link_text: Zistite, prečo tomu tak je.
+      flash_player_required: Potrebujete Flash player pre Potlatch, the OpenStreetMap Flash editor. Môžete <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">stiahnuť Flash Player z Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Niekoľko iných možností</a> sú tiež dostupné pre úpravu OpenStreetMap.
+      not_public: Nemáte nastavené úpravy na verejné.
+      not_public_description: Nemôžete naďalej upravovať mapy, iba ak urobíte takto.  Môžete si nastaviť vaše úpravy, ako verejné z vašej {{user_page}}.
+      potlatch_unsaved_changes: Nemáte uložené zmeny. (Pre uloženie v Potlatchu, mali by ste odznačiť aktuálnu cestu, alebo bod, ak upravujete v režime naživo, alebo kliknite uložiť ak máte tlačidlo uložiť.)
+      user_page_link: stránka užívateľa
     index: 
+      js_1: Používate prehliadač, ktorý  nepodporuje JavaScript, alebo máte vypnutý JavaScript.
+      js_2: OpenStreetMap využíva JavaScript pre slippy map.
+      js_3: Môžete skúsiť <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home static tile browser</a> ak sa vám nedarí povoliť JavaScript.
+      license: 
+        license_name: Creative Commons Attribution Share-Alike 2,0
+        notice: Licencovaný pod {{license_name}} s {{project_name}} a jej prispievatelia.
+        project_name: OpenStreetMap projekt
       permalink: Trvalý odkaz
       shortlink: Krátky odkaz
     key: 
       map_key: Legenda
       table: 
         entry: 
+          admin: Administratívne hranice
           apron: 
             1: terminál
           bridleway: Chodník pre kone
           building: Významná budova
+          byway: Súkromná cesta
           cable: 
             - Lanovka
             - sedačková lanovka
@@ -753,11 +1097,14 @@ sk:
           centre: Športové centrum
           commercial: Komerčná oblasť
           common: 
-            1: lúka
+            - Obecný
+            - lúka
+          construction: Cesta vo výstavbe
           cycleway: Cyklotrasa
           farm: Farma
           footway: Chodník pre peších
           forest: Les
+          golf: Golfové ihrisko
           heathland: Vresovisko
           industrial: Priemyselná oblasť
           lake: 
@@ -766,12 +1113,16 @@ sk:
           military: Vojenský priestor
           motorway: Diaľnica
           park: Park
+          permissive: Voľný prístup
           pitch: Športové ihrisko
           primary: Cesta prvej triedy
+          private: Súkromný prístup
           rail: Železnica
           reserve: Prírodná rezervácia
           resident: Obytná oblasť
           retail: Nákupná oblasť
+          runway: 
+            1: pojazdové dráhy
           school: 
             - Škola
             - univerzita
@@ -780,16 +1131,29 @@ sk:
           subway: Metro
           summit: 
             - Vrchol
+            - vrchol
           tourist: Turistická atrakcia
           track: Lesná, poľná cesta
           tram: 
-            1: električka
+            - Rýchloelektrička
+            - električka
+          trunk: Cesta pre motorové vozidlá
+          tunnel: Únikový kryt = tunel
+          unclassified: Neklasifikovaná cesta
+          unsurfaced: Nespevnená cesta
         heading: Legenda pre z{{zoom_level}}
     search: 
       search: Vyhľadať
+      search_help: "príklady: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ', alebo 'pošta blízko Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>more príklady...</a>"
+      submit_text: Vykonať
       where_am_i: Kde som?
+      where_am_i_title: Opis aktuálnej polohy pomocou vyhľadávača
     sidebar: 
       close: Zavrieť
+      search_results: Výsledky vyhľadávania
+  time: 
+    formats: 
+      friendly: "%e %B %Y at %H:%M"
   trace: 
     create: 
       trace_uploaded: Váš GPX súbor bol nahratý a je očakávané vloženie do databázy. To bude spravidla trvať polhodinu až hodinu, a budete vyrozumený mailom po uskutočnení.
@@ -806,8 +1170,9 @@ sk:
       owner: "Vlastník:"
       points: "Body:"
       save_button: Uložiť zmeny
-      start_coord: "Súradnice začiatku:"
+      start_coord: "Začiatočná súradnica:"
       tags: "Tagy:"
+      tags_help: oddelené čiarkou
       title: Úprava stopy {{name}}
       uploaded_at: "Nahrať na:"
       visibility: "Vidieľnosť:"
@@ -815,15 +1180,19 @@ sk:
     list: 
       public_traces: Verejné GPS stopy
       public_traces_from: Verejné GPS stopy od {{user}}
-      tagged_with: "  označený s {{tags}}"
+      tagged_with: označený s {{tags}}
       your_traces: Vaše GPS stopy
     make_public: 
-      made_public: Stopa urobená pre verejnosť
+      made_public: Zverejnená stopa
     no_such_user: 
-      body: Prepáčte, nie je tu užívateľ s menom {{user}}. Prosím skontrolujte váš pravopis, alebo možno odkaz na ktorý ste klikli je chybný.
+      body: Prepáčte, nie je tu užívateľ s menom {{user}}. Prosím skontrolujte váš text, alebo možno odkaz na ktorý ste klikli je chybný.
       heading: Užívateľ {{user}} neexistuje
+      title: Nie je taký užívateľ
     offline: 
+      heading: GPX úschovňa je Offline
       message: Ukladací priestor GPX súborov a nahrávací systém je teraz neprístupný.
+    offline_warning: 
+      message: Systém nahrávania GPX súborov je teraz neprístupný
     trace: 
       ago: pred {{time_in_words_ago}}
       by: od
@@ -855,6 +1224,10 @@ sk:
       traces_waiting: Máte {{count}} stopy čakajúce na nahratie. Prosím zvážte toto čakanie, dokedy neukončíte nahrávanie niečoho iného, pokiaľ  nie je blok v rade pre iných užívateľov.
     trace_optionals: 
       tags: Tagy
+    trace_paging_nav: 
+      next: Dopredu &raquo;
+      previous: "&laquo; Naspäť"
+      showing_page: Strana {{page}}
     view: 
       delete_track: Vymazať túto stopu
       description: "Popis:"
@@ -868,9 +1241,10 @@ sk:
       owner: "Vlastník:"
       pending: NEVYRIEŠENÉ
       points: "Body:"
+      start_coordinates: "Začiatočná súradnica:"
       tags: "Tagy:"
       title: Sledovanie stopy {{name}}
-      trace_not_found: Stopa nenajdené!
+      trace_not_found: Stopa nenájdená!
       uploaded: "Nahraté na:"
       visibility: "Viditeľnosť:"
     visibility: 
@@ -880,14 +1254,21 @@ sk:
       trackable: Zaznamenávané stopy (zdieľané iba ako anonymné, usporiadané body s časovými značkami)
   user: 
     account: 
+      current email address: "Aktuálna E-mailová Adresa:"
+      delete image: Odstrániť aktuálny obrázok
       email never displayed publicly: (nezobrazovaný verejne)
       flash update success: Informácie používateľa boli obnovené.
       flash update success confirm needed: Užívateľské informácie boli úspešne aktualizované. Skontrolujte vašu emailovú adresu pre správu na potvrdenie vašej novej emailovej adresy.
       home location: "Domovské miesto:"
+      image: "Obrázok:"
+      image size hint: (veľkosť obrázkov aspoň 100x100 je najlepšia)
+      keep image: Ponechať aktuálny obrázok
       latitude: "Zem. šírka:"
       longitude: "Zem. dĺžka:"
       make edits public button: Zverejniť všetky moje úpravy
       my settings: Moje nastavenia
+      new email address: "Nová E-mailová Adresa:"
+      new image: "Pridať obrázok:"
       no home location: Nezadali ste svoje domovské miesto.
       preferred languages: "Uprednostňované jazyky:"
       profile description: "Popis profilu:"
@@ -900,6 +1281,7 @@ sk:
       public editing note: 
         heading: Úprava pre verejnosť
         text: Teraz upravujete ako anonymný a iný vám nemôžu poslať správy, alebo vidieť vaše miesto. Ukážte čo upravujete a dovoľte iným kontaktovať vás cez webovú stránku, kliknite na tlačítko dolu. <b>Od zmeny verzie 0.6 API, iba užívateľ, ktorý povolil svoje úpravy verejnosti, môže upravovať mapové údaje</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">zistiť prečo</a>).<ul><li>Vaša emailová adresa nebude odhalená pre patričnú verejnosť.</li><li>Tento dej sa nedá vrátiť späť a všetci nový užívatelia sú nastavený štandardne ako verejný.</li></ul>
+      replace image: Nahradiť aktuálny obrázok
       return to profile: Návrat do profilu
       save changes button: Uložiť Zmeny
       title: Upraviť účet
@@ -907,33 +1289,35 @@ sk:
     confirm: 
       button: Potvrdiť
       failure: Užívateľský účet s týmito údajmi už bol založený.
-      heading: Potvrdiť používateľský účet
+      heading: Potvrdiť užívateľský účet
       press confirm button: Stlačte tlačítko na potvrdenie dole, pre aktiváciu vášho účtu.
       success: Váš účet je založený, ďakujeme, že ste sa zapísali!
     confirm_email: 
       button: Potvrdiť
-      failure: Mailová adresa bola už potvrdená s týmto znakom.
-      heading: Potvrdiť zmenu emailovej adresy
-      press confirm button: Stlačte tlačítko potvrdiť dole na potvrdenie vašej novej emailovej adresy.
-      success: Potvrdením vaÅ¡ej emailovej adresy, Ä\8fakujeme za zapísanie sa!
+      failure: E-mailová adresa bola už potvrdená s týmto znakom.
+      heading: Potvrdiť zmenu e-mailovej adresy
+      press confirm button: Stlačte potvrdzovacie tlačidlo nižšie a potvrďte svoju novú e-mailovú adresu.
+      success: Potvrdená vaÅ¡a e-mailová adresa, Ä\8fakujeme za registráciu!
     filter: 
       not_an_administrator: Potrebujete byť administrátor na vykonanie tejto akcie.
-    friend_map: 
-      nearby mapper: "Blízky mapovač: [[nearby_user]]"
-      your location: Vaša poloha
     go_public: 
       flash success: Všetky vaše úpravy sú teraz verejné, a teraz máte povolenie na úpravu.
     login: 
       account not active: Prepáčte, vaš účet nie je ešte aktívne.<br /> Prosím kliknite na odkaz v maile potvrdzujúcom účet na aktivovanie vášho účtu.
       auth failure: Prepáčte, nemohol som vás prihlásiť s týmito údajmi.
       create_account: vytvoriť účet
-      email or username: "Emailová adresa alebo Meno používateľa:"
+      email or username: "E-mailová adresa alebo Meno užívateľa:"
       heading: Prihlásenie
       login_button: Prihlásiť
       lost password link: Stratili ste heslo?
       password: "Heslo:"
       please login: Prosím prihláste sa, alebo {{create_user_link}}.
+      remember: "Zapamätať:"
       title: Prihlásiť sa
+    logout: 
+      heading: Odhlásenie z OpenStreetMap
+      logout_button: Odhlásenie
+      title: Odhlásenie
     lost_password: 
       email address: "E-mailová Adresa:"
       heading: Zabudli Ste Heslo?
@@ -949,6 +1333,7 @@ sk:
     new: 
       confirm email address: "Potvrdiť emailovú adresu:"
       confirm password: "Potvrdiť Heslo:"
+      contact_webmaster: Prosím kontaktovať <a href="mailto:webmaster@openstreetmap.org">webmaster</a> kvôli žiadosti pre vytvorenie účtu – budeme sa snažiť  vašu požiadavku vybaviť tak rýchlo, ako je len možné.
       display name: "Zobrazované meno:"
       display name description: Vaše verejne zobrazené meno užívateľa. Môžete ho potom zmeniť v nastaveniach.
       email address: "Emailová adresa:"
@@ -957,6 +1342,7 @@ sk:
       heading: Vytvoriť užívateľský účet
       license_agreement: Vytvorením účtu súhlasíte, že všetky údaje vami doplnené do Openstreetmap projektu budú (bez výhrady) licencované pod <a href="http://creativecommons.org/licenses/by-sa/2.0/">touto Creative Commons license (by-sa)</a>.
       no_auto_account_create: Bohužiaľ teraz nie sme schopný vytvoriť pre vás účet automaticky.
+      not displayed publicly: Nezobrazovať verejne (pozrite <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)k
       password: "Heslo:"
       signup: Zaregistrovať sa
       title: Vytvoriť účet
@@ -964,12 +1350,17 @@ sk:
       body: Prepáčte, užívateľ s týmto menom sa tu nenachádza {{user}}. Prosím skontrolujte váš text, alebo možno ste klikli na nesprávny odkaz.
       heading: Užívateľ {{user}} neexistuje
       title: Taký užívateľ nie je
+    popup: 
+      friend: Priateľ
+      nearby mapper: Blízky mapovač
+      your location: Vaša poloha
     remove_friend: 
       not_a_friend: "{{name}} nie je nikto z vašich priateľov."
       success: "{{name}} bol z vašich priateľov vymazaný."
     reset_password: 
       confirm password: "Potvrdiť Heslo:"
       flash changed: Vaše heslo bolo zmenené.
+      flash token bad: Nemôžem nájsť také symboly, možno skontrolujte URL?
       heading: Resetnúť heslo pre {{user}}
       password: "Heslo:"
       reset: Zmazať Heslo
@@ -979,16 +1370,14 @@ sk:
     view: 
       activate_user: aktivovať tohto užívateľa
       add as friend: pridať ako priateľa
-      add image: Pridať Obrázok
       ago: (pred {{time_in_words_ago}})
       block_history: zobraziť prijaté položky
+      blocks by me: blokovať pre mňa
       blocks on me: v mojom bloku
-      change your settings: zmeniť vaše nastavenia
       confirm: Potvrdiť
       create_block: blokovať tohto užívateľa
       created from: "Vytvorené od:"
       deactivate_user: deaktivovať tohto užívateľa
-      delete image: Zmazať obrázok
       delete_user: vymazať tohto užívateľa
       description: Popis
       diary: denník
@@ -1004,10 +1393,11 @@ sk:
       my edits: moje úpravy
       my settings: moje nastavenia
       my traces: moje stopy
-      nearby users: "Blízky užívatelia:"
+      nearby users: Iný blízky užívatelia
       new diary entry: nový údaj denníka
       no friends: Ešte nemáte pridaných žiadnych priateľov.
-      no home location: Nebola nastavená domovská poloha.
+      no nearby users: Nie je tu iný užívateľ, ktorý priznáva mapovanie v okolí.
+      oauth settings: Oauth nastavenia
       remove as friend: odstrániť ako priateľa
       role: 
         administrator: Tento užívateľ je administrátor
@@ -1022,18 +1412,93 @@ sk:
       settings_link_text: nastavenia
       traces: stopy
       unhide_user: odkryť tohto užívateľa
-      upload an image: Nahrať obrázok
-      user image heading: Obrázok používateľa
       user location: Poloha užívateľa
       your friends: Vaši priatelia
   user_block: 
+    blocks_by: 
+      empty: "{{name}} nemá ešte žiadne bloky"
+      heading: Zoznam blokov pre {{name}}
+      title: Bloky {{name}}
+    blocks_on: 
+      empty: "{{name}} doteraz ešte nebol blokovaný."
+      heading: Zoznam blokov na {{name}}
+      title: Bloky na {{name}}
+    create: 
+      flash: Zablokovať užívateľa {{name}}.
+      try_contacting: Prosím skúste sa spojiť s užívateľom, pred jeho zablokovaním a dajte mu primeraný čas na odpoveď.
+      try_waiting: Prosím skúste dávať užívateľovi primeraný čas na odpoveď, kým ho zablokujete.
+    edit: 
+      back: Zobraziť všetky bloky
+      heading: Editácia bloku na {{name}}
+      needs_view: Užívateľ sa potrebuje prihlásiť pred tým, než blok bude vymazaný?
+      period: Ako dlho, teraz začínajúc, bude užívateľ zablokovaný pre API.
+      reason: Dôvod prečo {{name}} je blokovaný. Prosím buďte kľudný a rozumný ako je možné, poskytujte mnoho detailov, koľko len môžete o situácii. Majte na pamäti, že nie všetci užívatelia rozumejú jazyku komunity, tak prosím skúste použiť pojmy pre laikov.
+      show: Zobraziť tento blok
+      submit: Aktualizácia bloku
+      title: Editácia bloku na {{name}}
+    filter: 
+      block_expired: Blok už vypršal a nemôže byť upravený.
+      block_period: Blokovacia doba musí byť jedna z hodnôt voliteľná v roletovom menu.
+      not_a_moderator: Potrebujete byť administrátor na vykonanie tejto akcie.
+    helper: 
+      time_future: Ukončené v {{time}}.
+      time_past: Ukončené pred {{time}}.
+      until_login: Aktívny až do prihlásenia užívateľa.
+    index: 
+      empty: Žiaden blok ešte nebol vytvorený.
+      heading: Zoznam užívateľských blokov
+      title: Užívateľské bloky
+    model: 
+      non_moderator_revoke: Musíte byť moderátorom na zrušenie bloku.
+      non_moderator_update: Musí byť moderátorom na vytvorenie alebo aktualizáciu bloku.
+    new: 
+      back: Zobraziť všetky bloky
+      heading: Vytvorenie bloku na {{name}}
+      needs_view: Užívateľ musí byť prihlásený, aby mohol vymazať tento blok
+      period: Ako dlho, teraz začínajúc, bude užívateľ blokovaný pre API.
+      reason: Dôvod prečo {{name}} je blokovaný. Prosím buďte kľudný a rozumný ako je možné, poskytujte mnoho detailov, koľko len môžete o situácii. Majte na pamäti, že nie všetci užívatelia rozumejú jazyku komunity, tak prosím skúste použiť pojmy pre laikov.
+      submit: Vytvoriť blok
+      title: Vytváram blok na {{name}}
+      tried_contacting: Kontaktoval som užívateľa a požiadal ho, aby prestal.
+      tried_waiting: Prideľte primerané množstvo času pre odpoveď užívateľa na túto komunikáciu.
+    not_found: 
+      back: Naspäť na zoznam
+      sorry: Prepáčte, blok užívateľa s ID {{id}} nemohol byť nájdený.
     partial: 
       confirm: Ste si istí?
+      display_name: Blokovaný užívateľ
       edit: Upraviť
+      not_revoked: (nezrušený)
+      reason: Dôvod pre blokovanie
+      revoke: Zrušiť!
+      revoker_name: Zrušil
       show: Zobraziť
       status: Stav
+    revoke: 
+      confirm: Ste si istí, že chcete zrušiť tento blok?
+      flash: Tento blok bol zrušený.
+      heading: Zrušujem blok pre {{block_on}} podľa {{block_by}}
+      past: Tento blok skončil pred {{time}}a teraz nemože byť zrušený.
+      revoke: Zrušiť!
+      time_future: Tento blok bol ukončený v {{time}}.
+      title: Zrušujem blok pre {{block_on}}
     show: 
+      back: Zobraziť všetky blokovania
+      confirm: Ste si istý?
       edit: Upraviť
+      heading: "{{block_on}} blokovaný {{block_by}}"
+      needs_view: Užívateľ sa potrebuje prihlásiť predtým, ako bude toto blokovanie odstránené.
+      reason: "Dôvod blokovania:"
+      revoke: Odvolať!
+      revoker: "Odvolaním:"
+      show: Zobraziť
+      status: Postavenie
+      time_future: Skončené {{time}}
+      time_past: Ukončené pred {{time}}
+      title: "{{block_on}} blokovaný {{block_by}}"
+    update: 
+      only_creator_can_edit: Iba moderátor, ktorý vytvoril tento blok, ho môže editovať.
+      success: Blok je aktualizovaný.
   user_role: 
     filter: 
       already_has_role: Užívateľ už má úlohu {{role}}.
index 4f3165f82a070753da14ba8d20a70e7b9f37e4b7..7a878ff43e9bcd2cb1c9e7b87c49b4e4abec5a1f 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Slovenian (Slovenščina)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Dbc334
 sl: 
   activerecord: 
     attributes: 
@@ -103,7 +104,7 @@ sl:
         node: Prikaz vozlišča na večjem zemljevidu
         relation: Prikaz relacije na večjem zemljevidu
         way: Prikaz poti na večjem zemljevidu
-      loading: Nalaganje...
+      loading: Nalaganje ...
     node: 
       download: "{{download_xml_link}} ali {{view_history_link}}"
       download_xml: prenesi XML
@@ -159,7 +160,7 @@ sl:
       history_for_feature: Zgodovina [[feature]]
       load_data: Naloži podatke
       loaded_an_area_with_num_features: "Naložili ste področje, ki vsebuje [[num_features]] elementov. Nekateri spletni brskalniki ne zmorejo prikaza takšne količine podatkov. Na splošno brskalniki najbolje prikazujejo 100 ali manj elementov hkrati: karkoli drugega lahko upočasni vaš brskalnik ali ga naredi neodzivnega. Če ste prepričani, da želite prikazati vse te podatke, pritisnite na spodnji gumb."
-      loading: Nalaganje...
+      loading: Nalaganje ...
       manually_select: Ročno izberite drugo področje
       object_list: 
         api: Pridobi področje iz programskega vmesnika (API)
@@ -213,7 +214,7 @@ sl:
       still_editing: (še ureja)
       view_changeset_details: Ogled podrobnosti paketa sprememb
     changeset_paging_nav: 
-      showing_page: Prikaz strani
+      showing_page: Prikazovanje strani {{page}}
     changesets: 
       area: Področje
       comment: Komentar
@@ -245,7 +246,7 @@ sl:
       reply_link: Odgovori na ta vnos
     edit: 
       body: "Besedilo:"
-      language: "Jezki:"
+      language: "Jezik:"
       latitude: "Z. širina:"
       location: "Lokacija:"
       longitude: "Z. dolžina:"
@@ -289,7 +290,7 @@ sl:
       login: Prijavite se
       login_to_leave_a_comment: "{{login_link}} za vpis komentarja"
       save_button: Shrani
-      title: Dnevnik uporabnika {{user}}
+      title: Dnevnik uporabnika {{user}} | {{title}}
       user_title: Dnevnik uporabnika {{user}}
   export: 
     start: 
@@ -298,11 +299,11 @@ sl:
       embeddable_html: HTML za vključitev na spletno stran
       export_button: Izvozi
       export_details: OpenStreetMap podatki imajo licenco <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sl">Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 2.0</a>.
-      format: Oblika zapisa
+      format: Oblika
       format_to_export: Oblika izvoženih podatkov
       image_size: Velikost slike
       latitude: "Šir:"
-      licence: Licenca
+      licence: Dovoljenje
       longitude: "Dol:"
       manually_select: Ročno izberite drugo področje
       mapnik_image: Mapnik slika zemljevida
@@ -363,7 +364,6 @@ sl:
     donate: Podprite OpenStreetMap z {{link}} v fond za nadgradnjo strojne opreme.
     donate_link_text: donacijo
     edit: Uredi
-    edit_tooltip: Uredite zemljevid
     export: Izvoz
     export_tooltip: Izvozite podatke zemljevida
     gps_traces: GPS sledi
@@ -372,7 +372,6 @@ sl:
     help_wiki_tooltip: Pomoč in Wiki strani projekta
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Sl:Main_Page?uselang=sl
     history: Zgodovina
-    history_tooltip: Zgodovina sprememb
     home: domov
     home_tooltip: Prikaži domači kraj
     inbox_tooltip: 
@@ -408,10 +407,6 @@ sl:
     view_tooltip: Prikaz zemljevida
     welcome_user: Dobrodošli, {{user_link}}
     welcome_user_link_tooltip: Vaša uporabniška stran
-  map: 
-    coordinates: "Koordinate:"
-    edit: Urejanje
-    view: Zemljevid
   message: 
     delete: 
       deleted: Sporočilo izbrisano
@@ -442,9 +437,9 @@ sl:
       subject: Zadeva
       title: Pošiljanje sporočila
     no_such_user: 
-      body: Oprostite, uporabnika s tem imenom ali sporočila s tem ID-jem ni
-      heading: Ni ustreznega uporabnika ali sporočila
-      title: Ni ustreznega uporabnika ali sporočila
+      body: Oprostite, uporabnika s tem imenom ni.
+      heading: Ni takega uporabnika
+      title: Ni takega uporabnika
     outbox: 
       date: Datum
       inbox: prejeta
@@ -745,9 +740,6 @@ sl:
       heading: Potrdite spremembo naslova e-pošte
       press confirm button: Za potrditev spremembe vašega naslova elektronske pošte pritisnite na gumb Potrdi spodaj.
       success: Vaš naslov elektronske pošte je potrjen. Hvala, da ste se vpisali!
-    friend_map: 
-      nearby mapper: "Bližnji kartograf: [[nearby_user]]"
-      your location: Vaša lokacija
     go_public: 
       flash success: Vsi vaši prispevki so sedaj javni in sedaj imate pravico do urejanja.
     login: 
@@ -791,6 +783,9 @@ sl:
       body: Oprostite, uporabnika z imenom {{user}} ni. Prosimo, preverite črkovanje in povezavo, ki ste jo kliknili.
       heading: Uporabnik {{user}} ne obstaja
       title: Ni tega uporabnika
+    popup: 
+      nearby mapper: Bližnji kartograf
+      your location: Vaša lokacija
     remove_friend: 
       not_a_friend: Uporabnika {{name}} ni med vašimi prijatelji.
       success: Uporabnika {{name}} ste odstranili izmed svojih prijateljev.
@@ -801,10 +796,7 @@ sl:
       flash success: Domača lokacija uspešno shranjena
     view: 
       add as friend: dodaj med prijatelje
-      add image: Dodaj sliko
       ago: ({{time_in_words_ago}} nazaj)
-      change your settings: uredite vaše nastavitve
-      delete image: Izbriši sliko
       description: Opis
       diary: dnevnik
       edits: prispevki
@@ -814,16 +806,13 @@ sl:
       my edits: moji prispevki
       my settings: moje nastavitve
       my traces: moje sledi
-      nearby users: "Bližnji uporabniki:"
+      nearby users: Drugi bližnji uporabniki
       new diary entry: nov vnos v dnevnik
       no friends: Niste še dodali nobenih prijateljev.
-      no home location: Domača lokacija uporabnika še ni bila nastavljena.
-      no nearby users: Ni uporabnikov, ki bi priznali, da kartirajo v vaši bližini.
+      no nearby users: Ni še drugih uporabnikov, ki bi priznali, da kartirajo v vaši bližini.
       remove as friend: odstrani izmed prijateljev
       send message: pošlji sporočilo
       settings_link_text: vaših nastavitvah
       traces: sledi
-      upload an image: Objavite sliko
-      user image heading: Slika uporabnika
       user location: Lokacija uporabnika
       your friends: Vaši prijatelji
index 1b06b9f3428698711017ee71ecf7c10774514c1e..b172a9c315fc874338650b322425a774c8792902 100644 (file)
@@ -36,6 +36,7 @@ sr-EC:
       user: 
         active: Активан
         description: Опис
+        display_name: Приказано име
         email: Е-пошта
         languages: Језици
         pass_crypt: Лозинка
@@ -120,7 +121,7 @@ sr-EC:
     map: 
       deleted: Обрисано
       larger: 
-        area: Ð\9fогледаÑ\98 Ð·Ð¾Ð½Ñ\83 на већој мапи
+        area: Ð\9fогледаÑ\98 Ð¾Ð±Ð»Ð°Ñ\81Ñ\82 на већој мапи
         node: Погледај чвор на већој мапи
         relation: Погледај однос на већој мапи
         way: Погледај путању на већој мапи
@@ -176,7 +177,7 @@ sr-EC:
       data_frame_title: Подаци
       data_layer_name: Подаци
       details: Детаљи
-      drag_a_box: Ð Ð°Ð·Ð²Ñ\83Ñ\86и Ð¿Ñ\80авоÑ\83гаоник Ð½Ð° Ð¼Ð°Ð¿Ð¸ Ð´Ð° Ð±Ð¸ Ð¾Ð±ÐµÐ»ÐµÐ¶Ð¸Ð¾ област
+      drag_a_box: Ð\9fÑ\80евÑ\83Ñ\86иÑ\82е Ð¿Ñ\80авоÑ\83гаоник Ð¿Ñ\80еко Ð¼Ð°Ð¿Ðµ ÐºÐ°ÐºÐ¾ Ð±Ð¸Ñ\81Ñ\82е Ð¾Ð±ÐµÐ»ÐµÐ¶Ð¸Ð»Ð¸ област
       edited_by_user_at_timestamp: Изменио [[user]] на [[timestamp]]
       history_for_feature: Историја за [[feature]]
       load_data: Учитај податке
@@ -205,6 +206,12 @@ sr-EC:
       zoom_or_select: Увећајте или изаберите место на мапи које желите да погледате
     tag_details: 
       tags: "Ознаке:"
+    timeout: 
+      type: 
+        changeset: скуп измена
+        node: чвор
+        relation: однос
+        way: путања
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} или {{edit_link}}"
       download_xml: Преузми XML
@@ -226,10 +233,15 @@ sr-EC:
       way_history_title: "Историја путање: {{way_name}}"
   changeset: 
     changeset: 
+      anonymous: Анонимно
       big_area: (велика)
       no_comment: (нема)
       no_edits: (нема измена)
       still_editing: (још увек уређује)
+    changeset_paging_nav: 
+      next: Следећа &raquo;
+      previous: "&laquo; Претходна"
+      showing_page: Приказ стране {{page}}
     changesets: 
       area: Област
       comment: Напомена
@@ -237,6 +249,7 @@ sr-EC:
       saved_at: Сачувано у
       user: Корисник
     list: 
+      description: Скорашње измене
       description_bbox: Скупови измена унутар {{bbox}}
       heading: Скупови измена
       heading_bbox: Скупови измена
@@ -275,6 +288,10 @@ sr-EC:
       recent_entries: "Скорашњи дневнички уноси:"
       title: Кориснички дневници
       user_title: Дневник корисника {{user}}
+    location: 
+      edit: Уреди
+      location: "Локација:"
+      view: Преглед
     new: 
       title: Нови дневнички унос
     no_such_user: 
@@ -289,6 +306,7 @@ sr-EC:
       add_marker: Додајте маркер на мапу
       area_to_export: Област за извоз
       export_button: Извези
+      export_details: OpenStreetMap подаци су лиценцирани под <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sr">Creative Commons Attribution-ShareAlike 2.0 лиценцом</a>.
       format: Формат
       format_to_export: Формат за извоз
       image_size: Величина слике
@@ -307,6 +325,7 @@ sr-EC:
       add_marker: Додајте маркер на мапу
       change_marker: Промените положај маркера
       click_add_marker: Кликните на мапу како бирте додали маркер
+      drag_a_box: Превуците правоугаоник преко мапе како бисте обележили област
       export: Извези
       manually_select: Ручно изаберите другу област
       view_larger_map: Погледајте већу мапу
@@ -334,6 +353,9 @@ sr-EC:
     results: 
       more_results: Још резултата
       no_results: Нема резултата претраге
+    search_osm_namefinder: 
+      suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} од {{parentname}})"
+      suffix_place: ", {{distance}} {{direction}} од {{placename}}"
     search_osm_nominatim: 
       prefix: 
         amenity: 
@@ -342,6 +364,7 @@ sr-EC:
           bank: Банка
           bar: Бар
           bench: Клупа
+          bicycle_parking: Паркинг за бицике
           brothel: Бордел
           bureau_de_change: Мењачница
           bus_station: Аутобуска станица
@@ -355,17 +378,20 @@ sr-EC:
           courthouse: Зграда суда
           crematorium: Крематоријум
           dentist: Зубар
+          drinking_water: Пијаћа вода
           driving_school: Ауто-школа
           embassy: Амбасада
           fast_food: Брза храна
           fire_hydrant: Хидрант
           fire_station: Ватрогасна станица
           fountain: Фонтана
+          fuel: Гориво
           grave_yard: Гробље
           gym: Фитнес центар / Теретана
           health_centre: Дом здравља
           hospital: Болница
           hotel: Хотел
+          ice_cream: Сладолед
           kindergarten: Обданиште
           library: Библиотека
           marketplace: Пијаца
@@ -384,6 +410,7 @@ sr-EC:
           retirement_home: Старачки дом
           sauna: Сауна
           school: Школа
+          shelter: Склониште
           shop: Продавница
           studio: Студио
           supermarket: Супермаркет
@@ -392,6 +419,8 @@ sr-EC:
           theatre: Позориште
           toilets: Тоалети
           university: Универзитет
+          waste_basket: Корпа за отпатке
+          wifi: Wi-Fi приступ
           youth_centre: Дом омладине
         boundary: 
           administrative: Административна граница
@@ -418,9 +447,11 @@ sr-EC:
           footway: Стаза
           gate: Капија
           motorway: Аутопут
+          motorway_link: Мото-пут
           path: Стаза
           platform: Платформа
           primary_link: Главни пут
+          raceway: Тркачка стаза
           road: Пут
           steps: Степенице
           trail: Стаза
@@ -437,16 +468,21 @@ sr-EC:
           ruins: Рушевине
           tower: Торањ
         landuse: 
+          basin: Басен
           cemetery: Гробље
           construction: Градилиште
           farm: Фарма
           forest: Шума
+          grass: Трава
           industrial: Индустријска зона
+          meadow: Ливада
           military: Војна област
           mine: Рудник
           mountain: Планина
           park: Парк
+          piste: Скијашка стаза
           quarry: Каменолом
+          railway: Железничка пруга
           reservoir: Резервоар
           residential: Стамбена област
           vineyard: Виноград
@@ -457,6 +493,7 @@ sr-EC:
           ice_rink: Клизалиште
           marina: Марина
           miniature_golf: Мини голф
+          nature_reserve: Резерват природе
           park: Парк
           pitch: Спортско игралиште
           playground: Игралиште
@@ -471,6 +508,7 @@ sr-EC:
           cape: Рт
           cave_entrance: Улаз у пећину
           channel: Канал
+          cliff: Литица
           crater: Кратер
           fjord: Фјорд
           geyser: Гејзир
@@ -479,6 +517,7 @@ sr-EC:
           island: Острво
           marsh: Мочвара
           mud: Блато
+          peak: Врх
           reef: Гребен
           ridge: Гребен
           river: Река
@@ -489,6 +528,7 @@ sr-EC:
           valley: Долина
           volcano: Вулкан
           water: Вода
+          wood: Гај
         place: 
           airport: Аеродром
           city: Град
@@ -509,11 +549,14 @@ sr-EC:
           village: Село
         railway: 
           narrow_gauge: Пруга уског колосека
+          tram_stop: Трамвајско стајалиште
         shop: 
           art: Продавница слика
           bakery: Пекара
+          beauty: Салон лепоте
           books: Књижара
           butcher: Месара
+          car_parts: Продавница ауто-делова
           car_repair: Ауто-сервис
           clothes: Бутик
           copyshop: Копирница
@@ -531,9 +574,12 @@ sr-EC:
           market: Маркет
           music: Музичка продавница
           optician: Оптичар
+          photo: Фотографска радња
           salon: Салон
+          shoes: Продавница ципела
           shopping_centre: Тржни центар
           supermarket: Супермаркет
+          toys: Продавница играчака
           travel_agency: Туристичка агенција
         tourism: 
           artwork: Галерија
@@ -557,22 +603,33 @@ sr-EC:
           river: Река
           waterfall: Водопад
   javascripts: 
+    map: 
+      base: 
+        noname: Без назива
     site: 
-      history_zoom_alert: Морате зумирати како бисте видели историју уређивања
+      edit_disabled_tooltip: Увећајте како бисте уредили мапу
+      edit_tooltip: Уреди мапу
+      history_zoom_alert: Морате увећати како бисте видели историју уређивања
   layouts: 
     donate_link_text: донирање
     edit: Уреди
-    edit_tooltip: Уредите мапе
     export: Извези
     export_tooltip: Извоз мапа
     gps_traces: ГПС трагови
     help_wiki: Помоћ и вики
     history: Историја
-    history_tooltip: Историја скупа измена
     home: мој дом
     home_tooltip: Иди на почетну локацију
-    inbox: поруке
+    inbox: поруке ({{count}})
+    inbox_tooltip: 
+      few: Имате {{count}} непрочитане поруке
+      one: Имате једну непрочитану поруку
+      other: Имате {{count}} непрочитаних порука
+      zero: Немате непрочитаних порука
+    intro_1: OpenStreetMap је слободна мапа целог света. Сачињавају је корисници као што сте ви.
+    intro_2: OpenStreetMap вам омогућава да прегледате, уређујете и користите географске податке са било ког места на Земљи.
     intro_3: Одржавање OpenStreetMap је подржано од стране {{ucl}} и {{bytemark}}.
+    intro_3_partners: вики
     license: 
       title: Подаци OpenStreetMap сајта су лиценцирани под Creative Commons Attribution-Share Alike 2.0 општом лиценцом
     log_in: пријавите се
@@ -586,27 +643,28 @@ sr-EC:
       title: Подржите OpenStreetMap новчаним прилогом
     news_blog: Вест на блогу
     shop: Продавница
+    shop_tooltip: пазарите у регистрованој OpenStreetMap продавници
     sign_up: региструјте се
     sign_up_tooltip: Направите налог како бисте уређивали мапе
     user_diaries: Кориснички дневници
     user_diaries_tooltip: Погледајте дневнике корисника
     view: Преглед
-    view_tooltip: Погледајте мапе
+    view_tooltip: Погледајте мапу
     welcome_user: Добродошли, {{user_link}}
     welcome_user_link_tooltip: Ваша корисничка страна
-  map: 
-    coordinates: "Координате:"
-    edit: Уреди
-    view: Види
   message: 
     delete: 
       deleted: Порука је обрисана
     inbox: 
       date: Датум
       from: Од
-      my_inbox: Ð\9fÑ\80имÑ\99ене
+      my_inbox: Ð\9cоÑ\98е Ð¿Ñ\80имÑ\99ене Ð¿Ð¾Ñ\80Ñ\83ке
       no_messages_yet: Тренутно немате порука. Зашто не успоставите контакт са {{people_mapping_nearby_link}}?
+      outbox: послате
+      people_mapping_nearby: маперима у вашој околини
       subject: Тема
+      title: Моје примљене поруке
+      you_have: Имате {{new_count}} нових порука и {{old_count}} старих порука
     mark: 
       as_read: Порука је означена као прочитана
       as_unread: Порука је означена као непрочитана
@@ -616,33 +674,49 @@ sr-EC:
       reply_button: Одговори
       unread_button: Означи као непрочитано
     new: 
+      back_to_inbox: Назад на примљене
       body: Тело
       message_sent: Порука је послата
       send_button: Пошаљи
+      send_message_to: Пошаљи нову поруку {{name}}
       subject: Тема
       title: Пошаљи поруку
+    no_such_user: 
+      heading: Овде таквог нема
+      title: Овде таквог нема
     outbox: 
       date: Датум
-      inbox: долазна пошта
-      my_inbox: Мој {{inbox_link}}
-      outbox: одлазна пошта
-      people_mapping_nearby: маперима у вашој близини
+      inbox: примљене поруке
+      my_inbox: Моје {{inbox_link}}
+      no_sent_messages: Тренутно немате послатих порука. Зашто не успоставите контакт са {{people_mapping_nearby_link}}?
+      outbox: послате
+      people_mapping_nearby: маперима у вашој околини
       subject: Тема
       title: Одлазна пошта
       to: За
       you_have_sent_messages: Имате {{count}} послатих порука
     read: 
+      back_to_inbox: Назад на примљене
+      back_to_outbox: Назад на послате
       date: Датум
       from: Од
       reply_button: Одговори
       subject: Тема
+      title: Прочитај поруку
       to: За
       unread_button: Означи као непрочитано
     sent_message_summary: 
       delete_button: Обриши
   notifier: 
+    diary_comment_notification: 
+      hi: Поздрав {{to_user}},
+      subject: "[OpenStreetMap] {{user}} је коментарисао ваш дневнички унос"
     email_confirm: 
       subject: "[OpenStreetMap] Потврдите вашу адресу е-поште"
+    email_confirm_html: 
+      click_the_link: Ако сте то ви, молимо кликните на везу испод како бисте потврдили измене.
+      greeting: Поздрав,
+      hopefully_you: Неко (вероватно ви) би желео да промени адресу е-поште са {{server_url}} на {{new_address}}.
     email_confirm_plain: 
       greeting: Поздрав,
     friend_notification: 
@@ -651,6 +725,7 @@ sr-EC:
       greeting: Поздрав,
     lost_password_html: 
       click_the_link: Ако сте то ви, молимо кликните на линк испод како бисте ресетивали лозинку.
+      greeting: Поздрав,
     lost_password_plain: 
       click_the_link: Ако сте то ви, молимо кликните на линк испод како бисте ресетивали лозинку.
       greeting: Поздрав,
@@ -662,6 +737,8 @@ sr-EC:
       subject: "[OpenStreetMap] Потврдите вашу адресу е-поште"
     signup_confirm_html: 
       greeting: Поздрав!
+    signup_confirm_plain: 
+      greeting: Поздрав!
   oauth: 
     oauthorize: 
       allow_read_gpx: учитајте ваше GPS путање.
@@ -674,6 +751,8 @@ sr-EC:
     form: 
       name: Име
   site: 
+    edit: 
+      user_page_link: корисничка страна
     index: 
       license: 
         license_name: Creative Commons Attribution-Share Alike 2.0
@@ -691,7 +770,7 @@ sr-EC:
           centre: Спортски центар
           commercial: Пословна област
           common: 
-            1: Ð\9bивада
+            1: Ð»ивада
           construction: Путеви у изградњи
           cycleway: Бициклистичка стаза
           farm: Фарма
@@ -707,6 +786,7 @@ sr-EC:
           park: Парк
           pitch: Спортско игралиште
           primary: Главни пут
+          private: Приватни посед
           rail: Железничка пруга
           reserve: Парк природе
           resident: Стамбена област
@@ -717,6 +797,9 @@ sr-EC:
             - универзитет
           station: Железничка станица
           subway: Подземна железница
+          summit: 
+            - Узвишење
+            - врх
           tourist: Туристичка атракција
           track: Стаза
           tram: 
@@ -725,14 +808,20 @@ sr-EC:
           trunk: Магистрални пут
           tunnel: Испрекидан оквир = тунел
           unsurfaced: Подземни пут
+          wood: Гај
         heading: Легенда за  увећање {{zoom_level}}
     search: 
       search: Претрага
+      search_help: "примери: 'Берлин', 'Војводе Степе, Београд', 'CB2 5AQ' <a href='http://wiki.openstreetmap.org/wiki/Search'>још примера...</a>"
       submit_text: Иди
       where_am_i: Где сам?
+      where_am_i_title: Установите тренутну локацију помоћу претраживача
     sidebar: 
       close: Затвори
       search_results: Резултати претраге
+  time: 
+    formats: 
+      friendly: "%e %B %Y у %H:%M"
   trace: 
     create: 
       trace_uploaded: Ваш GPX фајл је послат и чека на унос у базу. Он обично траје око пола сата, и добићете поруку е-поштом кад се заврши.
@@ -749,16 +838,18 @@ sr-EC:
       save_button: Сними промене
       start_coord: "Почетне координате:"
       tags: "Ознаке:"
+      tags_help: раздвојене зарезима
       title: Мењање трага {{name}}
       uploaded_at: "Послато:"
       visibility: "Видљивост:"
       visibility_help: шта ово значи?
     list: 
       public_traces: Јавни ГПС трагови
+      tagged_with: " означени са {{tags}}"
       your_traces: Ваши ГПС трагови
     no_such_user: 
       heading: Корисник {{user}} не постоји
-      title: Ð\9eвде Ñ\82аквиÑ\85 нема
+      title: Ð\9eвде Ñ\82аквог нема
     trace: 
       ago: пре {{time_in_words_ago}}
       by: од
@@ -796,6 +887,7 @@ sr-EC:
       edit_track: Уреди ову стазу
       filename: "Име фајла:"
       map: мапа
+      none: Нема
       owner: "Власник:"
       pending: НА_ЧЕКАЊУ
       points: "Тачке:"
@@ -804,16 +896,26 @@ sr-EC:
       trace_not_found: Траг није пронађен!
       uploaded: "Послато:"
       visibility: "Видљивост:"
+    visibility: 
+      identifiable: Омогућавају препознавање (приказани у списку трагова и као јавне, поређане и датиране тачке)
+      private: Приватни (дељиви само као анонимне, непоређане тачке)
+      public: Јавни (приказани у списку трагова и као јавне, непоређане тачке)
+      trackable: Омогућавају праћење (дељиви само као анонимне, поређане и датиране тачке)
   user: 
     account: 
       current email address: "Тренутна адреса е-поште:"
+      delete image: Уклони тренутну слику
       email never displayed publicly: (не приказуј јавно)
+      flash update success: Подаци о кориснику успешно ажурирани.
+      flash update success confirm needed: Подаци о кориснику успешно ажурирани. Проверите вашу е-пошту како бисте потврдивли нову адресу е-поште.
       home location: "Моја локација:"
+      image: "Слика:"
       latitude: "Географска ширина:"
       longitude: "Географска дужина:"
       make edits public button: Нека све моје измене буду јавне
       my settings: Моја подешавања
       new email address: "Нова адреса е-поште:"
+      new image: Додајте вашу слику
       no home location: Нисте унели ваше место становања.
       preferred languages: "Подразумевани језици:"
       profile description: "Опис профила:"
@@ -831,8 +933,8 @@ sr-EC:
       button: Потврди
       heading: Потврдите промену е-мејл адресе
       success: Потврдите вашу е-мејл адресу, хвала на регистрацији!
-    friend_map
-      your location: Ваша локација
+    filter
+      not_an_administrator: Морате бити администратор да бисте извели ову акцију.
     login: 
       create_account: направите налог
       email or username: "Адреса е-поште или корисничко име:"
@@ -841,7 +943,11 @@ sr-EC:
       lost password link: Изгубили сте лозинку?
       password: "Лозинка:"
       please login: Молимо пријавите се или {{create_user_link}}.
+      remember: "Запамти ме:"
       title: Пријављивање
+    logout: 
+      logout_button: Одјави се
+      title: Одјави се
     lost_password: 
       email address: "Адреса е-поште:"
       heading: Заборављена лозинка?
@@ -851,40 +957,52 @@ sr-EC:
     make_friend: 
       success: "{{name}} је постао ваш пријатељ."
     new: 
-      confirm email address: "Потврдите е-мејл адресу:"
-      confirm password: "Потврди лозинку:"
+      confirm email address: "Потврдите адресу е-поште:"
+      confirm password: "Потврдите лозинку:"
+      display name: "Приказано име:"
+      display name description: Име вашег корисничког налога. Можете га касније променити у подешавањима.
       email address: "Адреса е-поште:"
       fill_form: Попуните упитник и убрзо ћемо вам послати мејл како бисте активирали налог.
       heading: Креирајте кориснички налог
+      license_agreement: Креирањем налога, прихватате услове да сви подаци које шаљете на Openstreetmap пројекат буду (неискључиво) лиценциран под <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sr">овом Creative Commons лиценцом (by-sa)</a>.
+      not displayed publicly: Не приказује се јавно (погледајте <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="вики политика приватности која садржи и одељак о адресама е-поште">политику приватности</a>)
       password: "Лозинка:"
       signup: Пријава
       title: Направи налог
     no_such_user: 
       heading: Корисник {{user}} не постоји
       title: Овде таквог нема
+    popup: 
+      friend: Пријатељ
+      your location: Ваша локација
     reset_password: 
-      confirm password: "Потврди лозинку:"
+      confirm password: "Потврдите лозинку:"
       flash changed: Ваша лозинка је промењена.
+      heading: Обнови лозинку за {{user}}
       password: Лозинка
+      reset: Обнови лозинку
+      title: Обнови лозинку
+    set_home: 
+      flash success: Ваша локација је успешно сачувана
     view: 
       add as friend: додај за пријатеља
-      add image: Додај слику
       confirm: Потврди
       create_block: блокирај овог корисника
-      delete image: Обриши слику
       delete_user: избриши овог корисника
       description: Опис
       diary: дневник
       edits: измене
       email address: "Е-мејл адреса:"
-      km away: удаљено {{count}}km
+      km away: "{{count}}km далеко"
       m away: "{{count}}m далеко"
+      mapper since: "Мапер од:"
       my diary: мој дневник
       my edits: моје измене
       my settings: моја подешавања
       my traces: моји трагови
-      nearby users: "Ð\9aорисници у близини:"
+      nearby users: "Ð\9eÑ\81Ñ\82али Ðºорисници у близини:"
       new diary entry: нови дневнички унос
+      no friends: Још нисте додали ни једног пријатеља.
       remove as friend: уклони као пријатеља
       role: 
         administrator: Овај корисник је администратор
@@ -895,21 +1013,30 @@ sr-EC:
       send message: пошаљи поруку
       settings_link_text: подешавања
       traces: трагови
-      user image heading: Слика корисника
       user location: Локација корисника
       your friends: Ваши пријатељи
   user_block: 
     partial: 
       confirm: Јесте ли сигурни?
+      display_name: Блокирани корисник
       edit: Уреди
+      reason: Разлози блокирања
       show: Прикажи
       status: Стање
+    period: 
+      few: "{{count}} сата"
+      one: 1 сат
+      other: "{{count}} сати"
     show: 
       back: Погледај сва блокирања
       confirm: Јесте ли сигурни?
       edit: Уреди
+      needs_view: Овај корисник мора да се пријави пре него што се блокада уклони.
       reason: "Разлози блокирања:"
+      show: Прикажи
       status: Статус
+      time_future: Завршава се у  {{time}}
+      time_past: Завршена пре {{time}}
   user_role: 
     filter: 
       doesnt_have_role: Корисник нема улогу {{role}}.
index 01f785258d2d72a659ba22c37eb38b069739f54e..76c6deceec4643cd387381a82627694ce2bca1bc 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Swedish (Svenska)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Ainali
 # Author: Balp
 # Author: Cohan
 # Author: Grillo
@@ -208,6 +209,11 @@ sv:
       zoom_or_select: Zooma in eller välj arean du vill se.
     tag_details: 
       tags: "Taggar:"
+    timeout: 
+      type: 
+        node: nod
+        relation: relation
+        way: väg
     way: 
       download: "{{download_xml_link}}, {{view_history_link}} eller {{edit_link}}"
       download_xml: Ladda hem XML
@@ -319,6 +325,9 @@ sv:
       osmarender_image: Osmarender-bild
       output: Utdata
       scale: Skala
+      too_large: 
+        body: Detta område är för stort för att exporteras som OpenStreetMap XML-data. Vänligen zooma in eller välja ett mindre område.
+        heading: For stort område
       zoom: Zooma
     start_rjs: 
       add_marker: Lägg till markör på kartan
@@ -611,7 +620,6 @@ sv:
     donate: Donera till OpenStreetMap via {{link}} till hårdvaruuppgraderingsfonden.
     donate_link_text: donera
     edit: Redigera
-    edit_tooltip: Ändra på kartan
     export: Exportera
     export_tooltip: Exportera kartdata som bild eller rådata
     gps_traces: GPS-spår
@@ -619,7 +627,6 @@ sv:
     help_wiki: Hjälp &amp; wiki
     help_wiki_tooltip: Hjälp och wiki för projektet
     history: Historik
-    history_tooltip: Changeset-historik
     home: hem
     home_tooltip: Gå till hempositionen
     inbox: inkorg ({{count}})
@@ -657,10 +664,6 @@ sv:
     view_tooltip: Visa kartorna
     welcome_user: Välkommen {{user_link}}
     welcome_user_link_tooltip: Din användarsida
-  map: 
-    coordinates: "Koordinater:"
-    edit: Redigera
-    view: Visa
   message: 
     delete: 
       deleted: Meddelande raderat
@@ -895,6 +898,8 @@ sv:
       body: Det fanns ingen användare med namnet {{user}}. Kontrollera stavningen, och om länken du klickade på var korrekt.
       heading: Användaren {{user}} finns inte
       title: Ingen sådan användare
+    offline: 
+      message: GPX-uppladdningssystemet är för närvarande inte tillgängligt.
     offline_warning: 
       message: GPX-uppladdningssystemet är för tillfället otillgängligt.
     trace: 
@@ -903,6 +908,7 @@ sv:
       count_points: "{{count}} punkter"
       edit: Redigera
       edit_map: Redigera karta
+      identifiable: IDENTIFIERBAR
       in: i
       map: karta
       more: mer
@@ -910,6 +916,7 @@ sv:
       private: PRIVAT
       public: PUBLIK
       trace_details: Visa spårdetaljer
+      trackable: SPÅRBAR
       view_map: Visa karta
     trace_form: 
       description: Beskrivning
@@ -927,6 +934,10 @@ sv:
       traces_waiting: Du har {{count}} GPS-spår som laddas upp. Det är en bra idé att låta dessa bli klara innan du laddar upp fler, så att du inte blockerar uppladdningskön för andra användare.
     trace_optionals: 
       tags: Taggar
+    trace_paging_nav: 
+      next: Nästa &raquo;
+      previous: "&laquo; Föregående"
+      showing_page: Visar sida {{page}}
     view: 
       delete_track: Radera detta spår
       description: "Beskrivning:"
@@ -953,14 +964,21 @@ sv:
       trackable: Spårbar (delas bara som anonyma ordnade punker med tidsstämpel)
   user: 
     account: 
+      current email address: "Nuvarande E-postadress:"
+      delete image: Ta bort nuvarande bild
       email never displayed publicly: (Visas aldrig offentligt)
       flash update success: Användarinformation uppdaterades.
       flash update success confirm needed: Användarinformation uppdaterades. Kontrollera din e-post för att bekräfta din e-postadress.
       home location: "Hemposition:"
+      image: "Bild:"
+      image size hint: (kvadratiska bilder på minst 100x100 fungerar bäst)
+      keep image: Behåll nuvarande bild
       latitude: "Breddgrad (latitud):"
       longitude: "Längdgrad (longitud):"
       make edits public button: Gör alla mina redigeringar publika
       my settings: Mina inställningar
+      new email address: "Ny e-postadress:"
+      new image: Lägg till en bild
       no home location: Du har inte angivit någon hemposition.
       preferred languages: "Föredraget språk:"
       profile description: "Profilbeskrivning:"
@@ -974,6 +992,7 @@ sv:
       public editing note: 
         heading: Offentlig redigering
         text: Dina redigeringar är för tillfället anonyma och andra användare kan inte skicka meddelanden till dig eller se din position. För att visa andra vad du redigerat och för att tillåta andra att kontakta dig genom webbplatsen, klicka på knappen nedan. <b>Sedan bytet till API av version 0.6 kan bara publika användare redigera kartdata</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">ta reda på varför (engelska)</a>).<ul><li>Din e-postadress avslöjas inte om du blir publik användare.</li><li>Denna handling kan inte ångras och alla nya användare är numera publika som standard.</li></ul>
+      replace image: Ersätt nuvarande bild
       return to profile: Återvänd till profil
       save changes button: Spara ändringar
       title: Redigera konto
@@ -992,9 +1011,6 @@ sv:
       success: E-postadressen är bekräftad. Tack för att du registrerade dig!
     filter: 
       not_an_administrator: Du måste vara administratör för att få göra det.
-    friend_map: 
-      nearby mapper: "Användare i närheten: [[nearby_user]]"
-      your location: Din position
     go_public: 
       flash success: Alla dina ändringar är nu publika, och du får lov att redigera.
     login: 
@@ -1007,10 +1023,16 @@ sv:
       lost password link: Glömt ditt lösenord?
       password: "Lösenord:"
       please login: Logga in eller {{create_user_link}}
+      remember: "Kom ihåg mig:"
       title: Logga in
+    logout: 
+      heading: Logga ut från OpenStreetMap
+      logout_button: Logga ut
+      title: Logga ut
     lost_password: 
       email address: "E-postadress:"
       heading: Glömt lösenord?
+      help_text: Ange e-postadressen du använde för att registrera dig så skickar vi en länk till den som du kan använda för att återställa ditt lösenord.
       new password button: Återställ lösenord
       notice email cannot find: Kunde inte hitta den e-postadressen.
       notice email on way: Synd att du förlorade det, men ett nytt är på väg via e-post.
@@ -1022,9 +1044,15 @@ sv:
     new: 
       confirm email address: "Bekräfta e-postadress:"
       confirm password: "Bekräfta lösenord:"
+      contact_webmaster: Kontakta <a href="mailto:webmaster@openstreetmap.org">webmastern</a> för att få ett konto skapat - vi kommer att behandla ansökan så snabbt som möjligt.
+      display name: "Namn som visas:"
+      display name description: Ditt offentligt visade användarnamn. Du kan ändra detta senare i inställningarna.
       email address: "E-postadress:"
       fill_form: Fyll i formuläret så skickar vi ett e-brev för att aktivera ditt konto.
       heading: Skapa ett användarkonto
+      license_agreement: Genom att skapa ett konto accepterar du att alla uppgifter du lämnar in till OpenStreetMap projektet skall (icke-exklusivt) vara licensierat under <a href="http://creativecommons.org/licenses/by-sa/2.0/">denna Creative Commons-licens (by-sa)</a> .
+      no_auto_account_create: Tyvärr kan vi för närvarande inte kan skapa ett konto åt dig automatiskt.
+      not displayed publicly: Visas inte offentligt (se <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wikins sekretesspolicy inklusive avsnittet om e-postadresser">sekretesspolicyn</a>)
       password: "Lösenord:"
       signup: Registrering
       title: Skapa konto
@@ -1032,6 +1060,10 @@ sv:
       body: Det finns ingen användare med namnet {{user}}. Kontrollera stavningen eller kanske länken är trasig.
       heading: Användaren {{user}} finns inte
       title: Ingen sådan användare
+    popup: 
+      friend: Vän
+      nearby mapper: Användare i närheten
+      your location: Din position
     remove_friend: 
       not_a_friend: "{{name}} är inte en av dina vänner."
       success: "{{name}} togs bort från dina vänner."
@@ -1048,16 +1080,14 @@ sv:
     view: 
       activate_user: aktivera denna användare
       add as friend: lägg till som vän
-      add image: Lägg till bild
       ago: ({{time_in_words_ago}} sedan)
+      block_history: visa tilldelade blockeringar
       blocks by me: blockeringar av mig
       blocks on me: mina blockeringar
-      change your settings: ändra dina inställningar
       confirm: Bekräfta
       create_block: blockera denna användare
       created from: "Skapad från:"
       deactivate_user: deaktivera denna användare
-      delete image: Radera bild
       delete_user: radera denna användare
       description: Beskrivning
       diary: dagbok
@@ -1073,11 +1103,9 @@ sv:
       my edits: mina redigeringar
       my settings: Mina inställningar
       my traces: mina GPS-spår
-      my_oauth_details: Visa mina OAuth-detaljer
       nearby users: "Användare nära dig:"
       new diary entry: nytt dagboksinlägg
       no friends: Du har inte lagt till några vänner ännu.
-      no home location: Ingen hempostion är satt.
       no nearby users: Det finns inga som registrerat sin position i ditt område ännu.
       remove as friend: ta bort vän
       role: 
@@ -1093,8 +1121,6 @@ sv:
       settings_link_text: inställningar
       traces: spår
       unhide_user: sluta dölja användaren
-      upload an image: Ladda upp en bild
-      user image heading: Användarbild
       user location: Användarposition
       your friends: Dina vänner
   user_block: 
index d0a52007130732ac9a345ef1f53e80f985487ad4..f80b7150136cf8ceffe4a6c439bfd409cfe64c69 100644 (file)
@@ -178,9 +178,6 @@ te:
     user_diaries: వాడుకరి డైరీలు
     welcome_user: స్వాగతం, {{user_link}}
     welcome_user_link_tooltip: మీ వాడుకరి పేజీ
-  map: 
-    edit: మార్చు
-    view: చూడండి
   message: 
     inbox: 
       date: తేదీ
@@ -309,8 +306,6 @@ te:
       button: నిర్ధారించు
     confirm_email: 
       button: నిర్ధారించు
-    friend_map: 
-      your location: మీ ప్రాంతం
     login: 
       create_account: ఖాతాని సృష్టించుకోండి
       email or username: "ఈమెయిల్ చిరునామా లేదా వాడుకరిపేరు:"
@@ -339,15 +334,15 @@ te:
       title: ఖాతా సృష్టింపు
     no_such_user: 
       heading: "{{user}} వాడుకరి లేనే లేరు"
+    popup: 
+      your location: మీ ప్రాంతం
     reset_password: 
       confirm password: "సంకేతపదాన్ని నిర్ధారించండి:"
       flash changed: మీ సంకేతపదాన్ని మార్చాం.
       password: "సంకేతపదం:"
     view: 
-      add image: చిత్రాన్ని చేర్చు
       ago: ({{time_in_words_ago}} క్రితం)
       blocks on me: నా మీద నిరోధాలు
-      change your settings: మీ అమరికలను మార్చుకోండి
       confirm: నిర్ధారించు
       create_block: ఈ వాడుకరిని నిరోధించు
       delete_user: ఈ వాడుకరిని తొలగించు
@@ -364,8 +359,6 @@ te:
         administrator: ఈ వాడుకరి ఒక నిర్వాహకులు
       send message: సందేశాన్ని పంపించు
       settings_link_text: అమరికలు
-      upload an image: ఓ చిత్రాన్ని ఎక్కించండి
-      user image heading: వాడుకరి చిత్రం
       user location: వాడుకరి ప్రాంతం
       your friends: మీ స్నేహితులు
   user_block: 
index d8ecf6635ec85c2acb6c5dafa099fc5ff596bc3b..678fe9a0299d2358e74740585c94d910bbabadee 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Turkish (Türkçe)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Alerque
 # Author: Katpatuka
 tr: 
   activerecord: 
@@ -34,7 +35,30 @@ tr:
   browse: 
     common_details: 
       changeset_comment: "Yorum:"
-  map: 
-    coordinates: "Koordinatları:"
-    edit: Düzenle
-    view: Görünüm
+    relation: 
+      download: "{{download_xml_link}} veya {{view_history_link}}"
+      download_xml: XML indir
+      view_history: Geçmişi görüntüle
+    start_rjs: 
+      data_frame_title: Veri
+      details: Ayrıntılar
+      edited_by_user_at_timestamp: "[[user]] tarafından düzenlendi ([[timestamp]])"
+      show_history: Geçmişi görüntüle
+      wait: Bekleyin...
+  trace: 
+    edit: 
+      description: "Açıklama:"
+      map: harita
+      save_button: Değişiklikleri Kaydet
+      tags: "Etiketler:"
+      tags_help: virgülle ayrılmış
+    trace: 
+      ago: "{{time_in_words_ago}} önce"
+      count_points: "{{count}} puan"
+      edit: değiştir
+      in: içinde
+      map: harita
+      more: daha fazla
+      private: ÖZEL
+    trace_paging_nav: 
+      previous: "&laquo; Önceki"
index 57ea9624ab04ec322738b1676508cdfd2e7164c4..4736b5df778469251bb50ddefd9ba04a55e85de9 100644 (file)
@@ -4,6 +4,7 @@
 # Author: AS
 # Author: Andygol
 # Author: Prima klasy4na
+# Author: Yurkoy
 uk: 
   activerecord: 
     attributes: 
@@ -322,6 +323,10 @@ uk:
       recent_entries: "Останні записи:"
       title: Щоденник
       user_title: Щоденник користувача {{user}}
+    location: 
+      edit: Редагувати
+      location: "Місце:"
+      view: Переглянути
     new: 
       title: Створити новий запис у щоденнику
     no_such_entry: 
@@ -361,6 +366,9 @@ uk:
       output: Результат
       paste_html: HTML-код для вбудовування до сайту
       scale: Масштаб
+      too_large: 
+        body: Ця ділянка дуже велика для експорту у вигляді XML-даних OpenStreetMap. Будь ласка наблизьтесь або виберіть меншу ділянку.
+        heading: Завелика площа
       zoom: Збільшити
     start_rjs: 
       add_marker: Додати маркер на мапу
@@ -692,7 +700,9 @@ uk:
           moor: Мур
           municipality: Муніципалітет
           postcode: Індекс
+          region: Район
           sea: Море
+          state: Область/Штат
           subdivision: Підрозділ
           suburb: Передмістя
           town: Місто
@@ -745,12 +755,14 @@ uk:
           copyshop: Послуги копіювання
           cosmetics: Магазин косметики
           department_store: Універмаг
+          discount: Уцінені товари
           doityourself: Зроби сам
           drugstore: Аптека
           dry_cleaning: Хімчистка
           electronics: Магазин електроніки
           estate_agent: Агентство нерухомості
           farm: Сільпо
+          fashion: Модний одяг
           fish: Риба
           florist: Квіти
           food: Продовольчі товари
@@ -777,6 +789,7 @@ uk:
           newsagent: Газетний кіоск
           optician: Оптика
           organic: Продовольчий магазин
+          outdoor: Виносна торгівля
           pet: Зоомагазин
           photo: Фотомагазин
           salon: Салон
@@ -836,22 +849,24 @@ uk:
         cycle_map: Мапа для велосипедистів
         noname: БезНазви
     site: 
+      edit_disabled_tooltip: Збільшить масштаб для редагування мапи
+      edit_tooltip: Редагування мапи
       edit_zoom_alert: Потрібно збільшити масштаб мапи для її редагування
+      history_disabled_tooltip: Збільшить масштаб для перегляду правок на цій ділянці
+      history_tooltip: Перегляд правок для цієї ділянки
       history_zoom_alert: Потрібно збільшити масштаб мапи, щоб побачити історію правок
   layouts: 
     donate: Підтримайте OpenStreetMap {{link}} у фонді оновлення обладнання.
     donate_link_text: пожертвування
     edit: Правка
-    edit_tooltip: Редагувати мапу
     export: Експорт
     export_tooltip: Експортувати картографічні дані
     gps_traces: GPS-треки
-    gps_traces_tooltip: Ð\9fÑ\80аÑ\86Ñ\8eваÑ\82и Ð· треками
+    gps_traces_tooltip: Ð£Ð¿Ñ\80авлÑ\96ннÑ\8f GPS треками
     help_wiki: Довідка та Вікі
     help_wiki_tooltip: Довідка та Вікі проекту
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Uk:Main_Page?uselang=uk
     history: Історія
-    history_tooltip: Історія наборів змін
     home: додому
     home_tooltip: Показати моє місце знаходження
     inbox: вхідні ({{count}})
@@ -864,6 +879,7 @@ uk:
     intro_2: OpenStreetMap дозволяє спільно переглядати, змінювати і використовувати географічні дані в будь-якій точці Землі.
     intro_3: Послуги хостингу для OpenStreetMap привітно надають {{ucl}} та {{bytemark}}. Список інших партнерів, що надають підтримку проекту розміщено в {{partners}}.
     intro_3_bytemark: bytemark
+    intro_3_partners: вікі
     intro_3_ucl: UCL VR Centre
     license: 
       title: Дані OpenStreetMap ліцензовано за Загальною Ліцензією Creative Commons Attribution-Share Alike 2.0
@@ -892,10 +908,6 @@ uk:
     view_tooltip: Переглянути мапу
     welcome_user: Вітаємо, {{user_link}}
     welcome_user_link_tooltip: Ваша сторінка користувача
-  map: 
-    coordinates: "Координати:"
-    edit: Правка
-    view: Мапа
   message: 
     delete: 
       deleted: Повідомлення вилучено
@@ -926,10 +938,14 @@ uk:
       send_message_to: Відправити нове повідомлення для {{name}}
       subject: "Тема:"
       title: Відправити повідомлення
+    no_such_message: 
+      body: Вибачте, але повідомлення з цим ідентифікатором не існує.
+      heading: Повідомлення відсутнє
+      title: Повідомлення відсутнє
     no_such_user: 
-      body: На жаль, не вдалося знайти користувача або повідомлення з таким ім'ям або ідентифікатором
-      heading: Немає такого користувача/повідомлення
-      title: Немає такого користувача/повідомлення
+      body: На жаль, немає користувача з таким ім'ям.
+      heading: Немає такого користувача
+      title: Немає такого користувача
     outbox: 
       date: Дата
       inbox: вхідні
@@ -953,6 +969,9 @@ uk:
       title: Перегляд повідомлення
       to: "Кому:"
       unread_button: Позначити як непрочитане
+      wrong_user: Ви увійшли як `{{user}}', але повідомлення, яке ви хочете прочитати, не було відправлено цим користувачем, чи призначено для цього користувача. Будь ласка, увійдіть під правильним ім'ям користувача, щоб прочитати його.
+    reply: 
+      wrong_user: Ви увійшли як `{{user}}', але повідомлення, на яке ви хочете відповісти, було відправлено не цьому користувачу. Будь ласка, увійдіть за правильним ім'ям користувача щоб відповісти.
     sent_message_summary: 
       delete_button: Вилучити
   notifier: 
@@ -973,8 +992,9 @@ uk:
       hopefully_you_1: Хтось (сподіваємось, ви) хоче змінити адресу електронної пошти з
       hopefully_you_2: "{{server_url}} на адресу: {{new_address}}."
     friend_notification: 
+      befriend_them: Ви також можете додати їх у якості друзів {{befriendurl}}.
       had_added_you: "{{user}} додав Вас як друга у OpenStreetMap."
-      see_their_profile: "Ви можете переглянути інформацію про нього (неї) за посиланням: {{userurl}} і теж додати його(її) як друга."
+      see_their_profile: Ви можете побачити їх профіль на {{userurl}}.
       subject: "[OpenStreetMap] {{user}} додав Вас як друга"
     gpx_notification: 
       and_no_tags: та без теґів.
@@ -1077,7 +1097,7 @@ uk:
       list_tokens: "Наступні маркери були випущені для застосунків на ваше ім’я:"
       my_apps: Мої клієнтські застосунки
       my_tokens: Мої автентифіковані застосунки
-      no_apps: Чи є у вас програми, які б ви хотіли зареєструватися для взаємодії з нами через стандарт {{oauth}}? Ви повинні зареєструвати ваше веб-застосунок перед тим, як він зможе зробити OAuth-запит до цієї служби.
+      no_apps: Чи є у вас програми, які б ви хотіли зареєструватися для взаємодії з нами через стандарт {{oauth}}? Ви повинні зареєструвати ваш веб-застосунок перед тим, як він зможе зробити OAuth-запит до цієї служби.
       register_new: Зареєструвати ваш застосунок
       registered_apps: "У вас зареєстровані наступні клієнтські застосунки:"
       revoke: Відкликати!
@@ -1201,6 +1221,9 @@ uk:
     sidebar: 
       close: Закрити
       search_results: Результати пошуку
+  time: 
+    formats: 
+      friendly: "%e %B %Y в %H:%M"
   trace: 
     create: 
       trace_uploaded: Ваш GPX-файл був надісланий та чекає додання у базу даних. Це зазвичай відбувається протягом півгодини, після чого вам буде надіслано листа.
@@ -1241,11 +1264,12 @@ uk:
     offline_warning: 
       message: Доступ до системи завантаження GPX-файлів на поточний момент відсутній
     trace: 
-      ago: "{{time_in_words_ago}} назад"
+      ago: "{{time_in_words_ago}} тому"
       by: "Автор:"
       count_points: "{{count}} точок"
       edit: правити
       edit_map: Правити Мапу
+      identifiable: ІДЕНТИФІКОВУВАНИЙ
       in: у
       map: мапа
       more: більше
@@ -1253,6 +1277,7 @@ uk:
       private: ПРИВАТНИЙ
       public: ЗАГАЛЬНИЙ
       trace_details: Показати дані треку
+      trackable: ВІДСТЕЖУВАННИЙ
       view_map: Перегляд Мапи
     trace_form: 
       description: Опис
@@ -1300,14 +1325,21 @@ uk:
       trackable: Відстежуванний  (доступний тільки як анонімний, впорядковані точки з часовими позначками)
   user: 
     account: 
-      email never displayed publicly: /n(ніколи не показується загальнодоступно)
+      current email address: "Поточна адреса електронної пошти:"
+      delete image: Видалити поточне зображення
+      email never displayed publicly: "\n(ніколи не показується загальнодоступно)"
       flash update success: Інформацію про користувача успішно оновлено.
       flash update success confirm needed: Інформацію про користувача успішно оновлено. Перевірте свою електронну пошту, щоб підтвердити вашу нову адресу.
       home location: "Основне місце розташування:"
+      image: "Зображення:"
+      image size hint: (найкраще підходять квадратні зображення, принаймні 100х100)
+      keep image: Залишити поточне зображення
       latitude: "Широта:"
       longitude: "Довгота:"
       make edits public button: Зробити всі мої правки загальнодоступними
       my settings: Мої налаштування
+      new email address: "Нова адреса електронної пошти:"
+      new image: Додати зображення
       no home location: Ви не позначили своє основне місце розташування.
       preferred languages: "Бажані мови:"
       profile description: "Опис профілю:"
@@ -1321,6 +1353,7 @@ uk:
       public editing note: 
         heading: Загальнодоступна правка
         text: На даний момент ваші редагування анонімні й ніхто не може відправляти вам повідомлення або бачити ваше місце розташування. Щоб показати, що ви редагували і дозволити людям зв'язатися з вами через веб-сайт, натисніть на кнопку нижче. <b>З переходом на  API версії 0.6, тільки загальнодоступні користувачі можуть правити мапу.</b>  (<a href="http://wiki.openstreetmap.org/wiki/Uk:Anonymous_edits">З'ясувати, чому</a>). <ul><li>Ваша електронна адреса не буде розкрита іншим, але зв’язатись з вами стане можливо.</li><li>Ця дія не має зворотної сили, а всі нові користувачі зазвичай тепер доступні для зв'язку.</li></ul>
+      replace image: Замінити поточне зображення
       return to profile: Повернення до профілю
       save changes button: Зберегти зміни
       title: Правка облікового запису
@@ -1339,9 +1372,6 @@ uk:
       success: Адресу вашої електронної пошти підтверджено, дякуємо за реєстрацію!
     filter: 
       not_an_administrator: Тільки адміністратор може виконати цю дію.
-    friend_map: 
-      nearby mapper: "Найближчий користувач: [[nearby_user]]"
-      your location: Ваше місце розташування
     go_public: 
       flash success: Всі ваші правки тепер є загальнодоступними, і ви тепер можете правити.
     login: 
@@ -1354,6 +1384,7 @@ uk:
       lost password link: Забули пароль?
       password: "Пароль:"
       please login: Будь ласка, представтесь або {{create_user_link}}.
+      remember: "Запам'ятати мене:"
       title: Представтесь
     lost_password: 
       email address: "Адреса ел. пошти:"
@@ -1387,6 +1418,10 @@ uk:
       body: Вибачте, немає користувача з ім'ям {{user}}. Будь ласка, перевірте правильність його введення. Можливо, ви перейшли з помилкового посилання.
       heading: Користувача {{user}} не існує.
       title: Немає такого користувача
+    popup: 
+      friend: Друг
+      nearby mapper: Найближчий користувач
+      your location: Ваше місце розташування
     remove_friend: 
       not_a_friend: "{{name}} не є вашим другом."
       success: "{{name}} вилучений з вашого списку друзів."
@@ -1403,17 +1438,14 @@ uk:
     view: 
       activate_user: активувати цього користувача
       add as friend: додати до списку друзів
-      add image: Додати зображення
-      ago: ({{time_in_words_ago}} назад)
+      ago: ({{time_in_words_ago}} тому)
       block_history: отримані блокування
       blocks by me: заблоковано мною
       blocks on me: мої блокування
-      change your settings: змінити налаштування
       confirm: Підтвердити
       create_block: блокувати користувача
       created from: "Створено з:"
       deactivate_user: де-активувати цього користувача
-      delete image: Вилучити зображення
       delete_user: вилучити цього користувача
       description: Опис
       diary: щоденник
@@ -1429,12 +1461,11 @@ uk:
       my edits: мої правки
       my settings: мої налаштування
       my traces: мої треки
-      my_oauth_details: Перегляд подробиць OAuth
-      nearby users: "Найближчі користувачі:"
+      nearby users: Інші найближчі користувачі
       new diary entry: новий запис
       no friends: Ви не додали ще жодного друга.
-      no home location: Місце знаходження не було вказано.
       no nearby users: Поблизу поки немає користувачів, які займаються складанням мапи.
+      oauth settings: налаштування OAuth
       remove as friend: вилучити із списку друзів
       role: 
         administrator: Цей користувач є адміністратором
@@ -1449,8 +1480,6 @@ uk:
       settings_link_text: налаштування
       traces: треки
       unhide_user: відобразити цього користувача
-      upload an image: Завантажити зображення на сервер
-      user image heading: Зображення користувача
       user location: Місце знаходження користувача
       your friends: Ваші друзі
   user_block: 
index 323a77f805e3ea5b35709cdd5ee32fc9251ade35..f777fdef7881a9ac4fb7db61059ad28d018d74ee 100644 (file)
@@ -212,6 +212,13 @@ vi:
       zoom_or_select: Phóng to hoặc chọn vùng bản đồ để xem
     tag_details: 
       tags: "Thẻ:"
+    timeout: 
+      sorry: Rất tiếc, đã chờ lấy dữ liệu của {{type}} có ID {{id}} quá lâu.
+      type: 
+        changeset: bộ thay đổi
+        node: nốt
+        relation: quan hệ
+        way: lối
     way: 
       download: "{{download_xml_link}}, {{view_history_link}}, hoặc {{edit_link}}"
       download_xml: Tải xuống XML
@@ -309,6 +316,10 @@ vi:
       recent_entries: "Mục nhật ký gần đây:"
       title: Các Nhật ký Cá nhân
       user_title: Nhật ký của {{user}}
+    location: 
+      edit: Sửa
+      location: "Vị trí:"
+      view: Xem
     new: 
       title: Mục Nhật ký Mới
     no_such_entry: 
@@ -324,7 +335,7 @@ vi:
       login: Đăng nhập
       login_to_leave_a_comment: "{{login_link}} để bình luận"
       save_button: Lưu
-      title: Các Nhật ký Cá nhân | {{user}}
+      title: Nhật ký của {{user}} | {{title}}
       user_title: Nhật ký của {{user}}
   export: 
     start: 
@@ -348,6 +359,9 @@ vi:
       output: Đầu ra
       paste_html: Dán HTML để nhúng vào trang Web
       scale: Tỷ lệ
+      too_large: 
+        body: Khu vực này quá lớn để xuất dữ liệu OpenStreetMap XML được. Xin hãy phóng to hoặc lựa chọn khu vực nhỏ hơn.
+        heading: Khu vực Lớn quá
       zoom: Thu phóng
     start_rjs: 
       add_marker: Đánh dấu vào bản đồ
@@ -383,6 +397,7 @@ vi:
       other: khoảng {{count}} km
       zero: không tới 1 km
     results: 
+      more_results: Thêm kết quả
       no_results: Không tìm thấy kết quả
     search: 
       title: 
@@ -409,6 +424,7 @@ vi:
           bicycle_rental: Chỗ Mướn Xe đạp
           cafe: Quán Cà phê
           car_rental: Chỗ Mướn Xe
+          car_sharing: Chia sẻ Xe cộ
           car_wash: Tiệm Rửa Xe
           casino: Sòng bạc
           cinema: Rạp phim
@@ -463,10 +479,14 @@ vi:
           university: Trường Đại học
           waste_basket: Thùng rác
           wifi: Điểm Truy cập Không dây
+          youth_centre: Trung tâm Thanh niên
         boundary: 
           administrative: Biên giới Hành chính
         building: 
+          bunker: Boong ke
           church: Nhà thờ
+          city_hall: Trụ sở Thành phố
+          commercial: Tòa nhà Thương mại
           dormitory: Ký túc xá
           entrance: Cửa vào
           garage: Ga ra
@@ -478,6 +498,7 @@ vi:
           store: Tiệm
           tower: Tháp
           train_station: Nhà ga
+          university: Tòa nhà Đại học
         highway: 
           bridleway: Đường Cưỡi ngựa
           bus_stop: Chỗ Đậu Xe buýt
@@ -513,6 +534,7 @@ vi:
           house: Nhà ở
           icon: Thánh tượng
           manor: Trang viên
+          memorial: Đài Tưởng niệm
           mine: Mỏ
           monument: Đài Kỷ niệm
           museum: Bảo tàng
@@ -573,7 +595,9 @@ vi:
           channel: Eo biển
           cliff: Vách đá
           coastline: Bờ biển
+          geyser: Mạch nước Phun
           glacier: Sông băng
+          heath: Bãi Hoang
           hill: Đồi
           island: Đảo
           land: Đất
@@ -610,14 +634,20 @@ vi:
           village: Làng
         railway: 
           construction: Đường sắt Đang Xây
+          disused_station: Nhà ga Đóng cửa
           funicular: Đường sắt Leo núi
           historic_station: Nhà ga Lịch sử
+          junction: Ga Đầu mối
           monorail: Đường Một Ray
+          station: Nhà ga
           subway: Trạm Xe điện Ngầm
+          subway_entrance: Cửa vào Nhà ga Xe điện ngầm
+          tram: Đường Xe điện
         shop: 
           bakery: Tiệm Bánh
           bicycle: Tiệm Xe đạp
           books: Tiệm Sách
+          car: Tiệm Xe hơi
           car_dealer: Cửa hàng Xe hơi
           car_repair: Tiệm Sửa Xe
           carpet: Tiệm Thảm
@@ -630,12 +660,15 @@ vi:
           fashion: Tiệm Thời trang
           fish: Tiệm Cá
           florist: Tiệm Hoa
+          food: Tiệm Thực phẩm
           grocery: Tiệm Tạp phẩm
           hairdresser: Tiệm Làm tóc
           insurance: Bảo hiểm
+          jewelry: Tiệm Kim hoàn
           laundry: Tiệm Giặt Quần áo
           mall: Trung tâm Mua sắm
           market: Chợ
+          mobile_phone: Tiệm Điện thoại Di động
           motorcycle: Cửa hàng Xe mô tô
           music: Tiệm Nhạc
           newsagent: Tiệm Báo
@@ -644,6 +677,7 @@ vi:
           salon: Tiệm Làm tóc
           shoes: Tiệm Giày
           shopping_centre: Trung tâm Mua sắm
+          sports: Tiệm Thể thao
           supermarket: Siêu thị
           toys: Tiệm Đồ chơi
           travel_agency: Văn phòng Du lịch
@@ -662,6 +696,7 @@ vi:
         waterway: 
           canal: Kênh
           dam: Đập
+          rapids: Thác ghềnh
           river: Sông
           riverbank: Bờ sông
           stream: Dòng suối
@@ -676,22 +711,24 @@ vi:
       overlays: 
         maplint: Maplint
     site: 
+      edit_disabled_tooltip: Phóng to để sửa đổi bản đồ
+      edit_tooltip: Sửa đổi bản đồ
       edit_zoom_alert: Hãy phóng to hơn để sửa đổi bản đồ
+      history_disabled_tooltip: Phóng to để xem danh sách sửa đổi trong khu vực này
+      history_tooltip: Xem danh sách sửa đổi trong khu vực này
       history_zoom_alert: Hãy phóng to hơn để xem lịch sử sửa đổi
   layouts: 
     donate: Hỗ trợ OpenStreetMap bằng cách {{link}} cho Quỹ Nâng cấp Phần cứng.
     donate_link_text: quyên góp
     edit: Sửa đổi
-    edit_tooltip: Sửa đổi bản đồ
     export: Xuất
     export_tooltip: Xuất dữ liệu bản đồ
     gps_traces: Tuyến đường GPS
-    gps_traces_tooltip: Quản lý tuyến đường
+    gps_traces_tooltip: Quản lý tuyến đường GPS
     help_wiki: Trợ giúp &amp; Wiki
     help_wiki_tooltip: Site trợ giúp &amp; wiki của dự án
     help_wiki_url: http://wiki.openstreetmap.org/wiki/Vi:Main_Page?uselang=vi
     history: Lịch sử
-    history_tooltip: Lịch sử bộ thay đổi
     home: nhà
     home_tooltip: Về vị trí nhà
     inbox: hộp thư ({{count}})
@@ -701,7 +738,8 @@ vi:
       zero: Hộp thư của bạn không có thư chưa đọc
     intro_1: OpenStreetMap là bản đồ thế giới nguồn mở, do những người như bạn vẽ.
     intro_2: OpenStreetMap cho phép xem, sửa đổi, và sử dụng dữ liệu địa lý một cách cộng tác ở mọi nơi trên thế giới.
-    intro_3: OpenStreetMap hoạt động do sự hỗ trợ hosting của {{ucl}} và {{bytemark}}.
+    intro_3: OpenStreetMap hoạt động nhờ sự hỗ trợ hosting của {{ucl}} và {{bytemark}}. Các nhà bảo trợ khác được liệt kê tại {{partners}}.
+    intro_3_partners: wiki
     intro_3_ucl: Trung tâm VR tại UCL
     license: 
       alt: CC BY-SA 2.0
@@ -732,10 +770,6 @@ vi:
     view_tooltip: Xem bản đồ
     welcome_user: Hoan nghênh, {{user_link}}
     welcome_user_link_tooltip: Trang cá nhân của bạn
-  map: 
-    coordinates: "Tọa độ:"
-    edit: Sửa đổi
-    view: Hiển thị
   message: 
     delete: 
       deleted: Đã xóa thư
@@ -766,10 +800,14 @@ vi:
       send_message_to: Gửi thư mới cho {{name}}
       subject: Tiêu đề
       title: Gửi thư
+    no_such_message: 
+      body: Rất tiếc, không có thư nào với ID đó.
+      heading: Thư không tồn tại
+      title: Thư không tồn tại
     no_such_user: 
-      body: Rất tiếc, không có người dùng hoặc thư với tên hoặc ID đó
-      heading: Người dùng hoặc thư không tồn tại
-      title: Người dùng hoặc thư không tồn tại
+      body: Rất tiếc, không có người dùng với tên đó.
+      heading: Người dùng không tồn tại
+      title: Người dùng không tồn tại
     outbox: 
       date: Ngày
       inbox: thư đến
@@ -813,8 +851,9 @@ vi:
       hopefully_you_1: Ai (chắc bạn) muốn đổi địa chỉ thư điện tử bên
       hopefully_you_2: "{{server_url}} thành {{new_address}}."
     friend_notification: 
+      befriend_them: Cũng có thể thêm họ vào danh sách người bạn tại {{befriendurl}}.
       had_added_you: "{{user}} đã thêm bạn vào danh sách bạn tại OpenStreetMap."
-      see_their_profile: Có thể xem trang cá nhân của họ tại {{userurl}} và cũng thêm họ vào danh sách của bạn tùy ý.
+      see_their_profile: Có thể xem trang cá nhân của họ tại {{userurl}}.
       subject: "[OpenStreetMap] {{user}} đã thêm bạn là người bạn"
     gpx_notification: 
       and_no_tags: và không có thẻ
@@ -1043,6 +1082,9 @@ vi:
     sidebar: 
       close: Đóng
       search_results: Kết quả Tìm kiếm
+  time: 
+    formats: 
+      friendly: "%e tháng %m năm %Y lúc %H:%M"
   trace: 
     create: 
       trace_uploaded: Tập tin GPX của bạn đã được tải lên và đang chờ được chèn vào cơ sở dữ liệu. Thường chỉ cần chờ đợi trong vòng nửa tiếng, và bạn sẽ nhận thư điện tử lúc khi nó xong.
@@ -1115,6 +1157,10 @@ vi:
       traces_waiting: Bạn có {{count}} tuyến đường đang chờ được tải lên. Xin hãy chờ đợi việc xong trước khi tải lên thêm tuyến đường, để cho người khác vào hàng đợi kịp.
     trace_optionals: 
       tags: Thẻ
+    trace_paging_nav: 
+      next: Sau »
+      previous: « Trước
+      showing_page: Đang hiện trang {{page}}
     view: 
       delete_track: Xóa tuyến đường này
       description: "Miêu tả:"
@@ -1141,14 +1187,21 @@ vi:
       trackable: Theo dõi được (chỉ hiển thị một dãy điểm vô danh có thời điểm)
   user: 
     account: 
+      current email address: "Địa chỉ Thư điện tử Hiện tại:"
+      delete image: Xóa hình hiện dùng
       email never displayed publicly: (không lúc nào hiện công khai)
       flash update success: Đã cập nhật thông tin cá nhân thành công.
       flash update success confirm needed: Đã cập nhật thông tin cá nhân thành công. Kiểm tra thư điện tử xác nhận địa chỉ thư điện tử mới.
       home location: "Vị trí Nhà:"
+      image: "Hình:"
+      image size hint: (hình vuông ít nhất 100×100 điểm ảnh là tốt nhất)
+      keep image: Giữ hình hiện dùng
       latitude: "Vĩ độ:"
       longitude: "Kinh độ:"
       make edits public button: Phát hành công khai các sửa đổi của tôi
       my settings: Tùy chọn
+      new email address: "Địa chỉ Thư điện tử Mới:"
+      new image: Thêm hình
       no home location: Bạn chưa định vị trí nhà.
       preferred languages: "Ngôn ngữ Ưu tiên:"
       profile description: "Tự giới thiệu:"
@@ -1162,6 +1215,7 @@ vi:
       public editing note: 
         heading: Sửa đổi công khai
         text: "Các sửa đổi của bạn đang vô danh, và không ai có thể gửi thư cho bạn hay xem bạn ở đâu. Để cho phép mọi người biết bạn sửa đổi gì và gửi thư cho bạn dùng trang Web, bấm nút ở dưới. <b>Từ lúc đổi qua phiên bản 0.6 của API, chỉ có những người dùng công khai có quyền sửa đổi dữ liệu bản đồ</b> (<a href=\"http://wiki.openstreetmap.org/wiki/Anonymous_edits?uselang=vi\">tìm hiểu tại sao</a>).\n<ul>\n<li>Địa chỉ thư điện tử của bạn vẫn không được phát hành công khai sau khi bắt đầu sửa đổi công khai.</li>\n<li>Không thể lùi lại tác vụ này, và mọi người dùng mới hiện là người dùng công khai theo mặc định.</li>\n</ul>"
+      replace image: Thay hình hiện dùng
       return to profile: Trở về trang cá nhân
       save changes button: Lưu các Thay đổi
       title: Chỉnh sửa tài khoản
@@ -1180,9 +1234,6 @@ vi:
       success: Đã xác nhận địa chỉ thư điện tử mới. Cám ơn bạn đã đăng ký!
     filter: 
       not_an_administrator: Chỉ các quản lý viên có quyền thực hiện tác vụ đó.
-    friend_map: 
-      nearby mapper: "Người vẽ bản đồ ở gần: [[nearby_user]]"
-      your location: Vị trí của bạn
     go_public: 
       flash success: Tất cả các sửa đổi của bạn được phát hành công khai, và bạn mới được phép sửa đổi.
     login: 
@@ -1195,7 +1246,12 @@ vi:
       lost password link: Quên mất Mật khẩu?
       password: "Mật khẩu:"
       please login: Xin hãy đăng nhập hoặc {{create_user_link}}.
+      remember: "Nhớ tôi:"
       title: Đăng nhập
+    logout: 
+      heading: Đăng xuất OpenStreetMap
+      logout_button: Đăng xuất
+      title: Đăng xuất
     lost_password: 
       email address: "Địa chỉ Thư điện tử:"
       heading: Quên mất Mật khẩu?
@@ -1228,6 +1284,10 @@ vi:
       body: Rất tiếc, không có người dùng với tên {{user}}. Xin hãy kiểm tra chính tả, hoặc có lẽ bạn đã theo một liên kết sai.
       heading: Người dùng {{user}} không tồn tại
       title: Người dùng không tồn tại
+    popup: 
+      friend: Người bạn
+      nearby mapper: Người vẽ bản đồ ở gần
+      your location: Vị trí của bạn
     remove_friend: 
       not_a_friend: "{{name}} đã không phải người bạn."
       success: "{{name}} không còn là người bạn."
@@ -1244,17 +1304,14 @@ vi:
     view: 
       activate_user: kích hoạt tài khoản này
       add as friend: thêm là người bạn
-      add image: Thêm Hình
       ago: (cách đây {{time_in_words_ago}})
       block_history: xem các tác vụ cấm người này
       blocks by me: tác vụ cấm bởi tôi
       blocks on me: tác vụ cấm tôi
-      change your settings: thay đổi tùy chọn của bạn
       confirm: Xác nhận
       create_block: cấm người dùng này
       created from: "Địa chỉ IP khi mở:"
       deactivate_user: vô hiệu hóa tài khoản này
-      delete image: Xóa Hình
       delete_user: xóa tài khoản này
       description: Miêu tả
       diary: nhật ký
@@ -1270,12 +1327,11 @@ vi:
       my edits: đóng góp của tôi
       my settings: tùy chọn
       my traces: tuyến đường của tôi
-      my_oauth_details: Xem chi tiết OAuth của tôi
-      nearby users: "Người dùng ở gần:"
+      nearby users: Người dùng khác ở gần
       new diary entry: mục nhật ký mới
       no friends: Bạn chưa thêm người bạn.
-      no home location: Chưa đặt vị trí nhà.
-      no nearby users: Chưa có người dùng nào nhận là họ ở gần.
+      no nearby users: Không có người dùng nào nhận rằng họ ở gần.
+      oauth settings: Thiết lập OAuth
       remove as friend: dời người bạn
       role: 
         administrator: Người dùng này là quản lý viên
@@ -1290,8 +1346,6 @@ vi:
       settings_link_text: tùy chọn
       traces: tuyến đường
       unhide_user: hiện tài khoản này
-      upload an image: Tải lên hình
-      user image heading: Hình người dùng
       user location: Vị trí của người dùng
       your friends: Người bạn của bạn
   user_block: 
index 88a696a4f4e04a5832df525cb8134771186acff0..37cd27e24b86edf81f1fc2526f036d6c5fab4bc4 100644 (file)
@@ -10,8 +10,24 @@ yi:
         user: באַניצער
       trace: 
         user: באַניצער
+      user: 
+        pass_crypt: פאַסווארט
     models: 
       country: לאנד
       language: שפראך
       user: באניצער
       way: וועג
+  layouts: 
+    history: היסטאריע
+  message: 
+    message_summary: 
+      delete_button: אויסמעקן
+    sent_message_summary: 
+      delete_button: אויסמעקן
+  user: 
+    login: 
+      password: "פאַסווארט:"
+    new: 
+      password: "פאַסווארט:"
+    reset_password: 
+      password: "פאַסווארט:"
index a62f76d6538b7330021c499fdfa0206acaebd420..b9cd9ae55aa433b4b3f49d72c320c5212e097472 100644 (file)
@@ -265,14 +265,12 @@ zh-CN:
     donate: 通过下面的{{link}}到Hardware Upgrade Fund来支持。
     donate_link_text: 捐款
     edit: 编辑
-    edit_tooltip: 编辑地图
     export: 输出
     export_tooltip: 输出地图数据
     gps_traces: GPS 追踪
     gps_traces_tooltip: 管理追踪
     help_wiki: 帮助 &amp; Wiki
     history: 历史
-    history_tooltip: Changeset历史
     home: 主页
     home_tooltip: 回到主页位置
     inbox: 收件箱 ({{count}})
@@ -302,10 +300,6 @@ zh-CN:
     view_tooltip: 查看地图
     welcome_user: 欢迎, {{user_link}}
     welcome_user_link_tooltip: 您的用户页面
-  map: 
-    coordinates: "坐标:"
-    edit: 编辑
-    view: 查看
   message: 
     inbox: 
       date: 日期
@@ -507,9 +501,6 @@ zh-CN:
       heading: 确认用户帐户
       press confirm button: 按下面的确认键激活您的帐户。
       success: 确认您的账号,感谢您的注册!
-    friend_map: 
-      nearby mapper: "附近用户: [[nearby_user]]"
-      your location: 您的位置
     go_public: 
       flash success: 您的所有编辑现在均已公开,现在允许您开始编辑。
     login: 
@@ -552,6 +543,9 @@ zh-CN:
       body: 对不起,没有此名{{user}}所对应的用户。请检查您的拼写,或者可能您点击了错误链接。
       heading: 这个用户{{user}} 不存在
       title: 没有此用户
+    popup: 
+      nearby mapper: 附近用户
+      your location: 您的位置
     remove_friend: 
       not_a_friend: "{{name}}不是您的朋友。"
       success: "{{name}} 从您的朋友中删除。"
@@ -562,10 +556,7 @@ zh-CN:
       flash success: 成功保存您所在位置
     view: 
       add as friend: 添加为好友
-      add image: 添加图片
       ago: ({{time_in_words_ago}} 以前)
-      change your settings: 更改您的设置
-      delete image: 删除头像
       description: 描述
       diary: 日志
       edits: 编辑
@@ -578,12 +569,9 @@ zh-CN:
       nearby users: "附近用户:"
       new diary entry: 新日志入口
       no friends: 您还没有添加任何好友。
-      no home location: 未设定所在位置。
       no nearby users: 这里没有在您附近的用户。
       remove as friend: 删除好友
       send message: 发送信息
       settings_link_text: 设定
-      upload an image: 上传图片
-      user image heading: 用户头像
       user location: 用户位置
       your friends: 您的朋友
index 2885c3afdd60e7229f1fc4094595c094490e48cd..7c558f4047dfaefe21322298e3d418f734d11e8c 100644 (file)
@@ -375,7 +375,6 @@ zh-TW:
     donate: 以 {{link}} 給硬體升級基金來支援 OpenStreetMap。
     donate_link_text: 捐獻
     edit: 編輯
-    edit_tooltip: 編輯地圖
     export: 匯出
     export_tooltip: 匯出地圖資料
     gps_traces: GPS 軌跡
@@ -383,7 +382,6 @@ zh-TW:
     help_wiki: 求助 &amp; Wiki
     help_wiki_tooltip: 本計畫的求助 &amp; Wiki 網站
     history: 歷史
-    history_tooltip: 變更組合歷史
     home: 家
     home_tooltip: 移至家位置
     inbox: 收件匣 ({{count}})
@@ -415,10 +413,6 @@ zh-TW:
     view_tooltip: 檢視地圖
     welcome_user: 歡迎,{{user_link}}
     welcome_user_link_tooltip: 您的使用者頁面
-  map: 
-    coordinates: 坐標:
-    edit: 編輯
-    view: 檢視
   message: 
     delete: 
       deleted: 訊息已刪除
@@ -830,9 +824,6 @@ zh-TW:
       heading: 確認電子郵件位址的變更
       press confirm button: 按下確認按鈕以確認您的新電子郵件位址。
       success: 已確認您的電子郵件位址,感謝您的註冊!
-    friend_map: 
-      nearby mapper: 附近的製圖者:
-      your location: 您的位置
     go_public: 
       flash success: 現在您所有的編輯都是公開的,因此您已有編輯的權利。
     login: 
@@ -876,6 +867,9 @@ zh-TW:
       body: 抱歉,沒有名為 {{user}} 的使用者。請檢查您的拼字,或者可能是按到錯誤的連結。
       heading: 使用者 {{user}} 不存在
       title: 沒有這個使用者
+    popup: 
+      nearby mapper: 附近的製圖者
+      your location: 您的位置
     remove_friend: 
       not_a_friend: "{{name}} 並不在您的朋友裡。"
       success: "{{name}} 已從您的朋友中移除。"
@@ -891,10 +885,7 @@ zh-TW:
       flash success: 家的位置成功的儲存
     view: 
       add as friend: 加入朋友
-      add image: 加入圖片
       ago: ({{time_in_words_ago}} 之前)
-      change your settings: 改變您的設定值
-      delete image: 刪除圖片
       description: 描述
       diary: 日記
       edits: 個編輯
@@ -909,13 +900,10 @@ zh-TW:
       nearby users: 附近的使用者:
       new diary entry: 新增日記
       no friends: 您尚未加入任何朋友。
-      no home location: 尚未設定家的位置。
       no nearby users: 附近沒有在進行製圖的使用者。
       remove as friend: 移除朋友
       send message: 傳送訊息
       settings_link_text: 設定值
       traces: 個軌跡
-      upload an image: 上傳一張圖片
-      user image heading: 使用者圖片
       user location: 使用者位置
       your friends: 您的朋友
index 954be24af1d8786f9dc275c9e61fc9ecb6ce0875..d6c477b9a47c41c75ea87f63ad35fb3e8c2e3a57 100644 (file)
@@ -1,5 +1,5 @@
----\r
-log_file: log/mongrel.log\r
-port: 8000\r
-pid_file: tmp/mongrel.pid\r
+---
+log_file: log/mongrel.log
+port: 8000
+pid_file: tmp/mongrel.pid
 servers: 8
\ No newline at end of file
index 7b71ca1a5355bcbe3bcf4114834b33dd251c2982..39c2cc58a783300984350a2c5ae254789ce71f7e 100644 (file)
@@ -40,7 +40,7 @@ OpenLayers/Renderer/VML.js
 OpenLayers/Rule.js
 OpenLayers/Icon.js
 OpenLayers/Marker.js
-OpenLayers/Popup/AnchoredBuddle.js
+OpenLayers/Popup/FramedCloud.js
 OpenLayers/Projection.js
 OpenLayers/Console.js
 OpenLayers/Lang.js
index edf0504951fb81eb8334119b47eb5ef21db05fb9..11b722e843769710ce3a29e91464d9624494d655 100644 (file)
@@ -2,6 +2,7 @@
 # Exported from translatewiki.net
 # Export driver: syck
 # Author: Dudi
+# Author: Ghaly
 # Author: Meno25
 arz: 
   action_cancelchanges: اللَغى بيغيّر لـ
@@ -36,8 +37,12 @@ arz:
   heading_tagging: بيعمل tag
   heading_troubleshooting: اقتل المشكله
   help: مساعده
+  hint_latlon: "خط الطول $1\nخط العرض $2"
+  hint_loading: تحميل  بيانات
   hint_saving: بيسييڤ الداتا
+  hint_saving_loading: جارى تحميل/حفظ الداتا
   inspector: مفتش
+  inspector_latlon: "خط الطول $1\nخط العرض $2"
   inspector_locked: مقفول
   inspector_unsaved: مش متسييڤه
   inspector_uploading: (رفع/uploading)
index cfbfc85ab9f761b83661341caa9e87658230c12a..ca06092cc1c2b69cd880cf19c1d197f5f4e67bc2 100644 (file)
@@ -34,6 +34,7 @@ br:
   advanced_tooltip: Oberoù aozañ araokaet
   advanced_undelete: Dizilemel
   advice_bendy: Re gromm evit bezañ eeunaet (Pennlizh. evit rediañ)
+  advice_conflict: Tabut gant ar servijer - marteze o po da glask enrollañ adarre
   advice_deletingpoi: O tilemel POI (Z evit dizober)
   advice_deletingway: O tilemel an hent (Z evit dizober)
   advice_microblogged: Hizivaet eo bet ho statud
@@ -184,7 +185,7 @@ br:
   prompt_microblog: Postañ war $1 ($2 a chom)
   prompt_revertversion: "Distreiñ d'ur stumm enrollet koshoc'h :"
   prompt_savechanges: Enrollañ ar c'hemmoù
-  prompt_taggedpoints: Tikedennet eo poentoù zo eus an hent-mañ. Lemel kuit an tikedennoù ?
+  prompt_taggedpoints: Kevelet eo poentoù zo eus an hent-mañ gant gerioù-alc'hwez pe darempredoù. Ha c'hoant o peus da vat lemel anezho kuit ?
   prompt_track: Amdreiñ ur roud GPS d'un hent (prennet) da aozañ.
   prompt_unlock: Klikañ evit dibrennañ
   prompt_welcome: Degemer mat war OpenStreetMap !
@@ -195,6 +196,7 @@ br:
   tags_descriptions: Deskrivadurioù '$1'
   tags_findatag: Kavout un tikedenn
   tags_matching: Tikedennoù brudet hag a glot gant '$1'
+  tags_typesearchterm: "Lakait ar ger da glask :"
   tip_addrelation: Ouzhpennañ d'un darempred
   tip_addtag: Ouzhpennañ ur meneg nevez
   tip_alert: Ur fazi zo bet - Klikit da c'houzout hiroc'h
index 5e5784dbd8bd7a631678a2bafec89a5b71177a05..eccc3e95349b25427f8bda52dcc62350edd2aa80 100644 (file)
 ca: 
   a_poi: $1 un punt d'interès (POI)
   a_way: $1 una via
+  action_addpoint: afegir un node al final d'una via
+  action_cancelchanges: cancel·la canvis a
+  action_changeway: canvis a una via
+  action_createparallel: crea vies paralel·les
+  action_createpoi: Crea un punt d'interès (POI)
+  action_deletepoint: Esborra un punt
+  action_insertnode: afegir un node a una via
+  action_mergeways: fusió de dues vies
+  action_movepoi: moure un punt d'interès (POI)
+  action_movepoint: Moure un punt
+  action_moveway: moviment d'una via
+  action_pointtags: Posa etiquetes en un punt
+  action_poitags: Posa etiquetes en un punt d'interès (POI)
+  action_reverseway: inverteix el sentit de la via
+  action_revertway: reverteix una via
+  action_splitway: Divideix una via
   action_waytags: establir etiquetes d'una via
   advanced: Avançat
   advanced_close: Tancar conjunt de canvis
+  advanced_history: Historial de la via
+  advanced_inspector: Inspector
+  advanced_maximise: Maximitzar la finestra
+  advanced_minimise: Minimitzar finestra
   advanced_parallel: Via paral·lela
+  advanced_tooltip: Accions d'edició avançades
   advanced_undelete: Restaura
+  advice_bendy: Massa corbes per a redreçar (shift per a forçar)
+  advice_conflict: Conflicte en el servidor - pot ser que hagi de guardar de nou
+  advice_deletingpoi: Esborrant POI (Z per a desfer)
+  advice_deletingway: Esborra via (Z per desfer)
+  advice_microblogged: Actualitzat el seu estat de $1
+  advice_nocommonpoint: Les vies no comparteixen un punt en comú
+  advice_revertingpoi: Tornant a l'últim punt d'inter'es que es va guardar. (Z per desfer)
+  advice_revertingway: Tornant a l'última via guardada (Z per desfer)
+  advice_tagconflict: Les etiquetes no coincideixen - si us plau revisi'ls (Z per desfer)
+  advice_toolong: Massa llarg per desbloquejar - si us plau, divideixi'l  en vies més curtes
+  advice_uploadempty: No hi ha gens que pujar
+  advice_uploadfail: Pujada detinguda
   advice_uploadsuccess: Totes les dades han pujat correctament
+  advice_waydragged: Via desplaçada (Z per desfer)
   cancel: Cancel·la
+  closechangeset: Tanca conjunt de canvis
+  conflict_download: Descarrega la seva versió
+  conflict_overwrite: Sobreescriu la seva versió
+  conflict_poichanged: Des que va començar a editar algú ha canviat el punt $1$2.
+  conflict_relchanged: Des que va començar a editar algú ha canviat la relació $1$2.
+  conflict_visitpoi: Feu clic a 'D'acord' per mostrar el punt.
   conflict_visitway: Cliqueu "D'acord" per a mostrar la via.
+  conflict_waychanged: Des que va començar a editar, algú ha canviat la via $1$2.
   createrelation: Crea una relació nova
+  custom: "Personalitzat:"
   delete: Suprimeix
+  deleting: eliminar
+  drag_pois: Arrossegar i soltar punts d'interès
   editinglive: Edició en viu
+  editingoffline: Edició fora de línia
+  emailauthor: Si us plau, enviï un correu a richard@systemeD.net amb un informe d'error, dient que el que estava fent en aquell moment.
+  error_anonymous: No pot contactar a un mapeador anònim
+  error_connectionfailed: Ho sentim - la connexió amb el servidor de OpenStreetMap va fallar. Qualsevol canvi recent no s'ha guardat. \n\nVoleu provar una altra vegada?
   error_microblog_long: "Enviament a $1 ha fallat:\ncodi HTTP: $2\nmissatge d'error: $3 \n$1 error: $4"
   error_nopoi: El POI no es pot trobar (potser hagis mogut lluny?), així que no es pot desfer.
   error_nosharedpoint: Les vies $1 i $2 ja no comparteixen un punt comú, així que no es pot desfer la divisió.
+  error_noway: La via $1 no es pot trobar (igual vostè s'ha desplaçat a una altra zona?), per tant no es pot desfer.
+  error_readfailed: Ho sentim - el servidor de OpenStreetMap no ha respost a la sol·licitud de dades.\n\nVoleu tornar a intentar?
+  existingrelation: Afegir a una relació existent
+  findrelation: Troba una relació que conté
+  gpxpleasewait: Si us plau, esperi mentre la traça GPX es processa.
+  heading_drawing: Dibuixant
   heading_introduction: Introducció
+  heading_pois: Com començar
+  heading_quickref: Referència ràpida
+  heading_surveying: Recollida de dades
   heading_tagging: Etiquetat
+  heading_troubleshooting: Solució de problemes
   help: Ajuda
+  hint_drawmode: Feu clic per afegir un punt\ndoble clic/Intro\n per finalitzar la via
   hint_latlon: "lat $1\nlon $2"
   hint_loading: carregant dades
+  hint_overendpoint: sobre punt final ($1)\nfeu clic per unir\nshift-click per fusionar
+  hint_overpoint: sobre el punt ($1)\nFeu clic per unir
+  hint_pointselected: Punt seleccionat\n(fes shift-clic en el punt per\ncomençar una nova línia)
+  hint_saving: guardant les dades
+  hint_saving_loading: pujant/descarregant dades
   inspector: Inspector
+  inspector_duplicate: Duplicat de
+  inspector_in_ways: dins vies
   inspector_latlon: "Lat $1\nLon $2"
   inspector_locked: Bloquejat
   inspector_node_count: ($ 1 vegades)
+  inspector_not_in_any_ways: No està en cap via (POI)
+  inspector_unsaved: No s'ha desat
   inspector_uploading: (pujant)
+  inspector_way_connects_to: Connecta amb $1 vies
+  inspector_way_connects_to_principal: Es connecta a $1 $2 i $3 altres $4
   inspector_way_nodes: $1 nodes
   inspector_way_nodes_closed: $1 nodes (tancats)
   loading: S'està carregant…
   login_pwd: "Contrasenya:"
+  login_retry: El nom d'usuari no va ser reconegut. Torneu-ho de nou.
+  login_title: No s'ha pogut iniciar sessió
   login_uid: "Nom d'usuari:"
+  mail: Correu
   more: Més
+  newchangeset: "Si us plau, provi de nou: Potlatch començarà un nou conjunt de canvis"
   "no": 'No'
+  nobackground: Sense fons
+  norelations: No hi ha relacions en l'àrea actual
+  offset_broadcanal: Camí de sirga ample
+  offset_choose: Trieu desplaçament
+  offset_dual: Carretera desdoblegada (D2)
+  offset_motorway: Autopista (D3)
+  offset_narrowcanal: Camí de sirga estret
   ok: D'acord
   openchangeset: Obrir conjunt de canvis
+  option_custompointers: Utilitza la ploma i la mà de punters
+  option_external: "Llançament extern:"
+  option_fadebackground: Atenuar el fons
+  option_layer_cycle_map: OSM - map ciclista
   option_layer_maplint: OSM - Maplint (errors)
   option_layer_nearmap: "Australia: NearMap"
   option_layer_ooc_25k: "UK historic: 1:25k"
   option_layer_ooc_7th: "Regne Unit històric: 7th"
   option_layer_ooc_npe: "Regne Unit històric: NPE"
   option_layer_ooc_scotland: "Regne Unit històric: Escòcia"
+  option_layer_os_streetview: "UK: OS StreetView"
   option_layer_streets_haiti: "Haití: noms de carrers"
+  option_layer_tip: Escollir el fons a mostrar
+  option_limitways: Avisar si hi ha molta càrrega de dades
+  option_microblog_id: "Nom microblog:"
+  option_microblog_pwd: "Contrasenya microblog:"
+  option_noname: Assenyala les carreteres sense nom
   option_photo: "Foto KML:"
   option_thinareas: Utilitza línies més fines per areas
+  option_thinlines: Utilitza línies fines en totes les escales
+  option_tiger: Ressaltar TIGER sense canvis
   option_warnings: Mostra advertències flotants
   point: Punt
   preset_icon_airport: Aeroport
@@ -55,6 +148,7 @@ ca:
   preset_icon_bus_stop: Parada d'autobús
   preset_icon_cafe: Cafè
   preset_icon_cinema: Cinema
+  preset_icon_convenience: Adrogueria
   preset_icon_disaster: Edifici d'Haití
   preset_icon_fast_food: Menjar ràpid
   preset_icon_ferry_terminal: Ferri
@@ -67,6 +161,8 @@ ca:
   preset_icon_place_of_worship: Lloc de culte
   preset_icon_police: Comissaria de policia
   preset_icon_post_box: Bústia de correus
+  preset_icon_pub: Pub
+  preset_icon_recycling: Reciclatge
   preset_icon_restaurant: Restaurant
   preset_icon_school: Escola
   preset_icon_station: Estació de ferrocarril
@@ -74,16 +170,59 @@ ca:
   preset_icon_taxi: Parada de taxis
   preset_icon_telephone: Telèfon
   preset_icon_theatre: Teatre
+  preset_tip: Tria d'entre un menú d'etiquetes preprogramadws que descriguin $1
+  prompt_addtorelation: Afegit $1 a la relació
   prompt_changesetcomment: "Introduïu una descripció dels canvis:"
+  prompt_closechangeset: Tanca conjunt de canvis $1
   prompt_createparallel: Crea via paral.lela
+  prompt_editlive: Edició en viu
+  prompt_editsave: Edició amb guardar
+  prompt_helpavailable: Nou usuari? Miri a la part inferior esquerra per obtenir ajuda.
+  prompt_launch: Obrir URL externa
+  prompt_live: En el mode directe, cada canvi realitzat es guardarà instantàniament en la base de dades de OpenStreetMap -  això no es recomana a principiants. Estàs segur?
+  prompt_manyways: Aquesta àrea conté molts detalls i trigarà molt en carregar-se. Prefereixes fer un zoom?
+  prompt_microblog: Enviat a $1 ($2 restants)
+  prompt_revertversion: Revertir a una versió prèviament guardada
+  prompt_savechanges: Guardar canvis
+  prompt_taggedpoints: Algun dels punts d'aquesta via tenen etiquetes o estan en una relació. Realment vol esborrar-los?
+  prompt_track: Converteix traces GPS a vies
+  prompt_unlock: Feu clic per desbloquejar
   prompt_welcome: Benvingut/da a l'OpenStreetMap!
   retry: Reintenta
+  revert: Reverteix
   save: Desa
+  tags_backtolist: Torna a la llista
+  tags_descriptions: Descripcions de '$1'
   tags_findatag: Troba una etiqueta
+  tags_findtag: Cerca una etiqueta
+  tags_matching: Etiquetes populars que coincideixen amb '$1'
+  tags_typesearchterm: "Introdueixi una paraula per a buscar:"
+  tip_addrelation: Afegir a una relació
   tip_addtag: Afegeix una nova etiqueta
+  tip_alert: Ha ocorregut un error - feu clic per a detalls
+  tip_anticlockwise: Via circular en el sentit contrari de les agulles del rellotge - clic per invertir
+  tip_clockwise: Via circular en el sentit de les agulles del rellotge - feu clic per a invertir l'adreça de la via
   tip_direction: Direcció de la via - feu clic per invertir-la
+  tip_gps: Mostra les traces de GPS (G)
+  tip_noundo: No hi ha res a desfer
   tip_options: Establir opcions (triar el mapa de fons)
   tip_photo: Carregar fotos
+  tip_presettype: Escollir quin tipus de etiquetes preestablertes s'ofereixen en el menú.
+  tip_repeattag: Repetir les etiquetes de la via seleccionada prèviament  (R)
+  tip_revertversion: Trii la data a la qual tornar
+  tip_selectrelation: Afegir a la ruta escollida
+  tip_splitway: Divideix la via en el punt seleccionat (X)
+  tip_tidy: Simplifica punts en una via (T)
+  tip_undo: Desfer $1 (Z)
+  uploading: Carregant...
+  uploading_deleting_pois: Esborrant POIs
+  uploading_deleting_ways: Esborrant vies
+  uploading_poi: Pujant punt d'interés $1
+  uploading_poi_name: Pujant POI $1, $2
+  uploading_relation: Pujant relació $1
+  uploading_relation_name: Pujant relació $1, $2
+  uploading_way: Pujant via $1
+  uploading_way_name: Pujant via $1, $2
   warning: Atenció!
   way: Via
   "yes": Sí
index 1b40f7b3625b985fabf09ddd4b23ed39726216c2..1fa4426b162749ef611b3a44f41345ec44f0de1d 100644 (file)
@@ -1,11 +1,14 @@
 # Messages for Danish (Dansk)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Ebbe
+# Author: Winbladh
 da: 
   a_poi: $1 et POI
   a_way: $1 en vej
   action_addpoint: tilføjer et punkt til enden af en vej
   action_cancelchanges: afbryder ændringer af
+  action_createparallel: skaber parallelle veje
   action_createpoi: lave et POI (interessant punkt)
   action_deletepoint: sletter et punkt
   action_insertnode: tilføj et punkt på vejen
@@ -16,36 +19,133 @@ da:
   action_pointtags: sætter tags på et punkt
   action_poitags: sætter tags på et POI (interessant punkt)
   action_reverseway: vend retningen på en vej
+  action_revertway: returnere en vej
   action_splitway: del en vej
   action_waytags: sætter tags på en vej
+  advanced: Avanceret
+  advanced_close: Luk Changeset
+  advanced_maximise: Maksimer vinduet
+  advanced_minimise: Minimer vindue
+  advanced_parallel: Parallel vej
+  advanced_undelete: Genopret
+  advice_deletingpoi: Sletning af POI (Z for at fortryde)
+  advice_deletingway: Sletter vej (Z for at fortryde)
+  advice_revertingway: Vender tilbage til sidst gemte vej (Z for at fortryde)
+  advice_toolong: For lang for låse op - venligst opdel i kortere veje
+  advice_uploadempty: Intet at uploade
+  advice_uploadsuccess: Alle data uploadet succesfuldt
+  advice_waydragged: Way flyttet (Z for at fortryde)
   cancel: Afbryd
+  closechangeset: Lukker Changeset
+  conflict_overwrite: Overskriv deres version
+  conflict_poichanged: Siden du begyndte at redigere, har en anden ændret punkt $ 1 $ 2.
+  conflict_relchanged: Siden du begyndte at redigere, har en anden ændret relation $1 $2.
+  conflict_visitway: Klik på 'Ok' for at vise vejen.
+  conflict_waychanged: Siden du begyndte at redigere, har en anden ændret vej $1 $2.
   createrelation: Lav en ny relation
+  custom: "Custom:"
   delete: Slet
   deleting: sletter
+  editinglive: Live redigering
+  editingoffline: Redigering offline
   emailauthor: \n\nVenligst send en e-mail (på engelsk) til richard\@systemeD.net med en fejlrapport, og forklar hvad du gjorde da det skete.
-  error_connectionfailed: "Beklager - forbindelsen til OpenStreetMap-serveren fejlede, eventuelle nye ændringer er ikke blevet gemt.\n\nVil du prøve igen?"
+  error_connectionfailed: Beklager - forbindelsen til OpenStreetMap-serveren fejlede, eventuelle nye ændringer er ikke blevet gemt. \n\nVil du prøve igen?
   error_nopoi: Fandt ikke POI-et, så det er ikke muligt at fortryde. (Måske er den ikke på skærmen længere?)
   error_nosharedpoint: Vejene $1 og $2 deler ikke noget punkt længere, så det er ikke muligt at fortryde delingen.
   error_noway: Fandt ikke vejen $1 så det er ikke muligt at fortryde. (Måske er den ikke på skærmen længere?)
+  error_readfailed: Beklager - OpenStreetMap-serveren reagere ikke.\n\nVil du prøve igen?
   existingrelation: Føj til en eksisterende relation
   findrelation: Find en relation som indeholder
   gpxpleasewait: Vent venligst mens GPX sporet behandles.
+  heading_introduction: Indledning
+  heading_surveying: Undersøge
   help: Hjælp
   hint_drawmode: klik for at tilføje punkt\ndobbeltklik eller enter\nfor at afslutte linie
   hint_loading: henter veje
   hint_overendpoint: over endepunkt\nklik for at forbinde\nshift+klik for at slå sammen til en
   hint_overpoint: over punkt\nklik for at forbinde
   hint_pointselected: punkt valgt\n(shift+klik punktet for at\nstarte en ny linie)
+  hint_saving: gemmer data
+  inspector: Inspektor
+  inspector_duplicate: Duplikat af
+  inspector_in_ways: I veje
+  inspector_locked: Låst
+  inspector_not_in_any_ways: Ikke på nogen veje (POI)
+  inspector_unsaved: Ikke gemt
+  inspector_uploading: (Uploading)
+  inspector_way_connects_to_principal: Forbinder til $1 $2 og $3 andre $4
+  inspector_way_nodes_closed: $1 noder (lukkede)
+  login_pwd: "Password:"
+  login_retry: Dit login blev ikke genkendt. Prøv venligst igen.
+  login_title: Kunne ikke logge ind
+  login_uid: "Brugernavn:"
+  mail: Post
+  newchangeset: "Prøv venligst igen: Potlatch vil starte et nyt changeset.."
+  "no": Nej
+  nobackground: Ingen baggrund
   norelations: Ingen relationer i området på skærmen
+  offset_choose: Vælg offset (m)
+  offset_dual: Dobbelt vej (D2)
+  ok: Ok
+  openchangeset: Åbner Changeset
   option_custompointers: Brug pen- og håndvisere
   option_fadebackground: Fjern baggrund
+  option_layer_cycle_map: OSM - cykel kort
+  option_layer_maplint: OSM - Maplint (fejl)
+  option_layer_nearmap: "Australien: NearMap"
+  option_layer_ooc_25k: "UK historisk: 1:25 k"
+  option_layer_os_streetview: "UK: OS StreetView"
+  option_layer_streets_haiti: "Haiti: gadenavne"
+  option_layer_tip: Vælg baggrunden til visning
+  option_limitways: Advar ved loading af masser af data
+  option_microblog_id: "Microblog navn:"
+  option_microblog_pwd: "Microblog password:"
+  option_photo: "Foto KML:"
+  option_thinareas: Brug tyndere linjer for områder
   option_thinlines: Brug tynde linier uanset skalering
+  option_tiger: Fremhæv uændret TIGER
+  option_warnings: Vis flydende advarsler
   point: Punkt
+  preset_icon_airport: Lufthavn
+  preset_icon_bar: Bar
+  preset_icon_cafe: Café
+  preset_icon_cinema: Biograf
+  preset_icon_disaster: Haiti bygning
+  preset_icon_fast_food: Fast food
+  preset_icon_ferry_terminal: Færge
+  preset_icon_fire_station: Brandstation
+  preset_icon_hospital: Hospital
+  preset_icon_hotel: Hotel
+  preset_icon_museum: Museum
+  preset_icon_parking: Parkering
+  preset_icon_place_of_worship: Sted for tilbedelse
+  preset_icon_police: Politistation
+  preset_icon_post_box: Postkasse
+  preset_icon_recycling: Genbrug
+  preset_icon_school: Skole
+  preset_icon_station: Togstation
+  preset_icon_taxi: Taxaholdeplads
+  preset_icon_telephone: Telefon
+  preset_tip: Vælg fra menuen af preset tags, der beskriver $1
   prompt_addtorelation: Tilføj $1 til en relation
+  prompt_changesetcomment: "Indtast en beskrivelse af dine ændringer:"
+  prompt_createparallel: Opret parallel vej
+  prompt_editlive: Edit live
+  prompt_helpavailable: Ny bruger? Kig nederst til venstre for at få hjælp.
+  prompt_launch: Start ekstern URL
+  prompt_manyways: Dette område er meget detaljerede, og vil tage lang tid at hente. Foretrækker du at zoome ind?
   prompt_revertversion: "Ret tilbage til tidligere lagret version:"
-  prompt_taggedpoints: Nogle af punktene på denne vej har tags. Vil du virkelig slette?
+  prompt_savechanges: Gem ændringer
+  prompt_taggedpoints: Nogle af punktene på denne vej har tags eller er i en relation. Vil du virkelig slette?
   prompt_track: Overfør dine GPS-spor til (låste) veje for redigering.
   prompt_welcome: Velkommen til OpenStreetMap!
+  retry: Prøv igen
+  revert: Fortryd
+  save: Gem
+  tags_backtolist: Tilbage til listen
+  tags_descriptions: Beskrivelser af '$ 1'
+  tags_findtag: Find tag
+  tags_matching: Populære tags matchende '$1'
   tip_addrelation: Føj til en relation
   tip_addtag: Tilføj et tag
   tip_alert: Der opstod en fejl, klik for detaljer
@@ -55,10 +155,19 @@ da:
   tip_gps: Vis GPS spor (G)
   tip_noundo: Intet at fortryde
   tip_options: Sæt indstillinger (vælg kortbaggrund)
+  tip_photo: Load billeder
   tip_presettype: Vælg hvilke type forhåndsinstillinger som er tilgænglige i menuen
   tip_repeattag: Gentag tags fra senest valgte vej (R)
   tip_revertversion: Vælg versionen der skal rettes tilbage til
   tip_selectrelation: Føj til den valgte rute
   tip_splitway: Del vej i valgt punkt (X)
+  tip_tidy: Nydeliggøre vejpunkter (T)
   tip_undo: Fortryd $1 (Z)
+  uploading: Overfører ...
+  uploading_deleting_ways: Sletter veje
+  uploading_poi: Uploading POI $1
+  uploading_relation_name: Uploading relation $1, $2
+  uploading_way_name: Uploading vej$ 1, $ 2
+  warning: Advarsel!
   way: Vej
+  "yes": Ja
index d8dec3084136ab0369f16e0f3d31099c4b241499..f4e491c02aee29ad1f70ca016132d52b37fba569 100644 (file)
@@ -6,7 +6,9 @@
 # Author: CygnusOlor
 # Author: Fnolz
 # Author: Grille chompa
+# Author: LWChris
 # Author: Markobr
+# Author: Michi
 # Author: Pill
 # Author: Umherirrender
 de: 
@@ -19,7 +21,7 @@ de:
   action_createpoi: Einen Ort von Interesse (POI) erstellen
   action_deletepoint: Punkt löschen
   action_insertnode: Punkt auf Weg hinzufügen
-  action_mergeways: Zwei Wege verschmelzen
+  action_mergeways: Zwei Wege zusammenlegen
   action_movepoi: Ort von Interesse (POI) verschieben
   action_movepoint: Punkt verschieben
   action_moveway: einen Weg verschieben
@@ -39,6 +41,7 @@ de:
   advanced_tooltip: Erweiterte Editierfunktionen
   advanced_undelete: Wiederherstellen
   advice_bendy: Zu kurvig zum Begradigen (SHIFT zum Erzwingen)
+  advice_conflict: Konflikt - Du musst evtl. versuchen, erneut zu speichern
   advice_deletingpoi: POI entfernen (Z zum Rückgängig machen)
   advice_deletingway: Weg löschen (Z um es rückgängig zu machen)
   advice_microblogged: $1 Status wurde aktualisiert
@@ -86,6 +89,7 @@ de:
   heading_tagging: Tagging
   heading_troubleshooting: Fehlerbehandlung
   help: Hilfe
+  help_html: "<!--\n\n========================================================================================================================\nSeite 1: Einleitung\n\n--><headline>Willkommen zu Potlatch</headline>\n<largeText>Potlatch is der einfach zu bedienende Editor für OpenStreetMap. Zeichne Straßen, Wege, Landmarken und Geschäfte von deinen GPS Aufzeichnungen, Satellitenfotos oder alten Karten.\n\nDiese Hilfeseiten werden dich durch die Basisfunktionen von Potlatch führen und dir zeigen wo du mehr erfahren kannst. Klicke auf die Überschriften oben um zu beginnen.\n\nWenn du fertig bist klicke einfach irgendwo anders auf der Seite.\n\n</largeText>\n\n<column/><headline>Hilfreiche Dinge die man wissen sollte</headline>\n<bodyText>Kopiere nicht von anderen Karten!\n\nWenn du 'Live bearbeiten' wählst werden sämtliche Änderungen in die Datenbank gespeichert während du zeichnest - also <i>sofort</i>. Wenn du nicht so selbstsicher bist, wähle 'Bearbeiten und speichern' und sie werden nur dann übernommen wenn du auf 'Speichern' klickst.\n\nAlle Bearbeitungen werden normalerweise ein bis zwei Stunden nach dem Speichern auf der Karte sichtbar (ein paar Dinge brauchen eine Woche). Es gibt auch Dinge, welche nicht auf der Karte gezeigt werden - sie würde einfach zu unübersichtlich. Aber da die OpenStreetMap-Daten open source sind ist jeder dazu eingeladen Karten zu erstellen, welche andere Aspekte zeigen - wie zB <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> oder <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nMerke dir, dass es einerseits eine <i>schöne Karte</i> (also zeichne hübsche Kurven) und ein <i>Diagramm</i> (also vergewissere dich, dass deine Straßen an Kreuzungen verbunden sind).\n\nHaben wir schon erwähnt nicht von anderen Karten zu kopieren?\n</bodyText>\n\n<column/><headline>Finde mehr heraus</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch Anleitung</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">E-Mail-Verteiler</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Online chat (Live Hilfe)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Web Forum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Community Wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch Sourcecode</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nSeite 2: Erste Schritte\n\n--><page/><headline>Erste Schritte</headline>\n<bodyText>Nachdem du nun Potlatch offen hast, klicke auf 'Bearbeiten mit speichern' um zu beginnen.\n\nDu bist nun bereit auf der Karte zu zeichnen. Am besten beginnst du damit ein paar 'Punkte von Interesse' auf die Karte zu ziehen (POIs - Points of Interest). Das können Pubs, Kirchen, Bahnhöfe oder alles was du magst sein.</bodytext>\n\n<column/><headline>Klicken und ziehen</headline>\n<bodyText>Um es super einfach zu machen, gibt es eine Auswahl der meistgenutzten POIs direkt am unteren Ende der Karte für dich. Einen davon auf die Karte zu setzen geht ganz einfach - Anklicken und mit gedrückter Maustaste auf die richtige Stelle auf die Karte ziehen. Mach dir keine zu großen Gedanken darüber wenn du die Position nicht sofort richtig erwischst: du kannst es auf der Karte mittels Klicken und Ziehen nochmal verschieben bis die Position passt. Beobachte auch, dass der POI gelb hervorgehoben wird um zu zeigen, dass er selektiert wurde.\n\nSobald du das gemacht hast möchtest du natürlich deinem Pub (oder Kirche oder Bahnhof) einen Namen geben. Du wirst bemerken, dass eine kleine Tabelle am unteren Rand erschienen ist. Einer der Einträge wird 'name' sein gefolgt von '(type name here'). Mach das - klicke auf diesen Text und tippe den Namen ein.\n\nKlicke an eine andere Stelle in der Karte um die Selektion des POIs aufzuheben und die färbige Symbolleiste kommt zurück.\n\nEinfach, oder etwa nicht? Klicke auf 'Speichern' (unten rechts) wenn du fertig bist.\n</bodyText><column/><headline>Herumbewegen</headline>\n<bodyText>Um zu einem anderen Kartenausschnitt zu wechseln, ziehe einfach einen leeren Bereich der Karte. Potlatch wird automatisch neue Daten nachladen (Tip: Rechts oben steht Laden in diesem Fall).\n\nWir haben dir 'Bearbeiten mit speichern' vorgeschrieben, aber du kannst auch 'Live bearbeiten' wählen. In diesem Fall gehen alle Änderungen direkt in die Datenbank. Daher gibt es auch keinen 'Speichern'-Schalter. Das ist hilfreich für schnelle Änderungen und <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">Mapping Parties</a>.</bodyText>\n\n<headline>Nächste Schritte</headline>\n<bodyText>Glücklich mit alle dem? Großartig. Klicke auf 'Vermessung' oben um herauszufinden wie du ein <i>wirklicher</i> Mapper wirst!</bodyText>\n\n<!--\n========================================================================================================================\nSeite 3: Vermessung\n\n--><page/><headline>Vermessung via GPS</headline>\n<bodyText>Die Idee hinter OpenStreetMap ist es eine Karte ohne die einschränkenden Copyrights anderer Karten zu erstellen. Das bedeutet, dass es nicht erlaubt ist von anderen Karten abzuzeichnen: Du musst selber in die Straßen gehen und vermessen. Glücklicherweise macht das eine Menge Spaß.\nDer beste Weg dies zu machen ist mit einem GPS-Gerät. Suche einen Bereich der noch nicht erfasst ist und marschiere oder fahre die Straßen mit eingeschaltetem GPS entlang. Notiere dir die Straßennamen und alles andere von Interesse (Pubs? Kirchen?) wenn du daran vorbeikommst.\n\nWenn du nach Hause kommst  hast du eine GPS-Aufzeichnung ('Tracklog') mit dem zurückgelegten Weg. Dieses kannst du zu OpenStreetMap aufladen.\n\nDas beste GPS-Gerät ist eines, dass Wegpunkte in hoher Frequenz erfasst (alle 1-2 Sekunden) und einen großen Speicher hat. Ein großer Anteil unserer Mapper benutzt Garmin-Geräte oder kleine Bluetooth-Einheiten. Im Wiki gibt es hierzu detailierte <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a>.</bodyText>\n\n<column/><headline>Deine Strecke Hochladen</headline>\n<bodyText>Zuerst musst du deine Strecke vom GPS runterbekommen. Möglicherweise hat dein Gerät bereits Software hierfür mitgeliefert oder es lässt dich die Dateien mittels USB runterkopieren. Wenn nicht, versuche es mit <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Egal auf welche Weise - Die Datei muss im Endeffekt im GPX-Format vorliegen.\n\nNun verwende das 'GPS-Tracks' Tab um deinen Track zu OpenStreetMap hochzuladen. Das ist aber erst der erste Schritt - er wird noch nicht auf der Karte erscheinen. Du musst die Straßen erst selber zeichnen und benennen auf Basis des Tracks.</bodyText>\n<headline>Den Track verwenden</headline>\n<bodyText>Finde den hochgeladenen Track in der 'GPS-Tracks' Liste und klicke auf 'bearbeiten' <i>direkt daneben</i>. Potlatch wird gestartet und der Track geladen inklusive aller Wegpunkte. Du bist jetzt bereit zum Zeichnen!\n\n<img src=\"gps\">Du kannst mit diesem Button auch GPS-Tracks anderer Mapper (allerdings ohne Wegpunkte) im aktuellen Bereich ansehen. Halte Shift um nur deine eigenen Tracks anzusehen.</bodyText>\n<column/><headline>Sattelitenfotos verwenden</headline>\n<bodyText>Wenn du kein GPS besitzt nicht verdrübt sein. In einigen Städten haben wir Satellitenfotos zum Nachzeichnen welche freundlicherweise von Yahoo! bereitgestellt wurden (Danke!). Gehe raus und notiere dir die Straßennamen und wenn du zurückkommst zeichne die Linien.\n\n<img src='prefs'>Wenn du keine Satellitenfotos siehst, klicke den Optionen-Button und vergewissere dich, dass 'Yahoo!' ausgewählt ist. Wenn du immer noch keine siehst gibt es vermutlich keine Fotos deiner Stadt oder du musst eventuell etwas herauszoomen.\n\nBei den selben Optionen findest du auch ein paar Alternativoptionen wie zB eine Copyrightfreie Karte von UK oder die OpenTopoMap für das US-Gebiet. Diese sind alle speziell ausgewählt da es uns erlaubt wurde diese zu verwenden - kopiere nicht von anderen Karten oder Luftbildern (Copyright-Gesetze sind unser Feind).\n\nManchmal sind die Satellitenfotos nicht 100% auf der Position der tatsächlichen Straßen. Wenn du dies bemerkst halte die Leertaste und ziehe den Hintergrund bis er zusammenpasst. GPS-Tracks haben hierbei höhere Vertrauensrate als Satellitenfotos.</bodytext>\n\n<!--\n========================================================================================================================\nSeite 4: Zeichnen\n\n--><page/><headline>Wege zeichnen</headline>\n<bodyText>Um eine Straße (oder Weg) zu zeichnen, der in einem leeren Bereich der Karte beginnt, klicke einfach auf den Startpunkt; dann bei jedem einzelnen Punkt der Straße. Wenn du fertig bist mach entweder einen Doppelklick oder drücke Enter - dann klicke woandershin um die Selektion der Straße aufzuheben.\n\nUm einen Weg von einem anderen Weg weg zu zeichnen, klicke auf diesen um in zu selektieren; seine Punkte werden rot hervorgehoben. Halte Shift und klicke auf einen dieser Punkte um einen neuen Weg zu starten (Wenn noch kein Punkt an der neuen Kreuzung exisiert verwende ebenfalls Shift-Klick um einen zu erstellen!).\n\nKlicke 'Speichern' (unten rechts) wenn du fertig bist. Speichere oft, falls der Server Probleme hat.\n\nErwarte nicht deine Änderungen sofort in der Hauptkarte zu sehen. Das dauert normalerweise 1-2 Stunden, manchmal sogar bis zu einer Woche.\n</bodyText><column/><headline>Kreuzungen erstellen</headline>\n<bodyText>Es ist sehr wichtig, dass bei Straßen, die sich kreuzung einen gemeinsamen Punkt (oder 'Node') besitzen. Routenplaner benötigen dies um zu wissen wo man abbiegen kann.\n\nPotlatch erledigt dies solange du vorsichtig bist und immer <i>exakt</i> auf den Weg klickst, an den angeschlossen werden soll. Halte Ausschau nach hilfreichen Zeichen: Die Punkte werden blau hervorgehoben, der Mauszeiger verändert sich und wenn du fertig bist hat die Kreuzung einen schwarzen Extra-Rand.</bodyText>\n<headline>Verändern und Löschen</headline>\n<bodyText>Das funktioniert so wie du es erwarten würdest. Um einen Punkt zu löschen selektiere ihn und drücke 'Entfernen'. Um einen ganzen Weg zu löschen drücke Shift-Entfernen.\n\nUm etwas zu verschieben ziehe es einfach. (Wenn du einen ganzen Weg verschieben willst musst du klicken und ein bischen warten bevor du ihn ziehst - Das ist um sicherzustellen, dass es nicht unabsichtlich passiert).</bodyText>\n<column/><headline>Erweitertes Zeichnen</headline>\n<bodyText><img src=\"scissors\">Wenn 2 Teilbereiche eines Weges unterschiedliche Namen haben musst du ihn aufsplitten. Klicke auf den Weg; dann klicke den Punkt wo gesplittet werden soll und klicke abschließend auf die Schere. (Du kannst Wege vereinen indem du sie nacheinander mit gedrückter 'Strg'-Taste selektierst (bzw. am Mac mit gedrückter Apfel-Taste). Verbinde aber keine Wege, welche unterschiedliche Namen oder Typen haben!).\n\n<img src=\"tidy\">Kreisverkehre sind sehr schwer richtig zu zeichnen. Aber keine Panik - Potlatch hilft dabei. Zeichne den Kreis grob vor und stelle sicher, dass das Ende am eigenen Beginn anschließt, dann drücke auf dieses Icon um den Kreis 'aufzuräumen' (Du kannst dies ebenfalls verwenden um Straßen zu begradigen).</bodyText>\n<headline>Punkte von Interesse</headline>\n<bodyText>Das erste was du gelernt hast war klicken und ziehen von Punkten von Interesse. Du kannst einen solchen auch erzeugen indem du auf die Karte doppelklickst: ein gründer Kreis erscheint. Aber wie legst du nun fest ob es ein Pub, eine Kirche oder was auch immer ist? Klicke auf 'Tagging' um es herauszufinden!\n\n<!--\n========================================================================================================================\nSeite 4: Tagging\n\n--><page/><headline>Welcher Straßentyp ist es?</headline>\n<bodyText>Nachdem du einen Weg gezeichnet hast solltest du festlegen was es ist. Ist es eine Primärstraße, ein Fußweg oder gar ein Fluss? Was ist sein Name? Gibt es spezielle Regeln (zB \"keine Fahrräder\")?\n\nIn OpenStreetMap wird dies durch 'tags' erfasst. Ein tag hat 2 Teile und du kannst soviele erstellen wie du willst. Du könntest zum Beispiel <i>highway | trunk</i> hinzufügen um zu sagen, dass es eine Primärstraße ist; <i>highway | residental</i> für eine Straße im Ortsgebiet; oder <i>highway | footway</i> für einen Fußweg. Wenn Fahrräder verboten sind könntest du noch <i>bicycle | no</i> hinzufügen. Dann noch <i>name | Market Street</i> um der Straße einen Namen zu geben.\n\nDie Tags werden in Potlatch um unteren Bildschirmrand angezeigt - klicke auf eine bestehende Straße und du siehst welche Tags sie hat. Klicke auf '+' (unten rechts) um einen neuen Tag hinzuzufügen. Das 'x' neben jedem Tag löscht diesen.\n\nDu kannst ganze Wege taggen; Punkte innerhalb von Wegen (Gatter, Ampel,...); oder Punkte von Interesse.</bodytext>\n<column/><headline>Vorgefertigte Tags</headline>\n<bodyText>Damit du einfacher vorankommst, hat Potlatch einige Vorlagen welche die meistverwendeten Tags beinhalten.\n\n<img src=\"preset_road\">Selektiere einen Weg dann klicke die Symbole durch bis du ein passendens findest. Nun wähle die passenste option vom Menü.\n\nDamit werden die passenden Tags erstellt. Einige könnten teilweise leer sein so dass du sie ausfüllen kannst (zB Name einer Straße).</bodyText>\n<headline>Einbahnen</headline>\n<bodyText>Du kannst den tag <i>oneway | yes</i> hinzufügen - aber wie legst du die Richtung fest? Es gibt einen Pfeil unten links der die Wegrichtung anzeigt vom Start zum Ende. Klicke auf ihn um den Weg umzukehren.</bodyText>\n<column/><headline>Eigene Tags verwenden</headline>\n<bodyText>Du bist natürlich nicht auf die Vorlagen beschränkt. Mittels '+' kannst du jeden beliebigen Tag verwenden.\n\nDu kannst unter <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a> nachschauen, welche Tags von anderen Personen verwendet werden, bzw. gibt es eine lange liste polulärer Tags in unserem Wiki unter <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. Das sind aber <i>nur Vorschläge, keine Regeln</i>. Es steht dir frei eigene Tags zu erfinden oder welche von anderen Benutzern zu 'borgen'.\n\nDa die OpenStreetMap-Daten verwendet werden um viele unterschiedliche Karten zu erstellen wird jede Karte ihre eigene Auswahl an Tags zeigen ('rendern').</bodyText>\n<headline>Relationen</headline>\n<bodyText>Manchmal sind Tags nicht genug und es ist erforderlich zwei oder mehrere Wege zu einer 'Gruppe' zusammenzufassen. Eventuell ist das Abbiegen von einer Straße in eine andere nicht erlaubt oder 20 Wege zusammen ergeben einen markierten Fahrradweg. Du kannst dis mit einem erweiterten Feature genannt 'Relationen' erledigen. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Mehr dazu</a> im wiki.</bodyText>\n\n<!--\n========================================================================================================================\nSeite 6: Troubleshooting\n\n--><page/><headline>Fehler rückgängig machen</headline>\n<bodyText><img src=\"undo\">Das ist der Undo-Button (du kannst auch Z drücken) - damit wird deine letzte Änderungen rückgängig gemacht.\n\nDu kannst auch einen Weg zu einer früheren Version 'zurücksetzen'. Wähle ihn dann klicke auf die ID (die Nummer unten links) - oder drücke H ('history'). Du bekommst eine Liste aller Änderungen inklusive Datum und Uhrzeit. Wähle einen Eintrag zu dem du zurückgehen willst und klicke 'Rückgängig machen'.\n\nWenn du unabsichtlich einen Weg gelöscht und gespeichert hast drücke U ('undelete'). Alle gelöschten Wege werden angezeigt. Wähle den Weg den du willst; entsperre ihn indem du den roten Balken bei den Tags auswählst; speichere wie üblich.\n\nBist du der Ansicht jemand anderes hat einen Fehler gemacht? Sende ihm eine freundliche Nachricht. Verwende die Verlaufsoption (H) und selektiere seinen namen. Dann klicke auf 'Nachricht'.\n\nVerwende den Inspector (im 'Erweiterten' Menü) um hilfreiche Informationen über die aktuell selektierten Wege oder Punkte zu erhalten.\n</bodyText><column/><headline>FAQs</headline>\n<bodyText><b>Wie sehe ich meine Wegpunkte?</b>\nWegpunkte werden nur angezeigt, wenn du auf 'bearbeiten' neben dem Track-Namen in 'GPS-Tracks' klickst. Die Datei muss Wegpunkte und Wege beinhalten - der Server verweigert alles was nur Wegpunkte beinhaltet.\n\nWeitere FAQs für <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> und <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n<column/><headline>Schneller arbeiten</headline>\n<bodyText>Je weiter du herausgezoomt bist umso mehr Daten muss Potlatch laden. Zoome hinein bevor du auf 'Editieren' klickst.\n\nDeaktiviere 'Stift- und Hand-Mauszeiger verwenden' (im Optionsfenster) für maximale Geschwindigkeit.\n\nWenn der Server langsam ist versuche es später nochmal. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Schau ins Wiki</a> für bekannte Probleme. An manchen Zeiten, wie zum Beispiel Sonntag Abend, sind die Server oft stärker belastet.\n\nFordere Potlatch auf sich deine bevorzugten Tagzusammenstellungen zu merken. Selektiere einen Weg oder Punkt mit den gewünschten Tags, dann drücke Strg, Shift und eine Nummer von 1 bis 9. Um diese Tags anzuwenden drücke einfach Shift und die gewünschte Nummer (Potlatch merkt sich diese Vorlagen dann auf deinem Computer womit sie 'ewig' verfügbar bleiben).\n\nKonvertiere deinen GPS-Track in einen Weg indem du ihn in 'GPS-Tracks' auswählst, 'bearbeiten' klickst und dann die Checkbox zum konvertieren der Wege auswählst. Er wird als gesperrter (roter) weg übernommen und damit nicht gespeichert. Du musst ihn zuerst über den roten Balken bei den Tags entsperren.</bodytext>\n\n<!--\n========================================================================================================================\nSeite 7: Kurzübersicht\n\n--><page/><headline>Klicken</headline>\n<bodyText><b>Ziehe die Karte</b> um herumzufahren.\n<b>Doppelklick</b> für einen neuen POI.\n<b>Einfachklick</b> um einen neuen Weg zu beginnen.\n<b>Klicken und ziehen eines Weges oder POIs</b> um ihn zu verschieben.</bodyText>\n<headline>Beim Weg-Zeichnen</headline>\n<bodyText><b>Doppelklick</b> oder <b>Enter</b> zum Abschließen.\n<b>Klicke</b> auf einen anderen Weg für eine Kreuzung.\n<b>Shift-Klicke das Ende eines anderen Weges</b> um zu vereinen.</bodyText>\n<headline>Wenn ein Weg selektiert ist</headline>\n<bodyText><b>Klicke auf einen Punkt</b> um ihn zu selektieren\n<b>Shift-Klicke in den Weg</b> um einen neuen Punkt einzufügen.\n<b>Shift-Klicke auf einen Punkt</b> um einen neuen Weg von dort zu starten.\n<b>Strg-Klicke einen anderen Weg</b> um zu vereinen.</bodyText>\n</bodyText>\n<column/><headline>Tastaturkürzel</headline>\n<bodyText><textformat tabstops='[25]'>B Hintergrund-Quellen-Tag hinzufügen\nC Schließe Changeset\nG Zeige GPS Tracks\nH Zeige Verlauf\nI Zeige Inspektor\nJ Verbinde Punkte zu einer Kreuzung\nK Sperre/Entsperre aktuelle Selektion\nL Zeige aktuelle Koordinaten\nM Maximiere Editierfenster\nP Erzeuge parallelen Weg\nR Wiederhole Tags\nS Speichern (sofern nicht Live-Modus)\nT Kreis oder gerade Linie erzeugen\nU Undelete (Zeige gelöschte Wege)\nX Weg in 2 Wege aufspalten\nZ Undo\n- Enterne den Punkte nur von diesem Weg\n+ Füge neuen Tag hinzu\n/ Selektiere einen anderen Weg mit gemeinsamem Punkt\n</textformat><textformat tabstops='[50]'>Entfernen Punkt Löschen\n  (+Shift) Lösche gesamten Weg\nEnter Wegzeichnen beenden\nLeertaste Hintergrund verschieben\nEsc Aktuelle Änderungen verwerfen\n; Vom Server neuladen\n0 Alle Tags entfernen\n1-9 Vorlagentags auswählen\n  (+Shift) Benutzertags laden\n  (+Shift+Strg) Benutzertrags speichern\n§ oder ` Taggruppen durchgehen\n</textformat>\n</bodyText>"
   hint_drawmode: Klicken, um Punkt hinzuzufügen\nDoppelklicken oder Eingabetaste zum Beenden der Linie
   hint_latlon: "Breitengrad $1\nLängengrad $2"
   hint_loading: Wege werden geladen
@@ -95,6 +99,7 @@ de:
   hint_saving: Daten speichern
   hint_saving_loading: Daten laden/speichern
   inspector: Inspektor
+  inspector_duplicate: Duplikat von
   inspector_in_ways: In den Wegen
   inspector_latlon: "Breitengrad $1\nLängengrad $2"
   inspector_locked: Gesperrt
@@ -106,6 +111,7 @@ de:
   inspector_way_connects_to_principal: Verbunden mit $1 $2 und $3 weiteren $4
   inspector_way_nodes: $1 Knoten
   inspector_way_nodes_closed: $1 Knoten (geschlossen)
+  loading: Lade...
   login_pwd: "Passwort:"
   login_retry: Deine Anmeldung wurde nicht akzeptiert. Bitte versuch es noch einmal.
   login_title: Anmeldung fehlgeschlagen
@@ -132,6 +138,7 @@ de:
   option_layer_ooc_25k: Historische UK Karten 1:25k
   option_layer_ooc_7th: "UK historic: 7th"
   option_layer_ooc_npe: "UK historic: NPE"
+  option_layer_ooc_scotland: "UK-Historisch: Schottland"
   option_layer_streets_haiti: "Haiti: Straßenname"
   option_layer_tip: Hintergrund auswählen
   option_limitways: Warnung wenn große Datenmenge geladen wird
@@ -185,13 +192,18 @@ de:
   prompt_microblog: Eintragen in $1 ($2 verbleibend)
   prompt_revertversion: "Frühere Version wiederherstellen:"
   prompt_savechanges: Änderungen speichern
-  prompt_taggedpoints: Einige Punkte auf diesem Weg tragen Attribute (Tags). Trotzdem löschen?
+  prompt_taggedpoints: Einige Punkte auf diesem Weg besitzen Attribute oder sind Bestandteil von Relationen. Wirklich löschen?
   prompt_track: Deine GPS-Aufzeichnungen (Tracks) in (gesperrte) Wege zum Editieren wandeln.
   prompt_unlock: Anklicken zum Entsperren
   prompt_welcome: Willkommen bei OpenStreetMap!
   retry: Erneut versuchen
   revert: Rückgängig machen
   save: Speichern
+  tags_backtolist: Zurück zur Auflistung
+  tags_descriptions: Beschreibungen von '$1'
+  tags_findatag: Einen Tag finden
+  tags_matching: Beliebte Tags zu '$1'
+  tags_typesearchterm: "Suchbegriff eingeben:"
   tip_addrelation: Zu einer Relation hinzufügen
   tip_addtag: Attribut (Tag) hinzufügen
   tip_alert: Ein Fehler ist aufgetreten - Klicken für Details
index 56e1c8365e6fb20e49a4b90d6d3f801f37645893..2d8073a038b10868d32962b704da1dc94528af9f 100644 (file)
@@ -176,7 +176,7 @@ dsb:
   prompt_microblog: Powěsć do 1 ($2 zbytne)
   prompt_revertversion: "K pjerwjejšnej skłaźonej wersiji se wrośiś:"
   prompt_savechanges: Změny składowaś
-  prompt_taggedpoints: Někotare dypki na toś tom puśu maju atributy. Coš jen napšawdu lašowaś?
+  prompt_taggedpoints: Někotare dypki na toś tom puśu maju atributy abo su w relacijach. Coš jen napšawdu lašowaś?
   prompt_track: GPS-ceru do puśow konwertěrowaś
   prompt_unlock: Klikni, aby se wótwóriło
   prompt_welcome: Witaj do OpenStreetMap!
index 0591f90798e6bfb30e8761fa73252cd99871bd28..5ef926f6a223788fb457662c781f8c1edca185f6 100644 (file)
@@ -138,6 +138,7 @@ en:
   option_layer_ooc_7th: "UK historic: 7th"
   option_layer_ooc_npe: "UK historic: NPE"
   option_layer_ooc_scotland: "UK historic: Scotland"
+  option_layer_os_streetview: "UK: OS StreetView"
   option_layer_osmarender: OSM - Osmarender
   option_layer_tip: Choose the background to display
   option_layer_yahoo: Yahoo!
@@ -192,13 +193,14 @@ en:
   prompt_microblog: Post to $1 ($2 left)
   prompt_revertversion: "Revert to an earlier saved version:"
   prompt_savechanges: Save changes
-  prompt_taggedpoints: Some of the points on this way are tagged. Really delete?
+  prompt_taggedpoints: Some of the points on this way are tagged or in relations. Really delete?
   prompt_track: Convert GPS track to ways
   prompt_unlock: Click to unlock
   prompt_welcome: Welcome to OpenStreetMap!
   retry: Retry
   revert: Revert
   save: Save
+  tags_findtag: Find tag
   tags_findatag: Find a tag
   tags_typesearchterm: "Type a word to look for:"
   tags_matching: Popular tags matching '$1'
index c8396d2462a5654b51ca638940774d2c6254c400..f3b1c98841e9b0133b31e771012da1db7839bf8e 100644 (file)
@@ -1,11 +1,14 @@
 # Messages for Esperanto (Esperanto)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Cfoucher
 # Author: Yekrats
 eo: 
   a_way: $1 vojon
   action_movepoint: Movante punkton
+  advanced_close: Malfermi ŝanĝaron
   advanced_undelete: Malforigi
+  createrelation: Krei novan rilaton
   custom: "Memkreita:"
   delete: Forigi
   editinglive: Aktiva redakto
@@ -14,11 +17,15 @@ eo:
   login_pwd: Pasvorto
   login_uid: "Salutnomo:"
   option_photo: "Foto KML:"
+  preset_icon_cinema: Kinejo
+  preset_icon_station: Stacidomo
+  prompt_changesetcomment: "Enmetu priskribon de viaj ŝanĝoj:"
   prompt_editsave: Redakti kun konservo
   prompt_savechanges: Konservi ŝanĝojn
   retry: Reprovi
   save: Konservi
   tip_alert: Eraro okazis - klaku atingi detalojn
+  tip_direction: Vojdirekto - klaku por inversigi
   tip_photo: Ŝarĝi fotojn
   tip_undo: Malfari $1 (Z)
   way: Vojo
index 41cdf4f99e6fb56a1034090ebb3753724673faf2..e3cc0324f35b58ea01ae4c142a74eb7e4f447c0e 100644 (file)
@@ -11,19 +11,19 @@ es:
   action_addpoint: Añadir un punto al final de una vía
   action_cancelchanges: Cancelar cambios
   action_changeway: cambios en la vía
-  action_createparallel: creando vías paralelas
+  action_createparallel: crea vías paralelas
   action_createpoi: Crear un punto de interés (POI)
-  action_deletepoint: Borrar un punto
+  action_deletepoint: Borra un punto
   action_insertnode: Añadir un punto a una vía
   action_mergeways: Combinar dos vías
   action_movepoi: Mover un punto de interés (POI)
   action_movepoint: Mover un punto
-  action_moveway: Moviendo una vía
+  action_moveway: mueve una vía
   action_pointtags: Parámetros (tags) un punto
   action_poitags: Parámetros (tags) en un punto de interés (POI)
-  action_reverseway: Invertir dirección de una vía
+  action_reverseway: Invierte la dirección de la vía
   action_revertway: revertir una vía
-  action_splitway: Dividir una vía
+  action_splitway: Divide una vía
   action_waytags: Parámetros (tags) en una vía
   advanced: Avanzado
   advanced_close: Cerrar conjunto de cambios
@@ -35,14 +35,14 @@ es:
   advanced_tooltip: Acciones de edición avanzadas
   advanced_undelete: Restaurar
   advice_bendy: Muy curvo para enderezarse (presione MAYÚS para forzar)
-  advice_conflict: Conflicto en el servidor - puede que tenga que intentar guardar de nuevo
+  advice_conflict: Conflicto en el servidor - puede que tenga que guardar de nuevo
   advice_deletingpoi: Borrando POI (Z para deshacer)
   advice_deletingway: Borrando vía (Z para deshacer)
   advice_microblogged: Se ha actualizado tu estado $1
   advice_nocommonpoint: Las vías no comparten un punto en común
   advice_revertingpoi: Volver al último POI guardado (Z para deshacer)
   advice_revertingway: Deshaciendo cambios para volver a la última versión guardada (Z para deshacer)
-  advice_tagconflict: Los parámetros no coinciden - Por favor revíselos (Z para deshacer)
+  advice_tagconflict: Las etiquetas no coinciden - Por favor revíselas (Z para deshacer)
   advice_toolong: Demasiado largo para desbloquear - Por favor divídalo en vías más cortas
   advice_uploadempty: Nada que subir
   advice_uploadfail: Subida detenida
@@ -50,10 +50,10 @@ es:
   advice_waydragged: Vía desplazada (Z para deshacer)
   cancel: Cancelar
   closechangeset: Cerrando conjunto de cambios
-  conflict_download: Descargar su versión
-  conflict_overwrite: Sobreescribir su versión
-  conflict_poichanged: Desde que comenzó a editar alguien ha cambiado el punto $1
-  conflict_relchanged: Desde que comenzó a editar alguien ha cambiado la relación $1
+  conflict_download: Descarga su versión
+  conflict_overwrite: Sobreescribe su versión
+  conflict_poichanged: Desde que comenzó a editar alguien ha cambiado el punto $1$2.
+  conflict_relchanged: Desde que comenzó a editar alguien ha cambiado la relación $1$2.
   conflict_visitpoi: Pulse 'Ok' para mostrar el punto.
   conflict_visitway: Pulse 'Aceptar' para mostrar la vía
   conflict_waychanged: Desde que comenzó a editar alguien ha cambiado la vía $1$2.
@@ -70,18 +70,18 @@ es:
   error_microblog_long: "El envío a $1 falló:\nCódigo HTTP: $2\nMensaje de error: $3\n$1 error: $4"
   error_nopoi: El punto de interés (POI) no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer.
   error_nosharedpoint: Las vías $1 y $2 ya no tienen ningún punto en común, por tanto no se pueden dividir.
-  error_noway: La vía $1 no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer..
+  error_noway: La vía $1 no se puede encontrar (igual usted se ha desplazado a otra zona?), por tanto no se puede deshacer.
   error_readfailed: Lo sentimos mucho. El servidor de OpenStreetMap no ha respondido a la solicitud de información. \n\n¿Deseas intentarlo de nuevo?
-  existingrelation: Añadir a relación existente
+  existingrelation: Añadir a una relación existente
   findrelation: Buscar una relación que contenga
-  gpxpleasewait: Por favor espere un poco mientras el track GPX se procesa.
+  gpxpleasewait: Por favor, espere mientras la traza GPX se procesa.
   heading_drawing: Dibujando
   heading_introduction: Introducción
   heading_pois: Primeros pasos
   heading_quickref: Referencia rápida
   heading_surveying: Recogida de datos
   heading_tagging: Etiquetando
-  heading_troubleshooting: Problemas
+  heading_troubleshooting: Resolución de problemas
   help: Ayuda
   hint_drawmode: Clic para añadir un punto\ndoble-clic/Return\npara terminar la línea
   hint_latlon: "lat $1\nlon $2"
@@ -132,12 +132,13 @@ es:
   option_layer_ooc_7th: "Histórico de UK: 7th"
   option_layer_ooc_npe: "Histórico de UK: NPE"
   option_layer_ooc_scotland: "UK histórico: Escocia"
+  option_layer_os_streetview: "UK: OS StreetView"
   option_layer_streets_haiti: "Haiti: nombres de calles"
   option_layer_tip: Elija el fondo a mostrar
   option_limitways: Lanza una advertencia al cargar gran cantidad de datos.
   option_microblog_id: "Nombre del microblog:"
   option_microblog_pwd: "Contraseña del microblog:"
-  option_noname: Resaltar carreteras sin nombres
+  option_noname: Resalta las carreteras sin nombres
   option_photo: "Foto KML:"
   option_thinareas: Usar líneas más finas para áreas
   option_thinlines: Usar líneas finas en todas las escalas
@@ -178,14 +179,14 @@ es:
   prompt_createparallel: Crear vía paralela
   prompt_editlive: Edición en vivo
   prompt_editsave: Edición con guardar
-  prompt_helpavailable: Usuario nuevo? Busca ayuda abajo en la izquierda.
+  prompt_helpavailable: ¿Usuario nuevo? Mire la ayuda en la zona inferior izquierda.
   prompt_launch: Ir a URL externa
   prompt_live: Al estar en vivo, cada cambio realizado se guardará instantáneamente en la base de datos de OpenStreetMap y esto no se recomienda a principiantes. ¿Estás seguro?
   prompt_manyways: Esta área contiene muchos detalles y tardará mucho en cargarse. ¿Prefieres hacer un acercamiento?
   prompt_microblog: Enviado a $1 ($2 restantes)
   prompt_revertversion: "Volver a una versión previamente guardada:"
   prompt_savechanges: Guardar cambios
-  prompt_taggedpoints: Algunos puntos de esta vía tienen parámetros (tags). Seguro que quiere borrar?
+  prompt_taggedpoints: Alguno de los puntos de esta vía tienen etiquetas o están en una relación. ¿Realmente quiere borrarlos?
   prompt_track: Convierta su track de GPS a vías (bloqueadas) para editar.
   prompt_unlock: Pulse para desbloquear
   prompt_welcome: Bienvenido a OpenStreetMap!
@@ -194,24 +195,25 @@ es:
   save: Guardar
   tags_backtolist: Volver a la lista
   tags_descriptions: Descripciones de '$1'
-  tags_findatag: Encontrar una etiqueta
+  tags_findatag: Busca una etiqueta
+  tags_findtag: Busca una etiqueta
   tags_matching: Etiquetas populares que coinciden con '$1'
   tags_typesearchterm: "Introduzca una palabra para buscar:"
   tip_addrelation: Añadir a una relación
   tip_addtag: Añadir un nuevo parámetro (tag)
   tip_alert: Ha ocurrido un error - clic para detalles
   tip_anticlockwise: Vía circular en el sentido contrario de las agujas del reloj - clic para invertir la dirección de la vía
-  tip_clockwise: Vía circular en el sentido de las agujas del reloj - clic para invertir la dirección de la vía
+  tip_clockwise: Vía circular en el sentido de las agujas del reloj - pulse para invertir la dirección de la vía
   tip_direction: Dirección de la vía - clic para invertir la dirección de la vía
-  tip_gps: Mostrar los tracks de GPS (G)
+  tip_gps: Muestra las trazas de GPS (G)
   tip_noundo: Nada que deshacer
   tip_options: Opciones (elegir el fondo del mapa)
   tip_photo: Cargar fotos
-  tip_presettype: Seleccionar que tipo de parámetros (tags) preestablecidos se ofrecen en el menú.
-  tip_repeattag: Repetir los parámetros (tags) de la vía seleccionada previamente (R)
-  tip_revertversion: Elige la versión a la que volver.
+  tip_presettype: Seleccionar que tipo de etiquetas preestablecidas se ofrecen en el menú.
+  tip_repeattag: Repetir las etiquetas de la vía seleccionada previamente (R)
+  tip_revertversion: Elija la fecha a la que volver.
   tip_selectrelation: Añadir a la ruta seleccionada
-  tip_splitway: Dividir la vía en el punto seleccionado (X)
+  tip_splitway: Divide la vía en el punto seleccionado (X)
   tip_tidy: Simplificar puntos en una vía (T)
   tip_undo: Deshacer $1 (Z)
   uploading: Subiendo...
index 44915dc82991f8ad979db06ee39bda58bf7df8aa..26a11cf2407bd834f7e5204e4e644b83204adc15 100644 (file)
@@ -136,6 +136,7 @@ fr:
   option_layer_ooc_7th: Historique UK 7e
   option_layer_ooc_npe: Historique UK NPE
   option_layer_ooc_scotland: "Royaume-Uni historique : Ecosse"
+  option_layer_os_streetview: "RU : OS StreetView"
   option_layer_streets_haiti: "Haïti: noms des rues"
   option_layer_tip: Choisir l'arrière-plan à afficher
   option_limitways: Avertir lors du chargement d'une grande quantité de données
@@ -189,7 +190,7 @@ fr:
   prompt_microblog: Poster sur $1 ($2 restant)
   prompt_revertversion: "Revenir à une version sauvegardée antérieure :"
   prompt_savechanges: Sauvegarder les modifications
-  prompt_taggedpoints: Certains points de ce chemin sont balisés. Souhaitez-vous les supprimer?
+  prompt_taggedpoints: Certains points de ce chemin sont associés à des balises ou dans des relations. Voulez-vous vraiment les supprimer ?
   prompt_track: Conversion d'une trace GPS en chemin (verrouillé) pour l'édition
   prompt_unlock: Cliquer pour déverrouiller
   prompt_welcome: Bienvenue sur OpenStreetMap !
@@ -198,8 +199,9 @@ fr:
   save: Sauvegarder
   tags_backtolist: Retour à la liste
   tags_descriptions: Descriptions de « $1 »
-  tags_findatag: Rechercher un mot-clé
-  tags_matching: Mots-clés populaires correspondant à « $1 »
+  tags_findatag: Rechercher une balise
+  tags_findtag: Rechercher balise
+  tags_matching: Balises populaires correspondant à « $1 »
   tags_typesearchterm: "Tapez le mot à rechercher :"
   tip_addrelation: Ajouter à une relation
   tip_addtag: Ajouter une nouvelle balise
index b3539eeb4aa81aa88253ca404cecbdb382f3307b..3f4d7e75e380cc77726ff0afacf46ecb0ae98fac 100644 (file)
@@ -32,6 +32,7 @@ gl:
   advanced_tooltip: Accións de edición avanzadas
   advanced_undelete: Restaurar
   advice_bendy: Demasiado curvado para podelo endereitar (Bloq. Maiús. para forzar)
+  advice_conflict: Conflito co servidor; poida que necesite intentar gardar de novo
   advice_deletingpoi: Borrando o punto de interese (Z para desfacer)
   advice_deletingway: Borrando o camiño (Z para desfacer)
   advice_microblogged: Actualizouse o teu estado en $1
@@ -88,6 +89,7 @@ gl:
   hint_saving: gardando os datos
   hint_saving_loading: cargando/gardando os datos
   inspector: Inspector
+  inspector_duplicate: Duplicado de
   inspector_in_ways: Nos camiños
   inspector_latlon: "Lat $1\nLon $2"
   inspector_locked: Pechado
@@ -99,6 +101,7 @@ gl:
   inspector_way_connects_to_principal: Conecta con $1 $2 e $3 $4
   inspector_way_nodes: $1 nodos
   inspector_way_nodes_closed: $1 nodos (pechado)
+  loading: Cargando...
   login_pwd: "Contrasinal:"
   login_retry: Non se recoñeceu o seu nome de usuario. Por favor, inténteo de novo.
   login_title: Non se puido rexistrar
@@ -125,6 +128,8 @@ gl:
   option_layer_ooc_25k: "Historial UK: 1:25k"
   option_layer_ooc_7th: "Historial UK: 7º"
   option_layer_ooc_npe: "Historial UK: NPE"
+  option_layer_ooc_scotland: "RU histórico: Escocia"
+  option_layer_os_streetview: "RU: OS StreetView"
   option_layer_streets_haiti: "Haití: nomes de rúas"
   option_layer_tip: Escolla o fondo a mostrar
   option_limitways: Avisar ao cargar moitos datos
@@ -170,7 +175,7 @@ gl:
   prompt_closechangeset: Pechar o conxunto de cambios $1
   prompt_createparallel: Crear un camiño paralelo
   prompt_editlive: Editar en directo
-  prompt_editsave: Editar con garda
+  prompt_editsave: Editar con gardado
   prompt_helpavailable: É un usuario novo? Olle o canto inferior esquerdo para obter axuda.
   prompt_launch: Lanzar un URL externo
   prompt_live: No modo en directo, cada elemento que cambie gardarase instantaneamente na base de datos do OpenStreetMap; non se recomenda para os principiantes. Está seguro de querer usar este modo?
@@ -178,13 +183,19 @@ gl:
   prompt_microblog: Publicar en $1 ($2 restantes)
   prompt_revertversion: "Voltar a unha versión anterior:"
   prompt_savechanges: Gardar os cambios
-  prompt_taggedpoints: Algúns dos puntos deste camiño están etiquetados. Realmente os quere borrar?
+  prompt_taggedpoints: Algúns dos puntos deste camiño están etiquetados ou en relacións. Realmente os quere borrar?
   prompt_track: Converter as pistas GPS en camiños
   prompt_unlock: Prema para desbloquear
   prompt_welcome: Benvido ao OpenStreetMap!
   retry: Reintentar
   revert: Reverter
   save: Gardar
+  tags_backtolist: Voltar á lista
+  tags_descriptions: Descricións de "$1"
+  tags_findatag: Atopar unha etiqueta
+  tags_findtag: Atopar unha etiqueta
+  tags_matching: Etiquetas populares que coinciden con "$1"
+  tags_typesearchterm: "Escriba unha palabra a procurar:"
   tip_addrelation: Engadir a unha relación
   tip_addtag: Engadir unha nova etiqueta
   tip_alert: Houbo un erro (prema para obter máis detalles)
index da31a8a10c3c154ff7b5f45e146ce35f9792026b..ae9de0ad25b6c28681718bcd708f5b01f2ff369a 100644 (file)
@@ -79,7 +79,7 @@ hr:
   heading_tagging: Označavanje (Tagging)
   heading_troubleshooting: Rješavanje problema
   help: Pomoć
-  help_html: "<!--\n\n========================================================================================================================\nStrana 1: Uvod\n\n--><headline>Dobrodošli u Potlatch</headline>\n<largeText>Potlatch je editor koji se lako koristi za uređivanje  OpenStreetMap-a. Crtajte ceste, staze, orjentire i trgovine iz GPS istaživanja, satelitskih slika ili starih karti.\n\nOve stranice pomoći će vas provesti kroz osnove korištenja Potlatch-a, i pokazati kako saznati više. Klikni naslove za početak.\n\nKada ste gotovi, klikinte bilo gdje na stranicu.\n\n</largeText>\n\n<column/><headline>Korisno je znati</headline>\n<bodyText>Ne kopirajte s drugih karti !\n\nAko izaberete 'Uređuj uživo\" sve promjene koje napravite <i>trenutno</i> idu u bazu čim ih nacrtate. Ako niste toliko sigurni, izaberite 'Uređuj sa spremanjem', i onda će ići tek kada pritisnete 'Spremi'.\n\nBilo koja promjena koju napravite bit će prikazane na karti kroz sat ili dva (neke stvari čak i do tjedan). Nije sve prikazano na karti - izgledalo bi previše neuredno. Kako je su podaci Openstreetmap-a otvorenog koda, ljudi mogu napraviti prikaz karte s drukčijim izgledom - kao <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> or <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nZapamtite, to je <i>ujedno</i>  karta koja dobro izgleda (pa ctrajte lijepe liijepe zavoje) i diagram za navigaciju (pa budite sigurni da ste spojili ceste na križanjima).\n\nDa li smo spomenuli da ne kopirate s drugih karti?\n</bodyText>\n\n<column/><headline>Saznaj više</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch upute</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Mailing liste</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Online chat (pomoć uživo)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Web forum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki zajednice</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch source-code</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nStranica 2: početak\n\n--><page/><headline>Početak</headline>\n<bodyText>Sada kada imate otvoren Potlatch, 'Uređuj sa spremanjem'  za početak.\n\nSpremni ste za crtanje karte. Najlakše je početi s ucrtavnjem točaka interesa ili POI. Ovo mogu biti kafići, restorani, crkve, željazničke stanice....sve što želite.</bodytext>\n\n<column/><headline>Povuci i ispusti</headline>\n<bodyText>Da bi bilo super jednostavno, ispod karte se nalazi izbor najčešće korištenih POI. Postavljanje na kartu radi se jednostavnim povlačenjem ikone na kartu. Ne brinite ako je niste odmah pozicionarali ispravno: možete pomaći POI, dok ga ne namjestite. Upamtite da POI mora biti osvjetljen žuto kada je izabran.\n\nKada ste to napravili, dajte ime vašem kafiću, stanici, crkvi... Vidjet će te da se pojavila mala tablica ispod. Jedno od polja će biti \"Ime\" popraćeno s \"unesite ime\". Kliknite taj telst i unesite ime.\n\nKliknite negdje drugdje na karti da bi odslektirali vaš POI, i raznobojni panel se vraća.\n\nLako, zar ne? Klikni 'Spremi' (dolje desno) kad ste gotovi.\n</bodyText><column/><headline>Pomjeranje okolo</headline>\n<bodyText>Da se premjestite na drugi dio karte, povucite kartu. Potlatch će automatski učitati nove podatke (gledajte gornji desni kut).\n\nRekli smo vam da 'Uređujete sa spremanjem', ali možete kliknuti i na 'Uređivanje uživo'. Ako idete uživo, sve promjene u bazi podataka su trenutne, tako da nema gumba 'Spremi'. Ovo je dobro za brze izmjene i <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping party-e</a>.</bodyText>\n\n<headline>Slijedeći koraci</headline>\n<bodyText>Zadovoljni s ovim svime? Odlično. Klikni 'Istraživanje' iznad da bi saznali kako postati <i>pravi</i> maper!</bodyText>\n\n<!--\n========================================================================================================================\nStranica 3. Istraživanje\n\n--><page/><headline>Istraživanje s GPS-om</headline>\n<bodyText>Ideja iza Openstreetmap-a je da se napravi karta bez ograničavajućih autorskih prava drugih karti. Ovo znači da ne smijete kopirati drugr karte: morate izaći i istražiti ulice osobno. Na sreću to je jako zabavno! \nNajbolji način za istraživanje je sa GPS uređajem. Nađite područje koje nije kartirano, pa prošećite, provozajte se (biciklom, motorom, autom...) s uključenim GPS uređajem (i uključenim snimanjem GPS traga). Zabilježite usput ulice i sve drugo interesantno (kafiće, crkve, itd.).\n\nKada dođete kući, GPS će sadržavati tzv. 'tracklog' ili zapis GPS traga gdje ste sve bili. Tada možete trag uploadirati na Openstreetmap.\n\nNajbolje je namjestiti GPS uređaj tako da često snima poziciju (svake sekunde ako je moguće) i da ima veliku memoriju. Puno mapera koristi ručne Garmin uređaje ili bluetooth uređaje. Detaljno su opisani <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS recenzije</a> na našem wiki-u.</bodyText>\n\n<column/><headline>Uploadiranje GPS tragova</headline>\n<bodyText>Sada, trebate skintui GPS trag s uređaja. Možda je vaš GPS došao s nekim softwareom, ili se kopira direktno s USB ili SD kartice. Ako ne, probajte <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Štogod bilo, trebate datoteku u GPX formatu.\n\nTada koristite 'GPS tragovi' tab za upload vašeg traga na OpenstreetMap. Ali ovo je prva sitnica - neće se odma pokazati na karti.. Morate nacrtati i imenovati ceste osobno, koristeći trag kao vodilju.</bodyText>\n<headline>Korištenje vaših tragova</headline>\n<bodyText>Nađite uploadani trag na listi 'GPS tragovi', i kliknite 'uredi' <i>odmah pored</i>. Potlatch će startati s ovim tragom učitanim i sa svim waypoint-ima. Spremni ste za crtanje!\n\n<img src=\"gps\">\nMožete također klinuti ovaj gumb za prikaz GPS tragova od svih članova (ali bez waypointa) za trenutno područje. Drži SHIFT za prikaz samo vašeg traga.\n</bodyText>\n<column/><headline>Korištenje satelitskih snimki</headline>\n<bodyText>Ako nemate GPS, ne brinite. U nekim gradovima, postoje satelitske snimke preko kojih možete precrtavati, ljubazno ustupio Yahoo! (hvala!). Izađite van i zabilježite nazive ulica, vratite se i imenujte precrtane ulice.\n\n<img src='prefs'>Ako ne vidite satelitsku snimku, klikite gumb postavke i izaberite 'Yahoo!'. Ako još uvijek ne vidite, vjerojatno odzumirajte (visoka rezolucija nije trenutno dostupna za sve gradove).\n\nNa ovom gumbu, postavke, naći ćete još nekoliko izbora kao karte s isteknutim autorskim pravom za Veliku Britaniju i OpenTopoMap za SAD. Ovo su specijalno izabrane, jer ih je dopušteno koristiti - ne kopirajte s ničije karte ili zračnih snimki. (Zakoni o autorskom pravu su njesra)\n\nPonekad su satelitske snikme malo pomaknute s točnog mjesta gdje su zapravo. ako naiđete na ovo, držite Space i povucite pozadinu dok se ne poravna. Uvijek vjerujte GPS tragovima više nego snimcima.</bodytext>\n\n<!--\n========================================================================================================================\nStranica 4. Crtanje\n\n--><page/><headline>Crtanje puteva</headline>\n<bodyText>Da nacrtate cestu (ili 'put') počnite na praznom mjestu na karti, samo kliknite i precrtajte preko traga. Kada ste gotovi dupli-klik ili pritisnite Enter - onda kliknite negdje da deselektirate cestu.\n\nZa crtanbje puta koji počinje od nekog drugog puta, njegove toče će biti crvene. Držite Dhift i kliknite jednu točku da započnete novi put na toj točki. (ako nema crvene točke na križanju, shift-click gdje hoćete novu!)\n\nKlikni 'Spremi' (dolje desno) kada ste gotovi. Spremajte često, u slučaju da server ima problema.\n\nNe očekujte vaše izmjene da budu odmah vidljive na karti. Obično traje oko sat - dva, ponekad i do tjedan dana.\n</bodyText><column/><headline>Izrada križanja</headline>\n<bodyText>Stvarno je važno, da kada se 2 ceste spajaju, trebaju dijeliti točku. Planeri rute koriste ovo da bi znali gdje skrenuti.\n\nPotlatch birne o ovome sve dok pazite gdje kliknete <i>točno</i>  na put koji spajate. Gledajte pomoćne znakove: točke zasvijetle plavo, pokazivač se promjeni, a kad ste gotovi križanje ima crni obrub.</bodyText>\n<headline>Premještanje i brisanje</headline>\n<bodyText>Ovo radi kako i očekujete. Za brisanje točke, izaberite je i pritisnite Delete. Za brisanje cijelog puta, pritisnite Shift-Delete.\n\nZa premještanje, samo povucite. (Morati će te klinuti i držati za kratko kako ne bi bilo slučano)</bodyText>\n<column/><headline>Napredno crtanje</headline>\n<bodyText><img src=\"scissors\">\nAko sva dijela puta imaju različita imena, morate ih razdvojiti. Kliknite put, onda kliknite točku na kojoj želite razdvojiti i klikinete škare. (Možete sjediniti puteve sa Shift+klik, ali ne možete sjediniti dvije sete različitog imena ili tipa.)\n\n<img src=\"tidy\">Kružni tokovi su dosta teški za nacrtati ispravno. Ne brinite - Potlatch može pomoći. Samo nacrtajte krug ugrubo, ali da se spaja sam sa sobom na kraju, i onda kliknite ikonu da se 'porede' točke. (Isto tako možete izravnati ceste)</bodyText>\n<headline>Točka interesa</headline>\n<bodyText>Prvo što ste naučili je kako povući i ispustiti POI. Možete ih napravaviti tako da duplo kliknete na kartu; zeleni kružić se pojavljuje. Ali kako reći da je to kafić, crkva ili štoveć? Kliknete 'Označavanje' gore da otkrijete!\n\n<!--\n========================================================================================================================\nStranica 4. Označavanje (Tagging)\n\n--><page/><headline>Koji je ovo tip ceste?</headline>\n<bodyText>Kada ste završili s crtanjem puta, trebate ga označiti što je. Jeli to glavna cesta, pješačka staza ili rijeka? Koje je ime? Ima li nekih specijalnih pravila (npr. jednosmjerna ulica)?\n\nU Openstreetmap, ovo snimate korištenjema 'oznaka'. Oznaka ima dva dijela, a možete ih imati koliko hoćete. Npr. možete dodati <i>highway | primary</i> da kažete da je to glavna cesta; <i>highway | residential</i> za cestu u naselju; ili <i>highway | footway</i> za pješačku stazu. Ako su bicikli zabranjeni, dodate <i>bicycle | no</i>. Da snimite ime, dodajte <i>name | Tržna ulica</i>.\n\nOznake u Potlatchu se pojavljuju na dnu ekrana - kliknite na postojeću cestu i vidjet će te koje oznake imaju. Klik na '+' znak (dolje desno) da dodate novu oznaku. Sa 'x' pored oznake ju brišete.\n\nMožete označiti cijeli put; točke na putu (npr. semafor ili kapije); ili toče interesa.</bodytext>\n<column/><headline>Korištenje unaprijed namještenih oznaka (tagova)</headline>\n<bodyText>Da počnete, Potlatch ima spremne presete koji sadrže najpopulanije tagove.\n\n<img src=\"preset_road\">Izaberite put, i kliknite kroz simbole dok ne nađete odgovarajući. Onda, izaberite odgovarajuću opciju u meniju.\n\nOvo će popuniti oznake. Neki će ostati djelomično prazni da ih možete ukucati npr. ime ceste i broj.</bodyText>\n<headline>Jednosmjerne ceste</headline>\n<bodyText>Možete dodati oznaku kao  <i>oneway | yes</i> (za jednosmjernu ulicu) - ali kako odretiti smjer? Postoji strelica na dnu lijevo koa pokazuje smjer puta, od početka do kraja. Klikni za obrnuti smjer.</bodyText>\n<column/><headline>Izabiranje vlastitih oznaka</headline>\n<bodyText>Dakako, niste ograničeni na presete. Koristeći gumb '+' , možete koristiti oznake koje hoćete.\n\nMožete vidjeti koje oznake koriste drugi ljudi na <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, a ima i dugačka lista popularnih oznaka na našem wiki-u koja se zove <a href=\"http://wiki.openstreetmap.org/wiki/Hr:Map_Features\" target=\"_blank\">Značajke karte</a>.\n\nKako se OSM podaci koriste za izradu raznih karti, svaka karta će prikazivati (ili renderirati) neki izbor oznaka.</bodyText>\n<headline>Relacije</headline>\n<bodyText>Ponekad oznake nisu dovoljne, i morate 'grupirati' dva ili više puta. Možda je zabranjeno skretanje s jedne na drugu cestu, ili 20 puteva čini biciklističku rutu. To možete napraviti s naprednim funkcijama koje se zovu 'relacije'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Pogledajte za više</a> na wikiju.</bodyText>\n\n<!--\n========================================================================================================================\nStranica 6. Rješavanje problema\n\n--><page/><headline>Ispravljanje grešaka</headline>\n<bodyText><img src=\"undo\">Ovo je gumb za UNDO poništavanje promjena (možete pritisnuti i Z) - poništiti će zandnje promjene.\n\nMožete 'vratiti' prijašnju snimljenu verziju puta ili točke. Izaberite ke i kliknite njen ID (broj na dnu lijevo) - ili pritisnite H (za 'povijest'). Vidjet će te listu svakoga tko je uređivao i kada. Izaberite jedan i kliknite 'Vrati'.\n\nAko ste slučajno izbrisali put i spremili ga, pritisnite U (vraćanje obrisanog). Svi obrisani putevi će biti prikazani. Izaberite koji želite; otključajte ga s klikom na lokot (po ID-u); i snimite uobičajeno.\n\nMislite da je netko napravio grešku? Pošaljite im prijateljsku poruku. Pritisnite H i izaberite ime, onda kliknite 'Mail'\n\nKoristite Inspector (u meniju 'Napredno') za pomoćne informacije o trenutnom putu ili točki.\n</bodyText><column/><headline>FAQ</headline>\n<bodyText><b>Kako da vidim waypointe?</b>\nWaypointi se pokazuju ako kliknete 'uređivanje' pored imena traga na 'GPS tragovi'. Datoteka mora imai i waypointe i zabilježen trag - server odbija sve što ima samo waypointe.\n\nViše FAQ za <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> i <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Radite brže</headline>\n<bodyText>Što ste više odzumirali, Potlatch mora učitati više podatka. Zoomirajte prije klikanja na 'Uređivanje'.\n\nIsključite 'koristi oklovku i pokazivač ruke' (u postavkama) za najveću brzinu.\n\nAko je server spor, dođite poslije. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Provjerite wiki</a> za poznate probleme. Ponekad, kao nedjeljom uvečer, uvijek su zauzeti.\n\nRecite Potlatchu da memorira vaše omiljene setove oznaka. Izaberite put ili točku s tim oznakama, pritisnite Ctrl, Shift i broj od 1 do 9. Da bi koristili te memorirane oznake pritisnite Shift i broj. (bit će upamćeni svaki puta kada koristite POtlatch na tom kompjuteru)\n\nPretvorite svoj GPS trag u put, tako da ga nađete na listi 'GPS tragovi', kliknite 'Uredi' i uključite 'pretvori'. Biti će zaključa (crven) i neće se snimiti. Prvo ga uredite, i onda kliknite lokot (dolje desno) da se otključa kada ste spremni za spremanje.\n</bodytext>\n\n<!--\n========================================================================================================================\nStranica 7: Brzi priručnik\n\n--><page/><headline>Što kliknuti</headline>\n<bodyText><b>Povuci kartu</b> za kretanje okolo.\n<b>Dupli-click</b> za novi POI.\n<b>Jedan-click</b> za početak novog puta.\n<b>Drži i povuci put ili POI</b> za pomicanje.</bodyText>\n<headline>Kada crtate put</headline>\n<bodyText><b>Dupli-click</b> ili\n<b>pritisnite Enter</b> za završetak crtanja.\n<b>Klikni</b> drugi put da se napravi križanje.\n<b>Shift-click kraj drugog put</b> za spajanje.</bodyText>\n<headline>Kada je izabran put</headline>\n<bodyText><b>Klikni točku</b> za izbor\n<b>Shift-click u put</b> za umetanje nove točke.\n<b>Shift-click a point</b> da započnete novi put odatle.\n<b>Shift-click drugi put</b> za spajanje.\n</bodyText>\n</bodyText>\n<column/><headline>Tipkovničke kratie</headline>\n<bodyText><textformat tabstops='[25]'>B Dodaj oznaku izvora pozadine\nC Zatvori <u>c</u>hangeset\nG Prikaži <u>G</u>PS tragovi\nH Pokaži povijest\nI Pokaži <u>i</u>nspector\nJ Spoji točku putevima koji se križaju\nK Za<u>k</u>ljučaj/otključak trenutni izbor\nL Pokaži trenutnu geografsku širinu/dužinu (<u>l</u>atitude/longitude)\nM <u>M</u>aximiziraj prozor za uređivanje\nP Napravi <u>p</u>aralelni put\nR Ponovi oznake (tag)\nS <u>S</u>premi (osim ako uređujete uživo)\nT Posloži točke u liniju/krug\nU Vrati obrisano (prikaži obrisane puteve)\nX podijeli put u dva\nZ Undo\n- Ukloni točku s ovog puta\n+ Dodaj novu oznaku (tag)\n/ Izaberi drugo put koji dijeli ovu točku\n</textformat><textformat tabstops='[50]'>Delete Obriši točku\n  (+Shift) Obriši cijeli put\nReturn Završi liniju koja se crta\nSpace Drži i povuci pozadinu\nEsc Odustani od uređivanja, ponovno učitavanje sa servera.\n0 Ukloni sve oznake (tag)\n1-9 Izaberi unaprijed postavljene oznake (tagove)\n  (+Shift) Izaberi memorirane oznake\n  (+S/Ctrl) Memoriraj oznake\n§ ili ` Izmjenjuj grupa oznaka (tagova)\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nStrana 1: Uvod\n\n--><headline>Dobrodošli u Potlatch</headline>\n<largeText>Potlatch je editor koji se lako koristi za uređivanje  OpenStreetMap-a. Crtajte ceste, staze, orjentire i trgovine iz GPS istaživanja, satelitskih slika ili starih karti.\n\nOve stranice pomoći će vas provesti kroz osnove korištenja Potlatch-a, i pokazati kako saznati više. Klikni naslove za početak.\n\nKada ste gotovi, klikinte bilo gdje na stranicu.\n\n</largeText>\n\n<column/><headline>Korisno je znati</headline>\n<bodyText>Ne kopirajte s drugih karti !\n\nAko izaberete 'Uređuj uživo\" sve promjene koje napravite <i>trenutno</i> idu u bazu čim ih nacrtate. Ako niste toliko sigurni, izaberite 'Uređuj sa spremanjem', i onda će ići tek kada pritisnete 'Spremi'.\n\nBilo koja promjena koju napravite bit će prikazane na karti kroz sat ili dva (neke stvari čak i do tjedan). Nije sve prikazano na karti - izgledalo bi previše neuredno. Kako je su podaci Openstreetmap-a otvorenog koda, ljudi mogu napraviti prikaz karte s drukčijim izgledom - kao <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> or <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nZapamtite, to je <i>ujedno</i>  karta koja dobro izgleda (pa ctrajte lijepe liijepe zavoje) i diagram za navigaciju (pa budite sigurni da ste spojili ceste na križanjima).\n\nDa li smo spomenuli da ne kopirate s drugih karti?\n</bodyText>\n\n<column/><headline>Saznaj više</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch upute</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Mailing liste</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Online chat (pomoć uživo)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Web forum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki zajednice</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch source-code</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nStranica 2: početak\n\n--><page/><headline>Početak</headline>\n<bodyText>Sada kada imate otvoren Potlatch, 'Uređuj sa spremanjem'  za početak.\n\nSpremni ste za crtanje karte. Najlakše je početi s ucrtavnjem točaka interesa ili POI. Ovo mogu biti kafići, restorani, crkve, željazničke stanice....sve što želite.</bodytext>\n\n<column/><headline>Povuci i ispusti</headline>\n<bodyText>Da bi bilo super jednostavno, ispod karte se nalazi izbor najčešće korištenih POI. Postavljanje na kartu radi se jednostavnim povlačenjem ikone na kartu. Ne brinite ako je niste odmah pozicionarali ispravno: možete pomaći POI, dok ga ne namjestite. Upamtite da POI mora biti osvjetljen žuto kada je izabran.\n\nKada ste to napravili, dajte ime vašem kafiću, stanici, crkvi... Vidjet će te da se pojavila mala tablica ispod. Jedno od polja će biti \"Ime\" popraćeno s \"unesite ime\". Kliknite taj telst i unesite ime.\n\nKliknite negdje drugdje na karti da bi odslektirali vaš POI, i raznobojni panel se vraća.\n\nLako, zar ne? Klikni 'Spremi' (dolje desno) kad ste gotovi.\n</bodyText><column/><headline>Pomjeranje okolo</headline>\n<bodyText>Da se premjestite na drugi dio karte, povucite kartu. Potlatch će automatski učitati nove podatke (gledajte gornji desni kut).\n\nRekli smo vam da 'Uređujete sa spremanjem', ali možete kliknuti i na 'Uređivanje uživo'. Ako idete uživo, sve promjene u bazi podataka su trenutne, tako da nema gumba 'Spremi'. Ovo je dobro za brze izmjene i <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping party-e</a>.</bodyText>\n\n<headline>Slijedeći koraci</headline>\n<bodyText>Zadovoljni s ovim svime? Odlično. Klikni 'Istraživanje' iznad da bi saznali kako postati <i>pravi</i> maper!</bodyText>\n\n<!--\n========================================================================================================================\nStranica 3. Istraživanje\n\n--><page/><headline>Istraživanje s GPS-om</headline>\n<bodyText>Ideja iza Openstreetmap-a je da se napravi karta bez ograničavajućih autorskih prava drugih karti. Ovo znači da ne smijete kopirati drugr karte: morate izaći i istražiti ulice osobno. Na sreću to je jako zabavno! \nNajbolji način za istraživanje je sa GPS uređajem. Nađite područje koje nije kartirano, pa prošećite, provozajte se (biciklom, motorom, autom...) s uključenim GPS uređajem (i uključenim snimanjem GPS traga). Zabilježite usput ulice i sve drugo interesantno (kafiće, crkve, itd.).\n\nKada dođete kući, GPS će sadržavati tzv. 'tracklog' ili zapis GPS traga gdje ste sve bili. Tada možete trag uploadirati na Openstreetmap.\n\nNajbolje je namjestiti GPS uređaj tako da često snima poziciju (svake sekunde ako je moguće) i da ima veliku memoriju. Puno mapera koristi ručne Garmin uređaje ili bluetooth uređaje. Detaljno su opisani <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS recenzije</a> na našem wiki-u.</bodyText>\n\n<column/><headline>Uploadiranje GPS tragova</headline>\n<bodyText>Sada, trebate skintui GPS trag s uređaja. Možda je vaš GPS došao s nekim softwareom, ili se kopira direktno s USB ili SD kartice. Ako ne, probajte <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Štogod bilo, trebate datoteku u GPX formatu.\n\nTada koristite 'GPS tragovi' tab za upload vašeg traga na OpenstreetMap. Ali ovo je prva sitnica - neće se odma pokazati na karti.. Morate nacrtati i imenovati ceste osobno, koristeći trag kao vodilju.</bodyText>\n<headline>Korištenje vaših tragova</headline>\n<bodyText>Nađite uploadani trag na listi 'GPS tragovi', i kliknite 'uredi' <i>odmah pored</i>. Potlatch će startati s ovim tragom učitanim i sa svim waypoint-ima. Spremni ste za crtanje!\n\n<img src=\"gps\">Možete također kliknuti ovaj gumb za prikaz GPS tragova svih članova (ali bez waypointa) za trenutno područje. Drži Shift za prikaz samo vašeg traga.</bodyText>\n<column/><headline>Korištenje satelitskih snimki</headline>\n<bodyText>Ako nemate GPS, ne brinite. U nekim gradovima, postoje satelitske snimke preko kojih možete precrtavati, ljubazno ustupio Yahoo! (hvala!). Izađite van i zabilježite nazive ulica, vratite se i imenujte precrtane ulice.\n\n<img src='prefs'>Ako ne vidite satelitsku snimku, klikite gumb postavke i izaberite 'Yahoo!'. Ako još uvijek ne vidite, vjerojatno odzumirajte (visoka rezolucija nije trenutno dostupna za sve gradove).\n\nNa ovom gumbu, postavke, naći ćete još nekoliko izbora kao karte s isteknutim autorskim pravom za Veliku Britaniju i OpenTopoMap za SAD. Ovo su specijalno izabrane, jer ih je dopušteno koristiti - ne kopirajte s ničije karte ili zračnih snimki. (Zakoni o autorskom pravu su njesra)\n\nPonekad su satelitske snikme malo pomaknute s točnog mjesta gdje su zapravo. ako naiđete na ovo, držite Space i povucite pozadinu dok se ne poravna. Uvijek vjerujte GPS tragovima više nego snimcima.</bodytext>\n\n<!--\n========================================================================================================================\nStranica 4. Crtanje\n\n--><page/><headline>Crtanje puteva</headline>\n<bodyText>Da nacrtate cestu (ili 'put') počnite na praznom mjestu na karti, samo kliknite i precrtajte preko traga. Kada ste gotovi dupli-klik ili pritisnite Enter - onda kliknite negdje da deselektirate cestu.\n\nZa crtanbje puta koji počinje od nekog drugog puta, njegove toče će biti crvene. Držite Dhift i kliknite jednu točku da započnete novi put na toj točki. (ako nema crvene točke na križanju, shift-click gdje hoćete novu!)\n\nKlikni 'Spremi' (dolje desno) kada ste gotovi. Spremajte često, u slučaju da server ima problema.\n\nNe očekujte vaše izmjene da budu odmah vidljive na karti. Obično traje oko sat - dva, ponekad i do tjedan dana.\n</bodyText><column/><headline>Izrada križanja</headline>\n<bodyText>Stvarno je važno, da kada se 2 ceste spajaju, trebaju dijeliti točku. Planeri rute koriste ovo da bi znali gdje skrenuti.\n\nPotlatch birne o ovome sve dok pazite gdje kliknete <i>točno</i>  na put koji spajate. Gledajte pomoćne znakove: točke zasvijetle plavo, pokazivač se promjeni, a kad ste gotovi križanje ima crni obrub.</bodyText>\n<headline>Premještanje i brisanje</headline>\n<bodyText>Ovo radi kako i očekujete. Za brisanje točke, izaberite je i pritisnite Delete. Za brisanje cijelog puta, pritisnite Shift-Delete.\n\nZa premještanje, samo povucite. (Morati će te klinuti i držati za kratko kako ne bi bilo slučano)</bodyText>\n<column/><headline>Napredno crtanje</headline>\n<bodyText><img src=\"scissors\">Ako sva dijela puta imaju različita imena, morate ih razdvojiti. Kliknite put, onda kliknite točku na kojoj želite razdvojiti i klikinete škare. (Možete sjediniti puteve sa Shift+klik, ili Apple tipkom na Mac-u, ali ne možete sjediniti dvije ceste različitog imena ili tipa.)\n\n<img src=\"tidy\">Kružni tokovi su dosta teški za nacrtati ispravno. Ne brinite - Potlatch može pomoći. Samo nacrtajte krug ugrubo, ali da se spaja sam sa sobom na kraju, i onda kliknite ikonu da se 'porede' točke. (Isto tako možete izravnati ceste)</bodyText>\n<headline>Točka interesa</headline>\n<bodyText>Prvo što ste naučili je kako povući i ispustiti POI. Možete ih napravaviti tako da duplo kliknete na kartu; zeleni kružić se pojavljuje. Ali kako reći da je to kafić, crkva ili štoveć? Kliknete 'Označavanje' gore da otkrijete!\n\n<!--\n========================================================================================================================\nStranica 4. Označavanje (Tagging)\n\n--><page/><headline>Koji je ovo tip ceste?</headline>\n<bodyText>Kada ste završili s crtanjem puta, trebate ga označiti što je. Jeli to glavna cesta, pješačka staza ili rijeka? Koje je ime? Ima li nekih specijalnih pravila (npr. jednosmjerna ulica)?\n\nU Openstreetmap, ovo snimate korištenjema 'oznaka'. Oznaka ima dva dijela, a možete ih imati koliko hoćete. Npr. možete dodati <i>highway | primary</i> da kažete da je to glavna cesta; <i>highway | residential</i> za cestu u naselju; ili <i>highway | footway</i> za pješačku stazu. Ako su bicikli zabranjeni, dodate <i>bicycle | no</i>. Da snimite ime, dodajte <i>name | Tržna ulica</i>.\n\nOznake u Potlatchu se pojavljuju na dnu ekrana - kliknite na postojeću cestu i vidjet će te koje oznake imaju. Klik na '+' znak (dolje desno) da dodate novu oznaku. Sa 'x' pored oznake ju brišete.\n\nMožete označiti cijeli put; točke na putu (npr. semafor ili kapije); ili toče interesa.</bodytext>\n<column/><headline>Korištenje unaprijed namještenih oznaka (tagova)</headline>\n<bodyText>Da počnete, Potlatch ima spremne presete koji sadrže najpopulanije tagove.\n\n<img src=\"preset_road\">Izaberite put, i kliknite kroz simbole dok ne nađete odgovarajući. Onda, izaberite odgovarajuću opciju u meniju.\n\nOvo će popuniti oznake. Neki će ostati djelomično prazni da ih možete ukucati npr. ime ceste i broj.</bodyText>\n<headline>Jednosmjerne ceste</headline>\n<bodyText>Možete dodati oznaku kao  <i>oneway | yes</i> (za jednosmjernu ulicu) - ali kako odretiti smjer? Postoji strelica na dnu lijevo koa pokazuje smjer puta, od početka do kraja. Klikni za obrnuti smjer.</bodyText>\n<column/><headline>Izabiranje vlastitih oznaka</headline>\n<bodyText>Dakako, niste ograničeni na presete. Koristeći gumb '+' , možete koristiti oznake koje hoćete.\n\nMožete vidjeti koje oznake koriste drugi ljudi na <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, a ima i dugačka lista popularnih oznaka na našem wiki-u koja se zove <a href=\"http://wiki.openstreetmap.org/wiki/Hr:Map_Features\" target=\"_blank\">Značajke karte</a>.\n\nKako se OSM podaci koriste za izradu raznih karti, svaka karta će prikazivati (ili renderirati) neki izbor oznaka.</bodyText>\n<headline>Relacije</headline>\n<bodyText>Ponekad oznake nisu dovoljne, i morate 'grupirati' dva ili više puta. Možda je zabranjeno skretanje s jedne na drugu cestu, ili 20 puteva čini biciklističku rutu. To možete napraviti s naprednim funkcijama koje se zovu 'relacije'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Pogledajte za više</a> na wikiju.</bodyText>\n\n<!--\n========================================================================================================================\nStranica 6. Rješavanje problema\n\n--><page/><headline>Ispravljanje grešaka</headline>\n<bodyText><img src=\"undo\">Ovo je gumb za UNDO poništavanje promjena (možete pritisnuti i Z) - poništiti će zandnje promjene.\n\nMožete 'vratiti' prijašnju snimljenu verziju puta ili točke. Izaberite ke i kliknite njen ID (broj na dnu lijevo) - ili pritisnite H (za 'povijest'). Vidjet će te listu svakoga tko je uređivao i kada. Izaberite jedan i kliknite 'Vrati'.\n\nAko ste slučajno izbrisali put i spremili ga, pritisnite U (vraćanje obrisanog). Svi obrisani putevi će biti prikazani. Izaberite koji želite; otključajte ga s klikom na crveni lokot  i snimite uobičajeno.\n\nMislite da je netko napravio grešku? Pošaljite im prijateljsku poruku. Pritisnite H i izaberite ime, onda kliknite 'Mail'\n\nKoristite Inspector (u meniju 'Napredno') za pomoćne informacije o trenutnom putu ili točki.\n</bodyText><column/><headline>FAQ</headline>\n<bodyText><b>Kako da vidim waypointe?</b>\nWaypointi se pokazuju ako kliknete 'uređivanje' pored imena traga na 'GPS tragovi'. Datoteka mora imai i waypointe i zabilježen trag - server odbija sve što ima samo waypointe.\n\nViše FAQ za <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> i <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Radite brže</headline>\n<bodyText>Što ste više odzumirali, Potlatch mora učitati više podatka. Zoomirajte prije klikanja na 'Uređivanje'.\n\nIsključite 'koristi oklovku i pokazivač ruke' (u postavkama) za najveću brzinu.\n\nAko je server spor, dođite poslije. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Provjerite wiki</a> za poznate probleme. Ponekad, kao nedjeljom uvečer, uvijek su zauzeti.\n\nRecite Potlatchu da memorira vaše omiljene setove oznaka. Izaberite put ili točku s tim oznakama, pritisnite Ctrl, Shift i broj od 1 do 9. Da bi koristili te memorirane oznake pritisnite Shift i broj. (bit će upamćeni svaki puta kada koristite POtlatch na tom kompjuteru)\n\nPretvorite svoju GPS trasu u put, tako da ga nađete na listi 'GPS tragovi', kliknite 'Uredi' i uključite 'pretvori'. Biti će zaključan (crven) i neće se snimiti. Prvo ga uredite, i onda kliknite crveni lokot da se otključa kada ste spremni za spremanje.</bodytext>\n\n<!--\n========================================================================================================================\nStranica 7: Brzi priručnik\n\n--><page/><headline>Što kliknuti</headline>\n<bodyText><b>Povuci kartu</b> za kretanje okolo.\n<b>Dupli-click</b> za novi POI.\n<b>Jedan-click</b> za početak novog puta.\n<b>Drži i povuci put ili POI</b> za pomicanje.</bodyText>\n<headline>Kada crtate put</headline>\n<bodyText><b>Dupli-click</b> ili <b>pritisnite Enter</b> za završetak crtanja.\n<b>Klikni</b> drugi put da se napravi križanje.\n<b>Shift-click kraj drugog put</b> za spajanje.</bodyText>\n<headline>Kada je izabran put</headline>\n<bodyText><b>Klikni točku</b> za izbor\n<b>Shift-click u put</b> za umetanje nove točke.\n<b>Shift-click a point</b> da započnete novi put odatle.\n<b>Ctrl-click na drugi put</b> za spajanje.</bodyText>\n</bodyText>\n<column/><headline>Tipkovničke kratie</headline>\n<bodyText><textformat tabstops='[25]'>B Dodaj oznaku izvora pozadine\nC Zatvori <u>c</u>hangeset\nG Prikaži <u>G</u>PS tragovi\nH Pokaži povijest\nI Pokaži <u>i</u>nspector\nJ Spoji točku putevima koji se križaju\nK Za<u>k</u>ljučaj/otključak trenutni izbor\nL Pokaži trenutnu geografsku širinu/dužinu (<u>l</u>atitude/longitude)\nM <u>M</u>aximiziraj prozor za uređivanje\nP Napravi <u>p</u>aralelni put\nR Ponovi oznake (tag)\nS <u>S</u>premi (osim ako uređujete uživo)\nT Posloži točke u liniju/krug\nU Vrati obrisano (prikaži obrisane puteve)\nX podijeli put u dva\nZ Undo\n- Ukloni točku s ovog puta\n+ Dodaj novu oznaku (tag)\n/ Izaberi drugo put koji dijeli ovu točku\n</textformat><textformat tabstops='[50]'>Delete Obriši točku\n  (+Shift) Obriši cijeli put\nReturn Završi liniju koja se crta\nSpace Drži i povuci pozadinu\nEsc Odustani od uređivanja, ponovno učitavanje sa servera.\n0 Ukloni sve oznake (tag)\n1-9 Izaberi unaprijed postavljene oznake (tagove)\n  (+Shift) Izaberi memorirane oznake\n  (+S/Ctrl) Memoriraj oznake\n§ ili ` Izmjenjuj grupa oznaka (tagova)\n</textformat>\n</bodyText>"
   hint_drawmode: klikni za dodavanje točke\ndupli-klik/Return\nza završetak linije
   hint_latlon: "lat $1\nlon $2"
   hint_loading: učitavanje podataka
index 3a67ecacb91f8933f0a961d2f0aa5a75f472c99c..7b5abd14b87eb5ab3a8971de14b74c56d9b08acf 100644 (file)
@@ -32,6 +32,7 @@ hsb:
   advanced_tooltip: Rozšěrjene wobdźěłanske akcije
   advanced_undelete: Wobnowić
   advice_bendy: Za zrunanje překřiwicaty (UMSCH za wunuzowanje)
+  advice_conflict: Serwerowy konflikt - dyrbiš snano znowa składować
   advice_deletingpoi: Wotstronja se dypk zajima (Z za anulowanje)
   advice_deletingway: Puc wotstronić (Z za anulowanje)
   advice_microblogged: Twój status $1 bu zaktualizowany
@@ -79,7 +80,7 @@ hsb:
   heading_tagging: Atributowanje
   heading_troubleshooting: Rozrisowanje problemow
   help: Pomoc
-  help_html: "<!--\n\n========================================================================================================================\nStrona 1: Zawod\n\n--><headline>Witaj do Potlatch</headline>\n<largeText>Potlatch je lochko wužiwajomny editor za OpenStreetMap. Narysuj dróhi, šćežki, mězniki a wobchody ze swojich GPS-měrjenjow, satelitowych wobrazow abo starych kartow.\n\nTute strony pomocy će wjedu přez zakłady wužiwanja editora Potlatch a informuja, hdźež móžeš wjace namakać. Klikń horjeka na nadpisma, zo by započał.\n\nHdyž sy hotowy, klikń prosće něhdźe na stronje.\n\n</largeText>\n\n<column/><headline>Wužitny material, kotryž so měł znać</headline>\n<bodyText>Njekopěruj z druhich kartow!\n\nJeli wuběraš \"Live wobźěłać\", změny so w datowej bance tak składuja, kaž je rysuješ - takrjec <i>hnydom</i>. Jelic njejsy sej wěsty, wubjer \"Wobdžełać a składować\", a składuja so hakle, hdyž kliknješ na \"Skłasdować\".\n\nZměny, kotrež činiš, pokazuja so zwjetša na karće po jednej hodźinje abo dwěmaj hodźinomaj (někotre wěcy traja tydźeń). Nic wšitko pokazuje so na karće - to by přenjeporjadnje wupadało. Ale, dokelž daty OpenStreetMap su zjawny žórłowy kod, druzy ludźo su hotowi, karty zhotowić, kotrež wšelake aspekty pokazuja - kaž <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> abo <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nPomysl na to, zo je <i>kaž</i> rjana karta (rysuj potajkim rjane křiwki za křiwizny) tak tež diagram (zawěsć, zo dróhi so na křižowanišćach zwjazuja).\n\nSmy hižo naspomnili, zo njesměš z druhich kartow kopěrować?\n</bodyText>\n\n<column/><headline>Wjace zhonić</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Přiručnik Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Rozesyłanske lisćiny</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat online (dynamiska pomoc)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Webforum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki zhromadźenstwa</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Žrědłowy kod Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nStrona 2: Prěnje kroki\n\n--><page/><headline>Prěnje kroki</headline>\n<bodyText>Nětko je Potlatch startowany, klikń na \"Wobdźěłać a składować\", zo by započał.\n\nSy nětko na rysowanje karty přihotowany. Najlěpša akcija, zo by započało, je zarysowanje někotrych dypkow zajima (POI) na karće. To móhli hosćency, cyrkwje, dwórnišća... być, něšto, štož so ći spodoba.</bodytext>\n\n<column/><headline>Přepołožić</headline>\n<bodyText>To make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\nTak chětře hač sy to činił, daš swojemu korčmje (abo cyrkwi abo dwórnišću) mjeno. Budźeš widźeć, zo so mała tabela deleka jewi. Jedyn ze zapiskow rěka \"name\", kotryž \"(zapisaj tu mjeno)\" slěduje. Čiń to - klikń na tekst a zapisaj mjeno.\n\nKlikń něhdźe druhdźe na karće, zo by swój dypk zajima wotzwolił a mały barbny meni so wróći.\n\nLochko, nic? Klikń na \"Składować\" (deleka naprawo), hdyž sy hotowy.\n</bodyText><column/><headline>Wokoło sunyć</headline>\n<bodyText>Zo by prózdny wurězk na druhi dźěl karty přesunył, ćehń jón prosće tam. Potlatch nowe daty awtomatisce začita (hladaj horjeka naprawo).\n\nSmy ći porućili, zo maš \"Wobdźěłać a składować\" wužiwać, ale móžeš tež na \"Live wobdźěłać\" kliknyć. Jeli to činiš, so twoje změny direktnje do datoweje banki přewozmu, tohodla tam tłóčatko \"Składować\" njeje. To je dobre za spěšne změny  a <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">kartěrowanske partyje</a>.</bodyText>\n\n<headline>Přichodne kroki</headline>\n<bodyText>Wo wšěm tym zahorjeny? Wulkotnje. Klikń horjeka na \"Měrjenje\", zo by zhonił, kak stanješ so z <i>prawym</i> kartěrowarjom!</bodyText>\n\n<!--\n========================================================================================================================\nStrona 3: Měrjenje\n\n--><page/><headline>Z GPS měrić</headline>\n<bodyText>The idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nWhen you get home, your GPS will contain a 'tracklog' recording everywhere you've been. You can then upload this to OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a> on our wiki.</bodyText>\n\n<column/><headline>Twoju čaru nahrać</headline>\n<bodyText>Now, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.</bodyText>\n<headline>Swójsku čaru wužiwać</headline>\n<bodyText>Pytaj swoju nahratu čaru w lisćinje \"GPS-ćěrje\" a klikń na \"wobdźěłać\" <i>direktnje pódla jeje</i>. Potlatch započnje  z nahratej čaru plus někajkimi pućnymi dypkami. Nětko móžeš z rysowanjom započeć!\n\n<img src=\"gps\">Móžeš tež na tute tłóčatko klinyć, zo by kóždehožkuli GPS-čary (ale nic pućne dypki) za aktualny wurězk pokazał. Dźerž tastu Umsch stłóčenu, zo by jenož swoje čary pokazał.</bodyText>\n<column/><headline>Wužiwanje satelitowych fotow</headline>\n<bodyText>If you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\n<img src='prefs'>If you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.</bodytext>\n\n<!--\n========================================================================================================================\nStrona 4: Rysować\n\n--><page/><headline>Puće rysować</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nKlikń na \"Składować\" (deleka naprawo), hdyž sy hotowy. Składuj husto, jeli serwer ma problemy.\n\nNjewočakaj, zo so twoje změny hnydom na hownej karće jewja. Traje zwjetša jednu hodźinu abo dwě hodźinje, druhdy hač k jednemu tydźenjej.\n</bodyText><column/><headline>Zwiski wutworić</headline>\n<bodyText>Je woprawdźe wažnje, zo dwaj pućej matej zhromadny dypk (abo \"suk\"), hdźež so zetkawatej. Rutowe planowaki jón wužiwaja, zo bychu wědźeli, hdźež so směr změni.\n\nPotlatch takes care of this as long as you are careful to click <i>exactly</i> on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.</bodyText>\n<headline>Přesunyć a zničić</headline>\n<bodyText>To funguje runje tak, kaž by to wočakował. Zo by dypk wotstronił, wubjer jón a tłóč na tastu Entf. Zo by cyły puć wotstronił, tłóč Umsch-Entf.\n\nTo move something, just drag it. (You'll have to click and hold for a short while before dragging a way, so you don't do it by accident.)</bodyText>\n<column/><headline>Rozšěrjone rysowanje</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>Dypki zajima</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\nStrona 4: Atributy připokazać\n\n--><page/><headline>Kotry typ dróhi to je?</headline>\n<bodyText>Tak chětře kaž sy liniju rysował, ty měł podać, štož to je. Je wón hłowna dróha, pućik abo rěka? Kak wón rěka? Su wosebite prawidła (na př. \"žane kolesa\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nAtributy jewja so w Potlatch deleka na wobrazowce - klikń na eksistowacu dróhu a budźeš widźeć, kotre atributy ma. Klikń na znamješko \"+\" (naprawo deleka), zo by nowy atribut přidał. Pismik \"x\" pódla kóždeho atributa zniči jón.\n\nMóžeš cyłym pućam atribut připokazać, dypkam na pućach (na př. wrota abo amplu) a dypkam zajima.</bodytext>\n<column/><headline>Nastajen atributy wužiwać</headline>\n<bodyText>Zo by započał, móžeš přihotowane sadźby z najpopularnišimi atributami wužiwać.\n\n<img src=\"preset_road\">Wubjer puć, klikń potom po symbolach, doniž njenamakaš přihódny. Wubjer potom přihódnu opciju z menija.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Jednosměrne dróhi</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Swójske atributy wubrać</headline>\n<bodyText>Wězo njetrjebaš so na standardne atributy wobmjezować. Klikń na tłóčatko \"+\" a móžeš kóždežkuli atributy wužiwać.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nDokelž daty OpenStreetMap so wužiwaja, zo by so wjele rozdźělnych kartow wutworiło, budźe kóžda karta swójske atributy pokazać (\"rysować\").</bodyText>\n<headline>Relacije</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nStrona 6: Pytanje za zmylkami\n\n--><page/><headline>Zmylki anulować</headline>\n<bodyText><img src=\"undo\">To je tłóčatko \"Anulować\" (móžeš tež Z tłóčić) - wono budźe akciju anulować, kotruž sy jako poslednja činił.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nJeli sy puć mylnje zničił a to składował, tłóč tastu U (za \"undelete/wobnowić\"). Wšě zničene puće budu so pokazować. Wubjer tón, kotryž chceš; wotewri jón přez kliknjenje na čerwjeny zamk, a składuj kaž přeco.\n\nMysliš, zo něchtó druhi je zmylk činił? Pósćel jemu přećelnu powěsć. Wužij opciju historije (H), zo by jeho mjeno wubrał a klikń potom na \"Póst\".\n\nWužij Inspektor (w meniju \"Rozšěrjeny\") za wužitne informacije wo aktualnym puću abo dypku.\n</bodyText><column/><headline>Časte prašenja</headline>\n<bodyText><b>Kak widźu swoje pućne dypki?</b>\nPućne dypki so jenož pokazuja, hdyž kliknješ na \"wobdźěłać\" pódla mjena čary w \"GPS-ćerjach\". Dataja dyrbi pućne dypki kaž tež protokol čary wobsahować - serwer wotpokazuje wšitko, štož ma jenož pućne dypki.\n\nDalše časte prašenja za <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> a <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Spěšnišo dźěłać</headline>\n<bodyText>Čim dale sy pomjeńšił, ćim wjace datow Potlatch dyrbi začitać. Powjetš, prjedy hač kliknješ na \"Wobdźěłać\".\n\nWupiń \"Pisakowe a ručne pokazowaki wužiwać\" (we woknje Opcije) za maksimalnu spěšnosć.\n\nJeli serwer pomału běži, wróć so pozdźišo. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Přepytaj wiki</a> za znatymi problemami. Druhdy, kaž na př. po njedźelnišich wječorach, serwery su jara přećežene.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nStrona 7: Spěšna referenca\n\n--><page/><headline>Na čo kliknyć</headline>\n<bodyText><b>Kartu ćahnyć</b>, zo by so wokoło sunyła\n<b>Dwójce kliknyć</b>, zo by so nowy dypk zajima wutworił.\n<b>Jedyn raz kliknyć</b>, zo by so nowy puć zachopił.\n<b>Dźeržeć a puć abo dypk zajima ćahnyć</b>, zo by so přesunył.</bodyText>\n<headline>Hdyž so puć rysuje</headline>\n<bodyText><b>Dwójce kliknyć</b> abo <b>zapodawansku tastu tłóčić</b>, zo by so rysowanje skónčiło.\nNa druhi puć <b>kliknyć</b>, zo by so zwisk wutworił.\n<b>Na kónc druheho puća ze stłóčenej tastu Umsch kliknyć</b>, zo by so zwisk wutworił.</bodyText>\n<headline>Hdyž so puć wuběra</headline>\n<bodyText><b>Klikń na dypk</b>, zo by jón wubrał.\n<b>Na kónc ze stłóčenej tastu Umsch kliknyć</b>, zo by so nowy dypk zasunył.\n<b>Na dypk ze stłóčenej tastu Umsch kliknyć</b>, zo by so nowy puć wot tam zachopił.\n<b>Na druhi puć ze stłóčenej tastu Strg kliknyć</b>, zo by so zwisk wutworił.</bodyText>\n</bodyText>\n<column/><headline>Tastowe skrótšenki</headline>\n<bodyText><textformat tabstops='[25]'>B Atri<u>b</u>ut pozadka přidać\nC Sadźbu změnow začinić\nG <u>G</u>PS-čary pokazać\nH <u>H</u>istoriju pokazać\nI <u>I</u>nspektor pokazać\nJ Dypk na puće přizamknyć, kotrež so křizu<u>j</u>a\nK A<u>k</u>tualny wuběr blokować/dopušćić\nL Aktua<u>l</u>ny šěrokostnik/dołhostnik pokazać\nM Wobdźěłanske wokno <u>m</u>aksiměrować\nP <u>P</u>aralelny puć wutworić\nR At<u>r</u>ibuty wospjetować\nS <u>S</u>kładować (chibazo wobdźěłuješ live)\nT Do runeje linije/koła pře<u>t</u>worić\nU Wobnowić (zničene p<u>u</u>će pokazać)\nX Puć do dweju roztřihać\nZ Anulować\n- Dypk jenož z tutoho puća wotstronić\n+ Nowy atribut přidać\n/ Druhi puć wubrać, kotryž tutón dypk wužiwa\n</textformat><textformat tabstops='[50]'>Entf Dypk zničić\n  (+Umsch) Cyły puć zničić(zapodawanska tasta)\nRysowanje linije skónčić(Mjezerowa tasta\nDźeržeć a pozadk přesunyć\nEsc Tute wobdźěłanje přetorhnyć; ze serwera znowa začitać\n0 Wšě atributy wotstronić\n1-9 Nastajene atributy wubrać\n  (+Umsch) Składowane atributy wubrać\n  (+S/Strg) Atributy składować\n§ abo ` Wobběh mjez skupinami atributow\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nStrona 1: Zawod\n\n--><headline>Witaj do Potlatch</headline>\n<largeText>Potlatch je lochko wužiwajomny editor za OpenStreetMap. Narysuj dróhi, šćežki, mězniki a wobchody ze swojich GPS-měrjenjow, satelitowych wobrazow abo starych kartow.\n\nTute strony pomocy će wjedu přez zakłady wužiwanja editora Potlatch a informuja, hdźež móžeš wjace namakać. Klikń horjeka na nadpisma, zo by započał.\n\nHdyž sy hotowy, klikń prosće něhdźe na stronje.\n\n</largeText>\n\n<column/><headline>Wužitny material, kotryž so měł znać</headline>\n<bodyText>Njekopěruj z druhich kartow!\n\nJeli wuběraš \"Live wobźěłać\", změny so w datowej bance tak składuja, kaž je rysuješ - takrjec <i>hnydom</i>. Jelic njejsy sej wěsty, wubjer \"Wobdžełać a składować\", a składuja so hakle, hdyž kliknješ na \"Skłasdować\".\n\nZměny, kotrež činiš, pokazuja so zwjetša na karće po jednej hodźinje abo dwěmaj hodźinomaj (někotre wěcy traja tydźeń). Nic wšitko pokazuje so na karće - to by přenjeporjadnje wupadało. Ale, dokelž daty OpenStreetMap su zjawny žórłowy kod, druzy ludźo su hotowi, karty zhotowić, kotrež wšelake aspekty pokazuja - kaž <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> abo <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nPomysl na to, zo je <i>kaž</i> rjana karta (rysuj potajkim rjane křiwki za křiwizny) tak tež diagram (zawěsć, zo dróhi so na křižowanišćach zwjazuja).\n\nSmy hižo naspomnili, zo njesměš z druhich kartow kopěrować?\n</bodyText>\n\n<column/><headline>Wjace zhonić</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Přiručnik Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Rozesyłanske lisćiny</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat online (dynamiska pomoc)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Webforum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki zhromadźenstwa</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Žrědłowy kod Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nStrona 2: Prěnje kroki\n\n--><page/><headline>Prěnje kroki</headline>\n<bodyText>Nětko je Potlatch startowany, klikń na \"Wobdźěłać a składować\", zo by započał.\n\nSy nětko na rysowanje karty přihotowany. Najlěpša akcija, zo by započało, je zarysowanje někotrych dypkow zajima (POI) na karće. To móhli hosćency, cyrkwje, dwórnišća... być, něšto, štož so ći spodoba.</bodytext>\n\n<column/><headline>Přepołožić</headline>\n<bodyText>To make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\nTak chětře hač sy to činił, daš swojemu korčmje (abo cyrkwi abo dwórnišću) mjeno. Budźeš widźeć, zo so mała tabela deleka jewi. Jedyn ze zapiskow rěka \"name\", kotryž \"(zapisaj tu mjeno)\" slěduje. Čiń to - klikń na tekst a zapisaj mjeno.\n\nKlikń něhdźe druhdźe na karće, zo by swój dypk zajima wotzwolił a mały barbny meni so wróći.\n\nLochko, nic? Klikń na \"Składować\" (deleka naprawo), hdyž sy hotowy.\n</bodyText><column/><headline>Wokoło sunyć</headline>\n<bodyText>Zo by prózdny wurězk na druhi dźěl karty přesunył, ćehń jón prosće tam. Potlatch nowe daty awtomatisce začita (hladaj horjeka naprawo).\n\nSmy ći porućili, zo maš \"Wobdźěłać a składować\" wužiwać, ale móžeš tež na \"Live wobdźěłać\" kliknyć. Jeli to činiš, so twoje změny direktnje do datoweje banki přewozmu, tohodla tam tłóčatko \"Składować\" njeje. To je dobre za spěšne změny  a <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">kartěrowanske partyje</a>.</bodyText>\n\n<headline>Přichodne kroki</headline>\n<bodyText>Wo wšěm tym zahorjeny? Wulkotnje. Klikń horjeka na \"Měrjenje\", zo by zhonił, kak stanješ so z <i>prawym</i> kartěrowarjom!</bodyText>\n\n<!--\n========================================================================================================================\nStrona 3: Měrjenje\n\n--><page/><headline>Z GPS měrić</headline>\n<bodyText>The idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nWhen you get home, your GPS will contain a 'tracklog' recording everywhere you've been. You can then upload this to OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a> on our wiki.</bodyText>\n\n<column/><headline>Twoju čaru nahrać</headline>\n<bodyText>Now, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.</bodyText>\n<headline>Swójsku čaru wužiwać</headline>\n<bodyText>Pytaj swoju nahratu čaru w lisćinje \"GPS-ćěrje\" a klikń na \"wobdźěłać\" <i>direktnje pódla jeje</i>. Potlatch započnje  z nahratej čaru plus někajkimi pućnymi dypkami. Nětko móžeš z rysowanjom započeć!\n\n<img src=\"gps\">Móžeš tež na tute tłóčatko klinyć, zo by kóždehožkuli GPS-čary (ale nic pućne dypki) za aktualny wurězk pokazał. Dźerž tastu Umsch stłóčenu, zo by jenož swoje čary pokazał.</bodyText>\n<column/><headline>Wužiwanje satelitowych fotow</headline>\n<bodyText>If you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\n<img src='prefs'>If you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.</bodytext>\n\n<!--\n========================================================================================================================\nStrona 4: Rysować\n\n--><page/><headline>Puće rysować</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nKlikń na \"Składować\" (deleka naprawo), hdyž sy hotowy. Składuj husto, jeli serwer ma problemy.\n\nNjewočakaj, zo so twoje změny hnydom na hownej karće jewja. Traje zwjetša jednu hodźinu abo dwě hodźinje, druhdy hač k jednemu tydźenjej.\n</bodyText><column/><headline>Zwiski wutworić</headline>\n<bodyText>Je woprawdźe wažnje, zo dwaj pućej matej zhromadny dypk (abo \"suk\"), hdźež so zetkawatej. Rutowe planowaki jón wužiwaja, zo bychu wědźeli, hdźež so směr změni.\n\nPotlatch takes care of this as long as you are careful to click <i>exactly</i> on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.</bodyText>\n<headline>Přesunyć a zničić</headline>\n<bodyText>To funguje runje tak, kaž by to wočakował. Zo by dypk wotstronił, wubjer jón a tłóč na tastu Entf. Zo by cyły puć wotstronił, tłóč Umsch-Entf.\n\nTo move something, just drag it. (You'll have to click and hold for a short while before dragging a way, so you don't do it by accident.)</bodyText>\n<column/><headline>Rozšěrjone rysowanje</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>Dypki zajima</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\nStrona 4: Atributy připokazać\n\n--><page/><headline>Kotry typ dróhi to je?</headline>\n<bodyText>Tak chětře kaž sy liniju rysował, ty měł podać, štož to je. Je wón hłowna dróha, pućik abo rěka? Kak wón rěka? Su wosebite prawidła (na př. \"žane kolesa\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nAtributy jewja so w Potlatch deleka na wobrazowce - klikń na eksistowacu dróhu a budźeš widźeć, kotre atributy ma. Klikń na znamješko \"+\" (naprawo deleka), zo by nowy atribut přidał. Pismik \"x\" pódla kóždeho atributa zniči jón.\n\nMóžeš cyłym pućam atribut připokazać, dypkam na pućach (na př. wrota abo amplu) a dypkam zajima.</bodytext>\n<column/><headline>Nastajen atributy wužiwać</headline>\n<bodyText>Zo by započał, móžeš přihotowane sadźby z najpopularnišimi atributami wužiwać.\n\n<img src=\"preset_road\">Wubjer puć, klikń potom po symbolach, doniž njenamakaš přihódny. Wubjer potom přihódnu opciju z menija.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Jednosměrne dróhi</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Swójske atributy wubrać</headline>\n<bodyText>Wězo njetrjebaš so na standardne atributy wobmjezować. Klikń na tłóčatko \"+\" a móžeš kóždežkuli atributy wužiwać.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nDokelž daty OpenStreetMap so wužiwaja, zo by so wjele rozdźělnych kartow wutworiło, budźe kóžda karta swójske atributy pokazać (\"rysować\").</bodyText>\n<headline>Relacije</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nStrona 6: Pytanje za zmylkami\n\n--><page/><headline>Zmylki anulować</headline>\n<bodyText><img src=\"undo\">To je tłóčatko \"Anulować\" (móžeš tež Z tłóčić) - wono budźe akciju anulować, kotruž sy jako poslednja činił.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nJeli sy puć mylnje zničił a to składował, tłóč tastu U (za \"undelete/wobnowić\"). Wšě zničene puće budu so pokazować. Wubjer tón, kotryž chceš; wotewri jón přez kliknjenje na čerwjeny zamk, a składuj kaž přeco.\n\nMysliš, zo něchtó druhi je zmylk činił? Pósćel jemu přećelnu powěsć. Wužij opciju historije (H), zo by jeho mjeno wubrał a klikń potom na \"Póst\".\n\nWužij Inspektor (w meniju \"Rozšěrjeny\") za wužitne informacije wo aktualnym puću abo dypku.\n</bodyText><column/><headline>Časte prašenja</headline>\n<bodyText><b>Kak widźu swoje pućne dypki?</b>\nPućne dypki so jenož pokazuja, hdyž kliknješ na \"wobdźěłać\" pódla mjena čary w \"GPS-ćerjach\". Dataja dyrbi pućne dypki kaž tež protokol čary wobsahować - serwer wotpokazuje wšitko, štož ma jenož pućne dypki.\n\nDalše časte prašenja za <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> a <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Spěšnišo dźěłać</headline>\n<bodyText>Čim dale sy pomjeńšił, ćim wjace datow Potlatch dyrbi začitać. Powjetš, prjedy hač kliknješ na \"Wobdźěłać\".\n\nWupiń \"Pisakowe a ručne pokazowaki wužiwać\" (we woknje Opcije) za maksimalnu spěšnosć.\n\nJeli serwer pomału běži, wróć so pozdźišo. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Přepytaj wiki</a> za znatymi problemami. Druhdy, kaž na př. po njedźelnišich wječorach, serwery su jara přećežene.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nStrona 7: Spěšna referenca\n\n--><page/><headline>Na čo kliknyć</headline>\n<bodyText><b>Kartu ćahnyć</b>, zo by so wokoło sunyła\n<b>Dwójce kliknyć</b>, zo by so nowy dypk zajima wutworił.\n<b>Jedyn raz kliknyć</b>, zo by so nowy puć zachopił.\n<b>Dźeržeć a puć abo dypk zajima ćahnyć</b>, zo by so přesunył.</bodyText>\n<headline>Hdyž so puć rysuje</headline>\n<bodyText><b>Dwójce kliknyć</b> abo <b>zapodawansku tastu tłóčić</b>, zo by so rysowanje skónčiło.\nNa druhi puć <b>kliknyć</b>, zo by so zwisk wutworił.\n<b>Na kónc druheho puća ze stłóčenej tastu Umsch kliknyć</b>, zo by so zwisk wutworił.</bodyText>\n<headline>Hdyž so puć wuběra</headline>\n<bodyText><b>Klikń na dypk</b>, zo by jón wubrał.<b>Na kónc ze stłóčenej tastu Umsch kliknyć</b>, zo by so nowy dypk zasunył.<b>Na dypk ze stłóčenej tastu Umsch kliknyć</b>, zo by so nowy puć wot tam zachopił.<b>Na druhi puć ze stłóčenej tastu Strg kliknyć</b>, zo by so zwisk wutworił.</bodyText>\n</bodyText>\n<column/><headline>Tastowe skrótšenki</headline>\n<bodyText><textformat tabstops='[25]'>B Atri<u>b</u>ut pozadka přidać\nC Sadźbu změnow začinić\nG <u>G</u>PS-čary pokazać\nH <u>H</u>istoriju pokazać\nI <u>I</u>nspektor pokazać\nJ Dypk na puće přizamknyć, kotrež so křizu<u>j</u>a\nK A<u>k</u>tualny wuběr blokować/dopušćić\nL Aktua<u>l</u>ny šěrokostnik/dołhostnik pokazać\nM Wobdźěłanske wokno <u>m</u>aksiměrować\nP <u>P</u>aralelny puć wutworić\nR At<u>r</u>ibuty wospjetować\nS <u>S</u>kładować (chibazo wobdźěłuješ live)\nT Do runeje linije/koła pře<u>t</u>worić\nU Wobnowić (zničene p<u>u</u>će pokazać)\nX Puć do dweju roztřihać\nZ Anulować\n- Dypk jenož z tutoho puća wotstronić\n+ Nowy atribut přidać\n/ Druhi puć wubrać, kotryž tutón dypk wužiwa\n</textformat><textformat tabstops='[50]'>Entf Dypk zničić\n  (+Umsch) Cyły puć zničić\n(zapodawanska tasta) Rysowanje linije skónčić\n(Mjezerowa tasta) Dźeržeć a pozadk přesunyć\nEsc Tute wobdźěłanje přetorhnyć\n; ze serwera znowa začitać\n0 Wšě atributy wotstronić\n1-9 Nastajene atributy wubrać\n  (+Umsch) Składowane atributy wubrać\n  (+S/Strg) Atributy składować\n§ abo ` Wobběh mjez skupinami atributow\n</textformat>\n</bodyText>"
   hint_drawmode: Klikń, zo by dypk přidał\nklikń dwójce abo tłóč zapodawansku tastu, zo by liniju dokónčił
   hint_latlon: "šěrokostnik $1\ndołhostnik  $2"
   hint_loading: daty začitać
@@ -89,6 +90,7 @@ hsb:
   hint_saving: daty składować
   hint_saving_loading: daty začitać/składować
   inspector: Inspektor
+  inspector_duplicate: Duplikat wot
   inspector_in_ways: Na pućach
   inspector_latlon: "Šěrokostnik $1\nDołhostnik $2"
   inspector_locked: Zawrjeny
@@ -100,6 +102,7 @@ hsb:
   inspector_way_connects_to_principal: Zwjazuje z {{PLURAL|one=objektom|two=$1 objektomaj|few=$1 objektami|other=$1 objektami}} $2 a {{PLURAL|one=hinašim objektom|two=$3 hinašimaj objektomaj|few=$3 hinašimi objektami|other=$3 hinašimi objektami}} $4
   inspector_way_nodes: $1 sukow
   inspector_way_nodes_closed: $1 sukow (žačinjenych)
+  loading: Začituje so...
   login_pwd: "Hesło:"
   login_retry: Twoje wužiwarske mjeno njebu spoźnane. Prošu spytaj hišće raz.
   login_title: Přizjewjenje njemóžno
@@ -126,6 +129,9 @@ hsb:
   option_layer_ooc_25k: "Wulka Britaniska historisce: 1:25k"
   option_layer_ooc_7th: "Wulka Britaniska historisce: 7th"
   option_layer_ooc_npe: "Wulka Britaniska historisce: NPE"
+  option_layer_ooc_scotland: "Zjednoćene kralestwo historisce: Šotiska"
+  option_layer_os_streetview: "Zjednoćene kralestwo: OS StreetView"
+  option_layer_streets_haiti: "Haiti: dróhowe mjena"
   option_layer_tip: Pozadk wubrać
   option_limitways: Warnować, hdyž so jara wjele datow začituja
   option_microblog_id: "Mjeno mikrobloga:"
@@ -143,6 +149,7 @@ hsb:
   preset_icon_cafe: Kofejownja
   preset_icon_cinema: Kino
   preset_icon_convenience: Miniwiki
+  preset_icon_disaster: Haiti twarjenje
   preset_icon_fast_food: Přikuski
   preset_icon_ferry_terminal: Přewoz
   preset_icon_fire_station: Wohnjostraža
@@ -177,13 +184,19 @@ hsb:
   prompt_microblog: Powěsć do $1 ($2 zbytne)
   prompt_revertversion: K staršej składowanej wersiji so wróćić
   prompt_savechanges: Změny składować
-  prompt_taggedpoints: Někotre dypki na tutym puću maja atributy. Woprawdźe zničić?
+  prompt_taggedpoints: Někotre dypki na tutym puću su markěrowane abo w relacijach. Woprawdźe zničić?
   prompt_track: GPS-čaru do pućow konwertować
   prompt_unlock: Klikń, zo by so wotewrěło
   prompt_welcome: Witaj do OpenStreetMap!
   retry: Znowa spytać
   revert: Wobroćić
   save: Składować
+  tags_backtolist: Wróćo k lisćinje
+  tags_descriptions: Wopisanja wot '$1'
+  tags_findatag: Atribut namakać
+  tags_findtag: Atribut namakać
+  tags_matching: Popularne atributy za '$1'
+  tags_typesearchterm: "Zapodaj pytanski wuraz:"
   tip_addrelation: Relaciji přidać
   tip_addtag: Nowy atribut přidać
   tip_alert: Zmylk je wustupił - klikń, zo by sej podrobnosće wobhladał
index 6525fa9088d52af72bed3fa8f257a75bf0804665..0748666bdd3c3476e293a6f348bc3b57245c18a2 100644 (file)
@@ -26,7 +26,7 @@ hu:
   action_waytags: vonal címkéinek módosítása
   advanced: Haladó
   advanced_close: Módosításcsomag lezárása
-  advanced_history: Vonal története
+  advanced_history: Vonal előzményei
   advanced_inspector: Felügyelő
   advanced_maximise: Ablak maximalizálása
   advanced_minimise: Ablak minimalizálása
@@ -82,7 +82,7 @@ hu:
   heading_tagging: Címkézés
   heading_troubleshooting: Hibaelhárítás
   help: Súgó
-  help_html: "<!--\n\n========================================================================================================================\n1. oldal: bevezető\n\n--><headline>Üdvözlünk a Potlatch-ben</headline>\n<largeText>A Potlach egy könnyen használható szerkesztő az OpenStreetMap-hez. Rajzolj utakat, ösvényeket, híres helyeket és üzleteket a GPS felméréseid, műholdképek vagy öreg térképek alapján.\n\nEzek a súgóoldalak végigvezetnek a Potlatch használatának alapjain, és megmutatják, hol találhatsz további információkat. Kattints a fenti fejléc-címekre a kezdéshez.\n\nHa befejezted, csak kattints bárhova a lapon.\n\n</largeText>\n\n<column/><headline>Hasznos tudnivalók</headline>\n<bodyText>Ne másolj más térképekről!\n\nHa az „élő szerkesztés”-t választod, minden változtatásod <i>azonnal</i> adatbázisba kerül, amint megrajzolod őket. Ha nem vagy ilyen magabiztos, válaszd a „szerkesztés mentéssel”-t, így csak akkor lépnek életbe a változtatásaid, ha a „Mentés” gombra kattintasz.\n\nA szerkesztéseid általában egy-két órán belül jelennek meg a térképen (de van, ami egy hétig is eltarthat). Nem látszik minden a térképen – túl zsúfolt lenne. De mivel az OpenStreetMap adatai nyílt forrásúak, mások szabadon készíthetnek más térképeket más szempontok előtérbe helyezésével. Ilyenek az <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> vagy a <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nFigyelj rá, hogy <i>egyaránt</i> jól kinéző térkép (rajzolj szép görbéket a kanyaroknál) és diagram (az utak kapcsolódjanak a kereszteződéseknél) a cél.\n\nEmlítettük már, hogy ne másolj más térképekről?\n</bodyText>\n\n<column/><headline>Tudj meg többet</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch kézikönyv</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Levelezőlisták</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Online chat (azonnali segítség)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Internetes fórum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Közösségi wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch forráskód</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\n2. oldal: első lépések\n\n--><page/><headline>Első lépések</headline>\n<bodyText>Most, hogy megnyitottad a Potlatch-csot, kattints a „szerkesztés mentéssel”-re a kezdéshez.\n\nSzóval készen állsz a térképrajzolásra. A legkönnyebb kezdés az, ha elhelyezel néhány érdekes helyet (más néven POI-t) a térképen. Ezek lehetnek pubok, templomok, vasútállomások… bármi amit szeretnél.</bodytext>\n\n<column/><headline>Fogd és vidd</headline>\n<bodyText>To make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\nOnce you've done that, you'll want to give your pub (or church, or station) a name. You'll see that a little table has appeared at the bottom. One of the entries will say \"name\" followed by \"(type name here)\". Do that - click that text, and type the name.\n\nKattints valahova máshova a térképen a POI kijelölésének megszüntetéséhez, és a színes kis panel megjelenik.\n\nKönnyű, nem? Kattints a „Mentés”-re (jobbra lent) ha készen vagy.\n</bodyText><column/><headline>Mozgás</headline>\n<bodyText>To move to a different part of the map, just drag an empty area. Potlatch will automatically load the new data (look at the top right).\n\nWe told you to 'Edit with save', but you can also click 'Edit live'. If you do this, your changes will go into the database straightaway, so there's no 'Save' button. This is good for quick changes and <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping parties</a>.</bodyText>\n\n<headline>Következő lépések</headline>\n<bodyText>Happy with all of that? Great. Click 'Surveying' above to find out how to become a <i>real</i> mapper!</bodyText>\n\n<!--\n========================================================================================================================\n3. oldal: felmérés\n\n--><page/><headline>Felmérés GPS-szel</headline>\n<bodyText>The idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nWhen you get home, your GPS will contain a 'tracklog' recording everywhere you've been. You can then upload this to OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a> on our wiki.</bodyText>\n\n<column/><headline>Nyomvonal feltöltése</headline>\n<bodyText>Now, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.</bodyText>\n<headline>Nyomvonal használata</headline>\n<bodyText>Find your uploaded track in the 'GPS Traces' listing, and click 'edit' <i>right next to it</i>. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\n<img src=\"gps\">You can also click this button to show everyone's GPS tracks (but not waypoints) for the current area. Hold Shift to show just your tracks.</bodyText>\n<column/><headline>Műholdképek használata</headline>\n<bodyText>If you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\n<img src='prefs'>If you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.</bodytext>\n\n<!--\n========================================================================================================================\n4. oldal: rajzolás\n\n--><page/><headline>Utak rajzolása</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nKattints a „Mentés”-re (jobb oldalt alul) ha készen vagy. Ments gyakran, hátha a szervernek problémái támadnak.\n\nNe várd, hogy a változtatásaid azonnal megjelennek a fő térképen. Ez általában egy-két órát vesz igénybe, néhány esetben egy hetet is.\n</bodyText><column/><headline>Kereszteződések készítése</headline>\n<bodyText>Nagyon fontos, hogy ahol két út csatlakozik, legyen egy közös pontjuk (vagy „node”). Az útvonaltervezők ezt használják, hogy tudják hol lehet kanyarodni.\n\nPotlatch takes care of this as long as you are careful to click <i>exactly</i> on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.</bodyText>\n<headline>Mozgatás és törlés</headline>\n<bodyText>Úgy működik, ahogy várható: pont törléséhez válaszd ki, majd nyomd meg a törlés gombot. Egész vonal törléséhez használd a Shift-Törlés kombinációt.\n\nHa át szeretnél helyezni valamit, csak vonszold. (Kattintás után húznod kell egy rövid ideig a vonalat áthelyezés előtt, így nem történhet meg véletlenül.)</bodyText>\n<column/><headline>Sokkal fejlettebb rajzolás</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>Hasznos helyek</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\n4. oldal: címkézés\n\n--><page/><headline>Milyen út?</headline>\n<bodyText>Ha megrajzoltál egy vonalat, meg kell adnod mi az. Főút, gyalogút, vagy esetleg egy folyó? Mi a neve? Vannak külön szabályok (például „ketékpárral behajtani tilos”)?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nFelcímkézhetsz teljes vonalakat, azon elhelyezkedő pontokat (pl. kapu, jelzőlámpa), és érdekes helyeket (POI).</bodytext>\n<column/><headline>Előre beállított címkék használata</headline>\n<bodyText>To get you started, Potlatch has ready-made presets containing the most popular tags.\n\n<img src=\"preset_road\">Válassz egy vonalat, és nézd végig, hogy találsz-e hozzá megfelelő szimbólumot. Majd válaszd ki a legmegfelelőbb lehetőséget a menüből.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Egyirányú utak</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>A saját címkéid kiválasztása</headline>\n<bodyText>Of course, you're not restricted to just the presets. By using the '+' button, you can use any tags at all.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nBecause OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.</bodyText>\n<headline>Kapcsolatok</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\n6. oldal: hibaelhárítás\n\n--><page/><headline>Hibák visszavonása</headline>\n<bodyText><img src=\"undo\">Ez a visszavonás gomb – visszavonja amit utoljára változtattál (vagy használhatod a Z billentyűt)\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nÚgy gondolod, hogy valaki más hibát vétett? Küldj neki egy barátságos levelet. Használd a történet gombot (H) a neve kiválasztásához, majd kattints az „e-mail”-re.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\n</bodyText><column/><headline>GYIK-ek</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Gyorsabb feldolgozás</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nKapcsold ki a „toll és kéz kurzorok használata”-t (a beállítások ablakban) a legjobb sebességhez.\n\nHa a szerver lassú, nézz vissza később. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Wiki ellenőrzése</a> ismert hibák után. Néha (például vasárnap esténként) a szerver folyamatosan foglalt.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\n7. oldal: gyors referencia\n\n--><page/><headline>Mire kattints</headline>\n<bodyText><b>Vonszold a térképet</b> a mozgatáshoz.\n<b>Kattints duplán</b> új POI létrehozásához.\n<b>Egy kattintás</b> új út kezdéséhez.\n<b>Kattints és húzd a vonalat vagy POI-t</b> áthelyezéshez.</bodyText>\n<headline>Ha utat rajzolsz</headline>\n<bodyText><b>Dupla kattintás</b> vagy <b>Enter</b> a rajzolás befejezéséhez.\n<b>Kattintás</b> egy másik útra kereszteződés készítéséhez.\n<b>Shift+kattintás egy másik út végén</b> az összeolvasztáshoz.</bodyText>\n<headline>Ha egy út ki van jelölve</headline>\n<bodyText><b>Kattints egy pontra</b> a kijelöléséhez.\n<b>Shift+kattintás az úton</b> új pont beillesztéséhez.\n<b>Shift+kattintás egy ponton</b> új út indításához innen.\n<b>Ctrl+kattintás másik úton</b> az összeolvasztáshoz.</bodyText>\n</bodyText>\n<column/><headline>Billentyűparancsok</headline>\n<bodyText><textformat tabstops='[25]'>B háttér hozzáadása forrás tag\nC változtatások listájának bezárása\nG <u>G</u>PS nyomvonalak megjelenítése\nH történet megjelenítése\nI Show <u>i</u>nspector\nJ kapcsolódási pont az utak kereszteződéséhez\nK aktuális kijelölés rögzítése/rögzítés feloldása\nL aktuális szélességi/hosszúsági fok megjelenítése\nM szerkesztőablakot teljes méretűre\nP <u>p</u>árhuzamos út rajzolása\nR címkék ismétlése\nS mentés (hacsak nem szerkesztesz élőben)\nT egyszerűsítés szabályos vonallá/körré\nU visszaállítás (törölt utak megjelenítése)\nX út kettévágása\nZ visszavonás\n- pont eltávolítása csak ebből az útból\n+ új címke hozzáadása\n/ a ponton osztozó másik út kijelölése\n</textformat><textformat tabstops='[50]'>Delete pont törlése\n  (+Shift) egész út törlése\nEnter rajzvonal befejezése\nSzóköz háttér megfogása és vonszolása\nEsc szerkesztés megszakítása, újratöltés a szerverről\n0 összes címke eltávolítása\n1-9 előre beállított címkék kiválasztása\n  (+Shift) megjegyzett címkék kiválasztása\n  (+S/Ctrl) címkék megjegyzése\n$ vagy ` váltás a címkecsoportok között\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\n1. oldal: bevezető\n\n--><headline>Üdvözlünk a Potlatch-ben</headline>\n<largeText>A Potlach egy könnyen használható szerkesztő az OpenStreetMap-hez. Rajzolj utakat, ösvényeket, nevezetes helyeket és üzleteket a GPS felméréseid, műholdképek vagy régi térképek alapján.\n\nEzek a súgóoldalak végigvezetnek a Potlatch használatának alapjain, és megmutatják, hol találhatsz további információkat. Kattints a fenti fejléc-címekre a kezdéshez.\n\nHa befejezted, csak kattints bárhova a lapon.\n\n</largeText>\n\n<column/><headline>Hasznos tudnivalók</headline>\n<bodyText>Ne másolj más térképekről!\n\nHa az „Élő szerkesztés”-t választod, minden változtatásod <i>azonnal</i> az adatbázisba kerül, amint megrajzolod azokat. Ha nem vagy ilyen magabiztos, válaszd a „Szerkesztés mentéssel”-t, így csak akkor lépnek életbe a változtatásaid, ha a „Mentés” gombra kattintasz.\n\nA szerkesztéseid általában egy-két órán belül jelennek meg a térképen (de van, ami egy hétig is eltarthat). Nem látszik minden a térképen – túl zsúfolt lenne. De mivel az OpenStreetMap adatai nyílt forrásúak, mások szabadon készíthetnek más térképeket más szempontok előtérbe helyezésével. Ilyenek az <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> vagy a <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nFigyelj rá, hogy <i>egyaránt</i> jól kinéző térkép (rajzolj szép görbéket a kanyaroknál) és diagram (az utak kapcsolódjanak a kereszteződéseknél) a cél.\n\nEmlítettük már, hogy ne másolj más térképekről?\n</bodyText>\n\n<column/><headline>Tudj meg többet</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch kézikönyv</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Levelezőlisták</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Online chat (azonnali segítség)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Internetes fórum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Közösségi wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch forráskód</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\n2. oldal: első lépések\n\n--><page/><headline>Első lépések</headline>\n<bodyText>Most, hogy megnyitottad a Potlatch-ot, kattints a „Szerkesztés mentéssel”-re a kezdéshez.\n\nSzóval készen állsz a térképrajzolásra. A legkönnyebb kezdés az, ha elhelyezel néhány érdekes helyet (más néven POI-t) a térképen. Ezek lehetnek kocsmák, templomok, vasútállomások… bármi, amit szeretnél.</bodytext>\n\n<column/><headline>Fogd és vidd</headline>\n<bodyText>Annak érdekében, hogy a lehető legegyszerűbb legyen, rendelkezésre áll egy válogatás a leggyakoribb POI-kból. Térképre helyezésük olyan egyszerű, hogy csak fogd meg az egyiket, és helyezd a térkép megfelelő helyére. És ne aggódj, ha nem találod el a helyes pozíciót elsőre: megfoghatod újra, amíg jó nem lesz. Ne feledd, hogy a POI sárgával ki van emelve, ami jelzi, ki van jelölve.\n\nMiután ezzel megvagy, szeretnél megadni a kocsmának (vagy templomnak, állomásnak) egy nevet. Látni fogod, hogy megjelenik egy kis táblázat alul. A bejegyzések egyikében „name” után „(type name here)” szerepel. Kattints erre a szövegre, és írd be a nevet.\n\nKattints valahova máshova a térképen a POI kijelölésének megszüntetéséhez, és visszajön a színes kis panel.\n\nKönnyű, nem? Kattints a „Mentés”-re (jobbra lent) ha készen vagy.\n</bodyText><column/><headline>Mozgatás</headline>\n<bodyText>Ahhoz, hogy mozogj a térkép egy eltérő részére, csak húzz egy üres területet. A Potlatch automatikusan be fogja tölteni az új adatokat (nézd a jobb felső sarkot).\n\nÍrtuk a „Szerkesztés mentéssel”-t, de szintén kattinthatsz az „Élő szerkesztés”-re. Ha ezt teszed, a változtatásaid azonnal az adatbázisba kerülnek, ezért nincs „Mentés” gomb. Ez gyors változtatásokhoz és <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping partikhoz</a> jó.</bodyText>\n\n<headline>Következő lépések</headline>\n<bodyText>Örülsz mindennek? Remek! Kattints a „Felmérés”-re fent, hogy megtudd, hogyan lehetsz <i>igazi</i> térképező!</bodyText>\n\n<!--\n========================================================================================================================\n3. oldal: felmérés\n\n--><page/><headline>Felmérés GPS-szel</headline>\n<bodyText>Az OpenStreetMap alapötlete egy olyan térkép készítése, amely nem tartalmazza más térképek szerzői jogi megkötéseit. Ez azt jelenti, hogy nem másolhatsz máshonnan: neked kell menni és felmérni az utcákat saját magad. Szerencsére ez nagyon szórakoztató! Ennek a legjobb módja, ha kézi GPS készülékkel teszed ezt. Keress egy területet, amit még nem térképeztek fel, aztán járd be gyalog vagy biciklivel az utcákat bekapcsolt GPS-szel. Jegyezd fel az utcaneveket és minden más érdekeset (kocsmák? templomok?) az út mentén.\n\nAmikor hazaérsz, a GPS-ed tartalmazni fog egy nyomvonalnaplót, ami rögzített mindenütt, amerre voltál. Ezután feltöltheted ezt az OpenStreetMapra.\n\nA legjobb GPS típus az, amelyik gyakran (egy vagy két másodpercenként) rögzít a nyomvonalra, és nagy memóriája van. Sok térképezőnk kézi Garmint vagy kis Bluetooth egységet használ. Vannak részletes <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS értékelések</a> a wikiben.</bodyText>\n\n<column/><headline>Nyomvonal feltöltése</headline>\n<bodyText>Most át kell töltened a nyomvonaladat a GPS készülékről. Lehet, hogy a GPS-edhez adtak szoftvert, vagy lehetővé teszi, hogy átmásold a fájlokat USB-n keresztül. Ha nem, próbáld a <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>t. Mindenesetre azt szeretnéd, hogy a fájl GPX formátumú legyen.\n\nEzután használd a „Nyomvonalak” fület, hogy feltöltsd a nyomvonaladat az OpenStreetMapra. De ez csak az első lépés - nem jelenik még meg a térképen. Meg kell rajzolnod és el kell nevezned az utakat saját magad a nyomvonalat, mint vezetővonalat használva.</bodyText>\n<headline>Nyomvonal használata</headline>\n<bodyText>Keresd meg a feltöltött nyomvonaladat a „Nyomvonalak” listában, és kattints a „szerkesztés”-re <i>jobbra mellette</i>. A Potlatch elindul ezzel a nyomvonallal és annak útpontjaival. Készen állsz a rajzoláshoz!\n\n<img src=\"gps\">Kattinthatsz erre a gombra is, hogy megtekintsd mások GPS nyomvonalát (de nem útpontjait) az aktuális területen. Csak a saját nyomvonalaid megtekintéséhez tartsd lenyomva a Shiftet.</bodyText>\n<column/><headline>Műholdképek használata</headline>\n<bodyText>Ha nincs GPS-ed, ne aggódj. Néhány városban vannak műholdfotóink a Yahoo! által (köszönjük!), amiken nyomkövethetsz. Menj ki, és jegyezd fel az utcaneveket, aztán gyere vissza, és nyomkövesd a vonalakat.\n\n<img src='prefs'>Ha nem látsz műholdfelvételeket, kattints a beállítások gombra, és győződj meg róla, hogy a „Yahoo!” van kiválasztva. Ha még mindig nem látod, akkor valószínűleg nem érhető el a városodban, vagy távolítanod kell egy kicsit.\n\nUgyanezen a beállítások gombon találhatsz néhány egyéb választást, mint például közkincs térképet az Egyesült Királyságról és OpenTopoMap-ot az USA-hoz. Ezek mindegyike különlegesen választott, mert megengedjük a használatukat - ne másolj bármely más térképről vagy légifotókról. (Szerzői jogi szívás.)\n\nNéha a műholdképek egy kicsit elmozdultak onnan, ahol az utak valójában vannak. Ha ilyennel találkozol, tartsd lenyomva a szóközt, és vonszold a hátteret addig, amíg megfelelő helyre nem kerül. A GPS nyomvonalak mindig megbízhatóbbak a műholdképeknél.</bodytext>\n\n<!--\n========================================================================================================================\n4. oldal: rajzolás\n\n--><page/><headline>Utak rajzolása</headline>\n<bodyText>Út (vagy vonal) rajzolása egy üres helytől kezdve a térképen: csak kattints oda, aztán minden egyes pontnál az út mentén. Amikor befejezted, kattints duplán, vagy nyomj Entert - majd az út kijelölésének megszüntetéséhez kattints valahova máshova.\n\nVonal rajzolása egy másik vonaltól kezdve: kattints erre az útra a kijelöléséhez; a pontjai pirossal jelennek meg. Tartsd lenyomva a Shift billentyűt, és kattints az egyik pontra új vonal kezdéséhez attól a ponttól. (Ha nincsenek piros pontok a kereszteződéseknél, akkor shift+kattintás, ahová szeretnél egyet!)\n\nKattints a „Mentés”-re (jobb oldalt alul), ha készen vagy. Ments gyakran, hátha a szervernek problémái támadnak.\n\nNe várd, hogy a változtatásaid azonnal megjelennek a fő térképen. Ez általában egy-két órát vesz igénybe, néhány esetben egy hetet is.\n</bodyText><column/><headline>Kereszteződések készítése</headline>\n<bodyText>Nagyon fontos, hogy ahol két út csatlakozik, legyen egy közös pontjuk. Az útvonaltervezők ezt használják, hogy tudják, hol lehet kanyarodni.\n\nA Potlatch mindaddig ügyel erre, amíg vigyázol arra, hogy <i>pontosan</i> arra a vonalra kattints, amelyiket csatlakoztatod. Figyeld a segítő jeleket: a pontok kék színűek lesznek, az egérmutató megváltozik, és amikor kész vagy, a kereszteződési pont egy fekete körvonalat kap.</bodyText>\n<headline>Mozgatás és törlés</headline>\n<bodyText>Úgy működik, ahogy várható: pont törléséhez jelöld ki, majd nyomd meg a Delete billentyűt. Egész vonal törléséhez használd a Shift+Delete kombinációt.\n\nHa át szeretnél helyezni valamit, csak vonszold. (Kattintás után tartanod kell a vonalat egy rövid ideig az áthelyezés előtt, így nem történhet meg véletlenül.)</bodyText>\n<column/><headline>Haladó rajzolás</headline>\n<bodyText><img src=\"scissors\">Ha egy vonal két részének eltérő a neve, akkor ketté kell vágnod azt. Kattints a vonalra, majd kattints arra a pontra, ahol a vonalat ketté kell vágni, és kattints az ollóra. (Egyesíthetsz vonalakat Ctrl (Mac esetén Apple billentyű)+kattintással, de ne egyesíts két eltérő nevű vagy típusú utat.)\n\n<img src=\"tidy\">Körforgalmakat igazán nehéz jól megrajzolni. Ne aggódj - a Potlatch tud segíteni. Csak rajzold meg durván a kört, győződj meg róla, hogy visszacsatlakozik önmagába a végén, majd a rendbetételéhez kattints erre az ikonra. (Ezt használhatod utak kiegyenesítéséhez is.)</bodyText>\n<headline>Érdekes helyek</headline>\n<bodyText>Az első dolog, amit megtanultál az az, hogy hogyan fogj és vigyél egy érdekes helyet. Szintén készíthetsz egyet duplán kattintva a térképre: megjelenik egy zöld kör. De hogyan lehet megmondani, hogy ez egy kocsma, templom vagy mi? Kattints a „Címkézés”-re fent, hogy megtudd!\n\n<!--\n========================================================================================================================\n5. oldal: címkézés\n\n--><page/><headline>Milyen típusú az út?</headline>\n<bodyText>Ha megrajzoltál egy vonalat, meg kell adnod, mi az. Főút, gyalogút vagy esetleg egy folyó? Mi a neve? Vannak külön szabályok (pl. „kerékpárral behajtani tilos”)?\n\nAz OpenStreetMapban „címkék” használatával rögzítheted ezt. Egy címke két részből áll, és annyit használsz, amennyit csak szeretnél. Például megadhatod a <i>highway | trunk</i> címkét, hogy jelezd, ez egy fő út; a <i>highway | residential</i> címkét lakóövezeti utakhoz; vagy a <i>highway | footway</i> címkét gyalogutakhoz. Ha kerékpárral behajtani tilos, akkor megadhatod a <i>bicycle | no</i> címkét. Ezután rögzítheted a nevét a <i>name | Market Street</i> címke megadásával.\n\nA címkék a Potlatch-ban a képernyő alján jelennek meg - kattints egy létező útra, és látni fogod, milyen címkéi vannak. Új címke hozzáadásához kattints a „+” jelre (jobbra lent). Az „x” címkénként töröl.\n\nFelcímkézhetsz teljes vonalakat, azon elhelyezkedő pontokat (pl. kapu, jelzőlámpa), és érdekes helyeket (POI).</bodytext>\n<column/><headline>Előre beállított címkék használata</headline>\n<bodyText>Kezdéshez a Potlatch rendelkezik sablonokkal, amelyek tartalmazzák a legnépszerűbb címkéket.\n\n<img src=\"preset_road\">Jelölj ki egy vonalat, majd kattintsd végig a szimbólumokat, amíg nem találsz egy megfelelőt. Aztán válaszd ki a legmegfelelőbb lehetőséget a menüből.\n\nEz kitölti a címkéket. Néhány részben üres marad, így beírhatod (például) az út nevét és számát.</bodyText>\n<headline>Egyirányú utak</headline>\n<bodyText>Lehet, hogy meg szeretnél adni egy <i>oneway | yes</i> címkét - de hogy adod meg, hogy melyik irányba? Van egy nyíl a bal alsó sarokban, ami mutatja a vonal irányát a kezdetétől a végéig. Kattints rá a megfordításhoz.</bodyText>\n<column/><headline>A saját címkéid kiválasztása</headline>\n<bodyText>Természetesen nem vagy korlátozva a sablonokra. A „+” gomb használatával bármilyen címkét használhatsz.\n\nAz <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>on láthatod, hogy mások milyen címkéket használnak, és van egy hosszú lista a népszerű címkékről a wikiben, amit <a href=\"http://wiki.openstreetmap.org/wiki/HU:Map_Features\" target=\"_blank\">Térképelemek</a>nek hívnak. De ezek <i>csak javaslatok, nem szabályok</i>. Szabadon kitalálhatsz saját címkéket, vagy kölcsönözhetsz másoktól.\n\nMivel az OpenStreetMap adatait sok különböző térkép használja, minden egyes térkép a címkék egy sajátos választékát jeleníti meg (vagy „rendereli”).</bodyText>\n<headline>Kapcsolatok</headline>\n<bodyText>Néha a címkék nem elegendőek, és szükséded van partly „csoportosítani” kettő vagy több vonalat. Például tilos bekanyarodni egyik útról a másikra, vagy 20 vonal együttesen alkot egy jelzett kerékpárutat. Ezt egy haladó jellemzővel, úgynevezett „kapcsolat”-tal teheted meg. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Tudj meg többet</a> a wikiben.</bodyText>\n\n<!--\n========================================================================================================================\n6. oldal: hibaelhárítás\n\n--><page/><headline>Hibák visszavonása</headline>\n<bodyText><img src=\"undo\">Ez a visszavonás gomb (vagy használhatod a Z billentyűt is) – visszavonja azt, amit utoljára változtattál.\n\nVisszaállíthatsz egy vonalat vagy pontot egy előzőleg mentett változatra. Jelöld ki, aztán kattints az azonosítójára (a szám a bal alsó sarokban) - vagy nyomd meg a H billentyűt (az előzményekhez). Látni fogsz egy listát, amin mindenki szerepel, aki szerkesztette azt, és az is, hogy mikor. Válaszd ki az egyiket, amelyikre vissza szeretnél állni, és kattints a Visszaállításra.\n\nHa véletlenül töröltél egy vonalat és mentetted, nyomd meg az U billentyűt (a visszaállításhoz). Minden törölt vonal megjelenik. Válaszd ki azt, amelyiket vissza szeretnéd állítani; oldd fel a piros lakatra kattintva; és mentsd a szokásos módon.\n\nÚgy gondolod, hogy valaki más hibát vétett? Küldj neki egy barátságos levelet. Használd a történet gombot (H) a neve kiválasztásához, majd kattints az „e-mail”-re.\n\nHasználd a Felügyelőt (a „Haladó” menüben) hasznos információkért az aktuális vonalról vagy pontról.\n</bodyText><column/><headline>GYIK</headline>\n<bodyText><b>Hogyan láthatom az útpontjaimat?</b>\nAz útpontok csak akkor látszanak, ha a „szerkesztés”-re kattintasz a nyomvonal neve mellett a „Nyomvonalak” listájában. A fájlnak az útpontokat és a nyomvonalnaplót is tartalmaznia kell - a szerver elutasít mindent, amiben egyedül útpontok vannak.\n\nTovábbi GYIK a <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a>hoz és az <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>hoz.\n</bodyText>\n\n\n<column/><headline>Gyorsabb feldolgozás</headline>\n<bodyText>Minél inkább távolítasz, annál több adatot kell a Potlatch-nak betöltenie. Közelíts, mielőtt a „Szerkesztés”-re kattintasz.\n\nA legjobb sebességhez kapcsold ki a „toll és kéz kurzorok használata”-t (a beállítások ablakban).\n\nHa a szerver lassú, nézz vissza később. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Ellenőrizd a wikit</a> ismert problémák után. Néha (például vasárnap esténként) a szerver folyamatosan foglalt.\n\nAdd meg a Potlatch-nak, hogy megjegyezze kedvenc címkecsomagjaidat. Jelölj ki egy vonalat vagy pontot ezekkel a címkékkel, aztán nyomd meg a Ctrl, Shift billentyűt és egy számot 1-től 9-ig. Ezután, hogy alkalmazd ezeket a címkéket újra, csak nyomd meg a Shift billentyűt és ezt a számot. (Ezek megjegyzésre kerülnek minden alkalommal, amikor a Potlatch-ot használod ezen a számítógépen.)\n\nGPS nyomvonalad vonallá alakításához keresd meg a „Nyomvonalak” listájában, kattints a „szerkesztés”-ére, aztán jelöld be a konvertálás jelölőnégyzetet. Zárolt (piros) lesz, így nem kerül mentésre. Először szerkeszd, aztán kattints a piros lakatra a feloldáshoz, amikor készen áll a mentésre.</bodytext>\n\n<!--\n========================================================================================================================\n7. oldal: gyors referencia\n\n--><page/><headline>Mire kattints</headline>\n<bodyText><b>Vonszold a térképet</b> a mozgatáshoz.\n<b>Kattints duplán</b> új POI létrehozásához.\n<b>Egy kattintás</b> új vonal kezdéséhez.\n<b>Kattints és húzd a vonalat vagy POI-t</b> áthelyezéshez.</bodyText>\n<headline>Ha vonalat rajzolsz</headline>\n<bodyText><b>Dupla kattintás</b> vagy <b>Enter</b> a rajzolás befejezéséhez.\n<b>Kattintás</b> egy másik vonalra kereszteződés készítéséhez.\n<b>Shift+kattintás egy másik vonal végén</b> az egyesítéshez.</bodyText>\n<headline>Ha egy vonal ki van jelölve</headline>\n<bodyText><b>Kattints egy pontra</b> a kijelöléséhez.\n<b>Shift+kattintás a vonalon</b> új pont beillesztéséhez.\n<b>Shift+kattintás egy ponton</b> új vonal indításához innen.\n<b>Ctrl+kattintás másik vonalon</b> az egyesítéshez.</bodyText>\n</bodyText>\n<column/><headline>Gyorsbillentyűk</headline>\n<bodyText><textformat tabstops='[25]'>B háttérforrás címke hozzáadása\nC módosítás<u>c</u>somag lezárása\nG <u>G</u>PS nyomvonalak megjelenítése\nH előzmények megjelenítése\nI felügyelő megjelenítése\nJ kapcsolódási pont vonalak kereszteződéséhez\nK aktuális kijelölés zárolása/feloldása\nL aktuális szé<u>l</u>ességi/hosszúsági fok megjelenítése\nM szerkesztőablak teljes <u>m</u>éretűvé változtatása\nP <u>p</u>árhuzamos vonal rajzolása\nR címkék ismétlése\nS menté<u>s</u> (hacsak nem élőben szerkesztesz)\nT egyszerűsí<u>t</u>és szabályos vonallá/körré\nU visszaállítás (törölt vonalak megjelenítése)\nX vonal kettévágása\nZ visszavonás\n- pont eltávolítása csak ebből a vonalból\n+ új címke hozzáadása\n/ a ponton osztozó másik vonal kijelölése\n</textformat><textformat tabstops='[50]'>Delete pont törlése\n  (+Shift) egész vonal törlése\nEnter vonal rajzolásának befejezése\nSzóköz háttér megfogása és vonszolása\nEsc szerkesztés megszakítása, újratöltés a szerverről\n0 összes címke eltávolítása\n1-9 előre beállított címkék kiválasztása\n  (+Shift) megjegyzett címkék kiválasztása\n  (+S/Ctrl) címkék megjegyzése\n$ vagy ` váltás a címkecsoportok között\n</textformat>\n</bodyText>"
   hint_drawmode: kattintás pont hozzáadásához\ndupla kattintás/Enter\na vonal befejezéséhez
   hint_latlon: "szélesség $1\nhosszúság $2"
   hint_loading: adatok betöltése
@@ -132,6 +132,7 @@ hu:
   option_layer_ooc_7th: "UK történelmi: 7th"
   option_layer_ooc_npe: "UK történelmi: NPE"
   option_layer_ooc_scotland: "UK történelmi: Skócia"
+  option_layer_os_streetview: "UK: OS utcanézet"
   option_layer_streets_haiti: "Haiti: utcanevek"
   option_layer_tip: Válaszd ki a megjelenítendő hátteret
   option_limitways: Figyelmeztetés sok adat betöltése előtt
@@ -176,7 +177,7 @@ hu:
   prompt_changesetcomment: "Adj leírást a módosításaidhoz:"
   prompt_closechangeset: $1 módosításcsomag lezárása
   prompt_createparallel: Párhuzamos vonal készítése
-  prompt_editlive: Szerk. élőben
+  prompt_editlive: Élő szerk.
   prompt_editsave: Szerk. mentéssel
   prompt_helpavailable: Új vagy? Segítségért nézd a jobb alsó sarkot.
   prompt_launch: Külső URL indítása
@@ -185,7 +186,7 @@ hu:
   prompt_microblog: "Küldés ide: $1 ($2 van hátra)"
   prompt_revertversion: "Korábbi mentett változat visszaállítása:"
   prompt_savechanges: Módosítások mentése
-  prompt_taggedpoints: Ezen a vonalon van néhány címkézett pont. Biztosan törlöd?
+  prompt_taggedpoints: Ezen a vonalon van néhány pont, amely címkézett, vagy kapcsolat tagja. Biztosan törlöd?
   prompt_track: GPS nyomvonal átalakítása vonalakká
   prompt_unlock: Kattints a feloldáshoz
   prompt_welcome: Üdvözlünk az OpenStreetMapon!
@@ -195,6 +196,7 @@ hu:
   tags_backtolist: Vissza a listához
   tags_descriptions: "'$1' leírása"
   tags_findatag: Címke keresése
+  tags_findtag: Címke keresése
   tags_matching: "Népszerű címkék, amelyek illeszkednek a következőre: '$1'"
   tags_typesearchterm: "Írj be egy szót a kereséshez:"
   tip_addrelation: Hozzáadás kapcsolathoz
index b36f52c5d84d89f6ef247b9f03d360bcbb7fc066..b5383f1fcdcc4fe58e60c9e906fc4baa63ed98cc 100644 (file)
@@ -130,6 +130,7 @@ ia:
   option_layer_ooc_7th: "RU historic: 7me"
   option_layer_ooc_npe: "RU historic: NPE"
   option_layer_ooc_scotland: "RU historic: Scotia"
+  option_layer_os_streetview: "Regno Unite: OS StreetView"
   option_layer_streets_haiti: "Haiti: nomines de stratas"
   option_layer_tip: Selige le fundo a monstrar
   option_limitways: Advertir si multe datos debe esser cargate
@@ -183,7 +184,7 @@ ia:
   prompt_microblog: Publicar in $1 (il remane $2)
   prompt_revertversion: "Reverter a un version previemente salveguardate:"
   prompt_savechanges: Salveguardar modificationes
-  prompt_taggedpoints: Alcunes del punctos in iste via es etiquettate. Realmente deler?
+  prompt_taggedpoints: Alcunes del punctos in iste via ha etiquettas o relationes. Realmente deler?
   prompt_track: Converter tracia GPS in vias
   prompt_unlock: Clicca pro disblocar
   prompt_welcome: Benvenite a OpenStreetMap!
@@ -193,6 +194,7 @@ ia:
   tags_backtolist: Retornar al lista
   tags_descriptions: Descriptiones de '$1'
   tags_findatag: Cercar un etiquetta
+  tags_findtag: Cercar etiquetta
   tags_matching: Etiquettas popular correspondente a '$1'
   tags_typesearchterm: "Entra un parola a cercar:"
   tip_addrelation: Adder a un relation
index db521f4bb181e85e560c3f1dfe0b99e45f291836..36224e77bdfad6de3198c55aee986a55f38b393d 100644 (file)
@@ -82,7 +82,7 @@ it:
   heading_tagging: Etichettamento
   heading_troubleshooting: Diagnostica dei problemi
   help: Aiuto
-  help_html: "<!--\n\n========================================================================================================================\nPagina 1: Introduzione\n\n--><headline>Benvenuto su Potlatch</headline>\n<largeText>Potlatch è un programma facile da usare per apportare delle modifiche a OpenStreetMap. Disegna strade, percorsi, marcatori territoriali e negozi partendo dalle proprie rilevazioni GPS, da immagini satellitari oppure da vecchie mappe.\n\nQueste pagine di aiuto ti guideranno attraverso i concetti di base nell'utilizzo di Potlatch, e ti dirà dove trovare maggiori informazioni. Clicca sulle intestazioni che trovi qui sopra per iniziare.\n\nQuando hai finito basta cliccare in qualche altro punto della pagina.\n\n</largeText>\n\n<column/><headline>Elementi utili da conoscere</headline>\n<bodyText>Non copiare dalle altre mappe!\n\nSe selezioni 'Modifica online' ogni tua modifica sarà inviata <i>immediatamente</i> al database non appena la disegni. Se non sei così sicuro, scegli 'Modifica offline', e le modifiche saranno inviate solamente quando premerai su 'Salva'.\n\nLe modifiche che fai alla mappa vengono visualizzate dopo una o due ore (per alcune cose serve una settimana). Non tutto viene visualizzato nella mappa, la renderebbe troppo complicata. Ma visto che i dati di OpenStreetMap sono open source, chiunque è libero di creare altre mappe che mostrano diverse caratteristiche. Come <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> oppure <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nRicorda che è <i>sia</i> una mappa dal bell'aspetto (quindi disegna bene le curve) che un diagramma (assicurati che le strade siano collegate agli incroci).\n\nAbbiamo accennato al fatto di non copiare da altre mappe?\n</bodyText>\n\n<column/><headline>Maggiori informazioni</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Manuale Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Liste di distribuzione</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat in linea (aiuto dal vivo)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Forum web</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki della comunità</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Sorgenti di Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nPagina 2: per iniziare\n\n--><page/><headline>Per iniziare</headline>\n<bodyText>Ora che hai aperto Potlatch, clicca su 'Modifica offline' per iniziare.\n\nOra sei pronto a disegnare la mappa. La cosa più facile è iniziare inserendo dei PDI (Punti Di Interesse) nella mappa. Potrebbero essere bar, chiese, stazioni ferroviarie... qualsiasi cosa ti piaccia.</bodytext>\n\n<column/><headline>Clicca e trascina</headline>\n<bodyText>To make it super-easy, you'll see a selection of the most common POIs, right at the bottom of the map for you. Putting one on the map is as easy as dragging it from there onto the right place on the map. And don't worry if you don't get the position right first time: you can drag it again until it's right. Note that the POI is highlighted in yellow to show that it's selected.\n\nOnce you've done that, you'll want to give your pub (or church, or station) a name. You'll see that a little table has appeared at the bottom. One of the entries will say \"name\" followed by \"(type name here)\". Do that - click that text, and type the name.\n\nClick somewhere else on the map to deselect your POI, and the colourful little panel returns.\n\nFacile, non è vero? Clicca su 'Salva' (in basso a destra) quando hai finito.\n</bodyText><column/><headline>Spostarsi</headline>\n<bodyText>Per spostarsi su una parte differente della mappa, basta trascinarla in modo da visualizzare un'area vuota. Potlatch caricherà automaticamente i nuovi dati (guarda in alto a destra).\n\nWe told you to 'Edit with save', but you can also click 'Edit live'. If you do this, your changes will go into the database straightaway, so there's no 'Save' button. This is good for quick changes and <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping parties</a>.</bodyText>\n\n<headline>Passi successivi</headline>\n<bodyText>Happy with all of that? Great. Click 'Surveying' above to find out how to become a <i>real</i> mapper!</bodyText>\n\n<!--\n========================================================================================================================\nPagina 3: Rilevamento\n\n--><page/><headline>Rilevamento con un GPS</headline>\n<bodyText>The idea behind OpenStreetMap is to make a map without the restrictive copyright of other maps. This means you can't copy from elsewhere: you must go and survey the streets yourself. Fortunately, it's lots of fun!\nThe best way to do this is with a handheld GPS set. Find an area that isn't mapped yet, then walk or cycle up the streets with your GPS switched on. Note the street names, and anything else interesting (pubs? churches?) , as you go along.\n\nQuando ritorni a casa, il tuo GPS conterrà una registrazione dei punti geografici dove sei stato. Puoi quindi caricarli su OpenStreetMap.\n\nThe best type of GPS is one that records to the tracklog frequently (every second or two) and has a big memory. Lots of our mappers use handheld Garmins or little Bluetooth units. There are detailed <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a> on our wiki.</bodyText>\n\n<column/><headline>Caricamento dei tuoi tracciati</headline>\n<bodyText>Now, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.</bodyText>\n<headline>Utilizzo dei tuoi tracciati</headline>\n<bodyText>Find your uploaded track in the 'GPS Traces' listing, and click 'edit' <i>right next to it</i>. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\n<img src=\"gps\">Puoi anche cliccare su questo pulsante per visualizzare i tracciati GPS di chiunque (ma non i punti dei percorsi) per l'area corrente. Tieni premuto Shift per visualizzare soltanto i tuoi tracciati.</bodyText>\n<column/><headline>Utilizzo di immagini satellitari</headline>\n<bodyText>If you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\n<img src='prefs'>If you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.</bodytext>\n\n<!--\n========================================================================================================================\nPagina 4: Disegno\n\n--><page/><headline>Disegno dei percorsi</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nClicca 'Salva' (in basso a destra) quando hai fatto. Salva frequentemente in caso di problemi col server.\n\nNon aspettarti di vedere apportate le tue modifiche istantaneamente sulla mappa principale. Di solito bisogna attendere una o due ore, altre volte fino ad una settimana.\n</bodyText><column/><headline>Creazione degli incroci</headline>\n<bodyText>E' molto importate che nel punto in cui due strade (o 'way')si incrociano ci sia un punto (o 'nodo') condiviso da entrambe. I navigatori utilizzano questo punto per sapere dove svoltare.\n\nPotlatch si occupa di questo, ma tu devi essere attendo a cliccare <i>esattamente</i> sulla 'way' che stai collegando. Attento alle indicazioni visive: i nodi sulla way diventano blu, il puntatore cambia e una volta fatto il nodo ha un quadrato nero attorno.</bodyText>\n<headline>Spostamento ed eliminazione</headline>\n<bodyText>Funziona proprio come ti aspetteresti. Per cancellate un nodo selezionalo e premi \"Canc\". Per cancellare l'intera way premi \"Shift-Canc\"\n\nPer spostare qualcosa, semplicemente trascinalo. (Per trascinare un'intera \"way\" devi mantenere cliccato per un pò per evitare che venga fatto accidentalmente).</bodyText>\n<column/><headline>Disegno avanzato</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>PDI (Punti Di Interesse)</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\nPagina 4: Applicazione di etichette\n\n--><page/><headline>Che tipo di strada è?</headline>\n<bodyText>Quando hai disegnato una way, dovresti dire di cosa si tratta. E' una strada principale, un percorso pedonale o un fiume? Come si chiama? Ha regole particolari (esempio: \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nPuoi applicare etichette all'intera 'way', a nodi sulla 'way' (una barriera o un semaforo) e a PDI (Punto Di Interesse).</bodytext>\n<column/><headline>Utilizzo delle etichette preimpostate</headline>\n<bodyText>Per farti iniziare, Potlatch possiede dei gruppi preimpostati pronti all'uso contenenti le etichette più utilizzate.\n\n<img src=\"preset_road\">Select a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Strade a senso unico</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Scelta delle proprie etichette</headline>\n<bodyText>Ovviamente non sei limitato alle preimpostate. Cliccando '+' puoi aggiungere qualunque etichetta.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nBecause OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.</bodyText>\n<headline>Relazioni</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nPagina 6: Soluzioni ai problemi\n\n--><page/><headline>Annullamento degli sbagli</headline>\n<bodyText><img src=\"undo\">Questo è il pulsante di annullamento (puoi premere anche Z) - annullerà l'ultima cosa che hai fatto.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nPensi che qualcun'altro abbia fatto un errore? Inviagli un messaggio amichevole. Usa la cronologia (H) per selezionarne il nome, poi clicca 'Posta'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\n</bodyText><column/><headline>Domande frequenti (FAQ)</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Lavoro più veloce</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Check the wiki</a> for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nPagina 7: Riferimenti veloci\n\n--><page/><headline>Cosa cliccare</headline>\n<bodyText>\n<b>Trascina la mappa</b> per spostarti.\n<b>Doppio-click</b> per creare un nuovo PDI (Punto Di Interesse).\n<b>Singolo-click</b> per iniziare un nuovo percorso.\n<b>Clicca e trascina un percorso o PDI</b> per spostarlo.</bodyText>\n<headline>Quando si disegna un percorso</headline>\n<bodyText>\n<b>Doppio-click</b> oppure <b>premi Enter</b> per finire di disegnare.\n<b>Cliccare</b> un altro percorso per creare un incrocio.\n<b>Shift-click sulla fine di un altro percorso</b> per unire.</bodyText>\n<headline>Quando è selezionato un percorso</headline>\n<bodyText>\n<b>Clicca un punto</b> per selezionarlo.\n<b>Shift-click sul percorso</b> per inserire un nuovo punto.\n<b>Shift-click un punto</b> per iniziare un nuovo percorso da lì.\n<b>Control-click su un altro percorso</b> per unire.</bodyText>\n</bodyText>\n<column/><headline>Scorciatoie da tastiera</headline>\n<bodyText><textformat tabstops='[25]'>B Aggiunge l'etichetta della sorgente dello sfondo\nC Chiude il gruppo di modifiche\nG Mostra i tracciati <u>G</u>PS\nH Mostra lo storicoI Mostra l'<u>i</u>spettore\nJ Unisce il punto ai percorsi che si incrociano\nK Blocca/sblocca la selezione corrente\nL Mostra la <u>l</u>atitudine/longitudine corrente\nM <u>M</u>assimizza la finestra di modifica\nP Crea un percorso <u>p</u>arallelo\nR <u>R</u>ipeti le etichette\nS <u>S</u>alva (senza la modalità di modifica dal vivo)\nT Disponi su una linea/cerchio\nU Annulla eliminazione (mostra i percorsi eliminati)\nX Taglia il percorso in due parti\nZ Annulla\n- Rimuovi il punto solamente da questo percorso\n+ Aggiunge una nuova etichetta\n/ Seleziona un altro percorso che condivide questo punto\n</textformat><textformat tabstops='[50]'>Canc Elimina il punto\n  (+Shift) Elimina l'intero percorso\nInvio Finisce il disegno della linea\nBarra spaziatrice Afferra e trascina lo sfondo\nEsc Annulla questa modifica; ricarica dal server\n0 Rimuove tutte le etichette\n1-9 Seleziona le etichette preimpostate\n  (+Shift) Seleziona le etichette memorizzate\n  (+S/Ctrl) Memorizza le etichette\n§ or ` Cicla sui gruppi di etichette\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nPagina 1: Introduzione\n\n--><headline>Benvenuto su Potlatch</headline>\n<largeText>Potlatch è un programma facile da usare per apportare delle modifiche a OpenStreetMap. Disegna strade, percorsi, marcatori territoriali e negozi partendo dalle proprie rilevazioni GPS, da immagini satellitari oppure da vecchie mappe.\n\nQueste pagine di aiuto ti guideranno attraverso i concetti di base nell'utilizzo di Potlatch, e ti dirà dove trovare maggiori informazioni. Clicca sulle intestazioni che trovi qui sopra per iniziare.\n\nQuando hai finito basta cliccare in qualche altro punto della pagina.\n\n</largeText>\n\n<column/><headline>Elementi utili da conoscere</headline>\n<bodyText>Non copiare dalle altre mappe!\n\nSe selezioni 'Modifica online' ogni tua modifica sarà inviata <i>immediatamente</i> al database non appena la disegni. Se non sei così sicuro, scegli 'Modifica offline', e le modifiche saranno inviate solamente quando premerai su 'Salva'.\n\nLe modifiche che fai alla mappa vengono visualizzate dopo una o due ore (per alcune cose serve una settimana). Non tutto viene visualizzato nella mappa, la renderebbe troppo complicata. Ma visto che i dati di OpenStreetMap sono open source, chiunque è libero di creare altre mappe che mostrano diverse caratteristiche. Come <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> oppure <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nRicorda che è <i>sia</i> una mappa dal bell'aspetto (quindi disegna bene le curve) che un diagramma (assicurati che le strade siano collegate agli incroci).\n\nAbbiamo accennato al fatto di non copiare da altre mappe?\n</bodyText>\n\n<column/><headline>Maggiori informazioni</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Manuale Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Liste di distribuzione</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat in linea (aiuto dal vivo)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Forum web</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki della comunità</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Sorgenti di Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nPagina 2: per iniziare\n\n--><page/><headline>Per iniziare</headline>\n<bodyText>Ora che hai aperto Potlatch, clicca su 'Modifica offline' per iniziare.\n\nOra sei pronto a disegnare la mappa. La cosa più facile è iniziare inserendo dei PDI (Punti Di Interesse) nella mappa. Potrebbero essere bar, chiese, stazioni ferroviarie... qualsiasi cosa ti piaccia.</bodytext>\n\n<column/><headline>Clicca e trascina</headline>\n<bodyText>Per renderti il lavoro più facile sotto alla mappa c'è una raccolta dei punti di interesse (POI) più comunemente utilizzati. Per inserirlo nella mappa è sufficiente trascinarne uno nella posizione voluta. Non preoccuparti se non riesci a posizionarlo bene al primo colpo: puoi trascinarlo nuovamente finché la posizione non è quella corretta. Nota che il punto di interesse (POI) è evidenziato in giallo quando è selezionato.\n\nNon appena hai finito vorrai probabilmente assegnare un nome al tuo pub (chiesa, stazione, o altro). vedrai che apparirà una piccola tabella in basso. Una delle caselle riporterà la dicitura \"nome\" seguita da \"(digitare il nome qui)\". Quindi basterà cliccare questo testo e digitare il nome.\n\nClicca in qualche altro punto della mappa per deselezionare il tuo punto di interesse (POI) e quindi ricomparirà il piccolo pannello colorato.\n\nFacile, non è vero? Clicca su 'Salva' (in basso a destra) quando hai finito.\n</bodyText><column/><headline>Spostarsi</headline>\n<bodyText>Per spostarsi su una parte differente della mappa, basta trascinarla in modo da visualizzare un'area vuota. Potlatch caricherà automaticamente i nuovi dati (guarda in alto a destra).\n\nTi avevamo parlato della 'Modalità offline', ma puoi anche usare la 'modalità online'. In questo caso, le tue modifiche andranno direttamente nel database, quindi non avrai bisogno di cliccare su 'Salva'. Questa modalità va bene per modifiche veloci o durante un <a href=\"http://wiki.openstreetmap.org/wiki/WikiProject_Italy/Events\" target=\"_blank\">mapping party</a>.</bodyText>\n\n<headline>Passi successivi</headline>\n<bodyText>Sei soddisfatto? Bene. Clicca su 'Raccolta dati' in alto per scoprire come diventare un <i>vero</i> mapper!</bodyText>\n\n<!--\n========================================================================================================================\nPagina 3: Rilevamento\n\n--><page/><headline>Rilevamento con un GPS</headline>\n<bodyText>L'idea che sta dietro a OpenStreetmap è di creare mappe che non violino il copyright di altre mappe. Ciò significa che non puoi copiare da altre parti: devi uscire e mappare le strade per conto tuo. Per fortuna, ciò è molto divertente!\nIl miglior modo per farlo è quello di usare un dispositivo GPS portatile. Trova una zona che non è ancora stata mappata, percorri a piedi o in bicicletta le strade con il GPS acceso. Prendi nota dei nomi delle strade, oltre a qualsiasi altro dato interessante (pub? Chiese?), man man che prosegui.\n\nQuando ritorni a casa, il tuo GPS conterrà una registrazione dei punti geografici dove sei stato. Puoi quindi caricarli su OpenStreetMap.\n\nIl migliore GPS è quello che registra le tracce con una certa frequenza (ogni secondo oppure ogni due) ed ha un sacco di memoria. Molti dei nostri mappatori usano dispositivi Garmin o piccole unità dotate di Bluetooth. Puoi trovare <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\">recensioni dettagliate di dispositivi GPS</a> all'interno del nostro wiki.</bodyText>\n\n<column/><headline>Caricamento dei tuoi tracciati</headline>\n<bodyText>A questo punto, devi estrarre le tracce dal dispositivo GPS. Forse il tuo GPS usa un suo software o permette il trasferminto dei file via USB. Altrimenti, prova con <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. In ogni caso, tu vuoi che il file sia in formato GPX.\n\nQuindi usa la scheda 'Tracciati GPS' per caricare la tua traccia su OpenStreetMap. Ma questa è solo la prima parte - ancora nulla apparirà sulla mappa. Devi ancora disegnare le strade e darle dei nomi, utilizzando la tua traccia come guida.</bodyText>\n<headline>Utilizzo dei tuoi tracciati</headline>\n<bodyText>Trova la tua traccia nella lista 'Tracciati GPS', e clicca su 'Modifica' <i>subito alla sua destra</i>. Potlatch partirà questa traccia caricata, insieme ad altri eventuali punti. Sei pronto per creare mappe!\n\n<img src=\"gps\">Puoi anche cliccare su questo pulsante per visualizzare i tracciati GPS di chiunque (ma non i punti dei percorsi) per l'area corrente. Tieni premuto Shift per visualizzare soltanto i tuoi tracciati.</bodyText>\n<column/><headline>Utilizzo di immagini satellitari</headline>\n<bodyText>Se non hai un GPS, non ti preoccupare. In alcune città, abbiamo delle foto satellitari su cui puoi disegnare strade, concesse gentilmente da Yahoo! (grazie!). Esci e prendi nota dei nomi delle strade, poi torna a casa e traccia seguendo le linee delle foto.\n\n<img src='prefs'>Se non vedi alcuna immagine satellitare, clicca sul bottone delle opzioni e controlla che 'Yahoo!' sia selezionato. Se continui a non vedere niente, è probabile che questo servizio non sia disponibile per la tua città, o che tu debba tornare un po' indietro con lo zoom.\n\nNelle opzioni troverai anche altre scelte come una mappa senza copyright del Regno Unito, e OpenTopoMap per gli Stati Uniti. Questi sono tutti selezionati perché siamo autorizzati ad utilizzarle - non copiare da altre mappe o foto aeree. (il copyright fa schifo)\n\nA volte le immagini satellitari sono leggermente spostate da dove sono realmente le strade. Se è il caso tieni premuta la barra spaziatrice e trascina lo sfondo fino ad allinearlo. Le tracce GPS sono più affidabili delle immagini satellitari.</bodytext>\n\n<!--\n========================================================================================================================\nPagina 4: Disegno\n\n--><page/><headline>Disegno dei percorsi</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nClicca 'Salva' (in basso a destra) quando hai fatto. Salva frequentemente in caso di problemi col server.\n\nNon aspettarti di vedere apportate le tue modifiche istantaneamente sulla mappa principale. Di solito bisogna attendere una o due ore, altre volte fino ad una settimana.\n</bodyText><column/><headline>Creazione degli incroci</headline>\n<bodyText>E' molto importate che nel punto in cui due strade (o 'way')si incrociano ci sia un punto (o 'nodo') condiviso da entrambe. I navigatori utilizzano questo punto per sapere dove svoltare.\n\nPotlatch si occupa di questo, ma tu devi essere attendo a cliccare <i>esattamente</i> sulla 'way' che stai collegando. Attento alle indicazioni visive: i nodi sulla way diventano blu, il puntatore cambia e una volta fatto il nodo ha un quadrato nero attorno.</bodyText>\n<headline>Spostamento ed eliminazione</headline>\n<bodyText>Funziona proprio come ti aspetteresti. Per cancellate un nodo selezionalo e premi \"Canc\". Per cancellare l'intera way premi \"Shift-Canc\"\n\nPer spostare qualcosa, semplicemente trascinalo. (Per trascinare un'intera \"way\" devi mantenere cliccato per un pò per evitare che venga fatto accidentalmente).</bodyText>\n<column/><headline>Disegno avanzato</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>PDI (Punti Di Interesse)</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\nPagina 4: Applicazione di etichette\n\n--><page/><headline>Che tipo di strada è?</headline>\n<bodyText>Quando hai disegnato una way, dovresti dire di cosa si tratta. E' una strada principale, un percorso pedonale o un fiume? Come si chiama? Ha regole particolari (esempio: \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nPuoi applicare etichette all'intera 'way', a nodi sulla 'way' (una barriera o un semaforo) e a PDI (Punto Di Interesse).</bodytext>\n<column/><headline>Utilizzo delle etichette preimpostate</headline>\n<bodyText>Per farti iniziare, Potlatch possiede dei gruppi preimpostati pronti all'uso contenenti le etichette più utilizzate.\n\n<img src=\"preset_road\">Seleziona la way, poi clicca sui simboli finchè non trovi quello adatto. Quindi scegli nel menù l'opzione più appropriata.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Strade a senso unico</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Scelta delle proprie etichette</headline>\n<bodyText>Ovviamente non sei limitato alle preimpostate. Cliccando '+' puoi aggiungere qualunque etichetta.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nSiccome i dati di OpenStreetMap sono utilizzati per generare più mappe differenti, ognuna di queste visualizzerà solo un determinato insieme di etichette.</bodyText>\n<headline>Relazioni</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nPagina 6: Soluzioni ai problemi\n\n--><page/><headline>Annullamento degli sbagli</headline>\n<bodyText><img src=\"undo\">Questo è il pulsante di annullamento (puoi premere anche Z) - annullerà l'ultima cosa che hai fatto.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nPensi che qualcun'altro abbia fatto un errore? Inviagli un messaggio amichevole. Usa la cronologia (H) per selezionarne il nome, poi clicca 'Posta'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\n</bodyText><column/><headline>Domande frequenti (FAQ)</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Lavoro più veloce</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Check the wiki</a> for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nPagina 7: Riferimenti veloci\n\n--><page/><headline>Cosa cliccare</headline>\n<bodyText><b>Trascina la mappa</b> per spostarti.\n<b>Doppio-click</b> per creare un nuovo PDI (Punto Di Interesse).\n<b>Singolo-click</b> per iniziare un nuovo percorso.\n<b>Clicca e trascina un percorso o PDI</b> per spostarlo.</bodyText>\n<headline>Quando si disegna un percorso</headline>\n<bodyText><b>Doppio-click</b> oppure <b>premi Enter</b> per finire di disegnare.\n<b>Cliccare</b> un altro percorso per creare un incrocio.\n<b>Shift-click sulla fine di un altro percorso</b> per unire.</bodyText>\n<headline>Quando è selezionato un percorso</headline>\n<bodyText><b>Clicca un punto</b> per selezionarlo.\n<b>Shift-click sul percorso</b> per inserire un nuovo punto.\n<b>Shift-click un punto</b> per iniziare un nuovo percorso da lì.\n<b>Control-click su un altro percorso</b> per unire.</bodyText>\n</bodyText>\n<column/><headline>Scorciatoie da tastiera</headline>\n<bodyText><textformat tabstops='[25]'>B Aggiunge l'etichetta della sorgente dello sfondo\nC Chiude il gruppo di modifiche\nG Mostra i tracciati <u>G</u>PS\nH Mostra lo storico\nI Mostra l'<u>i</u>spettore\nJ Unisce il punto ai percorsi che si incrociano\nK Blocca/sblocca la selezione corrente\nL Mostra la <u>l</u>atitudine/longitudine corrente\nM <u>M</u>assimizza la finestra di modifica\nP Crea un percorso <u>p</u>arallelo\nR <u>R</u>ipeti le etichette\nS <u>S</u>alva (senza la modalità di modifica dal vivo)\nT Disponi su una linea/cerchio\nU Annulla eliminazione (mostra i percorsi eliminati)\nX Taglia il percorso in due parti\nZ Annulla\n- Rimuovi il punto solamente da questo percorso\n+ Aggiunge una nuova etichetta\n/ Seleziona un altro percorso che condivide questo punto\n</textformat><textformat tabstops='[50]'>Canc Elimina il punto\n  (+Shift) Elimina l'intero percorso\nInvio Finisce il disegno della linea\nBarra spaziatrice Afferra e trascina lo sfondo\nEsc Annulla questa modifica\n; ricarica dal server\n0 Rimuove tutte le etichette\n1-9 Seleziona le etichette preimpostate\n  (+Shift) Seleziona le etichette memorizzate\n  (+S/Ctrl) Memorizza le etichette\n§ or ` Cicla sui gruppi di etichette\n</textformat>\n</bodyText>"
   hint_drawmode: clic per aggiungere un punto\ndoppio clic/Return\nper terminare la linea
   hint_latlon: "lat $1\nlon $2"
   hint_loading: caricamento dati
@@ -104,10 +104,11 @@ it:
   inspector_way_connects_to_principal: È connesso a $1 $2 ed altri $3 $4
   inspector_way_nodes: $1 nodi
   inspector_way_nodes_closed: $1 nodi (chiusi)
+  loading: Caricamento...
   login_pwd: "Password:"
   login_retry: Il tuo login non è stato riconosciuto. Riprova
   login_title: Impossibile fare il login
-  login_uid: Nome utente
+  login_uid: "Nome utente:"
   mail: Posta
   more: Ancora
   newchangeset: "Si prega di riprovare: Potlatch aprirà un nuovo gruppo di modifiche."
@@ -128,6 +129,8 @@ it:
   option_layer_maplint: OSM - Maplint (errori)
   option_layer_nearmap: "Australia: NearMap"
   option_layer_ooc_25k: "Storico UK: 1:25k"
+  option_layer_ooc_npe: "Storico UK: NPE"
+  option_layer_ooc_scotland: "Storico UK: Scozia"
   option_layer_streets_haiti: "Haiti: nomi delle strade"
   option_layer_tip: Scegli lo sfondo da visualizzare
   option_limitways: Avverti quando carichi molti dati
@@ -188,6 +191,7 @@ it:
   revert: Ripristina
   save: Salva
   tags_descriptions: Descrizioni di '$1'
+  tags_findatag: Trova un tag
   tags_typesearchterm: "Inserisci una parola da cercare:"
   tip_addrelation: Aggiungi ad una relazione
   tip_addtag: Aggiungi una nuova etichetta
@@ -209,12 +213,12 @@ it:
   uploading: Caricamento...
   uploading_deleting_pois: Cancellazione PDI
   uploading_deleting_ways: Cancellazione percorsi
-  uploading_poi: Sto caricando il PDI $1
+  uploading_poi: Caricamento PDI $1
   uploading_poi_name: Caricamento PDI $1, $2
-  uploading_relation: Carica la relation $1
+  uploading_relation: Caricamento relazione $1
   uploading_relation_name: Caricamento relazione $1, $2
   uploading_way: Caricamento percorso $1
-  uploading_way_name: Sto caricando il percorso $1, $2
+  uploading_way_name: Caricamento percorso $1, $2
   warning: Attenzione!
   way: Percorso
-  "yes": Si
+  "yes": Sì
index 82efea14d92d45fb8ea842e0c6b4681a55fdb411..f13289af2a67e065624a05f761782415fec32443 100644 (file)
@@ -32,6 +32,7 @@ mk:
   advanced_tooltip: Напредни можности за уредување
   advanced_undelete: Врати бришено
   advice_bendy: Премногу искривено за да се исправи (SHIFT за насила)
+  advice_conflict: Конфликт во серверот - можеби ќе треба да зачувате повторно
   advice_deletingpoi: Бришење на точка од интерес (POI) (Z за враќање)
   advice_deletingway: Бришење пат (Z за враќање)
   advice_microblogged: Вашиот нов статус - $1
@@ -79,7 +80,7 @@ mk:
   heading_tagging: Означување
   heading_troubleshooting: Отстранување неисправности
   help: Помош
-  help_html: "<!--\n\n========================================================================================================================\nСтрана 1: Вовед\n\n--><headline>Добредојдовте во Potlatch</headline>\n<largeText>Potlatch е уредник на OpenStreetMap кој е лесен за употреба. Цртајте патишта, знаменитости, споменици и продавници од вашите GPS податоци, сателитски слики или стари карти.\n\nОвие страници за помош ќе ве запознаат со основите на користење на Potlatch, и ќе ви покажат каде можете да дознаете повеќе. Кликнете на насловите погоре за да почнете.\n\nЗа да излезете, кликнете било каде вон прозорецов.\n\n</largeText>\n\n<column/><headline>Корисно да се знае</headline>\n<bodyText>Не копирајте од други карти!\n\nАко изберете „Уредување во живо“, сите промени кои ќе ги направите одат на базата додека ги цртате - т.е. <i>веднаш</i>. Ако не сте толку сигурни во промените, одберете „Уредување со зачувување“, и така промените ќе се појават дури кога ќе стиснете на „Зачувај“.\n\nСите направени уредувања ќе се покажат по час-два (на неколку посложени работи им треба една недела). На картата не е прикажано сè - тоа би бил голем неред. Бидејќи податоците на OpenStreetMap се отворен извор, другите корисници слободно прават карти на кои се прикажани различни аспекти - како <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap (Отворена велосипедска карта)</a> или <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nЗапомнете дека ова е <i>и</i> убава карта (затоа цртајте убави криви линии за кривините), но и дијаграм (затоа проверувајте дека патиштата се среќаваат на крстосници) .\n\nДали ви споменавме дека не смее да се копира од други карти?\n</bodyText>\n\n<column/><headline>Дознајте повеќе</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch прирачник</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Поштенски листи</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Разговори (помош во живо)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Веб-форум</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Вики на заедницата</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Изворен код на Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nСтраница 2: како да почнете\n\n--><page/><headline>Како да почнете</headline>\n<bodyText>Сега Potlatch ви е отворен. Кликнете на „Уреди и зачувај“ за да почнете\n\nЗначи спремни сте да нацртате карта. Најлесно е да се почне со поставење на точки од интерес на картата (POI). Овие можат да бидат ресторани, цркви, железнички станици...сè што сакате.</bodytext>\n\n<column/><headline>Влечење и пуштање</headline>\n<bodyText>За да ви олесниме, ги поставивме најчестите видови на точки од интерес (POI), на дното од картата. На картата се ставаат со нивно повлекување и пуштање на саканото место. И не грижете се ако не сте го погодиле местото од прв пат: можете точките да повлекувате повторно, сè додека не ја наместите секоја точка кадешто сакате.\n\nКога сте готови со тоа, ставете му име на ресторанот (или црквата, станицата итн.) На дното ќе се појави мала табела. Една од ставките ќе биде „име“, и до него „(тука внесете име)“. Кликнете на тој текст и впишете го името.\n\nКликнете другде на картата за да го одизберете вашата точка од интерес (POI), и така ќе се врати малиот шарен правоаголник.\n\nЛесно е, нели? Кликнете на „Зачувај“ (најдолу-десно) кога сте готови.\n</bodyText><column/><headline>Движење по картата</headline>\n<bodyText>За да отидете на друг дел од картата, само повлечете празен простор. Potlatch автоматски ќе вчита нови податоци (гледајте најгоре-десно)\n\nВи рековме да „Уредите и зачувате“, но можете и да кликнете на „Уредување во живо“. Под овој режим промените одат право во базата, и затоа нема копче „Зачувај“. Ова е добро за брзи промени и <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">картографски акции</a>.</bodyText>\n\n<headline>Следни чекори</headline>\n<bodyText>Задоволни сте од досегашното? Одлично. Кликнете на „Истражување“ погоре за да дознаете како да бидете <i>вистински</i> картограф!</bodyText>\n\n<!--\n========================================================================================================================\nСтрана 3: Истражување\n\n--><page/><headline>Истражување со GPS</headline>\n<bodyText>Идејата позади OpenStreetMap  е создавање на карта без ограничувачките авторски права кои ги имаат други карти. Ова значи дека овдешните карти не можете да ги копирате од никаде: морате самите да ги истражите улиците. За среќа, ова е многу забавно!\nНајдобро е да се земе рачен GPS-уред. Пронајдете некој регион кој сè уште не е на картата. Прошетајте по улиците, или извозете ги на велосипед, држајќи го уредот вклучен. По пат запишувајте ги имињата на улиците, и сето она што ве интересира (ресторани? цркви?).\n\nКога ќе дојдетедома, вашиот GPS-уред ќе содржи т.н. „записник на траги“ (tracklog) кој има евиденција за секаде кадешто сте биле. Потоа ова можете да го подигнете на OpenStreetMap.\n\nНајдобриот вид на GPS-уред е оној што запишува често (на секоја секунда-две) и има голема меморија. Голем дел од нашите картографи користат рачни Garmin апарати, или Bluetooth-уреди. На нашето вики ќе најдете подробни <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">анализа на GPS-уреди</a></bodyText>\n\n<column/><headline>Подигање на патеката</headline>\n<bodyText>Сега ќе треба да ја префрлите трагата од GPS-уредот. Можеби уредот има свој софтвер, или пак од него поже да се копираат податотеки предку USB. Ако не може, пробајте го <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Како и да е, податотеката во секој случај треба да биде во GPX формат.\n\nПотоа одете на „GPS траги“ и подигнете ја трагата на OpenStreetMap. Но ова е само првиот чекор - трагата сè уште нема да се појави на картата. Морате самите да ги нацртате и именувате улиците, следејќи ја трагата.</bodyText>\n<headline>Користење на трагата</headline>\n<bodyText>Пронајдете ја вашата подигната трага во листата на „GPS траги“ и кликнете на „уреди“ <i>веднаш до неа</i>. Potlatch ќе започне со оваа вчитана трага, плус ако има патни точки. Сега можете да цртате!\n\n<img src=\"gps\">Можете и да кликнете на ова копче за да ви се прикажат GPS трагите на сите корисници (но не патните точки) за тековниот реон. Држете Shift за да се прикажат само вашите траги.</bodyText>\n<column/><headline>Користење на сателитски слики</headline>\n<bodyText>Не грижете се ако немате GPS-уред. Во некои градови имаме сателитски фотографии врз кои можете да цртате, добиени со поддршка од Yahoo! (благодариме!). Излезете и запишете ги имињата на улиците, па вратете се и исцртајте ги линиите врз нив.\n\n<img src='prefs'>Доколку не гледате сателитски слики, кликнете на копчето за прилагодувања и проверете дали е одбрано „Yahoo!“ Ако сè уште не ги гледате, тогаш веројатно такви слики се недостапни за вашиот град, или пак треба малку да одзумирате.\n\nНа истово копче за прилагодувања има и други избори како карти на Британија со истечени права и OpenTopoMap. Сите тие се специјално избрани бидејќи ни е дозволено да ги користиме- не копирајте ничии карти и воздушни фотографии (Законите за авторски права се за никаде.)\n\nПонекогаш сателитските слики се малку разместени од фактичката локација на патиштата. Ако наидете на ова, држете го Space и влечете ја позадината додека не се порамнат. Секогаш имајте доверба во GPS трагите, а не сателитските слики.</bodytext>\n\n<!--\n========================================================================================================================\nСтраница 4: Цртање\n\n--><page/><headline>Цртање патишта</headline>\n<bodyText>За да нацртате пат почнувајќи од празен простор на картата, само кликнете таму; потоа на секоја точка на патот. Кога сте готови, кликнете два пати или притиснете Enter - потоа кликнете на некое друго место за да го одизберете патот.\n\nЗа да нацртате пат почнувајќи од друг пат, кликнете на патот за да го изберете; неговите точки ќе станат црвени. Држете Shift и кликнете на една од нив за да започнете нов пат од таа точка. (Ако нема црвена точка на крстосницата, направете Shift-клик за да се појави кадешто сакате!)\n\nКликнете на „Зачувај“ (најдолу-десно) кога сте готови. Зачувувајте често, во случај да се јават проблеми со серверот.\n\nНе очекувајте промените веднаш да се појават на главната карта. За ова треба да поминат час-два, а во некои случаи и до една недела.\n</bodyText><column/><headline>Правење крстосници</headline>\n<bodyText>Многу е важно патиштата да имаат заедничка точка („јазол“) кадешто се среќаваат. Ова им служи на корисниците кои планираат пат за да знаат каде да свртат.\n\nPotlatch се грижи за ова доколку внимателно кликнете <i>точно</i> на патот кој го сврзувате. Гледајте ги олеснителните знаци: точките светнуваат сино, курсорот се менува, и кога сте готови, точката на крстосницата има црна контура.</bodyText>\n<headline>Поместување и бришење</headline>\n<bodyText>Ова работи баш како што се би се очекувало. За да избришете точка, одберете ја и притиснете на Delete. За да избришете цел еден пат, притиснете Shift-Delete.\n\nЗа да поместите нешто, само повлечете го. (Ќе треба да кликнете и да подржите малку пред да влечете. Со ова се избегнуваат ненамерни поместувања.)</bodyText>\n<column/><headline>Понапредно цртање</headline>\n<bodyText><img src=\"scissors\">Ако два дела од еден пат имаат различни имиња, ќе треба да ги раздвоите. Кликнете на патот; потоа кликнете во точката кадешто сакате да го раздвоите, и кликнете на ножиците. (Можете да спојувате патишта со Control, или копчето со јаболко на Мекинтош, но не спојувајте два пата со различни имиња или типови.)\n\n<img src=\"tidy\">Кружните текови се многу тешки за цртање. Но за тоа помага самиот Potlatch. Нацртајте го кругот грубо, само внимавајте да ги споите краевите (т.е. да биде круг), и кликнете на „подреди“. (Ова се користи и за исправање на патишта.)</bodyText>\n<headline>Точки од интерес (POI)</headline>\n<bodyText>Првото нешто што го научивте е како да влечете и пуштате точка од интерес. Можете и самите да правите вакви точки со двојно кликнување на картата: ќе се појави зелено кругче. Но како ќе знаеме дали се работи за ресторан, црква или нешто друго? Кликнете на „Означување“ погоре за да дознаете!\n\n<!--\n========================================================================================================================\nСтраница 4: Означување\n\n--><page/><headline>Кој вид на пат е тоа?</headline>\n<bodyText>Штом ќе нацртате пат, треба да назначите што е. Дали е главна магистрала, пешачка патека или река? Како се вика? Има ли некои посебни правила (на пр. „забрането велосипеди“)?\n\nВо OpenStreetMap ова го запишувате со „ознаки“. Ознаката има два дела, и можете да користите колку што сакате ознаки. На пример, можете да додадете i>highway | trunk</i> за да назначите дека ова е главен магистрален пат; <i>highway | residential</i> за пат во населба; or <i>highway | footway</i> за пешачка патека. If bikes were banned, you could then add <i>bicycle | no</i>. Потоа, за да го запишете името, додајте <i>name | Партизански Одреди</i>.\n\nОзнаките на Potlatch се појавуваат најдолу на екранот - кликнете на постоечка улица, и ќе видите каква ознака има. Кликете на знакот „+“ (најдолу-десно) за да додадете нова ознака. Секоја ознака има „x“ со што можете да ја избришете.\n\nМожете да означувате цели патишта; точки на патишта (можеби порта или семафори); и точки од интерес.</bodytext>\n<column/><headline>Користење на зададени ознаки</headline>\n<bodyText>За да ви помогне да започнете, Potlatch ви нуди готови, најпопуларни ознаки.\n\n<img src=\"preset_road\">Одберете го патот, па кликајте низ симболите додека не најдете соодветен. Потоа изберете ја најсоодветната можност од менито.\n\nСо ова се пополнуваат ознаките. Некои ќе останат делумно празни за да можете да впишете (на пример) име на улицата и број</bodyText>\n<headline>Еднонасочни патишта</headline>\n<bodyText>Ви препорачуваме да додадете ознака за еднонасочни улици како <i>oneway | yes</i> - но како да познаете во која насока? Најдолу-лево има стрелка која го означува правецот напатот, од почеток до крај. Кликнете на неа за да ја свртите обратно.</bodyText>\n<column/><headline>Избор на ваши сопствени ознаки</headline>\n<bodyText>Секако, не сте ограничени само на зададените ознаки. Користете го копчето „+“  за да користите какви што сакате ознаки.\n\nМожете да видите какви ознаки користат другите на <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, а имаме и долга листа на популарни ознаки на нашето вики наречена<a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Елементи</a>. Но тие се <i>само предлози, а не правила</i>. Најслободно измислувајте си свои ознаки или преземајте од други корисници.\n\nБидејќи податоците од OpenStreetMap се користат за изработување на различни карти, секоја карта прикажува свој избор од ознаки.</bodyText>\n<headline>Релации</headline>\n<bodyText>Понекогаш не се доволни само ознаки, па ќе треба да „групирате“ два или повеќе пата. Можеби вртењето од една улица во друга е забрането, или пак 20 патеки заедно сочиннуваат означена велосипедска патека. Ова се прави во напредното мени „релации“. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Дознајте повеќе</a> на викито.</bodyText>\n\n<!--\n========================================================================================================================\nСтраница 6: Отстранување неисправности\n\n--><page/><headline>Враќање грешки</headline>\n<bodyText><img src=\"undo\">Ова е копчето за враќање (може и со стискање на Z) - ова ќе го врати последното нешто кое сте го направиле.\n\nМожете да „вратите“ претходно зачувана верзија на еден пат или точка. Одберете ја, па кликнете на нејзиниот ид. бр. (бројот најдолу-лево) - или притиснете на H (за „историја“). Ќе видите листа на која се наведува кој ја уредувал и кога. Одберете ја саканата верзија, и стиснете на „Врати“.\n\nДоколку сте избришале пат по грешка и сте зачувале, притиснете U (за да вратите). Ќе се појават сите избришани патишта. Одберете го саканиот пат; отклучете го со кликнување на катанчето; и зачувајте.\n\nМислите дека некој друг корисник направил грешка? Испратете му пријателска порака. Користете ја историјата (H) за да му го изберете името, па кликнете на „Пошта“\n\nКористете го Инспекторот (во менито „Напредно“) за корисни информации за моменталниот пат или точка.\n</bodyText><column/><headline>ЧПП</headline>\n<bodyText><b>Како да ги видам моите патни точки?</b>\nПатните точки се појавуваат само ако кликнете на „уреди“ до името на трагата во „GPS траги“. Податотеката мора да има и патни точки и запис на трагата - серверот не пропушта податотеки кои имаат само патни точки.\n\nПовеќе ЧПП за <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> и <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Побрзо работење</headline>\n<bodyText>Што повеќе зумирате, тоа повеќе податоци мора да вчита Potlatch. Зумирајте пред да сиснете „Уреди“\n\nИсклучете го „Користи курсори „молив“ и „рака““ (во прозорецот за прилагодување) за да добиете максимална брзина.\n\nАко серверот работи бавно, вратете се подоцна. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Проверете го викито</a> за да проверите познати проблеми. Некои термини како недела навечер се секогаш оптоварени.\n\nКажете му на Potlatch да ги запамти вашите омилени комплети со ознаки. Одберете пат или точка со тие ознаки, па притиснете на Ctrl, Shift и на број од 1 до 9. Потоа за повторно да ги користите тие ознаки, само притиснете  Shift и тој број. (Ќе се паметат секојпат кога го користите Potlatch на овој компјутер.)\n\nПретворете ја вашата GPS трага во пат со тоа што ќе ја пронајдете на листата „GPS траги“ и ќе кликнете на „уреди“ до неа, а потоа на кутивчето „претвори“. Трагата ќе се заклучи (црвено), затоа не зачувувајте. Најпрвин уредете ја, па кликнете на катанчето (најдолу-десно) за да ја отклучите кога сте спремни да ја зачувате.</bodytext>\n\n<!--\n========================================================================================================================\nСтраница 7: Брза помош\n\n--><page/><headline>Што да кликате</headline>\n<bodyText><b>Влечете ја картата</b> за да се движите наоколу.\n<b>Двоен клик</b> за  да направите нова точка од интерес (POI).\n<b>Кликнете еднап</b> за да започнете нов пат.\n<b>Држете и влечете пат или точка од интерес (POI)</b> за да ги поместите.</bodyText>\n<headline>Кога цртате пат</headline>\n<bodyText><b>Двоен клик</b> или <b>Enter</b> за да завршите со цртање.\n<b>Кликнете</b> на друг пат за да направите крстосница.\n<b>Shift-клик на крајот на друг пат</b> за да споите.</bodyText>\n<headline>Кога ќе изберете пат</headline>\n<bodyText><b>Кликнете на точката</b> за да ја одберете.\n<b>Shift-клик на патот</b> за да вметнете нова точка.\n<b>Shift-клик на точка</b> за оттаму да започнете нов пат.\n<b>Ctrl-клик на друг пат</b> за спојување.</bodyText>\n</bodyText>\n<column/><headline>Тастатурни кратенки</headline>\n<bodyText><textformat tabstops='[25]'>B Додај позадинска изворна ознака\nC Затвори измени\nG Прикажи GPS траги\nH Прикажи историја\nI Прикажи инспектор\nJ сврзи точка за вкрстени патишта\nK Заклучи/отклучи го моментално избраното\nL Прикажи моментална географска должина\nM Зголеми уредувачки прозорец\nP Создај паралелен пат\nR Повтори ги ознаките\nS Зачувај (освен ако не е во живо)\nT Подреди во права линија/круг\nU Врати избришано (прикажи избришани патишра)\nX Пресечи пат на две\nZ Врати\n- Отстрани точка само од овој пат\n+ Додај нова ознака\n/ Избор на друг пат со истава точка\n</textformat><textformat tabstops='[50]'>Delete Избриши точка\n  (+Shift) Избриши цел пат\nEnter Заврши со цртање на линијата\nSpace Држи и влечи позадина\nEsc Откажи го ова уредување; превчитај од серверот\n0 Отстрани ги сите ознаки\n1-9 Избор на зададени ознаки\n  (+Shift) Избери запамтени ознаки\n  (+S/Ctrl) Запамти ознаки\n§ или ` Кружи помеѓу групи ознаки\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nСтрана 1: Вовед\n\n--><headline>Добредојдовте во Potlatch</headline>\n<largeText>Potlatch е уредник на OpenStreetMap кој е лесен за употреба. Цртајте патишта, знаменитости, споменици и продавници од вашите GPS податоци, сателитски слики или стари карти.\n\nОвие страници за помош ќе ве запознаат со основите на користење на Potlatch, и ќе ви покажат каде можете да дознаете повеќе. Кликнете на насловите погоре за да почнете.\n\nЗа да излезете, кликнете било каде вон прозорецов.\n\n</largeText>\n\n<column/><headline>Корисно да се знае</headline>\n<bodyText>Не копирајте од други карти!\n\nАко изберете „Уредување во живо“, сите промени кои ќе ги направите одат на базата додека ги цртате - т.е. <i>веднаш</i>. Ако не сте толку сигурни во промените, одберете „Уредување со зачувување“, и така промените ќе се појават дури кога ќе стиснете на „Зачувај“.\n\nСите направени уредувања ќе се покажат по час-два (на неколку посложени работи им треба една недела). На картата не е прикажано сè - тоа би бил голем неред. Бидејќи податоците на OpenStreetMap се отворен извор, другите корисници слободно прават карти на кои се прикажани различни аспекти - како <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap (Отворена велосипедска карта)</a> или <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nЗапомнете дека ова е <i>и</i> убава карта (затоа цртајте убави криви линии за кривините), но и дијаграм (затоа проверувајте дека патиштата се среќаваат на крстосници) .\n\nДали ви споменавме дека не смее да се копира од други карти?\n</bodyText>\n\n<column/><headline>Дознајте повеќе</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatch прирачник</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Поштенски листи</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Разговори (помош во живо)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Веб-форум</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Вики на заедницата</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Изворен код на Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nСтраница 2: како да почнете\n\n--><page/><headline>Како да почнете</headline>\n<bodyText>Сега Potlatch ви е отворен. Кликнете на „Уреди и зачувај“ за да почнете\n\nЗначи спремни сте да нацртате карта. Најлесно е да се почне со поставење на точки од интерес на картата (POI). Овие можат да бидат ресторани, цркви, железнички станици...сè што сакате.</bodytext>\n\n<column/><headline>Влечење и пуштање</headline>\n<bodyText>За да ви олесниме, ги поставивме најчестите видови на точки од интерес (POI), на дното од картата. На картата се ставаат со нивно повлекување и пуштање на саканото место. И не грижете се ако не сте го погодиле местото од прв пат: можете точките да повлекувате повторно, сè додека не ја наместите секоја точка кадешто сакате.\n\nКога сте готови со тоа, ставете му име на ресторанот (или црквата, станицата итн.) На дното ќе се појави мала табела. Една од ставките ќе биде „име“, и до него „(тука внесете име)“. Кликнете на тој текст и впишете го името.\n\nКликнете другде на картата за да го одизберете вашата точка од интерес (POI), и така ќе се врати малиот шарен правоаголник.\n\nЛесно е, нели? Кликнете на „Зачувај“ (најдолу-десно) кога сте готови.\n</bodyText><column/><headline>Движење по картата</headline>\n<bodyText>За да отидете на друг дел од картата, само повлечете празен простор. Potlatch автоматски ќе вчита нови податоци (гледајте најгоре-десно)\n\nВи рековме да „Уредите и зачувате“, но можете и да кликнете на „Уредување во живо“. Под овој режим промените одат право во базата, и затоа нема копче „Зачувај“. Ова е добро за брзи промени и <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">картографски акции</a>.</bodyText>\n\n<headline>Следни чекори</headline>\n<bodyText>Задоволни сте од досегашното? Одлично. Кликнете на „Истражување“ погоре за да дознаете како да бидете <i>вистински</i> картограф!</bodyText>\n\n<!--\n========================================================================================================================\nСтрана 3: Истражување\n\n--><page/><headline>Истражување со GPS</headline>\n<bodyText>Идејата позади OpenStreetMap  е создавање на карта без ограничувачките авторски права кои ги имаат други карти. Ова значи дека овдешните карти не можете да ги копирате од никаде: морате самите да ги истражите улиците. За среќа, ова е многу забавно!\nНајдобро е да се земе рачен GPS-уред. Пронајдете некој регион кој сè уште не е на картата. Прошетајте по улиците, или извозете ги на велосипед, држајќи го уредот вклучен. По пат запишувајте ги имињата на улиците, и сето она што ве интересира (ресторани? цркви?).\n\nКога ќе дојдете дома, вашиот GPS-уред ќе содржи т.н. „записник на траги“ (tracklog) кој има евиденција за секаде кадешто сте биле. Потоа ова можете да го подигнете на OpenStreetMap.\n\nНајдобриот вид на GPS-уред е оној што запишува често (на секоја секунда-две) и има голема меморија. Голем дел од нашите картографи користат рачни Garmin апарати, или Bluetooth-уреди. На нашето вики ќе најдете подробни <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">анализа на GPS-уреди</a></bodyText>\n\n<column/><headline>Подигање на патеката</headline>\n<bodyText>Сега ќе треба да ја префрлите трагата од GPS-уредот. Можеби уредот има свој софтвер, или пак од него поже да се копираат податотеки предку USB. Ако не може, пробајте го <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Како и да е, податотеката во секој случај треба да биде во GPX формат.\n\nПотоа одете на „GPS траги“ и подигнете ја трагата на OpenStreetMap. Но ова е само првиот чекор - трагата сè уште нема да се појави на картата. Морате самите да ги нацртате и именувате улиците, следејќи ја трагата.</bodyText>\n<headline>Користење на трагата</headline>\n<bodyText>Пронајдете ја вашата подигната трага во листата на „GPS траги“ и кликнете на „уреди“ <i>веднаш до неа</i>. Potlatch ќе започне со оваа вчитана трага, плус ако има патни точки. Сега можете да цртате!\n\n<img src=\"gps\">Можете и да кликнете на ова копче за да ви се прикажат GPS трагите на сите корисници (но не патните точки) за тековниот реон. Држете Shift за да се прикажат само вашите траги.</bodyText>\n<column/><headline>Користење на сателитски слики</headline>\n<bodyText>Не грижете се ако немате GPS-уред. Во некои градови имаме сателитски фотографии врз кои можете да цртате, добиени со поддршка од Yahoo! (благодариме!). Излезете и запишете ги имињата на улиците, па вратете се и исцртајте ги линиите врз нив.\n\n<img src='prefs'>Доколку не гледате сателитски слики, кликнете на копчето за прилагодувања и проверете дали е одбрано „Yahoo!“ Ако сè уште не ги гледате, тогаш веројатно такви слики се недостапни за вашиот град, или пак треба малку да одзумирате.\n\nНа истово копче за прилагодувања има и други избори како карти на Британија со истечени права и OpenTopoMap. Сите тие се специјално избрани бидејќи ни е дозволено да ги користиме- не копирајте ничии карти и воздушни фотографии (Законите за авторски права се за никаде.)\n\nПонекогаш сателитските слики се малку разместени од фактичката локација на патиштата. Ако наидете на ова, држете го Space и влечете ја позадината додека не се порамнат. Секогаш имајте доверба во GPS трагите, а не сателитските слики.</bodytext>\n\n<!--\n========================================================================================================================\nСтраница 4: Цртање\n\n--><page/><headline>Цртање патишта</headline>\n<bodyText>За да нацртате пат почнувајќи од празен простор на картата, само кликнете таму; потоа на секоја точка на патот. Кога сте готови, кликнете два пати или притиснете Enter - потоа кликнете на некое друго место за да го одизберете патот.\n\nЗа да нацртате пат почнувајќи од друг пат, кликнете на патот за да го изберете; неговите точки ќе станат црвени. Држете Shift и кликнете на една од нив за да започнете нов пат од таа точка. (Ако нема црвена точка на крстосницата, направете Shift-клик за да се појави кадешто сакате!)\n\nКликнете на „Зачувај“ (најдолу-десно) кога сте готови. Зачувувајте често, во случај да се јават проблеми со серверот.\n\nНе очекувајте промените веднаш да се појават на главната карта. За ова треба да поминат час-два, а во некои случаи и до една недела.\n</bodyText><column/><headline>Правење крстосници</headline>\n<bodyText>Многу е важно патиштата да имаат заедничка точка („јазол“) кадешто се среќаваат. Ова им служи на корисниците кои планираат пат за да знаат каде да свртат.\n\nPotlatch се грижи за ова доколку внимателно кликнете <i>точно</i> на патот кој го сврзувате. Гледајте ги олеснителните знаци: точките светнуваат сино, курсорот се менува, и кога сте готови, точката на крстосницата има црна контура.</bodyText>\n<headline>Поместување и бришење</headline>\n<bodyText>Ова работи баш како што се би се очекувало. За да избришете точка, одберете ја и притиснете на Delete. За да избришете цел еден пат, притиснете Shift-Delete.\n\nЗа да поместите нешто, само повлечете го. (Ќе треба да кликнете и да подржите малку пред да влечете. Со ова се избегнуваат ненамерни поместувања.)</bodyText>\n<column/><headline>Понапредно цртање</headline>\n<bodyText><img src=\"scissors\">Ако два дела од еден пат имаат различни имиња, ќе треба да ги раздвоите. Кликнете на патот; потоа кликнете во точката кадешто сакате да го раздвоите, и кликнете на ножиците. (Можете да спојувате патишта со Control, или копчето со јаболко на Мекинтош, но не спојувајте два пата со различни имиња или типови.)\n\n<img src=\"tidy\">Кружните текови се многу тешки за цртање. Но за тоа помага самиот Potlatch. Нацртајте го кругот грубо, само внимавајте да ги споите краевите (т.е. да биде круг), и кликнете на „подреди“. (Ова се користи и за исправање на патишта.)</bodyText>\n<headline>Точки од интерес (POI)</headline>\n<bodyText>Првото нешто што го научивте е како да влечете и пуштате точка од интерес. Можете и самите да правите вакви точки со двојно кликнување на картата: ќе се појави зелено кругче. Но како ќе знаеме дали се работи за ресторан, црква или нешто друго? Кликнете на „Означување“ погоре за да дознаете!\n\n<!--\n========================================================================================================================\nСтраница 4: Означување\n\n--><page/><headline>Кој вид на пат е тоа?</headline>\n<bodyText>Штом ќе нацртате пат, треба да назначите што е. Дали е главна магистрала, пешачка патека или река? Како се вика? Има ли некои посебни правила (на пр. „забрането велосипеди“)?\n\nВо OpenStreetMap ова го запишувате со „ознаки“. Ознаката има два дела, и можете да користите колку што сакате ознаки. На пример, можете да додадете i>highway | trunk</i> за да назначите дека ова е главен магистрален пат; <i>highway | residential</i> за пат во населба; or <i>highway | footway</i> за пешачка патека. If bikes were banned, you could then add <i>bicycle | no</i>. Потоа, за да го запишете името, додајте <i>name | Партизански Одреди</i>.\n\nОзнаките на Potlatch се појавуваат најдолу на екранот - кликнете на постоечка улица, и ќе видите каква ознака има. Кликете на знакот „+“ (најдолу-десно) за да додадете нова ознака. Секоја ознака има „x“ со што можете да ја избришете.\n\nМожете да означувате цели патишта; точки на патишта (можеби порта или семафори); и точки од интерес.</bodytext>\n<column/><headline>Користење на зададени ознаки</headline>\n<bodyText>За да ви помогне да започнете, Potlatch ви нуди готови, најпопуларни ознаки.\n\n<img src=\"preset_road\">Одберете го патот, па кликајте низ симболите додека не најдете соодветен. Потоа изберете ја најсоодветната можност од менито.\n\nСо ова се пополнуваат ознаките. Некои ќе останат делумно празни за да можете да впишете (на пример) име на улицата и број</bodyText>\n<headline>Еднонасочни патишта</headline>\n<bodyText>Ви препорачуваме да додадете ознака за еднонасочни улици како <i>oneway | yes</i> - но како да познаете во која насока? Најдолу-лево има стрелка која го означува правецот напатот, од почеток до крај. Кликнете на неа за да ја свртите обратно.</bodyText>\n<column/><headline>Избор на ваши сопствени ознаки</headline>\n<bodyText>Секако, не сте ограничени само на зададените ознаки. Користете го копчето „+“  за да користите какви што сакате ознаки.\n\nМожете да видите какви ознаки користат другите на <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, а имаме и долга листа на популарни ознаки на нашето вики наречена<a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Елементи</a>. Но тие се <i>само предлози, а не правила</i>. Најслободно измислувајте си свои ознаки или преземајте од други корисници.\n\nБидејќи податоците од OpenStreetMap се користат за изработување на различни карти, секоја карта прикажува свој избор од ознаки.</bodyText>\n<headline>Релации</headline>\n<bodyText>Понекогаш не се доволни само ознаки, па ќе треба да „групирате“ два или повеќе пата. Можеби вртењето од една улица во друга е забрането, или пак 20 патеки заедно сочиннуваат означена велосипедска патека. Ова се прави во напредното мени „релации“. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Дознајте повеќе</a> на викито.</bodyText>\n\n<!--\n========================================================================================================================\nСтраница 6: Отстранување неисправности\n\n--><page/><headline>Враќање грешки</headline>\n<bodyText><img src=\"undo\">Ова е копчето за враќање (може и со стискање на Z) - ова ќе го врати последното нешто кое сте го направиле.\n\nМожете да „вратите“ претходно зачувана верзија на еден пат или точка. Одберете ја, па кликнете на нејзиниот ид. бр. (бројот најдолу-лево) - или притиснете на H (за „историја“). Ќе видите листа на која се наведува кој ја уредувал и кога. Одберете ја саканата верзија, и стиснете на „Врати“.\n\nДоколку сте избришале пат по грешка и сте зачувале, притиснете U (за да вратите). Ќе се појават сите избришани патишта. Одберете го саканиот пат; отклучете го со кликнување на катанчето; и зачувајте.\n\nМислите дека некој друг корисник направил грешка? Испратете му пријателска порака. Користете ја историјата (H) за да му го изберете името, па кликнете на „Пошта“\n\nКористете го Инспекторот (во менито „Напредно“) за корисни информации за моменталниот пат или точка.\n</bodyText><column/><headline>ЧПП</headline>\n<bodyText><b>Како да ги видам моите патни точки?</b>\nПатните точки се појавуваат само ако кликнете на „уреди“ до името на трагата во „GPS траги“. Податотеката мора да има и патни точки и запис на трагата - серверот не пропушта податотеки кои имаат само патни точки.\n\nПовеќе ЧПП за <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> и <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Побрзо работење</headline>\n<bodyText>Што повеќе зумирате, тоа повеќе податоци мора да вчита Potlatch. Зумирајте пред да сиснете „Уреди“\n\nИсклучете го „Користи курсори „молив“ и „рака““ (во прозорецот за прилагодување) за да добиете максимална брзина.\n\nАко серверот работи бавно, вратете се подоцна. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Проверете го викито</a> за да проверите познати проблеми. Некои термини како недела навечер се секогаш оптоварени.\n\nКажете му на Potlatch да ги запамти вашите омилени комплети со ознаки. Одберете пат или точка со тие ознаки, па притиснете на Ctrl, Shift и на број од 1 до 9. Потоа за повторно да ги користите тие ознаки, само притиснете  Shift и тој број. (Ќе се паметат секојпат кога го користите Potlatch на овој компјутер.)\n\nПретворете ја вашата GPS трага во пат со тоа што ќе ја пронајдете на листата „GPS траги“ и ќе кликнете на „уреди“ до неа, а потоа на кутивчето „претвори“. Трагата ќе се заклучи (црвено), затоа не зачувувајте. Најпрвин уредете ја, па кликнете на катанчето (најдолу-десно) за да ја отклучите кога сте спремни да ја зачувате.</bodytext>\n\n<!--\n========================================================================================================================\nСтраница 7: Брза помош\n\n--><page/><headline>Што да кликате</headline>\n<bodyText><b>Влечете ја картата</b> за да се движите наоколу.\n<b>Двоен клик</b> за  да направите нова точка од интерес (POI).\n<b>Кликнете еднап</b> за да започнете нов пат.\n<b>Држете и влечете пат или точка од интерес (POI)</b> за да ги поместите.</bodyText>\n<headline>Кога цртате пат</headline>\n<bodyText><b>Двоен клик</b> или <b>Enter</b> за да завршите со цртање.\n<b>Кликнете</b> на друг пат за да направите крстосница.\n<b>Shift-клик на крајот на друг пат</b> за да споите.</bodyText>\n<headline>Кога ќе изберете пат</headline>\n<bodyText><b>Кликнете на точката</b> за да ја одберете.\n<b>Shift-клик на патот</b> за да вметнете нова точка.\n<b>Shift-клик на точка</b> за оттаму да започнете нов пат.\n<b>Ctrl-клик на друг пат</b> за спојување.</bodyText>\n</bodyText>\n<column/><headline>Тастатурни кратенки</headline>\n<bodyText><textformat tabstops='[25]'>B Додај позадинска изворна ознака\nC Затвори измени\nG Прикажи GPS траги\nH Прикажи историја\nI Прикажи инспектор\nJ сврзи точка за вкрстени патишта\nK Заклучи/отклучи го моментално избраното\nL Прикажи моментална географска должина\nM Зголеми уредувачки прозорец\nP Создај паралелен пат\nR Повтори ги ознаките\nS Зачувај (освен ако не е во живо)\nT Подреди во права линија/круг\nU Врати избришано (прикажи избришани патишра)\nX Пресечи пат на две\nZ Врати\n- Отстрани точка само од овој пат\n+ Додај нова ознака\n/ Избор на друг пат со истава точка\n</textformat><textformat tabstops='[50]'>Delete Избриши точка\n  (+Shift) Избриши цел пат\nEnter Заврши со цртање на линијата\nSpace Држи и влечи позадина\nEsc Откажи го ова уредување\n; превчитај од серверот\n0 Отстрани ги сите ознаки\n1-9 Избор на зададени ознаки\n  (+Shift) Избери запамтени ознаки\n  (+S/Ctrl) Запамти ознаки\n§ или ` Кружи помеѓу групи ознаки\n</textformat>\n</bodyText>"
   hint_drawmode: кликнете за да додадете точка,\nдвоен клик/Ентер\nза да ја завршите линијата
   hint_latlon: "Г.Ш. $1\nГ.Д. $2"
   hint_loading: вчитувам податоци
@@ -89,6 +90,7 @@ mk:
   hint_saving: ги зачувувам податоците
   hint_saving_loading: вчитување/зачувување податоци
   inspector: Инспектор
+  inspector_duplicate: Дупликат на
   inspector_in_ways: Со патишта
   inspector_latlon: "Г.Ш. $1\nГ.Д. $2"
   inspector_locked: Заклучено
@@ -100,6 +102,7 @@ mk:
   inspector_way_connects_to_principal: Се поврзува со $1 $2 и $3 други $4
   inspector_way_nodes: $1 јазли
   inspector_way_nodes_closed: $1 јазли (затворено)
+  loading: Вчитувам...
   login_pwd: "Лозинка:"
   login_retry: Најавата не беше распознаена. Обидете се повторно.
   login_title: Не можев да ве најавам
@@ -126,6 +129,8 @@ mk:
   option_layer_ooc_25k: "Историски британски: 1:25k"
   option_layer_ooc_7th: "Историски британски: 7-ми"
   option_layer_ooc_npe: "Историски британски: NPE"
+  option_layer_ooc_scotland: "Историски британски: Шкотска"
+  option_layer_os_streetview: "Британија: OS StreetView"
   option_layer_streets_haiti: "Хаити: имиња на улици"
   option_layer_tip: Изберете позадина
   option_limitways: Предупреди ме кога се вчитува голем број на податоци
@@ -179,13 +184,19 @@ mk:
   prompt_microblog: Испрати на $1 (преостанува $2)
   prompt_revertversion: "Врати претходна зачувана верзија:"
   prompt_savechanges: Зачувај промени
-  prompt_taggedpoints: Ð\9dекои Ñ\82оÑ\87ки Ð½Ð° Ð¾Ð±Ð¾Ñ\98 Ð¿Ð°Ñ\82 Ñ\81е Ð¾Ð·Ð½Ð°Ñ\87ени. Ð¡ÐµÐ¿Ð°Ðº Ð´Ð° бришам?
+  prompt_taggedpoints: Ð\9dекои Ñ\82оÑ\87ки Ð½Ð° Ð¾Ð²Ð¾Ñ\98 Ð¿Ð°Ñ\82 Ñ\81е Ð¾Ð·Ð½Ð°Ñ\87ени. Ð\9dавиÑ\81Ñ\82ина Ð´Ð° Ð³Ð¸ Ð¸Ð·бришам?
   prompt_track: Претворете GPS траги во патишта
   prompt_unlock: Кликнете за да отклучите
   prompt_welcome: Добредојдовте на OpenStreetMap!
   retry: Повторен обид
   revert: Врати
   save: Зачувај
+  tags_backtolist: Назад кон листата
+  tags_descriptions: Описи на „$1“
+  tags_findatag: Најди ознака
+  tags_findtag: Најди ознака
+  tags_matching: Популарни ознаки соодветни на „$1“
+  tags_typesearchterm: "Внесете збор за пребарување:"
   tip_addrelation: Додај во релација
   tip_addtag: Додај нова ознака
   tip_alert: Се појави грешка - кликнете за детали
index e53d8ecf8c413c841bdf9d4bd23201aa61098795..263c121b0ccde30c032608ea3e8ce9f31a330151 100644 (file)
@@ -131,6 +131,7 @@ nl:
   option_layer_ooc_7th: "VK historisch: 7e"
   option_layer_ooc_npe: "VK historisch: NPE"
   option_layer_ooc_scotland: "VK historisch: Schotland"
+  option_layer_os_streetview: "VK: OS StreetView"
   option_layer_streets_haiti: "Haïti: straatnamen"
   option_layer_tip: De achtergrondweergave kiezen
   option_limitways: Waarschuwen als er veel gegevens geladen moeten worden
@@ -184,7 +185,7 @@ nl:
   prompt_microblog: Op $1 plaatsen ($2 over)
   prompt_revertversion: "Teruggaan naar een oudere versie:"
   prompt_savechanges: Wijzigingen opslaan
-  prompt_taggedpoints: Sommige punten op deze weg hebben labels. Echt verwijderen?
+  prompt_taggedpoints: Sommige punten op deze weg hebben labels of relaties. Echt verwijderen?
   prompt_track: GPS-tracks naar wegen converteren
   prompt_unlock: Klik om vrij te geven
   prompt_welcome: Welkom bij OpenStreetMap!
@@ -194,6 +195,7 @@ nl:
   tags_backtolist: Terug naar de lijst
   tags_descriptions: Beschrijvingen van "$1"
   tags_findatag: Label zoeken
+  tags_findtag: Label zoeken
   tags_matching: Populaire labels voor "$1"
   tags_typesearchterm: "Zoeken naar:"
   tip_addrelation: Voeg toe aan een relatie
index 1184fcc1b09dcfb1f33487f080779f07319c9230..50afb5a68fc75f1255d91a4c6ecd010f450b0f64 100644 (file)
@@ -1,7 +1,9 @@
 # Messages for Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Hansfn
 # Author: Laaknor
+# Author: Nghtwlkr
 "no": 
   a_poi: $1 et POI
   a_way: $1 en linje
   action_pointtags: sette merker på et punkt
   action_poitags: sette merker på et POI (interessant punkt)
   action_reverseway: snur en linje bak fram
+  action_revertway: endrer retning på en vei
   action_splitway: dele en linje
   action_waytags: sette merker på en linje
   advanced: Avansert
   advanced_close: Lukk endringssett
   advanced_history: Linjens historie
+  advanced_inspector: Inspektør
   advanced_maximise: Maksimer vindu
   advanced_minimise: Minimer vindu
+  advanced_parallel: Parallell vei
   advanced_tooltip: Avanserte redigeringshandlinger
   advanced_undelete: Ikke slett
+  advice_bendy: For bøyd til å rette ut (SHIFT for å tvinge)
+  advice_conflict: Tjenerkonflikt - du må kanskje prøve å lagre igjen
   advice_deletingpoi: Sletter POI (Z for å angre)
   advice_deletingway: Sletter vei (Z for å angre)
+  advice_microblogged: Oppdaterte din $1 status
   advice_nocommonpoint: Linjene deler ikke et felles punkt
+  advice_revertingpoi: Tilbakestiller til sist lagrede POI (Z for å angre) \
+  advice_revertingway: Tilbakestiller til sist lagrede vei (Z for å angre) \
   advice_tagconflict: Ulike merker, vennligst sjekk (Z for å angre)
   advice_toolong: For lang til å låse opp, linjen må deles i flere biter
   advice_uploadempty: Ingenting å laste opp
   advice_uploadsuccess: Alle data ble lastet opp
   advice_waydragged: Linje flyttet (Z for å angre)
   cancel: Avbryt
+  closechangeset: Lukker endringssett
   conflict_download: Last ned deres versjon
   conflict_overwrite: Overskriv deres versjon
+  conflict_poichanged: Etter at du startet redigeringen har noen andre endret punkt $1$2.
+  conflict_relchanged: Etter at du startet redigeringen har noen andre endret relasjonen $1$2.
   conflict_visitpoi: Klikk 'OK' for å visepunkt.
   conflict_visitway: Klikk 'Ok' for å vise linjen.
   conflict_waychanged: Etter at du startet å redigere har noen andre endret $1$2.
   createrelation: Lag en ny relasjon
+  custom: "Egendefinert:"
   delete: Slett
   deleting: sletter
+  drag_pois: Dra og slipp interessepunkt
   editinglive: Redigerer live
   editingoffline: Redigering frakobla
   emailauthor: \n\nVennligst send en epost (på engelsk) til richard\@systemeD.net med en feilrapport, og forklar hva du gjorde når det skjedde.
   error_anonymous: Du kan ikke kontakte en anonym kartbruker.
   error_connectionfailed: "Beklager - forbindelsen til OpenStreetMap-tjeneren feilet, eventuelle nye endringer har ikke blitt lagret.\n\nVil du prøve på nytt?"
+  error_microblog_long: "Posting til $1 feilet:\nHTTP-kode: $2\nFeilmelding: $3\n$1-feil: $4"
   error_nopoi: Fant ikke POI-et, så det er ikke mulig å angre. (Kanskje den ikke er på skjermen lenger?)
   error_nosharedpoint: Linjene $1 og $2 deler ikke noe punkt lenger, så det er ikke mulig å angre.
   error_noway: Fant ikke linjen $1 så det er ikke mulig å angre. (Kanskje den ikke er på skjermen lenger?)
@@ -62,6 +78,7 @@
   heading_introduction: Introduksjon
   heading_pois: Komme igang
   heading_quickref: Rask referanse
+  heading_surveying: Kartlegging
   heading_tagging: Merking
   heading_troubleshooting: Feilsøking
   help: Hjelp
   hint_pointselected: punkt valgt\n(shift+trykk punktet for å\nstarte en ny linje)
   hint_saving: lagrer data
   hint_saving_loading: laster/lagrer data
+  inspector: Inspektør
+  inspector_duplicate: Duplikat av
+  inspector_in_ways: På måter
   inspector_latlon: "Bre $1\nLen $2\n\\"
   inspector_locked: Låst
   inspector_node_count: ($1 ganger)
+  inspector_not_in_any_ways: Ikke på noen måter (POI)
   inspector_unsaved: Ulagret
   inspector_uploading: (laster opp)
+  inspector_way_connects_to: Kobler til $1 veier
+  inspector_way_connects_to_principal: Kobler til $1 $2 og $3 andre $4
   inspector_way_nodes: $1 noder
+  inspector_way_nodes_closed: $1 noder (lukket)
+  loading: Laster...
   login_pwd: "Passord:"
+  login_retry: Ditt logginn ble ikke gjenkjent. Vennligst prøv igjen.
   login_title: Kunne ikke logge inn
   login_uid: "Brukernavn:"
   mail: Post
   "no": Nei
   nobackground: Ingen bakgrunn
   norelations: Ingen relasjoner i området på skjermen
+  offset_broadcanal: Bred tauningssti langs kanal
+  offset_choose: Endre forskyving (m)
   offset_motorway: Motorvei (D3)
+  offset_narrowcanal: Smal tauningssti langs kanal
   ok: Ok
   openchangeset: Åpner endringssett
   option_custompointers: Bruk penn- og håndpekere
+  option_external: "Starte eksternt:"
   option_fadebackground: Fjern bakgrunn
   option_layer_cycle_map: OSM - sykkelkart
   option_layer_maplint: OSM - Maplint (feil)
   option_layer_nearmap: "Australia: NearMap"
   option_layer_ooc_25k: "Historiske UK kart: 1:25k"
+  option_layer_ooc_7th: "UK historisk: 7de"
+  option_layer_ooc_npe: "UK historisk: NPE"
+  option_layer_ooc_scotland: "UK historisk: Skottland"
+  option_layer_streets_haiti: "Haiti: gatenavn"
   option_layer_tip: Velg bakgrunnen som skal vises
+  option_limitways: Advar når mye data lastes
   option_microblog_id: "Mikroblogg brukernavn:"
   option_microblog_pwd: "Mikroblog passord:"
   option_noname: Uthev veier uten navn
   option_photo: "Bilde KML:"
   option_thinareas: Bruk tynnere linjer for områder
   option_thinlines: Bruk tynne linjer uansett forstørrelse
+  option_tiger: Marker uendret TIGER
   option_warnings: Vis flytende advarsler
   point: Punkt
   preset_icon_airport: Flyplass
   preset_icon_bus_stop: Busstopp
   preset_icon_cafe: Kafé
   preset_icon_cinema: Kino
+  preset_icon_convenience: Nærbutikk
+  preset_icon_disaster: Bygning i Haiti
   preset_icon_fast_food: Fastfood
   preset_icon_ferry_terminal: Ferge
   preset_icon_fire_station: Brannstasjon
   preset_icon_police: Politistasjon
   preset_icon_post_box: Postboks
   preset_icon_pub: Pub
+  preset_icon_recycling: Resirkulering
   preset_icon_restaurant: Restaurant
   preset_icon_school: Skole
   preset_icon_station: Jernbanestasjon
   preset_icon_supermarket: Supermarked
+  preset_icon_taxi: Drosjeholdeplass
   preset_icon_telephone: Telefon
   preset_icon_theatre: Teater
+  preset_tip: Velg fra en meny med forhåndsdefinerte merkelapper som beskriver $1
   prompt_addtorelation: Legg $1 til en relasjon
   prompt_changesetcomment: "Legg inn en beskrivelse av dine endringer:"
   prompt_closechangeset: Lukk endringssett $1
   prompt_helpavailable: Ny bruker? Se nederst til venstre for hjelp.
   prompt_launch: Kjør ekstern URL
   prompt_live: I direkte-modus kommer alle endringer du gjør til å bli lagret på OpenStreetMaps database med en gang - det er ikke anbefalt for nybegynnere. Er du sikker?
+  prompt_manyways: Dette området er svært detaljert og vil ta lang tid å laste. Vil du zoome inn?
+  prompt_microblog: Post til $1 ($2 igjen)
   prompt_revertversion: "Tilbakestill til tidligere lagret versjon:"
   prompt_savechanges: Lagre endringer
-  prompt_taggedpoints: Noen av punktene på denne linjen har merker. Vil du virkelig slette?
+  prompt_taggedpoints: Noen av punktene på denne veien har merker eller er med i relasjoner. Vil du virkelig slette?
   prompt_track: Overfør dine GPS-sporinger til (låste) linjer for redigering.
+  prompt_unlock: Klikk for å låse opp
   prompt_welcome: Velkommen til OpenStreetMap!
   retry: Prøv igjen
+  revert: Tilbakestill
   save: Lagre
+  tags_backtolist: Tilbake til liste
+  tags_descriptions: Beskrivelser av '$1'
+  tags_findatag: Finn et merke
+  tags_findtag: Finn merkelapp
+  tags_matching: Populære merker som passer '$1̈́'
+  tags_typesearchterm: "Skriv inn et ord å lete etter:"
   tip_addrelation: Legg til i en relasjon
   tip_addtag: Legg til merke
   tip_alert: Det oppstod en feil, trykk for detaljer
   tip_revertversion: Velg versjonen det skal tilbakestilles til
   tip_selectrelation: Legg til den valgte ruta
   tip_splitway: Del linje i valgt punkt (X)
+  tip_tidy: Rydd opp punkter i vei (T)
   tip_undo: Angre $1 (Z)
   uploading: Laster opp ...
   uploading_deleting_pois: Sletter POI-er
   uploading_deleting_ways: Sletter veier
+  uploading_poi: Laster opp POI $1
   uploading_poi_name: Laster opp POI $1, $2
   uploading_relation: Laster opp relasjon $1
   uploading_relation_name: Laster opp relasjon $1, $2
   uploading_way_name: Laster opp vei $1, $2
   warning: Advarsel!
   way: Linje
+  "yes": Ja
diff --git a/config/potlatch/locales/pms.yml b/config/potlatch/locales/pms.yml
new file mode 100644 (file)
index 0000000..6c84319
--- /dev/null
@@ -0,0 +1,6 @@
+# Messages for Piedmontese (Piemontèis)
+# Exported from translatewiki.net
+# Export driver: syck
+# Author: Borichèt
+pms: 
+  help_html: "<languages />\n<!--\n\n========================================================================================================================\nPàgina 1: Antrodussion\n\n--><headline>Bin ëvnù a Potlatch</headline>\n<largeText>Potlatch a l'é l'editor ch'a l'é belfé dovresse për OpenStreetMap. A disegna stra, përcors, confin e a ampòrta da sò GPS arserche, imàgin da satélit o veje carte.\n\nSte pàgine d'agiut-sì a lo compagnëran për le fonsion ëd base ëd Potlatch, e a-j diran andoa trové pi d'anformassion. Ch'a sgnaca an sj'antestassion sì-sota për ancaminé.\n\nQuand ch'a l'ha finì, ch'a sgnaca mach an qualsëssìa àutr pòst an sla pàgina.\n\n</largeText>\n\n<column/><headline>Element ùtij da savèj</headline>\n<bodyText>Ch'a còpia pa da dj'àutre carte!\n\nS'a sern 'Modifiché an direta', qualsëssìa cangiament ch'a farà a andrà ant la base ëd dàit man a man ch'a-j fa - visadì, <i>dun-a</i>. S'as sent pa sigur, ch'a serna 'Modifiché con salvatagi', e a andran andrinta mach quand ch'a sgnacrà 'Salvé'.\n\nQualsëssìa modìfica ch'a fa ëd sòlit a sarà mostrà an sla carta apress n'ora o doe (chèiche modìfiche a peulo pijé na sman-a). Pa tut a l'é mostrà an sla carta - a smijrìa tròp ancasinà. Ma dagià che ij dat d'OpenStreetMap a son a sorgiss lìbera, d'àutre përson-e a son lìbere ëd fé ëd carte ch'a mostro d'aspet diferent - com <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> o <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nCh'as visa che a l'é <i>sia</i> na bela carta (parèj ch'a disegna le curve për da bin) sia un diagrama (parèj ch'as sigura che le stra as ancontro a le crosiere).\n\nI l'oma parlà ëd copié nen da d'àutre carte?\n</bodyText>\n\n<column/><headline>Treuva pi anformassion</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Manual Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Lista ëd pòsta</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Ciaciarada an linia (agiut dal viv)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">piassa ëd discussion an sla Ragnà</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Comunità wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Còdes sorgiss ëd Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nPàgina 2: për ancaminé\n\n--><page/><headline>Për ancaminé</headline>\n<bodyText>Adess ch'a l'ha Potlatch duvert, ch'a sgnaca 'Modifiché con salvatagi' për ancaminé.\n\nParèj a l'é pront a disegné na carta. La manera pi bel fé për ancaminé a l'é ëd buté chèich pont d'anteresse an sla carta - o \"POI\". Costi-sì a peulo esse piòle, gesie, stassion feroviarie ... tut lòn ch'a veul.</bodytext>\n\n<column/><headline>Tiré e lassé andé</headline>\n<bodyText>Për fela motobin bel fé, a s-ciairërà na selession dij POI pi comun, pròpi sota soa carta. Për butene un an sla carta a basta tirelo da lì fin ant ël pòst giust an sla carta. E ch'as sagrin-a pa s'a lo buta nen ant ël pòst giust al prim colp: a peul tirelo fin ch'a l'é giust. Ch'a nòta che ël POI a l'é evidensià an giàun për fé vëdde ch'a l'é selessionà.\n\nNa vira ch'a l'ha fàit lòn, a vorërà deje un nòm a soa piòla (o gesia, o stassion). A vëdrà che na cita tabela a l'é comparìa sota. Un-a dj'intrade a dirà \"nòm\" seguì da \"(nòm ëd la sòrt ambelessì)\". Ch'a lo fasa - ch'a sgnaca col test, e ch'a anserissa ël nòm.\n\nCh'a sgnaca da n'àutra part an sla carta për desselessioné sò POI, e ël cit panel ëd tùit ij color a comparirà torna.\n\nBel fé, neh? Ch'a sgnaca 'Salva' (boton a drita) quand ch'a l'ha fàit.\n</bodyText><column/><headline>Tramudesse</headline>\n<bodyText>Për tramudesse a n'àutra part ëd la carta, ch'a la tira mach an na zòna veuida. Potlatch a cariërà an automàtich ij dat neuv (ch'a varda an àut an sla drita).\n\nI l'avìo dije \"seurte sensa salvé', ma a peule ëdcò sgnaché 'Modifiché an linia'. S'a fa sòn, soe modìfiche a andran ant la base ëd dàit diretament, parèj a-i é pa ël boton 'Salvé'. Sòn a va bin për modìfiche leste e <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">ciambree ëd cartografìa</a>.</bodyText>\n\n<headline>Pass apress</headline>\n<bodyText>Content ëd tut sòn? Bòn. Ch'a sgnaca 'Rilevament' sì-dzora për savèj com vnì un <i>ver</i> cartògraf!</bodyText>\n\n<!--\n========================================================================================================================\nPàgina 3: Rilevament\n\n--><page/><headline>Rilevament con un GPS</headline>\n<bodyText>L'ideja daré OpenStreetMap a l'é 'd fé na carta sensa ij drit ëd còpia restritiv ëd j'àutre carte. Sòn a veul dì ch'a peule pa copié da gnun-e part: a deuv andé e rilevé le stra chiel-midem. Për boneur, a l'é amusant! La manera pi belfé ëd fé sòn a l'é con un dispositiv GPS portàbil. Ch'a treuva na zòna ch'a l'é pa ancor cartografà, peui ch'a marcia o ch'a vada an biciclëtta për le stra con sò GPS anvisch. Ch'a pija nòta dij nòm ëd le stra, e ëd qualsëssìa àutra ròba anteressanta (piòle? gesie?), man man ch'a va.\n\nQuand ch'a va a ca, sò GPS a contnirà na registrassion ëd le marche ëd tùit ij pòst andoa a l'é stàit. A peul antlora carié sossì su OpenStreetMap.\n\nLa sòrt ëd GPS pi bon a l'é col ch'a registra la marca soens (minca second o doi) e ch'a l'ha na gran memòria. Un mucc dij nòsti cartògraf a deuvro Garmin portàtij o cite unità Bluetooth. A-i son dle <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">recension detajà ëd GPS</a> dzora nòsta wiki.</bodyText>\n\n<column/><headline>Carié soa marcadura</headline>\n<bodyText>Adess, a deuv pijé soe marcadure da sò GPS. A peul esse che sò GPS a l'abia chèich programa, o a peul esse ch'a-j lassa copié j'archivi via USB. Dësnò, ch'a preuva <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. An tùit ij cas, l'archivi a deuv esse an formà GPX.\n\nPeui, ch'a deuvra l'etichëtta 'Marche GPS' për carié soa marcadura su OpenStreetMap. Ma sòn a l'é mach la prima part - a aparirà pa ancó an sla carta. A deuv disegné e deje un nòm a le stra chiel-midem, an dovrand la marcadura com guida.</bodyText>\n<headline>Dovré toa trassadura</headline>\n<bodyText>Ch'a treuva soa marcadura ant la lista dle 'Marche GPS', e ch'a sgnaca 'modifiché' <i>pròpi lì da banda</i>. Potlatch a partirà con sta marca carià, pi tùit j'àutri pont. A l'é pront për disegné!\n\n<img src=\"gps\">A peul ëdcò sgnaché sto boton-sì për vëdde le marcadure GPS ëd tuti (ma pa ij pont dël përcors) per la zòna corenta. Ch'agnaca Majùscole për vëdde mach soe marcadure.</bodyText>\n<column/><headline>Dovré fòto da satélit</headline>\n<bodyText>S'a l'ha pa un GPS, ch'as sagrin-a pa. An chèiche sità, i l'oma ëd fòto da satélit andoa a peul marché ansima, gentilment dàite da Yahoo! (mersì!). Ch'a seurta e ch'a pija nòta dij nòm ëd le stra, peui ch'a torna andré e ch'a-j dissegna.\n\n<img src='prefs'>S'a s-ciàira nen la galarìa da satélit, ch'a sgnaca ël boton ëd j'opsion e ch'as sigura che 'Yahoo!' a sia selessionà. S'a-j vëd anco' pa, a podrìa esse nen disponìbil për soa sità, o ch'a deva torné andré un pòch con l'agrandiment.\n\nSu sto midem boton ëd j'opsion a trovrà chèich àutre sèrnie com na carta sensa drit ëd còpia dël Regn Unì, e OpenTopMap për jë Stat Unì. Coste a son tute selessionà përchè i podoma dovreje - ch'a còpia pa da gnun-e àutre carte o fòto aéree. (La lej dij drit d'autor a fa s-giaj.)\n\nDle vire le figure da satélit a son un pòch ëspostà da doa le stra a son. S'a treuva sòn, ch'a sgnaca lë Spassi e ch'a tira lë sfond fin ch'a l'é alineà. Le marcadure GPS a son sempe pi sicure che le fòto da satélit.</bodytext>\n\n<!--\n========================================================================================================================\nPàgina 4: Disegné\n\n--><page/><headline>Disegné dij përcors</headline>\n<bodyText>Për disegné na stra (o 'përcors') partend da në spassi bianch an sla carta, ch'a sgnaca mach ambelessì; peui su minca pont an sla stra. Quand ch'a l'ha finì, ch'a sgnaca doe vire o ch'a sgnaca su A cap - peui ch'a sgnaca da n'àutra part për desselessioné la stra.\n\nPër disegné na stra an partend da n'àutra stra, ch'a sgnaca an sla stra për selessionela; ij sò pontin a compariran an ross. Ch'a ten-a sgnacà Majùscole e ch'a sgnaca un dij pontin për fé parte na neuva stra da col pont. (S'a-i é gnun pontin ross a la crosiera, ch'a ten-a sgnacà Majùscule e cha selession-a andoa a na veul un!)\n\nSgnaché 'Salvé' (an bass a drita) quand ch'a l'ha finì. Ch'a salva soens, dle vire ël servent a l'èissa dij problema.\n\nCh'a së speta pa che soe modìfiche a sio mostrà dlongh an sla carta prinsipal. Normalment a-i va n'ora o doe, dle vire fin a na sman-a.\n</bodyText><column/><headline>Fé dle crosiere</headline>\n<bodyText>A l'é pròpi amportant, quand che doe stra a s'ancrosio, che a condivido un pontin (o 'neu'). Ij pianificator d'itinerari a deuvro sòn për savèj andoa giré.\n\nPotlatch a soagna sòn, fin che a fa atension a sgnaché <i>pròpe</i> an sla stra ch'a l'é an camin ch'a ancrosia. Ch'a varda ij segn d'agiut: le crosiere a ven-o bleuve, ël pontador a cangia, e quand ch'a l'ha fàit, la crosiera a l'ha na sotliniadura nèira.</bodyText>\n<headline>Tramudé e scancelé</headline>\n<bodyText>Sòn a travaja pròpi com un a së speta. Për scancelé na crosiera, ch'a la selession-a e ch'a sgnaca Scancelé. Për scancelé na stra antrega, ch'a sgnaca Majùscole-Scancelé.\n\nPër sposté cheicòs, ch'a lo tira mach. (A dovrà gnaché e tnì sgnacà për un pòch antramentre che a tira na stra, parèj a lo farà pa për eror.)</bodyText>\n<column/><headline>Disegn pi avansà</headline>\n<bodyText><img src=\"scissors\">Se doe part ëd na stra a l'han dij nòm diferent, a dovrà dividla. Ch'a sgnaca an sla stra; peui ch'a sgnaca a la mira andoa a dovrìa esse dividùa, e ch'a sgnaca le tisòire. (A peul fonde le stra an sgnacand con Contròl, o ël tast Apple dzora al Mac, ma ch'a fonda pa doe stra con nòm o sòrt diferent.)\n\n<img src=\"tidy\">Le rotonde a son pròpi malfé disegné giuste. Ch'as sagrin-a pa - Potlatch a peul giutelo. Ch'a disegna mach ël riond, ch'as sicura che as sara su chiel midem a la fin, peui ch'a sgnaca sta plancia-sì për \"polidelo\". (A peul ëdcò dovré son për drissé le stra.)</bodyText>\n<headline>Leu d'anteresse</headline>\n<bodyText>La prima còsa ch'a l'ha amparà a l'é com tiré-e-tramudé un leu d'anteresse. A peul ëdcò creene un sgnacand doe vire an sla carta: a-i ven në riond verd. Ma com a sa s'a l'é na piòla, na gesia o d'àutr? Ch'a sgnaca 'Etichëtté', sì-sota, për savèjlo!\n\n<!--\n========================================================================================================================\nPàgina 4: Etichëtté\n\n--><page/><headline>Che sòrt dë stra é-lo?</headline>\n<bodyText>Na vira ch'a l'has disegnà na stra, a dovrìa dì lòn ch'a l'é. A l'é na stra prinsipal, un senté o un rì? Col ch'a l'é sò nòm? J'é-lo dle régole speciaj (per esempi \"gnun-e bici\")?\n\nAn OpenStreetMap, a memorise sòn an dovrand 'etichëtte'. N'etichëtta a l'ha doe part, e a peule avèjne vàire ch'a veul. Për esempi, a peul gionté <i>strà | camionàbil</i> për dì ch'a l'é na stra prinsipal; <i>stra | residensial</i> për na stra an quartié residensial; o <i>stra | senté</i> për un senté. Se le bici a son vietà, a peul ëdcò gionté <i> bici | nò</i>. Peui për memorisé sò nòm, ch'a gionta <i>name | Stra dël mërcà</i>.\n\nJ'etichëtte an Potlatch as vëddo al fond ëd lë scren - ch'a sgnaca na stra esistenta, e a vëddrà che etichëtta ch'a l'ha. Ch'a sgnaca ël segn '+' (sota a drita) për gionté n'etichëtta neuva. Ël 'x' su minca etichëtta a la scancela.\n\nA peul etichëtté la strà antrega; pont an sla stra (a peulo esse na pòrta o un semàfor); e pont d'anteresse.</bodytext>\n<column/><headline>Dovré etichëtte preampostà</headline>\n<bodyText>Për ancaminé, Potlatch a l'ha dj'ampostassion già pronte contenente j'etichëtte pi popolar.\n\n<img src=\"preset_road\">Ch'a selession-a na stra, peui ch'a sgnaca an sij sìmboj fin a che a na treuva un adat. Peui, ch'a serna l'opsion pi aproprià da la lista.\n\nSòn a ampinirà j'etichëtte. Cheidun-e a saran lassà bianche parsialment parèj a podrà anserì andrinta (për esempi) ël nòm ëd la stra e ël nùmer.</bodyText>\n<headline>Stra a sens ùnich</headline>\n<bodyText>A peul vorèj gionté n'etichëtta com <i>stra a sens ùnich | é!</i> - ma com a dis la diression? A-i é na flecia an bass a snista ch'a mosta la diression ëd la stra, da l'inissi a la fin. Ch'a la sgnaca për virela.</bodyText>\n<column/><headline>Serne le tichëtte pròprie</headline>\n<bodyText>Ëd sigura a l'é pa limità mach ai preampostà. An dovrand ël boton '+', a peul dovré tute j'etichëtte.\n\nA peul vardé che etichëtte j'àutre përson-e a deuvro su <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, e a-i é na longa lista d'etichëtte popolar su nòsta wiki ciamà <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Caraterìstiche dle carte</a>. Ma costi a son <i>mach ëd sugeriment, pa ëd régole</i>. A l'é lìber d'anventé soe etichëtte o ëd pijeje da j'àutri.\n\nDagià che ij dat d'OpenStreetMap a son dovrà për fé tante carte diferente, minca carta a mostrërà (o 'rendrà') soa sèrnia d'etichëtte.</bodyText>\n<headline>Relassion</headline>\n<bodyText>Chèiche vire j'etichëtte a son pa basta, e a deuv 'fonde' doe o pi stra. A peul esse ch'as peussa pa giré da na stra a n'àutra, o che 20 ëstra ansema a faso na stra marcà për le bici. A peul fé son con na possibilità avansà ciamà 'relassion'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Për savèjne ëd pi</a> an sla wiki.</bodyText>\n\n<!--\n========================================================================================================================\nPàgina 6: Solussion dij problema\n\n--><page/><headline>Scancelé j'eror</headline>\n<bodyText><img src=\"undo\">Cost-sì a l'é ël boton d'anulament (a peul ëdcò sgnaché Z) - a anulerà l'ùltima còsa ch'a l'ha fàit.\n\nA peul 'torné' a l'ùltima version salvà ëd na stra o d'un leu. Ch'a la selession-a, peui ch'a sgnaca sò ID (ël nùmer an bass a snista) - o ch'a sgnaca H (për stòria), a vëddrà na lista ëd tut lòn ch'a l'ha modificà, e quand. Ch'a serna cola andoa torné, e ch'a sgnaca buté andaré.\n\nS'a l'ha për asar scancelà na stra e salvà, ch'a sgnaca U (për 'disdëscancelé'). Tute le stra scancelà a saran mostrà. Ch'a serna cola ch'a veul; ch'a la dësblòca an sgnacand ël tast ross; e ch'a salva com al sòlit.\n\nPens-lo che cheidun d'àutri a l'abia fàit n'eror? Ch'a-j manda un mëssagi an pòsta eletrònica. Ch'a deuvra l'opsion dë stòria (H) për selessioné sò nòm, peui ch'a sgnaca 'Pòsta'.\n\nCh'a deuvra l'Ispetor (ant ël menu 'Avansà') për anformassion ùtij an sla stra o leu corent.\n</bodyText><column/><headline>FAQ</headline>\n<bodyText><b> Com i vëddo ij mé pont?</b>\nIt pont as mostro mach s'a sgnaca 'modifiché' an sël nòm dla marcadura an 'Marcadure GPS'. L'archivi a deuv avèj sia pontin che registr dla marcadura andrinta - ël servent a arfuda tut lòn con mach ij pontin.\n\nPi FAQ për <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> e <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Travajé pi an pressa</headline>\n<bodyText>Pi a l'ha angrandì, pi dat Potlatch a deuv carié. Ch'a arduva prima dë sgnaché 'Modifiché'.\n\nCh'a gava 'Dovré piuma e pontador a man' (ant la fnestra dj'opsion) për n'andi pi àut.\n\nS'ël servent a gira pian, Ch'a torna andré. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Ch'a contròla la wiki</a> për problema conossù. Chèiche vire, com la Dumìnica 'd sèira, a son sempe carià.\n\nCh'a-j disa a Potlatch ëd memorisé ij sò ansema favorì d'etichëtte. Ch'a selession-a na stra o pont con cole etichëtte, peui ch'a sgnaca Ctrl, majùscole e un nùmer da 1 a 9. Peui, për apliché torna st'etichëtte-lì, ch'a sgnaca mach Majùscole e col nùmer. (A saran arcordà minca vira a deuvra Potlatch ansima a cost ordinator).\n\nCh'a converta soa marcadura GPS ant na stra trovandla ant la lista ëd 'Marcadure GPS', sgnacand 'Modìfiché' lì-da banda, peui selessionand la casela 'convertì'. A sarà blocà (ross) parèj a sarà pa salvà. Ch'a la modìfica prima, peui ch'a sgnaca ël tast ross për dësbloché quand a l'é pront a salvé.</bodytext>\n\n<!--\n========================================================================================================================\nPàgina 7: Arferiment lest\n\n--><page/><headline>Cò sgnaché</headline>\n<bodyText><b>Tiré la carta</b> për spostesse.\n<b>Sgnaché doe vire</b> për creé un POI neuv.\n<b>Sgnaché na vira</b> për ancaminé na stra neuva.\n<b>Sgnaché e tiré na stra o un POI</b> për tramudelo.</bodyText>\n<headline>Quand as disegna na stra</headline>\n<bodyText><b>Sgnaché doe vire</b> o <b>sgnaché Intra</b> për finì ëd disegné.\n<b>Sgnaché</b> n'àutra manera ëd fé na crosiera.\n<b>Majùscole-sgnaché la fin ëd n'àutra stra</b> për mës-cé.</bodyText>\n<headline>Quand na stra a l'é selessionà</headline>\n<bodyText><b>Sgnaché un pontin</b> për selessionelo.\n<b>Majùscole-sgnaché an sla stra</b> për anserì un pontin neuv.\n<b>Majùscole-sgnaché un pontin</b> për ancaminé na stra neuva da lì.\n<b>Contròl-sgnaché n'àutra stra</b> për mës-cé.</bodyText>\n</bodyText>\n<column/><headline>Scurse da tastadura.</headline>\n<bodyText><textformat tabstops='[25]'>B Gionté <u></u> n'etichëtta sorgiss ëd lë sfond\nC Saré\nG Smon-e le marcadure <u>G</u>PS\nH Smon-e la stòria\nI Mostré l'<u>i</u>spetor\nJ <u></u>Gionté dij pontin a dle stra ch'a s'ancrosio\nK <u></u>Bloché/dësbloché la selession corenta\nL Mostré <u>l</u>atitùdin/longitùdin corente\nM <u>M</u>assimisé la fnestra ëd modìfica\nP Creé na stra <u>p</u>aralela\nR a<u>R</u>pete j'etichëtte\nS <u>S</u>alvé (sensa modifiché dal viv)\nT Rangé an na linia/un sercc\nU <u></u>Torné andré (smon-e le stra scancelà)\nX Tajé na stra an doi\nZ Torné andré\n- Gavé ij pontin mach da sta stra-sì\n+ Gionté n'etichëtta neuva\n/ Selessioné n'àutra stra ch'a condivid sto pontin-sì\n</textformat><textformat tabstops='[50]'>Scancelé Scancelé pontin\n  (+Majùscole) Scancela na stra antrega\nA cap Finì ëd disegné na linia\nSpassi Pijé e tiré lë sfond\nEsc Fé pa sta modìfica-sì\n; carié torna dal servent\n0 Gavé tute j'etichëtte\n1-9 Selessioné j'etichëtte preampostà\n  (+Majùscole) Selessioné j'etichëtte memorisà\n  (+S/Ctrl) Memorisé j'etichëtte\n§ o ' Sicl tra le partìe dj'etichëtte\n</textformat>\n</bodyText>"
index 044b7fc1132ef0aab71429e84248377daf9527b1..974e0e2dac9265c4a79c9e1a69c2e61799b55a4b 100644 (file)
@@ -83,7 +83,7 @@ pt-BR:
   heading_tagging: Marcação
   heading_troubleshooting: Resolução de problemas
   help: Ajuda
-  help_html: "<!--\n\n========================================================================================================================\nPágina 1: Introdução\n\n--><headline>Bem-vindo ao Potlatch</headline>\n<largeText>Potlatch é o editor simples de usar do OpenStreetMap. Desenhe ruas, caminhos, pontos turísticos e lojas através de seu conhecimento local, trilhas GPS, imagem de satélite ou mapas antigos.\n\nEssas páginas de ajuda iram lhe mostrar o básico da utilização do Potlatch, e vão lhe indicar onde conseguir mais. Clique nos títulos acima para começar.\n\nQuando você estiver satisfeito, simplesmente clique em qualquer outro lugar da página.\n\n</largeText>\n\n<column/><headline>É importante saber</headline>\n<bodyText>Não copie de outros mapas!\n\nSe você escolher 'Editar ao vivo', quaisquer mudanças que você fizer irão para o banco de dados assim que você as desenhar - quer dizer, <i>imediatamente</i>. Se você não estiver tão confiante, escolha 'Editar e Salvar', assim as mudanças só serão transferidas quando você pressionar 'Salvar'.\n\nQuaisquer edições que você fizer geralmente aparecem no mapa depois de uma ou duas horas (algumas coisas levam uma semana). Nem tudo é mostrado no mapa - se não ia ficar muito bagunçado. Devido aos dados do OpenStreetMap serem open source, outras pessoas estão livres para criar mapas mostrando diferentes aspectos - como <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> ou <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nLembre-se de que é um mapa bonito (então desenhe curvas bonitas) <i>e</i> um diagrama (então tenha certeza de que as ruas se cruzam nos cruzamentos).\n\nNós mencionamos alguma coisa sobre não copiar de outros mapas?\n</bodyText>\n\n<column/><headline>Descubra mais</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Manual do Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Listas de email</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat online (ajuda ao vivo)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Fórum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Código fonte do Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nPágina 2: começando\n\n--><page/><headline>Começando</headline>\n<bodyText>Agora que você abriu o Potlatch, clique em 'Editar e Salvar' para começar.\n\nEntão você estar pronto para desenhar o mapa. O jeito mais fácil de começar e botando alguns pontos de interesse no mapa - ou \"POIs\" (do inglês Points of Interest). Podem ser bares, igrejas, estações de trem... o que você quiser.</bodytext>\n\n<column/><headline>Arrastar</headline>\n<bodyText>Para ficar super fácil, você verá uma seleção dos pontos de interesse mais comuns, logo abaixo do mapa. Para adicionar um, basta arrastar para o lugar correto no mapa. Não se preocupe se você não acertar a posição de primeira: você pode arrastar o ponto no mapa até acertar. Note que o ponto é destacado em amarelo para você saber que ele está selecionado.\n\nAgora que você fez isso, você irá querer dar um nome para o seu bar (ou igreja, ou estação). Você verá que uma pequena tabela apareceu embaixo do mapa. Uma das entradas será \"name\" seguido de \"(type name here)\" (digite aqui). Faça isso - clique no texto, e digite o nome.\n\nClique em qualquer outro lugar do mapa para desselecionar seu ponto de interesse, e o painel colorido retorna.\n\nFácil, né? Clique em 'Salvar' (canto inferior direito) quando você tiver terminado.\n</bodyText><column/><headline>Andando por aí</headline>\n<bodyText>Para mover para uma parte do mapa diferente, é só arrastar uma área vazia. O Potlatch irá automaticamente carregar os novos dados (observe o canto superior direito).\n\nNós recomendamos você a usar o modo \"Editar e Salvar\", mas você também pode escolher o \"Editar ao vivo\". Se você o fizer, suas mudanças irão para o banco de dados direto, então não há botão de 'Salvar'. Isso é bom para mudanças rápidas e <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping parties</a>.</bodyText>\n\n<headline>Próximos passos</headline>\n<bodyText>Achou legal? Ótimo. Clique em 'Explorando' (acima) para descobrir como se tornar um mapeador <i>de verdade</i>!</bodyText>\n\n<!--\n========================================================================================================================\nPágina 3: Explorando\n\n--><page/><headline>Explorando com um GPS</headline>\n<bodyText>A ideia por trás do OpenStreetMap é criar um mapa sem o copyright restritivo de outros mapas. Isso quer dizer que você não pode copiar de qualquer outro lugar: você deve ir nas ruas e explorá-las você mesmo. E isso é bem divertido!\nA melhor maneira de fazer isso é com um GPS portátil. Encontre uma área que ainda não foi mapeada e ande ou pedale pelas ruas com o seu GPS ligado. Anote os nomes das ruas, e tudo que for interessante (bares? igrejas?) pelo caminho.\n\nQuando você chegar em casa, seu GPS terá uma trilha gravada, com as ruas em que você passou. Você pode subir este arquivo para o OpenStreetMap.\n\nO melhor tipo de GPS é um que grave o tracklog frequentemente (a cada um ou dois segundos) e tenha bastante memória. Muitos de nossos mapeadores usam GPS Garmin ou bluetooth. Eles estão detalhados no nosso wiki em <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a>.</bodyText>\n\n<column/><headline>Subindo sua trilha</headline>\n<bodyText>Agora, você precisa extrair a trilha do seu GPS. Talvez o seu GPS tenha vindo com algum programa, ou talvez ele permita copiar os arquivos via USB. Se não, você pode tentar usar o <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. De qualquer maneira, você quer um arquivo no formato GPX.\n\nEntão, use a aba 'Trilhas GPS' acima para carregar sua trilha para o OpenStreetMap. Mas este é só o primeiro passo - ele não irá aparecer no mapa ainda. Você deve desenhar e nomear as ruas, usando a trilha como guia.</bodyText>\n<headline>Usando sua trilha</headline>\n<bodyText>Encontre sua trilha carregada na lista de 'Trilhas GPS' e clique no botão 'editar' <i>ao lado dela</i>. O Potlatch irá abrir com essa trilha carregada e quaisquer pontos marcados. Você está pronto para desenhar!\n\n<img src=\"gps\"><div class=\"mw-translate-fuzzy\">\nVocê também pode clicar neste botão para mostrar as trilhas GPS de todos para a área atual. Segure SHIFT para mostrar só as suas trilhas.\n</div></bodyText>\n<column/><headline>Usando fotos de satélite</headline>\n<bodyText>Se você não tiver um GPS, não se preocupe. Em algumas cidades, nós temos fotos de satélite nas quais é possível traçar sobre, gentilmente fornecidas pelo Yahoo! (valeu!). Dê uma volta e anote o nome das ruas, então volte e trace as linhas.\n\n<img src='prefs'>Se você não conseguir ver a imagem de satélite, clique no botão Opções e tenha certeza de que 'Yahoo!' está selecionado. Se você ainda não conseguir ver, provavelmente não está disponível para a sua cidade, ou talvez você precise diminuir um pouco o zoom.\n\nNesta mesma tela de opções você encontrará outras opções como mapas antigos do Reino Unido, e o OpenTopoMap para os Estados Unidos. Eles estão especialmente selecionados porque a sua utilização é permitida - não copie de nenhum outro mapa ou foto de satélite. (É, a lei do Copyright é uma droga.)\n\nÀs vezes as fotos de satélite estão um pouco desalinhadas de onde as ruas realmente são. Se for o caso, segure Espaço e arraste o fundo até que as linhas batam com as trilhas GPS. Sempre confie mais nas trilhas GPS do que nas fotos de satélite.</bodytext>\n\n<!--\n========================================================================================================================\nPágina 4: Desenhando\n\n--><page/><headline>Desenhando vias</headline>\n<bodyText>Para desenhar uma rua (ou 'via') começando num espaço em branco no mapa, simplesmente clique ali; então clique em cada ponto em que a rua faz curva ou cruza com outra. Quando você tiver terminado, dê um duplo-clique ou pressione Enter - então clique em algum lugar vazio para desselecionar a rua.\n\nPara desenhar uma via começando de outra via, clique na rua para selecioná-la; seus pontos irão aparecer em vermelho. Segure Shift e clique em um deles para começar uma nova via naquele ponto. (Se não há um ponto vermelho na junção, dê um shift-clique onde você quiser um!)\n\nClique em 'Salvar' (canto inferior direito) quando você tiver terminado. Salve com frequência, caso o servidor tenha problemas.\n\nNão espere que suas mudanças apareçam instantaneamente no mapa principal. Geralmente leva uma ou duas horas, às vezes leva uma semana.\n</bodyText><column/><headline>Criando junções</headline>\n<bodyText>É muito importante que, quando duas ruas se juntam, elas compartilhem um ponto (ou 'nó'). Planejadores de rotas usam isso para saber onde virar.\n\nO Potlatch toma conta disso desde que você clique <i>exatamente</i> na via que está juntando. Observe os sinais: os pontos aparecem em azul, o cursor do mouse muda, e quando você terminar, o ponto de junção terá um contorno preto.</bodyText>\n<headline>Movendo e apagando</headline>\n<bodyText>Funciona exatamente como você esperaria. Para apagar um ponto, selecione-o e pressione Delete. Para apagar toda uma via, pressione Shift-Delete.\n\nPara mover algo, simplesmente arraste. (Você terá que clicar e segurar um pouco antes de arrastar, de forma a evitar que você o faça por acidente.)</bodyText>\n<column/><headline>Desenho avançado</headline>\n<bodyText><img src=\"scissors\"><div class=\"mw-translate-fuzzy\">\nSe duas partes de uma via tiverem nomes diferentes, você terá que separá-los. Clique na via; então clique no ponto onde a via deveria separar e clique no ícone da tesoura. (Você pode mesclar vias com Shift-clique, mas não combine duas ruas de diferentes nomes ou tipos, pois você terá de consertar manualmente.)\n</div>\n\n<img src=\"tidy\">Rotatórias são realmente difíceis de desenhar direito. Não se preocupe - o Potlatch pode ajudar. Simplesmente desenhe o círculo de forma bruta (um triângulo está OK), tendo certeza de que ele fecha no primeiro ponto, então clique neste ícone para 'arrumar'. (Você também pode usar isto para endireitar ruas.)</bodyText>\n<headline>Pontos de interesse</headline>\n<bodyText>A primeira coisa que você aprendeu foi como arrastar um ponto de interesse. Você também pode criar um dando um duplo-clique no mapa: um círculo verde aparece. Mas como dizer que ele é um bar, uma igreja ou o quê? Clique em 'Etiquetar' acima para descobrir!\n\n<!--\n========================================================================================================================\nPágina 4: Etiquetando\n\n--><page/><headline>Que tipo de rua?</headline>\n<bodyText>Quando você tiver desenhado uma via, você deve dizer o que ela é. É uma auto-estrada, uma rua de pedestres ou um rio? Qual é o nome? Há alguma regra especial (por exemplo, \"proibido bicicleta\")?\n\nNo OpenStreetMap, você grava isso usando 'etiquetas' ('tags'). Uma etiqueta tem duas partes, e você pode ter quantas quiser. Por exemplo, você poderia adicionar <i>highway | trunk</i> para dizer que é uma auto-estrada; <i>highway | residential</i> para uma rua residencial; ou <i>highway | footway</i> para uma calçada. Se bicicletas forem proibidas, você pode adicionar <i>bicycle | no</i>. Para gravar o nome, adicione <i>name | Rua do Mercado</i>.\n\nAs etiquetas no Potlatch aparecem na parte de baixo da tela - clique numa rua que já exista, e você verá que tags ela tem. Clique no ícone '+' (canto inferior direito) para adicionar uma nova tag. O botão 'x' em cada tag a exclui.\n\nVocê pode etiquetar vias inteiras; pontos nas vias (talvez um portão ou sinal de trânsito); e pontos de interesse.</bodytext>\n<column/><headline>Etiquetas pré-definidas</headline>\n<bodyText>Para começar, o Potlatch tem pré-definições prontas contendo as tags mais populares.\n\n<img src=\"preset_road\">Selecione uma via, então clique nos símbolos até que você encontre o mais apropriado. Então, clique na opção mais apropriada no menu.\n\nIsso irá preencher as tags. Algumas não são preenchidas para que você possa digitar (por exemplo) o nome da estrada e o seu número.</bodyText>\n<headline>Ruas de mão-única</headline>\n<bodyText>Você pode adicionar a tag <i>oneway | yes</i> - mas como dizer a direção? Há uma seta no canto inferior esquerdo que mostra a direção da via, do começo para o fim. Clique nela para inverter a direção.</bodyText>\n<column/><headline>Suas próprias etiquetas</headline>\n<bodyText>É claro, você não está restrito às pré-definições. Usando o botão '+', você pode digitar uma tag qualquer.\n\nVocê pode ver as etiquetas que outras pessoas usam no <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, e há uma longa lista de etiquetas populares no wiki chamada <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. Mas elas são <i>apenas sugestões, não regras</i>. Você é livre para inventar suas etiquetas ou copiar de outras pessoas.\n\nComo os dados do OpenStreetMap são usados para fazer diferentes mapas, cada mapa irá mostrar (ou 'renderizar') seu próprio conjunto de etiquetas.</bodyText>\n<headline>Relacionamentos</headline>\n<bodyText>Às vezes as etiquetas não são suficiente, e você precisa 'agrupar' duas ou mais vias. Seja uma conversão à direita que é proibida, ou 20 vias que juntas formam uma linha de ônibus. Você pode fazer isso com uma opção avançada chamada 'relacionamento'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Veja mais no wiki</a>.</bodyText>\n\n<!--\n========================================================================================================================\nPage 6: Troubleshooting\n\n--><page/><headline>Desfazendo erros</headline>\n<bodyText><img src=\"undo\">Este é o botão de desfazer (você também pode pressionar Z) - ele irá desfazer a última coisa que você fez.\n\nVocê pode 'reverter' para uma versão previamente salva de uma via ou ponto. Selecione-a, clique no seu ID (o número no canto inferior esquerdo) - ou pressione H (de 'histórico'). Você verá uma lista de todos que a editaram, e quando. Escolha a que você deseja voltar, e clique em Reverter.\n\n<div class=\"mw-translate-fuzzy\">\nSe você acidentalmente apagou uma via e salvou, pressione U (de 'undelete', 'desapagar'). Todas as vias apagadas serão mostradas. Escolha a que você, destrave-a clicando no cadeado (pelo ID); e salve como usual.\n</div>\n\nThink someone else has made a mistake? Send them a friendly message. Use the history option (H) to select their name, then click 'Mail'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\n</bodyText><column/><headline>FAQs</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Working faster</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Check the wiki</a> for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nPage 7: Quick reference\n\n--><page/><headline>What to click</headline>\n<bodyText><b>Drag the map</b> to move around.\n<b>Double-click</b> to create a new POI.\n<b>Single-click</b> to start a new way.\n<b>Hold and drag a way or POI</b> to move it.</bodyText>\n<headline>When drawing a way</headline>\n<bodyText><b>Double-click</b> or <b>press Enter</b> to finish drawing.\n<b>Click</b> another way to make a junction.\n<b>Shift-click the end of another way</b> to merge.</bodyText>\n<headline>When a way is selected</headline>\n<bodyText><b>Click a point</b> to select it.\n<b>Shift-click in the way</b> to insert a new point.\n<b>Shift-click a point</b> to start a new way from there.\n<b>Control-click another way</b> to merge.</bodyText>\n</bodyText>\n<column/><headline>Keyboard shortcuts</headline>\n<bodyText><textformat tabstops='[25]'>B Add <u>b</u>ackground source tag\nC Close <u>c</u>hangeset\nG Show <u>G</u>PS tracks\nH Show <u>h</u>istory\nI Show <u>i</u>nspector\nJ <u>J</u>oin point to crossing ways\nK Loc<u>k</u>/unlock current selection\nL Show current <u>l</u>atitude/longitude\nM <u>M</u>aximise editing window\nP Create <u>p</u>arallel way\nR <u>R</u>epeat tags\nS <u>S</u>ave (unless editing live)\nT <u>T</u>idy into straight line/circle\nU <u>U</u>ndelete (show deleted ways)\nX Cut way in two\nZ Undo\n- Remove point from this way only\n+ Add new tag\n/ Select another way sharing this point\n</textformat><textformat tabstops='[50]'>Delete Delete point\n  (+Shift) Delete entire way\nReturn Finish drawing line\nSpace Hold and drag background\nEsc Abort this edit; reload from server\n0 Remove all tags\n1-9 Select preset tags\n  (+Shift) Select memorised tags\n  (+S/Ctrl) Memorise tags\n§ or ` Cycle between tag groups\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nPágina 1: Introdução\n\n--><headline>Bem-vindo ao Potlatch</headline>\n<largeText>Potlatch é o editor simples de usar do OpenStreetMap. Desenhe ruas, caminhos, pontos turísticos e lojas através de seu conhecimento local, trilhas GPS, imagem de satélite ou mapas antigos.\n\nEssas páginas de ajuda iram lhe mostrar o básico da utilização do Potlatch, e vão lhe indicar onde conseguir mais. Clique nos títulos acima para começar.\n\nQuando você estiver satisfeito, simplesmente clique em qualquer outro lugar da página.\n\n</largeText>\n\n<column/><headline>É importante saber</headline>\n<bodyText>Não copie de outros mapas!\n\nSe você escolher 'Editar ao vivo', quaisquer mudanças que você fizer irão para o banco de dados assim que você as desenhar - quer dizer, <i>imediatamente</i>. Se você não estiver tão confiante, escolha 'Editar e Salvar', assim as mudanças só serão transferidas quando você pressionar 'Salvar'.\n\nQuaisquer edições que você fizer geralmente aparecem no mapa depois de uma ou duas horas (algumas coisas levam uma semana). Nem tudo é mostrado no mapa - se não ia ficar muito bagunçado. Devido aos dados do OpenStreetMap serem open source, outras pessoas estão livres para criar mapas mostrando diferentes aspectos - como <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> ou <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nLembre-se de que é um mapa bonito (então desenhe curvas bonitas) <i>e</i> um diagrama (então tenha certeza de que as ruas se cruzam nos cruzamentos).\n\nNós mencionamos alguma coisa sobre não copiar de outros mapas?\n</bodyText>\n\n<column/><headline>Descubra mais</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Manual do Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Listas de email</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat online (ajuda ao vivo)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Fórum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Código fonte do Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nPágina 2: começando\n\n--><page/><headline>Começando</headline>\n<bodyText>Agora que você abriu o Potlatch, clique em 'Editar e Salvar' para começar.\n\nEntão você estar pronto para desenhar o mapa. O jeito mais fácil de começar e botando alguns pontos de interesse no mapa - ou \"POIs\" (do inglês Points of Interest). Podem ser bares, igrejas, estações de trem... o que você quiser.</bodytext>\n\n<column/><headline>Arrastar</headline>\n<bodyText>Para ficar super fácil, você verá uma seleção dos pontos de interesse mais comuns, logo abaixo do mapa. Para adicionar um, basta arrastar para o lugar correto no mapa. Não se preocupe se você não acertar a posição de primeira: você pode arrastar o ponto no mapa até acertar. Note que o ponto é destacado em amarelo para você saber que ele está selecionado.\n\nAgora que você fez isso, você irá querer dar um nome para o seu bar (ou igreja, ou estação). Você verá que uma pequena tabela apareceu embaixo do mapa. Uma das entradas será \"name\" seguido de \"(type name here)\" (digite aqui). Faça isso - clique no texto, e digite o nome.\n\nClique em qualquer outro lugar do mapa para desselecionar seu ponto de interesse, e o painel colorido retorna.\n\nFácil, né? Clique em 'Salvar' (canto inferior direito) quando você tiver terminado.\n</bodyText><column/><headline>Andando por aí</headline>\n<bodyText>Para mover para uma parte do mapa diferente, é só arrastar uma área vazia. O Potlatch irá automaticamente carregar os novos dados (observe o canto superior direito).\n\nNós recomendamos você a usar o modo \"Editar e Salvar\", mas você também pode escolher o \"Editar ao vivo\". Se você o fizer, suas mudanças irão para o banco de dados direto, então não há botão de 'Salvar'. Isso é bom para mudanças rápidas e <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapping parties</a>.</bodyText>\n\n<headline>Próximos passos</headline>\n<bodyText>Achou legal? Ótimo. Clique em 'Explorando' (acima) para descobrir como se tornar um mapeador <i>de verdade</i>!</bodyText>\n\n<!--\n========================================================================================================================\nPágina 3: Explorando\n\n--><page/><headline>Explorando com um GPS</headline>\n<bodyText>A ideia por trás do OpenStreetMap é criar um mapa sem o copyright restritivo de outros mapas. Isso quer dizer que você não pode copiar de qualquer outro lugar: você deve ir nas ruas e explorá-las você mesmo. E isso é bem divertido!\nA melhor maneira de fazer isso é com um GPS portátil. Encontre uma área que ainda não foi mapeada e ande ou pedale pelas ruas com o seu GPS ligado. Anote os nomes das ruas, e tudo que for interessante (bares? igrejas?) pelo caminho.\n\nQuando você chegar em casa, seu GPS terá uma trilha gravada, com as ruas em que você passou. Você pode subir este arquivo para o OpenStreetMap.\n\nO melhor tipo de GPS é um que grave o tracklog frequentemente (a cada um ou dois segundos) e tenha bastante memória. Muitos de nossos mapeadores usam GPS Garmin ou bluetooth. Eles estão detalhados no nosso wiki em <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Reviews</a>.</bodyText>\n\n<column/><headline>Subindo sua trilha</headline>\n<bodyText>Agora, você precisa extrair a trilha do seu GPS. Talvez o seu GPS tenha vindo com algum programa, ou talvez ele permita copiar os arquivos via USB. Se não, você pode tentar usar o <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. De qualquer maneira, você quer um arquivo no formato GPX.\n\nEntão, use a aba 'Trilhas GPS' acima para carregar sua trilha para o OpenStreetMap. Mas este é só o primeiro passo - ele não irá aparecer no mapa ainda. Você deve desenhar e nomear as ruas, usando a trilha como guia.</bodyText>\n<headline>Usando sua trilha</headline>\n<bodyText>Encontre sua trilha carregada na lista de 'Trilhas GPS' e clique no botão 'editar' <i>ao lado dela</i>. O Potlatch irá abrir com essa trilha carregada e quaisquer pontos marcados. Você está pronto para desenhar!\n\n<img src=\"gps\">Você também pode clicar neste botão para mostrar as trilhas GPS de todos para a área atual. Segure Shift para mostrar só as suas trilhas.</bodyText>\n<column/><headline>Usando fotos de satélite</headline>\n<bodyText>Se você não tiver um GPS, não se preocupe. Em algumas cidades, nós temos fotos de satélite nas quais é possível traçar sobre, gentilmente fornecidas pelo Yahoo! (valeu!). Dê uma volta e anote o nome das ruas, então volte e trace as linhas.\n\n<img src='prefs'>Se você não conseguir ver a imagem de satélite, clique no botão Opções e tenha certeza de que 'Yahoo!' está selecionado. Se você ainda não conseguir ver, provavelmente não está disponível para a sua cidade, ou talvez você precise diminuir um pouco o zoom.\n\nNesta mesma tela de opções você encontrará outras opções como mapas antigos do Reino Unido, e o OpenTopoMap para os Estados Unidos. Eles estão especialmente selecionados porque a sua utilização é permitida - não copie de nenhum outro mapa ou foto de satélite. (É, a lei do Copyright é uma droga.)\n\nÀs vezes as fotos de satélite estão um pouco desalinhadas de onde as ruas realmente são. Se for o caso, segure Espaço e arraste o fundo até que as linhas batam com as trilhas GPS. Sempre confie mais nas trilhas GPS do que nas fotos de satélite.</bodytext>\n\n<!--\n========================================================================================================================\nPágina 4: Desenhando\n\n--><page/><headline>Desenhando vias</headline>\n<bodyText>Para desenhar uma rua (ou 'via') começando num espaço em branco no mapa, simplesmente clique ali; então clique em cada ponto em que a rua faz curva ou cruza com outra. Quando você tiver terminado, dê um duplo-clique ou pressione Enter - então clique em algum lugar vazio para desselecionar a rua.\n\nPara desenhar uma via começando de outra via, clique na rua para selecioná-la; seus pontos irão aparecer em vermelho. Segure Shift e clique em um deles para começar uma nova via naquele ponto. (Se não há um ponto vermelho na junção, dê um shift-clique onde você quiser um!)\n\nClique em 'Salvar' (canto inferior direito) quando você tiver terminado. Salve com frequência, caso o servidor tenha problemas.\n\nNão espere que suas mudanças apareçam instantaneamente no mapa principal. Geralmente leva uma ou duas horas, às vezes leva uma semana.\n</bodyText><column/><headline>Criando junções</headline>\n<bodyText>É muito importante que, quando duas ruas se juntam, elas compartilhem um ponto (ou 'nó'). Planejadores de rotas usam isso para saber onde virar.\n\nO Potlatch toma conta disso desde que você clique <i>exatamente</i> na via que está juntando. Observe os sinais: os pontos aparecem em azul, o cursor do mouse muda, e quando você terminar, o ponto de junção terá um contorno preto.</bodyText>\n<headline>Movendo e apagando</headline>\n<bodyText>Funciona exatamente como você esperaria. Para apagar um ponto, selecione-o e pressione Delete. Para apagar toda uma via, pressione Shift-Delete.\n\nPara mover algo, simplesmente arraste. (Você terá que clicar e segurar um pouco antes de arrastar, de forma a evitar que você o faça por acidente.)</bodyText>\n<column/><headline>Desenho avançado</headline>\n<bodyText><img src=\"scissors\">Se duas partes de uma via tiverem nomes diferentes, você terá que separá-los. Clique na via; então clique no ponto onde a via deveria separar e clique no ícone da tesoura. (Você pode mesclar as vias com Ctrl, ou a tecla Apple em um Mac, mas não combine duas ruas de diferentes nomes ou tipos.)\n\n<img src=\"tidy\">Rotatórias são realmente difíceis de desenhar direito. Não se preocupe - o Potlatch pode ajudar. Simplesmente desenhe o círculo de forma bruta (um triângulo está OK), tendo certeza de que ele fecha no primeiro ponto, então clique neste ícone para 'arrumar'. (Você também pode usar isto para endireitar ruas.)</bodyText>\n<headline>Pontos de interesse</headline>\n<bodyText>A primeira coisa que você aprendeu foi como arrastar um ponto de interesse. Você também pode criar um dando um duplo-clique no mapa: um círculo verde aparece. Mas como dizer que ele é um bar, uma igreja ou o quê? Clique em 'Etiquetar' acima para descobrir!\n\n<!--\n========================================================================================================================\nPágina 4: Etiquetando\n\n--><page/><headline>Que tipo de rua?</headline>\n<bodyText>Quando você tiver desenhado uma via, você deve dizer o que ela é. É uma auto-estrada, uma rua de pedestres ou um rio? Qual é o nome? Há alguma regra especial (por exemplo, \"proibido bicicleta\")?\n\nNo OpenStreetMap, você grava isso usando 'etiquetas' ('tags'). Uma etiqueta tem duas partes, e você pode ter quantas quiser. Por exemplo, você poderia adicionar <i>highway | trunk</i> para dizer que é uma auto-estrada; <i>highway | residential</i> para uma rua residencial; ou <i>highway | footway</i> para uma calçada. Se bicicletas forem proibidas, você pode adicionar <i>bicycle | no</i>. Para gravar o nome, adicione <i>name | Rua do Mercado</i>.\n\nAs etiquetas no Potlatch aparecem na parte de baixo da tela - clique numa rua que já exista, e você verá que tags ela tem. Clique no ícone '+' (canto inferior direito) para adicionar uma nova tag. O botão 'x' em cada tag a exclui.\n\nVocê pode etiquetar vias inteiras; pontos nas vias (talvez um portão ou sinal de trânsito); e pontos de interesse.</bodytext>\n<column/><headline>Etiquetas pré-definidas</headline>\n<bodyText>Para começar, o Potlatch tem pré-definições prontas contendo as tags mais populares.\n\n<img src=\"preset_road\">Selecione uma via, então clique nos símbolos até que você encontre o mais apropriado. Então, clique na opção mais apropriada no menu.\n\nIsso irá preencher as tags. Algumas não são preenchidas para que você possa digitar (por exemplo) o nome da estrada e o seu número.</bodyText>\n<headline>Ruas de mão-única</headline>\n<bodyText>Você pode adicionar a tag <i>oneway | yes</i> - mas como dizer a direção? Há uma seta no canto inferior esquerdo que mostra a direção da via, do começo para o fim. Clique nela para inverter a direção.</bodyText>\n<column/><headline>Suas próprias etiquetas</headline>\n<bodyText>É claro, você não está restrito às pré-definições. Usando o botão '+', você pode digitar uma tag qualquer.\n\nVocê pode ver as etiquetas que outras pessoas usam no <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, e há uma longa lista de etiquetas populares no wiki chamada <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. Mas elas são <i>apenas sugestões, não regras</i>. Você é livre para inventar suas etiquetas ou copiar de outras pessoas.\n\nComo os dados do OpenStreetMap são usados para fazer diferentes mapas, cada mapa irá mostrar (ou 'renderizar') seu próprio conjunto de etiquetas.</bodyText>\n<headline>Relacionamentos</headline>\n<bodyText>Às vezes as etiquetas não são suficiente, e você precisa 'agrupar' duas ou mais vias. Seja uma conversão à direita que é proibida, ou 20 vias que juntas formam uma linha de ônibus. Você pode fazer isso com uma opção avançada chamada 'relacionamento'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Veja mais no wiki</a>.</bodyText>\n\n<!--\n========================================================================================================================\nPágina 6: Resolução de Problemas\n\n--><page/><headline>Desfazendo erros</headline>\n<bodyText><img src=\"undo\">Este é o botão de desfazer (você também pode pressionar Z) - ele irá desfazer a última coisa que você fez.\n\nVocê pode 'reverter' para uma versão previamente salva de uma via ou ponto. Selecione-a, clique no seu ID (o número no canto inferior esquerdo) - ou pressione H (de 'histórico'). Você verá uma lista de todos que a editaram, e quando. Escolha a que você deseja voltar, e clique em Reverter.\n\n<div class=\"mw-translate-fuzzy\">\nSe você acidentalmente apagou uma via e salvou, pressione U (de 'undelete', 'desapagar'). Todas as vias apagadas serão mostradas. Escolha a que você, destrave-a clicando no cadeado (pelo ID); e salve como usual.\n</div>\n\nAcha que alguém cometeu um engano? Envie uma mensagem amigável para ele. Use a opção Histórico (H), selecione o nome, e clique em 'Correio'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\n</bodyText><column/><headline>FAQ</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Trabalhando mais rápido</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Check the wiki</a> for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nPage 7: Quick reference\n\n--><page/><headline>What to click</headline>\n<bodyText><b>Drag the map</b> to move around.\n<b>Double-click</b> to create a new POI.\n<b>Single-click</b> to start a new way.\n<b>Hold and drag a way or POI</b> to move it.</bodyText>\n<headline>When drawing a way</headline>\n<bodyText><b>Double-click</b> or <b>press Enter</b> to finish drawing.\n<b>Click</b> another way to make a junction.\n<b>Shift-click the end of another way</b> to merge.</bodyText>\n<headline>When a way is selected</headline>\n<bodyText><b>Click a point</b> to select it.\n<b>Shift-click in the way</b> to insert a new point.\n<b>Shift-click a point</b> to start a new way from there.\n<b>Control-click another way</b> to merge.</bodyText>\n</bodyText>\n<column/><headline>Keyboard shortcuts</headline>\n<bodyText><textformat tabstops='[25]'>B Add <u>b</u>ackground source tag\nC Close <u>c</u>hangeset\nG Show <u>G</u>PS tracks\nH Show <u>h</u>istory\nI Show <u>i</u>nspector\nJ <u>J</u>oin point to what's below ways\n  (+Shift) Unjoin from other ways\nK Loc<u>k</u>/unlock current selection\nL Show current <u>l</u>atitude/longitude\nM <u>M</u>aximise editing window\nP Create <u>p</u>arallel way\nR <u>R</u>epeat tags\nS <u>S</u>ave (unless editing live)\nT <u>T</u>idy into straight line/circle\nU <u>U</u>ndelete (show deleted ways)\nX Cut way in two\nZ Undo\n- Remove point from this way only\n+ Add new tag\n/ Select another way sharing this point\n</textformat><textformat tabstops='[50]'>Delete Delete point\n  (+Shift) Delete entire way\nReturn Finish drawing line\nSpace Hold and drag background\nEsc Abort this edit; reload from server\n0 Remove all tags\n1-9 Select preset tags\n  (+Shift) Select memorised tags\n  (+S/Ctrl) Memorise tags\n§ or ` Cycle between tag groups</textformat>\n</bodyText>"
   hint_drawmode: Clique para adicionar um ponto\nDuplo clique/Enter\npara finalizar a linha
   hint_latlon: "lat $1\nlon $2"
   hint_loading: Carregando caminhos
@@ -141,6 +141,7 @@ pt-BR:
   option_layer_ooc_7th: "UK histórico: 7th"
   option_layer_ooc_npe: "UK histórico: NPE"
   option_layer_ooc_scotland: "UK histórico: Escócia"
+  option_layer_os_streetview: "UK: OS StreetView"
   option_layer_osmarender: OSM - Osmarender
   option_layer_streets_haiti: "Haiti: nomes de ruas"
   option_layer_tip: Escolha o fundo a mostrar
@@ -196,7 +197,7 @@ pt-BR:
   prompt_microblog: Enviando para $1 ($2 restantes)
   prompt_revertversion: "Reverter para versão anterior:"
   prompt_savechanges: Salvar mudanças
-  prompt_taggedpoints: Alguns dos pontos nesse caminho possuem tags (rótulos). Deseja realmente apagá-los?
+  prompt_taggedpoints: Alguns pontos tem etiquetas ou pertencem a uma relação. Quer realmente apagá-los?
   prompt_track: Converta a sua trilha GPS para caminhos (trancados) a serem editados.
   prompt_unlock: Clique para desbloquear
   prompt_welcome: Bem-vindo ao OpenStreetMap!
@@ -206,6 +207,7 @@ pt-BR:
   tags_backtolist: Voltar à lista
   tags_descriptions: Descrições de '$1'
   tags_findatag: Encontrar uma etiqueta
+  tags_findtag: Etiquetas
   tags_matching: Etiquetas populares que coincidem com '$1'
   tags_typesearchterm: "Digite uma palavra para buscar:"
   tip_addrelation: Adicionar a uma relação
index 0963958fcd29827df69b89e24ff8a3d634974def..971475342323b77fbdb77b39a7247b3b60d2eac3 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Romanian (Română)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: McDutchie
 ro: 
   action_createpoi: creare punct de interes (POI)
   action_movepoi: Miscă POI
index 787f3162f6161480cbd0712c2d2d189fb330bfbd..f041f125b7d0307240b9b35c3313bb3c514e11d0 100644 (file)
@@ -139,6 +139,7 @@ ru:
   option_layer_ooc_7th: "UK historic: 7th"
   option_layer_ooc_npe: "UK historic: NPE"
   option_layer_ooc_scotland: "UK historic: Scotland"
+  option_layer_os_streetview: "UK: OS StreetView"
   option_layer_osmarender: OSM - Osmarender
   option_layer_streets_haiti: "Гаити: названия улиц"
   option_layer_tip: Выберите фон
@@ -194,7 +195,7 @@ ru:
   prompt_microblog: Отправить в $1 (осталось $2)
   prompt_revertversion: "Вернуться к ранее сохранённой версии:"
   prompt_savechanges: Сохранение изменений
-  prompt_taggedpoints: Некоторые точки данной линии содержат теги. Действительно удалить?
+  prompt_taggedpoints: Некоторые точки данной линии содержат теги или входят в отношения. Действительно удалить?
   prompt_track: Преобразовать GPS-трек в линии
   prompt_unlock: Нажмите, чтобы разблокировать
   prompt_welcome: Добро пожаловать в OpenStreetMap!
@@ -204,6 +205,7 @@ ru:
   tags_backtolist: Вернуться к списку
   tags_descriptions: Описание «$1»
   tags_findatag: Найти тег
+  tags_findtag: Найти тег
   tags_matching: Популярные теги, соответствующие «$1»
   tags_typesearchterm: "Введите слово для поиска:"
   tip_addrelation: Добавить отношение
index 61d5de4a8b6f8482a1c2861907473b8e72be3899..5e14f24b9a495da8dae3c8a0bfe7872f9ed5c678 100644 (file)
@@ -33,6 +33,7 @@ sk:
   advanced_tooltip: Pokročilá úprava
   advanced_undelete: Obnoviť
   advice_bendy: Príliš krivá pre narovnanie (SHIFT pre vynútenie)
+  advice_conflict: Konflikt servera - možno budete musieť skúsiť uložiť znovu
   advice_deletingpoi: Mazanie POI (Z pre obnovenie)
   advice_deletingway: Vymazávanie cesty (Z pre krok späť)
   advice_nocommonpoint: Cesty neobsahujú spoločný bod
@@ -46,9 +47,11 @@ sk:
   advice_waydragged: Posunutá cesta (Z pre krok späť)
   cancel: Zrušiť
   closechangeset: Zatvorenie zmenového súboru
+  conflict_download: Stiahnite si svoju verziu
   conflict_overwrite: Prepísať ich verziu
   conflict_poichanged: Počas vašej editácie, niekto iný zmenil bod $1$2.
   conflict_relchanged: Počas vašej editácie, niekto iný zmenil reláciu $1$2.
+  conflict_visitpoi: Kliknite na 'OK' pre zobrazenie bodu.
   conflict_visitway: Kliknutie 'Ok' ukáže cestu.
   conflict_waychanged: Počas vašej úpravy, niekto iný zmenil cestu $1$2.
   createrelation: Vytvoriť novú reláciu
@@ -76,6 +79,7 @@ sk:
   heading_surveying: Mapovanie
   heading_troubleshooting: Riešenie problémov
   help: Pomoc
+  help_html: "<!--\n\n========================================================================================================================\nStrana 1: Úvod\n\n--><headline>Vitajte v Potlatchu</headline>\n<largeText>Potlatch je ľahko použiteľný editor pre OpenStreetMap. Kreslí ulice, cesty, orientačné body a obchody z vašho GPS merania, satelitných snímok. alebo starých máp.\n\nTieto stránky nápovedy vás prevedú základmi použitia Potlachu, a prezradia vám kde možno zistiť viac informácií. Pre začatie kliknite na titulky hore.\n\nKeď chcete skončiť, stačí kliknúť hocikde inde na strane.\n\n</largeText>\n\n<column/><headline>Užitočné známe veci</headline>\n<bodyText>Nekopírujte z iných máp!\n\nAk vyberiete 'Upravovať naživo' , akékoľvek zmeny ktoré vytvoríte, budú zapísané do databázy hneď ako ich nakreslíte - ako <i>okamžite</i>. Ak ste si nie sebaistý, vyberte 'Úprava s uložením' , a zmeny budú uložené iba keď stlačíte 'Uložiť'.\n\nNiektorá úpravy, ktoré ste urobili budú obvykle viditeľné na mape po jednej až dvoch hodinách (niektoré veci môžu trvať aj týždeň). Nie všetko je zobrazené na mape - môže to vyzerať príliš neuhladené. Avšak pretože OpenStreetMap údaje majú otvorený kód (open source), iný ľudia majú voľnosť pri tvorbe a zobrazení máp s rozdielnymi aspektami - ako <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> alebo <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nRemember it's <i>both</i> a good-looking map (so draw pretty curves for bends) and a diagram (so make sure roads join at junctions).\n\nZmienili sme sa o nekopírovaní z iných máp?\n</bodyText>\n\n<column/><headline>Zistiť viac</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Príručka Potlatchu</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Zoznam adries</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Online chat (live help)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Webové fórum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Komunita wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch zdrojový-kód</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================Page 2: začíname\n\n--><page/><headline>Začíname</headline>\n<bodyText>Teraz, keď máte otvorený Potlach, kliknite 'Úprava s uložením' pre zahájenie upravovania.\n\nTeraz ste pripravený na kreslenie mapy. Najjednoduchším začiatkom je doplnenie nejakých bodov záujmu do mapy - alebo \"POIs\". To môžu byť krčmy, kostoly, železničné stanice... všetko čo sa vám páči.</bodytext>\n\n<column/><headline>Ťahať a pustiť</headline>\n<bodyText>Urobiť to je veľmi ľahké, budete vidieť výber najčastejších POIs, vpravo v dolnej časti vašej mapy. Umiestnenie jedného na mapu je preto ľahké, dotiahnite ho z tadeto na správne miesto na mape. A nemajte obavy, ak sa vám nepodarí docieliť správnu polohu na prvý krát: môžete ho posúvať znovu, až do správnej polohy. Všimnite si že POI je zvýraznené žltou farbou ak je vybraté.\n\nHneď ako ste hotový, budete chcieť dať vašej krčme (alebo kostolu, alebo žel.stanici) názov. Budete vidieť malú tabuľku, ktorá sa má objaviť v dolnej časti. jeden zo záznamov bude hovoriť \"názov\" nasledovaný s \"(typ názvu tu)\". Vyplňte ju – napíšte text a typ názvu.\n\nKliknite niekde inde na mapu na pre zrušenie výberu vášho POI, a obnovu malého panelu.\n\nBolo to ľahké? Kliknite 'Uložiť' (na spodnej časti dole vpravo) ak ste hotový.\n</bodyText><column/><headline>Premiestňovanie</headline>\n<bodyText>Aby posun do rôznej časti mapy, správne dotiahol nejakú prázdnu oblasť. Potlatch automaticky načíta nové údaje (pozrite vpravo hore).\n\nPovedali sme vám o 'Upraviť s uložením', ale môžete tiež zapnúť 'Upraviť naživo'. Ak zapnete túto možnosť, váš zmenový súbor sa bude zapisovať do databázy priebežne, preto nebude k dispozícii tlačítko 'Uložiť'. Je to dobré pre okamžité zmeny a <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">mapovacie párty</a>.</bodyText>\n\n<headline>Ďalšie kroky</headline>\n<bodyText>Páčilo sa vám to? Výborne. Kliknite hore na 'Mapovanie' ak chcete zistiť, ako sa stať <i>skutočným</i> mapovačom!</bodyText>\n\n<!--\n========================================================================================================================\nStrana 3 : Mapovanie\n\n--><page/><headline>Mapovanie s GPS</headline>\n<bodyText>Hlavná myšlienka za projektom OpenStreetMap je urobiť mapu bez obmedzenia kopírovania, ktoré je teraz na iných mapách. Týmto myslíme, že nie je možné kopírovať z iných mapových podkladov: musíte ísť a sám mapovať ulice. Našťastie je v tom množstvo zábavy! Najlepšou cestou ako to spraviť je ručný GPS prístroj. Nájdite oblasť, kde ešte žiaden mapovač nebol, potom sa prechádzajte po uliciach so zapnutým GPS prístrojom. Zapisujte si názvy ulíc, a niečo iné zaujímavé (krčmy? kostoly? lekárne?), keď ideš okolo nich.\n\nKeď prídete domov, váš GPS bude obsahovať 'záznam stopy' zaznamenaný všade kde ste chodili. Môžete ho potom nahrať na OpenStreetMap.\n\nNajlepší typ pre  voľbu GPS je aby frekvencia záznamov bola každú sekundu (alebo dve sekundy) a mala veľa pamäti. Mnoho mapovačov používa ručný Garmin, alebo ručné bluetooth jednotky spojené s PDA, ale aj v spojení s telefónom s vhodným softvérom (napr. http://www.trekbuddy.net/forum/ ). Tu sú detaily <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">GPS Recenzie</a> na našej wiki.</bodyText>\n\n<column/><headline>Nahrávanie vašej stopy</headline>\n<bodyText>Teraz potrebujete nahrať váš záznam stopy z vášho GPS prístroja. Možno váš GPS obsahuje aj nejaký software, alebo možno sa dá kopírovať súbor cez USB. Ak nie, skúste <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Podľa dohody, požadovaný súbor musí byť v GPX formáte.\n\nPotom použite tlačítko 'GPS Stopy' pre nahratie vašej stopy na OpenStreetMap. Ale toto je iba prvý krok – ešte sa to nemôžete zobraziť na mape. Musíte vy sám nakresliť a pomenovať cesty, použitím stopy ako vodítka.</bodyText>\n<headline>Používanie vašej stopy</headline>\n<bodyText>Vyhľadajte vašu nahratú stopu v 'GPS Stopy' v súpise, a kliknite 'upraviť' <i>ďalšie tlačítko vpravo</i>. Potlatch sa spustí s touto nahratou stopou, plus s niektorými waypointami. Ste pripravený na kreslenie!\n\n<img src=\"gps\">Môžete tiež kliknutím na toto tlačítko zobraziť všetky GPS stopy (ale nie waypointy) pre aktuálnu oblasť. Podržaním Shift-u zobrazíte iba vaše stopy.</bodyText>\n<column/><headline>Používanie satelitných fotiek</headline>\n<bodyText>Ak nemáte GPS prístroj, nebuďte smutný. V niektorých mestách, máme satelitné fotky, nad ktorými môžete kresliť, s láskavým dovolením Yahoo! (ďakujeme!). Choďte von a zaznamenajte si názvy ulíc, potom sa vráťte a nakreslite nad snímkou línie.\n\n<img src='prefs'>Ak nevidíte zbierku satelitných obrázkov, kliknite na tlačítko možnosti a presvedčte sa či máte vybraté 'Yahoo!'. Ak to stále nevidíte, tak pravdepodobne nie je dostupný pre vaše mesto, alebo by ste mohli potrebovať trochu zmenšiť oblasť.\n\nV tejto istej voľbe nastavenia tlačítka môžete nájsť niekoľko iných volieb ako niektoré nechránené mapy autorskými právami z UK, a OpenTopoMap pre US. Tu sú všetky špeciálne vybraté, pretože máme povolenie používať ich – nekopírujte z nejakých iných máp, alebo leteckých fotiek. (Copyright law sucks.)\n\nNiekedy sú satelitné obrázky trochu posunuté z miesta, kde cesty v skutočnosti sú. Ak toto zistíte. podržte klávesu Medzera a dotiahnite pozadie až nad línie. Vždy dôverujte GPS stopám, než satelitným obrázkom.</bodytext>\n\n<!--\n========================================================================================================================\nStrana 4: Kreslenie\n\n--><page/><headline>Kreslenie ciest</headline>\n<bodyText>Na kresbu komunikácií  (alebo 'ciest') začneme na prázdnom mieste na mape, len tam klikneme; potom na každý bod tam kde cesta zabočí. Keď cestu končíme, dvojitý klik, alebo stlačiť Enter – potom klikneme niekde inde, aby sme zrušili výber cesty.\n\nPre kreslenie cesty so začiatkom z inej cesty, kliknite na cestu na jej vybratie; jej body sa zobrazia červene. Držte Shift a kliknite na ten bod, kde začína nová cesta. (Ak nie je červený bod na mieste začiatku cesty, shift-klik na miesto v ceste kde potrebujete ten bod!)\n\nKliknite 'Uložiť' (dole vpravo) ak ste hotový. Ukladajte často, pre prípad, ak by mal server problém.\n\nNečakajte, že sa vaše zmeny objavia v hlavnej mape okamžite. Obvykle to trvá jednu až dve hodiny, niekedy aj viac ako týždeň.\n</bodyText><column/><headline>Vytvorenie spojení</headline>\n<bodyText>Je to skutočne dôležité, kde sa dve cesty spájajú, oni zdieľajú bod (alebo 'uzol'). Program na plánovanie ciest podľa neho vie, kde má zabočiť.\n\nPotlatch sa stará o to pokiaľ ste opatrne klikli <i>presne</i> na cestu v mieste spojenia. Hľadajte nápomocné značky: body sa rozsvietia namodro, zmení sa ukazovateľ, a keď ste hotový, pripojený bod má čierny obrys.</bodyText>\n<headline>Presúvanie a mazanie</headline>\n<bodyText>Na vymazanie bodu, vyberte ho a stlačte Delete. Na vymazanie celej cesty, stlačte Shift-Delete.\n\nPre presunutie niečoho, stačí to ťahať. (Podržíte stlačené ľavé tlačítko myši na presúvanej ceste po dobu ťahania cesty myšou, dávajte pozor, aby sa vám to nestalo náhodou.)</bodyText>\n<column/><headline>Viac pokročilého kreslenia</headline>\n<bodyText><img src=\"scissors\">Ak dve časti cesty majú rozdielny názov, budete ju musieť rozdeliť. Kliknite na cestu; potom kliknite na bod, kde má byť rozdelená a kliknite na nožničky. (Môžete spojiť cesty keď použijete klávesu Ctrl, alebo klávesu Apple na Mac-u. Ale nespájajte dve cesty s rozdielnymi názvami, alebo typmi.)\n\n<img src=\"tidy\">Kruhový objazd je naozaj ťažko nakresliť. Nezúfajte – Potlatch môže pomôcť. Iba nakreslite zhruba kruh, určite ukončite kruh na začiatočnom bode, potom kliknite na ikonu 'usporiadať'. (Toto môžete použiť aj na vyrovnanie ciest.)</bodyText>\n<headline>Body záujmu POI</headline>\n<bodyText>Prvé čo ste sa naučili bolo, ako doplniť bod záujmu. Môžete ho tiež vytvoriť pomocou dvojkliku na mape: objaví sa zelený kruh. Ale čo to je, či je to krčma, kostol, alebo čo? Kliknite na 'Tagging' – Značkovanie nájdete ho hore!\n\n<!--\n========================================================================================================================\nStrana 4 Tagging\n\n--><page/><headline>Aký typ komunikácii poznáme?</headline>\n<bodyText>Ako náhle nakreslíte cestu, budete musieť povedať aká je. Je to vozovka, chodník, alebo rieka? Ako sa volá? Sú na nej nejaké špeciálne obmedzenia (napr. „zákaz pre bicykle“)?\n\nV OpenStreetMap, zaznamenávate toto použitím 'tags' značiek. Tagy(značky) majú dve časti, a môžete ich mať toľko, koľko sa vám bude páčiť. Napríklad, môžete pridať <i>highway | trunk</i>znamená to cesta pre motorové vozidlá; <i>highway | residential</i> pre označenie ulice v obci; alebo <i>highway | footway</i> pre chodník pre peších. Ak bicykle sú zakázané, môžete pridať <i>bicycle | no</i>. Potom zaznamenáme názov, pridáme <i>name | Market Street</i>.\n\nTagy(značky) v Potlatchu sa zobrazujú na spodnej časti obrazovky – Kliknite na existujúcu cestu a budete vidieť aké tagy (značky) obsahuje. Kliknite na znak '+' (vpravo dole) a môžete pridať nový tag (značku). Pomocou klávesy 'x' každý tag (značku)  vymažete.\n\nMôžete označiť všetky cesty; body v cestách (napríklad brána, alebo semafor); a body záujmu.</bodytext>\n<column/><headline>Používanie prednastavených značiek</headline>\n<bodyText>Dostali sme sa na začiatok, Potlatch má hotové predvoľby obsahujúce najpopulárnejšie tags (značky).\n\n<img src=\"preset_road\">Vyberte cestu, potom klikajte medzi symbolmi, až kým nenájdete vhodný. Potom si vyberte najvhodnejšiu možnosť z menu.\n\nVýber doplní tagy(značky) z výberu. Niektoré okienka aj tak zostanú nevyplnené, aby ste mohli napísať (napríklad) názov cesty a číslo.</bodyText>\n<headline>Jednosmerné cesty</headline>\n<bodyText>Mohli by ste chcieť pridať tagy, ako <i>oneway | yes</i> - ale, ako zapísať v akom smere? Je tam šípka v ľavo dole, ktorá ukazuje smer cesty, od začiatku po koniec. Kliknutím sem smer cesty otočíte.</bodyText>\n<column/><headline>Voľba vašich vlastných tagov.</headline>\n<bodyText>Samozrejme, nie ste obmedzený iba na prednastavené tagy(značky). Použitím tlačítka '+', môžete pridať a používať akékoľvek tagy.\n\nMôžete sa pozrieť aké tagy používajú ostatní ľudia <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, a tu je dlhý obsah obľúbených tagov(značiek) na našej wiki <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. Ale tu sú <i>iba návrhy, nie podľa pravidiel</i>. Máte voľnosť pri vymýšľaní vašich vlastných tagov(značiek), alebo môžete prevziať tagy od iných.\n\nPretože OpenStreetMap dáta sú používané pri tvorbe veľmi rôznorodých máp, každá mapa sa bude zobrazovať (alebo 'interpretovať') podľa vlastného výberu tagov.</bodyText>\n<headline>Relácie</headline>\n<bodyText>Niekedy tagy(značky) nepostačujú, a vy potrebujete 'zoskupiť' dve a viac ciest. Možno zabočenie je zakázané z jednej cesty na druhú, alebo 20 ciest má spoločný znak a popisujú napr. cyklo trasu. Môžete to vytvoriť pokročilými vlastnosťami, ktoré sa volajú 'relácie'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Zistiť viac</a> na wiki.</bodyText>\n\n<!--\n========================================================================================================================\nStrana 6: Riešenie problémov\n\n--><page/><headline>Oprava chýb</headline>\n<bodyText><img src=\"undo\">Na to slúži tlačítko Krok späť(undo) (môžete tiež použiť klávesu Z) – vrátite sa k stavu pred poslednou zmenou.\n\nMôžete vrátiť predtým uloženú verziu cesty, alebo bodu. Vyberte ich, potom kliknite na ich ID (číslo v ľavo dolu) – alebo stlačte H (pre 'históriu'). Budete vidieť obsah všetkého čo a kedy ste upravovali. Vyberte ktorý chcete vrátiť späť a kliknite Revert(Navrátiť).\n\nAk ste náhodou vymazali cestu a uložili to, stlačte U (na 'undelete' obnovenie). Všetky vymazané cesty budú zobrazené. Vyberte tú ktorú chcete; odomknite ju kliknutím na červený zámok; a normálne uložte.\n\nZbadali ste, že niekto iný urobil chyby? Pošlite mu priateľskú správu. Použite voľbu história (H) pre výber jeho mena, potom kliknite 'Mail'.\n\nPoužite Kontrolóra (v menu 'Advanced' pre pokročilé nastavenia) pre užitočné informácie o aktuálnej ceste, alebo bode.\n</bodyText><column/><headline>FAQs</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Urýchlenie práce</headline>\n<bodyText>Čím viac oddialite obraz, tým viac dát Potlatch načíta. Priblížte obraz späť a kliknite 'Upraviť' edit.\n\nVypnite 'Use pen and hand pointers' Ukazovateľ pero a ruka (v možnostiach okna) pre maximálnu rýchlosť.\n\nAk je server pomalý, skúste to pozdejšie. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\"> Skontrolujte wiki</a>pre známe problémy. Niekedy, ako v nedeľné večery, je vždy zaneprázdnený.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nStrana 7: Rýchle odkazy\n\n--><page/><headline>Čo kliknúť</headline>\n<bodyText><b>Ťahať mapu</b> na pohybovanie sa.<b>Dvojitý-klik</b> pre vytvorenie nového POI.<b>Jeden-klik</b> pre začiatok novej cesty.<b>Držať a ťahať cestu alebo POI</b> pre ich presun.</bodyText>\n<headline>Keď kreslíte cestu</headline>\n<bodyText><b>Dvojitý-klik</b> alebo <b>stlačenie Enteru</b> ukončí kreslenie.<b>Klik</b> na inú cestu vytvorí pripojenie.<b>Shift-klik na koncový bod inej cesty</b> pre zlúčenie.</bodyText>\n<headline>Keď je cesta vybratá</headline>\n<bodyText><b>Klik na bod</b> pre zvolenie bodu.<b>Shift-klik na cestu</b> pre vloženie nového bodu.<b>Shift-klik na bod</b> pre začiatok novej cesty z tohto miesta.<b>Control-klik na inú cestu</b> pre zlúčenie.</bodyText>\n</bodyText>\n<column/><headline>Klávesové skratky</headline>\n<bodyText><textformat tabstops='[25]'>B Add <u>b</u>ackground source tag\nC Zavrieť <u>c</u>hangeset zmenový súbor\nG Zobraziť <u>G</u>PS stopy\nH Zobraziť <u>h</u>istóriu\nI Zobraziť <u>i</u>nspector kontrolu\nJ <u>J</u>oin vložiť bod do križujúcich ciest\nK Loc(zamknúť)<u>k</u>/unlock(odomknúť) aktuálny výber\nL Zobraziť aktuálnu <u>l</u>atitude(šírku)/longitude(dĺžku)\nM <u>M</u>aximalizovať editovacie okno\nP Vytvoriť <u>p</u>arallel rovnobežnú cestu\nR <u>R</u>epeat opakovať tagy\nS <u>S</u>ave Uložiť (ak neopravujete naživo)\nT <u>T</u>idy into straight line/circle\nU <u>U</u>ndelete obnoviť(ukázať vymazané cesty)\nX Rozdeliť cestu na dve\nZ Krok späť\n- Remove Odstrániť bod iba z tejto cesty\n+ Add pridať nový tag\n/ Select Vybrať inú cestu, ktorá zdieľa tento bod\n</textformat><textformat tabstops='[50]'>Delete Delete point\n  (+Shift) Delete entire way\nReturn Finish drawing line\nSpace Hold and drag background\nEsc Abort this edit\n; reload from server\n0 Remove all tags\n1-9 Select preset tags\n  (+Shift) Select memorised tags\n  (+S/Ctrl) Memorise tags\n§ or ` Cycle between tag groups\n</textformat>\n</bodyText>"
   hint_drawmode: kliknutím pridáte bod\ndvojklik/Návrat\nukončí líniu
   hint_latlon: "šírka $1\ndĺžka $2"
   hint_loading: nahrávam údaje
@@ -105,9 +109,11 @@ sk:
   "no": Nie
   nobackground: Žiadne pozadie
   norelations: V aktuálnej oblasti nie sú relácie
+  offset_broadcanal: Navigácia širokým prielivom
   offset_choose: Zvoliť vyrovnanie (m)
   offset_dual: Dvojprúdová cesta (D2)
   offset_motorway: Dialnica (D3)
+  offset_narrowcanal: Navigácia úzkym prielivom
   ok: Ok
   openchangeset: Otvorenie súboru zmien
   option_custompointers: Použitie ukazovateľa pera a ruky
@@ -117,6 +123,9 @@ sk:
   option_layer_maplint: OSM - Maplint (chyby)
   option_layer_nearmap: "Austrália: NearMap"
   option_layer_ooc_25k: "UK historický: 1:25k"
+  option_layer_ooc_7th: "UK historické: 7."
+  option_layer_ooc_npe: "UK historické: NPE"
+  option_layer_ooc_scotland: "UK historické: Škótsko"
   option_layer_tip: Vyberte si pozadie pre zobrazenie
   option_limitways: Upozorniť pri načítaní priveľa dát
   option_noname: Zvýrazniť nepomenované komunikácie
@@ -159,15 +168,19 @@ sk:
   prompt_editsave: Ukladať naraz
   prompt_helpavailable: Nový užívateľ?  Nápovedu nájdete vpravo dole.
   prompt_launch: Otvoriť externú URL
+  prompt_live: V režime Live, každý prvok čo zmeníte bude uložený v databáze OpenStreetMap okamžite - nie je doporučené pre začiatočníkov. Ste si istí?
   prompt_revertversion: "Vrátiť sa k skoršie uloženej verzii:"
   prompt_savechanges: Uložiť zmeny
-  prompt_taggedpoints: Niektoré body tejto cesty majú tagy. Naozaj vymazať?
+  prompt_taggedpoints: Niektoré body tejto cesty majú tagy, alebo sú v reláciách. Naozaj vymazať?
   prompt_track: Zmeniť GPS stopy na cesty
   prompt_unlock: Klik pre odomknutie
   prompt_welcome: Vitajte na OpenStreetMap !
   retry: Opakovať
   revert: Vrátiť sa
   save: Uložiť zmeny
+  tags_backtolist: Späť na zoznam
+  tags_findatag: Nájdite značku
+  tags_typesearchterm: "Zadajte slovo pre hľadanie:"
   tip_addrelation: Pridať do relácie
   tip_addtag: Pridať nový tag
   tip_alert: Nastala chyba - kliknite pre podrobnosti
index cfab831620e3d28ec14d0762e0082610da95e8ab..ebefd538434d9bc94d6d462a1518f07bc92a5098 100644 (file)
@@ -61,6 +61,7 @@ sr-EC:
   editinglive: Уређивање наживо
   editingoffline: Уређивање ван мреже
   error_anonymous: Не можете контактирати анонимног мапера.
+  error_microblog_long: "Слање на $1 није успело:\nХТТП код: $2\nПорука о грешки: $3\n$1 грешка: $4"
   error_nosharedpoint: Путање $1 и $2 више не деле заједничку тачку, тако да не могу да вратим раздвајање.
   existingrelation: Додај постојећем односу
   findrelation: Нађи однос који садржи
@@ -98,6 +99,7 @@ sr-EC:
   mail: Пошта
   more: Још
   newchangeset: "Молим пробајте поново: Потлач ће почети са новим скупом измена."
+  "no": Не
   nobackground: Без позадине
   norelations: Нема односа̂ у тренутној области
   offset_broadcanal: Широки пут вучења лађа
@@ -114,6 +116,7 @@ sr-EC:
   option_layer_ooc_7th: "УК историјски: 7."
   option_layer_ooc_npe: "УК историјски: NPE"
   option_layer_tip: Изаберите позадину која ће се приказивати
+  option_microblog_pwd: "Лозинка за микроблог:"
   option_noname: Истакни безимене путеве
   option_photo: "KML слике:"
   option_thinareas: Користи тање линије за области
@@ -126,6 +129,7 @@ sr-EC:
   preset_icon_cafe: Кафе
   preset_icon_cinema: Биоскоп
   preset_icon_convenience: Потрепштине
+  preset_icon_disaster: Зграда на Хаитију
   preset_icon_fast_food: Брза храна
   preset_icon_ferry_terminal: Скела
   preset_icon_fire_station: Ватрогасна станица
@@ -187,5 +191,6 @@ sr-EC:
   uploading_relation: Шаљем однос $1
   uploading_relation_name: Шаљем однос $1, $2
   uploading_way: Шаљем путању $1
-  uploading_way_name: Шаље путању $1, $2
+  uploading_way_name: Шаљем путању $1, $2
   way: Путања
+  "yes": Да
index bbfb824ba57b6786d1d8d3487887ad25a5125cba..0aeecd704a375b79491d5a5145061135f40fc2d4 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Swedish (Svenska)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: Ainali
 # Author: Cohan
 # Author: Grillo
 # Author: Jas
@@ -82,7 +83,7 @@ sv:
   heading_tagging: Taggning
   heading_troubleshooting: Felsökning
   help: Hjälp
-  help_html: "<!--\n\n========================================================================================================================\nSida 1: Introduktion\n\n--><headline>Välkommen till Potlatch</headline>\n<largeText>Potlatch är en enkel editor för OpenStreetMap. Lägg in vägar, stigar, affärer från dina GPS spår, satellit bilder eller gamla kartor.\n\nDe här hjälpsidorna kommer att guida dig igenom de grundläggande funktionerna i Potlatch och var du kan hitta mer information. Klicka på rubrikerna ovan för att börja.\n\nNär du är klar klickar du bara någonstans på sidan.\n\n</largeText>\n\n<column/><headline>Bra att veta</headline>\n<bodyText>Kopiera inte från andra kartor!\n\nOm du väljer 'Ändra direkt' så kommer alla ändringar att skrivas <i>direkt</i> till databasen. Om du inte är så säker välj istället 'Ändra via spara' och ändringarna skrivs till databasen först när du trycker på 'Spara'.\n\nAlla ändringar du gör visas oftast på kartan inom en timma eller två. Ibland kan det ta upp till en vecka. Alla detaljer visas inte på kartan, då det skulle bli för plottrigt. Men eftersom OpenStreetMaps data är fri, kan andra personer utnyttja datan till att göra kartor som visar andra aspekter. Exempel på detta är <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> och <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nKom ihåg att det är <i>både</i> en snygg karta (så rita fina kurvor) och ett diagram (se till att vägar hänger ihop i korsningar).\n\nNämnde vi det där om att inte kopiera från andra kartor?\n</bodyText>\n\n<column/><headline>Lär dig mer</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatchs manual</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">E-Post listor</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chatta (direkt hjälp)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Web-forum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Grupp wiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatch källkod</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nSida 2: kom igång\n\n--><page/><headline>Kom igång</headline>\n<bodyText>Nu när du har startat Potlatch, klicka på 'Ändra via spara' för att komma igång.\n\nSå, nu är du redo att rita en karta. Det enklaste är att lägga till några intressepunkter, så kallade POI. Det kan vara sådant som restauranger, kyrkor, stationer... Vad  som helst som du tycker är viktigt.</bodytext>\n\n<column/><headline>Drag och släpp</headline>\n<bodyText>För att göra det enkelt, så ser du en samling av de mest vanliga POI:n ('inressepunkterna')  under kartan. Att lägga in en på kartan är enkelt, klicka på ikonen och drag den till rätt ställe på kartan. Var inte orolig, om du skulle placera den fel, så kan du bara klicka på den igen och dra den till rätt ställe. Ikonen kommer vara markerad med gul färg, för att visa dig att den är vald.\n\nNär du väl lagt ut din POI, så kan du ge den ett namn. Du kan se att en liten tabell har dykt upp under kartan. Ett av alternativen där heter \"name\" följt av \"(type name here)\".  Gör just det, klicka på texten och skriv namnet.\n\nKlicka någon annanstans på kartan för att avmarkera din POI, nu kommer den färgglada panelen med ikoner tillbaks.\n\nEnkelt, eller hur? Klicka på 'Spara' (nedre högra hörnet) när du är klar.\n</bodyText><column/><headline>Flytta runt</headline>\n<bodyText>För att se en annan del av kartan, så är det bara att klicka på ett tomt ställe i kartan och dra. Potlatch kommer automatiskt att hämta data för det nya området (du kan se detta i övre högra hörnet).\n\nVi bad dig välja 'Ändra via spara', men du kan också välja 'Ändra direkt'. Om du gör det så kommer dina förändringar att skrivas till databasen direkt utan att du behöver trycka på 'Spara' knappen. Detta sätt är bra för snabba små ändringar och <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">karterings partyn</a>.</bodyText>\n\n<headline>Nästa steg</headline>\n<bodyText>Nöjd så långt? Bra! Klicka på 'Kartläggning' ovan för att lära dig mer om hur du blir en <i>riktig</i> kartritare!</bodyText>\n\n<!--\n========================================================================================================================\nSida 3: Kartläggning\n\n--><page/><headline>Kartläggning med en GPS</headline>\n<bodyText>Tanken med OpenStreetMap är att skapa en karta utan de begränsningar andra som andra kartors copyright ger. Därför kan du inte kopiera data från andra källor. Du måste gå ut och kartlägga gatorna på egen hand.\nLyckligtvis är det väldigt kul att göra!\nDet bästa sättet är att ha en handhållen GPS. Hitta sedan ett område som inte är kartlagt ännu, gå eller cykla sedan längsmed gatorna med GPSen påslagen. Notera namnet och andra viktiga saker (kyrkor, restauranger osv.) när du passerar dem.\n\nNär du kommer hem innehåller din GPS ett 'spår' över var du har varit. Detta spår kan du ladda upp till OpenStreetMap.\n\nDen bästa typen av GPS är en som sparar sin position till loggfilen ofta (varje sekund) och har ett stort minne. Många kartläggare använder handhållna Garmin GPSer eller små bluetooth enheter. Det finns detaljerade <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">tester av GPSer</a> på vår wiki.</bodyText>\n\n<column/><headline>Ladda upp ditt spår</headline>\n<bodyText>Nu måste du få spåret ifrån GPSen till din dator. Kanske fick du med en mjukvara med din GPS eller kanske du kan använda USB. Om inte du hittar något sätt, prova <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Hur som helst, så vill du få ditt spår som en fil i GPX format.\n\nSedan kan du använda 'GPS spår' tabben för att ladda upp ditt spår till OpenStreetMap. Att ladda upp filen är bara första steget, det kommer inte att synas på kartan automatiskt. Du måste rita och namnge vägarna själv, med ditt spår som underlag och guide.</bodyText>\n<headline>Använda ditt spår</headline>\n<bodyText>Leta rätt på ditt uppladdade spår i 'GPS Spår' listan och klicka på 'ändra' precis till höger om det. Potlatch kommer att starta med det spåret inladdat samt eventuella vägpunkter. Nu är du redo att börja rita!\n\n<img src=\"gps\">Du kan också klicka på knappen för att se alla andras GPS spår (men inte vägpunkter) i det aktuella området. Håll nere Shit för att bara se dina spår.</bodyText>\n<column/><headline>Använda satellitfoton</headline>\n<bodyText>Om du inte har en GPS - inga problem. I vissa städer har vi satellitfoton som du kan använda som underlag. Satellitbilderna har Yahoo! varit vänliga nog att låta oss använda. Gå ut och notera gatunamnen och kom sedan tillbaka och lägg in informationen.\n\n<img src='prefs'>Om du inte ser några satellitbilder, klicka på options knappen och se till att 'Yahoo!' är markerad. Om du fortfarande inte ser några bilder, är det troligen för att det inte finns några tillgängliga för din plats eller så behöver du zooma ut lite.\n\nUnder samma optionsknapp, så ser du även några andra val som en karta över UK som inte är skyddad av copyright och OpenTopoMap över USA. Dessa är speciellt utvalda eftersom vi har tillåtelse att använda dem. Kopiera inte från någon annans kartor eller flygfoton. (Copyright lagar är skit)\n\nIbland är satellitbilderna lite missplacerade från de verkliga lägena på vägar. Om du noterar detta, håll nere 'mellanslag' och dra bakgrunden tills den matchar. Lita alltid på GPS spåren framför satellitbilder.</bodytext>\n\n<!--\n========================================================================================================================\nSida 4: Rita\n\n--><page/><headline>Rita vägar</headline>\n<bodyText>För att rita en ny väg, börja genom att klicka på en tom plats på kartan. Sedan fortsätter du genom att klicka där du vill lägga till nya punkter av vägen. När du är klar avslutar du genom att dubbel-klicka eller trycka 'Enter' och sedan klicka någonannanstans för att ta bort fokuset på vägen.\n\nFör att rita en väg som startar vid en redan existerande väg, börja med att klicka på den existerande vägen för att välja den. Punkterna längs den vägen kommer att bli röda. Håll ner 'Shift' och klicka på den punkt där du vill börja den nya vägen (om det inte finns någon röd punkt, shift-klicka bara där du vill börja).\n\nKlicka på 'Spara' (nedre högra hörnet) när du är klar. Spara ofta, ifall det skulle bli problem med servern.\n\nFörvänta dig inte att dina ändringar syns omedelbart på huvudkartan. Vanligtvis tar det en timma eller två och ibland upp till en vecka.\n</bodyText><column/><headline>Skapa korsningar</headline>\n<bodyText>Det är viktigt att där två vägar möts, måste de dela en punkt (eller 'nod'). Ruttplanerare använder sig av den informationen för att veta var det går att svänga.\n\nPotlatch tar hand om det här, så länge du är noggrann med att klicka <i>exakt</i> på den väg du vill skapa en korsning med. Se efter tecken så som; när punkter blir blå, muspekaren ändras. Korsningspunkten har en svart ram.</bodyText>\n<headline>Flytta och radera</headline>\n<bodyText>Det här fungerar precis så som du förväntar dig. För att ta bort en punkt, markera den och tryck på 'Delete'. För att ta bort en hel väg, tryck 'Shift-Delete'.\n\nFör att flytta på något, är det bara att dra det med musen (du måste klicka och hålla inne knappen en kort stund före du kan dra ett objekt, så att du inte råkar flytta något av misstag).</bodyText>\n<column/><headline>Mer avancerad funktioner</headline>\n<bodyText><img src=\"scissors\">Om en väg har olika namn på olika sträckor, måste du dela vägen. Klicka på vägen; klicka sedan på punkten där vägen skall delas och klicka på ikonen med saxen (du kan slå ihop vägar genom att klicka med Control, eller Apple knappen på en Mac, men gör inte det med vägar som har olika namn eller typ).\n\n<img src=\"tidy\">Rondeller är verkligt svåra att rita korrekt. Men var inte orolig, Potlatch kan hjälpa till. Rita bara en grov cirkel, försäkra dig om att den sitter ihop med sig själv i ändarna. Klicka sedan på ikonen. (Ikonen kan också användas för att räta ut vägar som skall vara raka.)</bodyText>\n<headline>Intressepunkter</headline>\n<bodyText>Det första du lärde dig var hur man drar och släpper en intressepunkt. Du kan också skapa en genom att dubbel-klicka på kartan. En grön cirkel skapas. Men hur bestämmer man om det är en kyrka eller en bensinstation? Klicka på 'Taggning' ovan för att lära dig!\n\n<!--\n========================================================================================================================\nSida 4: Taggning\n\n--><page/><headline>Vilken typ av väg är det?</headline>\n<bodyText>När du har ritat en väg skall du tala om vad för slags väg det är. Är det en riksväg, stig eller älv? Vad heter den? Är det några speciella regler (t.ex. cykling förbjuden)?\n\nI OpenStreetMap sparas den här informationen i 'taggar'. En tag har två delar och du kan ha så många taggar du vill. Till exempel kan du lägga till <i>highway | trunk</i> för att säga att det är en större väg; <i>highway | residential</i> för en väg i ett bostadsområde eller <i>highway | footpath</i> för en gångstig. Om cyklar inte är tillåtna, så kan du lägga till <i>bicycle | no</i>. Sedan lägger du till namnet genom <i>name | Kungsgatan</i>.\n\nI Potlatch ser du taggarna i nedre delen av skärmen. Klicka på en existerande väg och du ser vilka taggar den har. Klicka på '+' tecknet nere till höger för att lägga till nya taggar. 'x' vid varje tagg används för att ta bort taggen.\n\nDu kan tagga hela vägar, enskilda punkter längs vägen (t.ex. en grind eller trafikljus) och andra intressepunkter.</bodytext>\n<column/><headline>Använda fördefinierade taggar</headline>\n<bodyText>För att underlätta för dig har Potlatch en del fördefinierade taggar för de vanligaste behoven.\n\n<img src=\"preset_road\">Välj en väg, klicka sedan din väg genom symbolerna tills du hittar en passande. Välj det alternativ som passar bäst i menyn.\n\nDetta kommer att leda till att taggar läggs till. Några kommer att bli delvis tomma, så att du kan skriva in t.ex. vägnamn och nummer.</bodyText>\n<headline>Enkelriktade vägar</headline>\n<bodyText>Kanske du vill lägga till en tagg så som <i>oneway | yes</i>, men hur avgör du i vilken riktning? Det finns en pil i nedre vänstra hörnet, som talar om en vägs riktning, från start till slut. Klicka på denna pil för att ändra riktning.</bodyText>\n<column/><headline>Att välja dina egna taggar</headline>\n<bodyText>Naturligtvis är du inte begränsad till endast the fördefinierade. Genom att använda '+' knappen, kan du använda vilka taggar som helst.\n\nDu kan se vilka taggar andra har använt i <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a> och det finns en lång lista med populära taggar på vår wiki kallad <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. Men dessa är <i>endast förslag, inte regler</i>. Du är fri att skapa egna taggar eller låna från andra.\n\nEftersom OpenStreetMap data används till att framställa många olika slags kartor och varje karta använder och visar de taggar som anses behövas.</bodyText>\n<headline>Relationer</headline>\n<bodyText>Ibland är inte taggar tillräckligt utan du måste 'gruppera' två eller fler vägar. Kanske en sväng är förbjuden från en väg in på en annan eller 20 vägar tillsammans bildar en uppmärkt cykelrutt. Du kan göra detta med en avancerad funktion kallad 'relationer'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Lär dig mer</a> på wikin.</bodyText>\n\n<!--\n========================================================================================================================\nSida 6: Felsökning\n\n--><page/><headline>Ångra misstag</headline>\n<bodyText><img src=\"undo\">Det här är ångerknappen (du kan också trycka Z) - för att ångra den sista ändringen du gjorde.\n\nDu kan gå tillbaka till en tidigare sparad version av en väg eller punkt. Välj den och klicka på dess ID (numret nere till vänster) eller tryck H (för historiken). Du kommer att se en lista av med alla som har editerat den och när. Välj den du vill gå tillbaka till och klicka på Återställ.\n\nOm du utav misstag har tagit bort en väg och sparat ändringen, tryck U (för att ångra raderingen). All borttagna vägar kommer at visas. Välj den du vill ha, lås upp genom att klicka på det röda hänglåset och spara som vanligt.\n\nTror du att någon annan har begått ett misstag? Sänd dem ett vänligt meddelande. Använd historik funktionen (H) för att välja deras namn och tryck på 'Post'.\n\nAnvänd Inspector (i 'Avancerat' menyn) för information om den aktuella vägen eller punkten.\n</bodyText><column/><headline>Vanliga frågor</headline>\n<bodyText><b>Hur ser jag mina vägpunkt?</b>\nVägpunkter visas endast om du klickar 'ändra' bredvid spårets titel i 'GPS spår'. Filen måste innehålla både vägpunkter och spårlog, då servern inte kommer bry sig om någonting som endast innehåller vägpunkter.\n\nFler vanliga frågor (FAQ) om <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> och <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Arbeta snabbare</headline>\n<bodyText>Desto större område du arbetar med, desto mer data måste Potlatch ladda. Zooma därför in så långt som möjligt innan du klickar på 'Ändra'.\n\nStäng av 'Använd penna och handpekare' (i fönstret för inställningar) för maximal snabbhet.\n\nOm servern är långsam, kom tillbaka senare. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Kolla wikin</a> för kända problem. Ibland som på söndagkvällar är det många som jobbar och det kan gå långsamt.\n\nBe Potlatch att komma ihåg dina favorit taggar. Välj en väg eller punkt med de taggarna, tryck sedan Ctrl, Shift och ett numer mellan 1 och 9. För att sedan använda de taggarna igen, tryck bara Shift och det numret. (Potlatch kommer att komma ihåg dem på denna datorn)\n\nGör om ditt GPS spår till en väg genom att hitta det i 'GPS Spår' listan, klicka på 'ändra'. Markera sedan 'konvertera' rutan.  Vägen kommer att vara låst (röd) så att det inte går att spara. Ändra först och klicka sedan på röda hänglåset för att låsa upp när du är redo att spara.</bodytext>\n\n<!--\n========================================================================================================================\nSida 7: Snabb guide\n\n--><page/><headline>Att klicka på</headline>\n<bodyText><b>Dra i kartan</b> för att flytta runt den.\n<b>Dubbel klicka</b> för att skapa en ny inressepunkt (POI).\n<b>Enkel klicka</b> för att starta en ny väg.\n<b>Håll och dra i en väg eller POI</b> för att flytta den.</bodyText>\n<headline>När du ritar en väg</headline>\n<bodyText><b>Dubbel klicka</b> eller <b>tryck Enter</b> för att avlsuta en väg.\n<b>Klicka</b> på en annan väg för att skapa en korsning.\n<b>Shift klicka slutet på en annan väg</b> för att slå ihop dem.</bodyText>\n<headline>När en väg är vald</headline>\n<bodyText><b>Klicka på en punkt</b> för att välja den.\n<b>Shift-klicka i en väg</b> för att lägga till en ny punkt.\n<b>Shift-klicka på en punkt</b> för att starta en ny väg där.\n<b>Control-klicka på en annan väg</b> för att koppla ihop dem.</bodyText>\n</bodyText>\n<column/><headline>Tangentbords kommandon</headline>\n<bodyText><textformat tabstops='[25]'>B Lägg till en källhänvisningstag\nC Stäng ett ändringsset\nG Visa <u>G</u>PS spår\nH Visa <u>h</u>istoriken\nI Visa <u>i</u>nspector\nJ Slå ihop två korsande vägar i en punkt.\nK Lås/lås upp den aktuella punkten/vägen\nL Visa <u>l</u>atitud/longitud\nM <u>M</u>aximera kartfönstret\nP Skapa en <u>p</u>arallell väg\nR Upprepa taggar\nS <u>S</u>para (om du valt 'Ändra via spara')\nT Omvandla till en rät linje eller cirkel\nU Återkalla (visa borttagna vägar)\nX Dela en väg i två separata\nZ Ångra\n- Ta bort en punkt ifrån aktuell väg\n+ Lägg till en ny tagg\n/ Välj annan väg som delar den aktuella punkten\n</textformat><textformat tabstops='[50]'>Delete Ta bort en punkt\n  (+Shift) Ta bort en hel väg\nReturn Avsluta ritandet av en linje\nHåll Mellanslag och dra bakgrunden\nEsc Avbryt ändringen; ladda om data från servern\n0 Ta bort alla taggar\n1-9 Välj fördefinierade taggar\n  (+Shift) Välj användar definierade taggar\n  (+S/Ctrl) Definiera användar taggar\n§ eller ` Växla mellan tagg grupper\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nSida 1: Introduktion\n\n--><headline>Välkommen till Potlatch</headline>\n<largeText>Potlatch är en enkel editor för OpenStreetMap. Lägg in vägar, stigar, affärer och så vidare från dina GPS-spår, fria satellitbilder eller gamla kartor.\n\nDe här hjälpsidorna kommer att guida dig igenom de grundläggande funktionerna i Potlatch och var du kan hitta mer information. Klicka på rubrikerna ovan för att börja.\n\nNär du är klar klickar du bara någonstans på sidan.\n\n</largeText>\n\n<column/><headline>Bra att veta</headline>\n<bodyText>Kopiera inte från andra kartor!\n\nOm du väljer 'Ändra direkt' så kommer alla ändringar att skrivas <i>direkt</i> till databasen. Om du inte är så säker välj istället 'Ändra via spara' och ändringarna skrivs till databasen först när du trycker på 'Spara'.\n\nAlla ändringar du gör visas oftast på kartan inom en timma eller två. Ibland kan det ta upp till en vecka. Alla detaljer visas inte på kartan, då det skulle bli för plottrigt. Men eftersom OpenStreetMaps data är fri, kan andra personer utnyttja datan till att göra kartor som visar andra aspekter. Exempel på detta är <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> och <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nKom ihåg att det är <i>både</i> en snygg karta (så rita fina kurvor) och ett diagram (se till att vägar hänger ihop i korsningar).\n\nNämnde vi det där om att inte kopiera från andra kartor?\n</bodyText>\n\n<column/><headline>Lär dig mer</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Potlatchs manual</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">E-postlistor</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chatta (direkthjälp)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Web-forum</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Gruppwiki</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Potlatchs källkod</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nSida 2: kom igång\n\n--><page/><headline>Kom igång</headline>\n<bodyText>Nu när du har startat Potlatch, klicka på 'Ändra via spara' för att komma igång.\n\nSå, nu är du redo att rita en karta. Det enklaste är att lägga till några intressepunkter, så kallade POI. Det kan vara sådant som restauranger, kyrkor, stationer... Vad  som helst som du tycker är viktigt.</bodytext>\n\n<column/><headline>Drag och släpp</headline>\n<bodyText>För att göra det enkelt, så ser du en samling av de mest vanliga POI:n ('inressepunkterna')  under kartan. Att lägga in en på kartan är enkelt, klicka på ikonen och drag den till rätt ställe på kartan. Var inte orolig, om du skulle placera den fel, så kan du bara klicka på den igen och dra den till rätt ställe. Ikonen kommer vara markerad med gul färg, för att visa dig att den är vald.\n\nNär du väl lagt ut din POI, så kan du ge den ett namn. Du kan se att en liten tabell har dykt upp under kartan. Ett av alternativen där heter \"name\" följt av \"(type name here)\".  Gör just det, klicka på texten och skriv namnet.\n\nKlicka någon annanstans på kartan för att avmarkera din POI, nu kommer den färgglada panelen med ikoner tillbaks.\n\nEnkelt, eller hur? Klicka på 'Spara' (nedre högra hörnet) när du är klar.\n</bodyText><column/><headline>Flytta runt</headline>\n<bodyText>För att se en annan del av kartan, så är det bara att klicka på ett tomt ställe i kartan och dra. Potlatch kommer automatiskt att hämta data för det nya området (du kan se detta i övre högra hörnet).\n\nVi bad dig välja 'Ändra via spara', men du kan också välja 'Ändra direkt'. Om du gör det så kommer dina förändringar att skrivas till databasen direkt utan att du behöver trycka på 'Spara' knappen. Detta sätt är bra för snabba små ändringar och <a href=\"http://wiki.openstreetmap.org/wiki/Current_events\" target=\"_blank\">karterings partyn</a>.</bodyText>\n\n<headline>Nästa steg</headline>\n<bodyText>Nöjd så långt? Bra! Klicka på 'Kartläggning' ovan för att lära dig mer om hur du blir en <i>riktig</i> kartritare!</bodyText>\n\n<!--\n========================================================================================================================\nSida 3: Kartläggning\n\n--><page/><headline>Kartläggning med en GPS</headline>\n<bodyText>Tanken med OpenStreetMap är att skapa en karta utan de begränsningar andra som andra kartors copyright ger. Därför kan du inte kopiera data från andra källor. Du måste gå ut och kartlägga gatorna på egen hand.\nLyckligtvis är det väldigt kul att göra!\nDet bästa sättet är att ha en handhållen GPS. Hitta sedan ett område som inte är kartlagt ännu, gå eller cykla sedan längsmed gatorna med GPSen påslagen. Notera namnet och andra viktiga saker (kyrkor, restauranger osv.) när du passerar dem.\n\nNär du kommer hem innehåller din GPS ett 'spår' över var du har varit. Detta spår kan du ladda upp till OpenStreetMap.\n\nDen bästa typen av GPS är en som sparar sin position till loggfilen ofta (varje sekund) och har ett stort minne. Många kartläggare använder handhållna GPSer eller små bluetoothenheter. Det finns detaljerade <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews\" target=\"_blank\">tester av GPSer</a> på vår wiki.</bodyText>\n\n<column/><headline>Ladda upp ditt spår</headline>\n<bodyText>Nu måste du få spåret ifrån GPSen till din dator. Kanske fick du med en mjukvara med din GPS eller kanske du kan använda USB. Om inte du hittar något sätt, prova <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Hur som helst, så vill du få ditt spår som en fil i GPX-format.\n\nSedan kan du använda 'GPS-spår'-fliken för att ladda upp ditt spår till OpenStreetMap. Att ladda upp filen är bara första steget, det kommer inte att synas på kartan automatiskt. Du måste rita och namnge vägarna själv, med ditt spår som underlag och guide.</bodyText>\n<headline>Använda ditt spår</headline>\n<bodyText>Leta rätt på ditt uppladdade spår i 'GPS-spår'-listan och klicka på 'ändra' precis till höger om det. Potlatch kommer att starta med det spåret inladdat samt eventuella vägpunkter. Nu är du redo att börja rita!\n\n<img src=\"gps\">Du kan också klicka på knappen för att se alla andras GPS-spår (men inte vägpunkter) i det aktuella området. Håll nere Shift för att bara se dina spår.</bodyText>\n<column/><headline>Använda satellitfoton</headline>\n<bodyText>Om du inte har en GPS - inga problem. I vissa städer har vi satellitfoton som du kan använda som underlag. Satellitbilderna har Yahoo! varit vänliga nog att låta oss använda. Gå ut och notera gatunamnen och kom sedan tillbaka och lägg in informationen.\n\n<img src='prefs'>Om du inte ser några satellitbilder, klicka på alternativknappen och se till att 'Yahoo!' är markerad. Om du fortfarande inte ser några bilder, är det troligen för att det inte finns några tillgängliga för din plats eller så behöver du zooma ut lite.\n\nUnder samma alternativknapp, så ser du även några andra val som en karta över Storbritannien som inte är skyddad av copyright och OpenTopoMap över USA. Dessa är speciellt utvalda eftersom vi har tillåtelse att använda dem. Kopiera inte från någon annans kartor eller flygfoton.\n\nIbland är satellitbilderna lite missplacerade från de verkliga lägena på vägar. Om du noterar detta, håll nere 'mellanslag' och dra bakgrunden tills den matchar. Lita alltid på GPS-spåren framför satellitbilder.</bodytext>\n\n<!--\n========================================================================================================================\nSida 4: Rita\n\n--><page/><headline>Rita vägar</headline>\n<bodyText>För att rita en ny väg, börja genom att klicka på en tom plats på kartan. Sedan fortsätter du genom att klicka där du vill lägga till nya punkter av vägen. När du är klar avslutar du genom att dubbelklicka eller trycka 'Enter' och sedan klicka någon annanstans för att ta bort fokus på vägen.\n\nFör att rita en väg som startar vid en redan existerande väg, börja med att klicka på den existerande vägen för att välja den. Punkterna längs den vägen kommer att bli röda. Håll ner 'Shift' och klicka på den punkt där du vill börja den nya vägen (om det inte finns någon röd punkt, shift-klicka bara där du vill börja).\n\nKlicka på 'Spara' (nedre högra hörnet) när du är klar. Spara ofta, ifall det skulle bli problem med servern.\n\nFörvänta dig inte att dina ändringar syns omedelbart på huvudkartan. Vanligtvis tar det en timma eller två och ibland upp till en vecka.\n</bodyText><column/><headline>Skapa korsningar</headline>\n<bodyText>Det är viktigt att där två vägar möts, måste de dela en punkt (eller 'nod'). Ruttplanerare använder sig av den informationen för att veta var det går att svänga.\n\nPotlatch tar hand om det här, så länge du är noggrann med att klicka <i>exakt</i> på den väg du vill skapa en korsning med. Se efter tecken så som; när punkter blir blå, muspekaren ändras. Korsningspunkten har en svart ram.</bodyText>\n<headline>Flytta och radera</headline>\n<bodyText>Det här fungerar precis så som du förväntar dig. För att ta bort en punkt, markera den och tryck på 'Delete'. För att ta bort en hel väg, tryck 'Shift-Delete'.\n\nFör att flytta på något, är det bara att dra det med musen (du måste klicka och hålla inne knappen en kort stund före du kan dra ett objekt, så att du inte råkar flytta något av misstag).</bodyText>\n<column/><headline>Mer avancerade funktioner</headline>\n<bodyText><img src=\"scissors\">Om en väg har olika namn på olika sträckor, måste du dela vägen. Klicka på vägen; klicka sedan på punkten där vägen skall delas och klicka på ikonen med saxen (du kan slå ihop vägar genom att klicka med Control, eller Apple knappen på en Mac, men gör inte det med vägar som har olika namn eller typ).\n\n<img src=\"tidy\">Rondeller är verkligt svåra att rita korrekt. Men var inte orolig, Potlatch kan hjälpa till. Rita bara en grov cirkel, försäkra dig om att den sitter ihop med sig själv i ändarna. Klicka sedan på ikonen. (Ikonen kan också användas för att räta ut vägar som skall vara raka.)</bodyText>\n<headline>Intressepunkter</headline>\n<bodyText>Det första du lärde dig var hur man drar och släpper en intressepunkt. Du kan också skapa en genom att dubbel-klicka på kartan. En grön cirkel skapas. Men hur bestämmer man om det är en kyrka eller en bensinstation? Klicka på 'Taggning' ovan för att lära dig!\n\n<!--\n========================================================================================================================\nSida 4: Taggning\n\n--><page/><headline>Vilken typ av väg är det?</headline>\n<bodyText>När du har ritat en väg skall du tala om vad för slags väg det är. Är det en riksväg, stig eller älv? Vad heter den? Är det några speciella regler (t.ex. cykling förbjuden)?\n\nI OpenStreetMap sparas den här informationen i 'taggar'. En tag har två delar och du kan ha så många taggar du vill. Till exempel kan du lägga till <i>highway | trunk</i> för att säga att det är en större väg; <i>highway | residential</i> för en väg i ett bostadsområde eller <i>highway | footpath</i> för en gångstig. Om cyklar inte är tillåtna, så kan du lägga till <i>bicycle | no</i>. Sedan lägger du till namnet genom <i>name | Kungsgatan</i>.\n\nI Potlatch ser du taggarna i nedre delen av skärmen. Klicka på en existerande väg och du ser vilka taggar den har. Klicka på '+' tecknet nere till höger för att lägga till nya taggar. 'x' vid varje tagg används för att ta bort taggen.\n\nDu kan tagga hela vägar, enskilda punkter längs vägen (t.ex. en grind eller trafikljus) och andra intressepunkter.</bodytext>\n<column/><headline>Använda fördefinierade taggar</headline>\n<bodyText>För att underlätta för dig har Potlatch en del fördefinierade taggar för de vanligaste behoven.\n\n<img src=\"preset_road\">Välj en väg, klicka sedan din väg genom symbolerna tills du hittar en passande. Välj det alternativ som passar bäst i menyn.\n\nDetta kommer att leda till att taggar läggs till. Några kommer att bli delvis tomma, så att du kan skriva in t.ex. vägnamn och nummer.</bodyText>\n<headline>Enkelriktade vägar</headline>\n<bodyText>Kanske du vill lägga till en tagg så som <i>oneway | yes</i>, men hur avgör du i vilken riktning? Det finns en pil i nedre vänstra hörnet, som talar om en vägs riktning, från start till slut. Klicka på denna pil för att ändra riktning.</bodyText>\n<column/><headline>Att välja dina egna taggar</headline>\n<bodyText>Naturligtvis är du inte begränsad till endast de fördefinierade. Genom att använda '+'-knappen kan du använda vilka taggar som helst.\n\nDu kan se vilka taggar andra har använt i <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a> och det finns en lång lista med populära taggar på vår wiki kallad <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. Men dessa är <i>endast förslag, inte regler</i>. Du är fri att skapa egna taggar eller låna från andra.\n\nEftersom OpenStreetMap-data används till att framställa många olika slags kartor, kommer varje karta att använda och visa egna utvalda taggar.</bodyText>\n<headline>Relationer</headline>\n<bodyText>Ibland är inte taggar tillräckligt utan du måste 'gruppera' två eller fler vägar. Kanske en sväng är förbjuden från en väg in på en annan eller 20 vägar tillsammans bildar en uppmärkt cykelrutt. Du kan göra detta med en avancerad funktion kallad 'relationer'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Lär dig mer</a> på wikin.</bodyText>\n\n<!--\n========================================================================================================================\nSida 6: Felsökning\n\n--><page/><headline>Ångra misstag</headline>\n<bodyText><img src=\"undo\">Det här är ångerknappen (du kan också trycka Z) - för att ångra den sista ändringen du gjorde.\n\nDu kan gå tillbaka till en tidigare sparad version av en väg eller punkt. Välj den och klicka på dess ID (numret nere till vänster) eller tryck H (för historiken). Du kommer att se en lista av med alla som har editerat den och när. Välj den du vill gå tillbaka till och klicka på Återställ.\n\nOm du utav misstag har tagit bort en väg och sparat ändringen, tryck U (för att ångra raderingen). All borttagna vägar kommer at visas. Välj den du vill ha, lås upp genom att klicka på det röda hänglåset och spara som vanligt.\n\nTror du att någon annan har begått ett misstag? Sänd dem ett vänligt meddelande. Använd historik funktionen (H) för att välja deras namn och tryck på 'Post'.\n\nAnvänd Inspector (i 'Avancerat' menyn) för information om den aktuella vägen eller punkten.\n</bodyText><column/><headline>Vanliga frågor</headline>\n<bodyText><b>Hur ser jag mina vägpunkt?</b>\nVägpunkter visas endast om du klickar 'ändra' bredvid spårets titel i 'GPS spår'. Filen måste innehålla både vägpunkter och spårlog, då servern inte kommer bry sig om någonting som endast innehåller vägpunkter.\n\nFler vanliga frågor (FAQ) om <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> och <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Arbeta snabbare</headline>\n<bodyText>Desto större område du arbetar med, desto mer data måste Potlatch ladda. Zooma därför in så långt som möjligt innan du klickar på 'Ändra'.\n\nStäng av 'Använd penna och handpekare' (i fönstret för inställningar) för maximal snabbhet.\n\nOm servern är långsam, kom tillbaka senare. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Kolla wikin</a> för kända problem. Ibland som på söndagkvällar är det många som jobbar och det kan gå långsamt.\n\nBe Potlatch att komma ihåg dina favorittaggar. Välj en väg eller punkt med de taggarna, tryck sedan Ctrl, Shift och ett numer mellan 1 och 9. För att sedan använda de taggarna igen, tryck bara Shift och det numret. (Potlatch kommer att komma ihåg dem på denna datorn)\n\nGör om ditt GPS-spår till en väg genom att hitta det i 'GPS-spår' listan, klicka på 'ändra'. Markera sedan 'konvertera'-rutan.  Vägen kommer att vara låst (röd) så att det inte går att spara. Ändra först och klicka sedan på röda hänglåset för att låsa upp när du är redo att spara.</bodytext>\n\n<!--\n========================================================================================================================\nSida 7: Snabbguide\n\n--><page/><headline>Att klicka på</headline>\n<bodyText><b>Dra i kartan</b> för att flytta runt den.\n<b>Dubbelklicka</b> för att skapa en ny intressepunkt (POI).\n<b>Enkelklicka</b> för att starta en ny väg.\n<b>Håll och dra i en väg eller POI</b> för att flytta den.</bodyText>\n<headline>När du ritar en väg</headline>\n<bodyText><b>Dubbelklicka</b> eller <b>tryck Enter</b> för att avsluta en väg.\n<b>Klicka</b> på en annan väg för att skapa en korsning.\n<b>Shiftklicka slutet på en annan väg</b> för att slå ihop dem.</bodyText>\n<headline>När en väg är vald</headline>\n<bodyText><b>Klicka på en punkt</b> för att välja den.\n<b>Shift-klicka i en väg</b> för att lägga till en ny punkt.\n<b>Shift-klicka på en punkt</b> för att starta en ny väg där.\n<b>Control-klicka på en annan väg</b> för att koppla ihop dem.</bodyText>\n</bodyText>\n<column/><headline>Tangentbordskommandon</headline>\n<bodyText><textformat tabstops='[25]'>B Lägg till en källhänvisningstag\nC Stäng ett ändringsset\nG Visa <u>G</u>PS-spår\nH Visa <u>h</u>istoriken\nI Visa <u>i</u>nspector\nJ Slå ihop två korsande vägar i en punkt.\nK Lås/lås upp den aktuella punkten/vägen\nL Visa <u>l</u>atitud/longitud\nM <u>M</u>aximera kartfönstret\nP Skapa en <u>p</u>arallell väg\nR Upprepa taggar\nS <u>S</u>para (om du valt 'Ändra via spara')\nT Omvandla till en rät linje eller cirkel\nU Återkalla (visa borttagna vägar)\nX Dela en väg i två separata\nZ Ångra\n- Ta bort en punkt ifrån aktuell väg\n+ Lägg till en ny tagg\n/ Välj annan väg som delar den aktuella punkten\n</textformat><textformat tabstops='[50]'>Delete Ta bort en punkt\n  (+Shift) Ta bort en hel väg\nReturn Avsluta ritandet av en linje\nHåll Mellanslag och dra bakgrunden\nEsc Avbryt ändringen\n; ladda om data från servern\n0 Ta bort alla taggar\n1-9 Välj fördefinierade taggar\n  (+Shift) Välj användardefinierade taggar\n  (+S/Ctrl) Definiera användartaggar\n§ eller ` Växla mellan taggrupper\n</textformat>\n</bodyText>"
   hint_drawmode: Klicka för att lägga till en punkt\n Dubbelklicka för att avsluta vägen.
   hint_latlon: "lat $1\nlon $2"
   hint_loading: laddar vägar
@@ -99,6 +100,7 @@ sv:
   inspector_uploading: (laddar upp)
   inspector_way_connects_to: Förbunden med $1 vägar
   inspector_way_nodes: $1 noder
+  loading: Laddar...
   login_pwd: "Lösenord:"
   login_retry: Okänt användarnamn. Vänligen försök igen.
   login_title: Kunde inte logga in
@@ -180,6 +182,7 @@ sv:
   retry: Försök igen
   revert: Återställ
   save: Spara
+  tags_backtolist: Tillbaka till listan
   tip_addrelation: Lägg till i en relation
   tip_addtag: Lägg till en ny etikett (tag)
   tip_alert: Ett fel har inträffat - klicka för detaljer
index 9fb9accc712ec72f3810f21c43ebd752dc7fb361..77351131f3a9c2dedc0b29e2e2deb96358f88323 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Ukrainian (Українська)
 # Exported from translatewiki.net
 # Export driver: syck
+# Author: AS
 # Author: Andygol
 # Author: Prima klasy4na
 uk: 
@@ -33,6 +34,7 @@ uk:
   advanced_tooltip: Розширені дії з редагування
   advanced_undelete: Відновити
   advice_bendy: Дуже вигнуто (SHIFT — випрямити)
+  advice_conflict: Конфлікт на сервері — можливо, потрібно зберегти знов
   advice_deletingpoi: Вилучення об’єкта (POI) (Z — відміна)
   advice_deletingway: Вилучення лінії (Z — відміна)
   advice_microblogged: Оновлено ваш статус $1
@@ -80,7 +82,7 @@ uk:
   heading_tagging: Встановлення теґів
   heading_troubleshooting: Вирішення проблем
   help: Довідка
-  help_html: "<!--\n\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 1: Ð\92Ñ\81Ñ\82Ñ\83п\n\n--><headline>Ð\9bаÑ\81каво Ð¿Ñ\80оÑ\81имо Ð´Ð¾ Potlatch</headline>\n<largeText>Potlatch â\80\94 Ñ\86е Ð¿Ñ\80оÑ\81Ñ\82ий Ñ\83 Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\96 Ñ\80едакÑ\82оÑ\80 Ð´Ð»Ñ\8f OpenStreetMap. Ð\9cалÑ\8eйÑ\82е Ð´Ð¾Ñ\80оги, Ñ\81Ñ\82ежки, Ð²Ð¸Ð·Ð½Ð°Ñ\87нÑ\96 Ð¿Ð°Ð¼'Ñ\8fÑ\82ки Ñ\96 Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ð¸, Ð¾Ð±Ñ\80облÑ\8fÑ\8eÑ\87и Ð²Ð°Ñ\88Ñ\96 GPS-данÑ\96, Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки Ñ\96 Ñ\81Ñ\82аÑ\80Ñ\96 Ð¼Ð°Ð¿Ð¸.\n\nЦÑ\96 Ð´Ð¾Ð²Ñ\96дковÑ\96 Ñ\81Ñ\82оÑ\80Ñ\96нки Ð¾Ð·Ð½Ð°Ð¹Ð¾Ð¼Ð»Ñ\8fÑ\82Ñ\8c Ð²Ð°Ñ\81 Ð· Ð¾Ñ\81новами Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Potlatch Ñ\96 Ð²ÐºÐ°Ð¶Ñ\83Ñ\82Ñ\8c Ð´Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð´Ñ\96знаÑ\82иÑ\81Ñ\8f Ð´Ð¾Ð´Ð°Ñ\82ковÑ\96 Ð²Ñ\96домоÑ\81Ñ\82Ñ\96. Ð\93оÑ\80Ñ\82айÑ\82е Ñ\81Ñ\82оÑ\80Ñ\96нки, Ð½Ð°Ñ\82иÑ\81каÑ\8eÑ\87и Ð½Ð° Ð½Ð°Ð·Ð²Ð¸ Ñ\80оздÑ\96лÑ\96в Ð² Ñ\88апÑ\86Ñ\96 Ñ\86Ñ\8cого Ð´Ð¾Ð²Ñ\96дника.\n\nÐ\9aоли Ð²Ð¸ Ð·Ð°Ñ\85оÑ\87еÑ\82е Ð·Ð°ÐºÑ\80иÑ\82и Ð´Ð¾Ð²Ñ\96дник â\80\94 ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð±Ñ\83дÑ\8c-де Ð¿Ð¾Ñ\80Ñ\83Ñ\87 Ð· Ð²Ñ\96кном Ð´Ð¾Ð²Ñ\96дника.\n\n</largeText>\n\n<column/><headline>Ð\9aоÑ\80иÑ\81нÑ\96 Ñ\80еÑ\87Ñ\96, Ñ\8fкÑ\96 Ñ\82Ñ\80еба Ð·Ð½Ð°Ñ\82и</headline>\n<bodyText>Ð\9dе ÐºÐ¾Ð¿Ñ\96Ñ\8eйÑ\82е Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð· Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿!\n\nЯкÑ\89о Ð²Ð¸ Ð¾Ð±Ð¸Ñ\80аÑ\94Ñ\82е Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ð²Ð¶Ð¸Ð²Ñ\83» â\80\94 Ð±Ñ\83дÑ\8c\8fкÑ\96 Ð·Ð¼Ñ\96ни, Ñ\8fкÑ\96 Ð²Ð¸ Ð·Ð´Ñ\96йÑ\81нÑ\8eÑ\94Ñ\82е, Ð½Ð°Ð´Ñ\81илаÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð´Ð¾ Ð±Ð°Ð·Ð¸ Ð´Ð°Ð½Ð¸Ð¹ <i>вÑ\96дÑ\80азÑ\83</i>, Ñ\8fк Ñ\82Ñ\96лÑ\8cки Ð²Ð¸ Ñ\97Ñ\85 Ð·Ñ\80обиÑ\82е. Ð¯ÐºÑ\89о Ð²Ð°Ð¼ Ð¿Ð¾Ð´Ð¾Ð±Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð±Ð°Ð³Ð°Ñ\82о Ð¿Ñ\80авиÑ\82и Ñ\82а Ð´Ð¾Ð¾Ð¿Ñ\80аÑ\86Ñ\8cовÑ\83ваÑ\82и Ð²Ð°Ñ\88Ñ\96 Ð¿Ñ\80авки Ð½Ð° Ñ\85одÑ\83 â\80\94 Ñ\81коÑ\80иÑ\81Ñ\82Ñ\83йÑ\82еÑ\81Ñ\8c Â«Ð\9fÑ\80авкоÑ\8e Ñ\96з Ð·Ð±ÐµÑ\80еженнÑ\8fм», Ñ\83 Ñ\86Ñ\8cомÑ\83 Ñ\80азÑ\96 Ð·Ð¼Ñ\96ни Ð±Ñ\83дÑ\83Ñ\82Ñ\8c Ð½Ð°Ð´Ñ\96Ñ\81ланÑ\96 Ð½Ð° Ñ\81еÑ\80веÑ\80 Ñ\82Ñ\96лÑ\8cки Ð¿Ñ\96Ñ\81лÑ\8f Ñ\82ого, Ñ\8fк Ð²Ð¸ Ð½Ð°Ñ\82иÑ\81неÑ\82е Â«Ð\97беÑ\80егÑ\82и».\n\nÐ\91Ñ\83дÑ\8c\8fкÑ\96 Ð¿Ñ\80авки Ð·â\80\99Ñ\8fвлÑ\8fÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96 Ñ\87еÑ\80ез Ð´ÐµÑ\8fкий Ñ\87аÑ\81 (годинÑ\83 Ð°Ð±Ð¾ Ð´Ð²Ñ\96, Ñ\87и Ð½Ð°Ð²Ñ\96Ñ\82Ñ\8c Ñ\87еÑ\80ез Ñ\82ижденÑ\8c). Ð\9dе Ð²Ñ\81е Ð±Ñ\83де Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¾ Ð½Ð° Ð¼Ð°Ð¿Ñ\96 â\80\94 Ñ\86е Ð·Ñ\80облено Ð´Ð»Ñ\8f Ñ\82ого Ñ\89об Ð²Ð¾Ð½Ð° Ð½Ð° Ð²Ð¸Ð³Ð»Ñ\8fдала Ð·Ð°Ð¿Ð»Ñ\83Ñ\82ано.  Ð¢Ð°Ðº Ñ\8fк OpenStreetMap â\80\94 Ð²Ñ\96дкÑ\80иÑ\82ий Ð¿Ñ\80оекÑ\82, Ñ\96нÑ\88Ñ\96 Ð¼Ð°Ñ\8eÑ\82Ñ\8c Ð·Ð¼Ð¾Ð³Ñ\83 Ñ\81Ñ\82воÑ\80Ñ\8eваÑ\82и Ð²Ð»Ð°Ñ\81нÑ\96 (Ñ\81пеÑ\86Ñ\96алÑ\8cнÑ\96) Ð¼Ð°Ð¿Ð¸ Ð½Ð° Ð¹Ð¾Ð³Ð¾ Ð¾Ñ\81новÑ\96, Ð½Ð°Ð¿Ñ\80иклад: <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap (Ð\92Ñ\96дкÑ\80иÑ\82Ñ\96 Ð²ÐµÐ»Ð¾Ñ\81ипеднÑ\96 Ð¼Ð°Ð¿Ð¸)</a> Ð°Ð±Ð¾ <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Ð\9cапа Ð² Ñ\81Ñ\82илÑ\96 Midnight Commander</a>\n\nÐ\97апамâ\80\99Ñ\8fÑ\82айÑ\82е Ñ\97Ñ\85, Ð³Ð°Ñ\80нÑ\83 Ð¼Ð°Ð¿Ñ\83 (з Ð´Ð¾Ð±Ñ\80е Ð¿Ð¾Ð·Ð½Ð°Ñ\87еними Ð¿Ð»Ð°Ð²Ð½Ð¸Ð¼Ð¸ Ð»Ñ\96нÑ\96Ñ\8fми) Ñ\82а Ñ\81Ñ\85емÑ\83 (Ñ\8fка Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\94 Ð¿ÐµÑ\80евÑ\96Ñ\80иÑ\82и, Ñ\89о Ð´Ð¾Ñ\80оги Ð·â\80\99Ñ\94днÑ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ð¿ÐµÑ\80еÑ\85Ñ\80еÑ\81Ñ\82Ñ\8fÑ\85).\n\nÐ¥Ñ\96ба Ð¼Ð¸ Ð½Ðµ Ð³Ð¾Ð²Ð¾Ñ\80или Ð¿Ñ\80о Ñ\82е, Ñ\89о Ð½Ðµ Ñ\82Ñ\80еба ÐºÐ¾Ð¿Ñ\96Ñ\8eваÑ\82и Ð· Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿?\n</bodyText>\n\n<column/><headline>Ð\94Ñ\96знайÑ\82еÑ\81Ñ\8f Ð±Ñ\96лÑ\8cÑ\88е:</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Ð\9aеÑ\80Ñ\96вниÑ\86Ñ\82во Ð¿Ð¾ Ñ\80обоÑ\82Ñ\96 Ð· Potlatch.</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">СпиÑ\81ки Ñ\80озÑ\81илки</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Ð\9eнлайн Ð§Ð°Ñ\82 (Ð\96ива Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð°)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">ФоÑ\80Ñ\83м</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Ð\92Ñ\96кÑ\96</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">СиÑ\80Ñ\86Ñ\96 Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 2: Ð\97 Ñ\87ого Ñ\80озпоÑ\87аÑ\82и\n\n--><page/><headline>Ð\97 Ñ\87ого Ñ\80озпоÑ\87аÑ\82и</headline>\n<bodyText>Ð\9eÑ\82же Ð²Ð¸ Ð¼Ð°Ñ\94Ñ\82е Ð²Ñ\96дкÑ\80иÑ\82ий Potlatch, ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ñ\96з Ð·Ð±ÐµÑ\80еженнÑ\8fм» Ñ\89об Ð¿Ð¾Ñ\87аÑ\82и Ð¿Ñ\80авиÑ\82и Ð¼Ð°Ð¿Ñ\83.\n\nТепеÑ\80 Ð²Ð¸ Ð¼Ð°Ñ\94Ñ\82е Ð·Ð¼Ð¾Ð³Ñ\83 Ð¿Ð¾Ñ\87аÑ\82и ÐºÑ\80еÑ\81лиÑ\82и Ð¼Ð°Ð¿Ñ\83. Ð\9dайпÑ\80оÑ\81Ñ\82Ñ\96Ñ\88им Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ\8fм Ð´Ð»Ñ\8f Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ð±Ñ\83де Ð½Ð°Ð½ÐµÑ\81еннÑ\8f Ð¾Ð±â\80\99Ñ\94кÑ\82Ñ\96в (POI). Ð¦Ðµ Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð±Ñ\83Ñ\82и Ñ\86еÑ\80кви, Ð·Ð°Ð»Ñ\96зниÑ\87нÑ\96 Ñ\81Ñ\82анÑ\86Ñ\96Ñ\97, Ñ\81Ñ\82оÑ\8fнкиâ\80¦ Ð±Ñ\83дÑ\8c\89о Ð·Ð° Ð²Ð°Ñ\88им Ð±Ð°Ð¶Ð°Ð½Ð½Ñ\8fм.</bodytext>\n\n<column/><headline>Ð\9fеÑ\80еÑ\82Ñ\8fгÑ\83йÑ\82е Ð¾Ð±â\80\99Ñ\94кÑ\82и Ð½Ð° Ð¼Ð°Ð¿Ñ\83</headline>\n<bodyText>Це Ñ\80обиÑ\82и Ð´Ñ\83же Ð¿Ñ\80оÑ\81Ñ\82о. Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð±Ð°Ñ\87иÑ\82и Ð±Ñ\96лÑ\8cÑ\88 Ð²Ð¶Ð¸Ð²Ð°Ð½Ñ\96 Ð¾Ð±â\80\99Ñ\94кÑ\82и (POI) Ð·Ð½Ð¸Ð·Ñ\83, Ð²Ñ\96дÑ\80азÑ\83 Ð¿Ñ\96д Ð¼Ð°Ð¿Ð¾Ñ\8e. Ð\9fеÑ\80еÑ\82Ñ\8fгÑ\83йÑ\82е Ñ\97Ñ\85 Ð½Ð° Ð¼Ð°Ð¿Ñ\83 Ñ\83 Ð¿Ð¾Ñ\82Ñ\80Ñ\96бне Ð¼Ñ\96Ñ\81Ñ\86е. Ð\9dе Ð¿ÐµÑ\80еймайÑ\82еÑ\81Ñ\8c Ñ\82им, Ñ\89о Ð²Ð¸ Ð½Ðµ Ð¿Ð¾Ñ\81Ñ\82авиÑ\82е Ñ\97Ñ\85 Ñ\83 Ð²Ñ\96Ñ\80не Ð¼Ñ\96Ñ\81Ñ\86е Ð²Ñ\96дÑ\80азÑ\83, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ñ\82Ñ\96м Ð¿ÐµÑ\80еÑ\82Ñ\8fгнÑ\83Ñ\82и Ñ\97Ñ\85 ÐºÑ\83ди Ñ\82Ñ\80еба. Ð\92идÑ\96ленÑ\96 Ð¾Ð±â\80\99Ñ\94кÑ\82и Ð¿Ð¾Ð·Ð½Ð°Ñ\87аÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð¶Ð¾Ð²Ñ\82им ÐºÐ¾Ð»Ñ\8cоÑ\80ом.\n\nÐ\9fÑ\96Ñ\81лÑ\8f Ñ\82ого Ñ\8fк Ð²Ð¸ Ð·Ñ\80обили Ñ\86е, Ð²Ð¸, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ð·Ð°Ð±Ð°Ð¶Ð°Ñ\94Ñ\82е Ð²ÐºÐ°Ð·Ð°Ñ\82и Ð½Ð°Ð·Ð²Ñ\83 Ð´Ð»Ñ\8f Ð²Ð°Ñ\88ого Ð¾Ð±â\80\99Ñ\94кÑ\82а (зÑ\83пинки, Ñ\86еÑ\80кви, Ñ\82еаÑ\82Ñ\80Ñ\83 Ð¸ Ñ\82\96.). Ð\92и Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82е Ð½ÐµÐ²ÐµÐ»Ð¸Ñ\87кÑ\83 Ñ\82аблиÑ\86Ñ\8e, Ñ\8fк Ð·â\80\99Ñ\8fвиÑ\82Ñ\8cÑ\81Ñ\8f Ð·Ð½Ð¸Ð·Ñ\83. Ð\9eдин Ð· Ñ\97Ñ\97 Ñ\80Ñ\8fдкÑ\96в â\80\93 Â«Ð½Ð°Ð·Ð²Ð°Â»(«name») Ð±Ñ\83де Ð¼Ð°Ñ\82и Ð·Ð½Ð°Ñ\87еннÑ\8f â\80\93 Â«Ð²Ð²ÐµÐ´Ñ\96Ñ\82Ñ\8c Ð½Ð°Ð·Ð²Ñ\83» («(type name here)»). Ð\97Ñ\80обÑ\96Ñ\82Ñ\8c Ñ\86е â\80\94 ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° ÐºÐ»Ñ\96Ñ\82инкÑ\83 Ñ\82а Ð²Ð²ÐµÐ´Ñ\96Ñ\82Ñ\8c Ð½Ð°Ð·Ð²Ñ\83.\n\nÐ\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð² Ð±Ñ\83дÑ\8c\8fкомÑ\83 Ñ\96нÑ\88омÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\96 Ð½Ð° Ð¼Ð°Ð¿Ñ\96 Ð´Ð»Ñ\8f Ð·Ð½Ñ\8fÑ\82Ñ\82Ñ\8f Ð²Ð¸Ð´Ñ\96леннÑ\8f Ð· Ð¾Ð±â\80\99Ñ\94кÑ\82а, Ñ\89об Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ\82и Ð·Ð½Ð¾Ð²Ñ\83 Ð¿Ð°Ð½ÐµÐ»Ñ\8c Ð·Ñ\96 Ð·Ð½Ð°Ñ\87ками.\n\nÐ\9fÑ\80оÑ\81Ñ\82о, Ñ\87и Ð½Ðµ Ñ\82ак? Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð\97беÑ\80егÑ\82и» («Save») Ð² Ð¿Ñ\80авомÑ\83 Ð½Ð¸Ð¶Ð½Ñ\8cомÑ\83 ÐºÑ\83Ñ\82Ñ\96, ÐºÐ¾Ð»Ð¸ Ð·Ð°ÐºÑ\96нÑ\87иÑ\82е.\n</bodyText><column/><headline>Ð\9fеÑ\80еÑ\81Ñ\83ваннÑ\8f Ð¼Ð°Ð¿Ð¾Ñ\8e</headline>\n<bodyText>Ð\94лÑ\8f Ñ\82ого Ñ\89об Ð¿ÐµÑ\80емÑ\96Ñ\81Ñ\82иÑ\82иÑ\81Ñ\8c Ð½Ð° Ñ\96нÑ\88Ñ\83 Ð´Ñ\96лÑ\8fнкÑ\83 Ð¼Ð°Ð¿Ð¸ â\80\94 Ð¿Ñ\80оÑ\81Ñ\82о Ð¿Ð¾Ñ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ð¼Ð°Ð¿Ñ\83 Ñ\83 Ð¿Ð¾Ñ\82Ñ\80Ñ\96бномÑ\83 Ð½Ð°Ð¿Ñ\80Ñ\8fмкÑ\83. Potlatch Ð°Ð²Ñ\82омаÑ\82иÑ\87но Ð·Ð°Ð²Ð°Ð½Ñ\82ажиÑ\82Ñ\8c Ð½Ð¾Ð²Ñ\96 Ð´Ð°Ð½Ñ\96 (глÑ\8fнÑ\8cÑ\82е Ñ\83 Ð¿Ñ\80авий Ð²ÐµÑ\80Ñ\85нÑ\96й ÐºÑ\83Ñ\82).\n\nÐ\9cи Ð¿Ñ\80опонÑ\83вали Ð²Ð°Ð¼ Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ñ\96з Ð·Ð±ÐµÑ\80еженнÑ\8fм», Ð°Ð»Ðµ Ð²Ð¸ Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð¾Ð±Ñ\80аÑ\82и Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ð²Ð¶Ð¸Ð²Ñ\83». Ð¯ÐºÑ\89о Ð²Ð¸ Ð¾Ð±ÐµÑ\80еÑ\82е Ñ\86ей Ñ\80ежим, Ð²Ð°Ñ\88Ñ\96 Ð·Ð¼Ñ\96ни Ð±Ñ\83дÑ\83Ñ\82Ñ\8c Ð½Ð°Ð´Ñ\81илаÑ\82иÑ\81Ñ\8c Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð²Ñ\96дÑ\80азÑ\83, Ñ\8fк Ñ\82Ñ\96лÑ\8cки Ð²Ð¸ Ñ\97Ñ\85 Ð·Ñ\80обиÑ\82е, Ð¾Ñ\82же Ð²Ð°Ð¼ Ð½Ðµ Ñ\82Ñ\80еба Ð±Ñ\83де Ð½Ð°Ñ\82иÑ\81каÑ\82и Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ\83 Â«Ð\97беÑ\80егÑ\82и» («Save»). Ð¦Ðµ Ð´Ð¾Ð±Ñ\80е Ð¿Ñ\96дÑ\85одиÑ\82Ñ\8c Ð´Ð»Ñ\8f Ñ\88видкоÑ\97 Ð¿Ñ\80авки Ñ\82а <a href=\"http://wiki.openstreetmap.org/wiki/Uk:Mapping parties\" target=\"_blank\">заÑ\85одÑ\96в Ð· ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84Ñ\83ваннÑ\8f</a>.</bodyText>\n\n<headline>Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\96 ÐºÑ\80оки</headline>\n<bodyText>РозÑ\96бÑ\80алиÑ\81Ñ\8c? Ð§Ñ\83дово. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð\93еодезÑ\96Ñ\8f» («Surveying»), Ñ\89об Ð´Ñ\96знаÑ\82иÑ\81Ñ\8c, Ñ\8fк Ñ\81Ñ\82аÑ\82и <i>Ñ\81паÑ\80вжнÑ\96м</i> ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84ом.</bodyText>\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 3: Ð\93еодезÑ\96Ñ\8f\n\n--><page/><headline>Ð\93еодезÑ\96Ñ\8f Ð· GPS</headline>\n<bodyText>Ð\86деÑ\8f OpenStreetMap Ð¿Ð¾Ð»Ñ\8fгаÑ\94 Ð² Ñ\82омÑ\83, Ñ\89об Ð·Ñ\80обиÑ\82и Ð¼Ð°Ð¿Ñ\83 Ð±ÐµÐ· Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ\8c, Ñ\8fкÑ\96 Ð¼Ñ\96Ñ\81Ñ\82Ñ\8fÑ\82Ñ\8c Ð¼Ð°Ð¿Ð¸ Ð·Ð°Ñ\85иÑ\89енÑ\96 Ð°Ð²Ñ\82оÑ\80Ñ\81Ñ\8cким Ð¿Ñ\80авом. Ð\92 Ð·Ð²â\80\99Ñ\8fзкÑ\83 Ð· Ñ\87им Ð²Ð¸ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÐ¾Ð¿Ñ\96Ñ\8eваÑ\82и Ð· Ñ\96нÑ\88иÑ\85 Ð´Ð¶ÐµÑ\80ел, Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð¿Ñ\96Ñ\82и Ñ\96 Ð¾Ð±Ñ\81Ñ\82ежиÑ\82и Ð²Ñ\83лиÑ\86Ñ\96 Ñ\81амоÑ\81Ñ\82Ñ\96йно. Ð\94о Ñ\82ого Ð¶, Ñ\86е Ð´Ñ\83же Ñ\86Ñ\96каво! \nÐ\9dайкÑ\80аÑ\89Ñ\96й Ñ\81поÑ\81Ñ\96б Ð·Ñ\80обиÑ\82и Ñ\86е â\80\94 Ñ\81коÑ\80иÑ\81Ñ\82аÑ\82иÑ\81Ñ\8c GPS-пÑ\80иÑ\81Ñ\82Ñ\80оÑ\94м. Ð\97найдÑ\96Ñ\82Ñ\8c Ñ\82еÑ\80иÑ\82оÑ\80Ñ\96Ñ\8e, Ñ\8fка Ñ\89е Ð²Ñ\96дÑ\81Ñ\83Ñ\82нÑ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96 (звÑ\96Ñ\81но Ð½Ð° Ð¼Ð°Ð¿Ñ\96 OpenStreetMap), Ð¿Ñ\80огÑ\83лÑ\8fйÑ\82еÑ\81Ñ\8c Ð¿Ñ\96Ñ\88ки Ð°Ð±Ð¾ Ð¿Ð¾Ñ\97дÑ\8cÑ\82е Ð½Ð° Ð²ÐµÐ»Ð¾Ñ\81ипедÑ\96 Ñ\96з Ð²Ð²Ñ\96мкненим GPS. Ð\97аноÑ\82Ñ\83йÑ\82е Ð½Ð°Ð·Ð²Ð¸ Ð²Ñ\83лиÑ\86Ñ\8c Ñ\82а Ð±Ñ\83дÑ\8c\8fкÑ\96 Ñ\86Ñ\96кавÑ\96 Ð¿Ð¾Ð´Ñ\80обиÑ\86Ñ\96 (магазини, ÐºÐ°Ñ\84е, Ñ\83Ñ\81Ñ\82анови â\80¦) Ð¿Ñ\96д Ñ\87аÑ\81 Ð²Ð°Ñ\88оÑ\97 Ð¿Ñ\80огÑ\83лÑ\8fнки.\n\nÐ\9aоли Ð²Ð¸ Ð¿Ð¾Ð²ÐµÑ\80неÑ\82еÑ\81Ñ\8c Ð´Ð¾ Ð´Ð¾Ð¼Ñ\83, Ð²Ð°Ñ\88 GPS Ð±Ñ\83де Ð¼Ð°Ñ\82и Ð·Ð°Ð¿Ð¸Ñ\81аний Ñ\82Ñ\80ек Ð· Ñ\83Ñ\81Ñ\96Ñ\85 Ñ\82иÑ\85 Ð¼Ñ\96Ñ\81Ñ\86Ñ\8c, Ð´Ðµ Ð²Ð¸ Ð±Ñ\83ли. Ð\9fÑ\96Ñ\81лÑ\8f Ñ\87ого Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ð²Ð°Ð½Ñ\82ажиÑ\82и Ð¹Ð¾Ð³Ð¾ Ð½Ð° Ñ\81еÑ\80веÑ\80 OpenStreetMap.\n\nÐ\9dайкÑ\80аÑ\89Ñ\96м Ñ\82ипом Ð¿Ñ\80иÑ\81Ñ\82Ñ\80оÑ\97в GPS Ñ\94 Ñ\82акÑ\96, Ñ\8fкÑ\96 Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\83ваÑ\82и Ñ\82Ñ\80ек Ð· Ð¿ÐµÐ²Ð½Ð¾Ñ\8e Ð¿ÐµÑ\80Ñ\96одиÑ\87нÑ\96Ñ\81Ñ\82Ñ\8e (кожнÑ\83 Ñ\81екÑ\83ндÑ\83 Ð°Ð±Ð¾ Ð´Ð²Ñ\96) Ñ\82а Ð¼Ð°Ñ\94 Ð´Ð¾Ñ\81Ñ\82аÑ\82нÑ\8cо Ð¼Ñ\96Ñ\81Ñ\86Ñ\8f Ð´Ð»Ñ\8f Ð·Ð±ÐµÑ\80еженнÑ\8f. Ð\91Ñ\96лÑ\8cÑ\88Ñ\96Ñ\81Ñ\82Ñ\8c Ð½Ð°Ñ\88иÑ\85 ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84Ñ\96в Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8c Ð¿Ñ\80иÑ\81Ñ\82Ñ\80оÑ\97 Ð²Ñ\96д Garmin Ð°Ð±Ð¾ Ð½ÐµÐ²ÐµÐ»Ð¸ÐºÑ\96 Ð¿Ñ\80иÑ\81Ñ\82Ñ\80оÑ\97 Ñ\96з Bluetooth. Ð\94окладнÑ\96Ñ\88е Ð¿Ñ\80о Ð½Ð¸Ñ\85 Ð¼Ð¾Ð¶Ð½Ð° Ð¿Ñ\80оÑ\87иÑ\82аÑ\82и Ñ\83 Ð\92Ñ\96кÑ\96 Ð½Ð° Ñ\81Ñ\82оÑ\80Ñ\96нÑ\86Ñ\96 <a href=\"http://wiki.openstreetmap.org/wiki/Uk:GPS_Reviews\" target=\"_blank\">Ð\9eглÑ\8fд GPS-пÑ\80иймаÑ\87Ñ\96в</a></bodyText>\n\n<column/><headline>Ð\97аванÑ\82аженнÑ\8f Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð²Ð°Ñ\88иÑ\85 Ñ\82Ñ\80екÑ\96в</headline>\n<bodyText>Ð\97аÑ\80аз Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бно Ð²Ð¸Ð´Ð¾Ð±Ñ\83Ñ\82и Ð²Ð°Ñ\88 Ñ\82Ñ\80ек Ð· GPS-пÑ\80иÑ\81Ñ\82Ñ\80оÑ\8e. Ð\9cожливо, Ð´Ð»Ñ\8f Ð²Ð°Ñ\88ого GPS Ñ\94 Ð¿Ñ\80огÑ\80амне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ\87еннÑ\8f Ð´Ð»Ñ\8f Ñ\86Ñ\8cого Ð°Ð±Ð¾ Ð²Ñ\96н Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\94 Ð²Ð°Ð¼ Ñ\81копÑ\96Ñ\8eваÑ\82и Ñ\84айли Ñ\87еÑ\80ез USB. Ð¯ÐºÑ\89о Ð½Ñ\96, Ñ\81пÑ\80обÑ\83йÑ\82е <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Ð£ Ð±Ñ\83дÑ\8c\8fкомÑ\83 Ð²Ð¸Ð¿Ð°Ð´ÐºÑ\83 Ð²Ñ\81е Ñ\89о Ð²Ð°Ð¼ Ñ\82Ñ\80еба â\80\94 Ñ\89об Ð¾Ñ\82Ñ\80иманий Ñ\84айл Ð±Ñ\83в Ñ\83 Ñ\84оÑ\80маÑ\82Ñ\96 GPX.\n\nÐ\94лÑ\8f Ð·Ð°Ð²Ð°Ð½Ñ\82аженнÑ\8f Ð²Ð°Ñ\88ого Ñ\82Ñ\80екÑ\83 Ð½Ð° Ñ\81еÑ\80веÑ\80 OpenStreetMap Ñ\81коÑ\80иÑ\81Ñ\82айÑ\82еÑ\81Ñ\8c Ð²ÐºÐ»Ð°Ð´ÐºÐ¾Ñ\8e Â«GPS-Ñ\82Ñ\80еки». Ð\90ле Ñ\86е Ñ\82Ñ\96лÑ\8cки Ð¿ÐµÑ\80Ñ\88ий ÐºÑ\80ок â\80\94 Ð²Ñ\96н Ð½Ðµ Ð²Ð½ÐµÑ\81е Ð·Ð¼Ñ\96н Ð´Ð¾ Ð¼Ð°Ð¿Ð¸. Ð\92ам Ñ\82Ñ\80еба Ð½Ð°ÐºÑ\80еÑ\81лиÑ\82и Ð»Ñ\96нÑ\96й Ñ\82а Ð´Ð°Ñ\82и Ñ\97м Ð½Ð°Ð·Ð²Ð¸ Ñ\81амоÑ\81Ñ\82Ñ\96йно, Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\87и Ñ\82Ñ\80ек, Ñ\8fк Ð¾Ñ\80Ñ\96Ñ\94нÑ\82иÑ\80.</bodyText>\n<headline>Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ñ\82Ñ\80екÑ\96в</headline>\n<bodyText>Ð\92аÑ\88Ñ\96 Ð·Ð°Ð²Ð°Ð½Ñ\82аженÑ\96 Ñ\82Ñ\80еки Ð·Ð½Ð°Ñ\85одÑ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ð² Ð¿ÐµÑ\80елÑ\96кÑ\83 Ð½Ð° Ð²ÐºÐ»Ð°Ð´Ñ\86Ñ\96 Â«GPS-Ñ\82Ñ\80еки». Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð¿Ñ\80авиÑ\82и» <i>Ñ\81пÑ\80ава Ð±Ñ\96лÑ\8f Ð½Ñ\8cого</i> Ñ\96 Potlatch Ð·Ð°Ð¿Ñ\83Ñ\81Ñ\82иÑ\82Ñ\8cÑ\81Ñ\8f Ð·Ð°Ð²Ð°Ð½Ñ\82аживÑ\88и Ñ\86ей Ñ\82Ñ\80ек Ñ\82а Ñ\96нÑ\88Ñ\96 Ñ\82оÑ\87ки. Ð¢ÐµÐ¿ÐµÑ\80 Ð²Ð¸ Ð³Ð¾Ñ\82овÑ\96 ÐºÑ\80еÑ\81лиÑ\82и!\n\n<img src=\"gps\">Ð\92и Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð½Ð°Ñ\82иÑ\81нÑ\83Ñ\82и Ð½Ð° Ñ\86Ñ\8e ÐºÐ½Ð¾Ð¿ÐºÑ\83, Ñ\89об Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ\82и GPS-Ñ\82Ñ\80еки ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ð´Ð»Ñ\8f Ñ\86Ñ\96Ñ\94Ñ\97 Ð´Ñ\96лÑ\8fнки.</bodyText>\n<column/><headline>Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ñ\81Ñ\83пÑ\83Ñ\82никовиÑ\85 Ñ\84оÑ\82огÑ\80аÑ\84Ñ\96й</headline>\n<bodyText>ЯкÑ\89о Ñ\83 Ð²Ð°Ñ\81 Ð½ÐµÐ¼Ð°Ñ\94 GPS, Ð½Ðµ Ð¿ÐµÑ\80еймайÑ\82еÑ\81Ñ\8c. Ð\94лÑ\8f Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ\85 Ð¼Ñ\96Ñ\81Ñ\82 Ñ\83 Ð½Ð°Ñ\81 Ñ\94 Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки (лÑ\8eбâ\80\99Ñ\8fзно Ð½Ð°Ð´Ð°Ð½Ñ\96 Yahoo!) Ð¿Ð¾ Ñ\8fким Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÑ\80еÑ\81лиÑ\82и. Ð\97беÑ\80Ñ\96Ñ\82Ñ\8c Ð´Ð¾Ð´Ð°Ñ\82ковÑ\83 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ð¼Ñ\96Ñ\81Ñ\86евÑ\96Ñ\81Ñ\82Ñ\8c Ñ\82а ÐºÑ\80еÑ\81лиÑ\82Ñ\8c Ñ\82а Ð¿Ð¾Ð·Ð½Ð°Ñ\87айÑ\82е Ð¾Ð±â\80\99Ñ\94кÑ\82и Ñ\82а Ñ\97Ñ\85 Ð½Ð°Ð·Ð²Ð¸ (додаÑ\82ковÑ\83 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e) Ð¿Ð¾ Ð·Ð½Ñ\96мкаÑ\85.\n\n<img src='prefs'>ЯкÑ\89о Ð²Ð¸ Ð½Ðµ Ð±Ð°Ñ\87иÑ\82е Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки Ð½Ð° Ñ\84онÑ\96, ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ\83 Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ванÑ\8c Ñ\82а Ð¿ÐµÑ\80еконайÑ\82еÑ\81Ñ\8c, Ñ\89о Ð²Ð¸Ð±Ñ\80ано Â«Yahoo!». Ð\92и Ð¹ Ð´Ð¾Ñ\81Ñ\96 Ð½Ðµ Ð±Ð°Ñ\87иÑ\82е Ñ\97Ñ\85 â\80\94 Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð´Ð»Ñ\8f Ð²Ð°Ñ\88ого Ð¼Ñ\96Ñ\81Ñ\86Ñ\8f Ñ\80озÑ\82аÑ\88Ñ\83ваннÑ\8f Ñ\97Ñ\85 Ð½ÐµÐ¼Ð°Ñ\94 Ð°Ð±Ð¾ Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð·Ð¼ÐµÐ½Ñ\88иÑ\82и Ð¼Ð°Ñ\81Ñ\88Ñ\82аб.\n\nÐ\9dаÑ\82иÑ\81нÑ\83вÑ\88и Ñ\82Ñ\83 Ð¶ Ñ\81амÑ\83 ÐºÐ½Ð¾Ð¿ÐºÑ\83 Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ванÑ\8c Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82и Ð½ÐµÐ²ÐµÐ»Ð¸Ñ\87кий Ð¿ÐµÑ\80елÑ\96к Ð¼Ð°Ð¿, Ð½Ð° Ñ\8fкÑ\96 Ð½Ðµ Ð¿Ð¾Ñ\88иÑ\80Ñ\8eÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8f Ð°Ð²Ñ\82оÑ\80Ñ\81Ñ\8cкого Ð¿Ñ\80ава Ð´Ð»Ñ\8f Ð\92еликобÑ\80иÑ\82анÑ\96Ñ\97 Ñ\82а OpenTopoMap â\80\94 Ð´Ð»Ñ\8f Ð¡Ð¨Ð\90. Ð\92Ñ\81Ñ\96 Ð²Ð¾Ð½Ð¸ Ð¿Ñ\80ойÑ\88ли Ð²Ñ\96дбÑ\96Ñ\80 Ð½Ð° Ð²Ñ\96дповÑ\96днÑ\96Ñ\81Ñ\82Ñ\8c Ð´Ð¾ Ð½Ð°Ñ\88оÑ\97 Ð»Ñ\96Ñ\86ензÑ\96Ñ\97, Ñ\82омÑ\83 Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ñ\97Ñ\85, Ð°Ð»Ðµ Ð½Ðµ ÐºÐ¾Ð¿Ñ\96Ñ\8eйÑ\82е Ð· Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿ Ñ\87и Ð°ÐµÑ\80оÑ\84оÑ\82ознÑ\96мкÑ\96в.  (Ð\9fамâ\80\99Ñ\8fÑ\82айÑ\82е Ð¿Ñ\80о Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°Ð²Ñ\87Ñ\96 Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8f Ð°Ð²Ñ\82оÑ\80Ñ\81Ñ\8cкого Ð¿Ñ\80ава.)\n\nÐ\86нколи Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки Ñ\82Ñ\80оÑ\85и Ð·Ñ\81Ñ\83нÑ\83Ñ\82Ñ\96 Ð²Ð±Ñ\96к Ð²Ñ\96д Ñ\82ого Ð¼Ñ\96Ñ\81Ñ\86Ñ\8f Ð´Ðµ Ð½Ð°Ñ\81пÑ\80авдÑ\96 Ð²Ð¾Ð½Ð¸ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ\96 Ð±Ñ\83Ñ\82и. Ð¯ÐºÑ\89о Ð²Ð¸ Ð¿Ð¾Ð¼Ñ\96Ñ\82иÑ\82е Ñ\82аке, Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ð\9fÑ\80обÑ\96л Ñ\82а Ð¿Ð¾Ñ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ñ\84он Ð´Ð¾ÐºÐ¸ Ð´Ð¾Ñ\80ога Ð½Ð° Ð½Ñ\8cомÑ\83 Ð½Ðµ Ñ\81пÑ\96впаде Ñ\96з Ñ\82Ñ\80еком. Ð\97авжди Ð´Ð¾Ð²Ñ\96Ñ\80Ñ\8fйÑ\82е GPS-Ñ\82Ñ\80екам Ð½Ñ\96ж Ñ\81Ñ\83пÑ\83Ñ\82никовим Ð·Ð½Ñ\96мкам.</bodytext>\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 4: Ð\9aÑ\80еÑ\81леннÑ\8f\n\n--><page/><headline>Ð\9aÑ\80еÑ\81леннÑ\8f Ð»Ñ\96нÑ\96й</headline>\n<bodyText>Ð\94лÑ\8f Ð¿Ð¾Ñ\87аÑ\82кÑ\83 ÐºÑ\80еÑ\81леннÑ\8f Ð´Ð¾Ñ\80оги (або Â«Ð»Ñ\96нÑ\96Ñ\97») Ð¿Ñ\80оÑ\81Ñ\82о ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð¿Ð¾ Ñ\87иÑ\81Ñ\82омÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\8e Ð½Ð° Ð¼Ð°Ð¿Ñ\96; Ð´Ð°Ð»Ñ\96 â\80\94 ÐºÐ»Ð°Ñ\86айÑ\82е Ð½Ð° ÐºÐ¾Ð¶Ð½Ð¾Ð¼Ñ\83 Ð²Ð¸Ð³Ð¸Ð½Ñ\96 Ð»Ñ\96нÑ\96Ñ\97. Ð\9aоли Ð²Ð¸ Ð·Ð°Ð±Ð°Ð¶Ð°Ñ\94Ñ\82е Ð·Ð°ÐºÑ\96нÑ\87иÑ\82и Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ð\92вÑ\96д Ð°Ð±Ð¾ Ð·Ñ\80обÑ\96Ñ\82Ñ\8c Ð¿Ð¾Ð´Ð²Ñ\96йне ÐºÐ»Ð°Ñ\86аннÑ\8f; Ð¿Ð¾Ñ\82Ñ\96м ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð±Ñ\83дÑ\8c-де, Ñ\89об Ð·Ð½Ð°Ñ\82и Ð²Ð¸Ð´Ñ\96леннÑ\8f Ð· Ð´Ð¾Ñ\80оги.\n\nÐ\94лÑ\8f ÐºÑ\80еÑ\81леннÑ\8f Ð»Ñ\96нÑ\96Ñ\97, Ñ\89о Ð¿Ð¾Ñ\87инаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð²Ñ\96д Ñ\96нÑ\88оÑ\97 Ð»Ñ\96нÑ\96Ñ\97, ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ñ\86Ñ\8e Ð»Ñ\96нÑ\96Ñ\8e Ð´Ð»Ñ\8f Ð²Ð¸Ð´Ñ\96леннÑ\8f; Ñ\97Ñ\97 Ñ\82оÑ\87ки Ñ\81Ñ\82аÑ\8eÑ\82Ñ\8c Ñ\87еÑ\80воними. Ð¢Ñ\80имайÑ\82е SHIFT Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð²Ð¸Ð´Ñ\96ленÑ\96й Ð»Ñ\96нÑ\96Ñ\97 Ñ\89об Ñ\80озпоÑ\87аÑ\82и ÐºÑ\80еÑ\81леннÑ\8f Ð½Ð¾Ð²Ð¾Ñ\97 Ð»Ñ\96нÑ\96Ñ\97 Ð· Ñ\86Ñ\96Ñ\94Ñ\97 Ñ\82оÑ\87ки. (ЯкÑ\89о Ð² Ñ\86Ñ\8cомÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\96 Ð½ÐµÐ¼Ð°Ñ\94 Ñ\87еÑ\80воноÑ\97 Ñ\82оÑ\87ки Ð¿Ð¾Ñ\81Ñ\82авÑ\82е Ñ\97Ñ\97 Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ\8e SHIFT-Ð\9bÐ\9a Ð² Ð¿Ð¾Ñ\82Ñ\80Ñ\96бномÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\96!)\n\nÐ\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð\97беÑ\80егÑ\82и» («Save») Ñ\81пÑ\80ава Ð·Ð½Ð¸Ð·Ñ\83, ÐºÐ¾Ð»Ð¸ Ð·Ð°ÐºÑ\96нÑ\87иÑ\82е. Ð\97беÑ\80Ñ\96гайÑ\82е Ñ\87аÑ\81Ñ\82Ñ\96Ñ\88е, Ñ\8fкÑ\89о Ð·Ð²â\80\99Ñ\8fзок Ð· Ñ\81еÑ\80веÑ\80ом Ð½ÐµÐ½Ð°Ð´Ñ\96йний.\n\nÐ\9dе Ñ\81подÑ\96вайÑ\82еÑ\81Ñ\8c Ð½Ð° Ñ\82е, Ñ\89о Ð²Ð°Ñ\88Ñ\96 Ð¿Ñ\80авки Ð·â\80\99Ñ\8fвлÑ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96 Ð½ÐµÐ³Ð°Ð¹Ð½Ð¾. Ð\97виÑ\87айно, Ð¿Ñ\80оÑ\85одиÑ\82Ñ\8c Ð³Ð¾Ð´Ð¸Ð½Ð° Ñ\87и Ð´Ð²Ñ\96, Ð°Ð±Ð¾, Ð½Ð°Ð²Ñ\96Ñ\82Ñ\8c, Ñ\82ижденÑ\8c.\n</bodyText><column/><headline>СÑ\82воÑ\80еннÑ\8f Ð·â\80\99Ñ\94днанÑ\8c</headline>\n<bodyText>Це Ð´Ñ\83же Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¾, Ñ\89об Ð´Ð²Ñ\96 Ð´Ð¾Ñ\80оги Ð·â\80\99Ñ\94днÑ\83валиÑ\81Ñ\8c Ñ\82а Ð¼Ð°Ð»Ð¸ Ñ\81пÑ\96лÑ\8cнÑ\83 Ñ\82оÑ\87кÑ\83 (Ñ\87и Â«Ð²Ñ\83зол»). Ð\9fÑ\80огÑ\80ами-планÑ\83валÑ\8cники Ð¼Ð°Ñ\80Ñ\88Ñ\80Ñ\83Ñ\82Ñ\96в Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ\96 Ð·Ð½Ð°Ñ\82и Ð´Ðµ Ñ\82Ñ\80еба Ð¿Ð¾Ð²ÐµÑ\80Ñ\82аÑ\82и.\n\nPotlatch Ð¿Ð¾Ð´Ð±Ð°Ñ\94 Ð¿Ñ\80о Ñ\86е Ð´Ð¾ Ñ\82иÑ\85 Ð¿Ñ\96Ñ\80, Ð´Ð¾ÐºÐ¸ Ð²Ð¸ Ð±Ñ\83деÑ\82е Ñ\80еÑ\82елÑ\8cно ÐºÐ»Ð°Ñ\86аÑ\82и <i>Ñ\82оÑ\87но</i> Ð½Ð° Ð»Ñ\96нÑ\96Ñ\8e Ð´Ð¾ Ñ\8fкоÑ\97 Ñ\82Ñ\80еба Ð¿Ñ\80иÑ\94днаÑ\82иÑ\81Ñ\8c. Ð\97веÑ\80Ñ\82айÑ\82е Ñ\83вагÑ\83 Ð½Ð° ÐºÐ¾Ñ\80иÑ\81нÑ\96 Ð¾Ð·Ð½Ð°ÐºÐ¸: Ñ\82оÑ\87ка Ð·Ð°Ð³Ð¾Ñ\80иÑ\82Ñ\8cÑ\81Ñ\8f Ñ\81инÑ\96м, Ð·Ð¼Ñ\96ниÑ\82Ñ\8cÑ\81Ñ\8f Ð²ÐºÐ°Ð·Ñ\96вник, Ñ\96 ÐºÐ¾Ð»Ð¸ Ð²Ð¸ Ð·Ð°ÐºÑ\96нÑ\87иÑ\82е, Ð·â\80\99Ñ\94днаннÑ\8f Ð¼Ð°Ñ\82име Ñ\87оÑ\80ний ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80.</bodyText>\n<headline>Ð\9fеÑ\80еÑ\81Ñ\83ваннÑ\8f Ñ\82а Ð²Ð¸Ð»Ñ\83Ñ\87еннÑ\8f</headline>\n<bodyText>Ð\92Ñ\81е Ð¿Ñ\80аÑ\86Ñ\8eÑ\94 Ñ\82ак Ñ\8fк Ð²Ð¸ Ð¹ Ð¾Ñ\87Ñ\96кÑ\83Ñ\94Ñ\82е. Ð\94лÑ\8f Ð²Ð¸Ð»Ñ\83Ñ\87еннÑ\8f Ñ\82оÑ\87ки Ð²Ð¸Ð´Ñ\96лÑ\96Ñ\82Ñ\8c Ñ\97Ñ\97 Ñ\82а Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Delete. Ð\94лÑ\8f Ð²Ð¸Ð»Ñ\83Ñ\87еннÑ\8f Ð²Ñ\81Ñ\96Ñ\94Ñ\97 Ð»Ñ\96нÑ\96Ñ\97 â\80\94 Shift-Delete.\n\nÐ\94лÑ\8f Ð¿ÐµÑ\80емÑ\96Ñ\89еннÑ\8f â\80\94 Ð¿Ñ\80оÑ\81Ñ\82о Ð¿ÐµÑ\80еÑ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c ÐµÐ»ÐµÐ¼ÐµÐ½Ñ\82. (Ð\92ам Ñ\82Ñ\80еба ÐºÐ»Ð°Ñ\86нÑ\83Ñ\82и Ñ\82а Ñ\82Ñ\80оÑ\85и Ð·Ð°Ñ\87екаÑ\82и Ð¿ÐµÑ\80ед Ð¿ÐµÑ\80еÑ\81Ñ\83ваннÑ\8fм Ð»Ñ\96нÑ\96Ñ\97, Ñ\86е Ð·Ñ\80облено Ñ\89об Ñ\83никнÑ\83Ñ\82и Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ\80еÑ\81Ñ\83ваннÑ\8f.)</bodyText>\n<column/><headline>Ð\91Ñ\96лÑ\8cÑ\88 Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾ Ð¿Ñ\80о ÐºÑ\80еÑ\81леннÑ\8f</headline>\n<bodyText><img src=\"scissors\">ЯкÑ\89о Ð´Ð²Ñ\96 Ñ\87аÑ\81Ñ\82ини Ð»Ñ\96нÑ\96Ñ\97 Ð¼Ð°Ñ\8eÑ\82Ñ\8c Ñ\80Ñ\96знÑ\96 Ð½Ð°Ð·Ð²Ð¸, Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ñ\80оздÑ\96лиÑ\82и Ñ\97Ñ\97. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð»Ñ\96нÑ\96Ñ\8e; Ð¾Ð±ÐµÑ\80Ñ\96Ñ\82Ñ\8c Ñ\82оÑ\87кÑ\83 Ð² Ñ\8fкÑ\96й Ñ\82Ñ\80еба Ñ\80оздÑ\96лиÑ\82и Ð»Ñ\96нÑ\96Ñ\8e Ñ\82а Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð·Ð½Ð°Ñ\87ок Ð· Ð½Ð¾Ð¶Ð¸Ñ\86Ñ\8fми. (Ð\92и Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð·â\80\99Ñ\94днаÑ\82и Ð»Ñ\96нÑ\96Ñ\97 Ð² Ð¾Ð´Ð½Ñ\83, Ð½Ð°Ñ\82иÑ\81нÑ\83вÑ\88и CTRL Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\83вÑ\88и Ð¼Ð¸Ñ\88еÑ\8e, Ð´Ð»Ñ\8f Mac â\80\94 ÐºÐ»Ð°Ð²Ñ\96Ñ\88а Apple, Ð°Ð»Ðµ Ð½Ðµ Ð·â\80\99Ñ\94днÑ\83йÑ\82е Ð´Ð¾Ñ\80оги Ð· Ñ\80Ñ\96зними Ð½Ð°Ð·Ð²Ð°Ð¼Ð¸ Ñ\82а Ñ\82ипами.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>Ð\9eбâ\80\99Ñ\94кÑ\82и (POI)</headline>\n<bodyText>Самим Ð¿ÐµÑ\80Ñ\88им, Ñ\87ого Ð²Ð¸ Ð½Ð°Ð²Ñ\87илиÑ\81Ñ\8c Ð±Ñ\83ло Ð¿ÐµÑ\80еÑ\82Ñ\8fгÑ\83ваннÑ\8f Ð¾Ð±â\80\99Ñ\94кÑ\82Ñ\96в (POI) Ð½Ð° Ð¼Ð°Ð¿Ñ\83. Ð\92и Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\81Ñ\82воÑ\80Ñ\8eваÑ\82и Ñ\97Ñ\85 Ð·Ñ\80обивÑ\88и Ð¿Ð¾Ð´Ð²Ñ\96йне ÐºÐ»Ð°Ñ\86аннÑ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96, Ð¿Ñ\96Ñ\81лÑ\8f Ñ\87ого Ð·â\80\99Ñ\8fвиÑ\82Ñ\8cÑ\81Ñ\8f Ð·ÐµÐ»ÐµÐ½Ðµ ÐºÐ¾Ð»Ð¾. Ð\90ле, Ñ\8fк Ñ\81казаÑ\82и Ð¿Ñ\80о Ñ\82е Ñ\87им Ð²Ð¾Ð½Ð¾ Ñ\94 (магазин, Ð±Ð°Ð½ÐºÐ¾Ð¼Ð°Ñ\82)? Ð\94ивÑ\96Ñ\82Ñ\8cÑ\81Ñ\8f Â«Ð\9fознаÑ\87еннÑ\8f Ñ\82еÒ\91ами», Ñ\89об Ð¿Ñ\80о Ñ\86е Ð´Ñ\96знаÑ\82иÑ\81Ñ\8c!\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 4: Ð\9fознаÑ\87еннÑ\8f Ñ\82еÒ\91ами\n\n--><page/><headline>Що Ñ\82аке Ñ\82ип Ð´Ð¾Ñ\80оги?</headline>\n<bodyText>Ð\9fÑ\96Ñ\81лÑ\8f Ñ\82ого Ñ\8fк Ð²Ð¸ Ð½Ð°ÐºÑ\80еÑ\81лили Ñ\88лÑ\8fÑ\85, Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð·Ð°Ð·Ð½Ð°Ñ\87иÑ\82и Ñ\8fкий Ð²Ñ\96н. Ð§Ð¸ Ñ\86е Ð³Ð¾Ð»Ð¾Ð²Ð½Ð° Ð´Ð¾Ñ\80ога, Ñ\87и Ñ\82Ñ\80оÑ\82Ñ\83аÑ\80 Ð°Ð±Ð¾ Ñ\80Ñ\96ка? Ð¯Ðº Ð²Ñ\96н Ð½Ð°Ð·Ð¸Ð²Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f? Ð§Ð¸ Ð²Ñ\96н Ð¼Ð°Ñ\94 Ð¾Ñ\81обливÑ\96 Ð¿Ñ\80авила (напÑ\80иклад Â«Ð½Ðµ Ð´Ð»Ñ\8f Ð²ÐµÐ»Ð¾Ñ\81ипедÑ\96в»)?\n\nУ OpenStreetMap, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82и Ñ\86е, Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\87и Â«Ñ\82еÒ\91и». Ð¢ÐµÒ\91 Ñ\81кладаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð· Ð´Ð²Ð¾Ñ\85 Ñ\87аÑ\81Ñ\82ин, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ð·Ð½Ð°Ñ\87иÑ\82и Ñ\81Ñ\82Ñ\96лÑ\8cки Ñ\82еÒ\91Ñ\96в, Ñ\81кÑ\96лÑ\8cки Ñ\82Ñ\80еба. Ð\9dапÑ\80иклад: Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð¾Ð´Ð°Ñ\82и <i>highway | trunk</i> Ð´Ð»Ñ\8f Ð¿Ð¾Ð·Ð½Ð°Ñ\87еннÑ\8f Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¾Ñ\97 Ð´Ð¾Ñ\80ги; <i>highway | residential</i> â\80\94 Ð´Ð¾Ñ\80оги Ñ\83 Ð¶Ð¸Ð»Ñ\96й Ð·Ð¾Ð½Ñ\96; <i>highway | footway</i> â\80\94 Ð´Ð»Ñ\8f Ñ\82Ñ\80оÑ\82Ñ\83аÑ\80Ñ\83. Ð¯ÐºÑ\89о Ñ\80Ñ\83Ñ\85 Ð²ÐµÐ»Ð¾Ñ\81ипедÑ\96в Ð·Ð°Ð±Ð¾Ñ\80онений Ð´Ð¾Ð´Ð°Ð¹Ñ\82е Ñ\82еÒ\91 <i>bicycle | no</i>. Ð\94одайÑ\82е Ð½Ð°Ð·Ð²Ñ\83 Ñ\81коÑ\80иÑ\81Ñ\82авÑ\88иÑ\81Ñ\8c Ñ\82еÒ\91ом <i>name | Market Street</i>.\n\nТеÒ\91 Ð² Potlatch Ð¿Ð¾ÐºÐ°Ð·Ñ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ñ\83 Ð½Ð¸Ð¶Ð½Ñ\96й Ñ\87аÑ\81Ñ\82инÑ\96 ÐµÐºÑ\80анÑ\83 â\80\94 ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ñ\96Ñ\81нÑ\83Ñ\8eÑ\87Ñ\83 Ð´Ð¾Ñ\80огÑ\83, Ñ\96 Ð²Ð¸ Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82е Ñ\82еÒ\91и Ñ\8fким Ð²Ð¾Ð½Ð° Ð¿Ð¾Ð·Ð½Ð°Ñ\87ена. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Â«+» Ñ\81паÑ\80ва Ð·Ð½Ð¸Ð·Ñ\83 Ð´Ð»Ñ\8f Ð´Ð¾Ð´Ð°Ð½Ð½Ñ\8f Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ\82еÒ\91Ñ\83. Ð\97наÑ\87ок Â«Ñ\85» Ð±Ñ\96лÑ\8f ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ\82еÒ\91Ñ\83 Ð²Ð¸Ð»Ñ\83Ñ\87аÑ\94 Ð¹Ð¾Ð³Ð¾.\n\nÐ\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ð·Ð½Ð°Ñ\87иÑ\82и Ð²Ñ\81Ñ\8e Ð»Ñ\96нÑ\96Ñ\8e; Ñ\82оÑ\87ки Ð½Ð° Ð»Ñ\96нÑ\96Ñ\97 (воÑ\80оÑ\82а Ñ\87и Ñ\81вÑ\96Ñ\82лоÑ\84оÑ\80и); Ð¾Ð±â\80\99Ñ\94кÑ\82и (POI).</bodytext>\n<column/><headline>Using preset tags</headline>\n<bodyText>To get you started, Potlatch has ready-made presets containing the most popular tags.\n\n<img src=\"preset_road\">Select a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>One-way roads</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Choosing your own tags</headline>\n<bodyText>Of course, you're not restricted to just the presets. By using the '+' button, you can use any tags at all.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nBecause OpenStreetMap data is used to make many different maps, each map will show (or 'render') its own choice of tags.</bodyText>\n<headline>Relations</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nPage 6: Troubleshooting\n\n--><page/><headline>Undoing mistakes</headline>\n<bodyText><img src=\"undo\">This is the undo button (you can also press Z) - it will undo the last thing you did.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nThink someone else has made a mistake? Send them a friendly message. Use the history option (H) to select their name, then click 'Mail'.\n\nUse the Inspector (in the 'Advanced' menu) for helpful information about the current way or point.\n</bodyText><column/><headline>FAQs</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nMore FAQs for <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs\" target=\"_blank\">Potlatch</a> and <a href=\"http://wiki.openstreetmap.org/wiki/FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Working faster</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTurn off 'Use pen and hand pointers' (in the options window) for maximum speed.\n\nIf the server is running slowly, come back later. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Check the wiki</a> for known problems. Some times, like Sunday evenings, are always busy.\n\nTell Potlatch to memorise your favourite sets of tags. Select a way or point with those tags, then press Ctrl, Shift and a number from 1 to 9. Then, to apply those tags again, just press Shift and that number. (They'll be remembered every time you use Potlatch on this computer.)\n\nTurn your GPS track into a way by finding it in the 'GPS Traces' list, clicking 'edit' by it, then tick the 'convert' box. It'll be locked (red) so won't save. Edit it first, then click the red padlock to unlock when ready to save.</bodytext>\n\n<!--\n========================================================================================================================\nPage 7: Quick reference\n\n--><page/><headline>What to click</headline>\n<bodyText><b>Drag the map</b> to move around.\n<b>Double-click</b> to create a new POI.\n<b>Single-click</b> to start a new way.\n<b>Hold and drag a way or POI</b> to move it.</bodyText>\n<headline>When drawing a way</headline>\n<bodyText><b>Double-click</b> or <b>press Enter</b> to finish drawing.\n<b>Click</b> another way to make a junction.\n<b>Shift-click the end of another way</b> to merge.</bodyText>\n<headline>When a way is selected</headline>\n<bodyText><b>Click a point</b> to select it.\n<b>Shift-click in the way</b> to insert a new point.\n<b>Shift-click a point</b> to start a new way from there.\n<b>Control-click another way</b> to merge.</bodyText>\n</bodyText>\n<column/><headline>Keyboard shortcuts</headline>\n<bodyText><textformat tabstops='[25]'>B Add <u>b</u>ackground source tag\nC Close <u>c</u>hangeset\nG Show <u>G</u>PS tracks\nH Show <u>h</u>istory\nI Show <u>i</u>nspector\nJ <u>J</u>oin point to crossing ways\nK Loc<u>k</u>/unlock current selection\nL Show current <u>l</u>atitude/longitude\nM <u>M</u>aximise editing window\nP Create <u>p</u>arallel way\nR <u>R</u>epeat tags\nS <u>S</u>ave (unless editing live)\nT <u>T</u>idy into straight line/circle\nU <u>U</u>ndelete (show deleted ways)\nX Cut way in two\nZ Undo\n- Remove point from this way only\n+ Add new tag\n/ Select another way sharing this point\n</textformat><textformat tabstops='[50]'>Delete Delete point\n  (+Shift) Delete entire way\nReturn Finish drawing line\nSpace Hold and drag background\nEsc Abort this edit; reload from server\n0 Remove all tags\n1-9 Select preset tags\n  (+Shift) Select memorised tags\n  (+S/Ctrl) Memorise tags\n§ or ` Cycle between tag groups\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 1: Ð\92Ñ\81Ñ\82Ñ\83п\n\n--><headline>Ð\9bаÑ\81каво Ð¿Ñ\80оÑ\81имо Ð´Ð¾ Potlatch</headline>\n<largeText>Potlatch â\80\94 Ñ\86е Ð¿Ñ\80оÑ\81Ñ\82ий Ñ\83 Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\96 Ñ\80едакÑ\82оÑ\80 Ð´Ð»Ñ\8f OpenStreetMap. Ð\9aÑ\80еÑ\81лÑ\96Ñ\82Ñ\8c Ð´Ð¾Ñ\80оги, Ñ\81Ñ\82ежки, Ð²Ð¸Ð·Ð½Ð°Ñ\87нÑ\96 Ð¿Ð°Ð¼'Ñ\8fÑ\82ки Ñ\96 Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ð¸, Ð¾Ð±Ñ\80облÑ\8fÑ\8eÑ\87и Ð²Ð°Ñ\88Ñ\96 GPS-данÑ\96, Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки Ñ\96 Ñ\81Ñ\82аÑ\80Ñ\96 Ð¼Ð°Ð¿Ð¸.\n\nЦÑ\96 Ð´Ð¾Ð²Ñ\96дковÑ\96 Ñ\81Ñ\82оÑ\80Ñ\96нки Ð¾Ð·Ð½Ð°Ð¹Ð¾Ð¼Ð»Ñ\8fÑ\82Ñ\8c Ð²Ð°Ñ\81 Ð· Ð¾Ñ\81новами Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82аннÑ\8f Potlatch Ñ\96 Ð²ÐºÐ°Ð¶Ñ\83Ñ\82Ñ\8c Ð´Ðµ Ð¼Ð¾Ð¶Ð½Ð° Ð´Ñ\96знаÑ\82иÑ\81Ñ\8f Ð´Ð¾Ð´Ð°Ñ\82ковÑ\96 Ð²Ñ\96домоÑ\81Ñ\82Ñ\96. Ð\93оÑ\80Ñ\82айÑ\82е Ñ\81Ñ\82оÑ\80Ñ\96нки, Ð½Ð°Ñ\82иÑ\81каÑ\8eÑ\87и Ð½Ð° Ð½Ð°Ð·Ð²Ð¸ Ñ\80оздÑ\96лÑ\96в Ð² Ñ\88апÑ\86Ñ\96 Ñ\86Ñ\8cого Ð´Ð¾Ð²Ñ\96дника.\n\nÐ\9aоли Ð²Ð¸ Ð·Ð°Ñ\85оÑ\87еÑ\82е Ð·Ð°ÐºÑ\80иÑ\82и Ð´Ð¾Ð²Ñ\96дник â\80\94 ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð±Ñ\83дÑ\8c-де Ð¿Ð¾Ñ\80Ñ\83Ñ\87 Ð· Ð²Ñ\96кном Ð´Ð¾Ð²Ñ\96дника.\n\n</largeText>\n\n<column/><headline>Ð\9aоÑ\80иÑ\81нÑ\96 Ñ\80еÑ\87Ñ\96, Ñ\8fкÑ\96 Ñ\82Ñ\80еба Ð·Ð½Ð°Ñ\82и</headline>\n<bodyText>Ð\9dе ÐºÐ¾Ð¿Ñ\96Ñ\8eйÑ\82е Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð· Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿!\n\nЯкÑ\89о Ð²Ð¸ Ð¾Ð±Ð¸Ñ\80аÑ\94Ñ\82е Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ð²Ð¶Ð¸Ð²Ñ\83» â\80\94 Ð±Ñ\83дÑ\8c\8fкÑ\96 Ð·Ð¼Ñ\96ни, Ñ\8fкÑ\96 Ð²Ð¸ Ð·Ð´Ñ\96йÑ\81нÑ\8eÑ\94Ñ\82е, Ð½Ð°Ð´Ñ\81илаÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð´Ð¾ Ð±Ð°Ð·Ð¸ Ð´Ð°Ð½Ð¸Ñ\85 <i>вÑ\96дÑ\80азÑ\83</i>, Ñ\8fк Ñ\82Ñ\96лÑ\8cки Ð²Ð¸ Ñ\97Ñ\85 Ð·Ñ\80обиÑ\82е. Ð¯ÐºÑ\89о Ð²Ð°Ð¼ Ð¿Ð¾Ð´Ð¾Ð±Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð±Ð°Ð³Ð°Ñ\82о Ð¿Ñ\80авиÑ\82и Ñ\82а Ð´Ð¾Ð¾Ð¿Ñ\80аÑ\86Ñ\8cовÑ\83ваÑ\82и Ð²Ð°Ñ\88Ñ\96 Ð¿Ñ\80авки Ð½Ð° Ñ\85одÑ\83 â\80\94 Ñ\81коÑ\80иÑ\81Ñ\82Ñ\83йÑ\82еÑ\81Ñ\8c Â«Ð\9fÑ\80авкоÑ\8e Ñ\96з Ð·Ð±ÐµÑ\80еженнÑ\8fм», Ñ\83 Ñ\86Ñ\8cомÑ\83 Ñ\80азÑ\96 Ð·Ð¼Ñ\96ни Ð±Ñ\83дÑ\83Ñ\82Ñ\8c Ð½Ð°Ð´Ñ\96Ñ\81ланÑ\96 Ð½Ð° Ñ\81еÑ\80веÑ\80 Ñ\82Ñ\96лÑ\8cки Ð¿Ñ\96Ñ\81лÑ\8f Ñ\82ого, Ñ\8fк Ð²Ð¸ Ð½Ð°Ñ\82иÑ\81неÑ\82е Â«Ð\97беÑ\80егÑ\82и».\n\nÐ\91Ñ\83дÑ\8c\8fкÑ\96 Ð¿Ñ\80авки Ð·â\80\99Ñ\8fвлÑ\8fÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96 Ñ\87еÑ\80ез Ð´ÐµÑ\8fкий Ñ\87аÑ\81 (годинÑ\83 Ð°Ð±Ð¾ Ð´Ð²Ñ\96, Ñ\87и Ð½Ð°Ð²Ñ\96Ñ\82Ñ\8c Ñ\87еÑ\80ез Ñ\82ижденÑ\8c). Ð\9dе Ð²Ñ\81е Ð±Ñ\83де Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¾ Ð½Ð° Ð¼Ð°Ð¿Ñ\96 â\80\94 Ñ\86е Ð·Ñ\80облено Ð´Ð»Ñ\8f Ñ\82ого Ñ\89об Ð²Ð¾Ð½Ð° Ð½Ð° Ð²Ð¸Ð³Ð»Ñ\8fдала Ð·Ð°Ð¿Ð»Ñ\83Ñ\82ано.  Ð¢Ð°Ðº Ñ\8fк OpenStreetMap â\80\94 Ð²Ñ\96дкÑ\80иÑ\82ий Ð¿Ñ\80оекÑ\82, Ñ\96нÑ\88Ñ\96 Ð¼Ð°Ñ\8eÑ\82Ñ\8c Ð·Ð¼Ð¾Ð³Ñ\83 Ñ\81Ñ\82воÑ\80Ñ\8eваÑ\82и Ð²Ð»Ð°Ñ\81нÑ\96 (Ñ\81пеÑ\86Ñ\96алÑ\8cнÑ\96) Ð¼Ð°Ð¿Ð¸ Ð½Ð° Ð¹Ð¾Ð³Ð¾ Ð¾Ñ\81новÑ\96, Ð½Ð°Ð¿Ñ\80иклад: <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap (Ð\92Ñ\96дкÑ\80иÑ\82Ñ\96 Ð²ÐµÐ»Ð¾Ñ\81ипеднÑ\96 Ð¼Ð°Ð¿Ð¸)</a> Ð°Ð±Ð¾ <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Ð\9cапа Ð² Ñ\81Ñ\82илÑ\96 Midnight Commander</a>\n\nÐ\97апамâ\80\99Ñ\8fÑ\82айÑ\82е Ñ\97Ñ\85, Ð³Ð°Ñ\80нÑ\83 Ð¼Ð°Ð¿Ñ\83 (з Ð´Ð¾Ð±Ñ\80е Ð¿Ð¾Ð·Ð½Ð°Ñ\87еними Ð¿Ð»Ð°Ð²Ð½Ð¸Ð¼Ð¸ Ð»Ñ\96нÑ\96Ñ\8fми) Ñ\82а Ñ\81Ñ\85емÑ\83 (Ñ\8fка Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\94 Ð¿ÐµÑ\80евÑ\96Ñ\80иÑ\82и, Ñ\89о Ð´Ð¾Ñ\80оги Ð·â\80\99Ñ\94днÑ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ð¿ÐµÑ\80еÑ\85Ñ\80еÑ\81Ñ\82Ñ\8fÑ\85).\n\nÐ¥Ñ\96ба Ð¼Ð¸ Ð½Ðµ Ð³Ð¾Ð²Ð¾Ñ\80или Ð¿Ñ\80о Ñ\82е, Ñ\89о Ð½Ðµ Ñ\82Ñ\80еба ÐºÐ¾Ð¿Ñ\96Ñ\8eваÑ\82и Ð· Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿?\n</bodyText>\n\n<column/><headline>Ð\94Ñ\96знайÑ\82еÑ\81Ñ\8f Ð±Ñ\96лÑ\8cÑ\88е:</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Ð\9aеÑ\80Ñ\96вниÑ\86Ñ\82во Ð¿Ð¾ Ñ\80обоÑ\82Ñ\96 Ð· Potlatch.</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">СпиÑ\81ки Ñ\80озÑ\81илки</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Ð\9eнлайн Ð§Ð°Ñ\82 (Ð\96ива Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð°)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">ФоÑ\80Ñ\83м</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Ð\92Ñ\96кÑ\96</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">СиÑ\80Ñ\86Ñ\96 Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 2: Ð\97 Ñ\87ого Ñ\80озпоÑ\87аÑ\82и\n\n--><page/><headline>Ð\97 Ñ\87ого Ñ\80озпоÑ\87аÑ\82и</headline>\n<bodyText>Ð\9eÑ\82же Ð²Ð¸ Ð¼Ð°Ñ\94Ñ\82е Ð²Ñ\96дкÑ\80иÑ\82ий Potlatch, ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ñ\96з Ð·Ð±ÐµÑ\80еженнÑ\8fм» Ñ\89об Ð¿Ð¾Ñ\87аÑ\82и Ð¿Ñ\80авиÑ\82и Ð¼Ð°Ð¿Ñ\83.\n\nТепеÑ\80 Ð²Ð¸ Ð¼Ð°Ñ\94Ñ\82е Ð·Ð¼Ð¾Ð³Ñ\83 Ð¿Ð¾Ñ\87аÑ\82и ÐºÑ\80еÑ\81лиÑ\82и Ð¼Ð°Ð¿Ñ\83. Ð\9dайпÑ\80оÑ\81Ñ\82Ñ\96Ñ\88им Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ\8fм Ð´Ð»Ñ\8f Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ð±Ñ\83де Ð½Ð°Ð½ÐµÑ\81еннÑ\8f Ð¾Ð±â\80\99Ñ\94кÑ\82Ñ\96в (POI). Ð¦Ðµ Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð±Ñ\83Ñ\82и Ñ\86еÑ\80кви, Ð·Ð°Ð»Ñ\96зниÑ\87нÑ\96 Ñ\81Ñ\82анÑ\86Ñ\96Ñ\97, Ñ\81Ñ\82оÑ\8fнкиâ\80¦ Ð±Ñ\83дÑ\8c\89о Ð·Ð° Ð²Ð°Ñ\88им Ð±Ð°Ð¶Ð°Ð½Ð½Ñ\8fм.</bodytext>\n\n<column/><headline>Ð\9fеÑ\80еÑ\82Ñ\8fгÑ\83йÑ\82е Ð¾Ð±â\80\99Ñ\94кÑ\82и Ð½Ð° Ð¼Ð°Ð¿Ñ\83</headline>\n<bodyText>Це Ñ\80обиÑ\82и Ð´Ñ\83же Ð¿Ñ\80оÑ\81Ñ\82о. Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð±Ð°Ñ\87иÑ\82и Ð±Ñ\96лÑ\8cÑ\88 Ð²Ð¶Ð¸Ð²Ð°Ð½Ñ\96 Ð¾Ð±â\80\99Ñ\94кÑ\82и (POI) Ð·Ð½Ð¸Ð·Ñ\83, Ð²Ñ\96дÑ\80азÑ\83 Ð¿Ñ\96д Ð¼Ð°Ð¿Ð¾Ñ\8e. Ð\9fеÑ\80еÑ\82Ñ\8fгÑ\83йÑ\82е Ñ\97Ñ\85 Ð½Ð° Ð¼Ð°Ð¿Ñ\83 Ñ\83 Ð¿Ð¾Ñ\82Ñ\80Ñ\96бне Ð¼Ñ\96Ñ\81Ñ\86е. Ð\9dе Ð¿ÐµÑ\80еймайÑ\82еÑ\81Ñ\8c Ñ\82им, Ñ\89о Ð²Ð¸ Ð½Ðµ Ð¿Ð¾Ñ\81Ñ\82авиÑ\82е Ñ\97Ñ\85 Ñ\83 Ð²Ñ\96Ñ\80не Ð¼Ñ\96Ñ\81Ñ\86е Ð²Ñ\96дÑ\80азÑ\83, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ñ\82Ñ\96м Ð¿ÐµÑ\80еÑ\82Ñ\8fгнÑ\83Ñ\82и Ñ\97Ñ\85 ÐºÑ\83ди Ñ\82Ñ\80еба. Ð\92идÑ\96ленÑ\96 Ð¾Ð±â\80\99Ñ\94кÑ\82и Ð¿Ð¾Ð·Ð½Ð°Ñ\87аÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð¶Ð¾Ð²Ñ\82им ÐºÐ¾Ð»Ñ\8cоÑ\80ом.\n\nÐ\9fÑ\96Ñ\81лÑ\8f Ñ\82ого Ñ\8fк Ð²Ð¸ Ð·Ñ\80обили Ñ\86е, Ð²Ð¸, Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾, Ð·Ð°Ð±Ð°Ð¶Ð°Ñ\94Ñ\82е Ð²ÐºÐ°Ð·Ð°Ñ\82и Ð½Ð°Ð·Ð²Ñ\83 Ð´Ð»Ñ\8f Ð²Ð°Ñ\88ого Ð¾Ð±â\80\99Ñ\94кÑ\82а (зÑ\83пинки, Ñ\86еÑ\80кви, Ñ\82еаÑ\82Ñ\80Ñ\83 Ð¸ Ñ\82\96.). Ð\92и Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82е Ð½ÐµÐ²ÐµÐ»Ð¸Ñ\87кÑ\83 Ñ\82аблиÑ\86Ñ\8e, Ñ\8fк Ð·â\80\99Ñ\8fвиÑ\82Ñ\8cÑ\81Ñ\8f Ð·Ð½Ð¸Ð·Ñ\83. Ð\9eдин Ð· Ñ\97Ñ\97 Ñ\80Ñ\8fдкÑ\96в â\80\93 Â«Ð½Ð°Ð·Ð²Ð°Â»(«name») Ð±Ñ\83де Ð¼Ð°Ñ\82и Ð·Ð½Ð°Ñ\87еннÑ\8f â\80\93 Â«Ð²Ð²ÐµÐ´Ñ\96Ñ\82Ñ\8c Ð½Ð°Ð·Ð²Ñ\83» («(type name here)»). Ð\97Ñ\80обÑ\96Ñ\82Ñ\8c Ñ\86е â\80\94 ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° ÐºÐ»Ñ\96Ñ\82инкÑ\83 Ñ\82а Ð²Ð²ÐµÐ´Ñ\96Ñ\82Ñ\8c Ð½Ð°Ð·Ð²Ñ\83.\n\nÐ\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð² Ð±Ñ\83дÑ\8c\8fкомÑ\83 Ñ\96нÑ\88омÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\96 Ð½Ð° Ð¼Ð°Ð¿Ñ\96 Ð´Ð»Ñ\8f Ð·Ð½Ñ\8fÑ\82Ñ\82Ñ\8f Ð²Ð¸Ð´Ñ\96леннÑ\8f Ð· Ð¾Ð±â\80\99Ñ\94кÑ\82а, Ñ\89об Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ\82и Ð·Ð½Ð¾Ð²Ñ\83 Ð¿Ð°Ð½ÐµÐ»Ñ\8c Ð·Ñ\96 Ð·Ð½Ð°Ñ\87ками.\n\nÐ\9fÑ\80оÑ\81Ñ\82о, Ñ\87и Ð½Ðµ Ñ\82ак? Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð\97беÑ\80егÑ\82и» («Save») Ð² Ð¿Ñ\80авомÑ\83 Ð½Ð¸Ð¶Ð½Ñ\8cомÑ\83 ÐºÑ\83Ñ\82Ñ\96, ÐºÐ¾Ð»Ð¸ Ð·Ð°ÐºÑ\96нÑ\87иÑ\82е.\n</bodyText><column/><headline>Ð\9fеÑ\80еÑ\81Ñ\83ваннÑ\8f Ð¼Ð°Ð¿Ð¾Ñ\8e</headline>\n<bodyText>Ð\94лÑ\8f Ñ\82ого Ñ\89об Ð¿ÐµÑ\80емÑ\96Ñ\81Ñ\82иÑ\82иÑ\81Ñ\8c Ð½Ð° Ñ\96нÑ\88Ñ\83 Ð´Ñ\96лÑ\8fнкÑ\83 Ð¼Ð°Ð¿Ð¸ â\80\94 Ð¿Ñ\80оÑ\81Ñ\82о Ð¿Ð¾Ñ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ð¼Ð°Ð¿Ñ\83 Ñ\83 Ð¿Ð¾Ñ\82Ñ\80Ñ\96бномÑ\83 Ð½Ð°Ð¿Ñ\80Ñ\8fмкÑ\83. Potlatch Ð°Ð²Ñ\82омаÑ\82иÑ\87но Ð·Ð°Ð²Ð°Ð½Ñ\82ажиÑ\82Ñ\8c Ð½Ð¾Ð²Ñ\96 Ð´Ð°Ð½Ñ\96 (глÑ\8fнÑ\8cÑ\82е Ñ\83 Ð¿Ñ\80авий Ð²ÐµÑ\80Ñ\85нÑ\96й ÐºÑ\83Ñ\82).\n\nÐ\9cи Ð¿Ñ\80опонÑ\83вали Ð²Ð°Ð¼ Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ñ\96з Ð·Ð±ÐµÑ\80еженнÑ\8fм», Ð°Ð»Ðµ Ð²Ð¸ Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð¾Ð±Ñ\80аÑ\82и Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ð²Ð¶Ð¸Ð²Ñ\83». Ð¯ÐºÑ\89о Ð²Ð¸ Ð¾Ð±ÐµÑ\80еÑ\82е Ñ\86ей Ñ\80ежим, Ð²Ð°Ñ\88Ñ\96 Ð·Ð¼Ñ\96ни Ð±Ñ\83дÑ\83Ñ\82Ñ\8c Ð½Ð°Ð´Ñ\81илаÑ\82иÑ\81Ñ\8c Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð²Ñ\96дÑ\80азÑ\83, Ñ\8fк Ñ\82Ñ\96лÑ\8cки Ð²Ð¸ Ñ\97Ñ\85 Ð·Ñ\80обиÑ\82е, Ð¾Ñ\82же Ð²Ð°Ð¼ Ð½Ðµ Ñ\82Ñ\80еба Ð±Ñ\83де Ð½Ð°Ñ\82иÑ\81каÑ\82и Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ\83 Â«Ð\97беÑ\80егÑ\82и» («Save»). Ð¦Ðµ Ð´Ð¾Ð±Ñ\80е Ð¿Ñ\96дÑ\85одиÑ\82Ñ\8c Ð´Ð»Ñ\8f Ñ\88видкоÑ\97 Ð¿Ñ\80авки Ñ\82а <a href=\"http://wiki.openstreetmap.org/wiki/Uk:Mapping parties\" target=\"_blank\">заÑ\85одÑ\96в Ð· ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84Ñ\83ваннÑ\8f</a>.</bodyText>\n\n<headline>Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\96 ÐºÑ\80оки</headline>\n<bodyText>РозÑ\96бÑ\80алиÑ\81Ñ\8c? Ð§Ñ\83дово. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð\93еодезÑ\96Ñ\8f» («Surveying»), Ñ\89об Ð´Ñ\96знаÑ\82иÑ\81Ñ\8c, Ñ\8fк Ñ\81Ñ\82аÑ\82и <i>Ñ\81паÑ\80вжнÑ\96м</i> ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84ом.</bodyText>\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 3: Ð\93еодезÑ\96Ñ\8f\n\n--><page/><headline>Ð\93еодезÑ\96Ñ\8f Ð· GPS</headline>\n<bodyText>Ð\86деÑ\8f OpenStreetMap Ð¿Ð¾Ð»Ñ\8fгаÑ\94 Ð² Ñ\82омÑ\83, Ñ\89об Ð·Ñ\80обиÑ\82и Ð¼Ð°Ð¿Ñ\83 Ð±ÐµÐ· Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ\8c, Ñ\8fкÑ\96 Ð¼Ñ\96Ñ\81Ñ\82Ñ\8fÑ\82Ñ\8c Ð¼Ð°Ð¿Ð¸ Ð·Ð°Ñ\85иÑ\89енÑ\96 Ð°Ð²Ñ\82оÑ\80Ñ\81Ñ\8cким Ð¿Ñ\80авом. Ð\92 Ð·Ð²â\80\99Ñ\8fзкÑ\83 Ð· Ñ\87им Ð²Ð¸ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÐ¾Ð¿Ñ\96Ñ\8eваÑ\82и Ð· Ñ\96нÑ\88иÑ\85 Ð´Ð¶ÐµÑ\80ел, Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð¿Ñ\96Ñ\82и Ñ\96 Ð¾Ð±Ñ\81Ñ\82ежиÑ\82и Ð²Ñ\83лиÑ\86Ñ\96 Ñ\81амоÑ\81Ñ\82Ñ\96йно. Ð\94о Ñ\82ого Ð¶, Ñ\86е Ð´Ñ\83же Ñ\86Ñ\96каво! \nÐ\9dайкÑ\80аÑ\89Ñ\96й Ñ\81поÑ\81Ñ\96б Ð·Ñ\80обиÑ\82и Ñ\86е â\80\94 Ñ\81коÑ\80иÑ\81Ñ\82аÑ\82иÑ\81Ñ\8c GPS-пÑ\80иÑ\81Ñ\82Ñ\80оÑ\94м. Ð\97найдÑ\96Ñ\82Ñ\8c Ñ\82еÑ\80иÑ\82оÑ\80Ñ\96Ñ\8e, Ñ\8fка Ñ\89е Ð²Ñ\96дÑ\81Ñ\83Ñ\82нÑ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96 (звÑ\96Ñ\81но Ð½Ð° Ð¼Ð°Ð¿Ñ\96 OpenStreetMap), Ð¿Ñ\80огÑ\83лÑ\8fйÑ\82еÑ\81Ñ\8c Ð¿Ñ\96Ñ\88ки Ð°Ð±Ð¾ Ð¿Ð¾Ñ\97дÑ\8cÑ\82е Ð½Ð° Ð²ÐµÐ»Ð¾Ñ\81ипедÑ\96 Ñ\96з Ð²Ð²Ñ\96мкненим GPS. Ð\97аноÑ\82Ñ\83йÑ\82е Ð½Ð°Ð·Ð²Ð¸ Ð²Ñ\83лиÑ\86Ñ\8c Ñ\82а Ð±Ñ\83дÑ\8c\8fкÑ\96 Ñ\86Ñ\96кавÑ\96 Ð¿Ð¾Ð´Ñ\80обиÑ\86Ñ\96 (магазини, ÐºÐ°Ñ\84е, Ñ\83Ñ\81Ñ\82анови â\80¦) Ð¿Ñ\96д Ñ\87аÑ\81 Ð²Ð°Ñ\88оÑ\97 Ð¿Ñ\80огÑ\83лÑ\8fнки.\n\nÐ\9aоли Ð²Ð¸ Ð¿Ð¾Ð²ÐµÑ\80неÑ\82еÑ\81Ñ\8c Ð´Ð¾ Ð´Ð¾Ð¼Ñ\83, Ð²Ð°Ñ\88 GPS Ð±Ñ\83де Ð¼Ð°Ñ\82и Ð·Ð°Ð¿Ð¸Ñ\81аний Ñ\82Ñ\80ек Ð· Ñ\83Ñ\81Ñ\96Ñ\85 Ñ\82иÑ\85 Ð¼Ñ\96Ñ\81Ñ\86Ñ\8c, Ð´Ðµ Ð²Ð¸ Ð±Ñ\83ли. Ð\9fÑ\96Ñ\81лÑ\8f Ñ\87ого Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ð²Ð°Ð½Ñ\82ажиÑ\82и Ð¹Ð¾Ð³Ð¾ Ð½Ð° Ñ\81еÑ\80веÑ\80 OpenStreetMap.\n\nÐ\9dайкÑ\80аÑ\89Ñ\96м Ñ\82ипом Ð¿Ñ\80иÑ\81Ñ\82Ñ\80оÑ\97в GPS Ñ\94 Ñ\82акÑ\96, Ñ\8fкÑ\96 Ð¼Ð¾Ð¶Ñ\83Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81Ñ\83ваÑ\82и Ñ\82Ñ\80ек Ð· Ð¿ÐµÐ²Ð½Ð¾Ñ\8e Ð¿ÐµÑ\80Ñ\96одиÑ\87нÑ\96Ñ\81Ñ\82Ñ\8e (кожнÑ\83 Ñ\81екÑ\83ндÑ\83 Ð°Ð±Ð¾ Ð´Ð²Ñ\96) Ñ\82а Ð¼Ð°Ñ\94 Ð´Ð¾Ñ\81Ñ\82аÑ\82нÑ\8cо Ð¼Ñ\96Ñ\81Ñ\86Ñ\8f Ð´Ð»Ñ\8f Ð·Ð±ÐµÑ\80еженнÑ\8f. Ð\91Ñ\96лÑ\8cÑ\88Ñ\96Ñ\81Ñ\82Ñ\8c Ð½Ð°Ñ\88иÑ\85 ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84Ñ\96в Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8c Ð¿Ñ\80иÑ\81Ñ\82Ñ\80оÑ\97 Ð²Ñ\96д Garmin Ð°Ð±Ð¾ Ð½ÐµÐ²ÐµÐ»Ð¸ÐºÑ\96 Ð¿Ñ\80иÑ\81Ñ\82Ñ\80оÑ\97 Ñ\96з Bluetooth. Ð\94окладнÑ\96Ñ\88е Ð¿Ñ\80о Ð½Ð¸Ñ\85 Ð¼Ð¾Ð¶Ð½Ð° Ð¿Ñ\80оÑ\87иÑ\82аÑ\82и Ñ\83 Ð\92Ñ\96кÑ\96 Ð½Ð° Ñ\81Ñ\82оÑ\80Ñ\96нÑ\86Ñ\96 <a href=\"http://wiki.openstreetmap.org/wiki/Uk:GPS_Reviews\" target=\"_blank\">Ð\9eглÑ\8fд GPS-пÑ\80иймаÑ\87Ñ\96в</a></bodyText>\n\n<column/><headline>Ð\97аванÑ\82аженнÑ\8f Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð²Ð°Ñ\88иÑ\85 Ñ\82Ñ\80екÑ\96в</headline>\n<bodyText>Ð\97аÑ\80аз Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бно Ð²Ð¸Ð´Ð¾Ð±Ñ\83Ñ\82и Ð²Ð°Ñ\88 Ñ\82Ñ\80ек Ð· GPS-пÑ\80иÑ\81Ñ\82Ñ\80оÑ\8e. Ð\9cожливо, Ð´Ð»Ñ\8f Ð²Ð°Ñ\88ого GPS Ñ\94 Ð¿Ñ\80огÑ\80амне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ\87еннÑ\8f Ð´Ð»Ñ\8f Ñ\86Ñ\8cого Ð°Ð±Ð¾ Ð²Ñ\96н Ð´Ð¾Ð·Ð²Ð¾Ð»Ñ\8fÑ\94 Ð²Ð°Ð¼ Ñ\81копÑ\96Ñ\8eваÑ\82и Ñ\84айли Ñ\87еÑ\80ез USB. Ð¯ÐºÑ\89о Ð½Ñ\96, Ñ\81пÑ\80обÑ\83йÑ\82е <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Ð£ Ð±Ñ\83дÑ\8c\8fкомÑ\83 Ð²Ð¸Ð¿Ð°Ð´ÐºÑ\83 Ð²Ñ\81е Ñ\89о Ð²Ð°Ð¼ Ñ\82Ñ\80еба â\80\94 Ñ\89об Ð¾Ñ\82Ñ\80иманий Ñ\84айл Ð±Ñ\83в Ñ\83 Ñ\84оÑ\80маÑ\82Ñ\96 GPX.\n\nÐ\94лÑ\8f Ð·Ð°Ð²Ð°Ð½Ñ\82аженнÑ\8f Ð²Ð°Ñ\88ого Ñ\82Ñ\80екÑ\83 Ð½Ð° Ñ\81еÑ\80веÑ\80 OpenStreetMap Ñ\81коÑ\80иÑ\81Ñ\82айÑ\82еÑ\81Ñ\8c Ð²ÐºÐ»Ð°Ð´ÐºÐ¾Ñ\8e Â«GPS-Ñ\82Ñ\80еки». Ð\90ле Ñ\86е Ñ\82Ñ\96лÑ\8cки Ð¿ÐµÑ\80Ñ\88ий ÐºÑ\80ок â\80\94 Ð²Ñ\96н Ð½Ðµ Ð²Ð½ÐµÑ\81е Ð·Ð¼Ñ\96н Ð´Ð¾ Ð¼Ð°Ð¿Ð¸. Ð\92ам Ñ\82Ñ\80еба Ð½Ð°ÐºÑ\80еÑ\81лиÑ\82и Ð»Ñ\96нÑ\96й Ñ\82а Ð´Ð°Ñ\82и Ñ\97м Ð½Ð°Ð·Ð²Ð¸ Ñ\81амоÑ\81Ñ\82Ñ\96йно, Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\87и Ñ\82Ñ\80ек, Ñ\8fк Ð¾Ñ\80Ñ\96Ñ\94нÑ\82иÑ\80.</bodyText>\n<headline>Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ñ\82Ñ\80екÑ\96в</headline>\n<bodyText>Ð\92аÑ\88Ñ\96 Ð·Ð°Ð²Ð°Ð½Ñ\82аженÑ\96 Ñ\82Ñ\80еки Ð·Ð½Ð°Ñ\85одÑ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ð² Ð¿ÐµÑ\80елÑ\96кÑ\83 Ð½Ð° Ð²ÐºÐ»Ð°Ð´Ñ\86Ñ\96 Â«GPS-Ñ\82Ñ\80еки». Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð¿Ñ\80авиÑ\82и» <i>Ñ\81пÑ\80ава Ð±Ñ\96лÑ\8f Ð½Ñ\8cого</i> Ñ\96 Potlatch Ð·Ð°Ð¿Ñ\83Ñ\81Ñ\82иÑ\82Ñ\8cÑ\81Ñ\8f Ð·Ð°Ð²Ð°Ð½Ñ\82аживÑ\88и Ñ\86ей Ñ\82Ñ\80ек Ñ\82а Ñ\96нÑ\88Ñ\96 Ñ\82оÑ\87ки. Ð¢ÐµÐ¿ÐµÑ\80 Ð²Ð¸ Ð³Ð¾Ñ\82овÑ\96 ÐºÑ\80еÑ\81лиÑ\82и!\n\n<img src=\"gps\">Ð\92и Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð½Ð°Ñ\82иÑ\81нÑ\83Ñ\82и Ð½Ð° Ñ\86Ñ\8e ÐºÐ½Ð¾Ð¿ÐºÑ\83, Ñ\89об Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ\82и GPS-Ñ\82Ñ\80еки ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ð´Ð»Ñ\8f Ñ\86Ñ\96Ñ\94Ñ\97 Ð´Ñ\96лÑ\8fнки.</bodyText>\n<column/><headline>Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ñ\81Ñ\83пÑ\83Ñ\82никовиÑ\85 Ñ\84оÑ\82огÑ\80аÑ\84Ñ\96й</headline>\n<bodyText>ЯкÑ\89о Ñ\83 Ð²Ð°Ñ\81 Ð½ÐµÐ¼Ð°Ñ\94 GPS, Ð½Ðµ Ð¿ÐµÑ\80еймайÑ\82еÑ\81Ñ\8c. Ð\94лÑ\8f Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ\85 Ð¼Ñ\96Ñ\81Ñ\82 Ñ\83 Ð½Ð°Ñ\81 Ñ\94 Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки (лÑ\8eбâ\80\99Ñ\8fзно Ð½Ð°Ð´Ð°Ð½Ñ\96 Yahoo!) Ð¿Ð¾ Ñ\8fким Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е ÐºÑ\80еÑ\81лиÑ\82и. Ð\97беÑ\80Ñ\96Ñ\82Ñ\8c Ð´Ð¾Ð´Ð°Ñ\82ковÑ\83 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ð¼Ñ\96Ñ\81Ñ\86евÑ\96Ñ\81Ñ\82Ñ\8c Ñ\82а ÐºÑ\80еÑ\81лиÑ\82Ñ\8c Ñ\82а Ð¿Ð¾Ð·Ð½Ð°Ñ\87айÑ\82е Ð¾Ð±â\80\99Ñ\94кÑ\82и Ñ\82а Ñ\97Ñ\85 Ð½Ð°Ð·Ð²Ð¸ (додаÑ\82ковÑ\83 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e) Ð¿Ð¾ Ð·Ð½Ñ\96мкаÑ\85.\n\n<img src='prefs'>ЯкÑ\89о Ð²Ð¸ Ð½Ðµ Ð±Ð°Ñ\87иÑ\82е Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки Ð½Ð° Ñ\84онÑ\96, ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ\83 Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ванÑ\8c Ñ\82а Ð¿ÐµÑ\80еконайÑ\82еÑ\81Ñ\8c, Ñ\89о Ð²Ð¸Ð±Ñ\80ано Â«Yahoo!». Ð\92и Ð¹ Ð´Ð¾Ñ\81Ñ\96 Ð½Ðµ Ð±Ð°Ñ\87иÑ\82е Ñ\97Ñ\85 â\80\94 Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ Ð´Ð»Ñ\8f Ð²Ð°Ñ\88ого Ð¼Ñ\96Ñ\81Ñ\86Ñ\8f Ñ\80озÑ\82аÑ\88Ñ\83ваннÑ\8f Ñ\97Ñ\85 Ð½ÐµÐ¼Ð°Ñ\94 Ð°Ð±Ð¾ Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð·Ð¼ÐµÐ½Ñ\88иÑ\82и Ð¼Ð°Ñ\81Ñ\88Ñ\82аб.\n\nÐ\9dаÑ\82иÑ\81нÑ\83вÑ\88и Ñ\82Ñ\83 Ð¶ Ñ\81амÑ\83 ÐºÐ½Ð¾Ð¿ÐºÑ\83 Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ванÑ\8c Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82и Ð½ÐµÐ²ÐµÐ»Ð¸Ñ\87кий Ð¿ÐµÑ\80елÑ\96к Ð¼Ð°Ð¿, Ð½Ð° Ñ\8fкÑ\96 Ð½Ðµ Ð¿Ð¾Ñ\88иÑ\80Ñ\8eÑ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8f Ð°Ð²Ñ\82оÑ\80Ñ\81Ñ\8cкого Ð¿Ñ\80ава Ð´Ð»Ñ\8f Ð\92еликобÑ\80иÑ\82анÑ\96Ñ\97 Ñ\82а OpenTopoMap â\80\94 Ð´Ð»Ñ\8f Ð¡Ð¨Ð\90. Ð\92Ñ\81Ñ\96 Ð²Ð¾Ð½Ð¸ Ð¿Ñ\80ойÑ\88ли Ð²Ñ\96дбÑ\96Ñ\80 Ð½Ð° Ð²Ñ\96дповÑ\96днÑ\96Ñ\81Ñ\82Ñ\8c Ð´Ð¾ Ð½Ð°Ñ\88оÑ\97 Ð»Ñ\96Ñ\86ензÑ\96Ñ\97, Ñ\82омÑ\83 Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ñ\97Ñ\85, Ð°Ð»Ðµ Ð½Ðµ ÐºÐ¾Ð¿Ñ\96Ñ\8eйÑ\82е Ð· Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿ Ñ\87и Ð°ÐµÑ\80оÑ\84оÑ\82ознÑ\96мкÑ\96в.  (Ð\9fамâ\80\99Ñ\8fÑ\82айÑ\82е Ð¿Ñ\80о Ð·Ð°ÐºÐ¾Ð½Ð¾Ð´Ð°Ð²Ñ\87Ñ\96 Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\8f Ð°Ð²Ñ\82оÑ\80Ñ\81Ñ\8cкого Ð¿Ñ\80ава.)\n\nÐ\86нколи Ñ\81Ñ\83пÑ\83Ñ\82никовÑ\96 Ð·Ð½Ñ\96мки Ñ\82Ñ\80оÑ\85и Ð·Ñ\81Ñ\83нÑ\83Ñ\82Ñ\96 Ð²Ð±Ñ\96к Ð²Ñ\96д Ñ\82ого Ð¼Ñ\96Ñ\81Ñ\86Ñ\8f Ð´Ðµ Ð½Ð°Ñ\81пÑ\80авдÑ\96 Ð²Ð¾Ð½Ð¸ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ\96 Ð±Ñ\83Ñ\82и. Ð¯ÐºÑ\89о Ð²Ð¸ Ð¿Ð¾Ð¼Ñ\96Ñ\82иÑ\82е Ñ\82аке, Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ð\9fÑ\80обÑ\96л Ñ\82а Ð¿Ð¾Ñ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ñ\84он Ð´Ð¾ÐºÐ¸ Ð´Ð¾Ñ\80ога Ð½Ð° Ð½Ñ\8cомÑ\83 Ð½Ðµ Ñ\81пÑ\96впаде Ñ\96з Ñ\82Ñ\80еком. Ð\97авжди Ð´Ð¾Ð²Ñ\96Ñ\80Ñ\8fйÑ\82е GPS-Ñ\82Ñ\80екам Ð½Ñ\96ж Ñ\81Ñ\83пÑ\83Ñ\82никовим Ð·Ð½Ñ\96мкам.</bodytext>\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 4: Ð\9aÑ\80еÑ\81леннÑ\8f\n\n--><page/><headline>Ð\9aÑ\80еÑ\81леннÑ\8f Ð»Ñ\96нÑ\96й</headline>\n<bodyText>Ð\94лÑ\8f Ð¿Ð¾Ñ\87аÑ\82кÑ\83 ÐºÑ\80еÑ\81леннÑ\8f Ð´Ð¾Ñ\80оги (або Â«Ð»Ñ\96нÑ\96Ñ\97») Ð¿Ñ\80оÑ\81Ñ\82о ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð¿Ð¾ Ñ\87иÑ\81Ñ\82омÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\8e Ð½Ð° Ð¼Ð°Ð¿Ñ\96; Ð´Ð°Ð»Ñ\96 â\80\94 ÐºÐ»Ð°Ñ\86айÑ\82е Ð½Ð° ÐºÐ¾Ð¶Ð½Ð¾Ð¼Ñ\83 Ð²Ð¸Ð³Ð¸Ð½Ñ\96 Ð»Ñ\96нÑ\96Ñ\97. Ð\9aоли Ð²Ð¸ Ð·Ð°Ð±Ð°Ð¶Ð°Ñ\94Ñ\82е Ð·Ð°ÐºÑ\96нÑ\87иÑ\82и Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ð\92вÑ\96д Ð°Ð±Ð¾ Ð·Ñ\80обÑ\96Ñ\82Ñ\8c Ð¿Ð¾Ð´Ð²Ñ\96йне ÐºÐ»Ð°Ñ\86аннÑ\8f; Ð¿Ð¾Ñ\82Ñ\96м ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð±Ñ\83дÑ\8c-де, Ñ\89об Ð·Ð½Ð°Ñ\82и Ð²Ð¸Ð´Ñ\96леннÑ\8f Ð· Ð´Ð¾Ñ\80оги.\n\nÐ\94лÑ\8f ÐºÑ\80еÑ\81леннÑ\8f Ð»Ñ\96нÑ\96Ñ\97, Ñ\89о Ð¿Ð¾Ñ\87инаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð²Ñ\96д Ñ\96нÑ\88оÑ\97 Ð»Ñ\96нÑ\96Ñ\97, ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ñ\86Ñ\8e Ð»Ñ\96нÑ\96Ñ\8e Ð´Ð»Ñ\8f Ð²Ð¸Ð´Ñ\96леннÑ\8f; Ñ\97Ñ\97 Ñ\82оÑ\87ки Ñ\81Ñ\82аÑ\8eÑ\82Ñ\8c Ñ\87еÑ\80воними. Ð¢Ñ\80имайÑ\82е SHIFT Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð²Ð¸Ð´Ñ\96ленÑ\96й Ð»Ñ\96нÑ\96Ñ\97 Ñ\89об Ñ\80озпоÑ\87аÑ\82и ÐºÑ\80еÑ\81леннÑ\8f Ð½Ð¾Ð²Ð¾Ñ\97 Ð»Ñ\96нÑ\96Ñ\97 Ð· Ñ\86Ñ\96Ñ\94Ñ\97 Ñ\82оÑ\87ки. (ЯкÑ\89о Ð² Ñ\86Ñ\8cомÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\96 Ð½ÐµÐ¼Ð°Ñ\94 Ñ\87еÑ\80воноÑ\97 Ñ\82оÑ\87ки Ð¿Ð¾Ñ\81Ñ\82авÑ\82е Ñ\97Ñ\97 Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ\8e SHIFT-Ð\9bÐ\9a Ð² Ð¿Ð¾Ñ\82Ñ\80Ñ\96бномÑ\83 Ð¼Ñ\96Ñ\81Ñ\86Ñ\96!)\n\nÐ\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Â«Ð\97беÑ\80егÑ\82и» («Save») Ñ\81пÑ\80ава Ð·Ð½Ð¸Ð·Ñ\83, ÐºÐ¾Ð»Ð¸ Ð·Ð°ÐºÑ\96нÑ\87иÑ\82е. Ð\97беÑ\80Ñ\96гайÑ\82е Ñ\87аÑ\81Ñ\82Ñ\96Ñ\88е, Ñ\8fкÑ\89о Ð·Ð²â\80\99Ñ\8fзок Ð· Ñ\81еÑ\80веÑ\80ом Ð½ÐµÐ½Ð°Ð´Ñ\96йний.\n\nÐ\9dе Ñ\81подÑ\96вайÑ\82еÑ\81Ñ\8c Ð½Ð° Ñ\82е, Ñ\89о Ð²Ð°Ñ\88Ñ\96 Ð¿Ñ\80авки Ð·â\80\99Ñ\8fвлÑ\8fÑ\82Ñ\8cÑ\81Ñ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96 Ð½ÐµÐ³Ð°Ð¹Ð½Ð¾. Ð\97виÑ\87айно, Ð¿Ñ\80оÑ\85одиÑ\82Ñ\8c Ð³Ð¾Ð´Ð¸Ð½Ð° Ñ\87и Ð´Ð²Ñ\96, Ð°Ð±Ð¾, Ð½Ð°Ð²Ñ\96Ñ\82Ñ\8c, Ñ\82ижденÑ\8c.\n</bodyText><column/><headline>СÑ\82воÑ\80еннÑ\8f Ð·â\80\99Ñ\94днанÑ\8c</headline>\n<bodyText>Це Ð´Ñ\83же Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¾, Ñ\89об Ð´Ð²Ñ\96 Ð´Ð¾Ñ\80оги Ð·â\80\99Ñ\94днÑ\83валиÑ\81Ñ\8c Ñ\82а Ð¼Ð°Ð»Ð¸ Ñ\81пÑ\96лÑ\8cнÑ\83 Ñ\82оÑ\87кÑ\83 (Ñ\87и Â«Ð²Ñ\83зол»). Ð\9fÑ\80огÑ\80ами-планÑ\83валÑ\8cники Ð¼Ð°Ñ\80Ñ\88Ñ\80Ñ\83Ñ\82Ñ\96в Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ\96 Ð·Ð½Ð°Ñ\82и Ð´Ðµ Ñ\82Ñ\80еба Ð¿Ð¾Ð²ÐµÑ\80Ñ\82аÑ\82и.\n\nPotlatch Ð¿Ð¾Ð´Ð±Ð°Ñ\94 Ð¿Ñ\80о Ñ\86е Ð´Ð¾ Ñ\82иÑ\85 Ð¿Ñ\96Ñ\80, Ð´Ð¾ÐºÐ¸ Ð²Ð¸ Ð±Ñ\83деÑ\82е Ñ\80еÑ\82елÑ\8cно ÐºÐ»Ð°Ñ\86аÑ\82и <i>Ñ\82оÑ\87но</i> Ð½Ð° Ð»Ñ\96нÑ\96Ñ\8e Ð´Ð¾ Ñ\8fкоÑ\97 Ñ\82Ñ\80еба Ð¿Ñ\80иÑ\94днаÑ\82иÑ\81Ñ\8c. Ð\97веÑ\80Ñ\82айÑ\82е Ñ\83вагÑ\83 Ð½Ð° ÐºÐ¾Ñ\80иÑ\81нÑ\96 Ð¾Ð·Ð½Ð°ÐºÐ¸: Ñ\82оÑ\87ка Ð·Ð°Ð³Ð¾Ñ\80иÑ\82Ñ\8cÑ\81Ñ\8f Ñ\81инÑ\96м, Ð·Ð¼Ñ\96ниÑ\82Ñ\8cÑ\81Ñ\8f Ð²ÐºÐ°Ð·Ñ\96вник, Ñ\96 ÐºÐ¾Ð»Ð¸ Ð²Ð¸ Ð·Ð°ÐºÑ\96нÑ\87иÑ\82е, Ð·â\80\99Ñ\94днаннÑ\8f Ð¼Ð°Ñ\82име Ñ\87оÑ\80ний ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80.</bodyText>\n<headline>Ð\9fеÑ\80еÑ\81Ñ\83ваннÑ\8f Ñ\82а Ð²Ð¸Ð»Ñ\83Ñ\87еннÑ\8f</headline>\n<bodyText>Ð\92Ñ\81е Ð¿Ñ\80аÑ\86Ñ\8eÑ\94 Ñ\82ак Ñ\8fк Ð²Ð¸ Ð¹ Ð¾Ñ\87Ñ\96кÑ\83Ñ\94Ñ\82е. Ð\94лÑ\8f Ð²Ð¸Ð»Ñ\83Ñ\87еннÑ\8f Ñ\82оÑ\87ки Ð²Ð¸Ð´Ñ\96лÑ\96Ñ\82Ñ\8c Ñ\97Ñ\97 Ñ\82а Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Delete. Ð\94лÑ\8f Ð²Ð¸Ð»Ñ\83Ñ\87еннÑ\8f Ð²Ñ\81Ñ\96Ñ\94Ñ\97 Ð»Ñ\96нÑ\96Ñ\97 â\80\94 Shift-Delete.\n\nÐ\94лÑ\8f Ð¿ÐµÑ\80емÑ\96Ñ\89еннÑ\8f â\80\94 Ð¿Ñ\80оÑ\81Ñ\82о Ð¿ÐµÑ\80еÑ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c ÐµÐ»ÐµÐ¼ÐµÐ½Ñ\82. (Ð\92ам Ñ\82Ñ\80еба ÐºÐ»Ð°Ñ\86нÑ\83Ñ\82и Ñ\82а Ñ\82Ñ\80оÑ\85и Ð·Ð°Ñ\87екаÑ\82и Ð¿ÐµÑ\80ед Ð¿ÐµÑ\80еÑ\81Ñ\83ваннÑ\8fм Ð»Ñ\96нÑ\96Ñ\97, Ñ\86е Ð·Ñ\80облено Ñ\89об Ñ\83никнÑ\83Ñ\82и Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ð¿ÐµÑ\80еÑ\81Ñ\83ваннÑ\8f.)</bodyText>\n<column/><headline>Ð\91Ñ\96лÑ\8cÑ\88 Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾ Ð¿Ñ\80о ÐºÑ\80еÑ\81леннÑ\8f</headline>\n<bodyText><img src=\"scissors\">ЯкÑ\89о Ð´Ð²Ñ\96 Ñ\87аÑ\81Ñ\82ини Ð»Ñ\96нÑ\96Ñ\97 Ð¼Ð°Ñ\8eÑ\82Ñ\8c Ñ\80Ñ\96знÑ\96 Ð½Ð°Ð·Ð²Ð¸, Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ñ\80оздÑ\96лиÑ\82и Ñ\97Ñ\97. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð»Ñ\96нÑ\96Ñ\8e; Ð¾Ð±ÐµÑ\80Ñ\96Ñ\82Ñ\8c Ñ\82оÑ\87кÑ\83 Ð² Ñ\8fкÑ\96й Ñ\82Ñ\80еба Ñ\80оздÑ\96лиÑ\82и Ð»Ñ\96нÑ\96Ñ\8e Ñ\82а Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð·Ð½Ð°Ñ\87ок Ð· Ð½Ð¾Ð¶Ð¸Ñ\86Ñ\8fми. (Ð\92и Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð·â\80\99Ñ\94днаÑ\82и Ð»Ñ\96нÑ\96Ñ\97 Ð² Ð¾Ð´Ð½Ñ\83, Ð½Ð°Ñ\82иÑ\81нÑ\83вÑ\88и CTRL Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\83вÑ\88и Ð¼Ð¸Ñ\88еÑ\8e, Ð´Ð»Ñ\8f Mac â\80\94 ÐºÐ»Ð°Ð²Ñ\96Ñ\88а Apple, Ð°Ð»Ðµ Ð½Ðµ Ð·â\80\99Ñ\94днÑ\83йÑ\82е Ð´Ð¾Ñ\80оги Ð· Ñ\80Ñ\96зними Ð½Ð°Ð·Ð²Ð°Ð¼Ð¸ Ñ\82а Ñ\82ипами.)\n\n<img src=\"tidy\">Ð\94оволÑ\96 Ñ\81кладно Ð½Ð°ÐºÑ\80еÑ\81лиÑ\82и Ð¿Ñ\80авилÑ\8cний ÐºÑ\80Ñ\83г Ñ\80Ñ\83ками. Ð\9dе Ñ\82Ñ\83Ñ\80бÑ\83йÑ\82еÑ\81Ñ\8c â\80\94 Potlatch Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð¶Ðµ. Ð\9fÑ\80оÑ\81Ñ\82о Ð½Ð°ÐºÑ\80еÑ\81лиÑ\82Ñ\8c Ð¿ÐµÑ\82лÑ\8e, Ñ\82ак Ñ\89об Ñ\97Ñ\97 ÐºÑ\96неÑ\86Ñ\8c Ð¿Ñ\80иÑ\94днавÑ\81Ñ\8f Ð´Ð¾ Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð·Ð½Ð°Ñ\87ок Â«Ð²Ð¸Ñ\80Ñ\96внÑ\8fÑ\82и» («tidy»). (Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\82акож Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ð¹Ð¾Ð³Ð¾ Ð´Ð»Ñ\8f Ð²Ð¸Ð¿Ñ\80Ñ\8fмленнÑ\8f Ð´Ð¾Ñ\80Ñ\96г.)</bodyText>\n<headline>Ð\9eбâ\80\99Ñ\94кÑ\82и (POI)</headline>\n<bodyText>Самим Ð¿ÐµÑ\80Ñ\88им, Ñ\87ого Ð²Ð¸ Ð½Ð°Ð²Ñ\87илиÑ\81Ñ\8c Ð±Ñ\83ло Ð¿ÐµÑ\80еÑ\82Ñ\8fгÑ\83ваннÑ\8f Ð¾Ð±â\80\99Ñ\94кÑ\82Ñ\96в (POI) Ð½Ð° Ð¼Ð°Ð¿Ñ\83. Ð\92и Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\81Ñ\82воÑ\80Ñ\8eваÑ\82и Ñ\97Ñ\85 Ð·Ñ\80обивÑ\88и Ð¿Ð¾Ð´Ð²Ñ\96йне ÐºÐ»Ð°Ñ\86аннÑ\8f Ð½Ð° Ð¼Ð°Ð¿Ñ\96, Ð¿Ñ\96Ñ\81лÑ\8f Ñ\87ого Ð·â\80\99Ñ\8fвиÑ\82Ñ\8cÑ\81Ñ\8f Ð·ÐµÐ»ÐµÐ½Ðµ ÐºÐ¾Ð»Ð¾. Ð\90ле, Ñ\8fк Ñ\81казаÑ\82и Ð¿Ñ\80о Ñ\82е Ñ\87им Ð²Ð¾Ð½Ð¾ Ñ\94 (магазин, Ð±Ð°Ð½ÐºÐ¾Ð¼Ð°Ñ\82)? Ð\94ивÑ\96Ñ\82Ñ\8cÑ\81Ñ\8f Â«Ð\9fознаÑ\87еннÑ\8f Ñ\82еÒ\91ами», Ñ\89об Ð¿Ñ\80о Ñ\86е Ð´Ñ\96знаÑ\82иÑ\81Ñ\8c!\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 5: Ð\9fознаÑ\87еннÑ\8f Ñ\82еÒ\91ами\n\n--><page/><headline>Що Ñ\82аке Ñ\82ип Ð´Ð¾Ñ\80оги?</headline>\n<bodyText>Ð\9fÑ\96Ñ\81лÑ\8f Ñ\82ого Ñ\8fк Ð²Ð¸ Ð½Ð°ÐºÑ\80еÑ\81лили Ñ\88лÑ\8fÑ\85, Ð²Ð°Ð¼ Ñ\82Ñ\80еба Ð·Ð°Ð·Ð½Ð°Ñ\87иÑ\82и Ñ\8fкий Ð²Ñ\96н. Ð§Ð¸ Ñ\86е Ð³Ð¾Ð»Ð¾Ð²Ð½Ð° Ð´Ð¾Ñ\80ога, Ñ\87и Ñ\82Ñ\80оÑ\82Ñ\83аÑ\80 Ð°Ð±Ð¾ Ñ\80Ñ\96ка? Ð¯Ðº Ð²Ñ\96н Ð½Ð°Ð·Ð¸Ð²Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f? Ð§Ð¸ Ð²Ñ\96н Ð¼Ð°Ñ\94 Ð¾Ñ\81обливÑ\96 Ð¿Ñ\80авила (напÑ\80иклад Â«Ð½Ðµ Ð´Ð»Ñ\8f Ð²ÐµÐ»Ð¾Ñ\81ипедÑ\96в»)?\n\nУ OpenStreetMap, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82и Ñ\86е, Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\87и Â«Ñ\82еÒ\91и». Ð¢ÐµÒ\91 Ñ\81кладаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð· Ð´Ð²Ð¾Ñ\85 Ñ\87аÑ\81Ñ\82ин, Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ð·Ð½Ð°Ñ\87иÑ\82и Ñ\81Ñ\82Ñ\96лÑ\8cки Ñ\82еÒ\91Ñ\96в, Ñ\81кÑ\96лÑ\8cки Ñ\82Ñ\80еба. Ð\9dапÑ\80иклад: Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð´Ð¾Ð´Ð°Ñ\82и <i>highway | trunk</i> Ð´Ð»Ñ\8f Ð¿Ð¾Ð·Ð½Ð°Ñ\87еннÑ\8f Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¾Ñ\97 Ð´Ð¾Ñ\80ги; <i>highway | residential</i> â\80\94 Ð´Ð¾Ñ\80оги Ñ\83 Ð¶Ð¸Ð»Ñ\96й Ð·Ð¾Ð½Ñ\96; <i>highway | footway</i> â\80\94 Ð´Ð»Ñ\8f Ñ\82Ñ\80оÑ\82Ñ\83аÑ\80Ñ\83. Ð¯ÐºÑ\89о Ñ\80Ñ\83Ñ\85 Ð²ÐµÐ»Ð¾Ñ\81ипедÑ\96в Ð·Ð°Ð±Ð¾Ñ\80онений Ð´Ð¾Ð´Ð°Ð¹Ñ\82е Ñ\82еÒ\91 <i>bicycle | no</i>. Ð\94одайÑ\82е Ð½Ð°Ð·Ð²Ñ\83 Ñ\81коÑ\80иÑ\81Ñ\82авÑ\88иÑ\81Ñ\8c Ñ\82еÒ\91ом <i>name | Market Street</i>.\n\nТеÒ\91 Ð² Potlatch Ð¿Ð¾ÐºÐ°Ð·Ñ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ñ\83 Ð½Ð¸Ð¶Ð½Ñ\96й Ñ\87аÑ\81Ñ\82инÑ\96 ÐµÐºÑ\80анÑ\83 â\80\94 ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ñ\96Ñ\81нÑ\83Ñ\8eÑ\87Ñ\83 Ð´Ð¾Ñ\80огÑ\83, Ñ\96 Ð²Ð¸ Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82е Ñ\82еÒ\91и Ñ\8fким Ð²Ð¾Ð½Ð° Ð¿Ð¾Ð·Ð½Ð°Ñ\87ена. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Â«+» Ñ\81пÑ\80ава Ð·Ð½Ð¸Ð·Ñ\83 Ð´Ð»Ñ\8f Ð´Ð¾Ð´Ð°Ð½Ð½Ñ\8f Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ\82еÒ\91Ñ\83. Ð\97наÑ\87ок Â«Ñ\85» Ð±Ñ\96лÑ\8f ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ\82еÒ\91Ñ\83 Ð²Ð¸Ð»Ñ\83Ñ\87аÑ\94 Ð¹Ð¾Ð³Ð¾.\n\nÐ\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ð·Ð½Ð°Ñ\87иÑ\82и Ð²Ñ\81Ñ\8e Ð»Ñ\96нÑ\96Ñ\8e; Ñ\82оÑ\87ки Ð½Ð° Ð»Ñ\96нÑ\96Ñ\97 (воÑ\80оÑ\82а Ñ\87и Ñ\81вÑ\96Ñ\82лоÑ\84оÑ\80и); Ð¾Ð±â\80\99Ñ\94кÑ\82и (POI).</bodytext>\n<column/><headline>Ð\92икоÑ\80иÑ\81Ñ\82аннÑ\8f Ñ\88аблонÑ\96в Ñ\82еÒ\91Ñ\96в</headline>\n<bodyText>Ð\94лÑ\8f Ñ\82ого, Ñ\89об Ð²Ð¸ Ð²Ñ\96дÑ\80азÑ\83 Ð²Ð»Ð¸Ð»Ð¸Ñ\81Ñ\8c Ñ\83 Ð¿Ñ\80оÑ\86еÑ\81 Ñ\81Ñ\82воÑ\80еннÑ\8f Ð¼Ð°Ð¿Ð¸, Potlatch Ð¼Ð°Ñ\94 Ð³Ð¾Ñ\82овÑ\96 Ñ\88аблони, Ñ\89о Ð¼Ñ\96Ñ\81Ñ\82Ñ\8fÑ\82Ñ\8c Ð½Ð°Ð±Ð¾Ñ\80и Ð½Ð°Ð¹Ð±Ñ\96лÑ\8cÑ\88 Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80ниÑ\85 Ñ\82еÒ\91Ñ\96в.\n\n<img src=\"preset_road\">Ð\92идÑ\96лÑ\96Ñ\82Ñ\8c Ð»Ñ\96нÑ\96Ñ\8e, Ð¿Ð¾Ñ\82Ñ\96м, ÐºÐ»Ð°Ñ\86аÑ\8eÑ\87и Ð½Ð° Ð·Ð½Ð°Ñ\87ки Ð²Ð¸Ð±ÐµÑ\80Ñ\96Ñ\82Ñ\8c Ð¿Ð¾Ñ\82Ñ\80Ñ\96бний. Ð¿Ñ\96Ñ\81лÑ\8f Ñ\87ого Ð²Ð¸Ð±ÐµÑ\80Ñ\96Ñ\82Ñ\8c Ð½Ð°Ð¹Ð±Ñ\96лÑ\8cÑ\88 Ð¿Ñ\96дÑ\85одÑ\8fÑ\89ий Ð²Ð°Ñ\80Ñ\96анÑ\82 Ñ\96з Ð¼ÐµÐ½Ñ\8e.\n\nЦе Ð´Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ\82Ñ\8c Ð·Ð°Ð¿Ð¾Ð²Ð½Ð¸Ñ\82и Ñ\82еÒ\91и. Ð\94еÑ\8fкÑ\96 Ñ\87аÑ\81Ñ\82ково Ð·Ð°Ð»Ð¸Ñ\88аÑ\82Ñ\8cÑ\81Ñ\8f Ð¿Ð¾Ñ\80ожнÑ\96м, Ñ\89об Ð²Ð¸ Ð¼Ð¾Ð³Ð»Ð¸ Ñ\81амоÑ\81Ñ\82Ñ\96йно Ð²ÐºÐ°Ð·Ð°Ñ\82и, Ð½Ð°Ð¿Ñ\80иклад: Ð½Ð°Ð·Ð²Ð¸ Ñ\82а Ð½Ð¾Ð¼ÐµÑ\80и Ð´Ð¾Ñ\80Ñ\96г.</bodyText>\n<headline>Ð\94оÑ\80оги Ð· Ð¾Ð´Ð½Ð¾Ñ\81Ñ\82оÑ\80оннÑ\96м Ñ\80Ñ\83Ñ\85ом</headline>\n<bodyText>Ð\9cожливо, Ð²Ð¸ Ð·Ð°Ñ\85оÑ\87еÑ\82е Ð´Ð¾Ð´Ð°Ñ\82и Ñ\82еÒ\91 <i>oneway | yes</i>, Ð°Ð»Ðµ Ñ\8fк Ð²ÐºÐ°Ð·Ð°Ñ\82и Ð½Ð°Ð¿Ñ\80Ñ\8fмок Ð´Ð¾Ñ\80оги? Ð\94лÑ\8f Ñ\86Ñ\8cого Ð² Ð»Ñ\96вомÑ\83 Ð½Ð¸Ð¶Ð½Ñ\8cомÑ\83 ÐºÑ\83Ñ\82Ñ\96 Ñ\94 Ñ\81Ñ\82Ñ\80Ñ\96лка, Ñ\8fка Ð¿Ð¾ÐºÐ°Ð·Ñ\83Ñ\94 Ð½Ð°Ð¿Ñ\80Ñ\8fмок Ð»Ñ\96нÑ\96Ñ\97, Ð²Ñ\96д Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ð´Ð¾ ÐºÑ\96нÑ\86Ñ\8f. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð½ÐµÑ\97 Ð´Ð»Ñ\8f Ð·Ð¼Ñ\96ни Ð½Ð°Ð¿Ñ\80Ñ\8fмкÑ\83 Ð½Ð° Ð¿Ñ\80оÑ\82илежний.</bodyText>\n<column/><headline>Ð\94одаваннÑ\8f Ñ\96нÑ\88иÑ\85 Ñ\82еÒ\91Ñ\96в</headline>\n<bodyText>Ð\97вÑ\96Ñ\81но, Ð²Ð¸ Ð½Ðµ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ\96 Ñ\82Ñ\96лÑ\8cки Ñ\88аблонами Ñ\82еÒ\91Ñ\96в. Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ð±Ñ\83дÑ\8c\8fкÑ\96 Ñ\82еÒ\91и, Ñ\8fкÑ\96 Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бнÑ\96. Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Â«+» Ð´Ð»Ñ\8f Ñ\86Ñ\8cого Ñ\82а Ð·Ð°Ð·Ð½Ð°Ñ\87Ñ\82е Ñ\82еÒ\91 Ñ\82а Ð¹Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ\87еннÑ\8f.\n\n<a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a> Ð¿Ð¾ÐºÐ°Ð¶Ðµ Ð²Ð°Ð¼, Ñ\8fкÑ\96 Ñ\82еÒ\91и Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8c Ñ\96нÑ\88Ñ\96; Ð´Ð¾Ð²Ð¾Ð»Ñ\96 Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾ Ð¿Ñ\80о Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80нÑ\96 Ñ\82еÒ\91и Ñ\80озказано Ñ\83 Ð\92Ñ\96кÑ\96 Ð½Ð° Ñ\81Ñ\82оÑ\80Ñ\96нÑ\86Ñ\96 <a href=\"http://wiki.openstreetmap.org/wiki/Uk:Map_Features\" target=\"_blank\">Ð\95леменÑ\82и Ð¼Ð°Ð¿Ð¸</a>. Ð\90ле Ñ\86е <i>лиÑ\88е Ñ\80екомендаÑ\86Ñ\96Ñ\97, Ð° Ð½Ðµ Ð¿Ñ\80авила</i>. Ð\92и Ð²Ñ\96лÑ\8cнÑ\96 Ð²Ð¸Ð½Ð°Ñ\85одиÑ\82и Ð²Ð»Ð°Ñ\81нÑ\96 Ñ\82еÒ\91и Ð°Ð±Ð¾ Ð·Ð°Ð¿Ð¾Ð·Ð¸Ñ\87Ñ\83ваÑ\82и Ñ\83 Ñ\96нÑ\88иÑ\85.\n\nТак Ñ\8fк Ð´Ð°Ð½Ñ\96 Ð· OpenStreetMap Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð´Ð»Ñ\8f Ñ\81Ñ\82воÑ\80еннÑ\8f Ñ\96нÑ\88иÑ\85 Ð¼Ð°Ð¿, ÐºÐ¾Ð¶Ð½Ð° Ð¼Ð°Ð¿Ð° Ð¼Ð¾Ð¶Ðµ Ð¿Ð¾ÐºÐ°Ð·Ñ\83ваÑ\82и Ñ\82еÒ\91и Ð·Ð° Ð²Ð»Ð°Ñ\81ним Ð²Ð¸Ð±Ð¾Ñ\80ом.</bodyText>\n<headline>Ð\97вâ\80\99Ñ\8fзки</headline>\n<bodyText>Ð\86нодÑ\96 Ñ\82еÒ\91Ñ\96в Ð½ÐµÐ´Ð¾Ñ\81Ñ\82аÑ\82нÑ\8cо, Ñ\96 Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бно Ð¾Ð±â\80\99Ñ\94днаÑ\82и Ð² Â«Ð³Ñ\80Ñ\83пÑ\83» Ð´Ð²Ñ\96 Ñ\87и Ð±Ñ\96лÑ\8cÑ\88е Ð»Ñ\96нÑ\96Ñ\97. Ð\9cожливо, Ð¿Ð¾Ð²Ð¾Ñ\80оÑ\82 Ð· Ð¾Ð´Ð½Ñ\96Ñ\94Ñ\97 Ð´Ð¾Ñ\80оги Ð½Ð° Ñ\96нÑ\88Ñ\83 Ð·Ð°Ð±Ð¾Ñ\80онений Ð°Ð±Ð¾ 20 Ð»Ñ\96нÑ\96й Ñ\80азом Ñ\83Ñ\82воÑ\80Ñ\8eÑ\8eÑ\82Ñ\8c Ð²ÐµÐ»Ð¾Ñ\81ипедний Ð¼Ð°Ñ\80Ñ\88Ñ\80Ñ\83Ñ\82.  Ð\92и Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ñ\80обиÑ\82и Ñ\86е Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ\8e Ð²Ð´Ð¾Ñ\81коналеноÑ\97 Ñ\84Ñ\83нкÑ\86Ñ\96Ñ\97, Ñ\8fка Ð½Ð°Ð·Ð¸Ð²Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f Â«Ð\97вâ\80\99Ñ\8fзки». <a href=\"http://wiki.openstreetmap.org/wiki/Uk:Relations\" target=\"_blank\">Ð\94ивиÑ\81Ñ\8c Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ñ\96Ñ\88е</a> Ñ\83 Ð\92Ñ\96кÑ\96.</bodyText>\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 6: Ð\92иÑ\80Ñ\96Ñ\88еннÑ\8f Ð¿Ñ\80облем\n\n--><page/><headline>Ð\92ипÑ\80авленнÑ\8f Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº</headline>\n<bodyText><img src=\"undo\">Це ÐºÐ½Ð¾Ð¿ÐºÐ° Â«Ð²Ñ\96дмÑ\96ниÑ\82и» («undo»), Ð²Ð¸ Ñ\82акож Ð¼Ð¾Ð¶ÐµÑ\82е Ð½Ð°Ñ\82иÑ\81каÑ\82и Z â\80\94 Ð²Ñ\96дмÑ\96нÑ\8fÑ\94 Ð¾Ñ\81Ñ\82аннÑ\96 Ð´Ñ\96Ñ\97, Ñ\89о Ð²Ð¸ Ð·Ñ\80обили.\n\nÐ\92и Ð¼Ð¾Ð¶ÐµÑ\82е Â«Ð¿Ð¾Ð²ÐµÑ\80нÑ\83Ñ\82и» Ð¿Ð¾Ð¿ÐµÑ\80еднÑ\8cо Ð·Ð±ÐµÑ\80еженÑ\96 Ð²ÐµÑ\80Ñ\81Ñ\96Ñ\97 Ð»Ñ\96нÑ\96й Ð°Ð±Ð¾ Ñ\82оÑ\87ок. Ð\92идÑ\96лÑ\96Ñ\82Ñ\8c Ð»Ñ\96нÑ\96Ñ\8e Ñ\87и Ñ\82оÑ\87кÑ\83 Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ñ\97Ñ\85 Ñ\96денÑ\82иÑ\84Ñ\96каÑ\82оÑ\80Ñ\96 (Ñ\87иÑ\81ло Ð·Ð»Ñ\96ва Ð·Ð½Ð¸Ð·Ñ\83) Ð°Ð±Ð¾ Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Â«H» (Ñ\81коÑ\80оÑ\87ено Ð²Ñ\96д 'history' - 'Ñ\96Ñ\81Ñ\82оÑ\80Ñ\96Ñ\8f'). Ð\92и Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82е Ð¿ÐµÑ\80елÑ\96к Ð²Ñ\81Ñ\96Ñ\85 Ð·Ð¼Ñ\96н, Ñ\8fкÑ\96 Ð²Ñ\96дбÑ\83валиÑ\81Ñ\8c. Ð\92ибеÑ\80Ñ\96Ñ\82Ñ\8c Ð¿Ð¾Ñ\82Ñ\80Ñ\96бнÑ\83 â\80\94 Ð´Ð¾ Ñ\8fкоÑ\97 Ñ\82Ñ\80еба Ð¿Ð¾Ð²ÐµÑ\80нÑ\83Ñ\82иÑ\81Ñ\8c Ñ\96 Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Â«Ð\9fовеÑ\80нÑ\83Ñ\82и» (Revert).\n\nЯкÑ\89о Ð²Ð¸ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¾ Ð²Ð¸Ð»Ñ\83Ñ\87или Ð»Ñ\96нÑ\96Ñ\8e Ñ\82а Ð·Ð±ÐµÑ\80егли Ð·Ð¼Ñ\96ни â\80\94 Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c U (Ñ\81коÑ\80оÑ\87ено Ð²Ñ\96д 'undelete'). Ð\91Ñ\83дÑ\83Ñ\82Ñ\8c Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ\96 Ñ\83Ñ\81Ñ\96 Ð²Ð¸Ð»Ñ\83Ñ\87енÑ\96 Ð»Ñ\96нÑ\96Ñ\97. Ð\92ибеÑ\80Ñ\96Ñ\82Ñ\8c Ñ\82Ñ\83, Ñ\8fка Ð²Ð°Ð¼ Ð¿Ð¾Ñ\82Ñ\80Ñ\96бна; Ñ\80озблокÑ\83йÑ\82е Ñ\97Ñ\97 ÐºÐ»Ð°Ñ\86нÑ\83вÑ\88и Ð½Ð° Ñ\87еÑ\80воний Ð·Ð°Ì\81мок; Ð·Ð±ÐµÑ\80ежÑ\96Ñ\82Ñ\8c Ñ\97Ñ\97 Ñ\8fк Ð·Ð²Ð¸Ñ\87айно.\n\nÐ\92важаÑ\94Ñ\82е, Ñ\89о Ñ\85Ñ\82оÑ\81Ñ\8c Ñ\80обиÑ\82Ñ\8c Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸? Ð\9dадÑ\96лÑ\96Ñ\82Ñ\8c Ð¹Ð¾Ð¼Ñ\83 Ð´Ñ\80Ñ\83жне Ð¿Ð¾Ð²Ñ\96домленнÑ\8f. Ð¡ÐºÐ¾Ñ\80иÑ\81Ñ\82айÑ\82еÑ\81Ñ\8c Ð\86Ñ\81Ñ\82оÑ\80Ñ\96Ñ\94Ñ\8e (H), Ñ\89об Ð·Ð½Ð°Ð¹Ñ\82и Ð¹Ð¾Ð³Ð¾ Ñ\96мâ\80\99Ñ\8f Ñ\82а ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Â«Ð\9dадÑ\96Ñ\81лаÑ\82и Ð¿Ð¾Ð²Ñ\96домленнÑ\8f» ('Mail').\n\nСкоÑ\80иÑ\81Ñ\82айÑ\82еÑ\81Ñ\8c Ð\86нÑ\81пекÑ\82оÑ\80ом (див. Â«Ð\9cенÑ\8e»), Ñ\89об Ð¾Ñ\82Ñ\80имаÑ\82и ÐºÐ¾Ñ\80иÑ\81нÑ\83 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ð¿Ð¾Ñ\82оÑ\87нÑ\83 Ð»Ñ\96нÑ\96Ñ\8e Ñ\87и Ñ\82оÑ\87кÑ\83.\n</bodyText><column/><headline>ЧаÐ\9fи</headline>\n<bodyText><b>Як Ð¿Ð¾Ð±Ð°Ñ\87иÑ\82и Ñ\82оÑ\87ки Ñ\82Ñ\80екÑ\83?</b>\nТоÑ\87ки Ñ\82Ñ\80екÑ\83 Ð¿Ð¾ÐºÐ°Ð·Ñ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ñ\82Ñ\96лÑ\8cки, Ñ\8fкÑ\89о Ð²Ð¸ ÐºÐ»Ð°Ñ\86неÑ\82е Â«Ð¿Ñ\80авиÑ\82и» Ð½Ð° Ð²ÐºÐ»Ð°Ð´Ñ\86Ñ\96 Â«GPS-Ñ\82Ñ\80еки». Ð¤Ð°Ð¹Ð»Ð¸ Ð¼Ñ\96Ñ\81Ñ\82Ñ\8fÑ\82Ñ\8c Ñ\8fк Ñ\82оÑ\87ки Ñ\82ак Ñ\96 Ñ\82Ñ\80еки Ð¿Ð¾ Ð½Ð¸Ñ\85 â\80\94 Ñ\81еÑ\80веÑ\80 Ð²Ñ\96дкидаÑ\94 Ñ\84айли Ñ\8fкÑ\96 Ð¼Ñ\96Ñ\81Ñ\8fÑ\82Ñ\8c Ñ\82Ñ\96лÑ\8cки Ñ\82оÑ\87ки.\n\nЧаÐ\9fи Ð¿Ð¾  <a href=\"http://wiki.openstreetmap.org/wiki/Uk:Potlatch/FAQs\" target=\"_blank\">Potlatch</a> Ñ\82а <a href=\"http://wiki.openstreetmap.org/wiki/Uk:FAQ\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Ð\9fÑ\80иÑ\88видÑ\88еннÑ\8f Ñ\80обоÑ\82и</headline>\n<bodyText>Чим Ð±Ñ\96лÑ\8cÑ\88ий Ð¼Ð°Ñ\81Ñ\88Ñ\82аб Ð²Ð¸ Ð¾Ð±Ñ\80али â\80\94 Ñ\82им Ð±Ñ\96лÑ\8cÑ\88е Potlatch Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ Ð·Ð°Ð²Ð°Ð½Ñ\82ажиÑ\82и Ð´Ð°Ð½Ð¸Ñ\85. Ð\9dаблизÑ\8cÑ\82е Ð¼Ð°Ð¿Ñ\83 Ð¿ÐµÑ\80ед Ñ\82им Ñ\8fк Ð¿ÐµÑ\80ейÑ\82и Ð½Ð° Ð²ÐºÐ»Ð°Ð´ÐºÑ\83 Â«Ð\9fÑ\80авка».\n\nÐ\97нÑ\96мÑ\96Ñ\82Ñ\8c Ð¿Ð¾Ð·Ð½Ð°Ñ\87кÑ\83 Ð² Ð¼ÐµÐ½Ñ\8e Ð· Â«Ð²ÐºÐ»Ñ\8eÑ\87иÑ\82и ÐºÑ\83Ñ\80Ñ\81оÑ\80и Ð¿ÐµÑ\80а Ñ\96 Ñ\80Ñ\83ки» Ð´Ð»Ñ\8f Ð¼Ð°ÐºÑ\81ималÑ\8cноÑ\97 Ñ\88видкоÑ\81Ñ\82Ñ\96.\n\nЯкÑ\89о Ñ\81еÑ\80веÑ\80 Ñ\83повÑ\96лÑ\8cнений â\80\94 Ð·Ð°Ð²Ñ\96Ñ\82айÑ\82е Ð¿Ñ\96знÑ\96Ñ\88е. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status\" target=\"_blank\">Ð\9fеÑ\80еглÑ\8fнÑ\8cÑ\82е Ñ\83 Ð\92Ñ\96кÑ\96i</a> Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ð²Ñ\96домÑ\96 Ð¿Ñ\80облеми. Ð\86нодÑ\96, Ñ\8fк, Ð½Ð°Ð¿Ñ\80иклад: Ð² Ð½ÐµÐ´Ñ\96лÑ\8e Ð²Ð²ÐµÑ\87еÑ\80Ñ\96, Ð½Ð°Ð²Ð°Ð½Ñ\82аженнÑ\8f Ð½Ð° Ñ\81еÑ\80веÑ\80 Ð´Ñ\83же Ð²ÐµÐ»Ð¸ÐºÐµ.\n\nPotlatch Ð¼Ð¾Ð¶Ðµ Ð·Ð°Ð¿Ð°Ð¼â\80\99Ñ\8fÑ\82овÑ\83ваÑ\82и Ð½Ð°Ð¹Ñ\83лÑ\8eбленÑ\96Ñ\88Ñ\96 Ð½Ð°Ð±Ð¾Ñ\80и Ð²Ð°Ñ\88иÑ\85 Ñ\82еÒ\91Ñ\96в. Ð\92идÑ\96лÑ\96Ñ\82Ñ\8c Ð»Ñ\96нÑ\96Ñ\8e Ñ\87и Ñ\82оÑ\87кÑ\83 Ð· Ñ\82акими Ñ\82еÒ\91ами, Ð½Ð°Ñ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ctrl, Shift Ñ\82а Ñ\86иÑ\84Ñ\80Ñ\83 Ð²Ñ\96д 1 Ð´Ð¾ 9. Ð\9fÑ\96Ñ\81лÑ\8f Ñ\86Ñ\8cого Ð²Ð¸ Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð°Ñ\81Ñ\82оÑ\81овÑ\83ваÑ\82и Ð·Ð±ÐµÑ\80еженÑ\96 Ð½Ð°Ð±Ð¾Ñ\80и Ñ\82еÒ\91Ñ\96в Ð¿Ñ\80оÑ\81Ñ\82о Ð½Ð°Ñ\82иÑ\81каÑ\8eÑ\87и Shift Ñ\82а Ð¿Ð¾Ñ\82Ñ\80Ñ\96бнÑ\83 Ñ\86иÑ\84Ñ\80Ñ\83. (Ð\92они Ð±Ñ\83дÑ\83Ñ\82Ñ\8c Ð·Ð±ÐµÑ\80еженÑ\96 ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ñ\80азÑ\83, ÐºÐ¾Ð»Ð¸ Ð²Ð¸ ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83Ñ\94Ñ\82еÑ\81Ñ\8c Potlatch Ð½Ð° Ñ\86Ñ\8cомÑ\83 ÐºÐ¾Ð¼Ð¿â\80\99Ñ\8eÑ\82еÑ\80Ñ\96).\n\nЩоб Ð¿ÐµÑ\80еÑ\82воÑ\80иÑ\82и Ð²Ð°Ñ\88 GPS-Ñ\82Ñ\80ек Ð½Ð° Ñ\88лÑ\8fÑ\85, Ð·Ð½Ð°Ð¹Ð´Ñ\96Ñ\82Ñ\8c Ð¹Ð¾Ð³Ð¾ Ñ\83 Ð¿ÐµÑ\80елÑ\96кÑ\83 Ð½Ð° Ð²ÐºÐ»Ð°Ð´Ñ\86Ñ\96 Â«GPS-Ñ\82Ñ\80еки», ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Â«Ð¿Ñ\80авиÑ\82и» Ð±Ñ\96лÑ\8f Ð½Ñ\8cого, Ð¿Ð¾Ñ\81Ñ\82авÑ\82е Ð¿Ð¾Ð·Ð½Ð°Ñ\87кÑ\83 Ñ\83 Ð¿Ð¾Ð»Ñ\96 Â«Ð¿ÐµÑ\80еÑ\82воÑ\80иÑ\82и». Ð\92Ñ\96н Ð±Ñ\83де Ð¿Ð¾Ð·Ð½Ð°Ñ\87ений Ð·Ð°Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°Ð½Ð¸Ð¼ (Ñ\87еÑ\80воним), Ñ\82омÑ\83 Ð²Ð¸ Ð½Ðµ Ð·Ð¼Ð¾Ð¶ÐµÑ\82е Ð·Ð±ÐµÑ\80егÑ\82и Ð¹Ð¾Ð³Ð¾ Ñ\8fк Ð»Ñ\96нÑ\96Ñ\8e. Ð¡Ð¿Ð¾Ñ\87аÑ\82кÑ\83 Ð²Ñ\96дÑ\80едагÑ\83йÑ\82е Ð¹Ð¾Ð³Ð¾, Ð¿Ñ\96Ñ\81лÑ\8f Ñ\86Ñ\8cого ÐºÐ»Ð°Ñ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ð·Ð½Ð°Ñ\87ок Ð·Ð°Ð¼ÐºÐ°Ì\81 Ð´Ð»Ñ\8f Ð¹Ð¾Ð³Ð¾ Ñ\80озблокÑ\83ваннÑ\8f Ñ\82а Ð¿Ð¾Ð´Ð°Ð»Ñ\8cÑ\88ого Ð·Ð±ÐµÑ\80еженнÑ\8f.</bodytext>\n\n<!--\n========================================================================================================================\nСÑ\82оÑ\80Ñ\96нка 7: Ð\9aоÑ\80оÑ\82кий Ð´Ð¾Ð²Ñ\96дник\n\n--><page/><headline>Що Ð½Ð°Ñ\82иÑ\81каÑ\82и</headline>\n<bodyText><b>Ð\9fоÑ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ð¼Ð°Ð¿Ñ\83</b> Ð´Ð»Ñ\8f Ð¿ÐµÑ\80еÑ\81Ñ\83ваннÑ\8f.<b>Ð\9fодвÑ\96йне ÐºÐ»Ð°Ñ\86аннÑ\8f</b> Ð´Ð»Ñ\8f Ñ\81Ñ\82воÑ\80еннÑ\8f Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ð¾Ð±â\80\99Ñ\94кÑ\82Ñ\83 (POI).<b>Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c</b> Ñ\89об Ñ\80озпоÑ\87аÑ\82и Ð½Ð¾Ð²Ñ\83 Ð»Ñ\96нÑ\96Ñ\8e.<b>Ð\97аÑ\85ваÑ\82Ñ\96Ñ\82Ñ\8c Ñ\82а Ð¿Ð¾Ñ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ð»Ñ\96нÑ\96Ñ\8e Ñ\87и Ð¾Ð±â\80\99Ñ\94кÑ\82 (POI)</b> Ð´Ð»Ñ\8f Ð¿ÐµÑ\80емÑ\96Ñ\89еннÑ\8f.</bodyText>\n<headline>Ð\9aÑ\80еÑ\81леннÑ\8f Ð»Ñ\96нÑ\96й</headline>\n<bodyText><b>Ð\9fодвÑ\96йне ÐºÐ»Ð°Ñ\86аннÑ\8f</b> Ð°Ð±Ð¾ Ð½Ð°Ñ\82иÑ\81каннÑ\8f <b>Enter</b> Ð´Ð»Ñ\8f Ð·Ð°ÐºÑ\96нÑ\87еннÑ\8f ÐºÑ\80еÑ\81леннÑ\8f.<b>Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c</b> Ð½Ð° Ñ\96нÑ\88Ñ\83 Ð»Ñ\96нÑ\96Ñ\8e Ð´Ð»Ñ\8f Ð¿ÐµÑ\80еÑ\85Ñ\80еÑ\89еннÑ\8f.<b>Shift-Ð\9bÐ\9a Ð½Ð° ÐºÑ\96нÑ\86Ñ\96 Ñ\96нÑ\88оÑ\97 Ð»Ñ\96нÑ\96Ñ\97</b> Ð´Ð»Ñ\8f Ð·â\80\99Ñ\94днаннÑ\8f.</bodyText>\n<headline>Ð\92идÑ\96лена Ð»Ñ\96нÑ\96Ñ\8f</headline>\n<bodyText><b>Ð\9aлаÑ\86нÑ\96Ñ\82Ñ\8c Ð½Ð° Ñ\82оÑ\87кÑ\83</b> Ð´Ð»Ñ\8f Ñ\97Ñ\97 Ð²Ð¸Ð´Ñ\96леннÑ\8f.<b>Shift-Ð\9bÐ\9a Ð½Ð° Ð»Ñ\96нÑ\96Ñ\97</b> Ð´Ð»Ñ\8f Ð´Ð¾Ð´Ð°Ð½Ð½Ñ\8f Ð½Ð¾Ð²Ð¾Ñ\97 Ñ\82оÑ\87ки.<b>Shift-Ð\9bÐ\9a Ð½Ð° Ñ\82оÑ\87Ñ\86Ñ\96</b> Ð´Ð»Ñ\8f Ð¿Ð¾Ñ\87аÑ\82кÑ\83 ÐºÑ\80еÑ\81леннÑ\8f Ð½Ð¾Ð²Ð¾Ñ\97 Ð»Ñ\96нÑ\96Ñ\97 Ð· Ñ\86Ñ\96Ñ\94Ñ\97 Ñ\82оÑ\87ки.<b>Control-Ð\9bÐ\9a Ð½Ð° Ñ\96нÑ\88Ñ\96й Ð»Ñ\96нÑ\96Ñ\97</b> Ð´Ð»Ñ\8f Ð·â\80\99Ñ\94днаннÑ\8f.</bodyText>\n</bodyText>\n<column/><headline>Ð\9aомбÑ\96наÑ\86Ñ\96Ñ\97 ÐºÐ»Ð°Ð²Ñ\96Ñ\88</headline>\n<bodyText><textformat tabstops='[25]'>B Ð\94одаваннÑ\8f Ñ\82еÒ\91Ñ\83 Ð´Ð¶ÐµÑ\80ела Ñ\84онÑ\83\nC Ð\97акÑ\80иÑ\82и Ð½Ð°Ð±Ñ\96Ñ\80 Ð·Ð¼Ñ\96н\nG Ð\9fоказаÑ\82и<u>G</u>PS-Ñ\82Ñ\80еки\nH Ð\9fоказаÑ\82и Ñ\96Ñ\81Ñ\82оÑ\80Ñ\96Ñ\8e\nI Ð\9fоказаÑ\82и Ñ\96нÑ\81пекÑ\82оÑ\80а\nJ Ð¾Ð±â\80\99Ñ\94днаÑ\82и Ð¿ÐµÑ\80еÑ\82инаÑ\8eÑ\87иÑ\81Ñ\8f Ð»Ñ\96нÑ\96Ñ\97 Ñ\83 Ñ\81пÑ\96лÑ\8cнÑ\96й Ñ\82оÑ\87Ñ\86Ñ\96\nK Ð·Ð°Ð±Ð»Ð¾ÐºÑ\83ваÑ\82и/Ñ\80озблокÑ\83ваÑ\82и Ð¿Ð¾Ñ\82оÑ\87не Ð²Ð¸Ð´Ñ\96леннÑ\8f\nL Ð\9fоказаÑ\82и Ð¿Ð¾Ñ\82оÑ\87нÑ\96 ÐºÐ¾Ð¾Ñ\80динаÑ\82и\nM Ñ\80озгоÑ\80нÑ\83Ñ\82и Ð²Ñ\96кно Ñ\80едакÑ\82оÑ\80а\nP Ð¡Ñ\82воÑ\80иÑ\82и Ð¿Ð°Ñ\80алелÑ\8cнÑ\83 Ð»Ñ\96нÑ\96Ñ\8eR Ð¿Ð¾Ð²Ñ\82оÑ\80иÑ\82и Ñ\82еÒ\91и\nS Ð\97беÑ\80егÑ\82и (не Ð¿Ð¾Ñ\82Ñ\80Ñ\96бно Ð¿Ñ\80и Â«Ð ÐµÐ´Ð°Ð³Ñ\83ваннÑ\8f Ð²Ð¶Ð¸Ð²Ñ\83»)\nT Ð¡Ð¿Ñ\80Ñ\8fмиÑ\82и/виÑ\80Ñ\96внÑ\8fÑ\82и Ð»Ñ\96нÑ\96Ñ\8e/коло\nU Ð\92Ñ\96дновиÑ\82и (показаÑ\82и Ð²Ð¸Ð»Ñ\83Ñ\87енÑ\96 Ð»Ñ\96нÑ\96Ñ\97)\nX Ð Ð¾Ð·Ð´Ñ\96лиÑ\82и Ð»Ñ\96нÑ\96Ñ\8e Ð½Ð° Ð´Ð²Ñ\96\nZ Ð\92Ñ\96дмÑ\96ниÑ\82и\n- Ð\92илÑ\83Ñ\87иÑ\82и Ñ\82оÑ\87кÑ\83 Ñ\82Ñ\96лÑ\8cки Ð· Ñ\86Ñ\96Ñ\94Ñ\97 Ð»Ñ\96нÑ\96Ñ\97\n+ Ð\94одаÑ\82и Ð½Ð¾Ð²Ð¸Ð¹ Ñ\82еÒ\91\n/ Ð\92идÑ\96лиÑ\82и Ñ\96нÑ\88Ñ\83 Ð»Ñ\96нÑ\96Ñ\8e, Ð´Ð»Ñ\8f Ñ\8fкоÑ\97 Ñ\86Ñ\8f Ñ\82оÑ\87ка Ñ\94 Ñ\81пÑ\96лÑ\8cноÑ\8e\n</textformat><textformat tabstops='[50]'>Delete Ð\92илÑ\83Ñ\87иÑ\82и Ñ\82оÑ\87кÑ\83\n  (+Shift) Ð\92илÑ\83Ñ\87иÑ\82и Ð²Ñ\81Ñ\8e Ð»Ñ\96нÑ\96Ñ\8e\nReturn Ð\97акÑ\96нÑ\87иÑ\82и ÐºÑ\80еÑ\81леннÑ\8f Ð»Ñ\96нÑ\96Ñ\97\nSpace Ð\9dаÑ\82иÑ\81нÑ\96Ñ\82Ñ\8c Ñ\82а Ð¿Ð¾Ñ\82Ñ\8fгнÑ\96Ñ\82Ñ\8c Ñ\84он\nEsc Ð¡ÐºÐ°Ñ\81Ñ\83ваÑ\82и Ð¿Ð¾Ñ\82оÑ\87нÑ\96 Ð·Ð¼Ñ\96ни\n; Ð¿ÐµÑ\80езаванÑ\82ажиÑ\82и Ð´Ð°Ð½Ñ\96 Ð· Ñ\81еÑ\80веÑ\80а\n0 Ð\92илÑ\83Ñ\87иÑ\82и Ð²Ñ\81Ñ\96 Ñ\82еÒ\91и\n1-9 Ð\92ибÑ\80аÑ\82и Ð· Ñ\88аблонÑ\96в Ñ\82еÒ\91Ñ\96в\n  (+Shift) Ð\92ибÑ\80аÑ\82и Ð·Ð±ÐµÑ\80еженÑ\96 Ñ\82еÒ\91и\n  (+S/Ctrl) Ð\97апамâ\80\99Ñ\8fÑ\82аÑ\82и Ñ\82еÒ\91и\n§ Ð°Ð±Ð¾ ` Ð\92ибÑ\96Ñ\80 Ð¼Ñ\96ж Ð³Ñ\80Ñ\83пами Ñ\82еÒ\91Ñ\96в\n</textformat>\n</bodyText>"
   hint_drawmode: клацніть для додання лінії\nподвійне клацання/Ввод\nдля закінчення
   hint_latlon: "шир $1\nдов $2"
   hint_loading: завантаження даних
@@ -90,6 +92,7 @@ uk:
   hint_saving: збереження даних
   hint_saving_loading: завантаження/збереження даних
   inspector: Перегляд мапи
+  inspector_duplicate: Дублікат
   inspector_in_ways: В лініях
   inspector_latlon: "Шир $1\nДов $2"
   inspector_locked: Заблоковано
@@ -101,6 +104,7 @@ uk:
   inspector_way_connects_to_principal: З’єднується з $1 $2 і $3 іншими $4
   inspector_way_nodes: точок ($1 шт.)
   inspector_way_nodes_closed: $1 точок (замкнено)
+  loading: Завантаження…
   login_pwd: "Пароль:"
   login_retry: Ваше ім’я користувача не розпізнано. Спробуйте ще раз.
   login_title: Не вдається увійти
@@ -128,6 +132,7 @@ uk:
   option_layer_ooc_25k: "В.БРИТАНІЯ істор.: 1:25k"
   option_layer_ooc_7th: "В.БРИТАНІЯ істор.: 1:7000"
   option_layer_ooc_npe: "В.БРИТАНІЯ істор.: NPE"
+  option_layer_ooc_scotland: "Великобританія, історичний: Шотландія"
   option_layer_osmarender: OSM — Osmarender
   option_layer_streets_haiti: "Гаїті: назви вулиць"
   option_layer_tip: Оберіть фон
@@ -182,13 +187,18 @@ uk:
   prompt_microblog: Надіслати до $1 (лишилось $2)
   prompt_revertversion: "Повернутися до попередньої збереженої версії:"
   prompt_savechanges: Збереження змін
-  prompt_taggedpoints: Деякі точки з цієї ліні мають теґи. Дійсно вилучити?
+  prompt_taggedpoints: Деякі точки з цієї ліні мають теґи чи входять до складу зв’язків. Дійсно вилучити?
   prompt_track: Перетворити GPS-трек в лінію
   prompt_unlock: Клацніть, щоб розблокувати
   prompt_welcome: Ласкаво просимо до OpenStreetMap!
   retry: Повтор
   revert: Повернути
   save: Зберегти
+  tags_backtolist: Повернутись до списку
+  tags_descriptions: Опис '$1'
+  tags_findatag: Шукати теґ
+  tags_matching: Популярні теґи, що підходять "$1"
+  tags_typesearchterm: "Введіть слово для пошуку:"
   tip_addrelation: Додати до зв’язку
   tip_addtag: Додати теґ
   tip_alert: Помилка — клацніть, щоб дізнатись подробиці
index 783059eace60333254de4ee9a2f817d7570b75e4..3d48cca13c9b723b77ca9f2033dfaddd44a9dbf0 100644 (file)
@@ -33,6 +33,7 @@ vi:
   advanced_tooltip: Tác vụ sửa đổi nâng cao
   advanced_undelete: Phục hồi
   advice_bendy: Quá quanh co để thẳng ra (SHIFT để ép)
+  advice_conflict: "Xung đột với máy chủ: có lẽ cần phải lưu lần nữa"
   advice_deletingpoi: Đang xóa địa điểm (Z để hủy bỏ)
   advice_deletingway: Đang xóa lối (Z để hủy bỏ)
   advice_microblogged: Đã cập nhật trạng thái $1 của bạn
@@ -80,7 +81,7 @@ vi:
   heading_tagging: Gắn thẻ
   heading_troubleshooting: Trục trặc
   help: Trợ giúp
-  help_html: "<!--\n\n========================================================================================================================\nTrang 1: Giới thiệu\n\n--><headline>Hoan nghênh bạn đã đến với Potlatch</headline>\n<largeText>Potlatch là chương trình vẽ bản đồ dễ dàng của OpenStreetMap. Hãy vẽ đường sá, đường bộ, địa điểm quan tâm, tiệm, và đủ thứ khác dựa trên dữ liệu khảo sát GPS, hình ảnh vệ tinh, và bản đồ cũ.\n\nCác trang trợ giúp này sẽ dẫn bạn qua các căn bản sử dụng Potlatch và chỉ đến những nơi tìm hiểu thêm. Nhấn chuột vào các tiêu đề ở trên để bắt đầu.\n\nKhi nào đọc xong, chỉ việc nhấn chuột vào trang này ở ngoài hộp trợ giúp.\n\n</largeText>\n\n<column/><headline>Mẹo vặt</headline>\n<bodyText>Đừng chép từ bản đồ khác!\n\nNếu chọn “Áp dụng Ngay”, các điểm lối của bạn sẽ được lưu ngay khi bỏ chọn nó – <i>ngay lập tức</i>. Nếu chưa rành với OpenStreetMap, vui lòng chọn “Lưu Sau” để cho các điểm lối chỉ được lưu lúc khi bấm nút “Lưu”.\n\nCác sửa đổi của bạn sẽ được phản ánh trên bản đồ trong vòng một vài tiếng, nhưng một vài thay đổi lớn cần một tuần để cập nhật. Bản đồ không hiện tất cả mọi thứ, vậy nó sạch sẽ được. Bởi vì dữ liệu OpenStreetMap là mã nguồn mở, người khác có thể thoải mái sản xuất bản đồ kiểu khác, thí dụ như <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> (đường xe đạp) hoặc <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nXin nhớ rằng OpenStreetMap <i>cùng lúc</i> là bản đồ đẹp đẽ (bởi vậy hãy vẽ đường cong thật rõ) và biểu đồ (hãy nối lại các đường tại ngã tư, trừ khi có bắc qua).\n\nLần nữa, nhớ đừng chép từ bản đồ khác nhé!\n</bodyText>\n\n<column/><headline>Tìm hiểu thêm</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Hướng dẫn Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Danh sách thư</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat trực tuyến (trợ giúp từ người thật)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Diễn đàn Web</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki của cộng đồng</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Mã nguồn Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nTrang 2: Bắt đầu\n\n--><page/><headline>Bắt đầu</headline>\n<bodyText>Bây giờ đã mở Potlatch thì hãy nhấn chuột vào “Lưu Sau” để bắt đầu.\n\nBạn đã sẵn sàng vẽ vào bản đồ. Cách bắt đầu dễ dàng nhất là thêm những địa điểm quan tâm vào bản đồ, thí dụ như tiệm ăn, nhà thờ, nhà trường, nhà ga…</bodytext>\n\n<column/><headline>Kéo thả</headline>\n<bodyText>Có sẵn một số loại địa điểm thường gặp ngay vào dưới bản đồ cho tiện. Kéo và thả nút địa điểm vào đúng chỗ trên bản đồ. Vả lại, đừng ngại nếu lần đầu tiên thả nó vào chỗ sai; chỉ việc kéo nó tới chỗ đúng. Địa điểm được tô đậm màu vàng vì nó đang được chọn.\n\nBây giờ thì nên đặt tên cho tiệm ăn (hay nhà thờ, nhà trường…). Để ý mới có bảng nhỏ ở dưới liệt kê một số tính năng của địa điểm. Một dòng đề “name” (tức là “tên”) ở bên trái, còn bên phải là “(type name here)”. Nhấn chuột vào bên phải và nhập tên trong ngôn ngữ địa phương.\n\nNhấn chuột trên bản đồ ngoài địa điểm đó thì địa điểm sẽ được bỏ chọn và hộp màu mè sẽ trở lại.\n\nDễ dàng nhỉ? Khi nào xong, bấm nút “Lưu” ở dưới bên phải.\n</bodyText><column/><headline>Chuyển động</headline>\n<bodyText>Để chuyển tới phần bản đồ khác, nhấn chuột vào một vùng trống và kéo. Sau khi thả chuột, Potlatch sẽ tự động tải dữ liệu mới. (Phía trên bên phải có hình quay quay cho biết đang hoạt động.)\n\nChúng tôi đã bảo bạn chọn “Lưu Sau” trước khi sửa đổi. Tuy nhiên, bạn cũng có thể chọn “Áp dụng Ngay” để tự động lưu các thay đổi vào CSDL sau khi bỏ chọn điểm hay lối, vậy không cần bấm nút “Lưu” nào. Chế độ này có ích khi chỉ cần thực hiện một số thay đổi nhỏ, cũng như tại các <a href=\"http://wiki.openstreetmap.org/wiki/Current_events?uselang=vi\" target=\"_blank\">tiệc vẽ bản đồ</a>.</bodyText>\n\n<headline>Các bước sau</headline>\n<bodyText>Bạn vẫn còn hiểu kịp không? OK! Nhấn “Khảo sát” ở trên để tìm hiểu cách vẽ bản đồ <i>thật hay</i>!</bodyText>\n\n<!--\n========================================================================================================================\nTrang 3: Khảo sát\n\n--><page/><headline>Khảo sát dùng GPS</headline>\n<bodyText>Mục đích của OpenStreetMap là xây dựng một bản đồ rất đầy đủ không dính líu vào bản quyền hạn chế của các bản đồ kia. Bởi vậy bạn không được phép chép từ bản đồ khác: thay vì vậy, vui lòng bước ra nhà và khảo sát đường sá lấy. May là cách này vui vẻ lắm!\nMột công cụ rất hữu ích là máy GPS cầm tay. Tìm ra một vùng chưa được biểu diễn trên bản đồ, bật lên GPS, rồi đi bộ hay đạp xe tới lui. Để ý đến các tên đường và những gì khác đáng kể trên đường: quán cà phê, nhà trường, tiệm phở…\n\nSau khi về nhà, máy GPS sẽ chứa “tracklog” (nhật ký hành trình) có các nơi đã thăm để tải lên OpenStreetMap.\n\nMáy GPS tốt nhất là loại ghi vào tracklog thường xuyên (1–2 giây một lần) và có bộ nhớ lớn. Nhiều người đóng góp sử dụng máy Garmin cầm tay hoặc máy Bluetooth nho nhỏ. Có sẵn nhiều <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews?uselang=vi\" target=\"_blank\">bài xem xét GPS</a> trên wiki.</bodyText>\n\n<column/><headline>Tải lên tuyến đường</headline>\n<bodyText>Now, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.</bodyText>\n<headline>Sử dụng tuyến đường</headline>\n<bodyText>Find your uploaded track in the 'GPS Traces' listing, and click 'edit' <i>right next to it</i>. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\n<img src=\"gps\">You can also click this button to show everyone's GPS tracks (but not waypoints) for the current area. Hold Shift to show just your tracks.</bodyText>\n<column/><headline>Sử dụng hình ảnh vệ tinh</headline>\n<bodyText>If you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\n<img src='prefs'>If you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.</bodytext>\n\n<!--\n========================================================================================================================\nTrang 4: Vẽ\n\n--><page/><headline>Vẽ lối</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nBấm nút “Lưu” ở phía dưới bên phải khi nào xong. Hãy lưu thường xuyên hễ trường hợp máy chủ bị trục trặc.\n\nĐừng mong chờ các thay đổi của bạn hiện ra ngay trên bản đồ chính. Tùy thay đổi, có thể cần chờ đợi một vài tiếng hay đôi khi tới một tuần lễ. Hãy thử tải lại trang thường xuyên để loại ra các hình bản đồ lỗi thời.\n</bodyText><column/><headline>Nối đường</headline>\n<bodyText>It's really important that, where two roads join, they share a point (or 'node'). Route-planners use this to know where to turn.\n\nPotlatch takes care of this as long as you are careful to click <i>exactly</i> on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.</bodyText>\n<headline>Di chuyển và xóa</headline>\n<bodyText>This works just as you'd expect it to. To delete a point, select it and press Delete. To delete a whole way, press Shift-Delete.\n\nĐể di chuyển điểm hay lối, chỉ việc kéo nó. (Trước khi kéo lối, hãy nhấn giữ chuột vào nó; phải như vậy để khó kéo nó ngẫu nhiên.)</bodyText>\n<column/><headline>Vẽ nâng cao hơn</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>Địa điểm quan tâm</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\nTrang 5: Gắn thẻ\n\n--><page/><headline>Đường loại nào?</headline>\n<bodyText>Once you've drawn a way, you should say what it is. Is it a major road, a footpath or a river? What's its name? Are there any special rules (e.g. \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nCó thể gắn thẻ vào nguyên một lối, nốt trong lối (có thể cổng hay đèn xanh đỏ), và địa điểm quan tâm.</bodytext>\n<column/><headline>Sử dụng thẻ có sẵn</headline>\n<bodyText>Các bộ thẻ có sẵn trong Potlach làm cho dễ gắn thẻ vào những nét thường gặp trên bản đồ.\n\n<img src=\"preset_road\">Select a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Đường một chiều</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Sáng chế thẻ</headline>\n<bodyText>Dĩ nhiên, vì đây là wiki, bạn không cần hạn chế mình chỉ sử dụng các thẻ co sẵn. Bấm nút “+” để gắn bất cứ thẻ nào tùy ý.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nVì đủ mọi loại bản đồ dựa vào dữ liệu OpenStreetMap, mỗi bản đồ kết xuất (tức là vẽ) một số thẻ được lựa chọn.</bodyText>\n<headline>Quan hệ</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nTrang 6: Trục trặc\n\n--><page/><headline>Lùi lại thay đổi sai</headline>\n<bodyText><img src=\"undo\">Đây là nút “Lùi lại”, cũng được truy cập bằng phím Z, để lùi lại thay đổi cuối cùng của bạn trong phiên sửa đổi này.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nHễ người khác vẽ sai, xin vui lòng gửi cho họ một thông điệp thân mật. Nhấn chuột vào ID của điểm hay lối hoặc bấm phím H để xem tên của họ, rồi bấm “Thư”.\n\nSử dụng Bộ kiểm tra (trong trình đơn “Nâng cao”) để xem chi tiết có ích về điểm lối đang chọn.\n</bodyText><column/><headline>Hỏi đáp</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nCó sẵn thêm bài hỏi đáp về <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs?uselang=vi\" target=\"_blank\">Potlatch</a> và <a href=\"http://wiki.openstreetmap.org/wiki/Vi:FAQ?uselang=vi\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Tăng tốc độ</headline>\n<bodyText>The further out you're zoomed, the more data Potlatch has to load. Zoom in before clicking 'Edit'.\n\nTắt “Hiện con trỏ bút và tay” (trong cửa sổ tùy chọn) để cho trình vẽ nhanh nhẹn hơn.\n\nNếu máy chủ đang chạy chậm, hãy trở lại lát nữa. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status?uselang=vi\" target=\"_blank\">Kiểm tra wiki</a> về các vấn đề đã biết. Những lúc như tối chủ nhật thì máy chủ chắc bận.\n\nPotlatch có thể nhớ các bộ thẻ ưu thích của bạn. Chọn lối hoặc điểm có những thẻ muốn nhớ, rồi giữ Ctrl và Shift và bấm số từ 1 đến 9. Từ lúc đó, có thể gắn các thẻ đó bằng cách giữ Shift và bấm số đó. (Các bộ thẻ sẽ được nhớ mỗi lần sử dụng Potlatch trên máy tính này.)\n\nĐể đổi tuyến đường GPS thành lối, kiếm nó trong danh sách “Tuyến đường GPS”, bấm “sửa” bên cạnh nó, và chọn hộp “Chuyển đổi”. Lối này mới đầu bị khóa (vẽ màu đỏ) nên chưa được lưu. Trước tiên phải sửa đổi nó rồi bấm hình khóa móc màu đỏ để mở khóa trước khi lưu.</bodytext>\n\n<!--\n========================================================================================================================\nTrang 7: Tham khảo nhanh\n\n--><page/><headline>Cách dùng chuột</headline>\n<bodyText><b>Kéo bản đồ</b> để chuyển động.\n<b>Nhấn đúp</b> để tạo địa điểm mới.\n<b>Nhấn một lần</b> để bắt đầu lối mới.\n<b>Cầm kéo điểm hay lối</b> để di chuyển nó.</bodyText>\n<headline>Khi vẽ lối</headline>\n<bodyText><b>Nhấn đúp</b> hoặc <b>bấm Enter</b> để vẽ xong.\n<b>Nhấn</b> vào lối khác để nối liền.\n<b>Giữ Shift và nhấn chuột vào cuối lối khác</b> để nối liền và hợp nhất.</bodyText>\n<headline>Khi lối được chọn</headline>\n<bodyText><b>Nhấn vào nốt</b> trong lối để chọn nó.\n<b>Giữ Shift và nhấn chuộc vào lối</b> để chèn nốt mới.\n<b>Giữ Shift và nhấn chuột vào nốt</b> trong lối để bắt đầu lối mới từ nốt đó.\n<b>Giữ Shift và nhấn chuột vào lối liền</b> để hợp nhất.</bodyText>\n</bodyText>\n<column/><headline>Phím tắt</headline>\n<bodyText><textformat tabstops='[25]'>B Gắn thẻ nguồn là hình nền\nC Đóng bộ thay đổi\nG Hiện tuyến đường <u>G</u>PS\nH Xem lịc<u>h</u> sử\nI Hiện bộ k<u>i</u>ểm tra\nJ Nối liền các lối cắt qua nốt\nK Khóa/mở khóa điểm hay lối\nL Hiện tọa độ của con trỏ\nM Phóng to hộp sửa đổi\nP Chia thành hai lối song song\nR Lặp lại các thẻ lần trước\nS Lưu (chỉ chế độ “Lưu Sau”)\nT '''T'''hẳng/'''t'''ròn ra các nốt trong lối\nU Hiện lối đã xóa để ph<u>ụ</u>c hồi\nX Cắt đôi lối tại nốt\nZ Lùi lại\n- Gỡ điểm khỏi lối (không phải các lối nối liền)\n+ Gắn thẻ mới/ Chọn lối khác có nốt này\n</textformat><textformat tabstops='[50]'>Delete Xóa nốt hay địa điểm\n  (+Shift) Xóa cả lối\nReturn Kết thúc lối đang vẽ\nSpace Giữ phím cách để kéo hình nền\nEsc Hủy bỏ thay đổi và tải lại điểm hay lối này\n0 Gỡ các thẻ\n1-9 Gắn thẻ có sẵn từ trình đơn\n  (+Shift) Gắn thẻ từ bộ nhớ\n  (+S/Ctrl) Lưu thẻ vào bộ nhớ\n§ or ` Chu kỳ giữa các trình đơn thẻ\n</textformat>\n</bodyText>"
+  help_html: "<!--\n\n========================================================================================================================\nTrang 1: Giới thiệu\n\n--><headline>Hoan nghênh bạn đã đến với Potlatch</headline>\n<largeText>Potlatch là chương trình vẽ bản đồ dễ dàng của OpenStreetMap. Hãy vẽ đường sá, đường bộ, địa điểm quan tâm, tiệm, và đủ thứ khác dựa trên dữ liệu khảo sát GPS, hình ảnh vệ tinh, và bản đồ cũ.\n\nCác trang trợ giúp này sẽ dẫn bạn qua các căn bản sử dụng Potlatch và chỉ đến những nơi tìm hiểu thêm. Nhấn chuột vào các tiêu đề ở trên để bắt đầu.\n\nKhi nào đọc xong, chỉ việc nhấn chuột vào trang này ở ngoài hộp trợ giúp.\n\n</largeText>\n\n<column/><headline>Mẹo vặt</headline>\n<bodyText>Đừng chép từ bản đồ khác!\n\nNếu chọn “Áp dụng Ngay”, các điểm lối của bạn sẽ được lưu ngay khi bỏ chọn nó – <i>ngay lập tức</i>. Nếu chưa rành với OpenStreetMap, vui lòng chọn “Lưu Sau” để cho các điểm lối chỉ được lưu lúc khi bấm nút “Lưu”.\n\nCác sửa đổi của bạn sẽ được phản ánh trên bản đồ trong vòng một vài tiếng, nhưng một vài thay đổi lớn cần một tuần để cập nhật. Bản đồ không hiện tất cả mọi thứ, vậy nó sạch sẽ được. Bởi vì dữ liệu OpenStreetMap là mã nguồn mở, người khác có thể thoải mái sản xuất bản đồ kiểu khác, thí dụ như <a href=\"http://www.opencyclemap.org/\" target=\"_blank\">OpenCycleMap</a> (đường xe đạp) hoặc <a href=\"http://maps.cloudmade.com/?styleId=999\" target=\"_blank\">Midnight Commander</a>.\n\nXin nhớ rằng OpenStreetMap <i>cùng lúc</i> là bản đồ đẹp đẽ (bởi vậy hãy vẽ đường cong thật rõ) và biểu đồ (hãy nối lại các đường tại ngã tư, trừ khi có bắc qua).\n\nLần nữa, nhớ đừng chép từ bản đồ khác nhé!\n</bodyText>\n\n<column/><headline>Tìm hiểu thêm</headline>\n<bodyText><a href=\"http://wiki.openstreetmap.org/wiki/Potlatch\" target=\"_blank\">Hướng dẫn Potlatch</a>\n<a href=\"http://lists.openstreetmap.org/\" target=\"_blank\">Danh sách thư</a>\n<a href=\"http://irc.openstreetmap.org/\" target=\"_blank\">Chat trực tuyến (trợ giúp từ người thật)</a>\n<a href=\"http://forum.openstreetmap.org/\" target=\"_blank\">Diễn đàn Web</a>\n<a href=\"http://wiki.openstreetmap.org/\" target=\"_blank\">Wiki của cộng đồng</a>\n<a href=\"http://trac.openstreetmap.org/browser/applications/editors/potlatch\" target=\"_blank\">Mã nguồn Potlatch</a>\n</bodyText>\n<!-- News etc. goes here -->\n\n<!--\n========================================================================================================================\nTrang 2: Bắt đầu\n\n--><page/><headline>Bắt đầu</headline>\n<bodyText>Bây giờ đã mở Potlatch thì hãy nhấn chuột vào “Lưu Sau” để bắt đầu.\n\nBạn đã sẵn sàng vẽ vào bản đồ. Cách bắt đầu dễ dàng nhất là thêm những địa điểm quan tâm vào bản đồ, thí dụ như tiệm ăn, nhà thờ, nhà trường, nhà ga…</bodytext>\n\n<column/><headline>Kéo thả</headline>\n<bodyText>Có sẵn một số loại địa điểm thường gặp ngay vào dưới bản đồ cho tiện. Kéo và thả nút địa điểm vào đúng chỗ trên bản đồ. Vả lại, đừng ngại nếu lần đầu tiên thả nó vào chỗ sai; chỉ việc kéo nó tới chỗ đúng. Địa điểm được tô đậm màu vàng vì nó đang được chọn.\n\nBây giờ thì nên đặt tên cho tiệm ăn (hay nhà thờ, nhà trường…). Để ý mới có bảng nhỏ ở dưới liệt kê một số tính năng của địa điểm. Một dòng đề “name” (tức là “tên”) ở bên trái, còn bên phải là “(type name here)”. Nhấn chuột vào bên phải và nhập tên trong ngôn ngữ địa phương.\n\nNhấn chuột trên bản đồ ngoài địa điểm đó thì địa điểm sẽ được bỏ chọn và hộp màu mè sẽ trở lại.\n\nDễ dàng nhỉ? Khi nào xong, bấm nút “Lưu” ở dưới bên phải.\n</bodyText><column/><headline>Chuyển động</headline>\n<bodyText>Để chuyển tới phần bản đồ khác, nhấn chuột vào một vùng trống và kéo. Sau khi thả chuột, Potlatch sẽ tự động tải dữ liệu mới. (Phía trên bên phải có hình quay quay cho biết đang hoạt động.)\n\nChúng tôi đã bảo bạn chọn “Lưu Sau” trước khi sửa đổi. Tuy nhiên, bạn cũng có thể chọn “Áp dụng Ngay” để tự động lưu các thay đổi vào CSDL sau khi bỏ chọn điểm hay lối, vậy không cần bấm nút “Lưu” nào. Chế độ này có ích khi chỉ cần thực hiện một số thay đổi nhỏ, cũng như tại các <a href=\"http://wiki.openstreetmap.org/wiki/Current_events?uselang=vi\" target=\"_blank\">tiệc vẽ bản đồ</a>.</bodyText>\n\n<headline>Các bước sau</headline>\n<bodyText>Bạn vẫn còn hiểu kịp không? OK! Nhấn “Khảo sát” ở trên để tìm hiểu cách vẽ bản đồ <i>thật hay</i>!</bodyText>\n\n<!--\n========================================================================================================================\nTrang 3: Khảo sát\n\n--><page/><headline>Khảo sát dùng GPS</headline>\n<bodyText>Mục đích của OpenStreetMap là xây dựng một bản đồ rất đầy đủ không dính líu vào bản quyền hạn chế của các bản đồ kia. Bởi vậy bạn không được phép chép từ bản đồ khác: thay vì vậy, vui lòng bước ra nhà và khảo sát đường sá lấy. May là cách này vui vẻ lắm!\nMột công cụ rất hữu ích là máy GPS cầm tay. Tìm ra một vùng chưa được biểu diễn trên bản đồ, bật lên GPS, rồi đi bộ hay đạp xe tới lui. Để ý đến các tên đường và những gì khác đáng kể trên đường: quán cà phê, nhà trường, tiệm phở…\n\nSau khi về nhà, máy GPS sẽ chứa “tracklog” (nhật ký hành trình) có các nơi đã thăm để tải lên OpenStreetMap.\n\nMáy GPS tốt nhất là loại ghi vào tracklog thường xuyên (1–2 giây một lần) và có bộ nhớ lớn. Nhiều người đóng góp sử dụng máy Garmin cầm tay hoặc máy Bluetooth nho nhỏ. Có sẵn nhiều <a href=\"http://wiki.openstreetmap.org/wiki/GPS_Reviews?uselang=vi\" target=\"_blank\">bài xem xét GPS</a> trên wiki.</bodyText>\n\n<column/><headline>Tải lên tuyến đường</headline>\n<bodyText>Now, you need to get your track off the GPS set. Maybe your GPS came with some software, or maybe it lets you copy the files off via USB. If not, try <a href=\"http://www.gpsbabel.org/\" target=\"_blank\">GPSBabel</a>. Whatever, you want the file to be in GPX format.\n\nThen use the 'GPS Traces' tab to upload your track to OpenStreetMap. But this is only the first bit - it won't appear on the map yet. You must draw and name the roads yourself, using the track as a guide.</bodyText>\n<headline>Sử dụng tuyến đường</headline>\n<bodyText>Find your uploaded track in the 'GPS Traces' listing, and click 'edit' <i>right next to it</i>. Potlatch will start with this track loaded, plus any waypoints. You're ready to draw!\n\n<img src=\"gps\">You can also click this button to show everyone's GPS tracks (but not waypoints) for the current area. Hold Shift to show just your tracks.</bodyText>\n<column/><headline>Sử dụng hình ảnh vệ tinh</headline>\n<bodyText>If you don't have a GPS, don't worry. In some cities, we have satellite photos you can trace over, kindly supplied by Yahoo! (thanks!). Go out and note the street names, then come back and trace over the lines.\n\n<img src='prefs'>If you don't see the satellite imagery, click the options button and make sure 'Yahoo!' is selected. If you still don't see it, it's probably not available for your city, or you might need to zoom out a bit.\n\nOn this same options button you'll find a few other choices like an out-of-copyright map of the UK, and OpenTopoMap for the US. These are all specially selected because we're allowed to use them - don't copy from anyone else's maps or aerial photos. (Copyright law sucks.)\n\nSometimes satellite pics are a bit displaced from where the roads really are. If you find this, hold Space and drag the background until it lines up. Always trust GPS tracks over satellite pics.</bodytext>\n\n<!--\n========================================================================================================================\nTrang 4: Vẽ\n\n--><page/><headline>Vẽ lối</headline>\n<bodyText>To draw a road (or 'way') starting at a blank space on the map, just click there; then at each point on the road in turn. When you've finished, double-click or press Enter - then click somewhere else to deselect the road.\n\nTo draw a way starting from another way, click that road to select it; its points will appear red. Hold Shift and click one of them to start a new way at that point. (If there's no red point at the junction, shift-click where you want one!)\n\nBấm nút “Lưu” ở phía dưới bên phải khi nào xong. Hãy lưu thường xuyên hễ trường hợp máy chủ bị trục trặc.\n\nĐừng mong chờ các thay đổi của bạn hiện ra ngay trên bản đồ chính. Tùy thay đổi, có thể cần chờ đợi một vài tiếng hay đôi khi tới một tuần lễ. Hãy thử tải lại trang thường xuyên để loại ra các hình bản đồ lỗi thời.\n</bodyText><column/><headline>Nối đường</headline>\n<bodyText>It's really important that, where two roads join, they share a point (or 'node'). Route-planners use this to know where to turn.\n\nPotlatch takes care of this as long as you are careful to click <i>exactly</i> on the way you're joining. Look for the helpful signs: the points light up blue, the pointer changes, and when you're done, the junction point has a black outline.</bodyText>\n<headline>Di chuyển và xóa</headline>\n<bodyText>This works just as you'd expect it to. To delete a point, select it and press Delete. To delete a whole way, press Shift-Delete.\n\nĐể di chuyển điểm hay lối, chỉ việc kéo nó. (Trước khi kéo lối, hãy nhấn giữ chuột vào nó; phải như vậy để khó kéo nó ngẫu nhiên.)</bodyText>\n<column/><headline>Vẽ nâng cao hơn</headline>\n<bodyText><img src=\"scissors\">If two parts of a way have different names, you'll need to split them. Click the way; then click the point where it should be split, and click the scissors. (You can merge ways by clicking with Control, or the Apple key on a Mac, but don't merge two roads of different names or types.)\n\n<img src=\"tidy\">Roundabouts are really hard to draw right. Don't worry - Potlatch can help. Just draw the loop roughly, making sure it joins back on itself at the end, then click this icon to 'tidy' it. (You can also use this to straighten out roads.)</bodyText>\n<headline>Địa điểm quan tâm</headline>\n<bodyText>The first thing you learned was how to drag-and-drop a point of interest. You can also create one by double-clicking on the map: a green circle appears. But how to say whether it's a pub, a church or what? Click 'Tagging' above to find out!\n\n<!--\n========================================================================================================================\nTrang 5: Gắn thẻ\n\n--><page/><headline>Đường loại nào?</headline>\n<bodyText>Once you've drawn a way, you should say what it is. Is it a major road, a footpath or a river? What's its name? Are there any special rules (e.g. \"no bicycles\")?\n\nIn OpenStreetMap, you record this using 'tags'. A tag has two parts, and you can have as many as you like. For example, you could add <i>highway | trunk</i> to say it's a major road; <i>highway | residential</i> for a road on a housing estate; or <i>highway | footway</i> for a footpath. If bikes were banned, you could then add <i>bicycle | no</i>. Then to record its name, add <i>name | Market Street</i>.\n\nThe tags in Potlatch appear at the bottom of the screen - click an existing road, and you'll see what tags it has. Click the '+' sign (bottom right) to add a new tag. The 'x' by each tag deletes it.\n\nCó thể gắn thẻ vào nguyên một lối, nốt trong lối (có thể cổng hay đèn xanh đỏ), và địa điểm quan tâm.</bodytext>\n<column/><headline>Sử dụng thẻ có sẵn</headline>\n<bodyText>Các bộ thẻ có sẵn trong Potlach làm cho dễ gắn thẻ vào những nét thường gặp trên bản đồ.\n\n<img src=\"preset_road\">Select a way, then click through the symbols until you find a suitable one. Then, choose the most appropriate option from the menu.\n\nThis will fill the tags in. Some will be left partly blank so you can type in (for example) the road name and number.</bodyText>\n<headline>Đường một chiều</headline>\n<bodyText>You might want to add a tag like <i>oneway | yes</i> - but how do you say which direction? There's an arrow in the bottom left that shows the way's direction, from start to end. Click it to reverse.</bodyText>\n<column/><headline>Sáng chế thẻ</headline>\n<bodyText>Dĩ nhiên, vì đây là wiki, bạn không cần hạn chế mình chỉ sử dụng các thẻ co sẵn. Bấm nút “+” để gắn bất cứ thẻ nào tùy ý.\n\nYou can see what tags other people use at <a href=\"http://osmdoc.com/en/tags/\" target=\"_blank\">OSMdoc</a>, and there is a long list of popular tags on our wiki called <a href=\"http://wiki.openstreetmap.org/wiki/Map_Features\" target=\"_blank\">Map Features</a>. But these are <i>only suggestions, not rules</i>. You are free to invent your own tags or borrow from others.\n\nVì đủ mọi loại bản đồ dựa vào dữ liệu OpenStreetMap, mỗi bản đồ kết xuất (tức là vẽ) một số thẻ được lựa chọn.</bodyText>\n<headline>Quan hệ</headline>\n<bodyText>Sometimes tags aren't enough, and you need to 'group' two or more ways. Maybe a turn is banned from one road into another, or 20 ways together make up a signed cycle route. You can do this with an advanced feature called 'relations'. <a href=\"http://wiki.openstreetmap.org/wiki/Relations\" target=\"_blank\">Find out more</a> on the wiki.</bodyText>\n\n<!--\n========================================================================================================================\nTrang 6: Trục trặc\n\n--><page/><headline>Lùi lại thay đổi sai</headline>\n<bodyText><img src=\"undo\">Đây là nút “Lùi lại”, cũng được truy cập bằng phím Z, để lùi lại thay đổi cuối cùng của bạn trong phiên sửa đổi này.\n\nYou can 'revert' to a previously saved version of a way or point. Select it, then click its ID (the number at the bottom left) - or press H (for 'history'). You'll see a list of everyone who's edited it, and when. Choose the one to go back to, and click Revert.\n\nIf you've accidentally deleted a way and saved it, press U (for 'undelete'). All the deleted ways will be shown. Choose the one you want; unlock it by clicking the red padlock; and save as usual.\n\nHễ người khác vẽ sai, xin vui lòng gửi cho họ một thông điệp thân mật. Nhấn chuột vào ID của điểm hay lối hoặc bấm phím H để xem tên của họ, rồi bấm “Thư”.\n\nSử dụng Bộ kiểm tra (trong trình đơn “Nâng cao”) để xem chi tiết có ích về điểm lối đang chọn.\n</bodyText><column/><headline>Hỏi đáp</headline>\n<bodyText><b>How do I see my waypoints?</b>\nWaypoints only show up if you click 'edit' by the track name in 'GPS Traces'. The file has to have both waypoints and tracklog in it - the server rejects anything with waypoints alone.\n\nCó sẵn thêm bài hỏi đáp về <a href=\"http://wiki.openstreetmap.org/wiki/Potlatch/FAQs?uselang=vi\" target=\"_blank\">Potlatch</a> và <a href=\"http://wiki.openstreetmap.org/wiki/Vi:FAQ?uselang=vi\" target=\"_blank\">OpenStreetMap</a>.\n</bodyText>\n\n\n<column/><headline>Tăng tốc độ</headline>\n<bodyText>Càng thu nhỏ càng bắt Potlatch phải tải thêm dữ liệu cùng lúc. Phóng to trước khi bấm “Sửa đổi”. \n\nTắt “Hiện con trỏ bút và tay” (trong cửa sổ tùy chọn) để cho trình vẽ nhanh nhẹn hơn.\n\nNếu máy chủ đang chạy chậm, hãy trở lại lát nữa. <a href=\"http://wiki.openstreetmap.org/wiki/Platform_Status?uselang=vi\" target=\"_blank\">Kiểm tra wiki</a> về các vấn đề đã biết. Những lúc như tối chủ nhật thì máy chủ chắc bận.\n\nPotlatch có thể nhớ các bộ thẻ ưu thích của bạn. Chọn lối hoặc điểm có những thẻ muốn nhớ, rồi giữ Ctrl và Shift và bấm số từ 1 đến 9. Từ lúc đó, có thể gắn các thẻ đó bằng cách giữ Shift và bấm số đó. (Các bộ thẻ sẽ được nhớ mỗi lần sử dụng Potlatch trên máy tính này.)\n\nĐể đổi tuyến đường GPS thành lối, kiếm nó trong danh sách “Tuyến đường GPS”, bấm “sửa” bên cạnh nó, và chọn hộp “Chuyển đổi”. Lối này mới đầu bị khóa (vẽ màu đỏ) nên chưa được lưu. Trước tiên phải sửa đổi nó rồi bấm hình khóa móc màu đỏ để mở khóa trước khi lưu.</bodytext>\n\n<!--\n========================================================================================================================\nTrang 7: Tham khảo nhanh\n\n--><page/><headline>Cách dùng chuột</headline>\n<bodyText><b>Kéo bản đồ</b> để chuyển động.\n<b>Nhấn đúp</b> để tạo địa điểm mới.\n<b>Nhấn một lần</b> để bắt đầu lối mới.\n<b>Cầm kéo điểm hay lối</b> để di chuyển nó.</bodyText>\n<headline>Khi vẽ lối</headline>\n<bodyText><b>Nhấn đúp</b> hoặc <b>bấm Enter</b> để vẽ xong.\n<b>Nhấn</b> vào lối khác để nối liền.\n<b>Giữ Shift và nhấn chuột vào cuối lối khác</b> để nối liền và hợp nhất.</bodyText>\n<headline>Khi lối được chọn</headline>\n<bodyText><b>Nhấn vào nốt</b> trong lối để chọn nó.\n<b>Giữ Shift và nhấn chuộc vào lối</b> để chèn nốt mới.\n<b>Giữ Shift và nhấn chuột vào nốt</b> trong lối để bắt đầu lối mới từ nốt đó.\n<b>Giữ Shift và nhấn chuột vào lối liền</b> để hợp nhất.</bodyText>\n</bodyText>\n<column/><headline>Phím tắt</headline>\n<bodyText><textformat tabstops='[25]'>B Gắn thẻ nguồn là hình nền\nC Đóng bộ thay đổi\nG Hiện tuyến đường <u>G</u>PS\nH Xem lịc<u>h</u> sử\nI Hiện bộ k<u>i</u>ểm tra\nJ Nối liền các lối cắt qua nốt\nK Khóa/mở khóa điểm hay lối\nL Hiện tọa độ của con trỏ\nM Phóng to hộp sửa đổi\nP Chia thành hai lối song song\nR Lặp lại các thẻ lần trước\nS Lưu (chỉ chế độ “Lưu Sau”)\nT '''T'''hẳng/'''t'''ròn ra các nốt trong lối\nU Hiện lối đã xóa để ph<u>ụ</u>c hồi\nX Cắt đôi lối tại nốt\nZ Lùi lại\n- Gỡ điểm khỏi lối (không phải các lối nối liền)\n+ Gắn thẻ mới/ Chọn lối khác có nốt này\n</textformat><textformat tabstops='[50]'>Delete Xóa nốt hay địa điểm\n  (+Shift) Xóa cả lối\nReturn Kết thúc lối đang vẽ\nSpace Giữ phím cách để kéo hình nền\nEsc Hủy bỏ thay đổi và tải lại điểm hay lối này\n0 Gỡ các thẻ\n1-9 Gắn thẻ có sẵn từ trình đơn\n  (+Shift) Gắn thẻ từ bộ nhớ\n  (+S/Ctrl) Lưu thẻ vào bộ nhớ\n§ or ` Chu kỳ giữa các trình đơn thẻ\n</textformat>\n</bodyText>"
   hint_drawmode: nhấn chuột để thêm điểm\nnhấn đúp/Enter\nđể kết thúc lối
   hint_latlon: "vđ $1\nkđ $2"
   hint_loading: đang tải các lối
@@ -90,6 +91,7 @@ vi:
   hint_saving: đang lưu dữ liệu
   hint_saving_loading: đang tải/lưu dữ liệu
   inspector: Bộ Kiểm tra
+  inspector_duplicate: Bản sao của
   inspector_in_ways: Số lối
   inspector_latlon: "Vĩ độ $1\nKinh độ $2"
   inspector_locked: Đang khóa
@@ -101,6 +103,7 @@ vi:
   inspector_way_connects_to_principal: Nối liền $1 $2 và $3 $4 khác
   inspector_way_nodes: $1 nốt
   inspector_way_nodes_closed: $1 nốt (đóng)
+  loading: Đang tải…
   login_pwd: "Mật khẩu:"
   login_retry: Không nhận ra tài khoản đăng ký của bạn. Vui lòng thử lần nữa.
   login_title: Không thể đăng nhập
@@ -128,7 +131,10 @@ vi:
   option_layer_ooc_25k: "Anh lịch sử: 1:25k"
   option_layer_ooc_7th: "Anh lịch sử: lần in 7"
   option_layer_ooc_npe: "Anh lịch sử: NPE"
+  option_layer_ooc_scotland: "Anh lịch sử: Scotland"
+  option_layer_os_streetview: "Anh: OS StreetView"
   option_layer_osmarender: OSM – Osmarender
+  option_layer_streets_haiti: "Haiti: tên đường sá"
   option_layer_tip: Chọn nền để hiển thị
   option_limitways: Báo trước khi tải nhiều dữ liệu
   option_microblog_id: "Tên tiểu blog:"
@@ -146,6 +152,7 @@ vi:
   preset_icon_cafe: Quán cà phê
   preset_icon_cinema: Rạp phim
   preset_icon_convenience: Tiệm tạp hoá
+  preset_icon_disaster: Tòa nhà Haiti
   preset_icon_fast_food: Nhà hàng ăn nhanh
   preset_icon_ferry_terminal: Phà
   preset_icon_fire_station: Trạm cứu hỏa
@@ -180,13 +187,19 @@ vi:
   prompt_microblog: Đăng lên $1 (còn $2 chữ)
   prompt_revertversion: "Lùi lại phiên bản cũ hơn:"
   prompt_savechanges: Lưu các thay đổi
-  prompt_taggedpoints: Một số điểm trên lối này đã được gắn thẻ. Bạn có chắc muốn xóa nó?
+  prompt_taggedpoints: Một số điểm trên lối này đã được gắn thẻ hoặc thuộc về quan hệ. Bạn có chắc muốn xóa nó?
   prompt_track: Chuyển đổi tuyến đường GPS thành các lối (khóa) để sửa đổi.
   prompt_unlock: Nhấn chuột để mở khóa
   prompt_welcome: Hoan nghênh bạn đã đến OpenStreetMap!
   retry: Thử lại
   revert: Lùi lại
   save: Lưu
+  tags_backtolist: Quay lại danh sách
+  tags_descriptions: Miêu tả “$1”
+  tags_findatag: Tìm kiếm thẻ
+  tags_findtag: Tìm kiếm thẻ
+  tags_matching: Các thẻ phổ biến trùng hợp với “$1”
+  tags_typesearchterm: "Nhập từ để tìm kiếm:"
   tip_addrelation: Xếp vào quan hệ
   tip_addtag: Thêm thẻ mới
   tip_alert: Đã gặp lỗi - nhấn để xem chi tiết
index e845ddf6352b2c2caa2953371260412356eb05cb..16406e3c6d9383cbb3730e645c3604d8b5405d42 100644 (file)
@@ -13,6 +13,7 @@ uk_ldp        0x228022        50      10
 nwn            0x228022        50      10
 rwn            0x228022        50      10
 lwn            0x228022        50      10
+administrative 0xAD61AA        30      10
 boundary       0xAD61AA        30      10
 restriction    0x000000        0       0
 enforcement    0x000000        0       0
diff --git a/lib/quad_tile/.gitignore b/lib/quad_tile/.gitignore
new file mode 100644 (file)
index 0000000..978f071
--- /dev/null
@@ -0,0 +1,3 @@
+Makefile
+quad_tile.o
+quad_tile_so.so
diff --git a/public/.gitignore b/public/.gitignore
new file mode 100644 (file)
index 0000000..6296b76
--- /dev/null
@@ -0,0 +1,2 @@
+stats
+user
diff --git a/public/images/anon_large.png b/public/images/anon_large.png
new file mode 100644 (file)
index 0000000..ae33d8a
Binary files /dev/null and b/public/images/anon_large.png differ
diff --git a/public/images/anon_small.png b/public/images/anon_small.png
new file mode 100644 (file)
index 0000000..cfaeb24
Binary files /dev/null and b/public/images/anon_small.png differ
index 2349c3230d5770e5aa0f7a486415fb02b92b6a3f..fd45d930462d3601e322c7121f927505b2938c15 100644 (file)
@@ -32,18 +32,21 @@ function createMap(divName, options) {
    });
 
    var mapnik = new OpenLayers.Layer.OSM.Mapnik(i18n("javascripts.map.base.mapnik"), {
+      keyid: "mapnik",
       displayOutsideMaxExtent: true,
       wrapDateLine: true
    });
    map.addLayer(mapnik);
 
    var osmarender = new OpenLayers.Layer.OSM.Osmarender(i18n("javascripts.map.base.osmarender"), {
+      keyid: "osmarender",
       displayOutsideMaxExtent: true,
       wrapDateLine: true
    });
    map.addLayer(osmarender);
 
    var cyclemap = new OpenLayers.Layer.OSM.CycleMap(i18n("javascripts.map.base.cycle_map"), {
+      keyid: "cyclemap",
       displayOutsideMaxExtent: true,
       wrapDateLine: true
    });
@@ -96,7 +99,8 @@ function addMarkerToMap(position, icon, description) {
    markers.addMarker(marker);
 
    if (description) {
-      marker.events.register("click", marker, function() { openMapPopup(marker, description) });
+      marker.events.register("mouseover", marker, function() { openMapPopup(marker, description) });
+      marker.events.register("mouseout", marker, function() { closeMapPopup() });
    }
 
    return marker;
@@ -169,10 +173,9 @@ function addBoxToMap(boxbounds) {
 function openMapPopup(marker, description) {
    closeMapPopup();
 
-   popup = new OpenLayers.Popup.AnchoredBubble("popup", marker.lonlat, null,
-                                               description, marker.icon, true);
+   popup = new OpenLayers.Popup.FramedCloud("popup", marker.lonlat, null,
+                                            description, marker.icon, true);
    popup.setBackgroundColor("#E3FFC5");
-   popup.autoSize = true;
    map.addPopup(popup);
 
    return popup;
index c17500f571701c9ebb5fff2ec317db5bf7eba09a..0a5aae4ad29b824f384b3af260f34d958f75c69b 100644 (file)
@@ -10,7 +10,7 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
   lat = Math.round(lat * decimals) / decimals;
   lon = Math.round(lon * decimals) / decimals;
 
-  node = document.getElementById("permalinkanchor");
+  node = $("permalinkanchor");
   if (node) {
     var args = getArgs(node.href);
     args["lat"] = lat;
@@ -25,7 +25,7 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
     node.href = setArgs(node.href, args);
   }
 
-  node = document.getElementById("viewanchor");
+  node = $("viewanchor");
   if (node) {
     var args = getArgs(node.href);
     args["lat"] = lat;
@@ -37,7 +37,7 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
     node.href = setArgs(node.href, args);
   }
 
-  node = document.getElementById("exportanchor");
+  node = $("exportanchor");
   if (node) {
     var args = getArgs(node.href);
     args["lat"] = lat;
@@ -49,7 +49,7 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
     node.href = setArgs(node.href, args);
   }
 
-  node = document.getElementById("editanchor");
+  node = $("editanchor");
   if (node) {
     if (zoom >= 13) {
       var args = new Object();
@@ -61,15 +61,15 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
       }
       node.href = setArgs("/edit", args);
       node.title = i18n("javascripts.site.edit_tooltip");
-      node.style.fontStyle = 'normal';
+      node.removeClassName("disabled");
     } else {
       node.href = 'javascript:alert(i18n("javascripts.site.edit_zoom_alert"));';
       node.title = i18n("javascripts.site.edit_disabled_tooltip");
-      node.style.fontStyle = 'italic';
+      node.addClassName("disabled");
     }
   }
 
-  node = document.getElementById("historyanchor");
+  node = $("historyanchor");
   if (node) {
     if (zoom >= 11) {
       var args = new Object();
@@ -88,15 +88,15 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
 
       node.href = setArgs("/history", args);
       node.title = i18n("javascripts.site.history_tooltip");
-      node.style.fontStyle = 'normal';
+      node.removeClassName("disabled");
     } else {
       node.href = 'javascript:alert(i18n("javascripts.site.history_zoom_alert"));';
       node.title = i18n("javascripts.site.history_disabled_tooltip");
-      node.style.fontStyle = 'italic';
+      node.addClassName("disabled");
     }
   }
 
-  node = document.getElementById("shortlinkanchor");
+  node = $("shortlinkanchor");
   if (node) {
     var args = getArgs(node.href);
     var code = makeShortCode(lat, lon, zoom);
diff --git a/public/lib/OpenLayers.js b/public/lib/OpenLayers.js
deleted file mode 100644 (file)
index 57afe85..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-////
-/// This blob sucks in all the files in uncompressed form for ease of use
-///
-
-OpenLayers = new Object();
-
-OpenLayers._scriptName = ( 
-    typeof(_OPENLAYERS_SFL_) == "undefined" ? "lib/OpenLayers.js" 
-                                            : "OpenLayers.js" );
-
-OpenLayers._getScriptLocation = function () {
-    var scriptLocation = "";
-    var SCRIPT_NAME = OpenLayers._scriptName;
-    var scripts = document.getElementsByTagName('script');
-    for (var i = 0; i < scripts.length; i++) {
-        var src = scripts[i].getAttribute('src');
-        if (src) {
-            var index = src.lastIndexOf(SCRIPT_NAME); 
-            // is it found, at the end of the URL?
-            if ((index > -1) && (index + SCRIPT_NAME.length == src.length)) {  
-                scriptLocation = src.slice(0, -SCRIPT_NAME.length);
-                break;
-            }
-        }
-    }
-    return scriptLocation;
-}
-
-/*
-  `_OPENLAYERS_SFL_` is a flag indicating this file is being included
-  in a Single File Library build of the OpenLayers Library.
-
-  When we are *not* part of a SFL build we dynamically include the
-  OpenLayers library code.
-
-  When we *are* part of a SFL build we do not dynamically include the 
-  OpenLayers library code as it will be appended at the end of this file.
-*/
-if (typeof(_OPENLAYERS_SFL_) == "undefined") {
-    /*
-      The original code appeared to use a try/catch block
-      to avoid polluting the global namespace,
-      we now use a anonymous function to achieve the same result.
-     */
-    (function() {
-    var jsfiles=new Array(
-        "Prototype.js", 
-        "Rico/Corner.js",
-        "Rico/Color.js",
-        "OpenLayers/Util.js",
-        "OpenLayers/Ajax.js",
-        "OpenLayers/Events.js",
-        "OpenLayers/Map.js",
-        "OpenLayers/Layer.js",
-        "OpenLayers/Icon.js",
-        "OpenLayers/Marker.js",
-        "OpenLayers/Popup.js",
-        "OpenLayers/Tile.js",
-        "OpenLayers/Feature.js",
-        "OpenLayers/Feature/WFS.js",
-        "OpenLayers/Tile/Image.js",
-        "OpenLayers/Tile/WFS.js",
-//        "OpenLayers/Layer/Google.js",
-//        "OpenLayers/Layer/VirtualEarth.js",
-//        "OpenLayers/Layer/Yahoo.js",
-        "OpenLayers/Layer/Grid.js",
-        "OpenLayers/Layer/KaMap.js",
-        "OpenLayers/Layer/Markers.js",
-        "OpenLayers/Layer/Text.js",
-        "OpenLayers/Layer/WMS.js",
-        "OpenLayers/Layer/WFS.js",
-        "OpenLayers/Layer/WMS/Untiled.js",
-        "OpenLayers/Popup/Anchored.js",
-        "OpenLayers/Popup/AnchoredBubble.js",
-        "OpenLayers/Control.js",
-        "OpenLayers/Control/MouseDefaults.js",
-        "OpenLayers/Control/MouseToolbar.js",
-        "OpenLayers/Control/KeyboardDefaults.js",
-        "OpenLayers/Control/PanZoom.js",
-        "OpenLayers/Control/PanZoomBar.js",
-        "OpenLayers/Control/LayerSwitcher.js"
-    ); // etc.
-
-    var allScriptTags = "";
-    var host = OpenLayers._getScriptLocation() + "lib/";
-
-    // check to see if prototype.js was already loaded
-    //  if so, skip the first dynamic include 
-    //
-    var start=1;
-    try { x = Prototype; }
-    catch (e) { start=0; }
-
-    for (var i = start; i < jsfiles.length; i++) {
-        var currentScriptTag = "<script src='" + host + jsfiles[i] + "'></script>"; 
-        allScriptTags += currentScriptTag;
-    }
-    document.write(allScriptTags);
-    })();
-}
diff --git a/public/lib/OpenLayers/Ajax.js b/public/lib/OpenLayers/Ajax.js
deleted file mode 100644 (file)
index 5c92c1a..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-\r
-OpenLayers.ProxyHost = "/proxy/?url=";\r
-//OpenLayers.ProxyHost = "examples/proxy.cgi?url=";\r
-\r
-/**\r
-* Ajax reader for OpenLayers\r
-*\r
-*@uri url to do remote XML http get\r
-*@param 'get' format params (x=y&a=b...)\r
-*@who object to handle callbacks for this request\r
-*@complete  the function to be called on success \r
-*@failure  the function to be called on failure\r
-*\r
-* example usage from a caller:\r
-*\r
-*   caps: function(request) {\r
-*    -blah-  \r
-*   },\r
-*\r
-*   OpenLayers.loadURL(url,params,this,caps);\r
-*\r
-* Notice the above example does not provide an error handler; a default empty\r
-* handler is provided which merely logs the error if a failure handler is not \r
-* supplied\r
-*\r
-*/\r
-\r
-\r
-/** \r
-* @param {} request\r
-*/\r
-OpenLayers.nullHandler = function(request) {\r
-    alert("Unhandled request return " + request.statusText);\r
-};\r
-\r
-/** Background load a document\r
-*\r
-* @param {String} uri URI of source doc\r
-* @param {String} params Params on get (doesnt seem to work)\r
-* @param {Object} caller object which gets callbacks\r
-* @param {Function} onComplete callback for success\r
-* @param {Function} onFailure callback for failure\r
-*\r
-* Both callbacks optional (though silly)\r
-*/\r
-OpenLayers.loadURL = function(uri, params, caller,\r
-                                  onComplete, onFailure) {\r
-\r
-    if (OpenLayers.ProxyHost && uri.startsWith("http")) {\r
-        uri = OpenLayers.ProxyHost + escape(uri);\r
-\r
-        if (!params) {\r
-            params="";\r
-        }\r
-        params += "&cachehack=" + new Date().getTime();\r
-    }\r
-\r
-    var success = (onComplete) ? onComplete.bind(caller)\r
-                                : OpenLayers.nullHandler;\r
-\r
-    var failure = (onFailure) ? onFailure.bind(caller)\r
-                           : OpenLayers.nullHandler;\r
-\r
-    // from prototype.js\r
-    new Ajax.Request(uri, \r
-                     {   method: 'get', \r
-                         parameters: params,\r
-                         onComplete: success, \r
-                         onFailure: failure\r
-                      }\r
-                     );\r
-};\r
-\r
-/** Parse XML into a doc structure\r
-* @param {String} text\r
-*\r
-* @returns Parsed Ajax Response ??\r
-* @type ?\r
-*/\r
-OpenLayers.parseXMLString = function(text) {\r
-\r
-    //MS sucks, if the server is bad it dies\r
-    var index = text.indexOf('<');\r
-    if (index > 0) {\r
-        text = text.substring(index);\r
-    }\r
-\r
-    var ajaxResponse = Try.these(\r
-        function() {\r
-            var xmldom = new ActiveXObject('Microsoft.XMLDOM');\r
-            xmldom.loadXML(text);\r
-            return xmldom;\r
-        },\r
-        function() {\r
-            return new DOMParser().parseFromString(text, 'text/xml');\r
-        },\r
-        function() {\r
-            var req = new XMLHttpRequest();\r
-            req.open("GET", "data:" + "text/xml" +\r
-                     ";charset=utf-8," + encodeURIComponent(text), false);\r
-            if (req.overrideMimeType) {\r
-                req.overrideMimeType("text/xml");\r
-            }\r
-            req.send(null);\r
-            return req.responseXML;\r
-        }\r
-    );\r
-\r
-    return ajaxResponse;\r
-};
diff --git a/public/lib/OpenLayers/Control.js b/public/lib/OpenLayers/Control.js
deleted file mode 100644 (file)
index 117fb26..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**
-* @class
-*/
-OpenLayers.Control = Class.create();
-OpenLayers.Control.prototype = {
-
-    /** this gets set in the addControl() function in OpenLayers.Map
-    * @type OpenLayers.Map */
-    map: null,
-
-    /** @type DOMElement */
-    div: null,
-
-    /** @type OpenLayers.Pixel */
-    position: null,
-
-    /**
-    * @constructor
-    */
-    initialize: function (options) {
-        Object.extend(this, options);
-    },
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    *
-    * @returns A reference to the DIV DOMElement containing the control
-    * @type DOMElement
-    */
-    draw: function (px) {
-        if (this.div == null) {
-            this.div = OpenLayers.Util.createDiv();
-        }
-        if (px != null) {
-            this.position = px.copyOf();
-        }
-        this.moveTo(this.position);        
-        return this.div;
-    },
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    */
-    moveTo: function (px) {
-        if ((px != null) && (this.div != null)) {
-            this.div.style.left = px.x + "px";
-            this.div.style.top = px.x + "px";
-        }
-    },
-
-    /**
-    */
-    destroy: function () {
-        // eliminate circular references
-        this.map = null;
-    },
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Control"
-};
diff --git a/public/lib/OpenLayers/Control/KeyboardDefaults.js b/public/lib/OpenLayers/Control/KeyboardDefaults.js
deleted file mode 100644 (file)
index e93ad96..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Control.js
-
-/**
- * @class
- */
-OpenLayers.Control.KeyboardDefaults = Class.create();
-OpenLayers.Control.KeyboardDefaults.prototype = 
-  Object.extend( new OpenLayers.Control(), {
-
-    /** @type int */
-    slideFactor: 50,
-
-    /**
-     * @constructor
-     */
-    initialize: function() {
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-    },
-    
-    /**
-     * 
-     */
-    draw: function() {
-        Event.observe(document, 
-                      'keypress', 
-                      this.defaultKeyDown.bind(this));
-    },
-    
-    /**
-    * @param {Event} evt
-    */
-    defaultKeyDown: function (evt) {
-
-        var slide = this.map.getResolution() * this.slideFactor;
-        var center = this.map.getCenter();
-    
-        var newCenter = center.copyOf();
-
-        switch(evt.keyCode) {
-            case Event.KEY_LEFT:
-                newCenter = newCenter.add( -slide, 0);
-                break;
-            case Event.KEY_RIGHT: 
-                newCenter = newCenter.add( slide, 0);
-                break;
-            case Event.KEY_UP:
-                newCenter = newCenter.add( 0, slide);
-                break;
-            case Event.KEY_DOWN:
-                newCenter = newCenter.add( 0, -slide);
-                break;
-        }
-        
-        if (!newCenter.equals(center)) {
-            this.map.setCenter(newCenter);
-            Event.stop(evt);
-        }
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Control.KeyboardDefaults"
-});
diff --git a/public/lib/OpenLayers/Control/LayerSwitcher.js b/public/lib/OpenLayers/Control/LayerSwitcher.js
deleted file mode 100644 (file)
index 0327639..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Control.js
-/** 
-* @class
-*/
-OpenLayers.Control.LayerSwitcher = Class.create();
-
-/** color used in the UI to show a layer is active/displayed
-*
-* @final
-* @type String 
-*/
-OpenLayers.Control.LayerSwitcher.ACTIVE_COLOR = "darkblue";
-
-/** color used in the UI to show a layer is deactivated/hidden
-*
-* @final
-* @type String 
-*/
-OpenLayers.Control.LayerSwitcher.NONACTIVE_COLOR = "lightblue";
-
-
-OpenLayers.Control.LayerSwitcher.prototype = 
-  Object.extend( new OpenLayers.Control(), {
-
-    /** @type String */
-    activeColor: "",
-    
-    /** @type String */
-    nonActiveColor: "",
-    
-    /** @type String */
-    mode: "checkbox",
-
-    /**
-    * @constructor
-    */
-    initialize: function(options) {
-        this.activeColor = OpenLayers.Control.LayerSwitcher.ACTIVE_COLOR;
-        this.nonActiveColor = OpenLayers.Control.LayerSwitcher.NONACTIVE_COLOR;
-        this.backdrops = [];
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-    },
-
-    /**
-    * @returns A reference to the DIV DOMElement containing the switcher tabs
-    * @type DOMElement
-    */  
-    draw: function() {
-        // initialize our internal div
-        OpenLayers.Control.prototype.draw.apply(this);
-
-        this.div.style.position = "absolute";
-        this.div.style.top = "10px";
-        this.div.style.right = "0px";
-        this.div.style.left = "";
-        this.div.style.fontFamily = "sans-serif";
-        this.div.style.color = "white";
-        this.div.style.fontWeight = "bold";
-        this.div.style.marginTop = "3px";
-        this.div.style.marginLeft = "3px";
-        this.div.style.marginBottom = "3px";
-        this.div.style.fontSize="smaller";   
-        this.div.style.width = "10em";
-
-        this.map.events.register("addlayer", this, this.redraw);
-        this.map.events.register("removelayer", this, this.redraw);
-        return this.redraw();    
-    },
-
-    /**
-    * @returns A reference to the DIV DOMElement containing the switcher tabs
-    * @type DOMElement
-    */  
-    redraw: function() {
-
-        //clear out previous incarnation of LayerSwitcher tabs
-        this.div.innerHTML = "";
-        var visible = false;
-        for( var i = 0; i < this.map.layers.length; i++) {
-            if (visible && this.mode == "radio") {
-                this.map.layers[i].setVisibility(false);
-            } else {
-                visible = this.map.layers[i].getVisibility();
-            }
-            this.addTab(this.map.layers[i]);
-        }
-            
-        return this.div;
-    },
-    
-    /** 
-    * @param {event} evt
-    */
-    singleClick: function(evt) {
-        var div = Event.element(evt);
-
-        // See comment about OL #57 fix below.
-        // If the click occurred on the corner spans we need
-        // to make sure we act on the actual label tab instead.
-        div = div.labelElement || div;
-
-        var layer = div.layer;
-        if (this.mode == "radio") {
-            for(var i=0; i < this.backdrops.length; i++) {
-                this.setTabActivation(this.backdrops[i], false);
-                this.backdrops[i].layer.setVisibility(false);
-            }
-            this.setTabActivation(div, true);
-            layer.setVisibility(true);
-        } else {
-            var visible = layer.getVisibility();
-            
-            this.setTabActivation(div, !visible);
-            layer.setVisibility(!visible);
-        }
-        Event.stop(evt);
-    },
-    
-    /** 
-    * @private
-    *
-    * @param {event} evt
-    */
-    ignoreEvent: function(evt) {
-        Event.stop(evt);
-        return false;
-    },
-
-    /** 
-    * @private
-    * 
-    * @param {OpenLayers.Layer} layer
-    */            
-    addTab: function(layer) {
-
-        // Outer DIV - for Rico Corners
-        //
-        var backdropLabelOuter = document.createElement('div');
-        backdropLabelOuter.id = "LayerSwitcher_" + layer.name + "_Tab";
-        backdropLabelOuter.style.marginTop = "4px";
-        backdropLabelOuter.style.marginBottom = "4px";
-        
-        this._setEventHandlers(backdropLabelOuter);
-
-        // Inner Label - for Rico Corners
-        //
-        var backdropLabel = document.createElement('p');
-        backdropLabel.innerHTML = layer.name;
-        backdropLabel.style.marginTop = "0px";
-        backdropLabel.style.marginBottom = "0px";
-        backdropLabel.style.paddingLeft = "10px";
-        backdropLabel.style.paddingRight = "10px";
-        
-        // add reference to layer onto the div for use in event handlers
-        backdropLabel.layer = layer;
-
-        // set event handlers
-        this._setEventHandlers(backdropLabel);
-
-        // add label to div
-        backdropLabelOuter.appendChild(backdropLabel);
-        
-        this.backdrops.append(backdropLabel); 
-        
-        // add div to main LayerSwitcher Div
-        this.div.appendChild(backdropLabelOuter);
-
-        Rico.Corner.round(backdropLabelOuter, {corners: "tl bl",
-                                      bgColor: "transparent",
-                                      color: "white",
-                                      blend: false});
-
-        // extend the event handlers to operate on the
-        // rounded corners as well. (Fixes OL #57.)
-        var spanElements=backdropLabel.parentNode.getElementsByTagName("span");
-        
-        for (var currIdx = 0; currIdx < spanElements.length; currIdx++) {
-            this._setEventHandlers(spanElements[currIdx], backdropLabel);
-        }
-
-        this.setTabActivation(backdropLabel, layer.getVisibility());
-    },
-
-    /*
-      @private
-    
-      @param {DOMElement} div
-      @param {Boolean} activate
-    */
-    _setEventHandlers : function(element, labelDiv) {
-
-        // We only want to respond to a mousedown event.
-        element.onclick = this.singleClick.bindAsEventListener(this);
-        element.ondblclick = this.singleClick.bindAsEventListener(this);
-        element.onmouseup = this.ignoreEvent.bindAsEventListener(this);
-        element.onmousedown = this.ignoreEvent.bindAsEventListener(this);
-
-        // If we are operating on a corner span we need to store a
-        // reference to the actual tab. (See comment about OL #57 fix above.)
-        if (labelDiv) {
-            element.labelElement = labelDiv;
-        }
-    },
-
-    /**
-    * @private
-    *
-    * @param {DOMElement} div
-    * @param {Boolean} activate
-    */
-    setTabActivation:function(div, activate) {
-        var color = (activate) ? this.activeColor : this.nonActiveColor;
-        Rico.Corner.changeColor(div, color);
-    },
-
-
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Control.LayerSwitcher"
-});
-
diff --git a/public/lib/OpenLayers/Control/MouseDefaults.js b/public/lib/OpenLayers/Control/MouseDefaults.js
deleted file mode 100644 (file)
index 3ae7edd..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Control.js
-OpenLayers.Control.MouseDefaults = Class.create();
-OpenLayers.Control.MouseDefaults.prototype = 
-  Object.extend( new OpenLayers.Control(), {
-
-    performedDrag: false,
-
-    initialize: function() {
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-    },
-    
-    draw: function() {
-        this.map.events.register( "click", this, this.defaultClick );
-        this.map.events.register( "dblclick", this, this.defaultDblClick );
-        this.map.events.register( "mousedown", this, this.defaultMouseDown );
-        this.map.events.register( "mouseup", this, this.defaultMouseUp );
-        this.map.events.register( "mousemove", this, this.defaultMouseMove );
-        this.map.events.register( "mouseout", this, this.defaultMouseOut );
-    },
-
-    defaultClick: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-        var notAfterDrag = !this.performedDrag;
-        this.performedDrag = false;
-        return notAfterDrag;
-    },
-
-    /**
-    * @param {Event} evt
-    */
-    defaultDblClick: function (evt) {
-        var newCenter = this.map.getLonLatFromViewPortPx( evt.xy ); 
-        this.map.setCenter(newCenter, this.map.zoom + 1);
-    },
-
-    /**
-    * @param {Event} evt
-    */
-    defaultMouseDown: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-        this.mouseDragStart = evt.xy.copyOf();
-        this.performedDrag  = false;
-        if (evt.shiftKey) {
-            this.map.div.style.cursor = "crosshair";
-            this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
-                                                     this.mouseDragStart,
-                                                     null,
-                                                     null,
-                                                     "absolute",
-                                                     "2px solid red");
-            this.zoomBox.style.backgroundColor = "white";
-            this.zoomBox.style.filter = "alpha(opacity=50)"; // IE
-            this.zoomBox.style.opacity = "0.50";
-            this.zoomBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
-            this.map.viewPortDiv.appendChild(this.zoomBox);
-        }
-        document.onselectstart=function() { return false; }
-        Event.stop(evt);
-    },
-
-    /**
-    * @param {Event} evt
-    */
-    defaultMouseMove: function (evt) {
-        if (this.mouseDragStart != null) {
-            if (this.zoomBox) {
-                var deltaX = Math.abs(this.mouseDragStart.x - evt.xy.x);
-                var deltaY = Math.abs(this.mouseDragStart.y - evt.xy.y);
-                this.zoomBox.style.width = deltaX+"px";
-                this.zoomBox.style.height = deltaY+"px";
-                if (evt.xy.x < this.mouseDragStart.x) {
-                    this.zoomBox.style.left = evt.xy.x+"px";
-                }
-                if (evt.xy.y < this.mouseDragStart.y) {
-                    this.zoomBox.style.top = evt.xy.y+"px";
-                }
-            } else {
-                var deltaX = this.mouseDragStart.x - evt.xy.x;
-                var deltaY = this.mouseDragStart.y - evt.xy.y;
-                var size = this.map.getSize();
-                var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX,
-                                                 size.h / 2 + deltaY);
-                var newCenter = this.map.getLonLatFromViewPortPx( newXY ); 
-                this.map.setCenter(newCenter, null, true);
-                this.mouseDragStart = evt.xy.copyOf();
-                this.map.div.style.cursor = "move";
-            }
-            this.performedDrag = true;
-        }
-    },
-
-    /**
-    * @param {Event} evt
-    */
-    defaultMouseUp: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-        if (this.zoomBox) {
-            var start = this.map.getLonLatFromViewPortPx( this.mouseDragStart ); 
-            var end = this.map.getLonLatFromViewPortPx( evt.xy );
-            var top = Math.max(start.lat, end.lat);
-            var bottom = Math.min(start.lat, end.lat);
-            var left = Math.min(start.lon, end.lon);
-            var right = Math.max(start.lon, end.lon);
-            var bounds = new OpenLayers.Bounds(left, bottom, right, top);
-            var zoom = this.map.getZoomForExtent(bounds);
-            this.map.setCenter(new OpenLayers.LonLat(
-              (start.lon + end.lon) / 2,
-              (start.lat + end.lat) / 2
-             ), zoom);
-            this.map.viewPortDiv.removeChild(document.getElementById("zoomBox"));
-            this.zoomBox = null;
-        } else {
-            this.map.setCenter(this.map.center);
-        }
-        document.onselectstart=null;
-        this.mouseDragStart = null;
-        this.map.div.style.cursor = "default";
-    },
-
-    defaultMouseOut: function (evt) {
-        if (this.mouseDragStart != null
-            && OpenLayers.Util.mouseLeft(evt, this.map.div)) {
-                this.defaultMouseUp(evt);
-        }
-    }
-});
-
diff --git a/public/lib/OpenLayers/Control/MouseToolbar.js b/public/lib/OpenLayers/Control/MouseToolbar.js
deleted file mode 100644 (file)
index 28b78d6..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Control.js
-OpenLayers.Control.MouseToolbar = Class.create();
-OpenLayers.Control.MouseToolbar.X = 6;
-OpenLayers.Control.MouseToolbar.Y = 300;
-OpenLayers.Control.MouseToolbar.prototype = 
-  Object.extend( new OpenLayers.Control(), {
-    
-    mode: null,
-
-    buttons: null,
-
-    direction: "vertical",
-    
-    initialize: function(position, direction) {
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-        this.position = new OpenLayers.Pixel(OpenLayers.Control.MouseToolbar.X,
-                                             OpenLayers.Control.MouseToolbar.Y);
-        if (position) {
-            this.position = position;
-        }
-        if (direction) {
-            this.direction = direction; 
-        }
-        this.measureDivs = [];
-    },
-    
-    draw: function() {
-        OpenLayers.Control.prototype.draw.apply(this, arguments);
-        this.buttons = new Object();
-        this.map.events.register( "dblclick", this, this.defaultDblClick );
-        this.map.events.register( "mousedown", this, this.defaultMouseDown );
-        this.map.events.register( "mouseup", this, this.defaultMouseUp );
-        this.map.events.register( "mousemove", this, this.defaultMouseMove );
-        this.map.events.register( "mouseout", this, this.defaultMouseOut );
-        var sz = new OpenLayers.Size(28,28);
-        var centered = this.position;
-        this._addButton("zoombox", "drag-rectangle-off.png", "drag-rectangle-on.png", centered, sz, "Shift->Drag to zoom to area");
-        centered = centered.add((this.direction == "vertical" ? 0 : sz.w), (this.direction == "vertical" ? sz.h : 0));
-        this._addButton("pan", "panning-hand-off.png", "panning-hand-on.png", centered, sz, "Drag the map to pan.");
-        centered = centered.add((this.direction == "vertical" ? 0 : sz.w), (this.direction == "vertical" ? sz.h : 0));
-        this._addButton("measure", "measuring-stick-off.png", "measuring-stick-on.png", centered, sz, "Hold alt when clicking to show distance between selected points");
-        this.switchModeTo("pan");
-        this.map.events.register("zoomend", this, function() { this.switchModeTo("pan"); });
-        return this.div;
-        
-    },
-    
-    _addButton:function(id, img, activeImg, xy, sz, title) {
-        var imgLocation = OpenLayers.Util.getImagesLocation() + img;
-        var activeImgLocation = OpenLayers.Util.getImagesLocation() + activeImg;
-        // var btn = new ol.AlphaImage("_"+id, imgLocation, xy, sz);
-        var btn = OpenLayers.Util.createAlphaImageDiv(
-                                    "OpenLayers_Control_MouseToolbar_" + id, 
-                                    xy, sz, imgLocation, "absolute");
-
-        //we want to add the outer div
-        this.div.appendChild(btn);
-        btn.imgLocation = imgLocation;
-        btn.activeImgLocation = activeImgLocation;
-        
-        btn.events = new OpenLayers.Events(this, btn);
-        btn.events.register("mousedown", this, this.buttonClick); 
-        btn.events.register("mouseup", this, Event.stop);
-        btn.action = id;
-        btn.title = title;
-        btn.alt = title;
-        btn.map = this.map;
-
-        //we want to remember/reference the outer div
-        this.buttons[id] = btn;
-        return btn;
-    },
-
-    buttonClick: function(evt) {
-        if (!Event.isLeftClick(evt)) return;
-        this.switchModeTo(evt.div.action);
-        Event.stop(evt);
-    },
-    
-    /**
-    * @param {Event} evt
-    */
-    defaultDblClick: function (evt) {
-        this.switchModeTo("pan");
-        var newCenter = this.map.getLonLatFromViewPortPx( evt.xy ); 
-        this.map.setCenter(newCenter, this.map.zoom + 2);
-    },
-
-    /**
-    * @param {Event} evt
-    */
-    defaultMouseDown: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-        this.mouseDragStart = evt.xy.copyOf();
-        if (evt.shiftKey && this.mode !="zoombox") {
-            this.switchModeTo("zoombox");
-        } else if (evt.altKey && this.mode !="measure") {
-            this.switchModeTo("measure");
-        } else if (!this.mode) {
-            this.switchModeTo("pan");
-        }
-        
-        switch (this.mode) {
-            case "zoombox":
-                this.map.div.style.cursor = "crosshair";
-                this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
-                                                         this.mouseDragStart,
-                                                         null,
-                                                         null,
-                                                         "absolute",
-                                                         "2px solid red");
-                this.zoomBox.style.backgroundColor = "white";
-                this.zoomBox.style.filter = "alpha(opacity=50)"; // IE
-                this.zoomBox.style.opacity = "0.50";
-                this.zoomBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
-                this.map.viewPortDiv.appendChild(this.zoomBox);
-                break;
-            case "measure":
-                var distance = "";
-                if (this.measureStart) {
-                    measureEnd = this.map.getLonLatFromViewPortPx(this.mouseDragStart);
-                    distance = OpenLayers.Util.distVincenty(this.measureStart, measureEnd);
-                    distance = Math.round(distance * 100) / 100;
-                    distance = distance + "km";
-                    this.measureStartBox = this.measureBox;
-                }    
-                this.measureStart = this.map.getLonLatFromViewPortPx(this.mouseDragStart);;
-                this.measureBox = OpenLayers.Util.createDiv(null,
-                                                         this.mouseDragStart.add(
-                                                           -2-parseInt(this.map.layerContainerDiv.style.left),
-                                                           -2-parseInt(this.map.layerContainerDiv.style.top)),
-                                                         null,
-                                                         null,
-                                                         "absolute");
-                this.measureBox.style.width="4px";
-                this.measureBox.style.height="4px";
-                this.measureBox.style.backgroundColor="red";
-                this.measureBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
-                this.map.layerContainerDiv.appendChild(this.measureBox);
-                if (distance) {
-                    this.measureBoxDistance = OpenLayers.Util.createDiv(null,
-                                                         this.mouseDragStart.add(
-                                                           -2-parseInt(this.map.layerContainerDiv.style.left),
-                                                           2-parseInt(this.map.layerContainerDiv.style.top)),
-                                                         null,
-                                                         null,
-                                                         "absolute");
-                    
-                    this.measureBoxDistance.innerHTML = distance;
-                    this.measureBoxDistance.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
-                    this.map.layerContainerDiv.appendChild(this.measureBoxDistance);
-                    this.measureDivs.append(this.measureBoxDistance);
-                }
-                this.measureBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
-                this.map.layerContainerDiv.appendChild(this.measureBox);
-                this.measureDivs.append(this.measureBox);
-                break;
-            default:
-                this.map.div.style.cursor = "move";
-                break;
-        }
-        document.onselectstart = function() { return false; } 
-        Event.stop(evt);
-    },
-
-    switchModeTo: function(mode) {
-        if (mode != this.mode) {
-            if (this.mode) {
-                OpenLayers.Util.modifyAlphaImageDiv(this.buttons[this.mode], null, null, null, this.buttons[this.mode].imgLocation);
-            }
-            if (this.mode == "measure" && mode != "measure") {
-                for(var i = 0; i < this.measureDivs.length; i++) {
-                    if (this.measureDivs[i]) { 
-                        this.map.layerContainerDiv.removeChild(this.measureDivs[i]);
-                    }
-                }
-                this.measureDivs = [];
-                this.measureStart = null;
-            }
-            this.mode = mode;
-            OpenLayers.Util.modifyAlphaImageDiv(this.buttons[mode], null, null, null, this.buttons[mode].activeImgLocation);
-        } 
-    }, 
-
-    leaveMode: function() {
-        this.switchModeTo("pan");
-    },
-    
-    /**
-    * @param {Event} evt
-    */
-    defaultMouseMove: function (evt) {
-        if (this.mouseDragStart != null) {
-            switch (this.mode) {
-                case "zoombox": 
-                    var deltaX = Math.abs(this.mouseDragStart.x - evt.xy.x);
-                    var deltaY = Math.abs(this.mouseDragStart.y - evt.xy.y);
-                    this.zoomBox.style.width = deltaX+"px";
-                    this.zoomBox.style.height = deltaY+"px";
-                    if (evt.xy.x < this.mouseDragStart.x) {
-                        this.zoomBox.style.left = evt.xy.x+"px";
-                    }
-                    if (evt.xy.y < this.mouseDragStart.y) {
-                        this.zoomBox.style.top = evt.xy.y+"px";
-                    }
-                    break;
-                default:
-                    var deltaX = this.mouseDragStart.x - evt.xy.x;
-                    var deltaY = this.mouseDragStart.y - evt.xy.y;
-                    var size = this.map.getSize();
-                    var newXY = new OpenLayers.Pixel(size.w / 2 + deltaX,
-                                                     size.h / 2 + deltaY);
-                    var newCenter = this.map.getLonLatFromViewPortPx( newXY ); 
-                    this.map.setCenter(newCenter, null, true);
-                    this.mouseDragStart = evt.xy.copyOf();
-            }
-        }
-    },
-
-    /**
-    * @param {Event} evt
-    */
-    defaultMouseUp: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-        switch (this.mode) {
-            case "zoombox":
-                var start = this.map.getLonLatFromViewPortPx( this.mouseDragStart ); 
-                var end = this.map.getLonLatFromViewPortPx( evt.xy );
-                var top = Math.max(start.lat, end.lat);
-                var bottom = Math.min(start.lat, end.lat);
-                var left = Math.min(start.lon, end.lon);
-                var right = Math.max(start.lon, end.lon);
-                var bounds = new OpenLayers.Bounds(left, bottom, right, top);
-                var zoom = this.map.getZoomForExtent(bounds);
-                this.map.setCenter(new OpenLayers.LonLat(
-                  (start.lon + end.lon) / 2,
-                  (start.lat + end.lat) / 2
-                 ), zoom);
-                this.map.viewPortDiv.removeChild(document.getElementById("zoomBox"));
-                this.zoomBox = null;
-                this.leaveMode();
-                break;
-            case "pan":
-                this.map.setCenter(this.map.center);
-            
-        }
-        document.onselectstart = null;
-        this.mouseDragStart = null;
-        this.map.div.style.cursor = "default";
-    },
-
-    defaultMouseOut: function (evt) {
-        if (this.mouseDragStart != null
-            && OpenLayers.Util.mouseLeft(evt, this.map.div)) {
-                this.defaultMouseUp(evt);
-        }
-    }
-});
-
diff --git a/public/lib/OpenLayers/Control/PanZoom.js b/public/lib/OpenLayers/Control/PanZoom.js
deleted file mode 100644 (file)
index 32eed2f..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Control.js
-
-/**
- * @class
- * 
- * default zoom/pan controls
- */
-OpenLayers.Control.PanZoom = Class.create();
-OpenLayers.Control.PanZoom.X = 4;
-OpenLayers.Control.PanZoom.Y = 4;
-OpenLayers.Control.PanZoom.prototype = 
-  Object.extend( new OpenLayers.Control(), {
-
-    /** @type int */
-    slideFactor: 50,
-
-    /** @type Array of Button Divs */
-    buttons: null,
-
-    /** @type OpenLayers.Pixel */
-    position: null,
-
-    /**
-     * @constructor
-     */
-    initialize: function() {
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-        this.position = new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,
-                                             OpenLayers.Control.PanZoom.Y);
-    },
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    * 
-    * @returns A reference to the container div for the PanZoom control
-    * @type DOMElement
-    */
-    draw: function(px) {
-        // initialize our internal div
-        OpenLayers.Control.prototype.draw.apply(this, arguments);
-        px = this.position;
-
-        // place the controls
-        this.buttons = new Array();
-
-        var sz = new OpenLayers.Size(18,18);
-        var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y);
-
-        this._addButton("panup", "north-mini.png", centered, sz);
-        px.y = centered.y+sz.h;
-        this._addButton("panleft", "west-mini.png", px, sz);
-        this._addButton("panright", "east-mini.png", px.add(sz.w, 0), sz);
-        this._addButton("pandown", "south-mini.png", 
-                        centered.add(0, sz.h*2), sz);
-        this._addButton("zoomin", "zoom-plus-mini.png", 
-                        centered.add(0, sz.h*3+5), sz);
-        this._addButton("zoomworld", "zoom-world-mini.png", 
-                        centered.add(0, sz.h*4+5), sz);
-        this._addButton("zoomout", "zoom-minus-mini.png", 
-                        centered.add(0, sz.h*5+5), sz);
-        return this.div;
-    },
-    
-    /**
-     * @param {String} id
-     * @param {String} img
-     * @param {OpenLayers.Pixel} xy
-     * @param {OpenLayers.Size} sz
-     * 
-     * @returns A Div (an alphaImageDiv, to be precise) that contains the 
-     *          image of the button, and has all the proper event handlers
-     *          set.
-     * @type DOMElement
-     */
-    _addButton:function(id, img, xy, sz) {
-        var imgLocation = OpenLayers.Util.getImagesLocation() + img;
-        // var btn = new ol.AlphaImage("_"+id, imgLocation, xy, sz);
-        var btn = OpenLayers.Util.createAlphaImageDiv(
-                                    "OpenLayers_Control_PanZoom_" + id, 
-                                    xy, sz, imgLocation, "absolute");
-
-        //we want to add the outer div
-        this.div.appendChild(btn);
-
-        btn.onmousedown = this.buttonDown.bindAsEventListener(btn);
-        btn.ondblclick  = this.doubleClick.bindAsEventListener(btn);
-        btn.onclick  = this.doubleClick.bindAsEventListener(btn);
-        btn.action = id;
-        btn.map = this.map;
-        btn.slideFactor = this.slideFactor;
-
-        //we want to remember/reference the outer div
-        this.buttons.push(btn);
-        return btn;
-    },
-    
-    /**
-     * @param {event} evt
-     * 
-     * @type Boolean
-     */
-    doubleClick: function (evt) {
-        Event.stop(evt);
-        return false;
-    },
-    
-    /**
-     * @param {event} evt
-     */
-    buttonDown: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-
-        var slide = this.map.getResolution() * this.slideFactor;
-        var center = this.map.getCenter();
-
-        var newCenter = center.copyOf();
-
-        switch (this.action) {
-            case "panup": 
-                newCenter = newCenter.add( 0, slide);
-                break;
-            case "pandown": 
-                newCenter = newCenter.add( 0, -slide);
-                break;
-            case "panleft": 
-                newCenter = newCenter.add( -slide, 0);
-                break;
-            case "panright": 
-                newCenter = newCenter.add( slide, 0);
-                break;
-            case "zoomin": 
-                this.map.zoomIn(); 
-                break;
-            case "zoomout": 
-                this.map.zoomOut(); 
-                break;
-            case "zoomworld": 
-                this.map.zoomToFullExtent(); 
-                break;
-        }
-        
-        if (!newCenter.equals(center)) {
-            this.map.setCenter(newCenter);
-        }
-        
-        Event.stop(evt);
-    },
-
-    /**
-     * 
-     */
-    destroy: function() {
-        OpenLayers.Control.prototype.destroy.apply(this, arguments);
-        for(i=0; i<this.buttons.length; i++) {
-            this.buttons[i].map = null;
-        }
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Control.PanZoom"
-});
diff --git a/public/lib/OpenLayers/Control/PanZoomBar.js b/public/lib/OpenLayers/Control/PanZoomBar.js
deleted file mode 100644 (file)
index 168c928..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Control/PanZoom.js
-
-//
-// default zoom/pan controls
-//
-OpenLayers.Control.PanZoomBar = Class.create();
-OpenLayers.Control.PanZoomBar.X = 4;
-OpenLayers.Control.PanZoomBar.Y = 4;
-OpenLayers.Control.PanZoomBar.prototype = 
-  Object.extend( new OpenLayers.Control.PanZoom(), {
-    /** @type Array(...) */
-    buttons: null,
-
-    /** @type int */
-    zoomStopWidth: 18,
-
-    /** @type int */
-    zoomStopHeight: 11,
-
-    initialize: function() {
-        OpenLayers.Control.PanZoom.prototype.initialize.apply(this, arguments);
-        this.position = new OpenLayers.Pixel(OpenLayers.Control.PanZoomBar.X,
-                                             OpenLayers.Control.PanZoomBar.Y);
-    },
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    */
-    draw: function(px) {
-        // initialize our internal div
-        OpenLayers.Control.prototype.draw.apply(this, arguments);
-        px = this.position;
-
-        // place the controls
-        this.buttons = new Array();
-
-        var sz = new OpenLayers.Size(18,18);
-        var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y);
-
-        this._addButton("panup", "north-mini.png", centered, sz);
-        px.y = centered.y+sz.h;
-        this._addButton("panleft", "west-mini.png", px, sz);
-        this._addButton("panright", "east-mini.png", px.add(sz.w, 0), sz);
-        this._addButton("pandown", "south-mini.png", centered.add(0, sz.h*2), sz);
-        this._addButton("zoomin", "zoom-plus-mini.png", centered.add(0, sz.h*3+5), sz);
-        centered = this._addZoomBar(centered.add(0, sz.h*4 + 5));
-        this._addButton("zoomout", "zoom-minus-mini.png", centered, sz);
-        return this.div;
-    },
-
-    /** 
-    * @param {OpenLayers.Pixel} location where zoombar drawing is to start.
-    */
-    _addZoomBar:function(centered) {
-        var imgLocation = OpenLayers.Util.getImagesLocation();
-        
-        var id = "OpenLayers_Control_PanZoomBar_Slider" + this.map.id;
-        var slider = OpenLayers.Util.createAlphaImageDiv(id,
-                       centered.add(-1, 
-                         (this.map.getZoomLevels())*this.zoomStopHeight), 
-                       new OpenLayers.Size(20,9), 
-                       imgLocation+"slider.png",
-                       "absolute");
-        this.slider = slider;
-        
-        this.sliderEvents = new OpenLayers.Events(this, slider);
-        this.sliderEvents.register("mousedown", this, this.zoomBarDown);
-        this.sliderEvents.register("mousemove", this, this.zoomBarDrag);
-        this.sliderEvents.register("mouseup", this, this.zoomBarUp);
-        this.sliderEvents.register("dblclick", this, this.doubleClick);
-        this.sliderEvents.register("click", this, this.doubleClick);
-        
-        sz = new OpenLayers.Size();
-        sz.h = this.zoomStopHeight*(this.map.getZoomLevels()+1);
-        sz.w = this.zoomStopWidth;
-        var div = null
-        
-        if (OpenLayers.Util.alphaHack()) {
-            var id = "OpenLayers_Control_PanZoomBar" + this.map.id;
-            div = OpenLayers.Util.createAlphaImageDiv(id, centered,
-                                      new OpenLayers.Size(sz.w, 
-                                              this.zoomStopHeight),
-                                      imgLocation + "zoombar.png", 
-                                      "absolute", null, "crop");
-            div.style.height = sz.h;
-        } else {
-            div = OpenLayers.Util.createDiv(
-                        'OpenLayers_Control_PanZoomBar_Zoombar' + this.map.id,
-                        centered,
-                        sz,
-                        imgLocation+"zoombar.png");
-        }
-        
-        this.zoombarDiv = div;
-        
-        this.divEvents = new OpenLayers.Events(this, div);
-        this.divEvents.register("mousedown", this, this.divClick);
-        this.divEvents.register("mousemove", this, this.passEventToSlider);
-        this.divEvents.register("dblclick", this, this.doubleClick);
-        this.divEvents.register("click", this, this.doubleClick);
-        
-        this.div.appendChild(div);
-
-        this.startTop = parseInt(div.style.top);
-        this.div.appendChild(slider);
-
-        this.map.events.register("zoomend", this, this.moveZoomBar);
-
-        centered = centered.add(0, 
-            this.zoomStopHeight*(this.map.getZoomLevels()+1));
-        return centered; 
-    },
-    /* 
-     * @param evt
-     * This function is used to pass events that happen on the div, or the map,
-     * through to the slider, which then does its moving thing.
-     */
-    passEventToSlider:function(evt) {
-        this.sliderEvents.handleBrowserEvent(evt);
-    },
-    
-    /*
-     * divClick: Picks up on clicks directly on the zoombar div
-     *           and sets the zoom level appropriately.
-     */
-    divClick: function (evt) {
-        if (!Event.isLeftClick(evt)) return;
-        var y = evt.xy.y;
-        var top = Position.page(evt.object)[1];
-        var levels = Math.floor((y - top)/this.zoomStopHeight);
-        this.map.zoomTo(this.map.getZoomLevels() - levels);
-        Event.stop(evt);
-    },
-    
-    /* 
-     * @param evt
-     * event listener for clicks on the slider
-     */
-    zoomBarDown:function(evt) {
-        if (!Event.isLeftClick(evt)) return;
-        this.map.events.register("mousemove", this, this.passEventToSlider);
-        this.map.events.register("mouseup", this, this.passEventToSlider);
-        this.mouseDragStart = evt.xy.copyOf();
-        this.zoomStart = evt.xy.copyOf();
-        this.div.style.cursor = "move";
-        Event.stop(evt);
-    },
-    
-    /*
-     * @param evt
-     * This is what happens when a click has occurred, and the client is dragging.
-     * Here we must ensure that the slider doesn't go beyond the bottom/top of the 
-     * zoombar div, as well as moving the slider to its new visual location
-     */
-    zoomBarDrag:function(evt) {
-        if (this.mouseDragStart != null) {
-            var deltaY = this.mouseDragStart.y - evt.xy.y
-            var offsets = Position.page(this.zoombarDiv);
-            if ((evt.clientY - offsets[1]) > 0 && 
-                (evt.clientY - offsets[1]) < parseInt(this.zoombarDiv.style.height) - 2) {
-                var newTop = parseInt(this.slider.style.top) - deltaY;
-                this.slider.style.top = newTop+"px";
-            }
-            this.mouseDragStart = evt.xy.copyOf();
-        }
-        Event.stop(evt);
-    },
-    
-    /* 
-     * @param evt
-     * Perform cleanup when a mouseup event is received -- discover new zoom level
-     * and switch to it.
-     */
-    zoomBarUp:function(evt) {
-        if (!Event.isLeftClick(evt)) return;
-        if (this.zoomStart) {
-            this.div.style.cursor="default";
-            this.map.events.remove("mousemove");
-            this.map.events.remove("mouseup");
-            var deltaY = this.zoomStart.y - evt.xy.y
-            this.map.zoomTo(this.map.zoom + Math.round(deltaY/this.zoomStopHeight));
-            this.moveZoomBar();
-            this.mouseDragStart = null;
-            Event.stop(evt);
-        }
-    },
-    
-    /* 
-    * Change the location of the slider to match the current zoom level.
-    */
-    moveZoomBar:function() {
-        var newTop = 
-            (this.map.getZoomLevels() - this.map.getZoom()) * this.zoomStopHeight
-            + this.startTop + 1;
-        this.slider.style.top = newTop + "px";
-    },    
-    
-    CLASS_NAME: "OpenLayers.Control.PanZoomBar"
-});
diff --git a/public/lib/OpenLayers/Events.js b/public/lib/OpenLayers/Events.js
deleted file mode 100644 (file)
index 00e158b..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-OpenLayers.Events = Class.create();
-
-OpenLayers.Events.prototype = {
-    // Array: supported events
-    BROWSER_EVENTS: [
-        "mouseover", "mouseout",
-        "mousedown", "mouseup", "mousemove", 
-        "click", "dblclick",
-        "resize", "focus", "blur"
-    ],
-
-    // hash of Array(Function): events listener functions
-    listeners: null,
-
-    // Object: the code object issuing application events
-    object: null,
-
-    // DOMElement: the DOM element receiving browser events
-    div: null,
-
-    // Array: list of support application events
-    eventTypes: null,
-
-    /**
-    * @param {OpenLayers.Map} map
-    * @param {DOMElement} div
-    */
-    initialize: function (object, div, eventTypes) {
-        this.listeners  = {};
-        this.object     = object;
-        this.div        = div;
-        this.eventTypes = eventTypes;
-        if (eventTypes) {
-            for (var i = 0; i < this.eventTypes.length; i++) {
-                // create a listener list for every custom application event
-                this.listeners[ this.eventTypes[i] ] = [];
-            }
-        }
-        for (var i = 0; i < this.BROWSER_EVENTS.length; i++) {
-            var eventType = this.BROWSER_EVENTS[i];
-
-            // every browser event has a corresponding application event 
-            // (whether it's listened for or not).
-            this.listeners[ eventType ] = [];
-
-            Event.observe(div, eventType, 
-                this.handleBrowserEvent.bindAsEventListener(this));
-        }
-        // disable dragstart in IE so that mousedown/move/up works normally
-        Event.observe(div, "dragstart", Event.stop);
-    },
-
-    /**
-    * @param {str} type
-    * @param {Object} obj
-    * @param {Function} func
-    */
-    register: function (type, obj, func) {
-        if (func == null) {
-            obj = this.object;
-            func = obj;
-        }
-        var listeners = this.listeners[type];
-        listeners.push( {obj: obj, func: func} );
-    },
-    
-    unregister: function (type, obj, func) {
-        var listeners = this.listeners[type];
-        for (var i = 0; i < listeners.length; i++) {
-            if (listeners[i].obj == obj && listeners[i].type == type) {
-                listeners.splice(i, 1);
-                break;
-            }
-        }
-    },
-
-    remove: function(type) {
-        this.listeners[type].pop();
-    },
-
-    /**
-    * @param {event} evt
-    */
-    handleBrowserEvent: function (evt) {
-        evt.xy = this.getMousePosition(evt); 
-        this.triggerEvent(evt.type, evt)
-    },
-
-    /**
-    * @param {event} evt
-    * 
-    * @return {OpenLayers.Pixel}
-    */
-    getMousePosition: function (evt) {
-        if (!this.div.offsets) {
-            this.div.offsets = Position.page(this.div);
-        }
-        return new OpenLayers.Pixel(
-                        evt.clientX - this.div.offsets[0], 
-                        evt.clientY - this.div.offsets[1]); 
-    },
-
-    /**
-    * @param {str} type
-    * @param {event} evt
-    */
-    triggerEvent: function (type, evt) {
-        if (evt == null) {
-            evt = {};
-        }
-        evt.object = this.object;
-        evt.div = this.div;
-
-        var listeners = this.listeners[type];
-        for (var i = 0; i < listeners.length; i++) {
-            var callback = listeners[i];
-            var continueChain = callback.func.call(callback.obj, evt);
-            if (continueChain != null && !continueChain) break;
-        }
-    }
-};
diff --git a/public/lib/OpenLayers/Feature.js b/public/lib/OpenLayers/Feature.js
deleted file mode 100644 (file)
index a153180..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**
- * @class
- */
-OpenLayers.Feature = Class.create();
-OpenLayers.Feature.prototype= {
-
-    /** @type OpenLayers.Events */
-    events:null,
-
-    /** @type OpenLayers.Layer */
-    layer: null,
-
-    /** @type String */
-    id: null,
-    
-    /** @type OpenLayers.LonLat */
-    lonlat:null,
-
-    /** @type Object */
-    data:null,
-
-    /** @type OpenLayers.Marker */
-    marker: null,
-
-    /** @type OpenLayers.Popup */
-    popup: null,
-
-    /** 
-     * @constructor
-     * 
-     * @param {OpenLayers.Layer} layer
-     * @param {String} id
-     * @param {OpenLayers.LonLat} lonlat
-     * @param {Object} data
-     */
-    initialize: function(layer, lonlat, data, id) {
-        this.layer = layer;
-        this.lonlat = lonlat;
-        this.data = (data != null) ? data : new Object();
-        this.id = (id ? id : 'f' + Math.random());
-    },
-
-    /**
-     * 
-     */
-    destroy: function() {
-
-        //remove the popup from the map
-        if ((this.layer != null) && (this.layer.map != null)) {
-            if (this.popup != null) {
-                this.layer.map.removePopup(this.popup);
-            }
-        }
-
-        this.events = null;
-        this.layer = null;
-        this.id = null;
-        this.lonlat = null;
-        this.data = null;
-        if (this.marker != null) {
-            this.marker.destroy();
-            this.marker = null;
-        }
-        if (this.popup != null) {
-            this.popup.destroy();
-            this.popup = null;
-        }
-    },
-    
-
-    /**
-     * @returns A Marker Object created from the 'lonlat' and 'icon' properties
-     *          set in this.data. If no 'lonlat' is set, returns null. If no
-     *          'icon' is set, OpenLayers.Marker() will load the default image
-     * @type OpenLayers.Marker
-     */
-    createMarker: function() {
-
-        var marker = null;
-        
-        if (this.lonlat != null) {
-            this.marker = new OpenLayers.Marker(this.lonlat, this.data.icon);
-        }
-        return this.marker;
-    },
-
-    /**
-     * 
-     */
-    createPopup: function() {
-
-        if (this.lonlat != null) {
-            
-            var id = this.id + "_popup";
-            var anchor = (this.marker) ? this.marker.icon : null;
-
-            this.popup = new OpenLayers.Popup.AnchoredBubble(id, 
-                                                    this.lonlat,
-                                                    this.data.popupSize,
-                                                    this.data.popupContentHTML,
-                                                    anchor); 
-        }        
-        return this.popup;
-    },
-
-    CLASS_NAME: "OpenLayers.Feature"
-};
diff --git a/public/lib/OpenLayers/Feature/WFS.js b/public/lib/OpenLayers/Feature/WFS.js
deleted file mode 100644 (file)
index b2eb0f5..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**\r
- * @class\r
- */\r
-OpenLayers.Feature.WFS = Class.create();\r
-OpenLayers.Feature.WFS.prototype = \r
-  Object.extend( new OpenLayers.Feature(), {\r
-      \r
-    /** \r
-     * @constructor\r
-     * \r
-     * @param {OpenLayers.Layer} layer\r
-     * @param {XMLNode} xmlNode\r
-     */\r
-    initialize: function(layer, xmlNode) {\r
-        var newArguments = arguments;\r
-        if (arguments.length > 0) {\r
-            var data = this.processXMLNode(xmlNode);\r
-            newArguments = new Array(layer, data.lonlat, data, data.id)\r
-        }\r
-        OpenLayers.Feature.prototype.initialize.apply(this, newArguments);\r
-        \r
-        if (arguments.length > 0) {\r
-            this.createMarker();\r
-            this.layer.addMarker(this.marker);\r
-        }\r
-    },\r
-    \r
-    destroy: function() {\r
-        if (this.marker != null) {\r
-            this.layer.removeMarker(this.marker);  \r
-        }\r
-        OpenLayers.Feature.prototype.destroy.apply(this, arguments);\r
-    },\r
-\r
-    /**\r
-     * @param {XMLNode} xmlNode\r
-     * \r
-     * @returns Data Object with 'id', 'lonlat', and private properties set\r
-     * @type Object\r
-     */\r
-    processXMLNode: function(xmlNode) {\r
-        //this should be overridden by subclasses\r
-        // must return an Object with 'id' and 'lonlat' values set\r
-        var point = xmlNode.getElementsByTagName("Point");
-        var text  = point[0].textContent;
-        var floats = text.split(",");
-
-        return {lonlat: new OpenLayers.LonLat(parseFloat(floats[0]),
-                                              parseFloat(floats[1])),
-                id: null};
-
-    },\r
-    \r
-    /** @final @type String */\r
-    CLASS_NAME: "OpenLayers.Feature.WFS"\r
-});\r
-  \r
-  \r
-  \r
-  \r
-\r
diff --git a/public/lib/OpenLayers/Icon.js b/public/lib/OpenLayers/Icon.js
deleted file mode 100644 (file)
index 76a2338..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**
-* @class
-*/
-OpenLayers.Icon = Class.create();
-OpenLayers.Icon.prototype = {
-    
-    /** image url
-    * @type String */
-    url: null,
-    
-    /** @type OpenLayers.Size */
-    size:null,
-
-    /** distance in pixels to offset the image when being rendered
-    * @type OpenLayers.Pixel */
-    offset: null,    
-    
-    /** Function to calculate the offset (based on the size) 
-     * @type OpenLayers.Pixel */
-    calculateOffset: null,    
-    
-    /** @type DOMElement */
-    imageDiv: null,
-
-    /** @type OpenLayers.Pixel */
-    px: null,
-    
-    /** 
-    * @constructor
-    *
-    * @param {String} url
-    * @param {OpenLayers.Size} size
-    * @param {Function} calculateOffset
-    */
-    initialize: function(url, size, offset, calculateOffset) {
-        this.url = url;
-        this.size = (size) ? size : new OpenLayers.Size(20,20);
-        this.offset = (offset) ? offset : new OpenLayers.Pixel(0,0);
-        this.calculateOffset = calculateOffset;
-
-        this.imageDiv = OpenLayers.Util.createAlphaImageDiv();
-    },
-    
-    destroy: function() {
-        this.imageDiv = null;
-    },
-
-    /** 
-    * @returns A fresh copy of the icon.
-    * @type OpenLayers.Icon
-    */
-    clone: function() {
-        return new OpenLayers.Icon(this.size, this.url, this.offset);
-    },
-    
-    /**
-     * @param {OpenLayers.Size} size
-     */
-    setSize: function(size) {
-        if (size != null) {
-            this.size = size;
-        }
-        this.draw();
-    },
-
-    /** 
-    * @param {OpenLayers.Pixel} px
-    * 
-    * @return A new DOM Image of this icon set at the location passed-in
-    * @type DOMElement
-    */
-    draw: function(px) {
-        OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv, 
-                                            null, 
-                                            null, 
-                                            this.size, 
-                                            this.url, 
-                                            "absolute");
-        this.moveTo(px);
-        return this.imageDiv;
-    }, 
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    */
-    moveTo: function (px) {
-        //if no px passed in, use stored location
-        if (px != null) {
-            this.px = px;
-        }
-
-        if ((this.px != null) && (this.imageDiv != null)) {
-            if (this.calculateOffset) {
-                this.offset = this.calculateOffset(this.size);  
-            }
-            var offsetPx = this.px.offset(this.offset);
-            OpenLayers.Util.modifyAlphaImageDiv(this.imageDiv, null, offsetPx);
-        }
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Icon"
-};
\ No newline at end of file
diff --git a/public/lib/OpenLayers/Layer.js b/public/lib/OpenLayers/Layer.js
deleted file mode 100644 (file)
index 23da82e..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**
- * @class
- */
-OpenLayers.Layer = Class.create();
-OpenLayers.Layer.prototype = {
-
-    /** @type String */
-    name: null,
-
-    /** @type DOMElement */
-    div: null,
-
-    /** This variable is set in map.addLayer, not within the layer itself
-    * @type OpenLayers.Map */
-    map: null,
-    
-    /**
-     * @constructor
-     * 
-     * @param {String} name
-     */
-    initialize: function(name) {
-        if (arguments.length > 0) {
-            this.name = name;
-            if (this.div == null) {
-                this.div = OpenLayers.Util.createDiv();
-                this.div.style.width = "100%";
-                this.div.style.height = "100%";
-            }
-        }
-    },
-    
-    /**
-     * Destroy is a destructor: this is to alleviate cyclic references which
-     * the Javascript garbage cleaner can not take care of on its own.
-     */
-    destroy: function() {
-        if (this.map != null) {
-            this.map.removeLayer(this);
-        }
-        this.map = null;
-    },
-
-    /**
-    * @params {OpenLayers.Bounds} bound
-    * @params {Boolean} zoomChanged tells when zoom has changed, as layers have to do some init work in that case.
-    */
-    moveTo: function (bound, zoomChanged) {
-        // not implemented here
-        return;
-    },
-    
-    /**
-     * @param {OpenLayers.Map} map
-     */
-    setMap: function(map) {
-        this.map = map;
-    },
-  
-    /**
-     * @returns Whether or not the layer is a base layer. This should be 
-     *          determined individually by all subclasses. 
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-       //this function should be implemented by all subclasses.
-    },
-    
-    /**
-    * @returns Whether or not the layer is visible
-    * @type Boolean
-    */
-    getVisibility: function() {
-        return (this.div.style.display != "none");
-    },
-
-    /** 
-    * @param {bool} visible
-    */
-    setVisibility: function(visible) {
-        this.div.style.display = (visible) ? "block" : "none";
-        if ((visible) && (this.map != null)) {
-            this.moveTo(this.map.getExtent());
-        }
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer"
-};
diff --git a/public/lib/OpenLayers/Layer/Google.js b/public/lib/OpenLayers/Layer/Google.js
deleted file mode 100644 (file)
index 6d9b9b6..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer.js
-
-// load Google map control script
-// this key was generated for: http://openlayers.python-hosting.com/testing/euzuro/
-document.write("<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAmQ3udCHPQVB_9T_edFZ7YRRRlP-tOiFgaSzksg_0w1dphL9c5BTfdJMKT91b0UJGibNcWEM0Q5-O1w'></script>");
-
-/**
- * @class
- */
-OpenLayers.Layer.Google = Class.create();
-OpenLayers.Layer.Google.prototype = Object.extend( new OpenLayers.Layer(), {
-
-    /** @type Boolean */
-    viewPortLayer: true,
-
-    /** @type GMap2 gmap stores the Google Map element */
-    gmap:null,
-   
-    /** @type Boolean */
-    dragging:false,
-    
-    /** 
-     * @constructor
-     * 
-     * @param {String} name
-     */
-    initialize: function(name) {
-        OpenLayers.Layer.prototype.initialize.apply(this, [name]);
-    },
-    
-     /** 
-     * @param {OpenLayers.Map} map
-     */
-    setMap:function(map) {
-        OpenLayers.Layer.prototype.setMap.apply(this, arguments);
-
-        // once our layer has been added to the map, we can create the vemap
-        this.map.events.register("addlayer", this, this.loadGMap);
-    },
-    
-    /** Google layer is always a base class.
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-        return true;
-    },
-    
-    /** 
-     * @param {OpenLayers.Bounds} bounds
-     * @param {int} zoomChanged
-     */
-    moveTo:function(bounds,zoomChanged) {
-
-        if ((this.gmap != null) && (!this.dragging)) {
-
-            var olCenter = this.map.getCenter();
-            var gCenter = this.getGMapCenter();
-            
-            var olZoom = this.map.getZoom();
-            var gZoom = this.gmap.getZoom();
-            
-            if ((!olCenter.equals(gCenter)) || ((olZoom +1) != gZoom)) {
-                this.gmap.setCenter(new GLatLng(olCenter.lat, olCenter.lon), 
-                                    olZoom + 1);
-            }
-        }
-    },
-
-    /**
-     * 
-     */
-    loadGMap:function() {
-        // create div and set to same size as map
-        var gDiv = OpenLayers.Util.createDiv(this.name);
-        var sz = this.map.getSize();
-        gDiv.style.width = sz.w;
-        gDiv.style.height = sz.h;
-        this.div.appendChild(gDiv);
-
-        // create GMap, hide nav controls
-        this.gmap = new GMap2(this.div);
-        this.moveTo();
-
-        // catch pans and zooms from GMap
-        GEvent.addListener(this.gmap, 
-                           "moveend", 
-                           this.catchPanZoom.bindAsEventListener(this)); 
-
-
-        // attach to the drag start and end and we´ll set a flag so that
-        //  we dont get recursivity. this is because the events fall through
-        //  the gmaps div and into the main layer div
-        GEvent.addListener(this.gmap, 
-                           "dragstart", 
-                           this.dragStart.bindAsEventListener(this)); 
-
-        GEvent.addListener(this.gmap, 
-                           "dragend", 
-                           this.dragEnd.bindAsEventListener(this)); 
-
-    },
-
-    /** 
-     * @private
-     */
-    dragStart: function() {
-        this.dragging = true;
-    },
-    
-    /** 
-     * @private
-     */
-    dragEnd: function() {
-        this.dragging = false;
-    },
-    
-    /**
-     * @private 
-     * 
-     * @param {event} e
-     */
-    catchPanZoom: function(e) { 
-        var olCenter = this.getGMapCenter();
-        var gZoom = this.gmap.getZoom();
-
-        this.map.setCenter(olCenter, gZoom - 1);
-        
-    },
-
-    /**
-     * @private
-     * 
-     * @returns An OpenLayers.LonLat with the center of the gmap, or null if 
-     *           the GMap has not been centered yet
-     * @type OpenLayers.LonLat
-     */
-    getGMapCenter:function() {
-        var olCenter = null;
-        var gCenter = this.gmap.getCenter();
-        if (gCenter != null) {
-            olCenter = new OpenLayers.LonLat(gCenter.lng(), gCenter.lat());
-        }
-        return olCenter;
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer.Google"
-});
diff --git a/public/lib/OpenLayers/Layer/Grid.js b/public/lib/OpenLayers/Layer/Grid.js
deleted file mode 100644 (file)
index 736972b..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer.js
-// @require: OpenLayers/Util.js
-OpenLayers.Layer.Grid = Class.create();
-OpenLayers.Layer.Grid.TILE_WIDTH = 256;
-OpenLayers.Layer.Grid.TILE_HEIGHT = 256;
-OpenLayers.Layer.Grid.prototype = Object.extend( new OpenLayers.Layer(), {
-    
-    // str: url
-    url: null,
-
-    // hash: params
-    params: null,
-
-    // tileSize: OpenLayers.Size
-    tileSize: null,
-    
-    // grid: Array(Array())
-    // this is an array of rows, each row is an array of tiles
-    grid: null,
-
-    /**
-    * @param {str} name
-    * @param {str} url
-    * @param {hash} params
-    */
-    initialize: function(name, url, params) {
-        var newArguments = arguments;
-        if (arguments.length > 0) {
-            newArguments = [name];
-        }          
-        OpenLayers.Layer.prototype.initialize.apply(this, newArguments);
-        this.url = url;
-        this.params = params;
-        this.tileSize = new OpenLayers.Size(OpenLayers.Layer.Grid.TILE_WIDTH,
-                                            OpenLayers.Layer.Grid.TILE_HEIGHT);
-    },
-
-    /**
-     * 
-     */
-    destroy: function() {
-        this.params = null;
-        this.clearGrid();
-        this.grid = null;
-        OpenLayers.Layer.prototype.destroy.apply(this, arguments); 
-    },
-
-    setTileSize: function (size) {
-        this.tileSize = size.copyOf();
-    },
-
-    /** 
-     * moveTo
-     * moveTo is a function called whenever the map is moved. All the moving
-     * of actual 'tiles' is done by the map, but moveTo's role is to accept
-     * a bounds and make sure the data that that bounds requires is pre-loaded.
-     * @param {OpenLayers.Bounds}
-     */
-    moveTo:function(bounds,zoomChanged) {
-        if (!this.getVisibility()) {
-            if (zoomChanged) {
-                this.grid = null;
-            }
-            return;
-        }
-        if (!this.grid || zoomChanged) {
-            this._initTiles();
-        } else { 
-            var i = 0;
-            while (this.getGridBounds().bottom > bounds.bottom) {
-               this.insertRow(false); 
-            }
-            while (this.getGridBounds().left > bounds.left) {
-               this.insertColumn(true); 
-            }
-            while (this.getGridBounds().top < bounds.top) {
-               this.insertRow(true); 
-            }
-            while (this.getGridBounds().right < bounds.right) {
-               this.insertColumn(false); 
-            }
-        }
-    },
-    getGridBounds:function() {
-        var topLeftTile = this.grid[0][0];
-        var bottomRightTile = this.grid[this.grid.length-1][this.grid[0].length-1];
-        return new OpenLayers.Bounds(topLeftTile.bounds.left, 
-                                     bottomRightTile.bounds.bottom,
-                                     bottomRightTile.bounds.right, 
-                                     topLeftTile.bounds.top);
-    },
-    
-    /**
-    */
-    _initTiles:function() {
-
-        //first of all, clear out the main div
-        this.div.innerHTML = "";
-
-        //now clear out the old grid and start a new one
-        this.clearGrid();
-        this.grid = new Array();
-
-        var viewSize = this.map.getSize();
-        var bounds = this.map.getExtent();
-        var extent = this.map.getFullExtent();
-        var resolution = this.map.getResolution();
-        var tilelon = resolution*this.tileSize.w;
-        var tilelat = resolution*this.tileSize.h;
-        
-        var offsetlon = bounds.left - extent.left;
-        var tilecol = Math.floor(offsetlon/tilelon);
-        var tilecolremain = offsetlon/tilelon - tilecol;
-        var tileoffsetx = -tilecolremain * this.tileSize.w;
-        var tileoffsetlon = extent.left + tilecol * tilelon;
-        
-        var offsetlat = bounds.top - (extent.bottom + tilelat);  
-        var tilerow = Math.ceil(offsetlat/tilelat);
-        var tilerowremain = tilerow - offsetlat/tilelat;
-        var tileoffsety = -tilerowremain * this.tileSize.h;
-        var tileoffsetlat = extent.bottom + tilerow * tilelat;
-        
-        tileoffsetx = Math.round(tileoffsetx); // heaven help us
-        tileoffsety = Math.round(tileoffsety);
-
-        this.origin = new OpenLayers.Pixel(tileoffsetx,tileoffsety);
-
-        var startX = tileoffsetx; 
-        var startLon = tileoffsetlon;
-        
-        do {
-            var row = new Array();
-            this.grid.append(row);
-            tileoffsetlon = startLon;
-            tileoffsetx = startX;
-            do {
-                var tileBounds = new OpenLayers.Bounds(tileoffsetlon, 
-                                                       tileoffsetlat, 
-                                                       tileoffsetlon+tilelon,
-                                                       tileoffsetlat+tilelat);
-
-                var tile = this.addTile(tileBounds, 
-                                        new OpenLayers.Pixel(tileoffsetx - parseInt(this.map.layerContainerDiv.style.left),
-                                                             tileoffsety - parseInt(this.map.layerContainerDiv.style.top))
-                                                            );
-                tile.draw((this.params.TRANSPARENT == 'true'));
-                row.append(tile);
-     
-                tileoffsetlon += tilelon;       
-                tileoffsetx += this.tileSize.w;
-            } while (tileoffsetlon < bounds.right)  
-            
-            tileoffsetlat -= tilelat;
-            tileoffsety += this.tileSize.h;
-        } while(tileoffsetlat > bounds.bottom - tilelat)
-
-    },
-    
-    /**
-    * @param {bool} prepend - if true, prepend to beginning.
-    *                         if false, then append to end
-    */
-    insertRow:function(prepend) {
-        var modelRowIndex = (prepend) ? 0 : (this.grid.length - 1);
-        var modelRow = this.grid[modelRowIndex];
-
-        var newRow = new Array();
-
-        var resolution = this.map.getResolution();
-        var deltaY = (prepend) ? -this.tileSize.h : this.tileSize.h;
-        var deltaLat = resolution * -deltaY;
-
-        for (var i=0; i < modelRow.length; i++) {
-            var modelTile = modelRow[i];
-            var bounds = modelTile.bounds.copyOf();
-            var position = modelTile.position.copyOf();
-            bounds.bottom = bounds.bottom + deltaLat;
-            bounds.top = bounds.top + deltaLat;
-            position.y = position.y + deltaY;
-            var newTile = this.addTile(bounds, position);
-            newTile.draw((this.params.TRANSPARENT == 'true'));
-            newRow.append(newTile);
-        }
-        
-        if (newRow.length>0){
-            if (prepend) {
-                this.grid.prepend(newRow);
-            } else {
-                this.grid.append(newRow);
-            }
-        }       
-    },
-
-    /**
-    * @param {bool} prepend - if true, prepend to beginning.
-    *                         if false, then append to end
-    */
-    insertColumn:function(prepend) {
-        var modelCellIndex;
-        var deltaX = (prepend) ? -this.tileSize.w : this.tileSize.w;
-        var resolution = this.map.getResolution();
-        var deltaLon = resolution * deltaX;
-
-        for (var i=0; i<this.grid.length; i++) {
-            var row = this.grid[i];
-            modelTileIndex = (prepend) ? 0 : (row.length - 1);
-            var modelTile = row[modelTileIndex];
-            
-            var bounds = modelTile.bounds.copyOf();
-            var position = modelTile.position.copyOf();
-            bounds.left = bounds.left + deltaLon;
-            bounds.right = bounds.right + deltaLon;
-            position.x = position.x + deltaX;
-            var newTile = this.addTile(bounds, position);
-            newTile.draw((this.params.TRANSPARENT == 'true'));
-            
-            if (prepend) {
-                row = row.prepend(newTile);
-            } else {
-                row = row.append(newTile);
-            }
-        }
-    },
-    /** combine the ds's serverPath with its params and the tile's params. 
-    *   
-    *    does checking on the serverPath variable, allowing for cases when it 
-    *     is supplied with trailing ? or &, as well as cases where not. 
-    *
-    *    return in formatted string like this:
-    *        "server?key1=value1&key2=value2&key3=value3"
-    *
-    * @return {str}
-    */
-    getFullRequestString:function(params) {
-        var requestString = "";        
-        this.params.SRS = this.map.projection;
-        // concat tile params with layer params and convert to string
-        var allParams = Object.extend(this.params, params);
-        var paramsString = OpenLayers.Util.getParameterString(allParams);
-
-        var server = this.url;
-        var lastServerChar = server.charAt(server.length - 1);
-
-        if ((lastServerChar == "&") || (lastServerChar == "?")) {
-            requestString = server + paramsString;
-        } else {
-            if (server.indexOf('?') == -1) {
-                //serverPath has no ? -- add one
-                requestString = server + '?' + paramsString;
-            } else {
-                //serverPath contains ?, so must already have paramsString at the end
-                requestString = server + '&' + paramsString;
-            }
-        }
-        return requestString;
-    },
-    
-    /** go through and remove all tiles from the grid, calling
-    *    destroy() on each of them to kill circular references
-    * 
-    * @private
-    */
-    clearGrid:function() {
-        if (this.grid) {
-            while(this.grid.length > 0) {
-                var row = this.grid[0];
-                while(row.length > 0) {
-                    var tile = row[0];
-                    tile.destroy();
-                    row.remove(tile);
-                }
-                this.grid.remove(row);                   
-            }
-        }
-    },
-
-    /**
-    * addTile gives subclasses of Grid the opportunity to create an 
-    * OpenLayer.Tile of their choosing. The implementer should initialize 
-    * the new tile and take whatever steps necessary to display it.
-    *
-    * @param {OpenLayers.Bounds} bounds
-    *
-    * @returns The added OpenLayers.Tile
-    * @type OpenLayers.Tile
-    */
-    addTile:function(bounds,position) {
-        // Should be implemented by subclasses
-    },
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Grid"
-});
diff --git a/public/lib/OpenLayers/Layer/KaMap.js b/public/lib/OpenLayers/Layer/KaMap.js
deleted file mode 100644 (file)
index e4f4145..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer/Grid.js
-/**
-* @class
-*/
-OpenLayers.Layer.KaMap = Class.create();
-OpenLayers.Layer.KaMap.prototype = 
-  Object.extend( new OpenLayers.Layer.Grid(), {
-    metaTileHeight: 6,
-    metaTileWidth: 6,
-    
-    DEFAULT_PARAMS: {
-        i: 'jpeg',
-        map: ''
-    },
-        
-    // this.cellSize = newScale/(oMap.resolution * inchesPerUnit[oMap.units]);
-    // kaMap.prototype.geoToPix = function( gX, gY ) { var pX = gX / this.cellSize; var pY = -1 * gY / this.cellSize; }
-    initialize: function(name, url, params, origin) {
-        this.kaOrigin = origin;
-        var newArguments = new Array();
-        newArguments.push(name, url, params);
-        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
-        this.params = (params ? params : {});
-        if (arguments.length > 0 && params) {
-            OpenLayers.Util.applyDefaults(
-                           this.params, 
-                           this.DEFAULT_PARAMS
-                           );
-        }
-    },
-    addTile:function(bounds,position) {
-        var zoom = this.map.getZoom();
-        var resolution = this.map.getResolution();
-        var scale = 128000000 / Math.pow(2, zoom);
-        // 1280000 is an empirical value for a specific tile server, not yet figured out the right way to do this in general.
-        // This will probably be based on map.maxResolution.
-        var cellSize = new OpenLayers.Size(resolution*this.tileSize.w, resolution*this.tileSize.h);
-        var pX = Math.floor(((bounds.left + this.kaOrigin.lon) / cellSize.w) * this.tileSize.w);
-        var pY = -Math.floor(((bounds.top+this.kaOrigin.lat) / cellSize.h) * this.tileSize.h);
-        var url = this.getFullRequestString(
-                      { t: pY, 
-                        l: pX,
-                        s: scale
-                      });
-        return new OpenLayers.Tile.Image(this, position, bounds, 
-                                             url, this.tileSize);
-    },
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer.KaMap"
-});
diff --git a/public/lib/OpenLayers/Layer/Markers.js b/public/lib/OpenLayers/Layer/Markers.js
deleted file mode 100644 (file)
index 173b64d..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer.js
-/**
-* @class
-*/
-OpenLayers.Layer.Markers = Class.create();
-OpenLayers.Layer.Markers.prototype = 
-  Object.extend( new OpenLayers.Layer(), {
-    
-    /** internal marker list
-    * @type Array(OpenLayers.Marker) */
-    markers: null,
-    
-    /**
-    * @constructor
-    *
-    * @param {String} name
-    */
-    initialize: function(name) {
-        OpenLayers.Layer.prototype.initialize.apply(this, arguments);
-        this.markers = new Array();
-    },
-    
-    /**
-     * 
-     */
-    destroy: function() {
-        this.clearMarkers();
-        markers = null;
-        OpenLayers.Layer.prototype.destroy.apply(this, arguments);
-    },
-
-    
-    /** 
-    * @param {OpenLayers.Bounds} bounds
-    * @param {Boolean} zoomChanged
-    */
-    moveTo: function(bounds, zoomChanged) {
-        if (zoomChanged) {
-            this.redraw();
-        }
-    },
-    
-    /** WFS layer is never a base class. 
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-        return false;
-    },
-    
-    /**
-    * @param {OpenLayers.Marker} marker
-    */
-    addMarker: function(marker) {
-        this.markers.append(marker);
-        if (this.map && this.map.getExtent()) {
-            marker.map = this.map;
-            this.drawMarker(marker);
-        }
-    },
-
-    /**
-     * @param {OpenLayers.Marker} marker
-     */
-    removeMarker: function(marker) {
-        this.markers.remove(marker);
-        if ((marker.icon != null) && (marker.icon.imageDiv != null) &&
-            (marker.icon.imageDiv.parentNode == this.div) ) {
-            this.div.removeChild(marker.icon.imageDiv);    
-        }
-    },
-
-    /**
-     * 
-     */
-    clearMarkers: function() {
-        if (this.markers != null) {
-            while(this.markers.length > 0) {
-                this.removeMarker(this.markers[0]);
-            }
-        }
-    },
-
-    /** clear all the marker div's from the layer and then redraw all of them.
-    *    Use the map to recalculate new placement of markers.
-    */
-    redraw: function() {
-        for(i=0; i < this.markers.length; i++) {
-            this.drawMarker(this.markers[i]);
-        }
-    },
-
-    /** Calculate the pixel location for the marker, create it, and 
-    *    add it to the layer's div
-    * 
-    * @private 
-    * 
-    * @param {OpenLayers.Marker} marker
-    */
-    drawMarker: function(marker) {
-        var px = this.map.getLayerPxFromLonLat(marker.lonlat);
-        var markerImg = marker.draw(px);
-        if (!marker.drawn) {
-            this.div.appendChild(markerImg);
-            marker.drawn = true;
-        }
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer.Markers"
-});
diff --git a/public/lib/OpenLayers/Layer/Text.js b/public/lib/OpenLayers/Layer/Text.js
deleted file mode 100644 (file)
index 4c5df83..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer/Markers.js
-
-/**
-* @class
-*/
-OpenLayers.Layer.Text = Class.create();
-OpenLayers.Layer.Text.prototype = 
-  Object.extend( new OpenLayers.Layer.Markers(), {
-
-    /** store url of text file
-    * @type str */
-    location:null,
-
-    /** @type Array(OpenLayers.Feature) */
-    features: null,
-
-    /** @type OpenLayers.Feature */
-    selectedFeature: null,
-
-    /**
-    * @constructor
-    *
-    * @param {String} name
-    * @param {String} location
-    */
-    initialize: function(name, location) {
-        OpenLayers.Layer.Markers.prototype.initialize.apply(this, [name]);
-        this.location = location;
-        this.features = new Array();
-        new Ajax.Request(location, 
-          { method: 'get', onComplete:this.parseData.bind(this) } );
-    },
-
-    /**
-     * 
-     */
-    destroy: function() {
-        this.clearFeatures();
-        this.features = null;
-        OpenLayers.Layer.Markers.prototype.destroy.apply(this, arguments);
-    },
-    
-    /** WFS layer is never a base class. 
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-        return false;
-    },
-    
-    
-    /**
-     * @param {?} ajaxRequest
-     */
-    parseData: function(ajaxRequest) {
-        var text = ajaxRequest.responseText;
-        var lines = text.split('\n');
-        var columns;
-        // length - 1 to allow for trailing new line
-        for (var lcv = 0; lcv < (lines.length - 1); lcv++) {
-            var currLine = lines[lcv].replace(/^\s*/,'').replace(/\s*$/,'');
-        
-            if (currLine.charAt(0) != '#') { /* not a comment */
-            
-                if (!columns) {
-                    //First line is columns
-                    columns = currLine.split('\t');
-                } else {
-                    var vals = currLine.split('\t');
-                    var location = new OpenLayers.LonLat(0,0);
-                    var title; var url;
-                    var icon, iconSize, iconOffset;
-                    var set = false;
-                    for (var valIndex = 0; valIndex < vals.length; valIndex++) {
-                        if (vals[valIndex]) {
-                            if (columns[valIndex] == 'point') {
-                                var coords = vals[valIndex].split(',');
-                                location.lat = parseFloat(coords[0]);
-                                location.lon = parseFloat(coords[1]);
-                                set = true;
-                            } else if (columns[valIndex] == 'lat') {
-                                location.lat = parseFloat(vals[valIndex]);
-                                set = true;
-                            } else if (columns[valIndex] == 'lon') {
-                                location.lon = parseFloat(vals[valIndex]);
-                                set = true;
-                            } else if (columns[valIndex] == 'title')
-                                title = vals[valIndex];
-                            else if (columns[valIndex] == 'image' ||
-                                     columns[valIndex] == 'icon')
-                                url = vals[valIndex];
-                            else if (columns[valIndex] == 'iconSize') {
-                                var size = vals[valIndex].split(',');
-                                iconSize = new OpenLayers.Size(parseFloat(size[0]),
-                                                           parseFloat(size[1]));
-                            } else if (columns[valIndex] == 'iconOffset') {
-                                var offset = vals[valIndex].split(',');
-                                iconOffset = new OpenLayers.Pixel(parseFloat(offset[0]),
-                                                           parseFloat(offset[1]));
-                            } else if (columns[valIndex] == 'title') {
-                                title = vals[valIndex];
-                            } else if (columns[valIndex] == 'description') {
-                                description = vals[valIndex];
-                            }
-                        }
-                    }
-                    if (set) {
-                      var data = new Object();
-                      if (url != null) {
-                          data.icon = new OpenLayers.Icon(url, 
-                                                          iconSize, 
-                                                          iconOffset);
-                      } else {
-                          data.icon = OpenLayers.Marker.defaultIcon();
-
-                          //allows for the case where the image url is not 
-                          // specified but the size is. use a default icon
-                          // but change the size
-                          if (iconSize != null) {
-                              data.icon.setSize(iconSize);
-                          }
-                        
-                      }
-                      if ((title != null) && (description != null)) {
-                          data['popupContentHTML'] = '<h2>'+title+'</h2><p>'+description+'</p>';
-                      }
-                      var feature = new OpenLayers.Feature(this, location, data);
-                      this.features.append(feature);
-                      var marker = feature.createMarker();
-                      marker.events.register('click', feature, this.markerClick);
-                      this.addMarker(marker);
-                    }
-                }
-            }
-        }
-    },
-    
-    /**
-     * @param {Event} evt
-     */
-    markerClick: function(evt) {
-        sameMarkerClicked = (this == this.layer.selectedFeature);
-        this.layer.selectedFeature = (!sameMarkerClicked) ? this : null;
-        for(var i=0; i < this.layer.map.popups.length; i++) {
-            this.layer.map.removePopup(this.layer.map.popups[i]);
-        }
-        if (!sameMarkerClicked) {
-            this.layer.map.addPopup(this.createPopup()); 
-        }
-        Event.stop(evt);
-    },
-
-    /**
-     * 
-     */
-    clearFeatures: function() {
-        if (this.features != null) {
-            while(this.features.length > 0) {
-                var feature = this.features[0];
-                this.features.remove(feature);
-                feature.destroy();
-            }
-        }        
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Text"
-});
-     
-    
diff --git a/public/lib/OpenLayers/Layer/VirtualEarth.js b/public/lib/OpenLayers/Layer/VirtualEarth.js
deleted file mode 100644 (file)
index 19db248..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer.js\r
-\r
-// load VE map control script\r
-document.write("<script src='http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js'></script>");\r
-\r
-\r
-/**\r
- * @class \r
- */\r
-OpenLayers.Layer.VirtualEarth = Class.create();\r
-OpenLayers.Layer.VirtualEarth.prototype = \r
-  Object.extend( new OpenLayers.Layer(), {\r
-\r
-    /** @type Boolean */\r
-    viewPortLayer: true,\r
-\r
-    /** @type VEMap */\r
-    vemap: null,\r
-    \r
-    /**\r
-     * @constructor\r
-     * \r
-     * @param {str} name\r
-     */\r
-    initialize:function(name) {\r
-        OpenLayers.Layer.prototype.initialize.apply(this, arguments);\r
-    },\r
-\r
-    /** \r
-     * @param {OpenLayers.Map} map\r
-     */\r
-    setMap:function(map) {\r
-        OpenLayers.Layer.prototype.setMap.apply(this, arguments);\r
-\r
-        // once our layer has been added to the map, we can create the vemap\r
-        this.map.events.register("addlayer", this, this.loadVEMap);\r
-    },\r
-\r
-    /** Virtual Earth layer is always a base class. \r
-     * @type Boolean\r
-     */\r
-    isBaseLayer: function() {\r
-        return true;\r
-    },\r
-\r
-    /** \r
-     * @param {OpenLayers.Bounds} bounds\r
-     * @param {int} zoomChanged\r
-     */\r
-    moveTo:function(bounds,zoomChanged) {\r
-\r
-        if (this.vemap != null) {\r
-            var olCenter = this.map.getCenter();\r
-            var olZoom = this.map.getZoom();\r
-    \r
-            this.vemap.SetCenterAndZoom(new VELatLong(olCenter.lat, olCenter.lon),\r
-                                        olZoom + 1);\r
-        }\r
-    },\r
-\r
-\r
-    /**\r
-     * \r
-     */\r
-    loadVEMap:function() {\r
-        // create div and set to same size as map\r
-        var veDiv = OpenLayers.Util.createDiv(this.name);\r
-        var sz = this.map.getSize();\r
-        veDiv.style.width = sz.w;\r
-        veDiv.style.height = sz.h;\r
-        this.div.appendChild(veDiv);\r
-\r
-        // create VEMap, hide nav controls\r
-        this.vemap = new VEMap(this.name);\r
-        this.vemap.LoadMap();\r
-        this.vemap.HideDashboard();\r
-\r
-        // catch pans and zooms from VE Map\r
-        this.vemap.AttachEvent("onendcontinuouspan", \r
-                               this.catchPanZoom.bindAsEventListener(this)); \r
-        this.vemap.AttachEvent("onendzoom", \r
-                               this.catchPanZoom.bindAsEventListener(this)); \r
-        \r
-\r
-    },\r
-\r
-    /**\r
-     * @param {event} e\r
-     */\r
-    catchPanZoom: function(e) { \r
-        var veCenter = this.vemap.GetCenter();\r
-        var veZoom = this.vemap.GetZoomLevel();\r
-        \r
-        var olCenter = new OpenLayers.LonLat(veCenter.Longitude,\r
-                                             veCenter.Latitude);\r
-                                             \r
-        this.map.setCenter(olCenter, veZoom - 1);\r
-        \r
-    },\r
-\r
-\r
-    /** @final @type String */\r
-    CLASS_NAME: "OpenLayers.Layer.VirtualEarth"\r
-});
\ No newline at end of file
diff --git a/public/lib/OpenLayers/Layer/WFS.js b/public/lib/OpenLayers/Layer/WFS.js
deleted file mode 100644 (file)
index 6885b30..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer/Grid.js
-// @require: OpenLayers/Layer/Markers.js
-/**
-* @class
-*/
-OpenLayers.Layer.WFS = Class.create();
-OpenLayers.Layer.WFS.prototype = 
-  Object.extend(new OpenLayers.Layer.Grid(),
-    Object.extend(new OpenLayers.Layer.Markers(), {
-
-    /** @type Object */
-    featureClass: OpenLayers.Feature.WFS,
-
-    /** @final @type hash */
-    DEFAULT_PARAMS: { service: "WFS",
-                      version: "1.0.0",
-                      request: "GetFeature",
-                      typename: "docpoint"
-                    },
-
-    /**
-    * @constructor
-    *
-    * @param {str} name
-    * @param {str} url
-    * @param {hash} params
-    * @param {Object} featureClass
-    */
-    initialize: function(name, url, params, featureClass) {
-        if (featureClass != null) this.featureClass = featureClass;
-        
-        var newArguments = new Array();
-        if (arguments.length > 0) {
-            //uppercase params
-            params = OpenLayers.Util.upperCaseObject(params);
-            newArguments.push(name, url, params);
-        }
-        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
-        OpenLayers.Layer.Markers.prototype.initialize.apply(this, newArguments);
-    
-        if (arguments.length > 0) {
-            OpenLayers.Util.applyDefaults(
-                           this.params, 
-                           OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
-                           );
-        }
-    },    
-    
-
-    /**
-     * 
-     */
-    destroy: function() {
-        OpenLayers.Layer.Grid.prototype.destroy.apply(this, arguments);
-        OpenLayers.Layer.Markers.prototype.destroy.apply(this, arguments);
-    },
-    
-    /** 
-    * @param {OpenLayers.Bounds} bounds
-    * @param {Boolean} zoomChanged
-    */
-    moveTo: function(bounds, zoomChanged) {
-        OpenLayers.Layer.Grid.prototype.moveTo.apply(this, arguments);
-        OpenLayers.Layer.Markers.prototype.moveTo.apply(this, arguments);
-    },
-    
-    /** WFS layer is never a base class. 
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-        return false;
-    },
-    
-    /**
-    * @param {String} name
-    * @param {hash} params
-    *
-    * @returns A clone of this OpenLayers.Layer.WMS, with the passed-in
-    *          parameters merged in.
-    * @type OpenLayers.Layer.WMS
-    */
-    clone: function (name, params) {
-        var mergedParams = {}
-        Object.extend(mergedParams, this.params);
-        Object.extend(mergedParams, params);
-        var obj = new OpenLayers.Layer.WFS(name, this.url, mergedParams);
-        obj.setTileSize(this.tileSize);
-        return obj;
-    },
-
-    /**
-    * addTile creates a tile, initializes it (via 'draw' in this case), and 
-    * adds it to the layer div. 
-    *
-    * @param {OpenLayers.Bounds} bounds
-    *
-    * @returns The added OpenLayers.Tile.WFS
-    * @type OpenLayers.Tile.WFS
-    */
-    addTile:function(bounds, position) {
-        url = this.getFullRequestString(
-                     { BBOX:bounds.toBBOX() });
-
-        return new OpenLayers.Tile.WFS(this, position, bounds, 
-                                           url, this.tileSize);
-    },
-
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer.WFS"
-}
-)
-);
diff --git a/public/lib/OpenLayers/Layer/WMS.js b/public/lib/OpenLayers/Layer/WMS.js
deleted file mode 100644 (file)
index d0e21f7..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer/Grid.js
-/**
-* @class
-*/
-OpenLayers.Layer.WMS = Class.create();
-OpenLayers.Layer.WMS.prototype = 
-  Object.extend( new OpenLayers.Layer.Grid(), {
-
-    /** @final @type hash */
-    DEFAULT_PARAMS: { service: "WMS",
-                      version: "1.1.1",
-                      request: "GetMap",
-                      styles: "",
-                      exceptions: "application/vnd.ogc.se_inimage",
-                      format: "image/jpeg"
-                     },
-
-    /**
-    * @constructor
-    *
-    * @param {str} name
-    * @param {str} url
-    * @param {hash} params
-    */
-    initialize: function(name, url, params) {
-        var newArguments = new Array();
-        if (arguments.length > 0) {
-            //uppercase params
-            params = OpenLayers.Util.upperCaseObject(params);
-            newArguments.push(name, url, params);
-        }
-        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
-        
-        if (arguments.length > 0) {
-            OpenLayers.Util.applyDefaults(
-                           this.params, 
-                           OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
-                           );
-        }
-    },    
-
-    
-    /** WFS layer is never a base class. 
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-        return (this.params.TRANSPARENT != 'true');
-    },
-    
-    /**
-    * @param {String} name
-    * @param {hash} params
-    *
-    * @returns A clone of this OpenLayers.Layer.WMS, with the passed-in
-    *          parameters merged in.
-    * @type OpenLayers.Layer.WMS
-    */
-    clone: function (name, params) {
-        var mergedParams = {};
-        Object.extend(mergedParams, this.params);
-        Object.extend(mergedParams, params);
-        var obj = new OpenLayers.Layer.WMS(name, this.url, mergedParams);
-        obj.setTileSize(this.tileSize);
-        return obj;
-    },
-
-    /**
-    * addTile creates a tile, initializes it (via 'draw' in this case), and 
-    * adds it to the layer div. 
-    *
-    * @param {OpenLayers.Bounds} bounds
-    *
-    * @returns The added OpenLayers.Tile.Image
-    * @type OpenLayers.Tile.Image
-    */
-    addTile:function(bounds,position) {
-        url = this.getFullRequestString(
-                     {BBOX:bounds.toBBOX(),
-                      WIDTH:this.tileSize.w,
-                      HEIGHT:this.tileSize.h});
-        
-        return new OpenLayers.Tile.Image(this, position, bounds, 
-                                             url, this.tileSize);
-    },
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer.WMS"
-});
diff --git a/public/lib/OpenLayers/Layer/WMS/Untiled.js b/public/lib/OpenLayers/Layer/WMS/Untiled.js
deleted file mode 100644 (file)
index 4486c4f..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer/Grid.js
-/**
-* @class
-*/
-OpenLayers.Layer.WMS.Untiled = Class.create();
-OpenLayers.Layer.WMS.Untiled.prototype = 
-  Object.extend( new OpenLayers.Layer.Grid(), {
-
-    /** @final @type hash */
-    DEFAULT_PARAMS: { service: "WMS",
-                      version: "1.1.1",
-                      request: "GetMap",
-                      styles: "",
-                      exceptions: "application/vnd.ogc.se_inimage",
-                      format: "image/jpeg"
-                     },
-
-    /**
-    * @constructor
-    *
-    * @param {str} name
-    * @param {str} url
-    * @param {hash} params
-    */
-    initialize: function(name, url, params) {
-        var newArguments = new Array();
-        if (arguments.length > 0) {
-            //uppercase params
-            params = OpenLayers.Util.upperCaseObject(params);
-            newArguments.push(name, url, params);
-        }
-        OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments);
-        
-        if (arguments.length > 0) {
-            OpenLayers.Util.applyDefaults(
-                           this.params, 
-                           OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS)
-                           );
-        }
-    },    
-
-    
-    /** WFS layer is never a base class. 
-     * @type Boolean
-     */
-    isBaseLayer: function() {
-        return (this.params.TRANSPARENT != true);
-    },
-    
-    /**
-    * @param {String} name
-    * @param {hash} params
-    *
-    * @returns A clone of this OpenLayers.Layer.WMS, with the passed-in
-    *          parameters merged in.
-    * @type OpenLayers.Layer.WMS
-    */
-    clone: function (name, params) {
-        var mergedParams = {};
-        Object.extend(mergedParams, this.params);
-        Object.extend(mergedParams, params);
-        var obj = new OpenLayers.Layer.WMS(name, this.url, mergedParams);
-        obj.setTileSize(this.tileSize);
-        return obj;
-    },
-
-    /**
-    * addTile creates a tile, initializes it (via 'draw' in this case), and 
-    * adds it to the layer div. 
-    *
-    * @param {OpenLayers.Bounds} bounds
-    *
-    * @returns The added OpenLayers.Tile.Image
-    * @type OpenLayers.Tile.Image
-    */
-    addTile:function(bounds,position) {
-        url = this.getFullRequestString(
-                     {BBOX:bounds.toBBOX(),
-                      WIDTH:this.map.getSize().w,
-                      HEIGHT:this.map.getSize().h});
-        
-        return new OpenLayers.Tile.Image(this, position, bounds, 
-                                             url, this.map.getSize());
-    },
-    moveTo:function(bounds,zoomChanged, minor) {
-        if (!minor) {
-            this.div.innerHTML = "";
-            tile = this.addTile(bounds, new OpenLayers.Pixel(-parseInt(this.map.layerContainerDiv.style.left), -parseInt(this.map.layerContainerDiv.style.top)));
-            tile.draw();
-        }
-    },
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Layer.WMS.Untiled"
-});
diff --git a/public/lib/OpenLayers/Layer/Yahoo.js b/public/lib/OpenLayers/Layer/Yahoo.js
deleted file mode 100644 (file)
index eb9fab7..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Layer.js\r
-\r
-// load Yahoo map control script\r
-document.write("<script src='http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers'></script>");\r
-\r
-/**\r
- * @class\r
- */\r
-OpenLayers.Layer.Yahoo = Class.create();\r
-OpenLayers.Layer.Yahoo.prototype = Object.extend( new OpenLayers.Layer(), {\r
-\r
-    /** @type Boolean */\r
-    viewPortLayer: true,\r
-\r
-    /** @type GMap2 gmap stores the Google Map element */\r
-    ymap:null,\r
-   \r
-    /** @type Boolean */\r
-    dragging:false,\r
-    \r
-    /** \r
-     * @constructor\r
-     * \r
-     * @param {String} name\r
-     */\r
-    initialize: function(name) {\r
-        OpenLayers.Layer.prototype.initialize.apply(this, [name]);\r
-    },\r
-    \r
-     /** \r
-     * @param {OpenLayers.Map} map\r
-     */\r
-    setMap:function(map) {\r
-        OpenLayers.Layer.prototype.setMap.apply(this, arguments);\r
-\r
-        // once our layer has been added to the map, we can create the vemap\r
-        this.map.events.register("addlayer", this, this.loadYMap);\r
-    },\r
-\r
-    /** Yahoo layer is always a base class.\r
-     * @type Boolean\r
-     */\r
-    isBaseLayer: function() {\r
-        return true;\r
-    },\r
-    \r
-    /** \r
-     * @param {OpenLayers.Bounds} bounds\r
-     * @param {int} zoomChanged\r
-     */\r
-    moveTo:function(bounds,zoomChanged) {\r
-\r
-        if ((this.ymap != null) && (!this.dragging)) {\r
-\r
-            var olCenter = this.map.getCenter();\r
-            var yCenter = this.getYMapCenter();\r
-            \r
-            var olZoom = this.map.getZoom();\r
-            var yZoom = this.ymap.getZoomLevel();\r
-            \r
-            if ((!olCenter.equals(yCenter)) || (( 16 - olZoom) != yZoom)) {\r
-                this.ymap.drawZoomAndCenter(new YGeoPoint(olCenter.lat, olCenter.lon), \r
-                                    16 - olZoom);\r
-            }\r
-        }\r
-    },\r
-\r
-    /**\r
-     * \r
-     */\r
-    loadYMap:function() {\r
-        // create div and set to same size as map\r
-        var yDiv = OpenLayers.Util.createDiv(this.name);\r
-        var sz = this.map.getSize();\r
-        yDiv.style.width = sz.w;\r
-        yDiv.style.height = sz.h;\r
-        this.div.appendChild(yDiv);\r
-\r
-        // create GMap, hide nav controls\r
-        this.ymap = new YMap(this.div);\r
-\r
-        // catch pans and zooms from GMap\r
-        YEvent.Capture(this.ymap, \r
-                       EventsList.endPan, \r
-                       this.catchPanZoom, \r
-                       this); \r
-\r
-        // catch pans and zooms from GMap\r
-        YEvent.Capture(this.ymap, \r
-                       EventsList.endAutoPan, \r
-                       this.catchPanZoom, \r
-                       this); \r
-\r
-\r
-        // attach to the drag start and end and we´ll set a flag so that\r
-        //  we dont get recursivity. this is because the events fall through\r
-        //  the gmaps div and into the main layer div\r
-        YEvent.Capture(this.ymap, \r
-                       EventsList.startPan, \r
-                       this.dragStart,\r
-                       this); \r
-\r
-    },\r
-\r
-    /** \r
-     * @private\r
-     */\r
-    dragStart: function() {\r
-        this.dragging = true;\r
-    },\r
-    \r
-    /**\r
-     * @private \r
-     * \r
-     * @param {event} e\r
-     */\r
-    catchPanZoom: function(e) { \r
-        this.dragging = false;\r
-\r
-        var olCenter = this.getYMapCenter();\r
-        var yZoom = this.ymap.getZoomLevel();\r
-\r
-        this.map.setCenter(olCenter, 16 - yZoom);\r
-        \r
-    },\r
-\r
-    /**\r
-     * @private\r
-     * \r
-     * @returns An OpenLayers.LonLat with the center of the ymap, or null if \r
-     *           the YMap has not been centered yet\r
-     * @type OpenLayers.LonLat\r
-     */\r
-    getYMapCenter:function() {\r
-        var olCenter = null;\r
-        var yCenter = this.ymap.getCenterLatLon();\r
-        if (yCenter != null) {\r
-            olCenter = new OpenLayers.LonLat(yCenter.Lon, yCenter.Lat);\r
-        }\r
-        return olCenter;\r
-    },\r
\r
-    \r
-    /** @final @type String */\r
-    CLASS_NAME: "OpenLayers.Layer.Yahoo"\r
-});\r
diff --git a/public/lib/OpenLayers/Map.js b/public/lib/OpenLayers/Map.js
deleted file mode 100644 (file)
index 2591757..0000000
+++ /dev/null
@@ -1,574 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Util.js
-/**
-* @class
-*
-*
-*/
-
-OpenLayers.Map = Class.create();
-OpenLayers.Map.prototype = {
-    // Hash: base z-indexes for different classes of thing 
-    Z_INDEX_BASE: { Layer: 100, Popup: 200, Control: 1000 },
-
-    // Array: supported application event types
-    EVENT_TYPES: [ 
-        "addlayer", "removelayer", "movestart", "move", "moveend",
-        "zoomend", "layerchanged", "popupopen", "popupclose",
-        "addmarker", "removemarker", "clearmarkers", "mouseover",
-        "mouseout", "mousemove", "dragstart", "drag", "dragend" ],
-
-    // int: zoom levels, used to draw zoom dragging control and limit zooming
-    maxZoomLevel: 16,
-
-    // OpenLayers.Bounds
-    maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
-
-    /* projection */
-    projection: "EPSG:4326",
-
-    /** @type OpenLayers.Size */
-    size: null,
-
-    // float
-    maxResolution: 1.40625, // degrees per pixel 
-                            // Default is whole world in 256 pixels, from GMaps
-
-    // DOMElement: the div that our map lives in
-    div: null,
-
-    // HTMLDivElement: the map's view port             
-    viewPortDiv: null,
-
-    // HTMLDivElement: the map's layer container
-    layerContainerDiv: null,
-
-    // Array(OpenLayers.Layer): ordered list of layers in the map
-    layers: null,
-
-    // Array(OpenLayers.Control)
-    controls: null,
-
-    // Array(OpenLayers.Popup)
-    popups: null,
-
-    // OpenLayers.LonLat
-    center: null,
-
-    // int
-    zoom: null,
-
-    // OpenLayers.Events
-    events: null,
-
-    // OpenLayers.Pixel
-    mouseDragStart: null,
-
-    /** @type OpenLayers.Layer */
-    baseLayer: null,
-
-    /**
-    * @param {DOMElement} div
-    */    
-    initialize: function (div, options) {
-        Object.extend(this, options);
-
-        this.div = div = $(div);
-
-        // the viewPortDiv is the outermost div we modify
-        var id = div.id + "_OpenLayers_ViewPort";
-        this.viewPortDiv = OpenLayers.Util.createDiv(id, null, null, null,
-                                                     "relative", null,
-                                                     "hidden");
-        this.viewPortDiv.style.width = "100%";
-        this.viewPortDiv.style.height = "100%";
-        this.div.appendChild(this.viewPortDiv);
-
-        // the layerContainerDiv is the one that holds all the layers
-        id = div.id + "_OpenLayers_Container";
-        this.layerContainerDiv = OpenLayers.Util.createDiv(id);
-        this.viewPortDiv.appendChild(this.layerContainerDiv);
-
-        this.events = new OpenLayers.Events(this, div, this.EVENT_TYPES);
-
-        this.updateSize();
-        // make the entire maxExtent fix in zoom level 0 by default
-        if (this.maxResolution == null || this.maxResolution == "auto") {
-            this.maxResolution = Math.max(
-                this.maxExtent.getWidth()  / this.size.w,
-                this.maxExtent.getHeight() / this.size.h );
-        }
-        // update the internal size register whenever the div is resized
-        this.events.register("resize", this, this.updateSize);
-
-        this.layers = [];
-        
-        if (!this.controls) {
-            this.controls = [];
-            this.addControl(new OpenLayers.Control.MouseDefaults());
-            this.addControl(new OpenLayers.Control.PanZoom());
-        }
-
-        this.popups = new Array();
-
-        // always call map.destroy()
-        Event.observe(window, 'unload', 
-            this.destroy.bindAsEventListener(this));
-    },
-
-    /**
-    * @private
-    */
-    destroy:function() {
-        if (this.layers != null) {
-            for(var i=0; i< this.layers.length; i++) {
-                this.layers[i].destroy();
-            } 
-            this.layers = null;
-        }
-        if (this.controls != null) {
-            for(var i=0; i< this.controls.length; i++) {
-                this.controls[i].destroy();
-            } 
-            this.controls = null;
-        }
-    },
-
-    /**
-    * @param {OpenLayers.Layer} layer
-    */    
-    addLayer: function (layer) {
-        layer.setMap(this);
-        layer.div.style.overflow = "";
-        layer.div.style.zIndex = this.Z_INDEX_BASE['Layer'] + this.layers.length;
-
-        if (layer.viewPortLayer) {
-            this.viewPortDiv.appendChild(layer.div);
-        } else {
-            this.layerContainerDiv.appendChild(layer.div);
-        }
-        this.layers.push(layer);
-
-        // hack hack hack - until we add a more robust layer switcher,
-        //   which is able to determine which layers are base layers and 
-        //   which are not (and put baselayers in a radiobutton group and 
-        //   other layers in checkboxes) this seems to be the most straight-
-        //   forward way of dealing with this. 
-        //
-        if (layer.isBaseLayer()) {
-            this.baseLayer = layer;
-        }
-        this.events.triggerEvent("addlayer");
-    },
-
-    /** Removes a layer from the map by removing its visual element (the 
-     *   layer.div property), then removing it from the map's internal list 
-     *   of layers, setting the layer's map property to null. 
-     * 
-     *   a "removelayer" event is triggered.
-     * 
-     *   very worthy of mention is that simply removing a layer from a map
-     *   will not cause the removal of any popups which may have been created
-     *   by the layer. this is due to the fact that it was decided at some
-     *   point that popups would not belong to layers. thus there is no way 
-     *   for us to know here to which layer the popup belongs.
-     *    
-     *     A simple solution to this is simply to call destroy() on the layer.
-     *     the default OpenLayers.Layer class's destroy() function
-     *     automatically takes care to remove itself from whatever map it has
-     *     been attached to. 
-     * 
-     *     The correct solution is for the layer itself to register an 
-     *     event-handler on "removelayer" and when it is called, if it 
-     *     recognizes itself as the layer being removed, then it cycles through
-     *     its own personal list of popups, removing them from the map.
-     * 
-     * @param {OpenLayers.Layer} layer
-     */
-    removeLayer: function(layer) {
-        this.layerContainerDiv.removeChild(layer.div);
-        this.layers.remove(layer);
-        layer.map = null;
-        this.events.triggerEvent("removelayer");
-    },
-
-    /**
-    * @param {Array(OpenLayers.Layer)} layers
-    */    
-    addLayers: function (layers) {
-        for (var i = 0; i <  layers.length; i++) {
-            this.addLayer(layers[i]);
-        }
-    },
-
-    /**
-    * @param {OpenLayers.Control} control
-    * @param {OpenLayers.Pixel} px
-    */    
-    addControl: function (control, px) {
-        control.map = this;
-        this.controls.push(control);
-        var div = control.draw(px);
-        if (div) {
-            div.style.zIndex = this.Z_INDEX_BASE['Control'] +
-                                this.controls.length;
-            this.viewPortDiv.appendChild( div );
-        }
-    },
-
-    /** 
-    * @param {OpenLayers.Popup} popup
-    */
-    addPopup: function(popup) {
-        popup.map = this;
-        this.popups.push(popup);
-        var popupDiv = popup.draw();
-        if (popupDiv) {
-            popupDiv.style.zIndex = this.Z_INDEX_BASE['Popup'] +
-                                    this.popups.length;
-            this.layerContainerDiv.appendChild(popupDiv);
-        }
-    },
-    
-    /** 
-    * @param {OpenLayers.Popup} popup
-    */
-    removePopup: function(popup) {
-        this.popups.remove(popup);
-        if (popup.div) {
-            this.layerContainerDiv.removeChild(popup.div);
-        }
-        popup.map = null;
-    },
-        
-    /**
-    * @return {float}
-    */
-    getResolution: function () {
-        // return degrees per pixel
-        return this.maxResolution / Math.pow(2, this.zoom);
-    },
-
-    /**
-    * @return {int}
-    */
-    getZoom: function () {
-        return this.zoom;
-    },
-
-    /**
-    * @returns {OpenLayers.Size}
-    */
-    getSize: function () {
-        return this.size;
-    },
-
-    /**
-    * @private
-    */
-    updateSize: function() {
-        this.size = new OpenLayers.Size(
-                    this.div.clientWidth, this.div.clientHeight);
-        this.events.div.offsets = null;
-        // Workaround for the fact that hidden elements return 0 for size.
-        if (this.size.w == 0 && this.size.h == 0) {
-            var dim = Element.getDimensions(this.div);
-            this.size.w = dim.width;
-            this.size.h = dim.height;
-        }
-        if (this.size.w == 0 && this.size.h == 0) {
-            this.size.w = parseInt(this.div.style.width);
-            this.size.h = parseInt(this.div.style.height);
-       }
-    },
-
-    /**
-    * @return {OpenLayers.LonLat}
-    */
-    getCenter: function () {
-        return this.center;
-    },
-
-    /**
-    * @return {OpenLayers.Bounds}
-    */
-    getExtent: function () {
-        if (this.center) {
-            var res = this.getResolution();
-            var size = this.getSize();
-            var w_deg = size.w * res;
-            var h_deg = size.h * res;
-            return new OpenLayers.Bounds(
-                this.center.lon - w_deg / 2, 
-                this.center.lat - h_deg / 2,
-                this.center.lon + w_deg / 2,
-                this.center.lat + h_deg / 2);
-        } else {
-            return null;
-        }
-    },
-
-    /**
-    * @return {OpenLayers.Bounds}
-    */
-    getFullExtent: function () {
-        return this.maxExtent;
-    },
-    
-    getZoomLevels: function() {
-        return this.maxZoomLevel;
-    },
-
-    /**
-    * @param {OpenLayers.Bounds} bounds
-    *
-    * @return {int}
-    */
-    getZoomForExtent: function (bounds) {
-        var size = this.getSize();
-        var width = bounds.getWidth();
-        var height = bounds.getHeight();
-        var deg_per_pixel = (width > height ? width / size.w : height / size.h);
-        var zoom = Math.log(this.maxResolution / deg_per_pixel) / Math.log(2);
-        return Math.floor(Math.min(Math.max(zoom, 0), this.getZoomLevels())); 
-    },
-    
-    /**
-     * @param {OpenLayers.Pixel} layerPx
-     * 
-     * @returns px translated into view port pixel coordinates
-     * @type OpenLayers.Pixel
-     * @private
-     */
-    getViewPortPxFromLayerPx:function(layerPx) {
-        var viewPortPx = layerPx.copyOf();
-
-        viewPortPx.x += parseInt(this.layerContainerDiv.style.left);
-        viewPortPx.y += parseInt(this.layerContainerDiv.style.top);
-
-        return viewPortPx;
-    },
-    
-    /**
-     * @param {OpenLayers.Pixel} viewPortPx
-     * 
-     * @returns px translated into view port pixel coordinates
-     * @type OpenLayers.Pixel
-     * @private
-     */
-    getLayerPxFromViewPortPx:function(viewPortPx) {
-        var layerPx = viewPortPx.copyOf();
-
-        layerPx.x -= parseInt(this.layerContainerDiv.style.left);
-        layerPx.y -= parseInt(this.layerContainerDiv.style.top);
-
-        return layerPx;
-    },
-
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    *
-    * @return {OpenLayers.LonLat} 
-    */
-    getLonLatFromLayerPx: function (px) {
-       //adjust for displacement of layerContainerDiv
-       px = this.getViewPortPxFromLayerPx(px);
-       return this.getLonLatFromViewPortPx(px);         
-    },
-    
-    /**
-    * @param {OpenLayers.Pixel} viewPortPx
-    *
-    * @returns An OpenLayers.LonLat which is the passed-in view port
-    *          OpenLayers.Pixel, translated into lon/lat given the 
-    *          current extent and resolution
-    * @type OpenLayers.LonLat
-    * @private
-    */
-    getLonLatFromViewPortPx: function (viewPortPx) {
-        var center = this.getCenter();        //map center lon/lat
-        var res  = this.getResolution();
-        var size = this.getSize();
-    
-        var delta_x = viewPortPx.x - (size.w / 2);
-        var delta_y = viewPortPx.y - (size.h / 2);
-        
-        return new OpenLayers.LonLat(center.lon + delta_x * res ,
-                                     center.lat - delta_y * res); 
-    },
-
-    // getLonLatFromPixel is a convenience function for the API
-    /**
-    * @param {OpenLayers.Pixel} pixel
-    *
-    * @returns An OpenLayers.LonLat corresponding to the given
-    *          OpenLayers.Pixel, translated into lon/lat using the 
-    *          current extent and resolution
-    * @type OpenLayers.LonLat
-    */
-    getLonLatFromPixel: function (px) {
-       return this.getLonLatFromViewPortPx(px);
-    },
-
-    /**
-    * @param {OpenLayers.LonLat} lonlat
-    *
-    * @returns An OpenLayers.Pixel which is the passed-in OpenLayers.LonLat, 
-    *          translated into layer pixels given the current extent 
-    *          and resolution
-    * @type OpenLayers.Pixel
-    */
-    getLayerPxFromLonLat: function (lonlat) {
-       //adjust for displacement of layerContainerDiv
-       var px = this.getViewPortPxFromLonLat(lonlat);
-       return this.getLayerPxFromViewPortPx(px);         
-    },
-
-    /**
-    * @param {OpenLayers.LonLat} lonlat
-    *
-    * @returns An OpenLayers.Pixel which is the passed-in OpenLayers.LonLat, 
-    *          translated into view port pixels given the current extent 
-    *          and resolution
-    * @type OpenLayers.Pixel
-    * @private
-    */
-    getViewPortPxFromLonLat: function (lonlat) {
-        var resolution = this.getResolution();
-        var extent = this.getExtent();
-        return new OpenLayers.Pixel(
-                       Math.round(1/resolution * (lonlat.lon - extent.left)),
-                       Math.round(1/resolution * (extent.top - lonlat.lat))
-                       );    
-    },
-
-    // getLonLatFromPixel is a convenience function for the API
-    /**
-    * @param {OpenLayers.LonLat} lonlat
-    *
-    * @returns An OpenLayers.Pixel corresponding to the OpenLayers.LonLat
-    *          translated into view port pixels using the current extent 
-    *          and resolution
-    * @type OpenLayers.Pixel
-    */
-    getPixelFromLonLat: function (lonlat) {
-       return this.getViewPortPxFromLonLat(lonlat);
-    },
-
-    /**
-    * @param {OpenLayers.LonLat} lonlat
-    * @param {int} zoom
-    */
-    setCenter: function (lonlat, zoom, minor) {
-        if (this.center) { // otherwise there's nothing to move yet
-            this.moveLayerContainer(lonlat);
-        }
-        this.center = lonlat.copyOf();
-        var zoomChanged = null;
-        if (zoom != null && zoom != this.zoom 
-            && zoom >= 0 && zoom <= this.getZoomLevels()) {
-            zoomChanged = (this.zoom == null ? 0 : this.zoom);
-            this.zoom = zoom;
-        }
-
-        if (!minor) this.events.triggerEvent("movestart");
-        this.moveToNewExtent(zoomChanged, minor);
-        if (!minor) this.events.triggerEvent("moveend");
-    },
-    
-    /**
-     * ZOOM TO BOUNDS FUNCTION
-     * @private
-     */
-    moveToNewExtent: function (zoomChanged, minor) {
-        if (zoomChanged != null) { // reset the layerContainerDiv's location
-            this.layerContainerDiv.style.left = "0px";
-            this.layerContainerDiv.style.top  = "0px";
-
-            //redraw popups
-            for (var i = 0; i < this.popups.length; i++) {
-                this.popups[i].updatePosition();
-            }
-
-        }
-        var bounds = this.getExtent();
-        for (var i = 0; i < this.layers.length; i++) {
-            this.layers[i].moveTo(bounds, (zoomChanged != null), minor);
-        }
-        this.events.triggerEvent("move");
-        if (zoomChanged != null)
-            this.events.triggerEvent("zoomend", 
-                {oldZoom: zoomChanged, newZoom: this.zoom});
-    },
-
-    /**
-     * zoomIn
-     * Increase zoom level by one.
-     * @param {int} zoom
-     */
-    zoomIn: function() {
-        if (this.zoom != null && this.zoom <= this.getZoomLevels()) {
-            this.zoomTo( this.zoom += 1 );
-        }
-    },
-    
-    /**
-     * zoomTo
-     * Set Zoom To int
-     * @param {int} zoom
-     */
-    zoomTo: function(zoom) {
-       if (zoom >= 0 && zoom <= this.getZoomLevels()) {
-            var oldZoom = this.zoom;
-            this.zoom = zoom;
-            this.moveToNewExtent(oldZoom);
-       }
-    },
-
-    /**
-     * zoomOut
-     * Decrease zoom level by one.
-     * @param {int} zoom
-     */
-    zoomOut: function() {
-        if (this.zoom != null && this.zoom > 0) {
-            this.zoomTo( this.zoom - 1 );
-        }
-    },
-    
-    /**
-     * zoomToFullExtent
-     * Zoom to the full extent and recenter.
-     */
-    zoomToFullExtent: function() {
-        var fullExtent = this.getFullExtent();
-        this.setCenter(
-          new OpenLayers.LonLat((fullExtent.left+fullExtent.right)/2,
-                                (fullExtent.bottom+fullExtent.top)/2),
-          this.getZoomForExtent(fullExtent)
-        );
-    },
-
-    /**
-    * @param {OpenLayers.LonLat} lonlat
-    * @private
-    */
-    moveLayerContainer: function (lonlat) {
-        var container = this.layerContainerDiv;
-        var resolution = this.getResolution();
-
-        var deltaX = Math.round((this.center.lon - lonlat.lon) / resolution);
-        var deltaY = Math.round((this.center.lat - lonlat.lat) / resolution);
-     
-        var offsetLeft = parseInt(container.style.left);
-        var offsetTop  = parseInt(container.style.top);
-
-        container.style.left = (offsetLeft + deltaX) + "px";
-        container.style.top  = (offsetTop  - deltaY) + "px";
-    },
-
-    CLASS_NAME: "OpenLayers.Map"
-};
diff --git a/public/lib/OpenLayers/Marker.js b/public/lib/OpenLayers/Marker.js
deleted file mode 100644 (file)
index 0640295..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**
-* @class
-*/
-OpenLayers.Marker = Class.create();
-OpenLayers.Marker.prototype = {
-    
-    /** @type OpenLayers.Icon */
-    icon: null,
-
-    /** location of object
-    * @type OpenLayers.LonLat */
-    lonlat: null,
-    
-    /** @type OpenLayers.Events*/
-    events: null,
-    
-    /** @type OpenLayers.Map */
-    map: null,
-    
-    /** 
-    * @constructor
-    *
-    * @param {OpenLayers.Icon} icon
-    * @param {OpenLayers.LonLat lonlat
-    */
-    initialize: function(lonlat, icon) {
-        this.lonlat = lonlat;
-        this.icon = (icon) ? icon : OpenLayers.Marker.defaultIcon();
-
-        this.events = new OpenLayers.Events(this, this.icon.imageDiv, null);
-    },
-    
-    destroy: function() {
-        this.map = null;
-        
-        if (this.icon != null) {
-            this.icon.destroy();
-            this.icon = null;
-        }
-    },
-    
-    /** 
-    * @param {OpenLayers.Pixel} px
-    * 
-    * @return A new DOM Image with this marker´s icon set at the 
-    *         location passed-in
-    * @type DOMElement
-    */
-    draw: function(px) {
-        return this.icon.draw(px);
-    }, 
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    */
-    moveTo: function (px) {
-        if ((px != null) && (this.icon != null)) {
-            this.icon.moveTo(px);
-        }            
-    },
-
-    /**
-     * @returns Whether or not the marker is currently visible on screen.
-     * @type Boolean
-     */
-    onScreen:function() {
-        
-        var onScreen = false;
-        if (this.map) {
-            var screenBounds = this.map.getExtent();
-            onScreen = screenBounds.contains(this.lonlat.lon, this.lonlat.lat);
-        }    
-        return onScreen;
-    },
-    
-    /**
-     * @param {float} inflate
-     */
-    inflate: function(inflate) {
-        if (this.icon) {
-            var newSize = new OpenLayers.Size(this.icon.size.w * inflate,
-                                              this.icon.size.h * inflate);
-            this.icon.setSize(newSize);
-        }        
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Marker"
-};
-
-
-/** 
- * @returns A default OpenLayers.Icon to use for a marker
- * @type OpenLayers.Icon
- */
-OpenLayers.Marker.defaultIcon = function() {
-    var url = OpenLayers.Util.getImagesLocation() + "marker.png";
-    var size = new OpenLayers.Size(21, 25);
-    var calculateOffset = function(size) {
-                    return new OpenLayers.Pixel(-(size.w/2), -size.h);
-                 };
-
-    return new OpenLayers.Icon(url, size, null, calculateOffset);        
-};
-    
-
diff --git a/public/lib/OpenLayers/Popup.js b/public/lib/OpenLayers/Popup.js
deleted file mode 100644 (file)
index 1491109..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**\r
-* @class\r
-*/\r
-OpenLayers.Popup = Class.create();\r
-\r
-OpenLayers.Popup.count = 0;\r
-OpenLayers.Popup.WIDTH = 200;\r
-OpenLayers.Popup.HEIGHT = 200;\r
-OpenLayers.Popup.COLOR = "white";\r
-OpenLayers.Popup.OPACITY = 1;\r
-OpenLayers.Popup.BORDER = "0px";\r
-\r
-OpenLayers.Popup.prototype = {\r
-\r
-    /** @type OpenLayers.Events*/\r
-    events: null,\r
-    \r
-    /** @type String */\r
-    id: "",\r
-\r
-    /** @type OpenLayers.LonLat */\r
-    lonlat: null,\r
-\r
-    /** @type DOMElement */\r
-    div: null,\r
-\r
-    /** @type OpenLayers.Size*/\r
-    size: null,    \r
-\r
-    /** @type String */\r
-    contentHTML: "",\r
-    \r
-    /** @type String */\r
-    backgroundColor: "",\r
-    \r
-    /** @type float */\r
-    opacity: "",\r
-\r
-    /** @type String */\r
-    border: "",\r
-\r
-    /** this gets set in Map.js when the popup is added to the map\r
-     * @type OpenLayers.Map */\r
-    map: null,\r
-\r
-    /** \r
-    * @constructor\r
-    * \r
-    * @param {String} id\r
-    * @param {OpenLayers.LonLat} lonlat\r
-    * @param {OpenLayers.Size} size\r
-    * @param {String} contentHTML\r
-    */\r
-    initialize:function(id, lonlat, size, contentHTML) {\r
-        OpenLayers.Popup.count += 1;\r
-        this.id = (id != null) ? id : "Popup" + OpenLayers.Popup.count;\r
-        this.lonlat = lonlat;\r
-        this.size = (size != null) ? size \r
-                                  : new OpenLayers.Size(\r
-                                                   OpenLayers.Popup.WIDTH,\r
-                                                   OpenLayers.Popup.HEIGHT);\r
-        if (contentHTML != null) { \r
-             this.contentHTML = contentHTML;\r
-        }\r
-        this.backgroundColor = OpenLayers.Popup.COLOR;\r
-        this.opacity = OpenLayers.Popup.OPACITY;\r
-        this.border = OpenLayers.Popup.BORDER;\r
-\r
-        this.div = OpenLayers.Util.createDiv(this.id + "_div", null, null, \r
-                                             null, null, null, "hidden");\r
-\r
-        this.events = new OpenLayers.Events(this, this.div, null);\r
-    },\r
-\r
-    /** \r
-    */\r
-    destroy: function() {\r
-        if (this.map != null) {\r
-            this.map.removePopup(this);\r
-        }\r
-        this.div = null;\r
-        this.map = null;\r
-    },\r
-\r
-    /** \r
-    * @param {OpenLayers.Pixel} px\r
-    * \r
-    * @returns Reference to a div that contains the drawn popup\r
-    * @type DOMElement\r
-    */\r
-    draw: function(px) {\r
-        if (px == null) {\r
-            if ((this.lonlat != null) && (this.map != null)) {\r
-                px = this.map.getLayerPxFromLonLat(this.lonlat);\r
-            }\r
-        }\r
-        \r
-        this.setSize();\r
-        this.setBackgroundColor();\r
-        this.setOpacity();\r
-        this.setBorder();\r
-        this.setContentHTML();\r
-        this.moveTo(px);\r
-\r
-        return this.div;\r
-    },\r
-\r
-    /** \r
-     * if the popup has a lonlat and its map members set, \r
-     *  then have it move itself to its proper position\r
-     */\r
-    updatePosition: function() {\r
-        if ((this.lonlat) && (this.map)) {\r
-                var px = this.map.getLayerPxFromLonLat(this.lonlat);\r
-                this.moveTo(px);            \r
-        }\r
-    },\r
-\r
-    /**\r
-    * @param {OpenLayers.Pixel} px\r
-    */\r
-    moveTo: function(px) {\r
-        if ((px != null) && (this.div != null)) {\r
-            this.div.style.left = px.x + "px";\r
-            this.div.style.top = px.y + "px";\r
-        }\r
-    },\r
-\r
-    /**\r
-     * @returns Boolean indicating whether or not the popup is visible\r
-     * @type Boolean\r
-     */\r
-    visible: function() {\r
-        return Element.visible(this.div);\r
-    },\r
-\r
-    /**\r
-     * \r
-     */\r
-    toggle: function() {\r
-        Element.toggle(this.div);\r
-    },\r
-\r
-    /**\r
-     *\r
-     */\r
-    show: function() {\r
-        Element.show(this.div);\r
-    },\r
-\r
-    /**\r
-     *\r
-     */\r
-    hide: function() {\r
-        Element.hide(this.div);\r
-    },\r
-\r
-    /**\r
-    * @param {OpenLayers.Size} size\r
-    */\r
-    setSize:function(size) { \r
-        if (size != undefined) {\r
-            this.size = size; \r
-        }\r
-        \r
-        if (this.div != null) {\r
-            this.div.style.width = this.size.w;\r
-            this.div.style.height = this.size.h;\r
-        }\r
-    },  \r
-\r
-    /**\r
-    * @param {String} color\r
-    */\r
-    setBackgroundColor:function(color) { \r
-        if (color != undefined) {\r
-            this.backgroundColor = color; \r
-        }\r
-        \r
-        if (this.div != null) {\r
-            this.div.style.backgroundColor = this.backgroundColor;\r
-        }\r
-    },  \r
-    \r
-    /**\r
-    * @param {float} opacity\r
-    */\r
-    setOpacity:function(opacity) { \r
-        if (opacity != undefined) {\r
-            this.opacity = opacity; \r
-        }\r
-        \r
-        if (this.div != null) {\r
-            // for Mozilla and Safari\r
-            this.div.style.opacity = this.opacity;\r
-\r
-            // for IE\r
-            this.div.style.filter = 'alpha(opacity=' + this.opacity*100 + ')';\r
-        }\r
-    },  \r
-    \r
-    /**\r
-    * @param {int} border\r
-    */\r
-    setBorder:function(border) { \r
-        if (border != undefined) {\r
-            this.border = border;\r
-        }\r
-        \r
-        if (this.div != null) {\r
-            this.div.style.border = this.border;\r
-        }\r
-    },      \r
-    \r
-    /**\r
-    * @param {String} contentHTML\r
-    */\r
-    setContentHTML:function(contentHTML) {\r
-        if (contentHTML != null) {\r
-            this.contentHTML = contentHTML;\r
-        }\r
-        \r
-        if (this.div != null) {\r
-            this.div.innerHTML = this.contentHTML;\r
-        }    \r
-    },\r
-\r
-    CLASS_NAME: "OpenLayers.Popup"\r
-};\r
diff --git a/public/lib/OpenLayers/Popup/Anchored.js b/public/lib/OpenLayers/Popup/Anchored.js
deleted file mode 100644 (file)
index 90db912..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Popup.js\r
-\r
-/**\r
-* @class\r
-*/\r
-OpenLayers.Popup.Anchored = Class.create();\r
-OpenLayers.Popup.Anchored.prototype =\r
-   Object.extend( new OpenLayers.Popup(), {\r
-\r
-    /** "lr", "ll", "tr", "tl" - relative position of the popup.\r
-     * @type String */\r
-    relativePosition: null,\r
-\r
-    /** Object which must have expose a 'size' (OpenLayers.Size) and \r
-     *                                 'offset' (OpenLayers.Pixel) \r
-     * @type Object */\r
-    anchor: null,\r
-\r
-    /** \r
-    * @constructor\r
-    * \r
-    * @param {String} id\r
-    * @param {OpenLayers.LonLat} lonlat\r
-    * @param {OpenLayers.Size} size\r
-    * @param {String} contentHTML\r
-    * @param {Object} anchor  Object which must expose a \r
-    *                         - 'size' (OpenLayers.Size) and \r
-    *                         - 'offset' (OpenLayers.Pixel) \r
-    *                         (this is generally an OpenLayers.Icon)\r
-    */\r
-    initialize:function(id, lonlat, size, contentHTML, anchor) {\r
-        var newArguments = new Array(id, lonlat, size, contentHTML);\r
-        OpenLayers.Popup.prototype.initialize.apply(this, newArguments);\r
-\r
-        this.anchor = (anchor != null) ? anchor \r
-                                       : { size: new OpenLayers.Size(0,0),\r
-                                           offset: new OpenLayers.Pixel(0,0)};\r
-    },\r
-\r
-    /** \r
-    * @param {OpenLayers.Pixel} px\r
-    * \r
-    * @returns Reference to a div that contains the drawn popup\r
-    * @type DOMElement\r
-    */\r
-    draw: function(px) {\r
-        if (px == null) {\r
-            if ((this.lonlat != null) && (this.map != null)) {\r
-                px = this.map.getLayerPxFromLonLat(this.lonlat);\r
-            }\r
-        }\r
-        \r
-        //calculate relative position\r
-        this.relativePosition = this.calculateRelativePosition(px);\r
-        \r
-        return OpenLayers.Popup.prototype.draw.apply(this, arguments);\r
-    },\r
-    \r
-    /** \r
-     * @private\r
-     * \r
-     * @param {OpenLayers.Pixel} px\r
-     * \r
-     * @returns The relative position ("br" "tr" "tl "bl") at which the popup\r
-     *           should be placed\r
-     * @type String\r
-     */\r
-    calculateRelativePosition:function(px) {\r
-        var lonlat = this.map.getLonLatFromLayerPx(px);        \r
-        \r
-        var extent = this.map.getExtent();\r
-        var quadrant = extent.determineQuadrant(lonlat);\r
-        \r
-        return OpenLayers.Bounds.oppositeQuadrant(quadrant);\r
-    }, \r
-\r
-    /**\r
-    * @param {OpenLayers.Pixel} px\r
-    */\r
-    moveTo: function(px) {\r
-        \r
-        var newPx = this.calculateNewPx(px);\r
-        \r
-        var newArguments = new Array(newPx);        \r
-        OpenLayers.Popup.prototype.moveTo.apply(this, newArguments);\r
-    },\r
-    \r
-    /**\r
-    * @param {OpenLayers.Size} size\r
-    */\r
-    setSize:function(size) { \r
-        OpenLayers.Popup.prototype.setSize.apply(this, arguments);\r
-\r
-        if ((this.lonlat) && (this.map)) {\r
-            var px = this.map.getLayerPxFromLonLat(this.lonlat);\r
-            this.moveTo(px);\r
-        }\r
-    },  \r
-    \r
-    /** \r
-     * @private \r
-     * \r
-     * @param {OpenLayers.Pixel} px\r
-     * \r
-     * @returns The the new px position of the popup on the screen\r
-     *           relative to the passed-in px\r
-     * @type OpenLayers.Pixel\r
-     */\r
-    calculateNewPx:function(px) {\r
-        var newPx = px.offset(this.anchor.offset);\r
-\r
-        var top = (this.relativePosition.charAt(0) == 't');\r
-        newPx.y += (top) ? -this.size.h : this.anchor.size.h;\r
-        \r
-        var left = (this.relativePosition.charAt(1) == 'l');\r
-        newPx.x += (left) ? -this.size.w : this.anchor.size.w;\r
-\r
-        return newPx;   \r
-    },\r
-\r
-    CLASS_NAME: "OpenLayers.Popup.Anchored"\r
-});\r
diff --git a/public/lib/OpenLayers/Popup/AnchoredBubble.js b/public/lib/OpenLayers/Popup/AnchoredBubble.js
deleted file mode 100644 (file)
index 352086d..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Popup/Anchored.js\r
-\r
-/**\r
-* @class\r
-*/\r
-OpenLayers.Popup.AnchoredBubble = Class.create();\r
-\r
-//Border space for the rico corners\r
-OpenLayers.Popup.AnchoredBubble.CORNER_SIZE = 5;\r
-\r
-OpenLayers.Popup.AnchoredBubble.prototype =\r
-   Object.extend( new OpenLayers.Popup.Anchored(), {\r
-\r
-    /** @type DOMElement */\r
-    contentDiv:null,\r
-\r
-    \r
-    /** \r
-    * @constructor\r
-    * \r
-    * @param {String} id\r
-    * @param {OpenLayers.LonLat} lonlat\r
-    * @param {OpenLayers.Size} size\r
-    * @param {String} contentHTML\r
-    * @param {Object} anchor  Object which must expose a \r
-    *                         - 'size' (OpenLayers.Size) and \r
-    *                         - 'offset' (OpenLayers.Pixel) \r
-    *                         (this is generally an OpenLayers.Icon)\r
-    */\r
-    initialize:function(id, lonlat, size, contentHTML, anchor) {\r
-        OpenLayers.Popup.Anchored.prototype.initialize.apply(this, arguments);\r
-    },\r
-\r
-    /** \r
-    * @param {OpenLayers.Pixel} px\r
-    * \r
-    * @returns Reference to a div that contains the drawn popup\r
-    * @type DOMElement\r
-    */\r
-    draw: function(px) {\r
-        \r
-        OpenLayers.Popup.Anchored.prototype.draw.apply(this, arguments);\r
-\r
-        // make the content Div\r
-        var contentSize = this.size.copyOf();\r
-        contentSize.h -= (2 * OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);\r
-\r
-        var id = this.div.id + "-contentDiv";\r
-        this.contentDiv = OpenLayers.Util.createDiv(id, null, contentSize, \r
-                                                    null, "relative", null,\r
-                                                    "hidden");\r
-        this.div.appendChild(this.contentDiv);\r
-        this.setContentHTML();\r
-        \r
-        this.setRicoCorners(true);\r
-        \r
-        //set the popup color and opacity           \r
-        this.setBackgroundColor(); \r
-        this.setOpacity();\r
-\r
-        return this.div;\r
-    },\r
-\r
-    /**\r
-    * @param {OpenLayers.Size} size\r
-    */\r
-    setSize:function(size) { \r
-        OpenLayers.Popup.Anchored.prototype.setSize.apply(this, arguments);\r
-        \r
-        if (this.contentDiv != null) {\r
-\r
-            var contentSize = this.size.copyOf();\r
-            contentSize.h -= (2 * OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);\r
-    \r
-            this.contentDiv.style.height = contentSize.h + "px";\r
-            \r
-            //size has changed - must redo corners        \r
-            this.setRicoCorners(false);\r
-        }\r
-    },  \r
-\r
-    /**\r
-     * @param {String} color\r
-     */\r
-    setBackgroundColor:function(color) { \r
-        if (color != undefined) {\r
-            this.backgroundColor = color; \r
-        }\r
-        \r
-        if (this.div != null) {\r
-            if (this.contentDiv != null) {\r
-                this.div.style.background = "transparent";\r
-                Rico.Corner.changeColor(this.contentDiv, this.backgroundColor);\r
-            }\r
-        }\r
-    },  \r
-    \r
-    /**\r
-     * @param {float} opacity\r
-     */\r
-    setOpacity:function(opacity) { \r
-        if (opacity != undefined) {\r
-            this.opacity = opacity; \r
-        }\r
-        \r
-        if (this.div != null) {\r
-            if (this.contentDiv != null) {\r
-            Rico.Corner.changeOpacity(this.contentDiv, this.opacity);\r
-            }\r
-        }\r
-    },  \r
\r
-    /** Bubble Popups can not have a border\r
-     * \r
-     * @param {int} border\r
-     */\r
-    setBorder:function(border) { \r
-        this.border = 0;\r
-    },      \r
\r
-    /**\r
-     * @param {String} contentHTML\r
-     */\r
-    setContentHTML:function(contentHTML) {\r
-        if (contentHTML != null) {\r
-            this.contentHTML = contentHTML;\r
-        }\r
-        \r
-        if (this.contentDiv != null) {\r
-            this.contentDiv.innerHTML = this.contentHTML;\r
-        }    \r
-    },\r
-    \r
-    /** \r
-     * @private\r
-     * \r
-     * @param {Boolean} firstTime Is this the first time the corners are being\r
-     *                             rounded?\r
-     * \r
-     * update the rico corners according to the popup's\r
-     * current relative postion \r
-     */\r
-    setRicoCorners:function(firstTime) {\r
-    \r
-        var corners = this.getCornersToRound(this.relativePosition);\r
-        var options = {corners: corners,\r
-                         color: this.backgroundColor,\r
-                       bgColor: "transparent",\r
-                         blend: false};\r
-\r
-        if (firstTime) {\r
-            Rico.Corner.round(this.div, options);\r
-        } else {\r
-            Rico.Corner.reRound(this.contentDiv, options);\r
-            //set the popup color and opacity\r
-            this.setBackgroundColor(); \r
-            this.setOpacity();\r
-        }\r
-    },\r
-\r
-    /** \r
-     * @private\r
-     * \r
-     * @returns The proper corners string ("tr tl bl br") for rico\r
-     *           to round\r
-     * @type String\r
-     */\r
-    getCornersToRound:function() {\r
-\r
-        var corners = ['tl', 'tr', 'bl', 'br'];\r
-\r
-        //we want to round all the corners _except_ the opposite one. \r
-        var corner = OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);\r
-        corners.remove(corner);\r
-\r
-        return corners.join(" ");\r
-    },\r
-\r
-    CLASS_NAME: "OpenLayers.Popup.AnchoredBubble"\r
-});\r
diff --git a/public/lib/OpenLayers/SingleFile.js b/public/lib/OpenLayers/SingleFile.js
deleted file mode 100644 (file)
index 857c484..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-_OPENLAYERS_SFL_=true
-
diff --git a/public/lib/OpenLayers/Tile.js b/public/lib/OpenLayers/Tile.js
deleted file mode 100644 (file)
index eca7c0b..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/*
- * OpenLayers.Tile 
- *
- * @class This is a class designed to designate a single tile, however
- * it is explicitly designed to do relatively little. Tiles store information
- * about themselves -- such as the URL that they are related to, and their 
- * size - but do not add themselves to the layer div automatically, for 
- * example.
- */
-OpenLayers.Tile = Class.create();
-OpenLayers.Tile.prototype = {
-    
-    /** @type OpenLayers.Layer */
-    layer: null,
-    
-    /** @type String url of the request */
-    url:null,
-
-    /** @type OpenLayers.Bounds */
-    bounds:null,
-    
-    /** @type OpenLayers.Size */
-    size:null,
-    
-    /** Top Left pixel of the tile
-    * @type OpenLayers.Pixel */
-    position:null,
-
-    /**
-    * @constructor
-    *
-    * @param {OpenLayers.Layer} layer
-    * @param {OpenLayers.Pixel} position
-    * @param {OpenLayers.Bounds} bounds
-    * @param {String} url
-    * @param {OpenLayers.Size} size
-    */   
-    initialize: function(layer, position, bounds, url, size) {
-        if (arguments.length > 0) {
-            this.layer = layer;
-            this.position = position;
-            this.bounds = bounds;
-            this.url = url;
-            this.size = size;
-        }
-    },
-    
-    /** nullify references to prevent circular references and memory leaks
-    */
-    destroy:function() {
-        this.layer  = null;
-        this.bounds = null;
-        this.size = null;
-    },
-
-    /**
-    */
-    draw:function() {
-
-    // HACK HACK - should we make it a standard to put this sort of warning
-    //             message in functions that are supposed to be overridden?
-    //
-    //        Log.warn(this.CLASS_NAME + ": draw() not implemented");
-
-    },
-
-    /** remove this tile from the ds
-    */
-    remove:function() {
-    },
-
-    /**
-    * @type OpenLayers.Pixel
-    */
-    getPosition: function() {
-        return this.position;
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Tile"
-};
-
diff --git a/public/lib/OpenLayers/Tile/Image.js b/public/lib/OpenLayers/Tile/Image.js
deleted file mode 100644 (file)
index 6a386f8..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Tile.js
-/**
-* @class
-*/
-OpenLayers.Tile.Image = Class.create();
-OpenLayers.Tile.Image.prototype = 
-  Object.extend( new OpenLayers.Tile(), {
-    
-    /** @type DOMElement img */
-    imgDiv:null,
-
-    /** 
-    * @constructor
-    *
-    * @param {OpenLayers.Grid} layer
-    * @param {OpenLayers.Pixel} position
-    * @param {OpenLayers.Bounds} bounds
-    * @param {String} url
-    * @param {OpenLayers.Size} size
-    */
-    initialize: function(layer, position, bounds, url, size) {
-        OpenLayers.Tile.prototype.initialize.apply(this, arguments);
-    },
-
-    destroy: function() {
-        if ((this.imgDiv != null) && (this.imgDiv.parentNode == this.layer.div)) {
-            this.layer.div.removeChild(this.imgDiv);
-        }
-        this.imgDiv = null;
-        OpenLayers.Tile.prototype.destroy.apply(this, arguments);
-    },
-
-    /**
-    */
-    draw:function(transparent) {
-        if (false) { // don't actually use the alpha PNG hack right now
-                     // it has a fiercely bad effect on IE6's performance
-            // if (transparent) {
-            this.imgDiv = OpenLayers.Util.createAlphaImageDiv(null,
-                                                           this.position,
-                                                           this.size,
-                                                           this.url,
-                                                           "absolute");
-        } else {
-            this.imgDiv = OpenLayers.Util.createImage(null,
-                                                      this.position,
-                                                      this.size,
-                                                      this.url,
-                                                      "absolute");
-        }
-        this.layer.div.appendChild(this.imgDiv);
-    },
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Tile.Image"
-  }
-);
diff --git a/public/lib/OpenLayers/Tile/WFS.js b/public/lib/OpenLayers/Tile/WFS.js
deleted file mode 100644 (file)
index 486d138..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-// @require: OpenLayers/Tile.js
-/**
-* @class
-*/
-OpenLayers.Tile.WFS = Class.create();
-OpenLayers.Tile.WFS.prototype = 
-  Object.extend( new OpenLayers.Tile(), {
-
-    /** @type Array(OpenLayers.Feature)*/ 
-    features: null,
-
-
-    /** 
-    * @constructor
-    *
-    * @param {OpenLayers.Layer} layer
-    * @param {OpenLayers.Pixel} position
-    * @param {OpenLayers.Bounds} bounds
-    * @param {String} url
-    * @param {OpenLayers.Size} size
-    */
-    initialize: function(layer, position, bounds, url, size) {
-        OpenLayers.Tile.prototype.initialize.apply(this, arguments);
-        
-        this.features = new Array();
-    },
-
-    /**
-     * 
-     */
-    destroy: function() {
-        for(var i=0; i < this.features.length; i++) {
-            this.features[i].destroy();
-        }
-        OpenLayers.Tile.prototype.destroy.apply(this, arguments);
-    },
-
-    /**
-    */
-    draw:function() {
-        this.loadFeaturesForRegion(this.requestSuccess);        
-    },
-
-    
-    /** get the full request string from the ds and the tile params 
-    *     and call the AJAX loadURL(). 
-    *
-    *     input are function pointers for what to do on success and failure.
-    * 
-    * @param {function} success
-    * @param {function} failure
-    */
-    loadFeaturesForRegion:function(success, failure) {
-
-        if (!this.loaded) {
-        
-            if (this.url != "") {
-        
-                // TODO: Hmmm, this stops multiple loads of the data when a 
-                //       result isn't immediately retrieved, but it's hacky. 
-                //       Do it better.
-                this.loaded = true; 
-                OpenLayers.loadURL(this.url, null, this, success, failure);
-            }
-        }
-    },
-    
-    /** Return from AJAX request
-    *
-    * @param {} request
-    */
-    requestSuccess:function(request) {
-        var doc = request.responseXML;
-        
-        if (!doc || request.fileType!="XML") {
-            doc = OpenLayers.parseXMLString(request.responseText);
-        }
-        
-        var resultFeatures = doc.getElementsByTagName("featureMember");
-            
-        //clear old featureList
-        this.features = new Array();
-
-        for (var i=0; i < resultFeatures.length; i++) {
-        
-            var feature = new this.layer.featureClass(this.layer, 
-                                                      resultFeatures[i]);
-            this.features.append(feature);
-        }
-        
-    },
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Tile.WFS"
-  }
-);
-
diff --git a/public/lib/OpenLayers/Util.js b/public/lib/OpenLayers/Util.js
deleted file mode 100644 (file)
index 9270821..0000000
+++ /dev/null
@@ -1,1010 +0,0 @@
-/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full
- * text of the license. */
-/**
-* @class
-*/
-OpenLayers.Util = new Object();
-
-
-
-
-/**
-* @class This class represents a screen coordinate, in x and y coordinates
-*/
-OpenLayers.Pixel = Class.create();
-OpenLayers.Pixel.prototype = {
-    
-    /** @type float */
-    x: 0.0,
-
-    /** @type float */
-    y: 0.0,
-    
-    /** 
-    * @constructor
-    *
-    * @param {float} x
-    * @param {float} y
-    */
-    initialize: function(x, y) {
-        this.x = x;
-        this.y = y;
-    },
-    
-    /**
-    * @return string representation of Pixel. ex: "x=200.4,y=242.2"
-    * @type str
-    */
-    toString:function() {
-        return ("x=" + this.x + ",y=" + this.y);
-    },
-
-    /**
-    * @type OpenLayers.Pixel
-    */
-    copyOf:function() {
-        return new OpenLayers.Pixel(this.x, this.y); 
-    },
-    
-    /** 
-    * @param {OpenLayers.Pixel} px
-    * 
-    * @return whether or not the point passed in as parameter is equal to this
-    *          note that if px passed in is null, returns false
-    * @type bool
-    */
-    equals:function(px) {
-        var equals = false;
-        if (px != null) {
-            equals = ((this.x == px.x) && (this.y == px.y));
-        }
-        return equals;
-    },
-
-    /**
-    * @param {int} x
-    * @param {int} y
-    * 
-    * @return a new Pixel with this pixel's x&y augmented by the 
-    *         values passed in.
-    * @type OpenLayers.Pixel
-    */
-    add:function(x, y) {
-        return new OpenLayers.Pixel(this.x + x, this.y + y);
-    },
-
-    /**
-    * @param {OpenLayers.Pixel} px
-    * 
-    * @return a new Pixel with this pixel's x&y augmented by the 
-    *         x&y values of the pixel passed in.
-    * @type OpenLayers.Pixel
-    */
-    offset:function(px) {
-        return this.add(px.x, px.y);                
-    },
-    
-    /** @final @type str */
-    CLASS_NAME: "OpenLayers.Pixel"
-};
-
-
-/**
-* @class This class represents a width and height pair
-*/
-OpenLayers.Size = Class.create();
-OpenLayers.Size.prototype = {
-
-    /** @type float */
-    w: 0.0,
-    
-    /** @type float */
-    h: 0.0,
-
-
-    /** 
-    * @constructor
-    * 
-    * @param {float} w 
-    * @param {float} h 
-    */
-    initialize: function(w, h) {
-        this.w = w;
-        this.h = h;
-    },
-
-    /** 
-    * @return String representation of OpenLayers.Size object. 
-    *         (ex. <i>"w=55,h=66"</i>)
-    * @type String
-    */
-    toString:function() {
-        return ("w=" + this.w + ",h=" + this.h);
-    },
-
-    /** 
-    * @return New OpenLayers.Size object with the same w and h values
-    * @type OpenLayers.Size
-    */
-    copyOf:function() {
-        return new OpenLayers.Size(this.w, this.h);
-    },
-
-    /** 
-    * @param {OpenLayers.Size} sz
-    * @returns Boolean value indicating whether the passed-in OpenLayers.Size 
-    *          object has the same w and h components as this
-    *          note that if sz passed in is null, returns false
-    *
-    * @type bool
-    */
-    equals:function(sz) {
-        var equals = false;
-        if (sz != null) {
-            equals = ((this.w == sz.w) && (this.h == sz.h));
-        }
-        return equals;
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Size"
-};
-
-/**
-* @class This class represents a longitude and latitude pair
-*/
-OpenLayers.LonLat = Class.create();
-OpenLayers.LonLat.prototype = {
-
-    /** @type float */
-    lon: 0.0,
-    
-    /** @type float */
-    lat: 0.0,
-
-    /**
-    * @constructor
-    * 
-    * @param {float} lon
-    * @param {float} lat
-    */
-    initialize: function(lon, lat) {
-        this.lon = lon;
-        this.lat = lat;
-    },
-    
-    /** 
-    * @return String representation of OpenLayers.LonLat object. 
-    *         (ex. <i>"lon=5,lat=42"</i>)
-    * @type String
-    */
-    toString:function() {
-        return ("lon=" + this.lon + ",lat=" + this.lat);
-    },
-
-    /** 
-    * @return Shortened String representation of OpenLayers.LonLat object. 
-    *         (ex. <i>"5, 42"</i>)
-    * @type String
-    */
-    toShortString:function() {
-        return (this.lon + ", " + this.lat);
-    },
-
-    /** 
-    * @return New OpenLayers.LonLat object with the same lon and lat values
-    * @type OpenLayers.LonLat
-    */
-    copyOf:function() {
-        return new OpenLayers.LonLat(this.lon, this.lat);
-    },
-
-    /** 
-    * @param {float} lon
-    * @param {float} lat
-    *
-    * @return A new OpenLayers.LonLat object with the lon and lat passed-in
-    *         added to this's. 
-    * @type OpenLayers.LonLat
-    */
-    add:function(lon, lat) {
-        return new OpenLayers.LonLat(this.lon + lon, this.lat + lat);
-    },
-
-    /** 
-    * @param {OpenLayers.LonLat} ll
-    * @returns Boolean value indicating whether the passed-in OpenLayers.LonLat
-    *          object has the same lon and lat components as this
-    *          note that if ll passed in is null, returns false
-    *
-    * @type bool
-    */
-    equals:function(ll) {
-        var equals = false;
-        if (ll != null) {
-            equals = ((this.lon == ll.lon) && (this.lat == ll.lat));
-        }
-        return equals;
-    },
-    
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.LonLat"
-};
-
-/** Alternative constructor that builds a new OpenLayers.LonLat from a 
-*    parameter string
-* 
-* @constructor
-* 
-* @param {String} str Comma-separated Lon,Lat coordinate string. 
-*                     (ex. <i>"5,40"</i>)
-*
-* @returns New OpenLayers.LonLat object built from the passed-in String.
-* @type OpenLayers.LonLat
-*/
-OpenLayers.LonLat.fromString = function(str) {
-    var pair = str.split(",");
-    return new OpenLayers.LonLat(parseFloat(pair[0]), 
-                                 parseFloat(pair[1]));
-};
-
-
-
-
-/**
-* @class This class represents a bounding box. 
-*        Data stored as left, bottom, right, top floats
-*/
-OpenLayers.Bounds = Class.create();
-OpenLayers.Bounds.prototype = {
-
-    /** @type float */
-    left: 0.0,
-
-    /** @type float */
-    bottom: 0.0,
-
-    /** @type float */
-    right: 0.0,
-
-    /** @type float */
-    top: 0.0,    
-
-    /**
-    * @constructor
-    *
-    * @param {float} left
-    * @param {float} bottom
-    * @param {float} right
-    * @param {float} top
-    *
-    */
-    initialize: function(left, bottom, right, top) {
-        this.left = left;
-        this.bottom = bottom;
-        this.right = right;
-        this.top = top;
-    },
-
-    /**
-    * @returns A fresh copy of the bounds
-    * @type OpenLayers.Bounds
-    */
-    copyOf:function() {
-        return new OpenLayers.Bounds(this.left, this.bottom, 
-                                     this.right, this.top);
-    },
-
-    /** 
-    * @param {OpenLayers.Bounds} bounds
-    * @returns Boolean value indicating whether the passed-in OpenLayers.Bounds
-    *          object has the same left, right, top, bottom components as this
-    *           note that if bounds passed in is null, returns false
-    *
-    * @type bool
-    */
-    equals:function(bounds) {
-        var equals = false;
-        if (bounds != null) {
-            equals = ((this.left == bounds.left) && 
-                      (this.right == bounds.right) &&
-                      (this.top == bounds.top) && 
-                      (this.bottom == bounds.bottom));
-        }
-        return equals;
-    },
-
-    /** 
-    * @return String representation of OpenLayers.Bounds object. 
-    *         (ex.<i>"left-bottom=(5,42) right-top=(10,45)"</i>)
-    * @type String
-    */
-    toString:function(){
-        return ( "left-bottom=(" + this.left + "," + this.bottom + ")"
-                 + " right-top=(" + this.right + "," + this.top + ")" );
-    },
-
-    /** 
-    * @return Simple String representation of OpenLayers.Bounds object.
-    *         (ex. <i>"5,42,10,45"</i>)
-    * @type String
-    */
-    toBBOX:function() {
-        return (this.left + "," + this.bottom + ","
-                + this.right + "," + this.top);
-    },
-    
-    /**
-    * @returns The width of the bounds
-    * @type float
-    */
-    getWidth:function() {
-        return (this.right - this.left);
-    },
-
-    /**
-    * @returns The height of the bounds
-    * @type float
-    */
-    getHeight:function() {
-        return (this.top - this.bottom);
-    },
-
-    /**
-    * @returns An OpenLayers.Size which represents the size of the box
-    * @type OpenLayers.Size
-    */
-    getSize:function() {
-        return new OpenLayers.Size(this.getWidth(), this.getHeight());
-    },
-
-    /**
-    * @returns An OpenLayers.Pixel which represents the center of the bounds
-    * @type OpenLayers.Pixel
-    */
-    getCenterPixel:function() {
-        return new OpenLayers.Pixel( (this.left + this.right) / 2,
-                                     (this.bottom + this.top) / 2);
-    },
-
-    /**
-    * @returns An OpenLayers.LonLat which represents the center of the bounds
-    * @type OpenLayers.LonLat
-    */
-    getCenterLonLat:function() {
-        return new OpenLayers.LonLat( (this.left + this.right) / 2,
-                                      (this.bottom + this.top) / 2);
-    },
-
-    /**
-    * @param {float} x
-    * @param {float} y
-    *
-    * @returns A new OpenLayers.Bounds whose coordinates are the same as this, 
-    *          but shifted by the passed-in x and y values
-    * @type OpenLayers.Bounds
-    */
-    add:function(x, y){
-        return new OpenLayers.Box(this.left + x, this.bottom + y,
-                                  this.right + x, this.top + y);
-    },
-
-    /**
-    * @param {float} x
-    * @param {float} y
-    * @param {Boolean} inclusive Whether or not to include the border. 
-    *                            Default is true
-    *
-    * @return Whether or not the passed-in coordinates are within this bounds
-    * @type Boolean
-    */
-    contains:function(x, y, inclusive) {
-    
-        //set default
-        if (inclusive == null) {
-            inclusive = true;
-        }
-        
-        var contains = false;
-        if (inclusive) {
-            contains = ((x >= this.left) && (x <= this.right) && 
-                        (y >= this.bottom) && (y <= this.top));
-        } else {
-            contains = ((x > this.left) && (x < this.right) && 
-                        (y > this.bottom) && (y < this.top));
-        }              
-        return contains;
-    },
-    /**
-    * @param {OpenLayers.Bounds} bounds
-    * @param {Boolean} partial If true, only part of passed-in 
-    *                          OpenLayers.Bounds needs be within this bounds. 
-    *                          If false, the entire passed-in bounds must be
-    *                          within. Default is false
-    * @param {Boolean} inclusive Whether or not to include the border. 
-    *                            Default is true
-    *
-    * @return Whether or not the passed-in OpenLayers.Bounds object is 
-    *         contained within this bounds. 
-    * @type Boolean
-    */
-    containsBounds:function(bounds, partial, inclusive) {
-
-        //set defaults
-        if (partial == null) {
-            partial = false;
-        }
-        if (inclusive == null) {
-            inclusive = true;
-        }
-
-        var inLeft;
-        var inTop;
-        var inRight;
-        var inBottom;
-        
-        if (inclusive) {
-            inLeft = (bounds.left >= this.left) && (bounds.left <= this.right);
-            inTop = (bounds.top >= this.bottom) && (bounds.top <= this.top);
-            inRight= (bounds.right >= this.left) && (bounds.right <= this.right);
-            inBottom = (bounds.bottom >= this.bottom) && (bounds.bottom <= this.top);
-        } else {
-            inLeft = (bounds.left > this.left) && (bounds.left < this.right);
-            inTop = (bounds.top > this.bottom) && (bounds.top < this.top);
-            inRight= (bounds.right > this.left) && (bounds.right < this.right);
-            inBottom = (bounds.bottom > this.bottom) && (bounds.bottom < this.top);
-        }
-        
-        return (partial) ? (inTop || inBottom) && (inLeft || inRight )
-                         : (inTop && inLeft && inBottom && inRight);
-    },
-
-    /** 
-     * @param {OpenLayers.LonLat} lonlat
-     *
-     * @returns The quadrant ("br" "tr" "tl" "bl") of the bounds in which 
-     *           the coordinate lies.
-     * @type String
-     */
-    determineQuadrant: function(lonlat) {
-    
-        var quadrant = "";
-        var center = this.getCenterLonLat();
-        
-        quadrant += (lonlat.lat < center.lat) ? "b" : "t";
-        quadrant += (lonlat.lon < center.lon) ? "l" : "r";
-    
-        return quadrant; 
-    },
-
-    /** @final @type String */
-    CLASS_NAME: "OpenLayers.Bounds"
-};
-
-/** Alternative constructor that builds a new OpenLayers.Bounds from a 
-*    parameter string
-* 
-* @constructor
-* 
-* @param {String} str Comma-separated bounds string. (ex. <i>"5,42,10,45"</i>)
-*
-* @returns New OpenLayers.Bounds object built from the passed-in String.
-* @type OpenLayers.Bounds
-*/
-OpenLayers.Bounds.fromString = function(str) {
-    var bounds = str.split(",");
-    return OpenLayers.Bounds.fromArray(bounds);
-};
-
-/** Alternative constructor that builds a new OpenLayers.Bounds
-*    from an array
-* 
-* @constructor
-* 
-* @param {Array} bbox Array of bounds values (ex. <i>[5,42,10,45]</i>)
-*
-* @returns New OpenLayers.Bounds object built from the passed-in Array.
-* @type OpenLayers.Bounds
-*/
-OpenLayers.Bounds.fromArray = function(bbox) {
-    return new OpenLayers.Bounds(parseFloat(bbox[0]),
-                                 parseFloat(bbox[1]),
-                                 parseFloat(bbox[2]),
-                                 parseFloat(bbox[3]));
-};
-
-/** Alternative constructor that builds a new OpenLayers.Bounds
-*    from an OpenLayers.Size
-* 
-* @constructor
-* 
-* @param {OpenLayers.Size} size
-*
-* @returns New OpenLayers.Bounds object built with top and left set to 0 and
-*           bottom right taken from the passed-in OpenLayers.Size.
-* @type OpenLayers.Bounds
-*/
-OpenLayers.Bounds.fromSize = function(size) {
-    return new OpenLayers.Bounds(0,
-                                 size.h,
-                                 size.w,
-                                 0);
-};
-/**
- * @param {String} quadrant 
- * 
- * @returns The opposing quadrant ("br" "tr" "tl" "bl"). For Example, if 
- *           you pass in "bl" it returns "tr", if you pass in "br" it 
- *           returns "tl", etc.
- * @type String
- */
-OpenLayers.Bounds.oppositeQuadrant = function(quadrant) {
-    var opp = "";
-    
-    opp += (quadrant.charAt(0) == 't') ? 'b' : 't';
-    opp += (quadrant.charAt(1) == 'l') ? 'r' : 'l';
-    
-    return opp;
-};
-
-// Some other helpful things
-
-/**
-* @param {String} sStart
-* 
-* @returns Whether or not this string starts with the string passed in.
-* @type Boolean
-*/
-String.prototype.startsWith = function(sStart){
-    return (this.substr(0,sStart.length) == sStart);
-};
-
-/**
-* @returns A trimmed version of the string - all leading and 
-*          trailing spaces removed
-* @type String
-*/
-String.prototype.trim = function() {
-    
-    var b = 0;
-    while(this.substr(b,1) == " ") {
-        b++;
-    }
-    
-    var e = this.length - 1;
-    while(this.substr(e,1) == " ") {
-        e--;
-    }
-    
-    return this.substring(b, e+1);
-};
-
-/** Remove an object from an array. Iterates through the array
-*    to find the item, then removes it.
-*
-* @param {Object} item
-* 
-* @returns A reference to the array
-* @type Array
-*/
-Array.prototype.remove = function(item) {
-    for(var i=0; i < this.length; i++) {
-        if(this[i] == item) {
-            this.splice(i,1);
-            //break;more than once??
-        }
-    }
-    return this;
-}
-
-/**
-* @returns A fresh copy of the array
-* @type Array
-*/
-Array.prototype.copyOf = function() {
-  var copy = new Array();
-  for (var i = 0; i < this.length; i++) {
-      copy[i] = this[i];
-  }
-  return copy;
-};
-
-/**
-* @param  {Object} item
-*/
-Array.prototype.prepend = function(item) {
-    this.splice(0, 0, item);
-};
-
-/**
-* @param  {Object} item
-*/
-Array.prototype.append = function(item){
-    this[this.length] = item;
-};
-
-/**
-*/
-Array.prototype.clear = function() {
-    this.length = 0;
-};
-
-/**
-* @param {Object} element
-*
-* @returns The first index of the element in the array if found. Else returns -1
-* @type int
-*/
-Array.prototype.indexOf = function(element) {
-    var index = -1;
-    for(var i=0; i < this.length; i++) {
-        if (this[i] == element) {
-            index = i;
-            break;
-        }
-    }
-    return index;    
-}
-
-/**
- * @param {String} id
- * @param {OpenLayers.Pixel} px
- * @param {OpenLayers.Size} sz
- * @param {String} position
- * @param {String} border
- * @param {String} overflow
- */
-OpenLayers.Util.modifyDOMElement = function(element, id, px, sz, position, 
-                                            border, overflow) {
-
-    if (id) {
-        element.id = id;
-    }
-    if (px) {
-        element.style.left = px.x + "px";
-        element.style.top = px.y + "px";
-    }
-    if (sz) {
-        element.style.width = sz.w + "px";
-        element.style.height = sz.h + "px";
-    }
-    if (position) {
-        element.style.position = position;
-    }
-    if (border) {
-        element.style.border = border;
-    }
-    if (overflow) {
-        element.style.overflow = overflow;
-    }
-};
-
-/** 
-* zIndex is NOT set
-*
-* @param {String} id
-* @param {OpenLayers.Pixel} px
-* @param {OpenLayers.Size} sz
-* @param {String} imgURL
-* @param {String} position
-* @param {String} border
-* @param {String} overflow
-*
-* @returns A DOM Div created with the specified attributes.
-* @type DOMElement
-*/
-OpenLayers.Util.createDiv = function(id, px, sz, imgURL, position, 
-                                     border, overflow) {
-
-    var dom = document.createElement('div');
-
-    //set specific properties
-    dom.style.padding = "0";
-    dom.style.margin = "0";
-    if (imgURL) {
-        dom.style.backgroundImage = 'url(' + imgURL + ')';
-    }
-
-    //set generic properties
-    if (!id) {
-        id = "OpenLayersDiv" + (Math.random() * 10000 % 10000);
-    }
-    if (!position) {
-        position = "absolute";
-    }
-    OpenLayers.Util.modifyDOMElement(dom, id, px, sz, 
-                                     position, border, overflow);
-
-    return dom;
-};
-
-/** 
-* @param {String} id
-* @param {OpenLayers.Pixel} px
-* @param {OpenLayers.Size} sz
-* @param {String} imgURL
-* @param {String} position
-* @param {String} border
-*
-* @returns A DOM Image created with the specified attributes.
-* @type DOMElement
-*/
-OpenLayers.Util.createImage = function(id, px, sz, imgURL, position, border) {
-
-    image = document.createElement("img");
-
-    //set special properties
-    image.style.alt = id;
-    image.galleryImg = "no";
-    if (imgURL) {
-        image.src = imgURL;
-    }
-
-    //set generic properties
-    if (!id) {
-        id = "OpenLayersDiv" + (Math.random() * 10000 % 10000);
-    }
-    if (!position) {
-        position = "relative";
-    }
-    OpenLayers.Util.modifyDOMElement(image, id, px, sz, position, border);
-        
-    return image;
-};
-
-OpenLayers.Util.alphaHack = function() {
-    var arVersion = navigator.appVersion.split("MSIE");
-    var version = parseFloat(arVersion[1]);
-    
-    return ( (document.body.filters) &&
-                      (version >= 5.5) && (version < 7) );
-}
-
-/** 
-* @param {DOMElement} div Div containing Alpha-adjusted Image
-* @param {String} id
-* @param {OpenLayers.Pixel} px
-* @param {OpenLayers.Size} sz
-* @param {String} imgURL
-* @param {String} position
-* @param {String} border
-* @param {String} sizing 'crop', 'scale', or 'image'. Default is "scale"
-*/ 
-OpenLayers.Util.modifyAlphaImageDiv = function(div, id, px, sz, imgURL, 
-                                               position, border, sizing) {
-
-    OpenLayers.Util.modifyDOMElement(div, id, px, sz);
-
-    var img = div.childNodes[0];
-
-    if (imgURL) {
-        img.src = imgURL;
-    }
-    OpenLayers.Util.modifyDOMElement(img, div.id + "_innerImage", null, sz, 
-                                     "relative", border);
-
-    if (OpenLayers.Util.alphaHack()) {
-        div.style.display = "inline-block";
-        if (sizing == null) {
-            sizing = "scale";
-        }
-        div.style.filter = "progid:DXImageTransform.Microsoft" +
-                           ".AlphaImageLoader(src='" + img.src + "', " +
-                           "sizingMethod='" + sizing + "')";
-        img.style.filter = "progid:DXImageTransform.Microsoft" +
-                                ".Alpha(opacity=0)";
-    }
-};
-
-/** 
-* @param {String} id
-* @param {OpenLayers.Pixel} px
-* @param {OpenLayers.Size} sz
-* @param {String} imgURL
-* @param {String} position
-* @param {String} border
-* @param {String} sizing 'crop', 'scale', or 'image'. Default is "scale"
-*
-* @returns A DOM Div created with a DOM Image inside it. If the hack is 
-*           needed for transparency in IE, it is added.
-* @type DOMElement
-*/ 
-OpenLayers.Util.createAlphaImageDiv = function(id, px, sz, imgURL, 
-                                               position, border, sizing) {
-    
-    var div = OpenLayers.Util.createDiv();
-    var img = OpenLayers.Util.createImage();
-    div.appendChild(img);
-
-    OpenLayers.Util.modifyAlphaImageDiv(div, id, px, sz, imgURL, 
-                                        position, border, sizing);
-    
-    return div;
-};
-
-
-/** Creates a new hash and copies over all the keys from the 
-*    passed-in object, but storing them under an uppercased
-*    version of the key at which they were stored.
-* 
-* @param {Object} object
-*
-* @returns A new Object with all the same keys but uppercased
-* @type Object
-*/
-OpenLayers.Util.upperCaseObject = function (object) {
-    var uObject = new Object();
-    for (var key in object) {
-        uObject[key.toUpperCase()] = object[key];
-    }
-    return uObject;
-};
-
-/** Takes a hash and copies any keys that don't exist from
-*   another hash, by analogy with Object.extend() from
-*   Prototype.js.
-*
-* @param {Object} to
-* @param {Object} from
-*
-* @type Object
-*/
-OpenLayers.Util.applyDefaults = function (to, from) {
-    for (var key in from) {
-        if (to[key] == null) {
-            to[key] = from[key];
-        }
-    }
-    return to;
-};
-
-/**
-* @param {Object} params
-*
-* @returns a concatenation of the properties of an object in 
-*    http parameter notation. 
-*    (ex. <i>"key1=value1&key2=value2&key3=value3"</i>)
-* @type String
-*/
-OpenLayers.Util.getParameterString = function(params) {
-    paramsArray = new Array();
-    
-    for (var key in params) {
-        var value = params[key];
-        //skip functions
-        if (typeof value == 'function') continue;
-    
-        paramsArray.push(key + "=" + value);
-    }
-    
-    return paramsArray.join("&");
-};
-
-/** 
-* @returns The fully formatted image location string
-* @type String
-*/
-OpenLayers.Util.getImagesLocation = function() {
-    return OpenLayers._getScriptLocation() + "img/";
-};
-
-
-
-/** These could/should be made namespace aware?
-*
-* @param {} p
-* @param {str} tagName
-*
-* @return {Array}
-*/
-OpenLayers.Util.getNodes=function(p, tagName) {
-    var nodes = Try.these(
-        function () {
-            return OpenLayers.Util._getNodes(p.documentElement.childNodes,
-                                            tagName);
-        },
-        function () {
-            return OpenLayers.Util._getNodes(p.childNodes, tagName);
-        }
-    );
-    return nodes;
-};
-
-/**
-* @param {Array} nodes
-* @param {str} tagName
-*
-* @return {Array}
-*/
-OpenLayers.Util._getNodes=function(nodes, tagName) {
-    var retArray = new Array();
-    for (var i=0;i<nodes.length;i++) {
-        if (nodes[i].nodeName==tagName) {
-            retArray.push(nodes[i]);
-        }
-    }
-
-    return retArray;
-};
-
-
-
-/**
-* @param {} parent
-* @param {str} item
-* @param {int} index
-*
-* @return {str}
-*/
-OpenLayers.Util.getTagText = function (parent, item, index) {
-    var result = OpenLayers.Util.getNodes(parent, item);
-    if (result && (result.length > 0))
-    {
-        if (!index) {
-            index=0;
-        }
-        if (result[index].childNodes.length > 1) {
-            return result.childNodes[1].nodeValue; 
-        }
-        else if (result[index].childNodes.length == 1) {
-            return result[index].firstChild.nodeValue; 
-        }
-    } else { 
-        return ""; 
-    }
-};
-
-/** 
-* @param {Event} evt
-* @param {HTMLDivElement} div
-*
-* @return {boolean}
-*/
-OpenLayers.Util.mouseLeft = function (evt, div) {
-    // start with the element to which the mouse has moved
-    var target = (evt.relatedTarget) ? evt.relatedTarget : evt.toElement;
-    // walk up the DOM tree.
-    while (target != div && target != null) {
-        target = target.parentNode;
-    }
-    // if the target we stop at isn't the div, then we've left the div.
-    return (target != div);
-};
-
-OpenLayers.Util.rad = function(x) {return x*Math.PI/180;};
-OpenLayers.Util.distVincenty=function(p1, p2) {
-    var a = 6378137, b = 6356752.3142,  f = 1/298.257223563;
-    var L = OpenLayers.Util.rad(p2.lon - p1.lon);
-    var U1 = Math.atan((1-f) * Math.tan(OpenLayers.Util.rad(p1.lat)));
-    var U2 = Math.atan((1-f) * Math.tan(OpenLayers.Util.rad(p2.lat)));
-    var sinU1 = Math.sin(U1), cosU1 = Math.cos(U1);
-    var sinU2 = Math.sin(U2), cosU2 = Math.cos(U2);
-    var lambda = L, lambdaP = 2*Math.PI;
-    var iterLimit = 20;
-    while (Math.abs(lambda-lambdaP) > 1e-12 && --iterLimit>0) {
-        var sinLambda = Math.sin(lambda), cosLambda = Math.cos(lambda);
-        var sinSigma = Math.sqrt((cosU2*sinLambda) * (cosU2*sinLambda) +
-        (cosU1*sinU2-sinU1*cosU2*cosLambda) * (cosU1*sinU2-sinU1*cosU2*cosLambda));
-        if (sinSigma==0) return 0;  // co-incident points
-        var cosSigma = sinU1*sinU2 + cosU1*cosU2*cosLambda;
-        var sigma = Math.atan2(sinSigma, cosSigma);
-        var alpha = Math.asin(cosU1 * cosU2 * sinLambda / sinSigma);
-        var cosSqAlpha = Math.cos(alpha) * Math.cos(alpha);
-        var cos2SigmaM = cosSigma - 2*sinU1*sinU2/cosSqAlpha;
-        var C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));
-        lambdaP = lambda;
-        lambda = L + (1-C) * f * Math.sin(alpha) *
-        (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));
-    }
-    if (iterLimit==0) return NaN  // formula failed to converge
-    var uSq = cosSqAlpha * (a*a - b*b) / (b*b);
-    var A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq)));
-    var B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq)));
-    var deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)-
-        B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));
-    var s = b*A*(sigma-deltaSigma);
-    var d = s.toFixed(3)/1000; // round to 1mm precision
-    return d;
-};
diff --git a/public/lib/Prototype.js b/public/lib/Prototype.js
deleted file mode 100644 (file)
index 07baf10..0000000
+++ /dev/null
@@ -1,1781 +0,0 @@
-/*  Prototype JavaScript framework, version 1.4.0
- *  (c) 2005 Sam Stephenson <sam@conio.net>
- *
- *  Prototype is freely distributable under the terms of an MIT-style license.
- *  For details, see the Prototype web site: http://prototype.conio.net/
- *
-/*--------------------------------------------------------------------------*/
-
-var Prototype = {
-  Version: '1.4.0',
-  ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
-
-  emptyFunction: function() {},
-  K: function(x) {return x}
-}
-
-var Class = {
-  create: function() {
-    return function() {
-      this.initialize.apply(this, arguments);
-    }
-  }
-}
-
-var Abstract = new Object();
-
-Object.extend = function(destination, source) {
-  for (property in source) {
-    destination[property] = source[property];
-  }
-  return destination;
-}
-
-Object.inspect = function(object) {
-  try {
-    if (object == undefined) return 'undefined';
-    if (object == null) return 'null';
-    return object.inspect ? object.inspect() : object.toString();
-  } catch (e) {
-    if (e instanceof RangeError) return '...';
-    throw e;
-  }
-}
-
-Function.prototype.bind = function() {
-  var __method = this, args = $A(arguments), object = args.shift();
-  return function() {
-    return __method.apply(object, args.concat($A(arguments)));
-  }
-}
-
-Function.prototype.bindAsEventListener = function(object) {
-  var __method = this;
-  return function(event) {
-    return __method.call(object, event || window.event);
-  }
-}
-
-Object.extend(Number.prototype, {
-  toColorPart: function() {
-    var digits = this.toString(16);
-    if (this < 16) return '0' + digits;
-    return digits;
-  },
-
-  succ: function() {
-    return this + 1;
-  },
-
-  times: function(iterator) {
-    $R(0, this, true).each(iterator);
-    return this;
-  }
-});
-
-var Try = {
-  these: function() {
-    var returnValue;
-
-    for (var i = 0; i < arguments.length; i++) {
-      var lambda = arguments[i];
-      try {
-        returnValue = lambda();
-        break;
-      } catch (e) {}
-    }
-
-    return returnValue;
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create();
-PeriodicalExecuter.prototype = {
-  initialize: function(callback, frequency) {
-    this.callback = callback;
-    this.frequency = frequency;
-    this.currentlyExecuting = false;
-
-    this.registerCallback();
-  },
-
-  registerCallback: function() {
-    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
-  },
-
-  onTimerEvent: function() {
-    if (!this.currentlyExecuting) {
-      try {
-        this.currentlyExecuting = true;
-        this.callback();
-      } finally {
-        this.currentlyExecuting = false;
-      }
-    }
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-function $() {
-  var elements = new Array();
-
-  for (var i = 0; i < arguments.length; i++) {
-    var element = arguments[i];
-    if (typeof element == 'string')
-      element = document.getElementById(element);
-
-    if (arguments.length == 1)
-      return element;
-
-    elements.push(element);
-  }
-
-  return elements;
-}
-Object.extend(String.prototype, {
-  stripTags: function() {
-    return this.replace(/<\/?[^>]+>/gi, '');
-  },
-
-  stripScripts: function() {
-    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
-  },
-
-  extractScripts: function() {
-    var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
-    var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
-    return (this.match(matchAll) || []).map(function(scriptTag) {
-      return (scriptTag.match(matchOne) || ['', ''])[1];
-    });
-  },
-
-  evalScripts: function() {
-    return this.extractScripts().map(eval);
-  },
-
-  escapeHTML: function() {
-    var div = document.createElement('div');
-    var text = document.createTextNode(this);
-    div.appendChild(text);
-    return div.innerHTML;
-  },
-
-  unescapeHTML: function() {
-    var div = document.createElement('div');
-    div.innerHTML = this.stripTags();
-    return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
-  },
-
-  toQueryParams: function() {
-    var pairs = this.match(/^\??(.*)$/)[1].split('&');
-    return pairs.inject({}, function(params, pairString) {
-      var pair = pairString.split('=');
-      params[pair[0]] = pair[1];
-      return params;
-    });
-  },
-
-  toArray: function() {
-    return this.split('');
-  },
-
-  camelize: function() {
-    var oStringList = this.split('-');
-    if (oStringList.length == 1) return oStringList[0];
-
-    var camelizedString = this.indexOf('-') == 0
-      ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
-      : oStringList[0];
-
-    for (var i = 1, len = oStringList.length; i < len; i++) {
-      var s = oStringList[i];
-      camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
-    }
-
-    return camelizedString;
-  },
-
-  inspect: function() {
-    return "'" + this.replace('\\', '\\\\').replace("'", '\\\'') + "'";
-  }
-});
-
-String.prototype.parseQuery = String.prototype.toQueryParams;
-
-var $break    = new Object();
-var $continue = new Object();
-
-var Enumerable = {
-  each: function(iterator) {
-    var index = 0;
-    try {
-      this._each(function(value) {
-        try {
-          iterator(value, index++);
-        } catch (e) {
-          if (e != $continue) throw e;
-        }
-      });
-    } catch (e) {
-      if (e != $break) throw e;
-    }
-  },
-
-  all: function(iterator) {
-    var result = true;
-    this.each(function(value, index) {
-      result = result && !!(iterator || Prototype.K)(value, index);
-      if (!result) throw $break;
-    });
-    return result;
-  },
-
-  any: function(iterator) {
-    var result = true;
-    this.each(function(value, index) {
-      if (result = !!(iterator || Prototype.K)(value, index))
-        throw $break;
-    });
-    return result;
-  },
-
-  collect: function(iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      results.push(iterator(value, index));
-    });
-    return results;
-  },
-
-  detect: function (iterator) {
-    var result;
-    this.each(function(value, index) {
-      if (iterator(value, index)) {
-        result = value;
-        throw $break;
-      }
-    });
-    return result;
-  },
-
-  findAll: function(iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      if (iterator(value, index))
-        results.push(value);
-    });
-    return results;
-  },
-
-  grep: function(pattern, iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      var stringValue = value.toString();
-      if (stringValue.match(pattern))
-        results.push((iterator || Prototype.K)(value, index));
-    })
-    return results;
-  },
-
-  include: function(object) {
-    var found = false;
-    this.each(function(value) {
-      if (value == object) {
-        found = true;
-        throw $break;
-      }
-    });
-    return found;
-  },
-
-  inject: function(memo, iterator) {
-    this.each(function(value, index) {
-      memo = iterator(memo, value, index);
-    });
-    return memo;
-  },
-
-  invoke: function(method) {
-    var args = $A(arguments).slice(1);
-    return this.collect(function(value) {
-      return value[method].apply(value, args);
-    });
-  },
-
-  max: function(iterator) {
-    var result;
-    this.each(function(value, index) {
-      value = (iterator || Prototype.K)(value, index);
-      if (value >= (result || value))
-        result = value;
-    });
-    return result;
-  },
-
-  min: function(iterator) {
-    var result;
-    this.each(function(value, index) {
-      value = (iterator || Prototype.K)(value, index);
-      if (value <= (result || value))
-        result = value;
-    });
-    return result;
-  },
-
-  partition: function(iterator) {
-    var trues = [], falses = [];
-    this.each(function(value, index) {
-      ((iterator || Prototype.K)(value, index) ?
-        trues : falses).push(value);
-    });
-    return [trues, falses];
-  },
-
-  pluck: function(property) {
-    var results = [];
-    this.each(function(value, index) {
-      results.push(value[property]);
-    });
-    return results;
-  },
-
-  reject: function(iterator) {
-    var results = [];
-    this.each(function(value, index) {
-      if (!iterator(value, index))
-        results.push(value);
-    });
-    return results;
-  },
-
-  sortBy: function(iterator) {
-    return this.collect(function(value, index) {
-      return {value: value, criteria: iterator(value, index)};
-    }).sort(function(left, right) {
-      var a = left.criteria, b = right.criteria;
-      return a < b ? -1 : a > b ? 1 : 0;
-    }).pluck('value');
-  },
-
-  toArray: function() {
-    return this.collect(Prototype.K);
-  },
-
-  zip: function() {
-    var iterator = Prototype.K, args = $A(arguments);
-    if (typeof args.last() == 'function')
-      iterator = args.pop();
-
-    var collections = [this].concat(args).map($A);
-    return this.map(function(value, index) {
-      iterator(value = collections.pluck(index));
-      return value;
-    });
-  },
-
-  inspect: function() {
-    return '#<Enumerable:' + this.toArray().inspect() + '>';
-  }
-}
-
-Object.extend(Enumerable, {
-  map:     Enumerable.collect,
-  find:    Enumerable.detect,
-  select:  Enumerable.findAll,
-  member:  Enumerable.include,
-  entries: Enumerable.toArray
-});
-var $A = Array.from = function(iterable) {
-  if (!iterable) return [];
-  if (iterable.toArray) {
-    return iterable.toArray();
-  } else {
-    var results = [];
-    for (var i = 0; i < iterable.length; i++)
-      results.push(iterable[i]);
-    return results;
-  }
-}
-
-Object.extend(Array.prototype, Enumerable);
-
-Array.prototype._reverse = Array.prototype.reverse;
-
-Object.extend(Array.prototype, {
-  _each: function(iterator) {
-    for (var i = 0; i < this.length; i++)
-      iterator(this[i]);
-  },
-
-  clear: function() {
-    this.length = 0;
-    return this;
-  },
-
-  first: function() {
-    return this[0];
-  },
-
-  last: function() {
-    return this[this.length - 1];
-  },
-
-  compact: function() {
-    return this.select(function(value) {
-      return value != undefined || value != null;
-    });
-  },
-
-  flatten: function() {
-    return this.inject([], function(array, value) {
-      return array.concat(value.constructor == Array ?
-        value.flatten() : [value]);
-    });
-  },
-
-  without: function() {
-    var values = $A(arguments);
-    return this.select(function(value) {
-      return !values.include(value);
-    });
-  },
-
-  indexOf: function(object) {
-    for (var i = 0; i < this.length; i++)
-      if (this[i] == object) return i;
-    return -1;
-  },
-
-  reverse: function(inline) {
-    return (inline !== false ? this : this.toArray())._reverse();
-  },
-
-  shift: function() {
-    var result = this[0];
-    for (var i = 0; i < this.length - 1; i++)
-      this[i] = this[i + 1];
-    this.length--;
-    return result;
-  },
-
-  inspect: function() {
-    return '[' + this.map(Object.inspect).join(', ') + ']';
-  }
-});
-var Hash = {
-  _each: function(iterator) {
-    for (key in this) {
-      var value = this[key];
-      if (typeof value == 'function') continue;
-
-      var pair = [key, value];
-      pair.key = key;
-      pair.value = value;
-      iterator(pair);
-    }
-  },
-
-  keys: function() {
-    return this.pluck('key');
-  },
-
-  values: function() {
-    return this.pluck('value');
-  },
-
-  merge: function(hash) {
-    return $H(hash).inject($H(this), function(mergedHash, pair) {
-      mergedHash[pair.key] = pair.value;
-      return mergedHash;
-    });
-  },
-
-  toQueryString: function() {
-    return this.map(function(pair) {
-      return pair.map(encodeURIComponent).join('=');
-    }).join('&');
-  },
-
-  inspect: function() {
-    return '#<Hash:{' + this.map(function(pair) {
-      return pair.map(Object.inspect).join(': ');
-    }).join(', ') + '}>';
-  }
-}
-
-function $H(object) {
-  var hash = Object.extend({}, object || {});
-  Object.extend(hash, Enumerable);
-  Object.extend(hash, Hash);
-  return hash;
-}
-ObjectRange = Class.create();
-Object.extend(ObjectRange.prototype, Enumerable);
-Object.extend(ObjectRange.prototype, {
-  initialize: function(start, end, exclusive) {
-    this.start = start;
-    this.end = end;
-    this.exclusive = exclusive;
-  },
-
-  _each: function(iterator) {
-    var value = this.start;
-    do {
-      iterator(value);
-      value = value.succ();
-    } while (this.include(value));
-  },
-
-  include: function(value) {
-    if (value < this.start)
-      return false;
-    if (this.exclusive)
-      return value < this.end;
-    return value <= this.end;
-  }
-});
-
-var $R = function(start, end, exclusive) {
-  return new ObjectRange(start, end, exclusive);
-}
-
-var Ajax = {
-  getTransport: function() {
-    return Try.these(
-      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
-      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
-      function() {return new XMLHttpRequest()}
-    ) || false;
-  },
-
-  activeRequestCount: 0
-}
-
-Ajax.Responders = {
-  responders: [],
-
-  _each: function(iterator) {
-    this.responders._each(iterator);
-  },
-
-  register: function(responderToAdd) {
-    if (!this.include(responderToAdd))
-      this.responders.push(responderToAdd);
-  },
-
-  unregister: function(responderToRemove) {
-    this.responders = this.responders.without(responderToRemove);
-  },
-
-  dispatch: function(callback, request, transport, json) {
-    this.each(function(responder) {
-      if (responder[callback] && typeof responder[callback] == 'function') {
-        try {
-          responder[callback].apply(responder, [request, transport, json]);
-        } catch (e) {}
-      }
-    });
-  }
-};
-
-Object.extend(Ajax.Responders, Enumerable);
-
-Ajax.Responders.register({
-  onCreate: function() {
-    Ajax.activeRequestCount++;
-  },
-
-  onComplete: function() {
-    Ajax.activeRequestCount--;
-  }
-});
-
-Ajax.Base = function() {};
-Ajax.Base.prototype = {
-  setOptions: function(options) {
-    this.options = {
-      method:       'post',
-      asynchronous: true,
-      parameters:   ''
-    }
-    Object.extend(this.options, options || {});
-  },
-
-  responseIsSuccess: function() {
-    return this.transport.status == undefined
-        || this.transport.status == 0
-        || (this.transport.status >= 200 && this.transport.status < 300);
-  },
-
-  responseIsFailure: function() {
-    return !this.responseIsSuccess();
-  }
-}
-
-Ajax.Request = Class.create();
-Ajax.Request.Events =
-  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
-  initialize: function(url, options) {
-    this.transport = Ajax.getTransport();
-    this.setOptions(options);
-    this.request(url);
-  },
-
-  request: function(url) {
-    var parameters = this.options.parameters || '';
-    if (parameters.length > 0) parameters += '&_=';
-
-    try {
-      this.url = url;
-      if (this.options.method == 'get' && parameters.length > 0)
-        this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
-
-      Ajax.Responders.dispatch('onCreate', this, this.transport);
-
-      this.transport.open(this.options.method, this.url,
-        this.options.asynchronous);
-
-      if (this.options.asynchronous) {
-        this.transport.onreadystatechange = this.onStateChange.bind(this);
-        setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
-      }
-
-      this.setRequestHeaders();
-
-      var body = this.options.postBody ? this.options.postBody : parameters;
-      this.transport.send(this.options.method == 'post' ? body : null);
-
-    } catch (e) {
-      this.dispatchException(e);
-    }
-  },
-
-  setRequestHeaders: function() {
-    var requestHeaders =
-      ['X-Requested-With', 'XMLHttpRequest',
-       'X-Prototype-Version', Prototype.Version];
-
-    if (this.options.method == 'post') {
-      requestHeaders.push('Content-type',
-        'application/x-www-form-urlencoded');
-
-      /* Force "Connection: close" for Mozilla browsers to work around
-       * a bug where XMLHttpReqeuest sends an incorrect Content-length
-       * header. See Mozilla Bugzilla #246651.
-       */
-      if (this.transport.overrideMimeType)
-        requestHeaders.push('Connection', 'close');
-    }
-
-    if (this.options.requestHeaders)
-      requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
-
-    for (var i = 0; i < requestHeaders.length; i += 2)
-      this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
-  },
-
-  onStateChange: function() {
-    var readyState = this.transport.readyState;
-    if (readyState != 1)
-      this.respondToReadyState(this.transport.readyState);
-  },
-
-  header: function(name) {
-    try {
-      return this.transport.getResponseHeader(name);
-    } catch (e) {}
-  },
-
-  evalJSON: function() {
-    try {
-      return eval(this.header('X-JSON'));
-    } catch (e) {}
-  },
-
-  evalResponse: function() {
-    try {
-      return eval(this.transport.responseText);
-    } catch (e) {
-      this.dispatchException(e);
-    }
-  },
-
-  respondToReadyState: function(readyState) {
-    var event = Ajax.Request.Events[readyState];
-    var transport = this.transport, json = this.evalJSON();
-
-    if (event == 'Complete') {
-      try {
-        (this.options['on' + this.transport.status]
-         || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
-         || Prototype.emptyFunction)(transport, json);
-      } catch (e) {
-        this.dispatchException(e);
-      }
-
-      if ((this.header('Content-type') || '').match(/^text\/javascript/i))
-        this.evalResponse();
-    }
-
-    try {
-      (this.options['on' + event] || Prototype.emptyFunction)(transport, json);
-      Ajax.Responders.dispatch('on' + event, this, transport, json);
-    } catch (e) {
-      this.dispatchException(e);
-    }
-
-    /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
-    if (event == 'Complete')
-      this.transport.onreadystatechange = Prototype.emptyFunction;
-  },
-
-  dispatchException: function(exception) {
-    (this.options.onException || Prototype.emptyFunction)(this, exception);
-    Ajax.Responders.dispatch('onException', this, exception);
-  }
-});
-
-Ajax.Updater = Class.create();
-
-Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
-  initialize: function(container, url, options) {
-    this.containers = {
-      success: container.success ? $(container.success) : $(container),
-      failure: container.failure ? $(container.failure) :
-        (container.success ? null : $(container))
-    }
-
-    this.transport = Ajax.getTransport();
-    this.setOptions(options);
-
-    var onComplete = this.options.onComplete || Prototype.emptyFunction;
-    this.options.onComplete = (function(transport, object) {
-      this.updateContent();
-      onComplete(transport, object);
-    }).bind(this);
-
-    this.request(url);
-  },
-
-  updateContent: function() {
-    var receiver = this.responseIsSuccess() ?
-      this.containers.success : this.containers.failure;
-    var response = this.transport.responseText;
-
-    if (!this.options.evalScripts)
-      response = response.stripScripts();
-
-    if (receiver) {
-      if (this.options.insertion) {
-        new this.options.insertion(receiver, response);
-      } else {
-        Element.update(receiver, response);
-      }
-    }
-
-    if (this.responseIsSuccess()) {
-      if (this.onComplete)
-        setTimeout(this.onComplete.bind(this), 10);
-    }
-  }
-});
-
-Ajax.PeriodicalUpdater = Class.create();
-Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
-  initialize: function(container, url, options) {
-    this.setOptions(options);
-    this.onComplete = this.options.onComplete;
-
-    this.frequency = (this.options.frequency || 2);
-    this.decay = (this.options.decay || 1);
-
-    this.updater = {};
-    this.container = container;
-    this.url = url;
-
-    this.start();
-  },
-
-  start: function() {
-    this.options.onComplete = this.updateComplete.bind(this);
-    this.onTimerEvent();
-  },
-
-  stop: function() {
-    this.updater.onComplete = undefined;
-    clearTimeout(this.timer);
-    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
-  },
-
-  updateComplete: function(request) {
-    if (this.options.decay) {
-      this.decay = (request.responseText == this.lastText ?
-        this.decay * this.options.decay : 1);
-
-      this.lastText = request.responseText;
-    }
-    this.timer = setTimeout(this.onTimerEvent.bind(this),
-      this.decay * this.frequency * 1000);
-  },
-
-  onTimerEvent: function() {
-    this.updater = new Ajax.Updater(this.container, this.url, this.options);
-  }
-});
-document.getElementsByClassName = function(className, parentElement) {
-  var children = ($(parentElement) || document.body).getElementsByTagName('*');
-  return $A(children).inject([], function(elements, child) {
-    if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
-      elements.push(child);
-    return elements;
-  });
-}
-
-/*--------------------------------------------------------------------------*/
-
-if (!window.Element) {
-  var Element = new Object();
-}
-
-Object.extend(Element, {
-  visible: function(element) {
-    return $(element).style.display != 'none';
-  },
-
-  toggle: function() {
-    for (var i = 0; i < arguments.length; i++) {
-      var element = $(arguments[i]);
-      Element[Element.visible(element) ? 'hide' : 'show'](element);
-    }
-  },
-
-  hide: function() {
-    for (var i = 0; i < arguments.length; i++) {
-      var element = $(arguments[i]);
-      element.style.display = 'none';
-    }
-  },
-
-  show: function() {
-    for (var i = 0; i < arguments.length; i++) {
-      var element = $(arguments[i]);
-      element.style.display = '';
-    }
-  },
-
-  remove: function(element) {
-    element = $(element);
-    element.parentNode.removeChild(element);
-  },
-
-  update: function(element, html) {
-    $(element).innerHTML = html.stripScripts();
-    setTimeout(function() {html.evalScripts()}, 10);
-  },
-
-  getHeight: function(element) {
-    element = $(element);
-    return element.offsetHeight;
-  },
-
-  classNames: function(element) {
-    return new Element.ClassNames(element);
-  },
-
-  hasClassName: function(element, className) {
-    if (!(element = $(element))) return;
-    return Element.classNames(element).include(className);
-  },
-
-  addClassName: function(element, className) {
-    if (!(element = $(element))) return;
-    return Element.classNames(element).add(className);
-  },
-
-  removeClassName: function(element, className) {
-    if (!(element = $(element))) return;
-    return Element.classNames(element).remove(className);
-  },
-
-  // removes whitespace-only text node children
-  cleanWhitespace: function(element) {
-    element = $(element);
-    for (var i = 0; i < element.childNodes.length; i++) {
-      var node = element.childNodes[i];
-      if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
-        Element.remove(node);
-    }
-  },
-
-  empty: function(element) {
-    return $(element).innerHTML.match(/^\s*$/);
-  },
-
-  scrollTo: function(element) {
-    element = $(element);
-    var x = element.x ? element.x : element.offsetLeft,
-        y = element.y ? element.y : element.offsetTop;
-    window.scrollTo(x, y);
-  },
-
-  getStyle: function(element, style) {
-    element = $(element);
-    var value = element.style[style.camelize()];
-    if (!value) {
-      if (document.defaultView && document.defaultView.getComputedStyle) {
-        var css = document.defaultView.getComputedStyle(element, null);
-        value = css ? css.getPropertyValue(style) : null;
-      } else if (element.currentStyle) {
-        value = element.currentStyle[style.camelize()];
-      }
-    }
-
-    if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
-      if (Element.getStyle(element, 'position') == 'static') value = 'auto';
-
-    return value == 'auto' ? null : value;
-  },
-
-  setStyle: function(element, style) {
-    element = $(element);
-    for (name in style)
-      element.style[name.camelize()] = style[name];
-  },
-
-  getDimensions: function(element) {
-    element = $(element);
-    if (Element.getStyle(element, 'display') != 'none')
-      return {width: element.offsetWidth, height: element.offsetHeight};
-
-    // All *Width and *Height properties give 0 on elements with display none,
-    // so enable the element temporarily
-    var els = element.style;
-    var originalVisibility = els.visibility;
-    var originalPosition = els.position;
-    els.visibility = 'hidden';
-    els.position = 'absolute';
-    els.display = '';
-    var originalWidth = element.clientWidth;
-    var originalHeight = element.clientHeight;
-    els.display = 'none';
-    els.position = originalPosition;
-    els.visibility = originalVisibility;
-    return {width: originalWidth, height: originalHeight};
-  },
-
-  makePositioned: function(element) {
-    element = $(element);
-    var pos = Element.getStyle(element, 'position');
-    if (pos == 'static' || !pos) {
-      element._madePositioned = true;
-      element.style.position = 'relative';
-      // Opera returns the offset relative to the positioning context, when an
-      // element is position relative but top and left have not been defined
-      if (window.opera) {
-        element.style.top = 0;
-        element.style.left = 0;
-      }
-    }
-  },
-
-  undoPositioned: function(element) {
-    element = $(element);
-    if (element._madePositioned) {
-      element._madePositioned = undefined;
-      element.style.position =
-        element.style.top =
-        element.style.left =
-        element.style.bottom =
-        element.style.right = '';
-    }
-  },
-
-  makeClipping: function(element) {
-    element = $(element);
-    if (element._overflow) return;
-    element._overflow = element.style.overflow;
-    if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
-      element.style.overflow = 'hidden';
-  },
-
-  undoClipping: function(element) {
-    element = $(element);
-    if (element._overflow) return;
-    element.style.overflow = element._overflow;
-    element._overflow = undefined;
-  }
-});
-
-var Toggle = new Object();
-Toggle.display = Element.toggle;
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.Insertion = function(adjacency) {
-  this.adjacency = adjacency;
-}
-
-Abstract.Insertion.prototype = {
-  initialize: function(element, content) {
-    this.element = $(element);
-    this.content = content.stripScripts();
-
-    if (this.adjacency && this.element.insertAdjacentHTML) {
-      try {
-        this.element.insertAdjacentHTML(this.adjacency, this.content);
-      } catch (e) {
-        if (this.element.tagName.toLowerCase() == 'tbody') {
-          this.insertContent(this.contentFromAnonymousTable());
-        } else {
-          throw e;
-        }
-      }
-    } else {
-      this.range = this.element.ownerDocument.createRange();
-      if (this.initializeRange) this.initializeRange();
-      this.insertContent([this.range.createContextualFragment(this.content)]);
-    }
-
-    setTimeout(function() {content.evalScripts()}, 10);
-  },
-
-  contentFromAnonymousTable: function() {
-    var div = document.createElement('div');
-    div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
-    return $A(div.childNodes[0].childNodes[0].childNodes);
-  }
-}
-
-var Insertion = new Object();
-
-Insertion.Before = Class.create();
-Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
-  initializeRange: function() {
-    this.range.setStartBefore(this.element);
-  },
-
-  insertContent: function(fragments) {
-    fragments.each((function(fragment) {
-      this.element.parentNode.insertBefore(fragment, this.element);
-    }).bind(this));
-  }
-});
-
-Insertion.Top = Class.create();
-Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
-  initializeRange: function() {
-    this.range.selectNodeContents(this.element);
-    this.range.collapse(true);
-  },
-
-  insertContent: function(fragments) {
-    fragments.reverse(false).each((function(fragment) {
-      this.element.insertBefore(fragment, this.element.firstChild);
-    }).bind(this));
-  }
-});
-
-Insertion.Bottom = Class.create();
-Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
-  initializeRange: function() {
-    this.range.selectNodeContents(this.element);
-    this.range.collapse(this.element);
-  },
-
-  insertContent: function(fragments) {
-    fragments.each((function(fragment) {
-      this.element.appendChild(fragment);
-    }).bind(this));
-  }
-});
-
-Insertion.After = Class.create();
-Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
-  initializeRange: function() {
-    this.range.setStartAfter(this.element);
-  },
-
-  insertContent: function(fragments) {
-    fragments.each((function(fragment) {
-      this.element.parentNode.insertBefore(fragment,
-        this.element.nextSibling);
-    }).bind(this));
-  }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Element.ClassNames = Class.create();
-Element.ClassNames.prototype = {
-  initialize: function(element) {
-    this.element = $(element);
-  },
-
-  _each: function(iterator) {
-    this.element.className.split(/\s+/).select(function(name) {
-      return name.length > 0;
-    })._each(iterator);
-  },
-
-  set: function(className) {
-    this.element.className = className;
-  },
-
-  add: function(classNameToAdd) {
-    if (this.include(classNameToAdd)) return;
-    this.set(this.toArray().concat(classNameToAdd).join(' '));
-  },
-
-  remove: function(classNameToRemove) {
-    if (!this.include(classNameToRemove)) return;
-    this.set(this.select(function(className) {
-      return className != classNameToRemove;
-    }).join(' '));
-  },
-
-  toString: function() {
-    return this.toArray().join(' ');
-  }
-}
-
-Object.extend(Element.ClassNames.prototype, Enumerable);
-var Field = {
-  clear: function() {
-    for (var i = 0; i < arguments.length; i++)
-      $(arguments[i]).value = '';
-  },
-
-  focus: function(element) {
-    $(element).focus();
-  },
-
-  present: function() {
-    for (var i = 0; i < arguments.length; i++)
-      if ($(arguments[i]).value == '') return false;
-    return true;
-  },
-
-  select: function(element) {
-    $(element).select();
-  },
-
-  activate: function(element) {
-    element = $(element);
-    element.focus();
-    if (element.select)
-      element.select();
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var Form = {
-  serialize: function(form) {
-    var elements = Form.getElements($(form));
-    var queryComponents = new Array();
-
-    for (var i = 0; i < elements.length; i++) {
-      var queryComponent = Form.Element.serialize(elements[i]);
-      if (queryComponent)
-        queryComponents.push(queryComponent);
-    }
-
-    return queryComponents.join('&');
-  },
-
-  getElements: function(form) {
-    form = $(form);
-    var elements = new Array();
-
-    for (tagName in Form.Element.Serializers) {
-      var tagElements = form.getElementsByTagName(tagName);
-      for (var j = 0; j < tagElements.length; j++)
-        elements.push(tagElements[j]);
-    }
-    return elements;
-  },
-
-  getInputs: function(form, typeName, name) {
-    form = $(form);
-    var inputs = form.getElementsByTagName('input');
-
-    if (!typeName && !name)
-      return inputs;
-
-    var matchingInputs = new Array();
-    for (var i = 0; i < inputs.length; i++) {
-      var input = inputs[i];
-      if ((typeName && input.type != typeName) ||
-          (name && input.name != name))
-        continue;
-      matchingInputs.push(input);
-    }
-
-    return matchingInputs;
-  },
-
-  disable: function(form) {
-    var elements = Form.getElements(form);
-    for (var i = 0; i < elements.length; i++) {
-      var element = elements[i];
-      element.blur();
-      element.disabled = 'true';
-    }
-  },
-
-  enable: function(form) {
-    var elements = Form.getElements(form);
-    for (var i = 0; i < elements.length; i++) {
-      var element = elements[i];
-      element.disabled = '';
-    }
-  },
-
-  findFirstElement: function(form) {
-    return Form.getElements(form).find(function(element) {
-      return element.type != 'hidden' && !element.disabled &&
-        ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
-    });
-  },
-
-  focusFirstElement: function(form) {
-    Field.activate(Form.findFirstElement(form));
-  },
-
-  reset: function(form) {
-    $(form).reset();
-  }
-}
-
-Form.Element = {
-  serialize: function(element) {
-    element = $(element);
-    var method = element.tagName.toLowerCase();
-    var parameter = Form.Element.Serializers[method](element);
-
-    if (parameter) {
-      var key = encodeURIComponent(parameter[0]);
-      if (key.length == 0) return;
-
-      if (parameter[1].constructor != Array)
-        parameter[1] = [parameter[1]];
-
-      return parameter[1].map(function(value) {
-        return key + '=' + encodeURIComponent(value);
-      }).join('&');
-    }
-  },
-
-  getValue: function(element) {
-    element = $(element);
-    var method = element.tagName.toLowerCase();
-    var parameter = Form.Element.Serializers[method](element);
-
-    if (parameter)
-      return parameter[1];
-  }
-}
-
-Form.Element.Serializers = {
-  input: function(element) {
-    switch (element.type.toLowerCase()) {
-      case 'submit':
-      case 'hidden':
-      case 'password':
-      case 'text':
-        return Form.Element.Serializers.textarea(element);
-      case 'checkbox':
-      case 'radio':
-        return Form.Element.Serializers.inputSelector(element);
-    }
-    return false;
-  },
-
-  inputSelector: function(element) {
-    if (element.checked)
-      return [element.name, element.value];
-  },
-
-  textarea: function(element) {
-    return [element.name, element.value];
-  },
-
-  select: function(element) {
-    return Form.Element.Serializers[element.type == 'select-one' ?
-      'selectOne' : 'selectMany'](element);
-  },
-
-  selectOne: function(element) {
-    var value = '', opt, index = element.selectedIndex;
-    if (index >= 0) {
-      opt = element.options[index];
-      value = opt.value;
-      if (!value && !('value' in opt))
-        value = opt.text;
-    }
-    return [element.name, value];
-  },
-
-  selectMany: function(element) {
-    var value = new Array();
-    for (var i = 0; i < element.length; i++) {
-      var opt = element.options[i];
-      if (opt.selected) {
-        var optValue = opt.value;
-        if (!optValue && !('value' in opt))
-          optValue = opt.text;
-        value.push(optValue);
-      }
-    }
-    return [element.name, value];
-  }
-}
-
-/*--------------------------------------------------------------------------*/
-
-var $F = Form.Element.getValue;
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.TimedObserver = function() {}
-Abstract.TimedObserver.prototype = {
-  initialize: function(element, frequency, callback) {
-    this.frequency = frequency;
-    this.element   = $(element);
-    this.callback  = callback;
-
-    this.lastValue = this.getValue();
-    this.registerCallback();
-  },
-
-  registerCallback: function() {
-    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
-  },
-
-  onTimerEvent: function() {
-    var value = this.getValue();
-    if (this.lastValue != value) {
-      this.callback(this.element, value);
-      this.lastValue = value;
-    }
-  }
-}
-
-Form.Element.Observer = Class.create();
-Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
-  getValue: function() {
-    return Form.Element.getValue(this.element);
-  }
-});
-
-Form.Observer = Class.create();
-Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
-  getValue: function() {
-    return Form.serialize(this.element);
-  }
-});
-
-/*--------------------------------------------------------------------------*/
-
-Abstract.EventObserver = function() {}
-Abstract.EventObserver.prototype = {
-  initialize: function(element, callback) {
-    this.element  = $(element);
-    this.callback = callback;
-
-    this.lastValue = this.getValue();
-    if (this.element.tagName.toLowerCase() == 'form')
-      this.registerFormCallbacks();
-    else
-      this.registerCallback(this.element);
-  },
-
-  onElementEvent: function() {
-    var value = this.getValue();
-    if (this.lastValue != value) {
-      this.callback(this.element, value);
-      this.lastValue = value;
-    }
-  },
-
-  registerFormCallbacks: function() {
-    var elements = Form.getElements(this.element);
-    for (var i = 0; i < elements.length; i++)
-      this.registerCallback(elements[i]);
-  },
-
-  registerCallback: function(element) {
-    if (element.type) {
-      switch (element.type.toLowerCase()) {
-        case 'checkbox':
-        case 'radio':
-          Event.observe(element, 'click', this.onElementEvent.bind(this));
-          break;
-        case 'password':
-        case 'text':
-        case 'textarea':
-        case 'select-one':
-        case 'select-multiple':
-          Event.observe(element, 'change', this.onElementEvent.bind(this));
-          break;
-      }
-    }
-  }
-}
-
-Form.Element.EventObserver = Class.create();
-Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
-  getValue: function() {
-    return Form.Element.getValue(this.element);
-  }
-});
-
-Form.EventObserver = Class.create();
-Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
-  getValue: function() {
-    return Form.serialize(this.element);
-  }
-});
-if (!window.Event) {
-  var Event = new Object();
-}
-
-Object.extend(Event, {
-  KEY_BACKSPACE: 8,
-  KEY_TAB:       9,
-  KEY_RETURN:   13,
-  KEY_ESC:      27,
-  KEY_LEFT:     37,
-  KEY_UP:       38,
-  KEY_RIGHT:    39,
-  KEY_DOWN:     40,
-  KEY_DELETE:   46,
-
-  element: function(event) {
-    return event.target || event.srcElement;
-  },
-
-  isLeftClick: function(event) {
-    return (((event.which) && (event.which == 1)) ||
-            ((event.button) && (event.button == 1)));
-  },
-
-  pointerX: function(event) {
-    return event.pageX || (event.clientX +
-      (document.documentElement.scrollLeft || document.body.scrollLeft));
-  },
-
-  pointerY: function(event) {
-    return event.pageY || (event.clientY +
-      (document.documentElement.scrollTop || document.body.scrollTop));
-  },
-
-  stop: function(event) {
-    if (event.preventDefault) {
-      event.preventDefault();
-      event.stopPropagation();
-    } else {
-      event.returnValue = false;
-      event.cancelBubble = true;
-    }
-  },
-
-  // find the first node with the given tagName, starting from the
-  // node the event was triggered on; traverses the DOM upwards
-  findElement: function(event, tagName) {
-    var element = Event.element(event);
-    while (element.parentNode && (!element.tagName ||
-        (element.tagName.toUpperCase() != tagName.toUpperCase())))
-      element = element.parentNode;
-    return element;
-  },
-
-  observers: false,
-
-  _observeAndCache: function(element, name, observer, useCapture) {
-    if (!this.observers) this.observers = [];
-    if (element.addEventListener) {
-      this.observers.push([element, name, observer, useCapture]);
-      element.addEventListener(name, observer, useCapture);
-    } else if (element.attachEvent) {
-      this.observers.push([element, name, observer, useCapture]);
-      element.attachEvent('on' + name, observer);
-    }
-  },
-
-  unloadCache: function() {
-    if (!Event.observers) return;
-    for (var i = 0; i < Event.observers.length; i++) {
-      Event.stopObserving.apply(this, Event.observers[i]);
-      Event.observers[i][0] = null;
-    }
-    Event.observers = false;
-  },
-
-  observe: function(elementParam, name, observer, useCapture) {
-    var element = $(elementParam);
-    useCapture = useCapture || false;
-
-    if (name == 'keypress' &&
-        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
-        || element.attachEvent))
-      name = 'keydown';
-
-    this._observeAndCache(element, name, observer, useCapture);
-  },
-
-  stopObserving: function(elementParam, name, observer, useCapture) {
-    var element = $(elementParam);
-    useCapture = useCapture || false;
-
-    if (name == 'keypress' &&
-        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
-        || element.detachEvent))
-      name = 'keydown';
-
-    if (element.removeEventListener) {
-      element.removeEventListener(name, observer, useCapture);
-    } else if (element.detachEvent) {
-      element.detachEvent('on' + name, observer);
-    }
-  }
-});
-
-/* prevent memory leaks in IE */
-Event.observe(window, 'unload', Event.unloadCache, false);
-var Position = {
-  // set to true if needed, warning: firefox performance problems
-  // NOT neeeded for page scrolling, only if draggable contained in
-  // scrollable elements
-  includeScrollOffsets: false,
-
-  // must be called before calling withinIncludingScrolloffset, every time the
-  // page is scrolled
-  prepare: function() {
-    this.deltaX =  window.pageXOffset
-                || document.documentElement.scrollLeft
-                || document.body.scrollLeft
-                || 0;
-    this.deltaY =  window.pageYOffset
-                || document.documentElement.scrollTop
-                || document.body.scrollTop
-                || 0;
-  },
-
-  realOffset: function(element) {
-    var valueT = 0, valueL = 0;
-    do {
-      valueT += element.scrollTop  || 0;
-      valueL += element.scrollLeft || 0;
-      element = element.parentNode;
-    } while (element);
-    return [valueL, valueT];
-  },
-
-  cumulativeOffset: function(element) {
-    var valueT = 0, valueL = 0;
-    do {
-      valueT += element.offsetTop  || 0;
-      valueL += element.offsetLeft || 0;
-      element = element.offsetParent;
-    } while (element);
-    return [valueL, valueT];
-  },
-
-  positionedOffset: function(element) {
-    var valueT = 0, valueL = 0;
-    do {
-      valueT += element.offsetTop  || 0;
-      valueL += element.offsetLeft || 0;
-      element = element.offsetParent;
-      if (element) {
-        p = Element.getStyle(element, 'position');
-        if (p == 'relative' || p == 'absolute') break;
-      }
-    } while (element);
-    return [valueL, valueT];
-  },
-
-  offsetParent: function(element) {
-    if (element.offsetParent) return element.offsetParent;
-    if (element == document.body) return element;
-
-    while ((element = element.parentNode) && element != document.body)
-      if (Element.getStyle(element, 'position') != 'static')
-        return element;
-
-    return document.body;
-  },
-
-  // caches x/y coordinate pair to use with overlap
-  within: function(element, x, y) {
-    if (this.includeScrollOffsets)
-      return this.withinIncludingScrolloffsets(element, x, y);
-    this.xcomp = x;
-    this.ycomp = y;
-    this.offset = this.cumulativeOffset(element);
-
-    return (y >= this.offset[1] &&
-            y <  this.offset[1] + element.offsetHeight &&
-            x >= this.offset[0] &&
-            x <  this.offset[0] + element.offsetWidth);
-  },
-
-  withinIncludingScrolloffsets: function(element, x, y) {
-    var offsetcache = this.realOffset(element);
-
-    this.xcomp = x + offsetcache[0] - this.deltaX;
-    this.ycomp = y + offsetcache[1] - this.deltaY;
-    this.offset = this.cumulativeOffset(element);
-
-    return (this.ycomp >= this.offset[1] &&
-            this.ycomp <  this.offset[1] + element.offsetHeight &&
-            this.xcomp >= this.offset[0] &&
-            this.xcomp <  this.offset[0] + element.offsetWidth);
-  },
-
-  // within must be called directly before
-  overlap: function(mode, element) {
-    if (!mode) return 0;
-    if (mode == 'vertical')
-      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
-        element.offsetHeight;
-    if (mode == 'horizontal')
-      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
-        element.offsetWidth;
-  },
-
-  clone: function(source, target) {
-    source = $(source);
-    target = $(target);
-    target.style.position = 'absolute';
-    var offsets = this.cumulativeOffset(source);
-    target.style.top    = offsets[1] + 'px';
-    target.style.left   = offsets[0] + 'px';
-    target.style.width  = source.offsetWidth + 'px';
-    target.style.height = source.offsetHeight + 'px';
-  },
-
-  page: function(forElement) {
-    var valueT = 0, valueL = 0;
-
-    var element = forElement;
-    do {
-      valueT += element.offsetTop  || 0;
-      valueL += element.offsetLeft || 0;
-
-      // Safari fix
-      if (element.offsetParent==document.body)
-        if (Element.getStyle(element,'position')=='absolute') break;
-
-    } while (element = element.offsetParent);
-
-    element = forElement;
-    do {
-      valueT -= element.scrollTop  || 0;
-      valueL -= element.scrollLeft || 0;
-    } while (element = element.parentNode);
-
-    return [valueL, valueT];
-  },
-
-  clone: function(source, target) {
-    var options = Object.extend({
-      setLeft:    true,
-      setTop:     true,
-      setWidth:   true,
-      setHeight:  true,
-      offsetTop:  0,
-      offsetLeft: 0
-    }, arguments[2] || {})
-
-    // find page position of source
-    source = $(source);
-    var p = Position.page(source);
-
-    // find coordinate system to use
-    target = $(target);
-    var delta = [0, 0];
-    var parent = null;
-    // delta [0,0] will do fine with position: fixed elements,
-    // position:absolute needs offsetParent deltas
-    if (Element.getStyle(target,'position') == 'absolute') {
-      parent = Position.offsetParent(target);
-      delta = Position.page(parent);
-    }
-
-    // correct by body offsets (fixes Safari)
-    if (parent == document.body) {
-      delta[0] -= document.body.offsetLeft;
-      delta[1] -= document.body.offsetTop;
-    }
-
-    // set position
-    if(options.setLeft)   target.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
-    if(options.setTop)    target.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
-    if(options.setWidth)  target.style.width = source.offsetWidth + 'px';
-    if(options.setHeight) target.style.height = source.offsetHeight + 'px';
-  },
-
-  absolutize: function(element) {
-    element = $(element);
-    if (element.style.position == 'absolute') return;
-    Position.prepare();
-
-    var offsets = Position.positionedOffset(element);
-    var top     = offsets[1];
-    var left    = offsets[0];
-    var width   = element.clientWidth;
-    var height  = element.clientHeight;
-
-    element._originalLeft   = left - parseFloat(element.style.left  || 0);
-    element._originalTop    = top  - parseFloat(element.style.top || 0);
-    element._originalWidth  = element.style.width;
-    element._originalHeight = element.style.height;
-
-    element.style.position = 'absolute';
-    element.style.top    = top + 'px';;
-    element.style.left   = left + 'px';;
-    element.style.width  = width + 'px';;
-    element.style.height = height + 'px';;
-  },
-
-  relativize: function(element) {
-    element = $(element);
-    if (element.style.position == 'relative') return;
-    Position.prepare();
-
-    element.style.position = 'relative';
-    var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
-    var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
-
-    element.style.top    = top + 'px';
-    element.style.left   = left + 'px';
-    element.style.height = element._originalHeight;
-    element.style.width  = element._originalWidth;
-  }
-}
-
-// Safari returns margins on body which is incorrect if the child is absolutely
-// positioned.  For performance reasons, redefine Position.cumulativeOffset for
-// KHTML/WebKit only.
-if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
-  Position.cumulativeOffset = function(element) {
-    var valueT = 0, valueL = 0;
-    do {
-      valueT += element.offsetTop  || 0;
-      valueL += element.offsetLeft || 0;
-      if (element.offsetParent == document.body)
-        if (Element.getStyle(element, 'position') == 'absolute') break;
-
-      element = element.offsetParent;
-    } while (element);
-
-    return [valueL, valueT];
-  }
-}
diff --git a/public/lib/Rico/Color.js b/public/lib/Rico/Color.js
deleted file mode 100644 (file)
index e61ae29..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-Rico.Color = Class.create();
-
-Rico.Color.prototype = {
-
-   initialize: function(red, green, blue) {
-      this.rgb = { r: red, g : green, b : blue };
-   },
-
-   setRed: function(r) {
-      this.rgb.r = r;
-   },
-
-   setGreen: function(g) {
-      this.rgb.g = g;
-   },
-
-   setBlue: function(b) {
-      this.rgb.b = b;
-   },
-
-   setHue: function(h) {
-
-      // get an HSB model, and set the new hue...
-      var hsb = this.asHSB();
-      hsb.h = h;
-
-      // convert back to RGB...
-      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, hsb.b);
-   },
-
-   setSaturation: function(s) {
-      // get an HSB model, and set the new hue...
-      var hsb = this.asHSB();
-      hsb.s = s;
-
-      // convert back to RGB and set values...
-      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, hsb.b);
-   },
-
-   setBrightness: function(b) {
-      // get an HSB model, and set the new hue...
-      var hsb = this.asHSB();
-      hsb.b = b;
-
-      // convert back to RGB and set values...
-      this.rgb = Rico.Color.HSBtoRGB( hsb.h, hsb.s, hsb.b );
-   },
-
-   darken: function(percent) {
-      var hsb  = this.asHSB();
-      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, Math.max(hsb.b - percent,0));
-   },
-
-   brighten: function(percent) {
-      var hsb  = this.asHSB();
-      this.rgb = Rico.Color.HSBtoRGB(hsb.h, hsb.s, Math.min(hsb.b + percent,1));
-   },
-
-   blend: function(other) {
-      this.rgb.r = Math.floor((this.rgb.r + other.rgb.r)/2);
-      this.rgb.g = Math.floor((this.rgb.g + other.rgb.g)/2);
-      this.rgb.b = Math.floor((this.rgb.b + other.rgb.b)/2);
-   },
-
-   isBright: function() {
-      var hsb = this.asHSB();
-      return this.asHSB().b > 0.5;
-   },
-
-   isDark: function() {
-      return ! this.isBright();
-   },
-
-   asRGB: function() {
-      return "rgb(" + this.rgb.r + "," + this.rgb.g + "," + this.rgb.b + ")";
-   },
-
-   asHex: function() {
-      return "#" + this.rgb.r.toColorPart() + this.rgb.g.toColorPart() + this.rgb.b.toColorPart();
-   },
-
-   asHSB: function() {
-      return Rico.Color.RGBtoHSB(this.rgb.r, this.rgb.g, this.rgb.b);
-   },
-
-   toString: function() {
-      return this.asHex();
-   }
-
-};
-
-Rico.Color.createFromHex = function(hexCode) {
-  if(hexCode.length==4) {
-    var shortHexCode = hexCode; 
-    var hexCode = '#';
-    for(var i=1;i<4;i++) hexCode += (shortHexCode.charAt(i) + 
-shortHexCode.charAt(i));
-  }
-   if ( hexCode.indexOf('#') == 0 )
-      hexCode = hexCode.substring(1);
-   var red   = hexCode.substring(0,2);
-   var green = hexCode.substring(2,4);
-   var blue  = hexCode.substring(4,6);
-   return new Rico.Color( parseInt(red,16), parseInt(green,16), parseInt(blue,16) );
-}
-
-/**
- * Factory method for creating a color from the background of
- * an HTML element.
- */
-Rico.Color.createColorFromBackground = function(elem) {
-
-   var actualColor = RicoUtil.getElementsComputedStyle($(elem), "backgroundColor", "background-color");
-
-   if ( actualColor == "transparent" && elem.parentNode )
-      return Rico.Color.createColorFromBackground(elem.parentNode);
-
-   if ( actualColor == null )
-      return new Rico.Color(255,255,255);
-
-   if ( actualColor.indexOf("rgb(") == 0 ) {
-      var colors = actualColor.substring(4, actualColor.length - 1 );
-      var colorArray = colors.split(",");
-      return new Rico.Color( parseInt( colorArray[0] ),
-                            parseInt( colorArray[1] ),
-                            parseInt( colorArray[2] )  );
-
-   }
-   else if ( actualColor.indexOf("#") == 0 ) {
-      return Rico.Color.createFromHex(actualColor);
-   }
-   else
-      return new Rico.Color(255,255,255);
-}
-
-Rico.Color.HSBtoRGB = function(hue, saturation, brightness) {
-
-   var red   = 0;
-    var green = 0;
-    var blue  = 0;
-
-   if (saturation == 0) {
-      red = parseInt(brightness * 255.0 + 0.5);
-       green = red;
-       blue = red;
-    }
-    else {
-      var h = (hue - Math.floor(hue)) * 6.0;
-      var f = h - Math.floor(h);
-      var p = brightness * (1.0 - saturation);
-      var q = brightness * (1.0 - saturation * f);
-      var t = brightness * (1.0 - (saturation * (1.0 - f)));
-
-      switch (parseInt(h)) {
-         case 0:
-            red   = (brightness * 255.0 + 0.5);
-            green = (t * 255.0 + 0.5);
-            blue  = (p * 255.0 + 0.5);
-            break;
-         case 1:
-            red   = (q * 255.0 + 0.5);
-            green = (brightness * 255.0 + 0.5);
-            blue  = (p * 255.0 + 0.5);
-            break;
-         case 2:
-            red   = (p * 255.0 + 0.5);
-            green = (brightness * 255.0 + 0.5);
-            blue  = (t * 255.0 + 0.5);
-            break;
-         case 3:
-            red   = (p * 255.0 + 0.5);
-            green = (q * 255.0 + 0.5);
-            blue  = (brightness * 255.0 + 0.5);
-            break;
-         case 4:
-            red   = (t * 255.0 + 0.5);
-            green = (p * 255.0 + 0.5);
-            blue  = (brightness * 255.0 + 0.5);
-            break;
-          case 5:
-            red   = (brightness * 255.0 + 0.5);
-            green = (p * 255.0 + 0.5);
-            blue  = (q * 255.0 + 0.5);
-            break;
-        }
-    }
-
-   return { r : parseInt(red), g : parseInt(green) , b : parseInt(blue) };
-}
-
-Rico.Color.RGBtoHSB = function(r, g, b) {
-
-   var hue;
-   var saturation;
-   var brightness;
-
-   var cmax = (r > g) ? r : g;
-   if (b > cmax)
-      cmax = b;
-
-   var cmin = (r < g) ? r : g;
-   if (b < cmin)
-      cmin = b;
-
-   brightness = cmax / 255.0;
-   if (cmax != 0)
-      saturation = (cmax - cmin)/cmax;
-   else
-      saturation = 0;
-
-   if (saturation == 0)
-      hue = 0;
-   else {
-      var redc   = (cmax - r)/(cmax - cmin);
-        var greenc = (cmax - g)/(cmax - cmin);
-        var bluec  = (cmax - b)/(cmax - cmin);
-
-        if (r == cmax)
-           hue = bluec - greenc;
-        else if (g == cmax)
-           hue = 2.0 + redc - bluec;
-      else
-           hue = 4.0 + greenc - redc;
-
-        hue = hue / 6.0;
-        if (hue < 0)
-           hue = hue + 1.0;
-   }
-
-   return { h : hue, s : saturation, b : brightness };
-}
-
diff --git a/public/lib/Rico/Corner.js b/public/lib/Rico/Corner.js
deleted file mode 100644 (file)
index b3a2970..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-/**  
-*  
-*  Copyright 2005 Sabre Airline Solutions  
-*  
-*  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this  
-*  file except in compliance with the License. You may obtain a copy of the License at  
-*  
-*         http://www.apache.org/licenses/LICENSE-2.0  
-*  
-*  Unless required by applicable law or agreed to in writing, software distributed under the  
-*  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,  
-*  either express or implied. See the License for the specific language governing permissions  
-*  and limitations under the License.  
-**/  
-
-
-var Rico = new Object();
-Rico.Corner = {
-
-   round: function(e, options) {
-      var e = $(e);
-      this._setOptions(options);
-
-      var color = this.options.color;
-      if ( this.options.color == "fromElement" )
-         color = this._background(e);
-
-      var bgColor = this.options.bgColor;
-      if ( this.options.bgColor == "fromParent" )
-         bgColor = this._background(e.offsetParent);
-
-      this._roundCornersImpl(e, color, bgColor);
-   },
-
-    /**   This is a helper function to change the background
-    *     color of <div> that has had Rico rounded corners added.
-    *
-    *     It seems we cannot just set the background color for the
-    *     outer <div> so each <span> element used to create the
-    *     corners must have its background color set individually.
-    *
-    * @param {DOM} theDiv - A child of the outer <div> that was
-    *                        supplied to the `round` method.
-    *
-    * @param {str} newColor - The new background color to use.
-    */
-    changeColor: function(theDiv, newColor) {
-   
-        theDiv.style.backgroundColor = newColor;
-
-        var spanElements = theDiv.parentNode.getElementsByTagName("span");
-        
-        for (var currIdx = 0; currIdx < spanElements.length; currIdx++) {
-            spanElements[currIdx].style.backgroundColor = newColor;
-        }
-    }, 
-
-
-    /**   This is a helper function to change the background
-    *     opacity of <div> that has had Rico rounded corners added.
-    *
-    *     See changeColor (above) for algorithm explanation
-    *
-    * @param {DOM} theDiv A child of the outer <div> that was
-    *                        supplied to the `round` method.
-    *
-    * @param {int} newOpacity The new opacity to use (0-1).
-    */
-    changeOpacity: function(theDiv, newOpacity) {
-   
-        var mozillaOpacity = newOpacity;
-        var ieOpacity = 'alpha(opacity=' + newOpacity * 100 + ')';
-        
-        theDiv.style.opacity = mozillaOpacity;
-        theDiv.style.filter = ieOpacity;
-
-        var spanElements = theDiv.parentNode.getElementsByTagName("span");
-        
-        for (var currIdx = 0; currIdx < spanElements.length; currIdx++) {
-            spanElements[currIdx].style.opacity = mozillaOpacity;
-            spanElements[currIdx].style.filter = ieOpacity;
-        }
-
-    },
-
-    /** this function takes care of redoing the rico cornering
-    *    
-    *    you can't just call updateRicoCorners() again and pass it a 
-    *    new options string. you have to first remove the divs that 
-    *    rico puts on top and below the content div.
-    *
-    * @param {DOM} theDiv - A child of the outer <div> that was
-    *                        supplied to the `round` method.
-    *
-    * @param {Array} options - list of options
-    */
-    reRound: function(theDiv, options) {
-
-        var topRico = theDiv.parentNode.childNodes[0];
-        //theDiv would be theDiv.parentNode.childNodes[1]
-        var bottomRico = theDiv.parentNode.childNodes[2];
-       
-        theDiv.parentNode.removeChild(topRico);
-        theDiv.parentNode.removeChild(bottomRico); 
-
-        this.round(theDiv.parentNode, options);
-    }, 
-
-   _roundCornersImpl: function(e, color, bgColor) {
-      if(this.options.border)
-         this._renderBorder(e,bgColor);
-      if(this._isTopRounded())
-         this._roundTopCorners(e,color,bgColor);
-      if(this._isBottomRounded())
-         this._roundBottomCorners(e,color,bgColor);
-   },
-
-   _renderBorder: function(el,bgColor) {
-      var borderValue = "1px solid " + this._borderColor(bgColor);
-      var borderL = "border-left: "  + borderValue;
-      var borderR = "border-right: " + borderValue;
-      var style   = "style='" + borderL + ";" + borderR +  "'";
-      el.innerHTML = "<div " + style + ">" + el.innerHTML + "</div>"
-   },
-
-   _roundTopCorners: function(el, color, bgColor) {
-      var corner = this._createCorner(bgColor);
-      for(var i=0 ; i < this.options.numSlices ; i++ )
-         corner.appendChild(this._createCornerSlice(color,bgColor,i,"top"));
-      el.style.paddingTop = 0;
-      el.insertBefore(corner,el.firstChild);
-   },
-
-   _roundBottomCorners: function(el, color, bgColor) {
-      var corner = this._createCorner(bgColor);
-      for(var i=(this.options.numSlices-1) ; i >= 0 ; i-- )
-         corner.appendChild(this._createCornerSlice(color,bgColor,i,"bottom"));
-      el.style.paddingBottom = 0;
-      el.appendChild(corner);
-   },
-
-   _createCorner: function(bgColor) {
-      var corner = document.createElement("div");
-      corner.style.backgroundColor = (this._isTransparent() ? "transparent" : bgColor);
-      return corner;
-   },
-
-   _createCornerSlice: function(color,bgColor, n, position) {
-      var slice = document.createElement("span");
-
-      var inStyle = slice.style;
-      inStyle.backgroundColor = color;
-      inStyle.display  = "block";
-      inStyle.height   = "1px";
-      inStyle.overflow = "hidden";
-      inStyle.fontSize = "1px";
-
-      var borderColor = this._borderColor(color,bgColor);
-      if ( this.options.border && n == 0 ) {
-         inStyle.borderTopStyle    = "solid";
-         inStyle.borderTopWidth    = "1px";
-         inStyle.borderLeftWidth   = "0px";
-         inStyle.borderRightWidth  = "0px";
-         inStyle.borderBottomWidth = "0px";
-         inStyle.height            = "0px"; // assumes css compliant box model
-         inStyle.borderColor       = borderColor;
-      }
-      else if(borderColor) {
-         inStyle.borderColor = borderColor;
-         inStyle.borderStyle = "solid";
-         inStyle.borderWidth = "0px 1px";
-      }
-
-      if ( !this.options.compact && (n == (this.options.numSlices-1)) )
-         inStyle.height = "2px";
-
-      this._setMargin(slice, n, position);
-      this._setBorder(slice, n, position);
-      return slice;
-   },
-
-   _setOptions: function(options) {
-      this.options = {
-         corners : "all",
-         color   : "fromElement",
-         bgColor : "fromParent",
-         blend   : true,
-         border  : false,
-         compact : false
-      }
-      Object.extend(this.options, options || {});
-
-      this.options.numSlices = this.options.compact ? 2 : 4;
-      if ( this._isTransparent() )
-         this.options.blend = false;
-   },
-
-   _whichSideTop: function() {
-      if ( this._hasString(this.options.corners, "all", "top") )
-         return "";
-
-      if ( this.options.corners.indexOf("tl") >= 0 && this.options.corners.indexOf("tr") >= 0 )
-         return "";
-
-      if (this.options.corners.indexOf("tl") >= 0)
-         return "left";
-      else if (this.options.corners.indexOf("tr") >= 0)
-          return "right";
-      return "";
-   },
-
-   _whichSideBottom: function() {
-      if ( this._hasString(this.options.corners, "all", "bottom") )
-         return "";
-
-      if ( this.options.corners.indexOf("bl")>=0 && this.options.corners.indexOf("br")>=0 )
-         return "";
-
-      if(this.options.corners.indexOf("bl") >=0)
-         return "left";
-      else if(this.options.corners.indexOf("br")>=0)
-         return "right";
-      return "";
-   },
-
-   _borderColor : function(color,bgColor) {
-      if ( color == "transparent" )
-         return bgColor;
-      else if ( this.options.border )
-         return this.options.border;
-      else if ( this.options.blend )
-         return this._blend( bgColor, color );
-      else
-         return "";
-   },
-
-
-   _setMargin: function(el, n, corners) {
-      var marginSize = this._marginSize(n);
-      var whichSide = corners == "top" ? this._whichSideTop() : this._whichSideBottom();
-
-      if ( whichSide == "left" ) {
-         el.style.marginLeft = marginSize + "px"; el.style.marginRight = "0px";
-      }
-      else if ( whichSide == "right" ) {
-         el.style.marginRight = marginSize + "px"; el.style.marginLeft  = "0px";
-      }
-      else {
-         el.style.marginLeft = marginSize + "px"; el.style.marginRight = marginSize + "px";
-      }
-   },
-
-   _setBorder: function(el,n,corners) {
-      var borderSize = this._borderSize(n);
-      var whichSide = corners == "top" ? this._whichSideTop() : this._whichSideBottom();
-      if ( whichSide == "left" ) {
-         el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = "0px";
-      }
-      else if ( whichSide == "right" ) {
-         el.style.borderRightWidth = borderSize + "px"; el.style.borderLeftWidth  = "0px";
-      }
-      else {
-         el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = borderSize + "px";
-      }
-      if (this.options.border != false)
-        el.style.borderLeftWidth = borderSize + "px"; el.style.borderRightWidth = borderSize + "px";
-   },
-
-   _marginSize: function(n) {
-      if ( this._isTransparent() )
-         return 0;
-
-      var marginSizes          = [ 5, 3, 2, 1 ];
-      var blendedMarginSizes   = [ 3, 2, 1, 0 ];
-      var compactMarginSizes   = [ 2, 1 ];
-      var smBlendedMarginSizes = [ 1, 0 ];
-
-      if ( this.options.compact && this.options.blend )
-         return smBlendedMarginSizes[n];
-      else if ( this.options.compact )
-         return compactMarginSizes[n];
-      else if ( this.options.blend )
-         return blendedMarginSizes[n];
-      else
-         return marginSizes[n];
-   },
-
-   _borderSize: function(n) {
-      var transparentBorderSizes = [ 5, 3, 2, 1 ];
-      var blendedBorderSizes     = [ 2, 1, 1, 1 ];
-      var compactBorderSizes     = [ 1, 0 ];
-      var actualBorderSizes      = [ 0, 2, 0, 0 ];
-
-      if ( this.options.compact && (this.options.blend || this._isTransparent()) )
-         return 1;
-      else if ( this.options.compact )
-         return compactBorderSizes[n];
-      else if ( this.options.blend )
-         return blendedBorderSizes[n];
-      else if ( this.options.border )
-         return actualBorderSizes[n];
-      else if ( this._isTransparent() )
-         return transparentBorderSizes[n];
-      return 0;
-   },
-
-   _hasString: function(str) { for(var i=1 ; i<arguments.length ; i++) if (str.indexOf(arguments[i]) >= 0) return true; return false; },
-   _blend: function(c1, c2) { var cc1 = Rico.Color.createFromHex(c1); cc1.blend(Rico.Color.createFromHex(c2)); return cc1; },
-   _background: function(el) { try { return Rico.Color.createColorFromBackground(el).asHex(); } catch(err) { return "#ffffff"; } },
-   _isTransparent: function() { return this.options.color == "transparent"; },
-   _isTopRounded: function() { return this._hasString(this.options.corners, "all", "top", "tl", "tr"); },
-   _isBottomRounded: function() { return this._hasString(this.options.corners, "all", "bottom", "bl", "br"); },
-   _hasSingleTextChild: function(el) { return el.childNodes.length == 1 && el.childNodes[0].nodeType == 3; }
-}
index 252a25acc9f9b1c312d53579f23a8f304c676898..ee246999912aa11ac6cd60616df0ec9b525cd527 100644 (file)
@@ -441,7 +441,18 @@ if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this
 return new OpenLayers.Pixel((evt.clientX+this.element.scrolls[0])-this.element.offsets[0]
 -this.element.lefttop[0],(evt.clientY+this.element.scrolls[1])-this.element.offsets[1]
 -this.element.lefttop[1]);},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(options){OpenLayers.Util.extend(this,options);this.options=options;},destroy:function(){},read:function(data){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"));},write:function(object){OpenLayers.Console.userError(OpenLayers.i18n("writeNotImplemented"));},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Lang.ca={'unhandledRequest':"Resposta a petició no gestionada ${statusText}",'permalink':"Enllaç permanent",'overlays':"Capes addicionals",'baseLayer':"Capa Base",'sameProjection':"El mapa de referència només funciona si té la mateixa projecció que el mapa principal",'readNotImplemented':"Lectura no implementada.",'writeNotImplemented':"Escriptura no implementada.",'noFID':"No es pot actualitzar un element per al que no existeix FID.",'errorLoadingGML':"Error caregant el fitxer GML ${url}",'browserNotSupported':"El seu navegador no suporta renderització vectorial. Els renderitzadors suportats actualmente són:\n${renderers}",'componentShouldBe':"addFeatures : el component ha de ser de tipus ${geomType}",'getFeatureError':"getFeatureFromEvent ha estat cridat a una capa sense renderizador. Això normalment vol dir que "+"s'ha eliminat una capa, però no el handler associat a ella.",'minZoomLevelError':"La propietat minZoomLevel s'ha d'utilitzar només "+"amb les capes que tenen FixedZoomLevels. El fet que "+"una capa wfs comprovi minZoomLevel és una reliquia del "+"passat. No podem, però, eliminar-la sense trencar "+"les aplicacions d'OpenLayers que en puguin dependre. "+"Així doncs estem fent-la obsoleta -- la comprovació "+"minZoomLevel s'eliminarà a la versió 3.0. Feu servir "+"els paràmetres min/max resolution en substitució, tal com es descriu aquí: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacció WFS: CORRECTA ${response}",'commitFailed':"Transacció WFS: HA FALLAT ${response}",'googleWarning':"La capa Google no s'ha pogut carregar correctament.<br><br>"+"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.<br><br>"+"Probablement això és degut a que l'script de la biblioteca de "+"Google Maps no ha estat inclòs a la vostra pàgina, o no "+"conté la clau de l'API correcta per a la vostra adreça.<br><br>"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>féu clic aquí</a>",'getLayerWarning':"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.<br><br>"+"Probablement això és degut a que l'script de la biblioteca "+"${layerLib} "+"no ha estat inclòs a la vostra pàgina.<br><br>"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>féu clic aquí</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Heu intentat afegir la capa: ${layerName} al mapa, pero ja ha estat afegida anteriorment",'reprojectDeprecated':"Esteu fent servir l'opció 'reproject' a la capa "+"${layerName}. Aquesta opció és obsoleta: el seu ús fou concebut "+"per suportar la visualització de dades sobre mapes base comercials, "+"però aquesta funcionalitat s'hauria d'assolir ara mitjançant el suport "+"de la projecció Spherical Mercator. Més informació disponible a "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Aquest mètode és obsolet i s'eliminará a la versió 3.0. "+"Si us plau feu servir em mètode alternatiu ${newMethod}.",'boundsAddError':"Ha de proporcionar els valors x i y a la funció add.",'lonlatAddError':"Ha de proporcionar els valors lon i lat a la funció add.",'pixelAddError':"Ha de proporcionar els valors x i y a la funció add.",'unsupportedGeometryType':"Tipus de geometria no suportada: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition ha fallat: l'element amb id ${elemId} pot estar fora de lloc.",'filterEvaluateNotImplemented':"evaluate no està implementat per aquest tipus de filtre.",'end':''};OpenLayers.Lang.en={'unhandledRequest':"Unhandled request return ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Base Layer",'sameProjection':"The overview map only works when it is in the same projection as the main map",'readNotImplemented':"Read not implemented.",'writeNotImplemented':"Write not implemented.",'noFID':"Can't update a feature for which there is no FID.",'errorLoadingGML':"Error in loading GML file ${url}",'browserNotSupported':"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",'componentShouldBe':"addFeatures : component should be an ${geomType}",'getFeatureError':"getFeatureFromEvent called on layer with no renderer. This usually means you "+"destroyed a layer, but not some handler which is associated with it.",'minZoomLevelError':"The minZoomLevel property is only intended for use "+"with the FixedZoomLevels-descendent layers. That this "+"wfs layer checks for minZoomLevel is a relic of the"+"past. We cannot, however, remove it without possibly "+"breaking OL based applications that may depend on it."+" Therefore we are deprecating it -- the minZoomLevel "+"check below will be removed at 3.0. Please instead "+"use min/max resolution setting as described here: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: SUCCESS ${response}",'commitFailed':"WFS Transaction: FAILED ${response}",'googleWarning':"The Google Layer was unable to load correctly.<br><br>"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.<br><br>"+"Most likely, this is because the Google Maps library "+"script was either not included, or does not contain the "+"correct API key for your site.<br><br>"+"Developers: For help getting this working correctly, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>click here</a>",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.<br><br>"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.<br><br>"+"Most likely, this is because the ${layerLib} library "+"script was not correctly included.<br><br>"+"Developers: For help getting this working correctly, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>click here</a>",'scale':"Scale = 1 : ${scaleDenom}",'layerAlreadyAdded':"You tried to add the layer: ${layerName} to the map, but it has already been added",'reprojectDeprecated':"You are using the 'reproject' option "+"on the ${layerName} layer. This option is deprecated: "+"its use was designed to support displaying data over commercial "+"basemaps, but that functionality should now be achieved by using "+"Spherical Mercator support. More information is available from "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"This method has been deprecated and will be removed in 3.0. "+"Please use ${newMethod} instead.",'boundsAddError':"You must pass both x and y values to the add function.",'lonlatAddError':"You must pass both lon and lat values to the add function.",'pixelAddError':"You must pass both x and y values to the add function.",'unsupportedGeometryType':"Unsupported geometry type: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",'end':'','filterEvaluateNotImplemented':"evaluate is not implemented for this filter type."};OpenLayers.Lang.es={'unhandledRequest':"Respuesta a petición no gestionada ${statusText}",'permalink':"Enlace permanente",'overlays':"Capas superpuestas",'baseLayer':"Capa Base",'sameProjection':"El mini mapa sólo funciona si está en la misma proyección que el mapa principal",'readNotImplemented':"Lectura no implementada.",'writeNotImplemented':"Escritura no implementada.",'noFID':"No se puede actualizar un elemento para el que no existe FID.",'errorLoadingGML':"Error cargando el fichero GML ${url}",'browserNotSupported':"Su navegador no soporta renderización vectorial. Los renderizadores soportados actualmente son:\n${renderers}",'componentShouldBe':"addFeatures : el componente debe ser del tipo ${geomType}",'getFeatureError':"getFeatureFromEvent llamado en una capa sin renderizador. Esto normalmente quiere decir que "+"se ha destruido una capa, pero no el manejador asociado a ella.",'minZoomLevelError':"La propiedad minZoomLevel debe sólo utilizarse "+"con las capas que tienen FixedZoomLevels. El hecho de que "+"una capa wfs compruebe minZoomLevel is una reliquia del "+"pasado. Sin embargo, no podemos eliminarla sin discontinuar "+"probablemente las aplicaciones OL que puedan depender de ello. "+"Así pues estamos haciéndolo obsoleto --la comprobación "+"minZoomLevel se eliminará en la versión 3.0. Utilice el ajuste "+"de resolution min/max en su lugar, tal como se describe aquí: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacción WFS: ÉXITO ${response}",'commitFailed':"Transacción WFS: FALLÓ ${response}",'googleWarning':"La capa Google no pudo ser cargada correctamente.<br><br>"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.<br><br>"+"Probablemente, esto se debe a que el script de la biblioteca de "+"Google Maps no fue correctamente incluido en su página, o no "+"contiene la clave del API correcta para su sitio.<br><br>"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>haga clic aquí</a>",'getLayerWarning':"La capa ${layerType} no pudo ser cargada correctamente.<br><br>"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.<br><br>"+"Probablemente, esto se debe a que el script de "+"la biblioteca ${layerLib} "+"no fue correctamente incluido en su página.<br><br>"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>haga clic aquí</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Intentó añadir la capa: ${layerName} al mapa, pero ya había sido añadida previamente",'reprojectDeprecated':"Está usando la opción 'reproject' en la capa "+"${layerName}. Esta opción está obsoleta: su uso fue diseñado "+"para soportar la visualización de datos sobre mapas base comerciales, "+"pero esa funcionalidad debería conseguirse ahora mediante el soporte "+"de la proyección Spherical Mercator. Más información disponible en "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método está obsoleto y se eliminará en la versión 3.0. "+"Por favor utilice el método ${newMethod} en su lugar.",'boundsAddError':"Debe proporcionar los valores x e y a la función add.",'lonlatAddError':"Debe proporcionar los valores lon y lat a la función add.",'pixelAddError':"Debe proporcionar los valores x e y a la función add.",'unsupportedGeometryType':"Tipo de geometría no soportada: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falló: el elemento con id ${elemId} puede haberse colocado de manera errónea.",'filterEvaluateNotImplemented':"evaluate no está implementado para este tipo de filtro.",'end':''};OpenLayers.Lang.fr={'unhandledRequest':"Requête non gérée, retournant ${statusText}",'permalink':"Permalien",'overlays':"Calques",'baseLayer':"Calque de base",'sameProjection':"La carte de situation ne fonctionne que lorsque sa projection est la même que celle de la carte principale",'readNotImplemented':"Lecture non implémentée.",'writeNotImplemented':"Ecriture non implémentée.",'noFID':"Impossible de mettre à jour un objet sans identifiant (fid).",'errorLoadingGML':"Erreur au chargement du fichier GML ${url}",'browserNotSupported':"Votre navigateur ne supporte pas le rendu vectoriel. Les renderers actuellement supportés sont : \n${renderers}",'componentShouldBe':"addFeatures : le composant devrait être de type ${geomType}",'getFeatureError':"getFeatureFromEvent a été appelé sur un calque sans renderer. Cela signifie généralement que vous "+"avez détruit cette couche, mais que vous avez conservé un handler qui lui était associé.",'minZoomLevelError':"La propriété minZoomLevel doit seulement être utilisée "+"pour des couches FixedZoomLevels-descendent. Le fait que "+"cette couche WFS vérifie la présence de minZoomLevel "+"est une relique du passé. Nous ne pouvons toutefois la "+"supprimer sans casser des applications qui pourraient en dépendre."+" C'est pourquoi nous la déprécions -- la vérification du minZoomLevel "+"sera supprimée en version 3.0. A la place, merci d'utiliser "+"les paramètres de résolutions min/max tel que décrit sur : "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transaction WFS : SUCCES ${response}",'commitFailed':"Transaction WFS : ECHEC ${response}",'googleWarning':"La couche Google n'a pas été en mesure de se charger correctement.<br><br>"+"Pour supprimer ce message, choisissez une nouvelle BaseLayer "+"dans le sélecteur de couche en haut à droite.<br><br>"+"Cela est possiblement causé par la non-inclusion de la "+"librairie Google Maps, ou alors parce que la clé de l'API "+"ne correspond pas à votre site.<br><br>"+"Développeurs : pour savoir comment corriger ceci, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>cliquez ici</a>",'getLayerWarning':"La couche ${layerType} n'est pas en mesure de se charger correctement.<br><br>"+"Pour supprimer ce message, choisissez une nouvelle BaseLayer "+"dans le sélecteur de couche en haut à droite.<br><br>"+"Cela est possiblement causé par la non-inclusion de la "+"librairie ${layerLib}.<br><br>"+"Développeurs : pour savoir comment corriger ceci, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>cliquez ici</a>",'scale':"Echelle ~ 1 : ${scaleDenom}",'layerAlreadyAdded':"Vous avez essayé d'ajouter à la carte le calque : ${layerName}, mais il est déjà présent",'reprojectDeprecated':"Vous utilisez l'option 'reproject' "+"sur la couche ${layerName}. Cette option est dépréciée : "+"Son usage permettait d'afficher des données au dessus de couches raster commerciales."+"Cette fonctionalité est maintenant supportée en utilisant le support de la projection "+"Mercator Sphérique. Plus d'information est disponible sur "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Cette méthode est dépréciée, et sera supprimée à la version 3.0. "+"Merci d'utiliser ${newMethod} à la place.",'boundsAddError':"Vous devez passer les deux valeurs x et y à la fonction add.",'lonlatAddError':"Vous devez passer les deux valeurs lon et lat à la fonction add.",'pixelAddError':"Vous devez passer les deux valeurs x et y à la fonction add.",'unsupportedGeometryType':"Type de géométrie non supporté : ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition a échoué: l'élément d'id ${elemId} pourrait être mal positionné.",'end':''};OpenLayers.Lang.it={'unhandledRequest':"Codice di ritorno della richiesta ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Livello base",'sameProjection':"La mini mappa funziona solamente se ha la stessa proiezione della mappa principale",'readNotImplemented':"Lettura non implementata.",'writeNotImplemented':"Scrittura non implementata.",'noFID':"Impossibile aggiornare un elemento grafico che non abbia il FID.",'errorLoadingGML':"Errore nel caricamento del file GML ${url}",'browserNotSupported':"Il tuo browser non supporta il rendering vettoriale. I renderizzatore attualemnte supportati sono:\n${renderers}",'componentShouldBe':"addFeatures : il componente dovrebbe essere di tipo ${geomType}",'getFeatureError':"getFeatureFromEvent chiamata su di un livello senza renderizzatore. Ciò significa che "+"il livello è stato cancellato, ma non i gestori associati ad esso.",'minZoomLevelError':"La proprietà minZoomLevel è da utilizzare solamente "+"con livelli che abbiano FixedZoomLevels. Il fatto che "+"questo livello wfs controlli la proprietà minZoomLevel è "+"un retaggio del passato. Non possiamo comunque rimuoverla "+"senza rompere le vecchie applicazioni che dipendono su di essa."+"Quindi siamo costretti a deprecarla -- minZoomLevel "+"e sarà rimossa dalla vesione 3.0. Si prega di utilizzare i "+"settaggi di risoluzione min/max come descritto qui: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transazione WFS: SUCCESS ${response}",'commitFailed':"Transazione WFS: FAILED ${response}",'googleWarning':"Il livello Google non è riuscito a caricare correttamente.<br><br>"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.<br><br>"+"Più precisamente, ciò accade perchè la libreria Google Maps "+"non è stata inclusa nella pagina, oppure non contiene la "+"corretta API key per il tuo sito.<br><br>"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>clicca qui</a>",'getLayerWarning':"Il livello ${layerType} non è riuscito a caricare correttamente.<br><br>"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.<br><br>"+"Più precisamente, ciò accade perchè la libreria ${layerLib} "+"non è stata inclusa nella pagina.<br><br>"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>clicca qui</a>",'scale':"Scala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Stai cercando di aggiungere il livello: ${layerName} alla mappa, ma tale livello è già stato aggiunto.",'reprojectDeprecated':"Stai utilizzando l'opzione 'reproject' sul livello ${layerName}. "+"Questa opzione è deprecata: il suo utilizzo è stato introdotto per"+"supportare il disegno dei dati sopra mappe commerciali, ma tale "+"funzionalità dovrebbe essere ottenuta tramite l'utilizzo della proiezione "+"Spherical Mercator. Per maggiori informazioni consultare qui "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Questo metodo è stato deprecato e sarà rimosso dalla versione 3.0. "+"Si prega di utilizzare il metodo ${newMethod} in alternativa.",'boundsAddError':"Devi specificare i valori di x e y alla funzione add.",'lonlatAddError':"Devi specificare i valori di lon e lat alla funzione add.",'pixelAddError':"Devi specificare i valori di x e y alla funzione add.",'unsupportedGeometryType':"Tipo di geometria non supportata: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fallita: l'elemento con id ${elemId} è posizionato in modo errato.",'end':''};OpenLayers.Lang["pt-BR"]={'unhandledRequest':"A requisição retornou um erro não tratado: ${statusText}",'permalink':"Link para essa página",'overlays':"Camadas de Sobreposição",'baseLayer':"Camada Base",'sameProjection':"O mapa de referência só funciona quando ele está na mesma projeção do mapa principal",'readNotImplemented':"Leitura não implementada.",'writeNotImplemented':"Escrita não implementada.",'noFID':"Não é possível atualizar uma feição que não tenha um FID.",'errorLoadingGML':"Erro ao carregar o arquivo GML ${url}",'browserNotSupported':"Seu navegador não suporta renderização de vetores. Os renderizadores suportados atualmente são:\n${renderers}",'componentShouldBe':"addFeatures: o componente deve ser do tipo ${geomType}",'getFeatureError':"getFeatureFromEvent foi executado mas nenhum renderizador foi encontrado. "+"Isso pode indicar que você destruiu uma camana, mas não o handler associado a ela.",'minZoomLevelError':"A propriedade minZoomLevel é de uso restrito das camadas "+"descendentes de FixedZoomLevels. A verificação dessa propriedade "+"pelas camadas wfs é um resíduo do passado. Não podemos, entretanto "+"não é possível removê-la sem possívelmente quebrar o funcionamento "+"de aplicações OL que possuem depência com ela. Portanto estamos "+"tornando seu uso obsoleto -- a verificação desse atributo será "+"removida na versão 3.0. Ao invés, use as opções de resolução "+"min/max como descrito em: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transação WFS : SUCESSO ${response}",'commitFailed':"Transação WFS : ERRO ${response}",'googleWarning':"Não foi possível carregar a camada Google corretamente.<br><br>"+"Para se livrar dessa mensagem, selecione uma nova Camada Base, "+"na ferramenta de alternação de camadas localização do canto "+"superior direito.<br><br>"+"Muito provavelmente, isso foi causado porque o script da "+"biblioteca do Google Maps não foi incluído, ou porque ele não "+"contém a chave correta da API para o seu site.<br><br>"+"Desenvolvedores: Para obter ajuda em solucionar esse problema "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>cliquem aqui</a>",'getLayerWarning':"Não foi possível carregar a camada ${layerType} corretamente.<br><br>"+"Para se livrar dessa mensagem, selecione uma nova Camada Base, "+"na ferramenta de alternação de camadas localização do canto "+"superior direito.<br><br>"+"Muito provavelmente, isso foi causado porque o script da "+"biblioteca ${layerLib} não foi incluído corretamente.<br><br>"+"Desenvolvedores: Para obter ajuda em solucionar esse problema "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>cliquem aqui</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Você tentou adicionar a camada: ${layerName} ao mapa, mas ela já foi adicionada",'reprojectDeprecated':"Você está usando a opção 'reproject' na camada ${layerName}. "+"Essa opção está obsoleta: seu uso foi projetado para suportar "+"a visualização de dados sobre bases de mapas comerciais, "+"entretanto essa funcionalidade deve agora ser alcançada usando "+"o suporte à projeção Mercator. Mais informação está disponível em: "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Esse método está obsoleto e será removido na versão 3.0. "+"Ao invés, por favor use ${newMethod}.",'boundsAddError':"Você deve informar ambos os valores x e y para a função add.",'lonlatAddError':"Você deve informar ambos os valores lon e lat para a função add.",'pixelAddError':"Você deve informar ambos os valores x e y para a função add.",'unsupportedGeometryType':"Tipo geométrico não suportado: ${geomType}.",'pagePositionFailed':"OpenLayers.Util.pagePosition falhou: o elemento de id ${elemId} deve estar fora do lugar.",'end':''};OpenLayers.Lang["zh-CN"]={'unhandledRequest':"未处理的请求,返回值为 ${statusText}",'permalink':"永久链接",'overlays':"叠加层",'baseLayer':"基础图层",'sameProjection':"鹰眼地图只有在和主地图使用相同的投影的时候才能正常共工作",'readNotImplemented':"读取功能没有实现。",'writeNotImplemented':"写入功能没有实现。",'noFID':"无法更新feature,缺少FID。",'errorLoadingGML':"加载GML文件 ${url} 出现错误。",'browserNotSupported':"你使用的浏览器不支持矢量渲染。当前支持的渲染方式包括:\n${renderers}",'componentShouldBe':"addFeatures : 组件类型应该是 ${geomType}",'getFeatureError':"getFeatureFromEvent方法在一个没有渲染器的图层上被调用。 这通常意味着您"+"销毁了一个图层,但并未销毁其关联的handler。",'minZoomLevelError':"minZoomLevel属性仅适合用于"+"使用了固定缩放级别的图层。这个 "+"wfs 图层检查 minZoomLevel 是过去遗留下来的。"+"然而,我们不能移除它,"+"而破坏依赖于它的基于OL的应用程序。"+"因此,我们废除了它 -- minZoomLevel "+"将会在3.0中被移除。请改用 "+"min/max resolution 设置,参考:"+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: 成功。 ${response}",'commitFailed':"WFS Transaction: 失败。 ${response}",'googleWarning':"Google图层不能正确加载。<br><br>"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。<br><br>"+"这种情况很可能是没有正确的包含Google地图脚本库,"+"或者是没有包含在你的站点上"+"使用的正确的Google Maps API密匙。<br><br>"+"开发者:获取使其正确工作的帮助信息,"+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>点击这里</a>",'getLayerWarning':"${layerType} 图层不能正确加载。<br><br>"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。<br><br>"+"这种情况很可能是没有正确的包含"+"${layerLib} 脚本库。<br><br>"+"开发者:获取使其正确工作的帮助信息,"+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>点击这里</a>",'scale':"比例尺 = 1 : ${scaleDenom}",'layerAlreadyAdded':"你尝试添加图层: ${layerName} 到地图中,但是它之前就已经被添加。",'reprojectDeprecated':"你正在使用 ${layerName} 图层上的'reproject'选项。"+"这个选项已经不再使用:"+"它是被设计用来支持显示商业的地图数据,"+"不过现在该功能可以通过使用Spherical Mercator来实现。"+"更多信息可以参阅"+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"该方法已经不再被支持,并且将在3.0中被移除。"+"请使用 ${newMethod} 方法来替代。",'boundsAddError':"您必须传递 x 和 y 两个参数值到 add 方法。",'lonlatAddError':"您必须传递 lon 和 lat 两个参数值到 add 方法。",'pixelAddError':"您必须传递 x and y 两个参数值到 add 方法。",'unsupportedGeometryType':"不支持的几何体类型: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition 失败:id 为 ${elemId} 的元素可能被错置。",'end':''};OpenLayers.Lang["zh-TW"]={'unhandledRequest':"未處理的請求,傳回值為 ${statusText}。",'permalink':"永久連結",'overlays':"額外圖層",'baseLayer':"基礎圖層",'sameProjection':"地圖縮覽(OverviewMap)只能在跟主地圖相同投影時起作用。",'readNotImplemented':"沒有實作讀取的功能。",'writeNotImplemented':"沒有實作寫入的功能。",'noFID':"因為沒有 FID 所以無法更新 feature。",'errorLoadingGML':"讀取GML檔案 ${url} 錯誤。",'browserNotSupported':"您的瀏覽器未支援向量渲染. 目前支援的渲染方式是:\n${renderers}",'componentShouldBe':"addFeatures : 元件應該為 ${geomType}",'getFeatureError':"getFeatureFromEvent 在一個沒有被渲染的圖層裡被呼叫。這通常意味著您 "+"摧毀了一個圖層,但並未摧毀相關的handler。",'minZoomLevelError':"minZoomLevel 屬性僅適合用在 "+"FixedZoomLevels-descendent 類型的圖層. 這個"+"wfs layer 的 minZoomLevel 是過去所遺留下來的,"+"然而我們不能移除它而不讓它將"+"過去的程式相容性給破壞掉。"+"因此我們將會迴避使用它 -- minZoomLevel "+"會在3.0被移除,請改"+"用在這邊描述的 min/max resolution 設定: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: 成功 ${response}",'commitFailed':"WFS Transaction: 失敗 ${response}",'googleWarning':"The Google Layer 圖層無法被正確的載入。<br><br>"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。<br><br>"+"很有可能是因為 Google Maps 的函式庫"+"腳本沒有被正確的置入,或沒有包含 "+"您網站上正確的 API key <br><br>"+"開發者: 要幫助這個行為正確完成,"+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>請按這裡</a>",'getLayerWarning':"${layerType} 圖層無法被正確的載入。<br><br>"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。<br><br>"+"很有可能是因為 ${layerLib} 的函式庫"+"腳本沒有被正確的置入。<br><br>"+"開發者: 要幫助這個行為正確完成,"+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>請按這裡</a>",'scale':"Scale = 1 : ${scaleDenom}",'layerAlreadyAdded':"你試著新增圖層: ${layerName} 到地圖上,但圖層之前就已經被新增了。",'reprojectDeprecated':"你正使用 'reproject' 這個選項 "+"在 ${layerName} 層。這個選項已經不再使用:"+"它的使用原本是設計用來支援在商業地圖上秀出資料,"+"但這個功能已經被"+"Spherical Mercator所取代。更多的資訊可以在 "+"http://trac.openlayers.org/wiki/SphericalMercator 找到。",'methodDeprecated':"這個方法已經不再使用且在3.0將會被移除,"+"請使用 ${newMethod} 來代替。",'boundsAddError':"您必須傳入 x 跟 y 兩者的值進 add 函數。",'lonlatAddError':"您必須傳入 lon 跟 lat 兩者的值進 add 函數。",'pixelAddError':"您必須傳入 x 跟 y 兩者的值進 add 函數。",'unsupportedGeometryType':"未支援的幾何型別: ${geomType}。",'pagePositionFailed':"OpenLayers.Util.pagePosition 失敗: id ${elemId} 的 element 可能被錯置。",'end':''};OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);},draw:function(px){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div;},updateRelativePosition:function(){this.setRicoCorners();},setSize:function(contentSize){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners();},setBackgroundColor:function(color){if(color!=undefined){this.backgroundColor=color;}
-if(this.div!=null){if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor);}}},setOpacity:function(opacity){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,opacity);if(this.div!=null){if(this.groupDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity);}}},setBorder:function(border){this.border=0;},setRicoCorners:function(){var corners=this.getCornersToRound(this.relativePosition);var options={corners:corners,color:this.backgroundColor,bgColor:"transparent",blend:false};if(!this.rounded){OpenLayers.Rico.Corner.round(this.div,options);this.rounded=true;}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,options);this.setBackgroundColor();this.setOpacity();}},getCornersToRound:function(){var corners=['tl','tr','bl','br'];var corner=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(corners,corner);return corners.join(" ");},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(projCode,options){OpenLayers.Util.extend(this,options);this.projCode=projCode;if(window.Proj4js){this.proj=new Proj4js.Proj(projCode);}},getCode:function(){return this.proj?this.proj.srsCode:this.projCode;},getUnits:function(){return this.proj?this.proj.units:null;},toString:function(){return this.getCode();},equals:function(projection){if(projection&&projection.getCode){return this.getCode()==projection.getCode();}else{return false;}},destroy:function(){delete this.proj;delete this.projCode;},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(from,to,method){if(!OpenLayers.Projection.transforms[from]){OpenLayers.Projection.transforms[from]={};}
+if(this.div!=null){if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor);}}},setOpacity:function(opacity){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,opacity);if(this.div!=null){if(this.groupDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity);}}},setBorder:function(border){this.border=0;},setRicoCorners:function(){var corners=this.getCornersToRound(this.relativePosition);var options={corners:corners,color:this.backgroundColor,bgColor:"transparent",blend:false};if(!this.rounded){OpenLayers.Rico.Corner.round(this.div,options);this.rounded=true;}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,options);this.setBackgroundColor();this.setOpacity();}},getCornersToRound:function(){var corners=['tl','tr','bl','br'];var corner=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(corners,corner);return corners.join(" ");},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Popup.Framed=OpenLayers.Class(OpenLayers.Popup.Anchored,{imageSrc:null,imageSize:null,isAlphaImage:false,positionBlocks:null,blocks:null,fixedRelativePosition:false,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);if(this.fixedRelativePosition){this.updateRelativePosition();this.calculateRelativePosition=function(px){return this.relativePosition;};}
+this.contentDiv.style.position="absolute";this.contentDiv.style.zIndex=1;if(closeBox){this.closeDiv.style.zIndex=1;}
+this.groupDiv.style.position="absolute";this.groupDiv.style.top="0px";this.groupDiv.style.left="0px";this.groupDiv.style.height="100%";this.groupDiv.style.width="100%";},destroy:function(){this.imageSrc=null;this.imageSize=null;this.isAlphaImage=null;this.fixedRelativePosition=false;this.positionBlocks=null;for(var i=0;i<this.blocks.length;i++){var block=this.blocks[i];if(block.image){block.div.removeChild(block.image);}
+block.image=null;if(block.div){this.groupDiv.removeChild(block.div);}
+block.div=null;}
+this.blocks=null;OpenLayers.Popup.Anchored.prototype.destroy.apply(this,arguments);},setBackgroundColor:function(color){},setBorder:function(){},setOpacity:function(opacity){},setSize:function(contentSize){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.updateBlocks();},updateRelativePosition:function(){this.padding=this.positionBlocks[this.relativePosition].padding;if(this.closeDiv){var contentDivPadding=this.getContentDivPadding();this.closeDiv.style.right=contentDivPadding.right+
+this.padding.right+"px";this.closeDiv.style.top=contentDivPadding.top+
+this.padding.top+"px";}
+this.updateBlocks();},calculateNewPx:function(px){var newPx=OpenLayers.Popup.Anchored.prototype.calculateNewPx.apply(this,arguments);newPx=newPx.offset(this.positionBlocks[this.relativePosition].offset);return newPx;},createBlocks:function(){this.blocks=[];var firstPosition=null;for(var key in this.positionBlocks){firstPosition=key;break;}
+var position=this.positionBlocks[firstPosition];for(var i=0;i<position.blocks.length;i++){var block={};this.blocks.push(block);var divId=this.id+'_FrameDecorationDiv_'+i;block.div=OpenLayers.Util.createDiv(divId,null,null,null,"absolute",null,"hidden",null);var imgId=this.id+'_FrameDecorationImg_'+i;var imageCreator=(this.isAlphaImage)?OpenLayers.Util.createAlphaImageDiv:OpenLayers.Util.createImage;block.image=imageCreator(imgId,null,this.imageSize,this.imageSrc,"absolute",null,null,null);block.div.appendChild(block.image);this.groupDiv.appendChild(block.div);}},updateBlocks:function(){if(!this.blocks){this.createBlocks();}
+if(this.size&&this.relativePosition){var position=this.positionBlocks[this.relativePosition];for(var i=0;i<position.blocks.length;i++){var positionBlock=position.blocks[i];var block=this.blocks[i];var l=positionBlock.anchor.left;var b=positionBlock.anchor.bottom;var r=positionBlock.anchor.right;var t=positionBlock.anchor.top;var w=(isNaN(positionBlock.size.w))?this.size.w-(r+l):positionBlock.size.w;var h=(isNaN(positionBlock.size.h))?this.size.h-(b+t):positionBlock.size.h;block.div.style.width=(w<0?0:w)+'px';block.div.style.height=(h<0?0:h)+'px';block.div.style.left=(l!=null)?l+'px':'';block.div.style.bottom=(b!=null)?b+'px':'';block.div.style.right=(r!=null)?r+'px':'';block.div.style.top=(t!=null)?t+'px':'';block.image.style.left=positionBlock.position.x+'px';block.image.style.top=positionBlock.position.y+'px';}
+this.contentDiv.style.left=this.padding.left+"px";this.contentDiv.style.top=this.padding.top+"px";}},CLASS_NAME:"OpenLayers.Popup.Framed"});OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(projCode,options){OpenLayers.Util.extend(this,options);this.projCode=projCode;if(window.Proj4js){this.proj=new Proj4js.Proj(projCode);}},getCode:function(){return this.proj?this.proj.srsCode:this.projCode;},getUnits:function(){return this.proj?this.proj.units:null;},toString:function(){return this.getCode();},equals:function(projection){if(projection&&projection.getCode){return this.getCode()==projection.getCode();}else{return false;}},destroy:function(){delete this.proj;delete this.projCode;},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(from,to,method){if(!OpenLayers.Projection.transforms[from]){OpenLayers.Projection.transforms[from]={};}
 OpenLayers.Projection.transforms[from][to]=method;};OpenLayers.Projection.transform=function(point,source,dest){if(source.proj&&dest.proj){point=Proj4js.transform(source.proj,dest.proj,point);}else if(source&&dest&&OpenLayers.Projection.transforms[source.getCode()]&&OpenLayers.Projection.transforms[source.getCode()][dest.getCode()]){OpenLayers.Projection.transforms[source.getCode()][dest.getCode()](point);}
 return point;};OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15000,translationParameters:null,symbolSize:{},isGecko:null,initialize:function(containerID){if(!this.supported()){return;}
 OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);this.translationParameters={x:0,y:0};this.isGecko=(navigator.userAgent.toLowerCase().indexOf("gecko/")!=-1);},destroy:function(){OpenLayers.Renderer.Elements.prototype.destroy.apply(this,arguments);},supported:function(){var svgFeature="http://www.w3.org/TR/SVG11/feature#";return(document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature(svgFeature+"SVG","1.1")||document.implementation.hasFeature(svgFeature+"BasicStructure","1.1")));},inValidRange:function(x,y,xyOnly){var left=x+(xyOnly?0:this.translationParameters.x);var top=y+(xyOnly?0:this.translationParameters.y);return(left>=-this.MAX_PIXEL&&left<=this.MAX_PIXEL&&top>=-this.MAX_PIXEL&&top<=this.MAX_PIXEL);},setExtent:function(extent,resolutionChanged){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var resolution=this.getResolution();var left=-extent.left/resolution;var top=extent.top/resolution;if(resolutionChanged){this.left=left;this.top=top;var extentString="0 0 "+this.size.w+" "+this.size.h;this.rendererRoot.setAttributeNS(null,"viewBox",extentString);this.translate(0,0);return true;}else{var inRange=this.translate(left-this.left,top-this.top);if(!inRange){this.setExtent(extent,true);}
@@ -675,7 +686,7 @@ return viewPortPx;},getLayerPxFromViewPortPx:function(viewPortPx){var layerPx=nu
 return layerPx;},getLonLatFromLayerPx:function(px){px=this.getViewPortPxFromLayerPx(px);return this.getLonLatFromViewPortPx(px);},getLayerPxFromLonLat:function(lonlat){var px=this.getPixelFromLonLat(lonlat);return this.getLayerPxFromViewPortPx(px);},CLASS_NAME:"OpenLayers.Map"});OpenLayers.Map.TILE_WIDTH=256;OpenLayers.Map.TILE_HEIGHT=256;OpenLayers.Marker=OpenLayers.Class({icon:null,lonlat:null,events:null,map:null,initialize:function(lonlat,icon){this.lonlat=lonlat;var newIcon=(icon)?icon:OpenLayers.Marker.defaultIcon();if(this.icon==null){this.icon=newIcon;}else{this.icon.url=newIcon.url;this.icon.size=newIcon.size;this.icon.offset=newIcon.offset;this.icon.calculateOffset=newIcon.calculateOffset;}
 this.events=new OpenLayers.Events(this,this.icon.imageDiv,null);},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;if(this.icon!=null){this.icon.destroy();this.icon=null;}},draw:function(px){return this.icon.draw(px);},erase:function(){if(this.icon!=null){this.icon.erase();}},moveTo:function(px){if((px!=null)&&(this.icon!=null)){this.icon.moveTo(px);}
 this.lonlat=this.map.getLonLatFromLayerPx(px);},isDrawn:function(){var isDrawn=(this.icon&&this.icon.isDrawn());return isDrawn;},onScreen:function(){var onScreen=false;if(this.map){var screenBounds=this.map.getExtent();onScreen=screenBounds.containsLonLat(this.lonlat);}
-return onScreen;},inflate:function(inflate){if(this.icon){var newSize=new OpenLayers.Size(this.icon.size.w*inflate,this.icon.size.h*inflate);this.icon.setSize(newSize);}},setOpacity:function(opacity){this.icon.setOpacity(opacity);},setUrl:function(url){this.icon.setUrl(url);},display:function(display){this.icon.display(display);},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){var url=OpenLayers.Util.getImagesLocation()+"marker.png";var size=new OpenLayers.Size(21,25);var calculateOffset=function(size){return new OpenLayers.Pixel(-(size.w/2),-size.h);};return new OpenLayers.Icon(url,size,null,calculateOffset);};OpenLayers.Request={DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:true,user:undefined,password:undefined,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},events:new OpenLayers.Events(this,null,["complete","success","failure"]),issue:function(config){var defaultConfig=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});config=OpenLayers.Util.applyDefaults(config,defaultConfig);var request=new OpenLayers.Request.XMLHttpRequest();var url=config.url;if(config.params){var paramString=OpenLayers.Util.getParameterString(config.params);if(paramString.length>0){var separator=(url.indexOf('?')>-1)?'&':'?';url+=separator+paramString;}}
+return onScreen;},inflate:function(inflate){if(this.icon){var newSize=new OpenLayers.Size(this.icon.size.w*inflate,this.icon.size.h*inflate);this.icon.setSize(newSize);}},setOpacity:function(opacity){this.icon.setOpacity(opacity);},setUrl:function(url){this.icon.setUrl(url);},display:function(display){this.icon.display(display);},CLASS_NAME:"OpenLayers.Marker"});OpenLayers.Marker.defaultIcon=function(){var url=OpenLayers.Util.getImagesLocation()+"marker.png";var size=new OpenLayers.Size(21,25);var calculateOffset=function(size){return new OpenLayers.Pixel(-(size.w/2),-size.h);};return new OpenLayers.Icon(url,size,null,calculateOffset);};OpenLayers.Popup.FramedCloud=OpenLayers.Class(OpenLayers.Popup.Framed,{contentDisplayClass:"olFramedCloudPopupContent",autoSize:true,panMapIfOutOfView:true,imageSize:new OpenLayers.Size(676,736),isAlphaImage:false,fixedRelativePosition:false,positionBlocks:{"tl":{'offset':new OpenLayers.Pixel(44,0),'padding':new OpenLayers.Bounds(8,40,8,9),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size('auto',19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,18),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-638,-632)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(0,-688)}]},"tr":{'offset':new OpenLayers.Pixel(-45,0),'padding':new OpenLayers.Bounds(8,40,8,9),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,51,22,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,50,0,0),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size('auto',19),anchor:new OpenLayers.Bounds(0,32,22,null),position:new OpenLayers.Pixel(0,-631)},{size:new OpenLayers.Size(22,19),anchor:new OpenLayers.Bounds(null,32,0,null),position:new OpenLayers.Pixel(-638,-631)},{size:new OpenLayers.Size(81,35),anchor:new OpenLayers.Bounds(0,0,null,null),position:new OpenLayers.Pixel(-215,-687)}]},"bl":{'offset':new OpenLayers.Pixel(45,0),'padding':new OpenLayers.Bounds(8,9,8,40),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size('auto',21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-638,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-101,-674)}]},"br":{'offset':new OpenLayers.Pixel(-44,0),'padding':new OpenLayers.Bounds(8,9,8,40),'blocks':[{size:new OpenLayers.Size('auto','auto'),anchor:new OpenLayers.Bounds(0,21,22,32),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(22,'auto'),anchor:new OpenLayers.Bounds(null,21,0,32),position:new OpenLayers.Pixel(-638,0)},{size:new OpenLayers.Size('auto',21),anchor:new OpenLayers.Bounds(0,0,22,null),position:new OpenLayers.Pixel(0,-629)},{size:new OpenLayers.Size(22,21),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-638,-629)},{size:new OpenLayers.Size(81,33),anchor:new OpenLayers.Bounds(0,null,null,0),position:new OpenLayers.Pixel(-311,-674)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(600,660),initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){this.imageSrc=OpenLayers.Util.getImagesLocation()+'cloud-popup-relative.png';OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments);this.contentDiv.className=this.contentDisplayClass;},destroy:function(){OpenLayers.Popup.Framed.prototype.destroy.apply(this,arguments);},CLASS_NAME:"OpenLayers.Popup.FramedCloud"});OpenLayers.Request={DEFAULT_CONFIG:{method:"GET",url:window.location.href,async:true,user:undefined,password:undefined,params:null,proxy:OpenLayers.ProxyHost,headers:{},data:null,callback:function(){},success:null,failure:null,scope:null},events:new OpenLayers.Events(this,null,["complete","success","failure"]),issue:function(config){var defaultConfig=OpenLayers.Util.extend(this.DEFAULT_CONFIG,{proxy:OpenLayers.ProxyHost});config=OpenLayers.Util.applyDefaults(config,defaultConfig);var request=new OpenLayers.Request.XMLHttpRequest();var url=config.url;if(config.params){var paramString=OpenLayers.Util.getParameterString(config.params);if(paramString.length>0){var separator=(url.indexOf('?')>-1)?'&':'?';url+=separator+paramString;}}
 if(config.proxy&&(url.indexOf("http")==0)){url=config.proxy+encodeURIComponent(url);}
 request.open(config.method,url,config.async,config.user,config.password);for(var header in config.headers){request.setRequestHeader(header,config.headers[header]);}
 var complete=(config.scope)?OpenLayers.Function.bind(config.callback,config.scope):config.callback;var success;if(config.success){success=(config.scope)?OpenLayers.Function.bind(config.success,config.scope):config.success;}
index a060ce7eebcccb4a834d3b783f57ef8ed56b0e28..754d78e5d805f7415dfba1b1d97fff3997de8e3f 100644 (file)
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"\r
-                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">\r
-       <ShortName>OpenStreetMap</ShortName>\r
-       <LongName>OpenStreetMap Search</LongName>\r
-       <Description>Search for a place in OpenStreetMap, the Wiki World Map</Description>\r
-       <InputEncoding>UTF-8</InputEncoding>\r
-       <OutputEncoding>UTF-8</OutputEncoding>\r
-       <Image width="16" height="16">data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%19tEXtSoftware%00www.inkscape.org%9B%EE%3C%1A%00%00%01'IDATx%9C%9D%93%B1q%C30%0CE%1F%5Dd%80l%90I%C4*%A7%22%95%CF%85J%97%AE%B2%82%3DC%CE%03%A0%B3%9B%B8f%95%A3%17H%93%05%5C%A7%C8%0A%3F%05E%8A%92l%E7.%D0%E9N%02%81%07%E0Cr%FCaf%A6%FC%BC%5E%AF%DD%F4%3C%3Bt%C5%87%99)%84P%0E%DA%B6%BD%0AI%00%A1%A8%A8%1E%263S%D7u%C9'F%FE%9B%80%0C%C9%C9%22%BD'%B0%0A%AC%86%2CJ%DB%0E%22%11%8F%2F%D4%B3%22%8D%F34%CE%13u%06R%0C%40%D7u%AA%01%C5r%40%0Dq%88%C6%F9i%E8%7C%8CX%5D%A9M%95%D6%A3%A2Ti%C3Xx%CA%9C%F5mf3h%11%B6%07%B8%0APh%97%DD%1E%9E%5E%08!%D0%B6m%F1%87%108%1E%8EY5%007%03%5Cv%7B%00%3E%BF%3E%F8~x%1E%CD%B89l%00%F0I%0FWw%00%20%DB%AEJr%B6%E5%FB%09%80%C6y%CE%7D%91%1AP%B6p%2B%D9%BB%06%18V%3A%B5E%9F%AC%5B%95%AFY%3F%EE%20%A2mW%AA%93%DFN%3F%A0%E1%9B%F0u%E5%BC%BC%89%88%BC.%1F%D5'%DF%FD%C1%EE%F8%FFg%BFp%96%DF%E2%DCw%25%2B%00%00%00%00IEND%AEB%60%82</Image>\r
-       <Url type="text/html" method="post" template="http://www.openstreetmap.org/">\r
-         <Param name="query" value="{searchTerms}"/>\r
-       </Url>\r
-       <Query role="example" searchTerms="Reigate" />\r
-       <Developer>Jonathan Bennett</Developer>\r
-       <AdultContent>false</AdultContent>\r
-       <Attribution>Data &amp;copy; OpenStreetMap contributors, Some Rights Reserved. CC by-sa 2.0. Geolocation provided by npemap.org.uk, geocoder.us, geocoder.ca and geonames.org.</Attribution>\r
-</OpenSearchDescription>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
+                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
+       <ShortName>OpenStreetMap</ShortName>
+       <LongName>OpenStreetMap Search</LongName>
+       <Description>Search for a place in OpenStreetMap, the Wiki World Map</Description>
+       <InputEncoding>UTF-8</InputEncoding>
+       <OutputEncoding>UTF-8</OutputEncoding>
+       <Image width="16" height="16">data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%19tEXtSoftware%00www.inkscape.org%9B%EE%3C%1A%00%00%01'IDATx%9C%9D%93%B1q%C30%0CE%1F%5Dd%80l%90I%C4*%A7%22%95%CF%85J%97%AE%B2%82%3DC%CE%03%A0%B3%9B%B8f%95%A3%17H%93%05%5C%A7%C8%0A%3F%05E%8A%92l%E7.%D0%E9N%02%81%07%E0Cr%FCaf%A6%FC%BC%5E%AF%DD%F4%3C%3Bt%C5%87%99)%84P%0E%DA%B6%BD%0AI%00%A1%A8%A8%1E%263S%D7u%C9'F%FE%9B%80%0C%C9%C9%22%BD'%B0%0A%AC%86%2CJ%DB%0E%22%11%8F%2F%D4%B3%22%8D%F34%CE%13u%06R%0C%40%D7u%AA%01%C5r%40%0Dq%88%C6%F9i%E8%7C%8CX%5D%A9M%95%D6%A3%A2Ti%C3Xx%CA%9C%F5mf3h%11%B6%07%B8%0APh%97%DD%1E%9E%5E%08!%D0%B6m%F1%87%108%1E%8EY5%007%03%5Cv%7B%00%3E%BF%3E%F8~x%1E%CD%B89l%00%F0I%0FWw%00%20%DB%AEJr%B6%E5%FB%09%80%C6y%CE%7D%91%1AP%B6p%2B%D9%BB%06%18V%3A%B5E%9F%AC%5B%95%AFY%3F%EE%20%A2mW%AA%93%DFN%3F%A0%E1%9B%F0u%E5%BC%BC%89%88%BC.%1F%D5'%DF%FD%C1%EE%F8%FFg%BFp%96%DF%E2%DCw%25%2B%00%00%00%00IEND%AEB%60%82</Image>
+       <Url type="text/html" method="post" template="http://www.openstreetmap.org/">
+         <Param name="query" value="{searchTerms}"/>
+       </Url>
+       <Query role="example" searchTerms="Reigate" />
+       <Developer>Jonathan Bennett</Developer>
+       <AdultContent>false</AdultContent>
+       <Attribution>Data &amp;copy; OpenStreetMap contributors, Some Rights Reserved. CC by-sa 2.0. Geolocation provided by npemap.org.uk, geocoder.us, geocoder.ca and geonames.org.</Attribution>
+</OpenSearchDescription>
index 221dbba7b04599121dcec7782047b986e8adf750..24f2012aaeb2190ab3032aacc5977f303180db97 100644 (file)
Binary files a/public/potlatch/potlatch.swf and b/public/potlatch/potlatch.swf differ
index 8d2bea7eac0e6d9414317c621a07de6cda4f8d19..496aa201e20e4067a3f6550da79ca234d27f02cd 100644 (file)
@@ -29,6 +29,9 @@ Disallow: /traces/tag/
 Disallow: /traces/page/
 Disallow: /api/
 Disallow: /edit
+Disallow: /browse/node/*/history
+Disallow: /browse/way/*/history
+Disallow: /browse/relation/*/history
 Allow: /browse/node/
 Allow: /browse/way/
 Allow: /browse/relation/
@@ -52,6 +55,9 @@ Disallow: /traces/tag/
 Disallow: /traces/page/
 Disallow: /api/
 Disallow: /edit
+Disallow: /browse/node/*/history
+Disallow: /browse/way/*/history
+Disallow: /browse/relation/*/history
 Allow: /browse/node/
 Allow: /browse/way/
 Allow: /browse/relation/
index aa40f689af8b30030391672bb365d2298f8bd5f7..4efbd928f4230efc7dc1f36eb46980bc497e531d 100644 (file)
@@ -1,4 +1,18 @@
-a, a:visited, a:active, a:link, a:hover {
+/* Styles common to large and small screens */
+
+/* Default rules for the body of every page */
+
+body {
+  font-family: Arial,sans-serif;
+  color: #000;
+  background-color: #fff;
+  margin: 0px;
+  padding: 0px;
+}
+
+/* Rules for links */
+
+a {
   color: #00f;
   text-decoration: none;
 }
@@ -7,25 +21,16 @@ a:hover {
   text-decoration: underline;
 }
 
-#frontpage_main {
-  width: 100%;
-  text-align: center;
-  font-family: sans-serif;
-}
-
+/* Rules for horizontal lines */
 
-#frontpage_MAIN h1 {
-  font-size: xx-large;
-  font-weight: normal;
+hr {
+  border: none;
+  background-color: #ccc;
+  color: #ccc;
+  height: 1px;
 }
 
-body {
-  font-family: Arial,sans-serif;
-  color: #000;
-  background-color: #fff;
-  margin: 0px;
-  padding: 0px;
-}
+/* Rules for the whole left sidebar, including the logo */
 
 #left {
   position: absolute;
@@ -33,6 +38,8 @@ body {
   min-width: 150px;
 }
 
+/* Rules for the OpenStreetMap logo in the top left corner */
+
 #logo {
   width: 150px;
   min-width: 150px;
@@ -42,54 +49,19 @@ body {
   background: #fff;
   border: 1px solid #ccd;
 }
+
 #logo h1 {
   font-size: 14px;
   text-align: center;
   margin: 0px;
 }
+
 #logo h2 {
   font-size: 10px;
   margin: 0px;
 }
 
-/* The Map Key sidebar */
-#mapkey h3 {
-    font-size: 110%;
-    font-weight: normal;
-    text-align: center;
-}
-
-#mapkey .mapkey-table {
-    padding-left: 5px;
-    padding-right: 5px;
-}
-
-/*#mapkey .mapkey-table-key {}*/
-
-#mapkey .mapkey-table-value {
-    font-size: 90%;
-}
-
-
-#greeting {
-  float: right;
-  height: 20px;
-  margin: 0px;
-  padding-right: 10px;
-  padding-top: 5px;
-  font-size: 13px;
-  line-height: 14px;
-  background: url('../images/tab_bottom.gif') repeat-x bottom;
-}
-
-#small-greeting {
-    display: none;
-}
-
-/* An unread message (e.g. "inbox(1)") */
-.greeting-bar-unread {
-  font-weight: bold;
-}
+/* Rules for the introductory text displayed in the left sidebar to new users */
 
 #intro {
   width: 170px;
@@ -100,6 +72,12 @@ body {
 
 #intro p { margin: 10px; }
 
+/*
+ * Rules for alert boxes shown in the left sidebar when important
+ * information needs to be conveyed such as when the site is
+ * undergoing maintenance.
+ */
+
 #alert {
   width: 150px;
   margin: 10px;
@@ -111,10 +89,11 @@ body {
   font-size: 14px;
 }
 
-#sotm {
-  width: 170px;
-  padding: 0px;
-}
+/*
+ * Rules for notice boxes shown in the left sidebar when important, but
+ * non-critical information needs to be conveyed such as notices about
+ * donation drives.
+ */
 
 .notice {
   width: 150px;
@@ -127,16 +106,7 @@ body {
   font-size: 14px;
 }
 
-.donate {
-  width: 150px;
-  margin: 10px;
-  padding: 10px;
-  border: 1px solid #ccc;
-  background: #cbeea7;
-  line-height: 1.2em;
-  text-align: center;
-  font-size: 14px;
-}
+/* Rules for the menu displayed in the left sidebar */
 
 .left_menu {
   width: 150px;
@@ -165,7 +135,6 @@ body {
 }
 
 .left_menu ul {
-  /*list-style: none;*/
   padding-left: 10px;
   margin: 0px;
 }
@@ -179,121 +148,99 @@ body {
   margin: 2px 8px 0px 0px;
 }
 
-.left_menu a, .left_menu a:visited, .left_menu a:active, .left_menu a:link, .left_menu a:hover {
+.left_menu a {
   color: #000;
-  text-decoration: none;
 }
 
-.left_menu a:hover {
-  color: #000;
-  text-decoration: underline;
-}
+/* Rules for SOTM advert */
 
-#messages {
-  border: 1px solid #ccc;
+#sotm {
+  width: 170px;
+  padding: 0px;
 }
 
+/*
+ * Rules for "optional boxes" which appear in the left sidebar on
+ * certain pages. Current users are the seach box on the main page
+ * and the tag cloud on the traces pages.
+ */
 
-#content {
-  padding: 0px;
-  margin: 0px;
-  position: absolute; 
-  left: 192px;
-  right: 10px;
-  top: 35px;
-  bottom: 10px;
+.optionalbox {
+  width: 150px;
+  min-width: 150px;
+  margin: 10px;
+  padding: 10px;
+  border: 1px solid #ccc;
+  left: 0px;
   line-height: 1.2em;
   text-align: left;
+  font-size: 12px;
+  background: #eee;
 }
 
-#bottom_bar {
-  position: absolute;
-  bottom: 0px;
-  width: 100%;
-  font-size: x-small;
-  text-align: center;
+.optionalbox h1 {
+  font-size: 14px;
+  font-weight: bold;
+  line-height: 22px;
+  margin: 0px;
+  vertical-align: bottom;
 }
 
-#mapImage {
-  position: absolute;
-  left: 0px;
-}
-#drag {
-  top: 0px;
-  left: 14px;
-}
+/* Rules for the search box */
 
-#mapEpilog {
-  font-size: x-small;
+.whereami {
+  line-height: 22px;
+  vertical-align: bottom;
+  float: right;
 }
 
-#changeset_list, #keyvalue {
-  font-size: small;
-  text-align: left;
-  border-collapse: collapse;
-  border-width: 0px;
+.search_form {
+  height: 16px;
+  padding-bottom: 6px;
 }
 
-#changeset_list {
+#search_field form {
   width: 100%;
+  margin: 0px;
+  padding: 0px;
 }
 
-#changeset_list .date {
-  white-space: nowrap;
+#search_field input[type="text"] {
+  width: 116px;
 }
 
-#changeset_list .user {
-  white-space: nowrap;
+#search_field input[type="submit"] {
+  width: 26px;
 }
 
-#changeset_list .area {
-  white-space: nowrap;
+.search_help {
+  font-size: 10px;
+  line-height: 1em;
+  margin-top: 3px;
+  margin-bottom: 0px;
 }
 
-#changeset_list.th {
-  font-weight: bold;
-}
+/* Rules for donation request box */
 
-.emphasized {
-  background-color: #82bcff;
+.donate {
+  width: 150px;
+  margin: 10px;
+  padding: 10px;
+  border: 1px solid #ccc;
+  background: #cbeea7;
+  line-height: 1.2em;
+  text-align: center;
+  font-size: 14px;
 }
 
+/* Rules for Creative Commons logo button */
 
-#header {
-  float: left;
-  width: 100%;
-  background: #DAE0D2;
-  font-size: 93%;
-  line-height: normal;
-}
-#header ul {
-  margin: 0px;
-  padding: 10px 10px 0px 215px;
-  list-style: none;
-}
-#header li {
-  float: left;
-  margin: 0px;
-  padding: 0px 0px 0px 9px;
-}
-#header li a {
-  float: left;
-  display: block;
-  padding: 5px 15px 4px 6px;
-  text-decoration: none;
-  font-weight: bold;
-  color: #765;
+#cclogo {
+  margin-top: 10px;
+  margin-bottom: 10px;
 }
 
-#header li a {float:none;}
-
-#header li a:hover {
-  color: #333;
-}
-#header #current a {
-  color: #333;
-  padding-bottom: 5px;
-}
+/* Rules for tabbed navigation bar */
 
 #tabnav
 {
@@ -303,6 +250,7 @@ body {
   padding-top: 5px;
   background: url('../images/tab_bottom.gif') repeat-x bottom;
 }
+
 #tabnav li
 {
   margin: 0px; 
@@ -310,6 +258,7 @@ body {
   display: inline;
   list-style-type: none;
 }
+
 #tabnav a, #tabnav a:link, #tabnav a:visited 
 {
   float: left;
@@ -323,135 +272,85 @@ body {
   text-decoration: none;
   color: #333;
 }
+
 #tabnav a:link.active, #tabnav a:visited.active
 {
   border-bottom: 1px solid #fff;
   background: #fff;
   color: #000;
 }
-#tabnav a:link:hover
+
+#tabnav a:link:hover, #tabnav a:visited:hover
 {
   background: #fff;
 }
 
-#gads {
-  /*  position: absolute; */
-  left: 100px;
-  width: 700px;
-  text-align: center;
-  font-size: 10px;
+#tabnav a:link.disabled, #tabnav a:visited.disabled,
+#tabnav a:link:hover.disabled, #tabnav a:visited:hover.disabled
+{
+  background: #bbbbbb;
+  color: white
 }
 
-hr {
-  border: none;
-  background-color: #ccc;
-  color: #ccc;
-  height: 1px;
-}
+/* Rules for greeting bar in the top right corner */
 
-.gpxsummary {
-  font-size: 12px;
-  color: gray;
+#greeting {
+  float: right;
+  height: 20px;
+  margin: 0px;
+  padding-right: 10px;
+  padding-top: 5px;
+  font-size: 13px;
+  line-height: 14px;
+  background: url('../images/tab_bottom.gif') repeat-x bottom;
 }
 
-.gpxdesc {
-  font-style: italic;
+.greeting-bar-unread {
+  font-weight: bold;
 }
 
-.table0 { 
-  background: #f6f6f6;
-}
+/* Rules for the message shown in place of the map when javascript is disabled */
 
-.table1 { 
-  background: #fff;
+#noscript {
+  z-index: 20000000;
+  position: absolute;
+  top: 15px;
+  left: 15px
 }
 
+/* Rules for OpenLayers maps */
 
-.optionalbox {
-  width: 150px;
-  min-width: 150px;
-  margin: 10px;
-  padding: 10px;
-  border: 1px solid #ccc;
+#map {
+  position: absolute;
+  border: 1px solid black;
+  margin: 0px; 
+  padding: 0px;
   left: 0px;
-  line-height: 1.2em;
-  text-align: left;
-  font-size: 12px;
-  background: #eee;
+  right: 2px;
+  top: 0px;
+  bottom: 0px;
 }
 
-.oboxheader {
-  font-size: 14px;
-  font-weight: bold;
-  line-height: 22px;
-  vertical-align: bottom;
+.olControlAttribution {
+  display: none !important;
 }
 
-.whereami {
-  position: absolute;
-  right: 21px;
-  line-height: 22px;
-  vertical-align: bottom;
+#map #permalink {
+  z-index:10000;
+  position:absolute;
+  bottom:15px;
+  right:15px;
+  font-size:smaller;
+  text-align: right;
 }
 
-.optionalbox form {
-  margin: 0px;
-  padding: 0px;
-}
+/* Rules for attribution text under the main map shown on printouts */
 
-#search_field form {
-  width: 100%;
+#attribution {
+  display: none;
 }
 
-#search_field input[type="text"] {
-  width: 116px;
-}
-
-#search_field input[type="submit"] {
-  width: 26px;
-}
-
-.search_form {
-  height: 16px;
-  padding-bottom: 6px;
-}
-
-.rsssmall {
-  position: relative;
-  top: 4px;
-}
-
-.button {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-#controls img
-{
-  z-index: 9999;
-}
-
-#controls
-{
-  position:absolute;
-  top: 0px;
-  left: 0px;
-  width: 64px;
-  height: 32px;
-  z-index: 9998;
-  cursor: pointer;
-}
-
-#map {
-  position: absolute;
-  border: 1px solid black;
-  margin: 0px; 
-  padding: 0px;
-  left: 0px;
-  right: 2px;
-  top: 0px;
-  bottom: 0px;
-}
+/* Rules for the popout map sidebar */
 
 #sidebar {
   display: none;
@@ -486,6 +385,53 @@ hr {
   background: #bbb;
 }
 
+/* Rules for the map key which appears in the popout sidebar */
+
+#mapkey h3 {
+    font-size: 110%;
+    font-weight: normal;
+    text-align: center;
+}
+
+#mapkey .mapkey-table {
+    padding-left: 5px;
+    padding-right: 5px;
+}
+
+#mapkey .mapkey-table-key {
+}
+
+#mapkey .mapkey-table-value {
+    font-size: 90%;
+}
+
+/* Rules for search results which appear in the popout sidebar */
+
+.search_searching {
+  margin-top: 5px;
+  margin-bottom: 5px;
+}
+
+.search_results_heading {
+  margin: 0px;
+  padding: 3px 6px;
+  border: 1px solid #ccc;
+  background: #ddd;
+}
+
+.search_results_entry {
+  margin: 0px;
+  padding: 2px 6px;
+}
+
+.search_results_error {
+  margin: 0px;
+  padding: 2px 6px 0px;
+  color: #f00;
+}
+
+/* Rules for data browser information which appears in the popout sidebar */
+
 .browse_heading {
   margin: 0px;
   padding: 3px 6px;
@@ -498,53 +444,157 @@ hr {
   padding: 0px 6px;
 }
 
-.search_results_heading {
+/* Rules for export information which appears in the popout sidebar */
+
+.export_heading {
   margin: 0px;
   padding: 3px 6px;
   border: 1px solid #ccc;
   background: #ddd;
 }
 
-.search_results_entry {
-  margin: 0px;
+.export_bounds {
+  width: 100%;
+  text-align: center;
+}
+
+.export_bound {
+  margin: 5px;
+}
+
+.export_details {
   padding: 2px 6px;
 }
 
-.search_results_error {
+#export_osm {
+  display: none;
+}
+
+#export_mapnik {
+  display: none;
+}
+
+#export_osmarender {
+  display: none;
+}
+
+.export_hint {
+  padding: 0px 12px;
+  font-style: italic;
+}
+
+.export_buttons {
+  width: 100%;
+  text-align: center;
+}
+
+/* Rules for the main content area */
+
+#content {
+  padding: 0px;
   margin: 0px;
-  padding: 2px 6px 0px;
-  color: #f00;
+  position: absolute; 
+  right: 10px;
+  bottom: 10px;
+  line-height: 1.2em;
+  text-align: left;
 }
 
-.search_help {
-  font-size: 10px;
-  line-height: 1em;
-  margin-top: 3px;
-  margin-bottom: 0px;
+/* Rules for the changeset list shown by the history tab etc */
+
+#changeset_list, #keyvalue {
+  width: 100%;
+  font-size: small;
+  text-align: left;
+  border-collapse: collapse;
+  border-width: 0px;
 }
 
-.search_searching {
-  margin-top: 5px;
-  margin-bottom: 5px;
+#changeset_list .date {
+  white-space: nowrap;
 }
 
-.olControlAttribution {
-  display: none !important;
+#changeset_list .user {
+  white-space: nowrap;
 }
 
-/* inbox and messaging stuff */
-.inbox-row-unread .inbox-subject {
-       font-weight: bold;
+#changeset_list .area {
+  white-space: nowrap;
 }
 
-/* rails error field stuff */
+#changeset_list.th {
+  font-weight: bold;
+}
 
-.fieldWithErrors {
-  padding: 2px;
-  background-color: red;
-  display: table;
+/* Rules for the trace list shown by the traces tab etc */
+
+#trace_list {
+  font-size: small;
+  text-align: left;
+  border-collapse: collapse;
+  border-width: 0px;
+}
+
+#trace_list .trace_summary {
+  font-size: 12px;
+  color: gray;
+}
+
+/* Rules for the account settings page */
+
+#accountForm td {
+  padding-bottom: 10px;
+}
+
+#accountImage td {
+  padding-bottom: 0px;
+}
+
+.nohome .location {
+  display: none;
+}
+
+#homerow .message {
+  display: none;
+}
+
+.nohome .message {
+  display: inline !important;
+}
+
+/* Rules for the user map */
+
+.user_map .olControlPanZoomBar {
+  display: none;
+}
+
+.user_map .olControlPanZoom {
+  display: block;
+}
+
+/* Rules for user popups on maps */
+
+.user_popup p {
+  padding-top: 3px;
+  padding-bottom: 3px;
+  margin-top: 0px;
+  margin-bottom: 0px;
+  margin-left: 55px;
+  margin-right: 2px;
+}
+
+/* Rules for message in/out box page */
+
+#messages {
+  border: 1px solid #ccc;
+}
+
+.inbox-row-unread .inbox-subject {
+  font-weight: bold;
 }
 
+/* Rules for "flash" notice boxes shown at the top of the content area */
+
 #error {
   border: 1px solid red;
   padding: 7px;
@@ -566,6 +616,16 @@ hr {
   margin-bottom: 20px;
 }
 
+/* Rules for highlighting fields with rails validation errors */
+
+.fieldWithErrors {
+  padding: 2px;
+  background-color: red;
+  display: table;
+}
+
+/* Rules for rails validation error boxes */
+
 #errorExplanation {
   width: 400px;
   border: 2px solid red;
@@ -596,107 +656,64 @@ hr {
   list-style: square;
 }
 
-input[type="text"], input[type="password"], textarea {
-  border: 1px solid black;
-}
-
-input[type="submit"] {
-  border: 1px solid black;
-}
-
-#accountForm td {
-       padding-bottom:10px;
-}
+/* Rules for forms */
 
 .fieldName {
-       text-align:right;
-       font-weight:bold;
-}
-
-
-.nohome .location {
-  display: none;
-}
-
-#homerow .message {
-  display: none;
-}
-
-.nohome .message {
-  display: inline !important;
+  text-align: right;
+  font-weight: bold;
 }
 
 .minorNote {
-       font-size:0.8em;
+  font-size: 0.8em;
 }
 
-.nowrap {
-  white-space: nowrap;
+input[type="text"], input[type="password"], textarea {
+  border: 1px solid black;
 }
 
-#map #popup p {
-  margin: 0px;
-  padding: 2px;
+input[type="submit"] {
+  border: 1px solid black;
 }
 
-#permalink {
-  z-index:10000;
-  position:absolute;
-  bottom:15px;
-  right:15px;
-  font-size:smaller;
-  text-align: right;
-}
+/* Rules for user images */
 
-#attribution {
-  display: none;
+img.user_image {
+  max-width: 100px;
+  max-height: 100px;
+  border: 1px solid black;
 }
 
-.export_heading {
-  margin: 0px;
-  padding: 3px 6px;
-  border: 1px solid #ccc;
-  background: #ddd;
+img.user_thumbnail {
+  max-width: 50px;
+  max-height: 100px;
+  border: 1px solid black;
 }
 
-.export_bounds {
-  width: 100%;
-  text-align: center;
-}
+/* Rule for "nowrap" class that can be applied to anything to stop wrapping */
 
-.export_bound {
-  margin: 5px;
+.nowrap {
+  white-space: nowrap;
 }
 
-.export_details {
-  padding: 2px 6px;
-}
+/* Rules for geo microformats */
 
-#export_osm {
-  display: none;
+abbr.geo {
+  border-bottom: none;
 }
 
-#export_mapnik {
-  display: none;
-}
+/* Rules for RSS buttons */
 
-#export_osmarender {
-  display: none;
+.rsssmall {
+  position: relative;
+  top: 4px;
 }
 
-.export_hint {
-  padding: 0px 12px;
-  font-style: italic;
-}
+/* Rules for doing distinct colour of alternate table rows */
 
-.export_buttons {
-  width: 100%;
-  text-align: center;
+.table0 { 
+  background: #f6f6f6;
 }
 
-#noscript {
-  z-index: 20000000;
-  position: absolute;
-  top: 15px;
-  left: 15px
+.table1 { 
+  background: #fff;
 }
diff --git a/public/stylesheets/large.css b/public/stylesheets/large.css
new file mode 100644 (file)
index 0000000..a1efa85
--- /dev/null
@@ -0,0 +1,20 @@
+/* Styles specific to large screens  */
+
+/* Rules for greeting bar in the top right corner */
+
+#small-greeting {
+  display: none;
+}
+
+/* Rules for the main content area */
+
+#content {
+  left: 192px;
+  top: 35px;
+}
+
+/* Rules for OpenLayers maps */
+
+.olControlPanZoom {
+  display: none;
+}
diff --git a/public/stylesheets/site-sml.css b/public/stylesheets/site-sml.css
deleted file mode 100644 (file)
index 4f49100..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/* styles specific to a small-format screen, such as iPhone, Android, etc... */
-
-body {
-    font-size: 12px;
-}
-h1 {
-    font-size: 14px;
-}
-
-#logo {
-  width: 100px;
-  min-width: 100px;
-  padding: 10px;
-  margin: 10px;
-  margin-top: 10px;
-  height: 70px;
-  background: #fff;
-  border: 1px solid #ccd;
-}
-#logo h1 {
-  font-size: 11px;
-  text-align: center;
-  margin: 0px;
-}
-#logo h2 {
-  font-size: 8px;
-  margin: 0px;
-}
-#logo-img {
-    display: none;
-}
-
-#tabnav
-{
-  height: 14px;
-  margin: 0px;
-  padding-left: 10px;
-  padding-top: 5px;
-  margin-top: 18px;
-  background: url('../images/tab_bottom.gif') repeat-x bottom;
-  font-size: 10px;
-  line-height: 10px;
-}
-#tabnav li
-{
-  margin: 0px; 
-  padding: 0px;
-  display: inline;
-  list-style-type: none;
-}
-#tabnav a, #tabnav a:link, #tabnav a:visited 
-{
-  float: left;
-  background: #f3f3f3;
-  font-size: 10px;
-  line-height: 10px;
-  font-weight: bold;
-  padding: 1px 5px;
-  margin-right: 1px;
-  border: 1px solid #ccc;
-  text-decoration: none;
-  color: #333;
-}
-#tabnav a:link.active, #tabnav a:visited.active
-{
-  border-bottom: 1px solid #fff;
-  background: #fff;
-  color: #000;
-}
-#tabnav a:link:hover
-{
-  background: #fff;
-}
-
-#left {
-  display: none;
-  min-width: 100px;
-  top: 20px;
-}
-#intro {
-    display: none;
-}
-.left_menu {
-  width: 100px;
-  min-width: 100px;
-}
-.optionalbox {
-  width: 100px;
-  min-width: 100px;
-}
-.donate {
-  width: 100px;
-  min-width: 100px;
-}
-#content {
-    /* left: 142px; */
-    left: 10px;
-    top: 47px;
-}
-
-#greeting {
-  position: absolute;
-  top: 0px;
-  right: 0px;
-  height: 14px;
-  font-size: 12px;
-  line-height: 12px;
-  white-space: nowrap;
-  background: none;
-}
-#full-greeting {
-    display: none;
-}
-#small-greeting {
-    display: inline;
-}
-
-#signupForm input[type="text"], #signupForm input[type="password"] {
-    width: 100%;
-}
-#signupForm input#user_email {
-    max-width: 30em;
-}
-#signupForm input#user_email_confirmation {
-    max-width: 30em;
-}
-#signupForm input#user_display_name {
-    max-width: 20em;
-}
-#signupForm input#user_pass_crypt {
-    max-width: 20em;
-}
-#signupForm input#user_pass_crypt_confirmation {
-    max-width: 20em;
-}
-
-#loginForm input#user_email {
-    width: 100%;
-    max-width: 18em;
-}
-#loginForm input#user_password {
-    width: 100%;
-    max-width: 18em;
-}
-
-.olControlPanZoomBar {
-  display: none;
-}
diff --git a/public/stylesheets/site.css b/public/stylesheets/site.css
deleted file mode 100644 (file)
index b39c8a7..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* styles specific to a large-format screen */
-
-#logo-img-sml {
-    display: none;
-}
-
-.olControlPanZoom {
-  display: none;
-}
diff --git a/public/stylesheets/small.css b/public/stylesheets/small.css
new file mode 100644 (file)
index 0000000..b11aebf
--- /dev/null
@@ -0,0 +1,111 @@
+/* Styles specific to a small screen, such as iPhone, Android, etc... */
+
+/* Default rules for the body of every page */
+
+body {
+  font-size: 12px;
+}
+
+h1 {
+  font-size: 14px;
+}
+
+/* Rules for the whole left sidebar, including the logo */
+
+#left {
+  display: none;
+}
+
+/* Rules for tabbed navigation bar */
+
+#tabnav
+{
+  height: 14px;
+  margin: 0px;
+  padding-left: 10px;
+  padding-top: 5px;
+  margin-top: 18px;
+  background: url('../images/tab_bottom.gif') repeat-x bottom;
+  font-size: 10px;
+  line-height: 10px;
+}
+
+#tabnav a, #tabnav a:link, #tabnav a:visited 
+{
+  font-size: 10px;
+  line-height: 10px;
+  padding: 1px 5px;
+  margin-right: 1px;
+}
+
+/* Rules for greeting bar in the top right corner */
+
+#greeting {
+  position: absolute;
+  top: 0px;
+  right: 0px;
+  height: 14px;
+  font-size: 12px;
+  line-height: 12px;
+  white-space: nowrap;
+  background: none;
+}
+
+#full-greeting {
+  display: none;
+}
+
+#small-greeting {
+  display: inline;
+}
+
+/* Rules for OpenLayers maps */
+
+.olControlPanZoomBar {
+  display: none;
+}
+
+/* Rules for the main content area */
+
+#content {
+  left: 10px;
+  top: 47px;
+}
+
+/* Rules for the signup form */
+
+#signupForm input[type="text"], #signupForm input[type="password"] {
+  width: 100%;
+}
+
+#signupForm input#user_email {
+  max-width: 30em;
+}
+
+#signupForm input#user_email_confirmation {
+  max-width: 30em;
+}
+
+#signupForm input#user_display_name {
+  max-width: 20em;
+}
+
+#signupForm input#user_pass_crypt {
+  max-width: 20em;
+}
+
+#signupForm input#user_pass_crypt_confirmation {
+  max-width: 20em;
+}
+
+/* Rules for the login form */
+
+#loginForm input#user_email {
+  width: 100%;
+  max-width: 18em;
+}
+
+#loginForm input#user_password {
+  width: 100%;
+  max-width: 18em;
+}
index ce4020ca7de92349fb72a5a1904bede5f0da39cd..e1543726f74bb64c4674f7e0e7bcb16e459f2e5e 100644 (file)
@@ -199,17 +199,18 @@ class ApiControllerTest < ActionController::TestCase
   # http://wiki.openstreetmap.org/wiki/Rails#Installing_the_quadtile_functions
   # or by looking at the readme in db/README
   def test_changes_simple
+    Timecop.freeze(Time.parse('2010-04-03 10:55:00'))
     get :changes
     assert_response :success
     #print @response.body
     # As we have loaded the fixtures, we can assume that there are no 
-    # changes recently
+    # changes at the time we have frozen at
     now = Time.now.getutc
     hourago = now - 1.hour
-    # Note that this may fail on a very slow machine, so isn't a great test
     assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']:root", :count => 1 do
       assert_select "changes[starttime='#{hourago.xmlschema}'][endtime='#{now.xmlschema}']", :count => 1
     end
+    Timecop.return
   end
   
   def test_changes_zoom_invalid
index 53d9716b3ebc8870cd72165d713a1252aa161936..bd65088e4ed4a1b1b11c10980abd136fca568f6c 100644 (file)
@@ -3,6 +3,8 @@ require File.dirname(__FILE__) + '/../test_helper'
 class DiaryEntryControllerTest < ActionController::TestCase
   fixtures :users, :diary_entries, :diary_comments
 
+  include ActionView::Helpers::NumberHelper
+
   def test_showing_new_diary_entry
     get :new
     assert_response :redirect
@@ -110,8 +112,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
           # This next line won't work if the text has been run through the htmlize function
           # due to formatting that could be introduced
           assert_select "p", :text => /#{new_body}/, :count => 1
-          assert_select "span.latitude", :text => new_latitude, :count => 1
-          assert_select "span.longitude", :text => new_longitude, :count => 1
+          assert_select "abbr[class=geo][title=#{number_with_precision(new_latitude, :precision => 4)}; #{number_with_precision(new_longitude, :precision => 4)}]", :count => 1
           # As we're not logged in, check that you cannot edit
           #print @response.body
           assert_select "a[href='/user/#{users(:normal_user).display_name}/diary/#{diary_entries(:normal_user_entry_1).id}/edit']", :text => "Edit this entry", :count => 1
@@ -134,8 +135,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
           # This next line won't work if the text has been run through the htmlize function
           # due to formatting that could be introduced
           assert_select "p", :text => /#{new_body}/, :count => 1
-          assert_select "span.latitude", :text => new_latitude, :count => 1
-          assert_select "span.longitude", :text => new_longitude, :count => 1
+          assert_select "abbr[class=geo][title=#{number_with_precision(new_latitude, :precision => 4)}; #{number_with_precision(new_longitude, :precision => 4)}]", :count => 1
           # As we're not logged in, check that you cannot edit
           assert_select "a[href='/user/#{users(:normal_user).display_name}/diary/#{diary_entries(:normal_user_entry_1).id}/edit']", :text => "Edit this entry", :count => 0
         end
index 6b58137aee0a011aa37ff3db355c7b63ab5ed8e9..3452be6d04a120ed771a2a1a1b05367e36117ab0 100644 (file)
@@ -210,7 +210,7 @@ class WayControllerTest < ActionController::TestCase
     assert_response :forbidden
     
     # Now try without having a changeset
-    content "<osm><way id='#{current_ways(:visible_way).id}'></osm>"
+    content "<osm><way id='#{current_ways(:visible_way).id}'/></osm>"
     delete :delete, :id => current_ways(:visible_way).id
     assert_response :forbidden
     
@@ -261,7 +261,7 @@ class WayControllerTest < ActionController::TestCase
     assert_response :bad_request
     
     # Now try without having a changeset
-    content "<osm><way id='#{current_ways(:visible_way).id}'></osm>"
+    content "<osm><way id='#{current_ways(:visible_way).id}'/></osm>"
     delete :delete, :id => current_ways(:visible_way).id
     assert_response :bad_request
     
index 11daeb922b9cac520208a96c5ed19b7dbb71c3dc..b0d8c12d6e644673fdec7cab1fe9b1c5784b52d4 100644 (file)
@@ -1,41 +1,41 @@
-= Composite Primary Keys for ActiveRecords\r
-\r
-== Summary\r
-\r
-ActiveRecords/Rails famously doesn't support composite primary keys. \r
-This RubyGem extends the activerecord gem to provide CPK support.\r
-\r
-== Installation\r
-\r
-    gem install composite_primary_keys\r
-    \r
-== Usage\r
-  \r
-    require 'composite_primary_keys'\r
-    class ProductVariation\r
-      set_primary_keys :product_id, :variation_seq\r
-    end\r
-    \r
-    pv = ProductVariation.find(345, 12)\r
-    \r
-It even supports composite foreign keys for associations.\r
-\r
-See http://compositekeys.rubyforge.org for more.\r
-\r
-== Running Tests\r
-\r
-See test/README.tests.txt\r
-\r
-== Url\r
-\r
-http://compositekeys.rubyforge.org\r
-\r
-== Questions, Discussion and Contributions\r
-\r
-http://groups.google.com/compositekeys\r
-\r
-== Author\r
-\r
-Written by Dr Nic Williams, drnicwilliams@gmail\r
-Contributions by many!\r
-\r
+= Composite Primary Keys for ActiveRecords
+
+== Summary
+
+ActiveRecords/Rails famously doesn't support composite primary keys. 
+This RubyGem extends the activerecord gem to provide CPK support.
+
+== Installation
+
+    gem install composite_primary_keys
+    
+== Usage
+  
+    require 'composite_primary_keys'
+    class ProductVariation
+      set_primary_keys :product_id, :variation_seq
+    end
+    
+    pv = ProductVariation.find(345, 12)
+    
+It even supports composite foreign keys for associations.
+
+See http://compositekeys.rubyforge.org for more.
+
+== Running Tests
+
+See test/README.tests.txt
+
+== Url
+
+http://compositekeys.rubyforge.org
+
+== Questions, Discussion and Contributions
+
+http://groups.google.com/compositekeys
+
+== Author
+
+Written by Dr Nic Williams, drnicwilliams@gmail
+Contributions by many!
+
index fe0b8fd78214e6446b32b221c13bab086220872e..e5bebdb973ee0b7eb708c454be1e993fdaa5ec85 100644 (file)
@@ -1,65 +1,65 @@
-require 'rubygems'\r
-require 'rake'\r
-require 'rake/clean'\r
-require 'rake/testtask'\r
-require 'rake/rdoctask'\r
-require 'rake/packagetask'\r
-require 'rake/gempackagetask'\r
-require 'rake/contrib/rubyforgepublisher'\r
-require 'fileutils'\r
-require 'hoe'\r
-include FileUtils\r
-require File.join(File.dirname(__FILE__), 'lib', 'composite_primary_keys', 'version')\r
-\r
-AUTHOR = "Dr Nic Williams"\r
-EMAIL = "drnicwilliams@gmail.com"\r
-DESCRIPTION = "Composite key support for ActiveRecords"\r
-GEM_NAME = "composite_primary_keys" # what ppl will type to install your gem\r
-if File.exists?("~/.rubyforge/user-config.yml")\r
-  # TODO this should prob go in a local/ file\r
-  config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))\r
-  RUBYFORGE_USERNAME = config["username"]\r
-end\r
-RUBYFORGE_PROJECT = "compositekeys"\r
-HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"\r
-\r
-REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil\r
-VERS = ENV['VERSION'] || (CompositePrimaryKeys::VERSION::STRING + (REV ? ".#{REV}" : ""))\r
-CLEAN.include ['**/.*.sw?', '*.gem', '.config','debug.log','*.db','logfile','log/**/*','**/.DS_Store', '.project']\r
-RDOC_OPTS = ['--quiet', '--title', "newgem documentation",\r
-    "--opname", "index.html",\r
-    "--line-numbers", \r
-    "--main", "README",\r
-    "--inline-source"]\r
-\r
-class Hoe\r
-  def extra_deps \r
-    @extra_deps.reject { |x| Array(x).first == 'hoe' } \r
-  end \r
-end\r
-\r
-# Generate all the Rake tasks\r
-# Run 'rake -T' to see list of generated tasks (from gem root directory)\r
-hoe = Hoe.new(GEM_NAME, VERS) do |p|\r
-  p.author = AUTHOR \r
-  p.description = DESCRIPTION\r
-  p.email = EMAIL\r
-  p.summary = DESCRIPTION\r
-  p.url = HOMEPATH\r
-  p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT\r
-  p.test_globs = ["test/**/test*.rb"]\r
-  p.clean_globs |= CLEAN  #An array of file patterns to delete on clean.\r
-\r
-  # == Optional\r
-  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")\r
-  p.extra_deps = [['activerecord', '>= 2.2.0']]  #An array of rubygem dependencies.\r
-  #p.spec_extras    - A hash of extra values to set in the gemspec.\r
-end\r
-\r
-CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n")\r
-PATH    = RUBYFORGE_PROJECT\r
-hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')\r
-\r
-PROJECT_ROOT = File.expand_path(".")\r
-\r
-require 'loader'\r
+require 'rubygems'
+require 'rake'
+require 'rake/clean'
+require 'rake/testtask'
+require 'rake/rdoctask'
+require 'rake/packagetask'
+require 'rake/gempackagetask'
+require 'rake/contrib/rubyforgepublisher'
+require 'fileutils'
+require 'hoe'
+include FileUtils
+require File.join(File.dirname(__FILE__), 'lib', 'composite_primary_keys', 'version')
+
+AUTHOR = "Dr Nic Williams"
+EMAIL = "drnicwilliams@gmail.com"
+DESCRIPTION = "Composite key support for ActiveRecords"
+GEM_NAME = "composite_primary_keys" # what ppl will type to install your gem
+if File.exists?("~/.rubyforge/user-config.yml")
+  # TODO this should prob go in a local/ file
+  config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
+  RUBYFORGE_USERNAME = config["username"]
+end
+RUBYFORGE_PROJECT = "compositekeys"
+HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
+
+REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil
+VERS = ENV['VERSION'] || (CompositePrimaryKeys::VERSION::STRING + (REV ? ".#{REV}" : ""))
+CLEAN.include ['**/.*.sw?', '*.gem', '.config','debug.log','*.db','logfile','log/**/*','**/.DS_Store', '.project']
+RDOC_OPTS = ['--quiet', '--title', "newgem documentation",
+    "--opname", "index.html",
+    "--line-numbers", 
+    "--main", "README",
+    "--inline-source"]
+
+class Hoe
+  def extra_deps 
+    @extra_deps.reject { |x| Array(x).first == 'hoe' } 
+  end 
+end
+
+# Generate all the Rake tasks
+# Run 'rake -T' to see list of generated tasks (from gem root directory)
+hoe = Hoe.new(GEM_NAME, VERS) do |p|
+  p.author = AUTHOR 
+  p.description = DESCRIPTION
+  p.email = EMAIL
+  p.summary = DESCRIPTION
+  p.url = HOMEPATH
+  p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
+  p.test_globs = ["test/**/test*.rb"]
+  p.clean_globs |= CLEAN  #An array of file patterns to delete on clean.
+
+  # == Optional
+  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
+  p.extra_deps = [['activerecord', '>= 2.2.0']]  #An array of rubygem dependencies.
+  #p.spec_extras    - A hash of extra values to set in the gemspec.
+end
+
+CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n")
+PATH    = RUBYFORGE_PROJECT
+hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
+
+PROJECT_ROOT = File.expand_path(".")
+
+require 'loader'
index 5be89cf1067705f88906c97e6dc6e0bf36f5ef1a..7d021ce1d0cd69a518a8e4655db124a1b64c5ddf 100644 (file)
@@ -1,30 +1,30 @@
-require 'rbconfig'\r
-require 'find'\r
-require 'ftools'\r
-\r
-include Config\r
-\r
-# this was adapted from rdoc's install.rb by ways of Log4r\r
-\r
-$sitedir = CONFIG["sitelibdir"]\r
-unless $sitedir\r
-  version = CONFIG["MAJOR"] + "." + CONFIG["MINOR"]\r
-  $libdir = File.join(CONFIG["libdir"], "ruby", version)\r
-  $sitedir = $:.find {|x| x =~ /site_ruby/ }\r
-  if !$sitedir\r
-    $sitedir = File.join($libdir, "site_ruby")\r
-  elsif $sitedir !~ Regexp.quote(version)\r
-    $sitedir = File.join($sitedir, version)\r
-  end\r
-end\r
-\r
-# the acual gruntwork\r
-Dir.chdir("lib")\r
-\r
-Find.find("composite_primary_keys", "composite_primary_keys.rb") { |f|\r
-  if f[-3..-1] == ".rb"\r
-    File::install(f, File.join($sitedir, *f.split(/\//)), 0644, true)\r
-  else\r
-    File::makedirs(File.join($sitedir, *f.split(/\//)))\r
-  end\r
-}\r
+require 'rbconfig'
+require 'find'
+require 'ftools'
+
+include Config
+
+# this was adapted from rdoc's install.rb by ways of Log4r
+
+$sitedir = CONFIG["sitelibdir"]
+unless $sitedir
+  version = CONFIG["MAJOR"] + "." + CONFIG["MINOR"]
+  $libdir = File.join(CONFIG["libdir"], "ruby", version)
+  $sitedir = $:.find {|x| x =~ /site_ruby/ }
+  if !$sitedir
+    $sitedir = File.join($libdir, "site_ruby")
+  elsif $sitedir !~ Regexp.quote(version)
+    $sitedir = File.join($sitedir, version)
+  end
+end
+
+# the acual gruntwork
+Dir.chdir("lib")
+
+Find.find("composite_primary_keys", "composite_primary_keys.rb") { |f|
+  if f[-3..-1] == ".rb"
+    File::install(f, File.join($sitedir, *f.split(/\//)), 0644, true)
+  else
+    File::makedirs(File.join($sitedir, *f.split(/\//)))
+  end
+}
index 99b61407e078a41455937082233e3ddc7fd96b3e..64f7e14b383ea2702c8185b2ea850bf8b38b8898 100644 (file)
@@ -1,55 +1,55 @@
-#--\r
-# Copyright (c) 2006 Nic Williams\r
-#\r
-# Permission is hereby granted, free of charge, to any person obtaining\r
-# a copy of this software and associated documentation files (the\r
-# "Software"), to deal in the Software without restriction, including\r
-# without limitation the rights to use, copy, modify, merge, publish,\r
-# distribute, sublicense, and/or sell copies of the Software, and to\r
-# permit persons to whom the Software is furnished to do so, subject to\r
-# the following conditions:\r
-#\r
-# The above copyright notice and this permission notice shall be\r
-# included in all copies or substantial portions of the Software.\r
-#\r
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-#++\r
-\r
-$:.unshift(File.dirname(__FILE__)) unless\r
-  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))\r
-\r
-unless defined?(ActiveRecord)\r
-  begin\r
-    require 'active_record'  \r
-  rescue LoadError\r
-    require 'rubygems'\r
-    require_gem 'activerecord'\r
-  end\r
-end\r
-\r
-require 'composite_primary_keys/fixtures'\r
-require 'composite_primary_keys/composite_arrays'\r
-require 'composite_primary_keys/associations'\r
-require 'composite_primary_keys/association_preload'\r
-require 'composite_primary_keys/reflection'\r
-require 'composite_primary_keys/base'\r
-require 'composite_primary_keys/calculations'\r
-require 'composite_primary_keys/migration'\r
-require 'composite_primary_keys/attribute_methods'\r
-\r
-ActiveRecord::Base.class_eval do\r
-  include CompositePrimaryKeys::ActiveRecord::Base\r
-end\r
-\r
-Dir[File.dirname(__FILE__) + '/composite_primary_keys/connection_adapters/*.rb'].each do |adapter|\r
-  begin\r
-    require adapter.gsub('.rb','')\r
-  rescue MissingSourceFile\r
-  end\r
-end\r
+#--
+# Copyright (c) 2006 Nic Williams
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#++
+
+$:.unshift(File.dirname(__FILE__)) unless
+  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
+
+unless defined?(ActiveRecord)
+  begin
+    require 'active_record'  
+  rescue LoadError
+    require 'rubygems'
+    require_gem 'activerecord'
+  end
+end
+
+require 'composite_primary_keys/fixtures'
+require 'composite_primary_keys/composite_arrays'
+require 'composite_primary_keys/associations'
+require 'composite_primary_keys/association_preload'
+require 'composite_primary_keys/reflection'
+require 'composite_primary_keys/base'
+require 'composite_primary_keys/calculations'
+require 'composite_primary_keys/migration'
+require 'composite_primary_keys/attribute_methods'
+
+ActiveRecord::Base.class_eval do
+  include CompositePrimaryKeys::ActiveRecord::Base
+end
+
+Dir[File.dirname(__FILE__) + '/composite_primary_keys/connection_adapters/*.rb'].each do |adapter|
+  begin
+    require adapter.gsub('.rb','')
+  rescue MissingSourceFile
+  end
+end
index a4c7ff93abbf6583e4f228baeb140055ecb6e2d3..4558f97a3dbcd84b7821fa10e962c3fb42ef21e8 100644 (file)
-module CompositePrimaryKeys\r
-  module ActiveRecord #:nodoc:\r
-    class CompositeKeyError < StandardError #:nodoc:\r
-    end\r
-\r
-    module Base #:nodoc:\r
-\r
-      INVALID_FOR_COMPOSITE_KEYS = 'Not appropriate for composite primary keys'\r
-      NOT_IMPLEMENTED_YET        = 'Not implemented for composite primary keys yet'\r
-\r
-      def self.append_features(base)\r
-        super\r
-        base.send(:include, InstanceMethods)\r
-        base.extend(ClassMethods)\r
-      end\r
-\r
-      module ClassMethods\r
-        def set_primary_keys(*keys)\r
-          keys = keys.first if keys.first.is_a?(Array)\r
-          keys = keys.map { |k| k.to_sym }\r
-          cattr_accessor :primary_keys\r
-          self.primary_keys = keys.to_composite_keys\r
-\r
-          class_eval <<-EOV\r
-            extend CompositeClassMethods\r
-            include CompositeInstanceMethods\r
-\r
-            include CompositePrimaryKeys::ActiveRecord::Associations\r
-            include CompositePrimaryKeys::ActiveRecord::AssociationPreload\r
-            include CompositePrimaryKeys::ActiveRecord::Calculations\r
-            include CompositePrimaryKeys::ActiveRecord::AttributeMethods\r
-          EOV\r
-        end\r
-\r
-        def composite?\r
-          false\r
-        end\r
-      end\r
-\r
-      module InstanceMethods\r
-        def composite?; self.class.composite?; end\r
-      end\r
-\r
-      module CompositeInstanceMethods\r
-\r
-        # A model instance's primary keys is always available as model.ids\r
-        # whether you name it the default 'id' or set it to something else.\r
-        def id\r
-          attr_names = self.class.primary_keys\r
-          CompositeIds.new(attr_names.map { |attr_name| read_attribute(attr_name) })\r
-        end\r
-        alias_method :ids, :id\r
-\r
-        def to_param\r
-          id.to_s\r
-        end\r
-\r
-        def id_before_type_cast #:nodoc:\r
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::NOT_IMPLEMENTED_YET\r
-        end\r
-\r
-        def quoted_id #:nodoc:\r
-          [self.class.primary_keys, ids].\r
-            transpose.\r
-            map {|attr_name,id| quote_value(id, column_for_attribute(attr_name))}.\r
-            to_composite_ids\r
-        end\r
-\r
-        # Sets the primary ID.\r
-        def id=(ids)\r
-          ids = ids.split(ID_SEP) if ids.is_a?(String)\r
-          ids.flatten!\r
-          unless ids.is_a?(Array) and ids.length == self.class.primary_keys.length\r
-            raise "#{self.class}.id= requires #{self.class.primary_keys.length} ids"\r
-          end\r
-          [primary_keys, ids].transpose.each {|key, an_id| write_attribute(key , an_id)}\r
-          id\r
-        end\r
-\r
-        # Returns a clone of the record that hasn't been assigned an id yet and\r
-        # is treated as a new record.  Note that this is a "shallow" clone:\r
-        # it copies the object's attributes only, not its associations.\r
-        # The extent of a "deep" clone is application-specific and is therefore\r
-        # left to the application to implement according to its need.\r
-        def clone\r
-          attrs = self.attributes_before_type_cast\r
-          self.class.primary_keys.each {|key| attrs.delete(key.to_s)}\r
-          self.class.new do |record|\r
-            record.send :instance_variable_set, '@attributes', attrs\r
-          end\r
-        end\r
-\r
-\r
-        private\r
-        # The xx_without_callbacks methods are overwritten as that is the end of the alias chain\r
-\r
-        # Creates a new record with values matching those of the instance attributes.\r
-        def create_without_callbacks\r
-          unless self.id\r
-            raise CompositeKeyError, "Composite keys do not generated ids from sequences, you must provide id values"\r
-          end\r
-          attributes_minus_pks = attributes_with_quotes(false)\r
-          quoted_pk_columns = self.class.primary_key.map { |col| connection.quote_column_name(col) }\r
-          cols = quoted_column_names(attributes_minus_pks) << quoted_pk_columns\r
-          vals = attributes_minus_pks.values << quoted_id\r
-          connection.insert(\r
-            "INSERT INTO #{self.class.quoted_table_name} " +\r
-            "(#{cols.join(', ')}) " +\r
-            "VALUES (#{vals.join(', ')})",\r
-            "#{self.class.name} Create",\r
-            self.class.primary_key,\r
-            self.id\r
-          )\r
-          @new_record = false\r
-          return true\r
-        end\r
-\r
-        # Updates the associated record with values matching those of the instance attributes.\r
-        def update_without_callbacks\r
-          where_clause_terms = [self.class.primary_key, quoted_id].transpose.map do |pair| \r
-            "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"\r
-          end\r
-          where_clause = where_clause_terms.join(" AND ")\r
-          connection.update(\r
-            "UPDATE #{self.class.quoted_table_name} " +\r
-            "SET #{quoted_comma_pair_list(connection, attributes_with_quotes(false))} " +\r
-            "WHERE #{where_clause}",\r
-            "#{self.class.name} Update"\r
-          )\r
-          return true\r
-        end\r
-\r
-        # Deletes the record in the database and freezes this instance to reflect that no changes should\r
-        # be made (since they can't be persisted).\r
-        def destroy_without_callbacks\r
-          where_clause_terms = [self.class.primary_key, quoted_id].transpose.map do |pair| \r
-            "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"\r
-          end\r
-          where_clause = where_clause_terms.join(" AND ")\r
-          unless new_record?\r
-            connection.delete(\r
-              "DELETE FROM #{self.class.quoted_table_name} " +\r
-              "WHERE #{where_clause}",\r
-              "#{self.class.name} Destroy"\r
-            )\r
-          end\r
-          freeze\r
-        end\r
-      end\r
-\r
-      module CompositeClassMethods\r
-        def primary_key; primary_keys; end\r
-        def primary_key=(keys); primary_keys = keys; end\r
-\r
-        def composite?\r
-          true\r
-        end\r
-\r
-        #ids_to_s([[1,2],[7,3]]) -> "(1,2),(7,3)"\r
-        #ids_to_s([[1,2],[7,3]], ',', ';') -> "1,2;7,3"\r
-        def ids_to_s(many_ids, id_sep = CompositePrimaryKeys::ID_SEP, list_sep = ',', left_bracket = '(', right_bracket = ')')\r
-          many_ids.map {|ids| "#{left_bracket}#{ids}#{right_bracket}"}.join(list_sep)\r
-        end\r
-        \r
-        # Creates WHERE condition from list of composited ids\r
-        #   User.update_all({:role => 'admin'}, :conditions => composite_where_clause([[1, 2], [2, 2]])) #=> UPDATE admins SET admin.role='admin' WHERE (admin.type=1 AND admin.type2=2) OR (admin.type=2 AND admin.type2=2)\r
-        #   User.find(:all, :conditions => composite_where_clause([[1, 2], [2, 2]])) #=> SELECT * FROM admins WHERE (admin.type=1 AND admin.type2=2) OR (admin.type=2 AND admin.type2=2)\r
-        def composite_where_clause(ids)\r
-          if ids.is_a?(String)\r
-            ids = [[ids]]\r
-          elsif not ids.first.is_a?(Array) # if single comp key passed, turn into an array of 1\r
-            ids = [ids.to_composite_ids]\r
-          end\r
-          \r
-          ids.map do |id_set|\r
-            [primary_keys, id_set].transpose.map do |key, id|\r
-              "#{table_name}.#{key.to_s}=#{sanitize(id)}"\r
-            end.join(" AND ")\r
-          end.join(") OR (")       \r
-        end\r
-\r
-        # Returns true if the given +ids+ represents the primary keys of a record in the database, false otherwise.\r
-        # Example:\r
-        #   Person.exists?(5,7)\r
-        def exists?(ids)\r
-          if ids.is_a?(Array) && ids.first.is_a?(String)\r
-            count(:conditions => ids) > 0\r
-          else\r
-            obj = find(ids) rescue false\r
-            !obj.nil? and obj.is_a?(self)            \r
-          end\r
-        end\r
-\r
-        # Deletes the record with the given +ids+ without instantiating an object first, e.g. delete(1,2)\r
-        # If an array of ids is provided (e.g. delete([1,2], [3,4]), all of them\r
-        # are deleted.\r
-        def delete(*ids)\r
-          unless ids.is_a?(Array); raise "*ids must be an Array"; end\r
-          ids = [ids.to_composite_ids] if not ids.first.is_a?(Array)\r
-          where_clause = ids.map do |id_set|\r
-            [primary_keys, id_set].transpose.map do |key, id|\r
-              "#{quoted_table_name}.#{connection.quote_column_name(key.to_s)}=#{sanitize(id)}"\r
-            end.join(" AND ")\r
-          end.join(") OR (")\r
-          delete_all([ "(#{where_clause})" ])\r
-        end\r
-\r
-        # Destroys the record with the given +ids+ by instantiating the object and calling #destroy (all the callbacks are the triggered).\r
-        # If an array of ids is provided, all of them are destroyed.\r
-        def destroy(*ids)\r
-          unless ids.is_a?(Array); raise "*ids must be an Array"; end\r
-          if ids.first.is_a?(Array)\r
-            ids = ids.map{|compids| compids.to_composite_ids}\r
-          else\r
-            ids = ids.to_composite_ids\r
-          end\r
-          ids.first.is_a?(CompositeIds) ? ids.each { |id_set| find(id_set).destroy } : find(ids).destroy\r
-        end\r
-\r
-        # Returns an array of column objects for the table associated with this class.\r
-        # Each column that matches to one of the primary keys has its\r
-        # primary attribute set to true\r
-        def columns\r
-          unless @columns\r
-            @columns = connection.columns(table_name, "#{name} Columns")\r
-            @columns.each {|column| column.primary = primary_keys.include?(column.name.to_sym)}\r
-          end\r
-          @columns\r
-        end\r
-\r
-        ## DEACTIVATED METHODS ##\r
-        public\r
-        # Lazy-set the sequence name to the connection's default.  This method\r
-        # is only ever called once since set_sequence_name overrides it.\r
-        def sequence_name #:nodoc:\r
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS\r
-        end\r
-\r
-        def reset_sequence_name #:nodoc:\r
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS\r
-        end\r
-\r
-        def set_primary_key(value = nil, &block)\r
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS\r
-        end\r
-\r
-        private\r
-        def find_one(id, options)\r
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS\r
-        end\r
-\r
-        def find_some(ids, options)\r
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS\r
-        end\r
-\r
-        def find_from_ids(ids, options)\r
-          ids = ids.first if ids.last == nil\r
-          conditions = " AND (#{sanitize_sql(options[:conditions])})" if options[:conditions]\r
-          # if ids is just a flat list, then its size must = primary_key.length (one id per primary key, in order)\r
-          # if ids is list of lists, then each inner list must follow rule above\r
-          if ids.first.is_a? String\r
-            # find '2,1' -> ids = ['2,1']\r
-            # find '2,1;7,3' -> ids = ['2,1;7,3']\r
-            ids = ids.first.split(ID_SET_SEP).map {|id_set| id_set.split(ID_SEP).to_composite_ids}\r
-            # find '2,1;7,3' -> ids = [['2','1'],['7','3']], inner [] are CompositeIds\r
-          end\r
-          ids = [ids.to_composite_ids] if not ids.first.kind_of?(Array)\r
-          ids.each do |id_set|\r
-            unless id_set.is_a?(Array)\r
-              raise "Ids must be in an Array, instead received: #{id_set.inspect}"\r
-            end\r
-            unless id_set.length == primary_keys.length\r
-              raise "#{id_set.inspect}: Incorrect number of primary keys for #{class_name}: #{primary_keys.inspect}"\r
-            end\r
-          end\r
-\r
-          # Let keys = [:a, :b]\r
-          # If ids = [[10, 50], [11, 51]], then :conditions => \r
-          #   "(#{quoted_table_name}.a, #{quoted_table_name}.b) IN ((10, 50), (11, 51))"\r
-\r
-          conditions = ids.map do |id_set|\r
-            [primary_keys, id_set].transpose.map do |key, id|\r
-                               col = columns_hash[key.to_s]\r
-                               val = quote_value(id, col)\r
-              "#{quoted_table_name}.#{connection.quote_column_name(key.to_s)}=#{val}"\r
-            end.join(" AND ")\r
-          end.join(") OR (")\r
-              \r
-          options.update :conditions => "(#{conditions})"\r
-\r
-          result = find_every(options)\r
-\r
-          if result.size == ids.size\r
-            ids.size == 1 ? result[0] : result\r
-          else\r
-            raise ::ActiveRecord::RecordNotFound, "Couldn't find all #{name.pluralize} with IDs (#{ids.inspect})#{conditions}"\r
-          end\r
-        end\r
-      end\r
-    end\r
-  end\r
-end\r
-\r
-\r
-module ActiveRecord\r
-  ID_SEP     = ','\r
-  ID_SET_SEP = ';'\r
-\r
-  class Base\r
-    # Allows +attr_name+ to be the list of primary_keys, and returns the id\r
-    # of the object\r
-    # e.g. @object[@object.class.primary_key] => [1,1]\r
-    def [](attr_name)\r
-      if attr_name.is_a?(String) and attr_name != attr_name.split(ID_SEP).first\r
-        attr_name = attr_name.split(ID_SEP)\r
-      end\r
-      attr_name.is_a?(Array) ?\r
-        attr_name.map {|name| read_attribute(name)} :\r
-        read_attribute(attr_name)\r
-    end\r
-\r
-    # Updates the attribute identified by <tt>attr_name</tt> with the specified +value+.\r
-    # (Alias for the protected write_attribute method).\r
-    def []=(attr_name, value)\r
-      if attr_name.is_a?(String) and attr_name != attr_name.split(ID_SEP).first\r
-        attr_name = attr_name.split(ID_SEP)\r
-      end\r
-\r
-      if attr_name.is_a? Array\r
-        value = value.split(ID_SEP) if value.is_a? String\r
-        unless value.length == attr_name.length\r
-          raise "Number of attr_names and values do not match"\r
-        end\r
-        #breakpoint\r
-        [attr_name, value].transpose.map {|name,val| write_attribute(name.to_s, val)}\r
-      else\r
-        write_attribute(attr_name, value)\r
-      end\r
-    end\r
-  end\r
-end\r
+module CompositePrimaryKeys
+  module ActiveRecord #:nodoc:
+    class CompositeKeyError < StandardError #:nodoc:
+    end
+
+    module Base #:nodoc:
+
+      INVALID_FOR_COMPOSITE_KEYS = 'Not appropriate for composite primary keys'
+      NOT_IMPLEMENTED_YET        = 'Not implemented for composite primary keys yet'
+
+      def self.append_features(base)
+        super
+        base.send(:include, InstanceMethods)
+        base.extend(ClassMethods)
+      end
+
+      module ClassMethods
+        def set_primary_keys(*keys)
+          keys = keys.first if keys.first.is_a?(Array)
+          keys = keys.map { |k| k.to_sym }
+          cattr_accessor :primary_keys
+          self.primary_keys = keys.to_composite_keys
+
+          class_eval <<-EOV
+            extend CompositeClassMethods
+            include CompositeInstanceMethods
+
+            include CompositePrimaryKeys::ActiveRecord::Associations
+            include CompositePrimaryKeys::ActiveRecord::AssociationPreload
+            include CompositePrimaryKeys::ActiveRecord::Calculations
+            include CompositePrimaryKeys::ActiveRecord::AttributeMethods
+          EOV
+        end
+
+        def composite?
+          false
+        end
+      end
+
+      module InstanceMethods
+        def composite?; self.class.composite?; end
+      end
+
+      module CompositeInstanceMethods
+
+        # A model instance's primary keys is always available as model.ids
+        # whether you name it the default 'id' or set it to something else.
+        def id
+          attr_names = self.class.primary_keys
+          CompositeIds.new(attr_names.map { |attr_name| read_attribute(attr_name) })
+        end
+        alias_method :ids, :id
+
+        def to_param
+          id.to_s
+        end
+
+        def id_before_type_cast #:nodoc:
+          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::NOT_IMPLEMENTED_YET
+        end
+
+        def quoted_id #:nodoc:
+          [self.class.primary_keys, ids].
+            transpose.
+            map {|attr_name,id| quote_value(id, column_for_attribute(attr_name))}.
+            to_composite_ids
+        end
+
+        # Sets the primary ID.
+        def id=(ids)
+          ids = ids.split(ID_SEP) if ids.is_a?(String)
+          ids.flatten!
+          unless ids.is_a?(Array) and ids.length == self.class.primary_keys.length
+            raise "#{self.class}.id= requires #{self.class.primary_keys.length} ids"
+          end
+          [primary_keys, ids].transpose.each {|key, an_id| write_attribute(key , an_id)}
+          id
+        end
+
+        # Returns a clone of the record that hasn't been assigned an id yet and
+        # is treated as a new record.  Note that this is a "shallow" clone:
+        # it copies the object's attributes only, not its associations.
+        # The extent of a "deep" clone is application-specific and is therefore
+        # left to the application to implement according to its need.
+        def clone
+          attrs = self.attributes_before_type_cast
+          self.class.primary_keys.each {|key| attrs.delete(key.to_s)}
+          self.class.new do |record|
+            record.send :instance_variable_set, '@attributes', attrs
+          end
+        end
+
+
+        private
+        # The xx_without_callbacks methods are overwritten as that is the end of the alias chain
+
+        # Creates a new record with values matching those of the instance attributes.
+        def create_without_callbacks
+          unless self.id
+            raise CompositeKeyError, "Composite keys do not generated ids from sequences, you must provide id values"
+          end
+          attributes_minus_pks = attributes_with_quotes(false)
+          quoted_pk_columns = self.class.primary_key.map { |col| connection.quote_column_name(col) }
+          cols = quoted_column_names(attributes_minus_pks) << quoted_pk_columns
+          vals = attributes_minus_pks.values << quoted_id
+          connection.insert(
+            "INSERT INTO #{self.class.quoted_table_name} " +
+            "(#{cols.join(', ')}) " +
+            "VALUES (#{vals.join(', ')})",
+            "#{self.class.name} Create",
+            self.class.primary_key,
+            self.id
+          )
+          @new_record = false
+          return true
+        end
+
+        # Updates the associated record with values matching those of the instance attributes.
+        def update_without_callbacks
+          where_clause_terms = [self.class.primary_key, quoted_id].transpose.map do |pair| 
+            "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"
+          end
+          where_clause = where_clause_terms.join(" AND ")
+          connection.update(
+            "UPDATE #{self.class.quoted_table_name} " +
+            "SET #{quoted_comma_pair_list(connection, attributes_with_quotes(false))} " +
+            "WHERE #{where_clause}",
+            "#{self.class.name} Update"
+          )
+          return true
+        end
+
+        # Deletes the record in the database and freezes this instance to reflect that no changes should
+        # be made (since they can't be persisted).
+        def destroy_without_callbacks
+          where_clause_terms = [self.class.primary_key, quoted_id].transpose.map do |pair| 
+            "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"
+          end
+          where_clause = where_clause_terms.join(" AND ")
+          unless new_record?
+            connection.delete(
+              "DELETE FROM #{self.class.quoted_table_name} " +
+              "WHERE #{where_clause}",
+              "#{self.class.name} Destroy"
+            )
+          end
+          freeze
+        end
+      end
+
+      module CompositeClassMethods
+        def primary_key; primary_keys; end
+        def primary_key=(keys); primary_keys = keys; end
+
+        def composite?
+          true
+        end
+
+        #ids_to_s([[1,2],[7,3]]) -> "(1,2),(7,3)"
+        #ids_to_s([[1,2],[7,3]], ',', ';') -> "1,2;7,3"
+        def ids_to_s(many_ids, id_sep = CompositePrimaryKeys::ID_SEP, list_sep = ',', left_bracket = '(', right_bracket = ')')
+          many_ids.map {|ids| "#{left_bracket}#{ids}#{right_bracket}"}.join(list_sep)
+        end
+        
+        # Creates WHERE condition from list of composited ids
+        #   User.update_all({:role => 'admin'}, :conditions => composite_where_clause([[1, 2], [2, 2]])) #=> UPDATE admins SET admin.role='admin' WHERE (admin.type=1 AND admin.type2=2) OR (admin.type=2 AND admin.type2=2)
+        #   User.find(:all, :conditions => composite_where_clause([[1, 2], [2, 2]])) #=> SELECT * FROM admins WHERE (admin.type=1 AND admin.type2=2) OR (admin.type=2 AND admin.type2=2)
+        def composite_where_clause(ids)
+          if ids.is_a?(String)
+            ids = [[ids]]
+          elsif not ids.first.is_a?(Array) # if single comp key passed, turn into an array of 1
+            ids = [ids.to_composite_ids]
+          end
+          
+          ids.map do |id_set|
+            [primary_keys, id_set].transpose.map do |key, id|
+              "#{table_name}.#{key.to_s}=#{sanitize(id)}"
+            end.join(" AND ")
+          end.join(") OR (")       
+        end
+
+        # Returns true if the given +ids+ represents the primary keys of a record in the database, false otherwise.
+        # Example:
+        #   Person.exists?(5,7)
+        def exists?(ids)
+          if ids.is_a?(Array) && ids.first.is_a?(String)
+            count(:conditions => ids) > 0
+          else
+            obj = find(ids) rescue false
+            !obj.nil? and obj.is_a?(self)            
+          end
+        end
+
+        # Deletes the record with the given +ids+ without instantiating an object first, e.g. delete(1,2)
+        # If an array of ids is provided (e.g. delete([1,2], [3,4]), all of them
+        # are deleted.
+        def delete(*ids)
+          unless ids.is_a?(Array); raise "*ids must be an Array"; end
+          ids = [ids.to_composite_ids] if not ids.first.is_a?(Array)
+          where_clause = ids.map do |id_set|
+            [primary_keys, id_set].transpose.map do |key, id|
+              "#{quoted_table_name}.#{connection.quote_column_name(key.to_s)}=#{sanitize(id)}"
+            end.join(" AND ")
+          end.join(") OR (")
+          delete_all([ "(#{where_clause})" ])
+        end
+
+        # Destroys the record with the given +ids+ by instantiating the object and calling #destroy (all the callbacks are the triggered).
+        # If an array of ids is provided, all of them are destroyed.
+        def destroy(*ids)
+          unless ids.is_a?(Array); raise "*ids must be an Array"; end
+          if ids.first.is_a?(Array)
+            ids = ids.map{|compids| compids.to_composite_ids}
+          else
+            ids = ids.to_composite_ids
+          end
+          ids.first.is_a?(CompositeIds) ? ids.each { |id_set| find(id_set).destroy } : find(ids).destroy
+        end
+
+        # Returns an array of column objects for the table associated with this class.
+        # Each column that matches to one of the primary keys has its
+        # primary attribute set to true
+        def columns
+          unless @columns
+            @columns = connection.columns(table_name, "#{name} Columns")
+            @columns.each {|column| column.primary = primary_keys.include?(column.name.to_sym)}
+          end
+          @columns
+        end
+
+        ## DEACTIVATED METHODS ##
+        public
+        # Lazy-set the sequence name to the connection's default.  This method
+        # is only ever called once since set_sequence_name overrides it.
+        def sequence_name #:nodoc:
+          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
+        end
+
+        def reset_sequence_name #:nodoc:
+          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
+        end
+
+        def set_primary_key(value = nil, &block)
+          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
+        end
+
+        private
+        def find_one(id, options)
+          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
+        end
+
+        def find_some(ids, options)
+          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
+        end
+
+        def find_from_ids(ids, options)
+          ids = ids.first if ids.last == nil
+          conditions = " AND (#{sanitize_sql(options[:conditions])})" if options[:conditions]
+          # if ids is just a flat list, then its size must = primary_key.length (one id per primary key, in order)
+          # if ids is list of lists, then each inner list must follow rule above
+          if ids.first.is_a? String
+            # find '2,1' -> ids = ['2,1']
+            # find '2,1;7,3' -> ids = ['2,1;7,3']
+            ids = ids.first.split(ID_SET_SEP).map {|id_set| id_set.split(ID_SEP).to_composite_ids}
+            # find '2,1;7,3' -> ids = [['2','1'],['7','3']], inner [] are CompositeIds
+          end
+          ids = [ids.to_composite_ids] if not ids.first.kind_of?(Array)
+          ids.each do |id_set|
+            unless id_set.is_a?(Array)
+              raise "Ids must be in an Array, instead received: #{id_set.inspect}"
+            end
+            unless id_set.length == primary_keys.length
+              raise "#{id_set.inspect}: Incorrect number of primary keys for #{class_name}: #{primary_keys.inspect}"
+            end
+          end
+
+          # Let keys = [:a, :b]
+          # If ids = [[10, 50], [11, 51]], then :conditions => 
+          #   "(#{quoted_table_name}.a, #{quoted_table_name}.b) IN ((10, 50), (11, 51))"
+
+          conditions = ids.map do |id_set|
+            [primary_keys, id_set].transpose.map do |key, id|
+                               col = columns_hash[key.to_s]
+                               val = quote_value(id, col)
+              "#{quoted_table_name}.#{connection.quote_column_name(key.to_s)}=#{val}"
+            end.join(" AND ")
+          end.join(") OR (")
+              
+          options.update :conditions => "(#{conditions})"
+
+          result = find_every(options)
+
+          if result.size == ids.size
+            ids.size == 1 ? result[0] : result
+          else
+            raise ::ActiveRecord::RecordNotFound, "Couldn't find all #{name.pluralize} with IDs (#{ids.inspect})#{conditions}"
+          end
+        end
+      end
+    end
+  end
+end
+
+
+module ActiveRecord
+  ID_SEP     = ','
+  ID_SET_SEP = ';'
+
+  class Base
+    # Allows +attr_name+ to be the list of primary_keys, and returns the id
+    # of the object
+    # e.g. @object[@object.class.primary_key] => [1,1]
+    def [](attr_name)
+      if attr_name.is_a?(String) and attr_name != attr_name.split(ID_SEP).first
+        attr_name = attr_name.split(ID_SEP)
+      end
+      attr_name.is_a?(Array) ?
+        attr_name.map {|name| read_attribute(name)} :
+        read_attribute(attr_name)
+    end
+
+    # Updates the attribute identified by <tt>attr_name</tt> with the specified +value+.
+    # (Alias for the protected write_attribute method).
+    def []=(attr_name, value)
+      if attr_name.is_a?(String) and attr_name != attr_name.split(ID_SEP).first
+        attr_name = attr_name.split(ID_SEP)
+      end
+
+      if attr_name.is_a? Array
+        value = value.split(ID_SEP) if value.is_a? String
+        unless value.length == attr_name.length
+          raise "Number of attr_names and values do not match"
+        end
+        #breakpoint
+        [attr_name, value].transpose.map {|name,val| write_attribute(name.to_s, val)}
+      else
+        write_attribute(attr_name, value)
+      end
+    end
+  end
+end
index 030c416f3313d408d0d809ce6bf986acd8c3084c..dab39142b909c1822c6adb0673e29ebf19110396 100644 (file)
@@ -1,30 +1,30 @@
-module CompositePrimaryKeys\r
-  ID_SEP     = ','\r
-  ID_SET_SEP = ';'\r
-\r
-  module ArrayExtension\r
-    def to_composite_keys\r
-      CompositeKeys.new(self)\r
-    end\r
-\r
-    def to_composite_ids\r
-      CompositeIds.new(self)\r
-    end\r
-  end\r
-\r
-  class CompositeArray < Array\r
-    def to_s\r
-      join(ID_SEP)\r
-    end\r
-  end\r
-\r
-  class CompositeKeys < CompositeArray\r
-\r
-  end\r
-\r
-  class CompositeIds < CompositeArray\r
-\r
-  end\r
-end\r
-\r
-Array.send(:include, CompositePrimaryKeys::ArrayExtension)\r
+module CompositePrimaryKeys
+  ID_SEP     = ','
+  ID_SET_SEP = ';'
+
+  module ArrayExtension
+    def to_composite_keys
+      CompositeKeys.new(self)
+    end
+
+    def to_composite_ids
+      CompositeIds.new(self)
+    end
+  end
+
+  class CompositeArray < Array
+    def to_s
+      join(ID_SEP)
+    end
+  end
+
+  class CompositeKeys < CompositeArray
+
+  end
+
+  class CompositeIds < CompositeArray
+
+  end
+end
+
+Array.send(:include, CompositePrimaryKeys::ArrayExtension)
index 309baf11810e1d63d5c4427b50d989e7eecf4844..2d82d9c8a6a27db5d70056470a7a09ca6f3016b6 100644 (file)
@@ -1,19 +1,19 @@
-module ActiveRecord\r
-  module Reflection\r
-    class AssociationReflection\r
-      def primary_key_name\r
-        return @primary_key_name if @primary_key_name\r
-        case\r
-          when macro == :belongs_to\r
-            @primary_key_name = options[:foreign_key] || class_name.foreign_key\r
-          when options[:as]\r
-            @primary_key_name = options[:foreign_key] || "#{options[:as]}_id"\r
-          else\r
-            @primary_key_name = options[:foreign_key] || active_record.name.foreign_key\r
-        end\r
-        @primary_key_name = @primary_key_name.to_composite_keys.to_s if @primary_key_name.is_a? Array\r
-        @primary_key_name\r
-      end\r
-    end\r
-  end\r
+module ActiveRecord
+  module Reflection
+    class AssociationReflection
+      def primary_key_name
+        return @primary_key_name if @primary_key_name
+        case
+          when macro == :belongs_to
+            @primary_key_name = options[:foreign_key] || class_name.foreign_key
+          when options[:as]
+            @primary_key_name = options[:foreign_key] || "#{options[:as]}_id"
+          else
+            @primary_key_name = options[:foreign_key] || active_record.name.foreign_key
+        end
+        @primary_key_name = @primary_key_name.to_composite_keys.to_s if @primary_key_name.is_a? Array
+        @primary_key_name
+      end
+    end
+  end
 end
\ No newline at end of file
index 0b83ba692576f3f977e2d74596c67cda74321e86..49a11be2a7c2fdd00d3f69beae4253eeb9b63d25 100644 (file)
@@ -1,8 +1,8 @@
-module CompositePrimaryKeys\r
-  module VERSION #:nodoc:\r
-    MAJOR = 2\r
-    MINOR = 2\r
-    TINY  = 2\r
-    STRING = [MAJOR, MINOR, TINY].join('.')\r
-  end\r
-end\r
+module CompositePrimaryKeys
+  module VERSION #:nodoc:
+    MAJOR = 2
+    MINOR = 2
+    TINY  = 2
+    STRING = [MAJOR, MINOR, TINY].join('.')
+  end
+end
index 7233f8126527130b510aa2d33e8fc963a2b34343..7fae392bdbe0907d69f0902f6c858279f0cda59a 100644 (file)
@@ -1,5 +1,5 @@
-class Article < ActiveRecord::Base\r
-  has_many :readings\r
-  has_many :users, :through => :readings\r
-end\r
-\r
+class Article < ActiveRecord::Base
+  has_many :readings
+  has_many :users, :through => :readings
+end
+
index e51060463d0ec079331683ba99216981b519d36f..f4cb4778a075467767fe837a2613ad2d306a5e65 100644 (file)
@@ -1,6 +1,6 @@
-first:\r
-  id: 1\r
-  name: Article One\r
-second:\r
-  id: 2\r
+first:
+  id: 1
+  name: Article One
+second:
+  id: 2
   name: Article Two
\ No newline at end of file
index 5466dcabe57254862c0d0c2d9fe01714c8e0bc7e..e780fd2f42c56d566be519291c0fa38267dd7d9a 100644 (file)
@@ -1,7 +1,7 @@
-class Product < ActiveRecord::Base\r
-       set_primary_keys :id  # redundant\r
-       has_many :product_tariffs, :foreign_key => :product_id\r
-       has_one :product_tariff, :foreign_key => :product_id\r
-\r
-       has_many :tariffs, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]\r
-end\r
+class Product < ActiveRecord::Base
+       set_primary_keys :id  # redundant
+       has_many :product_tariffs, :foreign_key => :product_id
+       has_one :product_tariff, :foreign_key => :product_id
+
+       has_many :tariffs, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
+end
index cbabee7c52d00507a1f7fa71e6a0a2e3f75ae1e0..d5c9befbb999e3ca6116b443c1760fb0987ebba4 100644 (file)
@@ -1,5 +1,5 @@
-class ProductTariff < ActiveRecord::Base\r
-       set_primary_keys :product_id, :tariff_id, :tariff_start_date\r
-       belongs_to :product, :foreign_key => :product_id\r
-       belongs_to :tariff,  :foreign_key => [:tariff_id, :tariff_start_date]\r
-end\r
+class ProductTariff < ActiveRecord::Base
+       set_primary_keys :product_id, :tariff_id, :tariff_start_date
+       belongs_to :product, :foreign_key => :product_id
+       belongs_to :tariff,  :foreign_key => [:tariff_id, :tariff_start_date]
+end
index 27a464fb3a693f3c4231e0955c5c2d00e4e04811..72be1e7ad3d171b78c63846f6267ae29be5041d6 100644 (file)
@@ -1,12 +1,12 @@
-first_flat:\r
-  product_id: 1\r
-  tariff_id: 1\r
-  tariff_start_date: <%= Date.today.to_s(:db) %>\r
-first_free:  \r
-  product_id: 1\r
-  tariff_id: 2\r
-  tariff_start_date: <%= Date.today.to_s(:db) %>\r
-second_free:\r
-  product_id: 2\r
-  tariff_id: 2\r
-  tariff_start_date: <%= Date.today.to_s(:db) %>\r
+first_flat:
+  product_id: 1
+  tariff_id: 1
+  tariff_start_date: <%= Date.today.to_s(:db) %>
+first_free:  
+  product_id: 1
+  tariff_id: 2
+  tariff_start_date: <%= Date.today.to_s(:db) %>
+second_free:
+  product_id: 2
+  tariff_id: 2
+  tariff_start_date: <%= Date.today.to_s(:db) %>
index 3c38a5ba09221c3224435be68e803b39181d1d1a..c436c296b33127fbbdb58101fb60ca2e1d305cae 100644 (file)
@@ -1,6 +1,6 @@
-first_product:\r
-  id: 1\r
-  name: Product One\r
-second_product:\r
-  id: 2\r
+first_product:
+  id: 1
+  name: Product One
+second_product:
+  id: 2
   name: Product Two
\ No newline at end of file
index 2e8197062c1cd9b006d743e0f3046f36c4579513..014d8b8101cf56c89a772b31d1b0bdbd0f4e7e84 100644 (file)
@@ -1,4 +1,4 @@
-class Reading < ActiveRecord::Base\r
-  belongs_to :article\r
-  belongs_to :user\r
-end \r
+class Reading < ActiveRecord::Base
+  belongs_to :article
+  belongs_to :user
+end 
index e3afaa9cd8646917b5266cdc069c17eac680906b..36e9ac3006e659788ba203b2ba1cd4a0c412cf8f 100644 (file)
@@ -1,10 +1,10 @@
-santiago_first:\r
-  id: 1\r
-  user_id: 1\r
-  article_id: 1\r
-  rating: 4\r
-santiago_second:\r
-  id: 2\r
-  user_id: 1\r
-  article_id: 2\r
+santiago_first:
+  id: 1
+  user_id: 1
+  article_id: 1
+  rating: 4
+santiago_second:
+  id: 2
+  user_id: 1
+  article_id: 2
   rating: 5
\ No newline at end of file
index 594d8d8be644c94c3b6445a117507ece132f8363..e20fb06449fbb049816f4c92f9c275c13692d2b2 100644 (file)
@@ -1,7 +1,7 @@
-class ReferenceCode < ActiveRecord::Base\r
-  set_primary_keys :reference_type_id, :reference_code\r
-  \r
-  belongs_to :reference_type, :foreign_key => "reference_type_id"\r
-  \r
-  validates_presence_of :reference_code, :code_label, :abbreviation\r
-end\r
+class ReferenceCode < ActiveRecord::Base
+  set_primary_keys :reference_type_id, :reference_code
+  
+  belongs_to :reference_type, :foreign_key => "reference_type_id"
+  
+  validates_presence_of :reference_code, :code_label, :abbreviation
+end
index 3979381998940e77c83172b26da38bb3ab6ff2c6..f4d88bc86d53454dd5f6650c901465413985f2f5 100644 (file)
@@ -1,28 +1,28 @@
-name_prefix_mr:\r
-  reference_type_id: 1\r
-  reference_code: 1\r
-  code_label: MR\r
-  abbreviation: Mr\r
-name_prefix_mrs:\r
-  reference_type_id: 1\r
-  reference_code: 2\r
-  code_label: MRS\r
-  abbreviation: Mrs\r
-name_prefix_ms:\r
-  reference_type_id: 1\r
-  reference_code: 3\r
-  code_label: MS\r
-  abbreviation: Ms\r
-  \r
-gender_male:\r
-  reference_type_id: 2\r
-  reference_code: 1\r
-  code_label: MALE\r
-  abbreviation: Male\r
-gender_female:\r
-  reference_type_id: 2\r
-  reference_code: 2\r
-  code_label: FEMALE\r
-  abbreviation: Female\r
-\r
+name_prefix_mr:
+  reference_type_id: 1
+  reference_code: 1
+  code_label: MR
+  abbreviation: Mr
+name_prefix_mrs:
+  reference_type_id: 1
+  reference_code: 2
+  code_label: MRS
+  abbreviation: Mrs
+name_prefix_ms:
+  reference_type_id: 1
+  reference_code: 3
+  code_label: MS
+  abbreviation: Ms
+  
+gender_male:
+  reference_type_id: 2
+  reference_code: 1
+  code_label: MALE
+  abbreviation: Male
+gender_female:
+  reference_type_id: 2
+  reference_code: 2
+  code_label: FEMALE
+  abbreviation: Female
+
   
\ No newline at end of file
index 5b2b12b4ec3331c8faea613df5b6e8f6bb514f6b..c09bd2f20e51fa8188ed4a5489acce20049da293 100644 (file)
@@ -1,7 +1,7 @@
-class ReferenceType < ActiveRecord::Base\r
-  set_primary_key :reference_type_id\r
-  has_many :reference_codes, :foreign_key => "reference_type_id"\r
-  \r
-  validates_presence_of :type_label, :abbreviation\r
-  validates_uniqueness_of :type_label\r
-end\r
+class ReferenceType < ActiveRecord::Base
+  set_primary_key :reference_type_id
+  has_many :reference_codes, :foreign_key => "reference_type_id"
+  
+  validates_presence_of :type_label, :abbreviation
+  validates_uniqueness_of :type_label
+end
index 0520ba9f934dcefd7ee5841cc482bb22d340b6ef..9c5e3d347bb7cac2558606103753d925a8017421 100644 (file)
@@ -1,9 +1,9 @@
-name_prefix:\r
-  reference_type_id: 1\r
-  type_label: NAME_PREFIX\r
-  abbreviation: Name Prefix\r
-\r
-gender:\r
-  reference_type_id: 2\r
-  type_label: GENDER\r
-  abbreviation: Gender\r
+name_prefix:
+  reference_type_id: 1
+  type_label: NAME_PREFIX
+  abbreviation: Name Prefix
+
+gender:
+  reference_type_id: 2
+  type_label: GENDER
+  abbreviation: Gender
index 93045350eb72388b506fa18f9522a0c71c03de24..f2eb181c3abee65dd5b655744f49570290e2d7f1 100644 (file)
@@ -1,6 +1,6 @@
-class Suburb < ActiveRecord::Base\r
-  set_primary_keys :city_id, :suburb_id\r
-  has_many :streets,  :foreign_key => [:city_id, :suburb_id]\r
-  has_many :first_streets,  :foreign_key => [:city_id, :suburb_id], \r
-          :class_name => 'Street', :conditions => "streets.name = 'First Street'"\r
+class Suburb < ActiveRecord::Base
+  set_primary_keys :city_id, :suburb_id
+  has_many :streets,  :foreign_key => [:city_id, :suburb_id]
+  has_many :first_streets,  :foreign_key => [:city_id, :suburb_id], 
+          :class_name => 'Street', :conditions => "streets.name = 'First Street'"
 end
\ No newline at end of file
index efae0c0a2698488f4bb732526801214ca7cacfa9..d230fbae4683f1578bd96fb9c6a52ab70d6229a3 100644 (file)
@@ -1,9 +1,9 @@
-first:\r
-  city_id: 1\r
-  suburb_id: 1\r
-  name: First Suburb\r
-second:\r
-  city_id: 2\r
-  suburb_id: 1\r
-  name: Second Suburb\r
+first:
+  city_id: 1
+  suburb_id: 1
+  name: First Suburb
+second:
+  city_id: 2
+  suburb_id: 1
+  name: Second Suburb
   
\ No newline at end of file
index d5cb07da162c6f62663f0dab02ad971923bbe4b6..3feba44347dd3cdb4d038018db6101e685e7637a 100644 (file)
@@ -1,6 +1,6 @@
-class Tariff < ActiveRecord::Base\r
-       set_primary_keys [:tariff_id, :start_date]\r
-       has_many :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]\r
-       has_one :product_tariff, :foreign_key => [:tariff_id, :tariff_start_date]\r
-       has_many :products, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]\r
-end\r
+class Tariff < ActiveRecord::Base
+       set_primary_keys [:tariff_id, :start_date]
+       has_many :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
+       has_one :product_tariff, :foreign_key => [:tariff_id, :tariff_start_date]
+       has_many :products, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
+end
index 7346fc510a6adc45b48ca4264ee14735cf4ae632..997ebb8f142b08519484b6efe274557c9fe1c167 100644 (file)
@@ -1,13 +1,13 @@
-flat:\r
-  tariff_id: 1\r
-  start_date: <%= Date.today.to_s(:db) %>\r
-  amount: 50\r
-free:\r
-  tariff_id: 2\r
-  start_date: <%= Date.today.to_s(:db) %>\r
-  amount: 0\r
-flat_future:\r
-  tariff_id: 1\r
-  start_date: <%= Date.today.next.to_s(:db) %>\r
-  amount: 100\r
+flat:
+  tariff_id: 1
+  start_date: <%= Date.today.to_s(:db) %>
+  amount: 50
+free:
+  tariff_id: 2
+  start_date: <%= Date.today.to_s(:db) %>
+  amount: 0
+flat_future:
+  tariff_id: 1
+  start_date: <%= Date.today.next.to_s(:db) %>
+  amount: 100
   
\ No newline at end of file
index a8487c49fc3032a474b50316e8315b349e7aac96..674481835c2f5c0b7c78a15d98f249b637a278f4 100644 (file)
@@ -1,10 +1,10 @@
-class User < ActiveRecord::Base\r
-  has_many :readings\r
-  has_many :articles, :through => :readings\r
-  has_many :comments, :as => :person\r
-  has_many :hacks, :through => :comments, :source => :hack\r
-  \r
-  def find_custom_articles\r
-    articles.find(:all, :conditions => ["name = ?", "Article One"])\r
-  end\r
-end\r
+class User < ActiveRecord::Base
+  has_many :readings
+  has_many :articles, :through => :readings
+  has_many :comments, :as => :person
+  has_many :hacks, :through => :comments, :source => :hack
+  
+  def find_custom_articles
+    articles.find(:all, :conditions => ["name = ?", "Article One"])
+  end
+end
index d33a38a4ac11e4dc7595b1ea29afa21ecc55cfd5..858c47cab602d3fdca8beae595396349d96ed234 100644 (file)
@@ -1,6 +1,6 @@
-santiago:\r
-  id: 1\r
-  name: Santiago\r
-drnic:\r
-  id: 2\r
+santiago:
+  id: 1
+  name: Santiago
+drnic:
+  id: 2
   name: Dr Nic
\ No newline at end of file
index b37bbbbf12e79745e3cc730d340d8fcd2e8d4d5b..856fc5feaf4d45b2fddefd2d960ac02a3e4d1a15 100644 (file)
@@ -1,34 +1,34 @@
-# From:\r
-# http://www.bigbold.com/snippets/posts/show/2178\r
-# http://blog.caboo.se/articles/2006/06/11/stupid-hash-tricks\r
-# \r
-# An example utilisation of these methods in a controller is:\r
-# def some_action\r
-#    # some script kiddie also passed in :bee, which we don't want tampered with _here_.\r
-#    @model = Model.create(params.pass(:foo, :bar))\r
-#  end\r
-class Hash\r
-\r
-  # lets through the keys in the argument\r
-  # >> {:one => 1, :two => 2, :three => 3}.pass(:one)\r
-  # => {:one=>1}\r
-  def pass(*keys)\r
-    keys = keys.first if keys.first.is_a?(Array)\r
-    tmp = self.clone\r
-    tmp.delete_if {|k,v| ! keys.include?(k.to_sym) }\r
-    tmp.delete_if {|k,v| ! keys.include?(k.to_s) }\r
-    tmp\r
-  end\r
-\r
-  # blocks the keys in the arguments\r
-  # >> {:one => 1, :two => 2, :three => 3}.block(:one)\r
-  # => {:two=>2, :three=>3}\r
-  def block(*keys)\r
-    keys = keys.first if keys.first.is_a?(Array)\r
-    tmp = self.clone\r
-    tmp.delete_if {|k,v| keys.include?(k.to_sym) }\r
-    tmp.delete_if {|k,v| keys.include?(k.to_s) }\r
-    tmp\r
-  end\r
-\r
-end\r
+# From:
+# http://www.bigbold.com/snippets/posts/show/2178
+# http://blog.caboo.se/articles/2006/06/11/stupid-hash-tricks
+# 
+# An example utilisation of these methods in a controller is:
+# def some_action
+#    # some script kiddie also passed in :bee, which we don't want tampered with _here_.
+#    @model = Model.create(params.pass(:foo, :bar))
+#  end
+class Hash
+
+  # lets through the keys in the argument
+  # >> {:one => 1, :two => 2, :three => 3}.pass(:one)
+  # => {:one=>1}
+  def pass(*keys)
+    keys = keys.first if keys.first.is_a?(Array)
+    tmp = self.clone
+    tmp.delete_if {|k,v| ! keys.include?(k.to_sym) }
+    tmp.delete_if {|k,v| ! keys.include?(k.to_s) }
+    tmp
+  end
+
+  # blocks the keys in the arguments
+  # >> {:one => 1, :two => 2, :three => 3}.block(:one)
+  # => {:two=>2, :three=>3}
+  def block(*keys)
+    keys = keys.first if keys.first.is_a?(Array)
+    tmp = self.clone
+    tmp.delete_if {|k,v| keys.include?(k.to_sym) }
+    tmp.delete_if {|k,v| keys.include?(k.to_s) }
+    tmp
+  end
+
+end
index 78302f86c62626a728cea18cc6952283f12a377e..4c69ce57bee93c723ab5f74d94e27e62a0546e2b 100644 (file)
-require 'abstract_unit'\r
-require 'fixtures/article'\r
-require 'fixtures/product'\r
-require 'fixtures/tariff'\r
-require 'fixtures/product_tariff'\r
-require 'fixtures/suburb'\r
-require 'fixtures/street'\r
-require 'fixtures/restaurant'\r
-require 'fixtures/dorm'\r
-require 'fixtures/room'\r
-require 'fixtures/room_attribute'\r
-require 'fixtures/room_attribute_assignment'\r
-require 'fixtures/student'\r
-require 'fixtures/room_assignment'\r
-require 'fixtures/user'\r
-require 'fixtures/reading'\r
-\r
-class TestAssociations < Test::Unit::TestCase\r
-  fixtures :articles, :products, :tariffs, :product_tariffs, :suburbs, :streets, :restaurants, :restaurants_suburbs,\r
-           :dorms, :rooms, :room_attributes, :room_attribute_assignments, :students, :room_assignments, :users, :readings\r
-  \r
-  def test_has_many_through_with_conditions_when_through_association_is_not_composite\r
-    user = User.find(:first)\r
-    assert_equal 1, user.articles.find(:all, :conditions => ["articles.name = ?", "Article One"]).size\r
-  end\r
-\r
-  def test_has_many_through_with_conditions_when_through_association_is_composite\r
-    room = Room.find(:first)\r
-    assert_equal 0, room.room_attributes.find(:all, :conditions => ["room_attributes.name != ?", "keg"]).size\r
-  end\r
-\r
-  def test_has_many_through_on_custom_finder_when_through_association_is_composite_finder_when_through_association_is_not_composite\r
-    user = User.find(:first)\r
-    assert_equal 1, user.find_custom_articles.size\r
-  end\r
-\r
-  def test_has_many_through_on_custom_finder_when_through_association_is_composite\r
-    room = Room.find(:first)\r
-    assert_equal 0, room.find_custom_room_attributes.size\r
-  end\r
-  \r
-  def test_count\r
-    assert_equal 2, Product.count(:include => :product_tariffs)\r
-    assert_equal 3, Tariff.count(:include => :product_tariffs)\r
-    assert_equal 2, Tariff.count(:group => :start_date).size\r
-  end\r
-  \r
-  def test_products\r
-    assert_not_nil products(:first_product).product_tariffs\r
-    assert_equal 2, products(:first_product).product_tariffs.length\r
-    assert_not_nil products(:first_product).tariffs\r
-    assert_equal 2, products(:first_product).tariffs.length\r
-    assert_not_nil products(:first_product).product_tariff\r
-  end\r
-  \r
-  def test_product_tariffs\r
-    assert_not_nil product_tariffs(:first_flat).product\r
-    assert_not_nil product_tariffs(:first_flat).tariff\r
-    assert_equal Product, product_tariffs(:first_flat).product.class\r
-    assert_equal Tariff, product_tariffs(:first_flat).tariff.class\r
-  end\r
-  \r
-  def test_tariffs\r
-    assert_not_nil tariffs(:flat).product_tariffs\r
-    assert_equal 1, tariffs(:flat).product_tariffs.length\r
-    assert_not_nil tariffs(:flat).products\r
-    assert_equal 1, tariffs(:flat).products.length\r
-    assert_not_nil tariffs(:flat).product_tariff\r
-  end\r
-  \r
-  # Its not generating the instances of associated classes from the rows\r
-  def test_find_includes_products\r
-    assert @products = Product.find(:all, :include => :product_tariffs)\r
-    assert_equal 2, @products.length\r
-    assert_not_nil @products.first.instance_variable_get('@product_tariffs'), '@product_tariffs not set; should be array'\r
-    assert_equal 3, @products.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, \r
-      "Incorrect number of product_tariffs returned"\r
-  end\r
-  \r
-  def test_find_includes_tariffs\r
-    assert @tariffs = Tariff.find(:all, :include => :product_tariffs)\r
-    assert_equal 3, @tariffs.length\r
-    assert_not_nil @tariffs.first.instance_variable_get('@product_tariffs'), '@product_tariffs not set; should be array'\r
-    assert_equal 3, @tariffs.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, \r
-      "Incorrect number of product_tariffs returnedturned"\r
-  end\r
-  \r
-  def test_find_includes_product\r
-    assert @product_tariffs = ProductTariff.find(:all, :include => :product)\r
-    assert_equal 3, @product_tariffs.length\r
-    assert_not_nil @product_tariffs.first.instance_variable_get('@product'), '@product not set'\r
-  end\r
-  \r
-  def test_find_includes_comp_belongs_to_tariff\r
-    assert @product_tariffs = ProductTariff.find(:all, :include => :tariff)\r
-    assert_equal 3, @product_tariffs.length\r
-    assert_not_nil @product_tariffs.first.instance_variable_get('@tariff'), '@tariff not set'\r
-  end\r
-  \r
-  def test_find_includes_extended\r
-    assert @products = Product.find(:all, :include => {:product_tariffs => :tariff})\r
-    assert_equal 3, @products.inject(0) {|sum, product| sum + product.instance_variable_get('@product_tariffs').length},\r
-      "Incorrect number of product_tariffs returned"\r
-    \r
-    assert @tariffs = Tariff.find(:all, :include => {:product_tariffs => :product})\r
-    assert_equal 3, @tariffs.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, \r
-      "Incorrect number of product_tariffs returned"\r
-  end\r
-  \r
-  def test_join_where_clause\r
-    @product = Product.find(:first, :include => :product_tariffs)\r
-    where_clause = @product.product_tariffs.composite_where_clause(\r
-      ['foo','bar'], [1,2]\r
-    )\r
-    assert_equal('(foo=1 AND bar=2)', where_clause)\r
-  end\r
-  \r
-  def test_has_many_through\r
-    @products = Product.find(:all, :include => :tariffs)\r
-    assert_equal 3, @products.inject(0) {|sum, product| sum + product.instance_variable_get('@tariffs').length},\r
-      "Incorrect number of tariffs returned"\r
-  end\r
-  \r
-  def test_has_many_through_when_not_pre_loaded\r
-       student = Student.find(:first)\r
-       rooms = student.rooms\r
-       assert_equal 1, rooms.size\r
-       assert_equal 1, rooms.first.dorm_id\r
-       assert_equal 1, rooms.first.room_id\r
-  end\r
-  \r
-  def test_has_many_through_when_through_association_is_composite\r
-    dorm = Dorm.find(:first)\r
-    assert_equal 1, dorm.rooms.length\r
-    assert_equal 1, dorm.rooms.first.room_attributes.length\r
-    assert_equal 'keg', dorm.rooms.first.room_attributes.first.name\r
-  end\r
-\r
-  def test_associations_with_conditions\r
-    @suburb = Suburb.find([2, 1])\r
-    assert_equal 2, @suburb.streets.size\r
-\r
-    @suburb = Suburb.find([2, 1])\r
-    assert_equal 1, @suburb.first_streets.size\r
-\r
-    @suburb = Suburb.find([2, 1], :include => :streets)\r
-    assert_equal 2, @suburb.streets.size\r
-\r
-    @suburb = Suburb.find([2, 1], :include => :first_streets)\r
-    assert_equal 1, @suburb.first_streets.size\r
-  end\r
-  \r
-  def test_has_and_belongs_to_many\r
-    @restaurant = Restaurant.find([1,1])\r
-    assert_equal 2, @restaurant.suburbs.size\r
-    \r
-    @restaurant = Restaurant.find([1,1], :include => :suburbs)\r
-    assert_equal 2, @restaurant.suburbs.size  \r
-  end\r
-end\r
+require 'abstract_unit'
+require 'fixtures/article'
+require 'fixtures/product'
+require 'fixtures/tariff'
+require 'fixtures/product_tariff'
+require 'fixtures/suburb'
+require 'fixtures/street'
+require 'fixtures/restaurant'
+require 'fixtures/dorm'
+require 'fixtures/room'
+require 'fixtures/room_attribute'
+require 'fixtures/room_attribute_assignment'
+require 'fixtures/student'
+require 'fixtures/room_assignment'
+require 'fixtures/user'
+require 'fixtures/reading'
+
+class TestAssociations < Test::Unit::TestCase
+  fixtures :articles, :products, :tariffs, :product_tariffs, :suburbs, :streets, :restaurants, :restaurants_suburbs,
+           :dorms, :rooms, :room_attributes, :room_attribute_assignments, :students, :room_assignments, :users, :readings
+  
+  def test_has_many_through_with_conditions_when_through_association_is_not_composite
+    user = User.find(:first)
+    assert_equal 1, user.articles.find(:all, :conditions => ["articles.name = ?", "Article One"]).size
+  end
+
+  def test_has_many_through_with_conditions_when_through_association_is_composite
+    room = Room.find(:first)
+    assert_equal 0, room.room_attributes.find(:all, :conditions => ["room_attributes.name != ?", "keg"]).size
+  end
+
+  def test_has_many_through_on_custom_finder_when_through_association_is_composite_finder_when_through_association_is_not_composite
+    user = User.find(:first)
+    assert_equal 1, user.find_custom_articles.size
+  end
+
+  def test_has_many_through_on_custom_finder_when_through_association_is_composite
+    room = Room.find(:first)
+    assert_equal 0, room.find_custom_room_attributes.size
+  end
+  
+  def test_count
+    assert_equal 2, Product.count(:include => :product_tariffs)
+    assert_equal 3, Tariff.count(:include => :product_tariffs)
+    assert_equal 2, Tariff.count(:group => :start_date).size
+  end
+  
+  def test_products
+    assert_not_nil products(:first_product).product_tariffs
+    assert_equal 2, products(:first_product).product_tariffs.length
+    assert_not_nil products(:first_product).tariffs
+    assert_equal 2, products(:first_product).tariffs.length
+    assert_not_nil products(:first_product).product_tariff
+  end
+  
+  def test_product_tariffs
+    assert_not_nil product_tariffs(:first_flat).product
+    assert_not_nil product_tariffs(:first_flat).tariff
+    assert_equal Product, product_tariffs(:first_flat).product.class
+    assert_equal Tariff, product_tariffs(:first_flat).tariff.class
+  end
+  
+  def test_tariffs
+    assert_not_nil tariffs(:flat).product_tariffs
+    assert_equal 1, tariffs(:flat).product_tariffs.length
+    assert_not_nil tariffs(:flat).products
+    assert_equal 1, tariffs(:flat).products.length
+    assert_not_nil tariffs(:flat).product_tariff
+  end
+  
+  # Its not generating the instances of associated classes from the rows
+  def test_find_includes_products
+    assert @products = Product.find(:all, :include => :product_tariffs)
+    assert_equal 2, @products.length
+    assert_not_nil @products.first.instance_variable_get('@product_tariffs'), '@product_tariffs not set; should be array'
+    assert_equal 3, @products.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, 
+      "Incorrect number of product_tariffs returned"
+  end
+  
+  def test_find_includes_tariffs
+    assert @tariffs = Tariff.find(:all, :include => :product_tariffs)
+    assert_equal 3, @tariffs.length
+    assert_not_nil @tariffs.first.instance_variable_get('@product_tariffs'), '@product_tariffs not set; should be array'
+    assert_equal 3, @tariffs.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, 
+      "Incorrect number of product_tariffs returnedturned"
+  end
+  
+  def test_find_includes_product
+    assert @product_tariffs = ProductTariff.find(:all, :include => :product)
+    assert_equal 3, @product_tariffs.length
+    assert_not_nil @product_tariffs.first.instance_variable_get('@product'), '@product not set'
+  end
+  
+  def test_find_includes_comp_belongs_to_tariff
+    assert @product_tariffs = ProductTariff.find(:all, :include => :tariff)
+    assert_equal 3, @product_tariffs.length
+    assert_not_nil @product_tariffs.first.instance_variable_get('@tariff'), '@tariff not set'
+  end
+  
+  def test_find_includes_extended
+    assert @products = Product.find(:all, :include => {:product_tariffs => :tariff})
+    assert_equal 3, @products.inject(0) {|sum, product| sum + product.instance_variable_get('@product_tariffs').length},
+      "Incorrect number of product_tariffs returned"
+    
+    assert @tariffs = Tariff.find(:all, :include => {:product_tariffs => :product})
+    assert_equal 3, @tariffs.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, 
+      "Incorrect number of product_tariffs returned"
+  end
+  
+  def test_join_where_clause
+    @product = Product.find(:first, :include => :product_tariffs)
+    where_clause = @product.product_tariffs.composite_where_clause(
+      ['foo','bar'], [1,2]
+    )
+    assert_equal('(foo=1 AND bar=2)', where_clause)
+  end
+  
+  def test_has_many_through
+    @products = Product.find(:all, :include => :tariffs)
+    assert_equal 3, @products.inject(0) {|sum, product| sum + product.instance_variable_get('@tariffs').length},
+      "Incorrect number of tariffs returned"
+  end
+  
+  def test_has_many_through_when_not_pre_loaded
+       student = Student.find(:first)
+       rooms = student.rooms
+       assert_equal 1, rooms.size
+       assert_equal 1, rooms.first.dorm_id
+       assert_equal 1, rooms.first.room_id
+  end
+  
+  def test_has_many_through_when_through_association_is_composite
+    dorm = Dorm.find(:first)
+    assert_equal 1, dorm.rooms.length
+    assert_equal 1, dorm.rooms.first.room_attributes.length
+    assert_equal 'keg', dorm.rooms.first.room_attributes.first.name
+  end
+
+  def test_associations_with_conditions
+    @suburb = Suburb.find([2, 1])
+    assert_equal 2, @suburb.streets.size
+
+    @suburb = Suburb.find([2, 1])
+    assert_equal 1, @suburb.first_streets.size
+
+    @suburb = Suburb.find([2, 1], :include => :streets)
+    assert_equal 2, @suburb.streets.size
+
+    @suburb = Suburb.find([2, 1], :include => :first_streets)
+    assert_equal 1, @suburb.first_streets.size
+  end
+  
+  def test_has_and_belongs_to_many
+    @restaurant = Restaurant.find([1,1])
+    assert_equal 2, @restaurant.suburbs.size
+    
+    @restaurant = Restaurant.find([1,1], :include => :suburbs)
+    assert_equal 2, @restaurant.suburbs.size  
+  end
+end
index 822974430b2df745fc764bb293ea30c3570cadde..26e7970d5d7406a083a77a3ffcfdc944e20d2f3c 100644 (file)
@@ -1,34 +1,34 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-\r
-class TestClone < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes\r
-  \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => :reference_type_id,\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-  end\r
-  \r
-  def test_truth\r
-    testing_with do\r
-      clone = @first.clone\r
-      assert_equal @first.attributes.block(@klass.primary_key), clone.attributes\r
-      if composite?\r
-        @klass.primary_key.each {|key| assert_nil clone[key], "Primary key '#{key}' should be nil"} \r
-      else\r
-        assert_nil clone[@klass.primary_key], "Sole primary key should be nil"\r
-      end\r
-    end\r
-  end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+
+class TestClone < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes
+  
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => :reference_type_id,
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+  end
+  
+  def test_truth
+    testing_with do
+      clone = @first.clone
+      assert_equal @first.attributes.block(@klass.primary_key), clone.attributes
+      if composite?
+        @klass.primary_key.each {|key| assert_nil clone[key], "Primary key '#{key}' should be nil"} 
+      else
+        assert_nil clone[@klass.primary_key], "Sole primary key should be nil"
+      end
+    end
+  end
 end
\ No newline at end of file
index cd79bbd72d50b13687aa6cfceeea8468b0e3c9e6..2bd0d2abe82e81472a159a9286be89108fa44d8a 100644 (file)
@@ -1,96 +1,96 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-require 'fixtures/department'\r
-require 'fixtures/employee'\r
-\r
-class TestDelete < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes, :departments, :employees\r
-  \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => :reference_type_id,\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-  end\r
-  \r
-  def test_destroy_one\r
-    testing_with do\r
-      #assert @first.destroy\r
-      assert true\r
-    end\r
-  end\r
-  \r
-  def test_destroy_one_via_class\r
-    testing_with do\r
-      assert @klass.destroy(*@first.id)\r
-    end\r
-  end\r
-  \r
-  def test_destroy_one_alone_via_class\r
-    testing_with do\r
-      assert @klass.destroy(@first.id)\r
-    end\r
-  end\r
-  \r
-  def test_delete_one\r
-    testing_with do\r
-      assert @klass.delete(*@first.id) if composite?\r
-    end\r
-  end\r
-  \r
-  def test_delete_one_alone\r
-    testing_with do\r
-      assert @klass.delete(@first.id)\r
-    end\r
-  end\r
-  \r
-  def test_delete_many\r
-    testing_with do\r
-      to_delete = @klass.find(:all)[0..1]\r
-      assert_equal 2, to_delete.length\r
-    end\r
-  end\r
-  \r
-  def test_delete_all\r
-    testing_with do\r
-      @klass.delete_all\r
-    end\r
-  end\r
-\r
-  def test_clear_association\r
-      department = Department.find(1,1)\r
-      assert_equal 2, department.employees.size, "Before clear employee count should be 2."\r
-      department.employees.clear\r
-      assert_equal 0, department.employees.size, "After clear employee count should be 0."\r
-      department.reload\r
-      assert_equal 0, department.employees.size, "After clear and a reload from DB employee count should be 0."\r
-  end\r
-\r
-  def test_delete_association\r
-      department = Department.find(1,1)\r
-      assert_equal 2, department.employees.size , "Before delete employee count should be 2."\r
-      first_employee = department.employees[0]\r
-      department.employees.delete(first_employee)\r
-      assert_equal 1, department.employees.size, "After delete employee count should be 1."\r
-      department.reload\r
-      assert_equal 1, department.employees.size, "After delete and a reload from DB employee count should be 1."\r
-  end\r
-\r
-  def test_delete_records_for_has_many_association_with_composite_primary_key\r
-      reference_type  = ReferenceType.find(1)\r
-      codes_to_delete = reference_type.reference_codes[0..1]\r
-      assert_equal 3, reference_type.reference_codes.size, "Before deleting records reference_code count should be 3."\r
-      reference_type.reference_codes.delete_records(codes_to_delete)\r
-      reference_type.reload\r
-      assert_equal 1, reference_type.reference_codes.size, "After deleting 2 records and a reload from DB reference_code count should be 1."\r
-  end\r
-end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+require 'fixtures/department'
+require 'fixtures/employee'
+
+class TestDelete < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes, :departments, :employees
+  
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => :reference_type_id,
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+  end
+  
+  def test_destroy_one
+    testing_with do
+      #assert @first.destroy
+      assert true
+    end
+  end
+  
+  def test_destroy_one_via_class
+    testing_with do
+      assert @klass.destroy(*@first.id)
+    end
+  end
+  
+  def test_destroy_one_alone_via_class
+    testing_with do
+      assert @klass.destroy(@first.id)
+    end
+  end
+  
+  def test_delete_one
+    testing_with do
+      assert @klass.delete(*@first.id) if composite?
+    end
+  end
+  
+  def test_delete_one_alone
+    testing_with do
+      assert @klass.delete(@first.id)
+    end
+  end
+  
+  def test_delete_many
+    testing_with do
+      to_delete = @klass.find(:all)[0..1]
+      assert_equal 2, to_delete.length
+    end
+  end
+  
+  def test_delete_all
+    testing_with do
+      @klass.delete_all
+    end
+  end
+
+  def test_clear_association
+      department = Department.find(1,1)
+      assert_equal 2, department.employees.size, "Before clear employee count should be 2."
+      department.employees.clear
+      assert_equal 0, department.employees.size, "After clear employee count should be 0."
+      department.reload
+      assert_equal 0, department.employees.size, "After clear and a reload from DB employee count should be 0."
+  end
+
+  def test_delete_association
+      department = Department.find(1,1)
+      assert_equal 2, department.employees.size , "Before delete employee count should be 2."
+      first_employee = department.employees[0]
+      department.employees.delete(first_employee)
+      assert_equal 1, department.employees.size, "After delete employee count should be 1."
+      department.reload
+      assert_equal 1, department.employees.size, "After delete and a reload from DB employee count should be 1."
+  end
+
+  def test_delete_records_for_has_many_association_with_composite_primary_key
+      reference_type  = ReferenceType.find(1)
+      codes_to_delete = reference_type.reference_codes[0..1]
+      assert_equal 3, reference_type.reference_codes.size, "Before deleting records reference_code count should be 3."
+      reference_type.reference_codes.delete_records(codes_to_delete)
+      reference_type.reload
+      assert_equal 1, reference_type.reference_codes.size, "After deleting 2 records and a reload from DB reference_code count should be 1."
+  end
+end
index 44386685b9a265a0feb7c09d095b83970a48096e..da21c4716976c6c5d215d66c00ece18ce169ffcc 100644 (file)
@@ -1,28 +1,28 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-\r
-class TestDummy < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes\r
-  \r
-  classes = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => :reference_type_id,\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = classes\r
-  end\r
-  \r
-  def test_truth\r
-    testing_with do\r
-      assert true\r
-    end\r
-  end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+
+class TestDummy < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes
+  
+  classes = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => :reference_type_id,
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+    },
+  }
+  
+  def setup
+    self.class.classes = classes
+  end
+  
+  def test_truth
+    testing_with do
+      assert true
+    end
+  end
 end
\ No newline at end of file
index a07d30a64803c661fe7d1fecd9190572f48e5466..c8c1af7dc47df6aad275fd5a1f4c20b1a6cd9a61 100644 (file)
@@ -1,73 +1,73 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-\r
-# Testing the find action on composite ActiveRecords with two primary keys\r
-class TestFind < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes\r
-  \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => [:reference_type_id],\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-    },\r
-    :dual_strs   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => ['reference_type_id', 'reference_code'],\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-  end\r
-  \r
-  def test_find_first\r
-    testing_with do\r
-      obj = @klass.find(:first)\r
-      assert obj\r
-      assert_equal @klass, obj.class\r
-    end\r
-  end\r
-  \r
-  def test_find\r
-    testing_with do\r
-      found = @klass.find(*first_id) # e.g. find(1,1) or find 1,1\r
-      assert found\r
-      assert_equal @klass, found.class\r
-      assert_equal found, @klass.find(found.id)\r
-      assert_equal found, @klass.find(found.to_param)\r
-    end\r
-  end\r
-  \r
-  def test_find_composite_ids\r
-    testing_with do\r
-      found = @klass.find(first_id) # e.g. find([1,1].to_composite_ids)\r
-      assert found\r
-      assert_equal @klass, found.class\r
-      assert_equal found, @klass.find(found.id)\r
-      assert_equal found, @klass.find(found.to_param)\r
-    end\r
-  end\r
-  \r
-  def test_to_param\r
-    testing_with do\r
-      assert_equal first_id_str, @first.to_param.to_s\r
-    end\r
-  end\r
-  \r
-  def things_to_look_at\r
-    testing_with do\r
-      assert_equal found, @klass.find(found.id.to_s) # fails for 2+ keys\r
-    end\r
-  end\r
-  \r
-  def test_not_found\r
-    assert_raise(::ActiveRecord::RecordNotFound) do\r
-      ReferenceCode.send :find, '999,999'\r
-    end\r
-  end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+
+# Testing the find action on composite ActiveRecords with two primary keys
+class TestFind < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes
+  
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => [:reference_type_id],
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+    },
+    :dual_strs   => { 
+      :class => ReferenceCode,
+      :primary_keys => ['reference_type_id', 'reference_code'],
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+  end
+  
+  def test_find_first
+    testing_with do
+      obj = @klass.find(:first)
+      assert obj
+      assert_equal @klass, obj.class
+    end
+  end
+  
+  def test_find
+    testing_with do
+      found = @klass.find(*first_id) # e.g. find(1,1) or find 1,1
+      assert found
+      assert_equal @klass, found.class
+      assert_equal found, @klass.find(found.id)
+      assert_equal found, @klass.find(found.to_param)
+    end
+  end
+  
+  def test_find_composite_ids
+    testing_with do
+      found = @klass.find(first_id) # e.g. find([1,1].to_composite_ids)
+      assert found
+      assert_equal @klass, found.class
+      assert_equal found, @klass.find(found.id)
+      assert_equal found, @klass.find(found.to_param)
+    end
+  end
+  
+  def test_to_param
+    testing_with do
+      assert_equal first_id_str, @first.to_param.to_s
+    end
+  end
+  
+  def things_to_look_at
+    testing_with do
+      assert_equal found, @klass.find(found.id.to_s) # fails for 2+ keys
+    end
+  end
+  
+  def test_not_found
+    assert_raise(::ActiveRecord::RecordNotFound) do
+      ReferenceCode.send :find, '999,999'
+    end
+  end
 end
\ No newline at end of file
index 9ba2d92a7650df224153ea02b719df10944d1b18..3cd4f3c9eb446dc3bc1bcba9ba83d1da5be7b21e 100644 (file)
@@ -1,97 +1,97 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-\r
-class TestIds < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes\r
-  \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => [:reference_type_id],\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-    },\r
-    :dual_strs   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => ['reference_type_id', 'reference_code'],\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-  end\r
-  \r
-  def test_id\r
-    testing_with do\r
-      assert_equal @first.id, @first.ids if composite?\r
-    end\r
-  end\r
-  \r
-  def test_id_to_s\r
-    testing_with do\r
-      assert_equal first_id_str, @first.id.to_s\r
-      assert_equal first_id_str, "#{@first.id}"\r
-    end\r
-  end\r
-  \r
-  def test_ids_to_s\r
-    testing_with do\r
-      order = @klass.primary_key.is_a?(String) ? @klass.primary_key : @klass.primary_key.join(',')\r
-      to_test = @klass.find(:all, :order => order)[0..1].map(&:id)\r
-      assert_equal '(1,1),(1,2)', @klass.ids_to_s(to_test) if @key_test == :dual\r
-      assert_equal '1,1;1,2', @klass.ids_to_s(to_test, ',', ';', '', '') if @key_test == :dual\r
-    end\r
-  end\r
-  \r
-  def test_composite_where_clause\r
-    testing_with do\r
-      where = 'reference_codes.reference_type_id=1 AND reference_codes.reference_code=2) OR (reference_codes.reference_type_id=2 AND reference_codes.reference_code=2'\r
-      assert_equal(where, @klass.composite_where_clause([[1, 2], [2, 2]])) if @key_test == :dual\r
-    end\r
-  end\r
-  \r
-  def test_set_ids_string\r
-    testing_with do\r
-      array = @primary_keys.collect {|key| 5}\r
-      expected = composite? ? array.to_composite_keys : array.first\r
-      @first.id = expected.to_s\r
-      assert_equal expected, @first.id\r
-    end\r
-  end\r
-  \r
-  def test_set_ids_array\r
-    testing_with do\r
-      array = @primary_keys.collect {|key| 5}\r
-      expected = composite? ? array.to_composite_keys : array.first\r
-      @first.id = expected\r
-      assert_equal expected, @first.id\r
-    end\r
-  end\r
-  \r
-  def test_set_ids_comp\r
-    testing_with do\r
-      array = @primary_keys.collect {|key| 5}\r
-      expected = composite? ? array.to_composite_keys : array.first\r
-      @first.id = expected\r
-      assert_equal expected, @first.id\r
-    end\r
-  end\r
-  \r
-  def test_primary_keys\r
-    testing_with do\r
-      if composite?\r
-        assert_not_nil @klass.primary_keys\r
-        assert_equal @primary_keys.map {|key| key.to_sym}, @klass.primary_keys\r
-        assert_equal @klass.primary_keys, @klass.primary_key\r
-      else\r
-        assert_not_nil @klass.primary_key\r
-        assert_equal @primary_keys, [@klass.primary_key.to_sym]\r
-      end\r
-      assert_equal @primary_keys.join(','), @klass.primary_key.to_s\r
-      # Need a :primary_keys should be Array with to_s overridden\r
-    end\r
-  end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+
+class TestIds < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes
+  
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => [:reference_type_id],
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+    },
+    :dual_strs   => { 
+      :class => ReferenceCode,
+      :primary_keys => ['reference_type_id', 'reference_code'],
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+  end
+  
+  def test_id
+    testing_with do
+      assert_equal @first.id, @first.ids if composite?
+    end
+  end
+  
+  def test_id_to_s
+    testing_with do
+      assert_equal first_id_str, @first.id.to_s
+      assert_equal first_id_str, "#{@first.id}"
+    end
+  end
+  
+  def test_ids_to_s
+    testing_with do
+      order = @klass.primary_key.is_a?(String) ? @klass.primary_key : @klass.primary_key.join(',')
+      to_test = @klass.find(:all, :order => order)[0..1].map(&:id)
+      assert_equal '(1,1),(1,2)', @klass.ids_to_s(to_test) if @key_test == :dual
+      assert_equal '1,1;1,2', @klass.ids_to_s(to_test, ',', ';', '', '') if @key_test == :dual
+    end
+  end
+  
+  def test_composite_where_clause
+    testing_with do
+      where = 'reference_codes.reference_type_id=1 AND reference_codes.reference_code=2) OR (reference_codes.reference_type_id=2 AND reference_codes.reference_code=2'
+      assert_equal(where, @klass.composite_where_clause([[1, 2], [2, 2]])) if @key_test == :dual
+    end
+  end
+  
+  def test_set_ids_string
+    testing_with do
+      array = @primary_keys.collect {|key| 5}
+      expected = composite? ? array.to_composite_keys : array.first
+      @first.id = expected.to_s
+      assert_equal expected, @first.id
+    end
+  end
+  
+  def test_set_ids_array
+    testing_with do
+      array = @primary_keys.collect {|key| 5}
+      expected = composite? ? array.to_composite_keys : array.first
+      @first.id = expected
+      assert_equal expected, @first.id
+    end
+  end
+  
+  def test_set_ids_comp
+    testing_with do
+      array = @primary_keys.collect {|key| 5}
+      expected = composite? ? array.to_composite_keys : array.first
+      @first.id = expected
+      assert_equal expected, @first.id
+    end
+  end
+  
+  def test_primary_keys
+    testing_with do
+      if composite?
+        assert_not_nil @klass.primary_keys
+        assert_equal @primary_keys.map {|key| key.to_sym}, @klass.primary_keys
+        assert_equal @klass.primary_keys, @klass.primary_key
+      else
+        assert_not_nil @klass.primary_key
+        assert_equal @primary_keys, [@klass.primary_key.to_sym]
+      end
+      assert_equal @primary_keys.join(','), @klass.primary_key.to_s
+      # Need a :primary_keys should be Array with to_s overridden
+    end
+  end
 end
\ No newline at end of file
index 25f6096fec8bf74f2551ddb9bd360b7e6d3ea717..e5de570213a31cf8bfa7709194376bc1e676b400 100644 (file)
@@ -1,39 +1,39 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-\r
-class TestMiscellaneous < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes, :products\r
-  \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => :reference_type_id,\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-  end\r
-\r
-  def test_composite_class\r
-    testing_with do\r
-      assert_equal composite?, @klass.composite?\r
-    end\r
-  end\r
-\r
-  def test_composite_instance\r
-    testing_with do\r
-      assert_equal composite?, @first.composite?\r
-    end\r
-  end\r
-  \r
-  def test_count\r
-    assert_equal 2, Product.count\r
-  end\r
-  \r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+
+class TestMiscellaneous < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes, :products
+  
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => :reference_type_id,
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+  end
+
+  def test_composite_class
+    testing_with do
+      assert_equal composite?, @klass.composite?
+    end
+  end
+
+  def test_composite_instance
+    testing_with do
+      assert_equal composite?, @first.composite?
+    end
+  end
+  
+  def test_count
+    assert_equal 2, Product.count
+  end
+  
 end
\ No newline at end of file
index fa19d95a6f1f09e23145898b9d73ac38519aaa41..4952ff207f3f9f449caa95eeab9345068d4b0a82 100644 (file)
@@ -1,38 +1,38 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-require 'plugins/pagination'\r
-\r
-class TestPagination < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes\r
-  \r
-  include ActionController::Pagination\r
-  DEFAULT_PAGE_SIZE = 2\r
-  \r
-  attr_accessor :params\r
-   \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => :reference_type_id,\r
-      :table => :reference_types,\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-      :table => :reference_codes,\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-    @params = {}\r
-  end\r
-\r
-  def test_paginate_all\r
-    testing_with do\r
-      @object_pages, @objects = paginate @klass_info[:table], :per_page => DEFAULT_PAGE_SIZE\r
-      assert_equal 2, @objects.length, "Each page should have #{DEFAULT_PAGE_SIZE} items"\r
-    end\r
-  end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+require 'plugins/pagination'
+
+class TestPagination < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes
+  
+  include ActionController::Pagination
+  DEFAULT_PAGE_SIZE = 2
+  
+  attr_accessor :params
+   
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => :reference_type_id,
+      :table => :reference_types,
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+      :table => :reference_codes,
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+    @params = {}
+  end
+
+  def test_paginate_all
+    testing_with do
+      @object_pages, @objects = paginate @klass_info[:table], :per_page => DEFAULT_PAGE_SIZE
+      assert_equal 2, @objects.length, "Each page should have #{DEFAULT_PAGE_SIZE} items"
+    end
+  end
 end
\ No newline at end of file
index 4b5f433e4917e901a30ba4d5f4870e232d6ced2a..771c414a71951b4ba95db21236e311f721ccfd2f 100644 (file)
@@ -1,27 +1,27 @@
-# Test cases devised by Santiago that broke the Composite Primary Keys\r
-# code at one point in time. But no more!!!\r
-\r
-require 'abstract_unit'\r
-require 'fixtures/user'\r
-require 'fixtures/article'\r
-require 'fixtures/reading'\r
-\r
-class TestSantiago < Test::Unit::TestCase\r
-  fixtures :suburbs, :streets, :users, :articles, :readings\r
-  \r
-  def test_normal_and_composite_associations\r
-    assert_not_nil @suburb = Suburb.find(1,1)\r
-    assert_equal 1, @suburb.streets.length\r
-    \r
-    assert_not_nil @street = Street.find(1)\r
-    assert_not_nil @street.suburb\r
-  end\r
-  \r
-  def test_single_keys\r
-    @santiago = User.find(1)\r
-    assert_not_nil @santiago.articles\r
-    assert_equal 2, @santiago.articles.length\r
-    assert_not_nil @santiago.readings\r
-    assert_equal 2, @santiago.readings.length\r
-  end\r
-end\r
+# Test cases devised by Santiago that broke the Composite Primary Keys
+# code at one point in time. But no more!!!
+
+require 'abstract_unit'
+require 'fixtures/user'
+require 'fixtures/article'
+require 'fixtures/reading'
+
+class TestSantiago < Test::Unit::TestCase
+  fixtures :suburbs, :streets, :users, :articles, :readings
+  
+  def test_normal_and_composite_associations
+    assert_not_nil @suburb = Suburb.find(1,1)
+    assert_equal 1, @suburb.streets.length
+    
+    assert_not_nil @street = Street.find(1)
+    assert_not_nil @street.suburb
+  end
+  
+  def test_single_keys
+    @santiago = User.find(1)
+    assert_not_nil @santiago.articles
+    assert_equal 2, @santiago.articles.length
+    assert_not_nil @santiago.readings
+    assert_equal 2, @santiago.readings.length
+  end
+end
index d612c92a83ccc40fa7fd12a45892a3b50dd0ce23..87ca8f5f46733a68936eca25bbab835407db78d0 100644 (file)
@@ -1,40 +1,40 @@
-require 'abstract_unit'\r
-require 'fixtures/reference_type'\r
-require 'fixtures/reference_code'\r
-\r
-class TestUpdate < Test::Unit::TestCase\r
-  fixtures :reference_types, :reference_codes\r
-  \r
-  CLASSES = {\r
-    :single => {\r
-      :class => ReferenceType,\r
-      :primary_keys => :reference_type_id,\r
-      :update => { :description => 'RT Desc' },\r
-    },\r
-    :dual   => { \r
-      :class => ReferenceCode,\r
-      :primary_keys => [:reference_type_id, :reference_code],\r
-      :update => { :description => 'RT Desc' },\r
-    },\r
-  }\r
-  \r
-  def setup\r
-    self.class.classes = CLASSES\r
-  end\r
-  \r
-  def test_setup\r
-    testing_with do\r
-      assert_not_nil @klass_info[:update]\r
-    end\r
-  end\r
-  \r
-  def test_update_attributes\r
-    testing_with do\r
-      assert @first.update_attributes(@klass_info[:update])\r
-      assert @first.reload\r
-      @klass_info[:update].each_pair do |attr_name, new_value|\r
-        assert_equal new_value, @first[attr_name], "Attribute #{attr_name} is incorrect"\r
-      end\r
-    end\r
-  end\r
+require 'abstract_unit'
+require 'fixtures/reference_type'
+require 'fixtures/reference_code'
+
+class TestUpdate < Test::Unit::TestCase
+  fixtures :reference_types, :reference_codes
+  
+  CLASSES = {
+    :single => {
+      :class => ReferenceType,
+      :primary_keys => :reference_type_id,
+      :update => { :description => 'RT Desc' },
+    },
+    :dual   => { 
+      :class => ReferenceCode,
+      :primary_keys => [:reference_type_id, :reference_code],
+      :update => { :description => 'RT Desc' },
+    },
+  }
+  
+  def setup
+    self.class.classes = CLASSES
+  end
+  
+  def test_setup
+    testing_with do
+      assert_not_nil @klass_info[:update]
+    end
+  end
+  
+  def test_update_attributes
+    testing_with do
+      assert @first.update_attributes(@klass_info[:update])
+      assert @first.reload
+      @klass_info[:update].each_pair do |attr_name, new_value|
+        assert_equal new_value, @first[attr_name], "Attribute #{attr_name} is incorrect"
+      end
+    end
+  end
 end
\ No newline at end of file
index 3f2d8f951a3dc9c5c8b8b1efcdf1ff7289d72672..cfa43425bd69285f829e6dbf3482a259e4a9c146 100644 (file)
-body {\r
-  background-color: #2F30EE;\r
-  font-family: "Georgia", sans-serif;\r
-  font-size: 16px;\r
-  line-height: 1.6em;\r
-  padding: 1.6em 0 0 0;\r
-  color: #eee;\r
-}\r
-h1, h2, h3, h4, h5, h6 {\r
-  color: #FFEDFA;\r
-}\r
-h1 { \r
-  font-family: sans-serif;\r
-  font-weight: normal;\r
-  font-size: 4em;\r
-  line-height: 0.8em;\r
-  letter-spacing: -0.1ex;\r
-       margin: 5px;\r
-}\r
-li {\r
-  padding: 0;\r
-  margin: 0;\r
-  list-style-type: square;\r
-}\r
-a {\r
-  color: #99f;\r
-  font-weight: normal;\r
-  text-decoration: underline;\r
-}\r
-blockquote {\r
-  font-size: 90%;\r
-  font-style: italic;\r
-  border-left: 1px solid #eee;\r
-  padding-left: 1em;\r
-}\r
-.caps {\r
-  font-size: 80%;\r
-}\r
-\r
-#main {\r
-  width: 45em;\r
-  padding: 0;\r
-  margin: 0 auto;\r
-}\r
-.coda {\r
-  text-align: right;\r
-  color: #77f;\r
-  font-size: smaller;\r
-}\r
-\r
-table {\r
-  font-size: 90%;\r
-  line-height: 1.4em;\r
-  color: #ff8;\r
-  background-color: #111;\r
-  padding: 2px 10px 2px 10px;\r
-       border-style: dashed;\r
-}\r
-\r
-th {\r
-       color: #fff;\r
-}\r
-\r
-td {\r
-  padding: 2px 10px 2px 10px;\r
-}\r
-\r
-.success {\r
-       color: #0CC52B;\r
-}\r
-\r
-.failed {\r
-       color: #E90A1B;\r
-}\r
-\r
-.unknown {\r
-       color: #995000;\r
-}\r
-pre, code {\r
-  font-family: monospace;\r
-  font-size: 90%;\r
-  line-height: 1.4em;\r
-  color: #ff8;\r
-  background-color: #111;\r
-  padding: 2px 10px 2px 10px;\r
-}\r
-.comment { color: #aaa; font-style: italic; }\r
-.keyword { color: #eff; font-weight: bold; }\r
-.punct { color: #eee; font-weight: bold; }\r
-.symbol { color: #0bb; }\r
-.string { color: #6b4; }\r
-.ident { color: #ff8; }\r
-.constant { color: #66f; }\r
-.regex { color: #ec6; }\r
-.number { color: #F99; }\r
-.expr { color: #227; }\r
-\r
-#version {\r
-  float: right;\r
-  text-align: right;\r
-  font-family: sans-serif;\r
-  font-weight: normal;\r
-  background-color: #ff8;\r
-  color: #66f;\r
-  padding: 15px 20px 10px 20px;\r
-  margin: 0 auto;\r
-       margin-top: 15px;\r
-  border: 3px solid #66f;\r
-}\r
-\r
-#version .numbers {\r
-  display: block;\r
-  font-size: 4em;\r
-  line-height: 0.8em;\r
-  letter-spacing: -0.1ex;\r
-}\r
-\r
-#version a {\r
-  text-decoration: none;\r
-}\r
-\r
-.clickable {\r
-       cursor: pointer; \r
-       cursor: hand;\r
-}\r
-\r
+body {
+  background-color: #2F30EE;
+  font-family: "Georgia", sans-serif;
+  font-size: 16px;
+  line-height: 1.6em;
+  padding: 1.6em 0 0 0;
+  color: #eee;
+}
+h1, h2, h3, h4, h5, h6 {
+  color: #FFEDFA;
+}
+h1 { 
+  font-family: sans-serif;
+  font-weight: normal;
+  font-size: 4em;
+  line-height: 0.8em;
+  letter-spacing: -0.1ex;
+       margin: 5px;
+}
+li {
+  padding: 0;
+  margin: 0;
+  list-style-type: square;
+}
+a {
+  color: #99f;
+  font-weight: normal;
+  text-decoration: underline;
+}
+blockquote {
+  font-size: 90%;
+  font-style: italic;
+  border-left: 1px solid #eee;
+  padding-left: 1em;
+}
+.caps {
+  font-size: 80%;
+}
+
+#main {
+  width: 45em;
+  padding: 0;
+  margin: 0 auto;
+}
+.coda {
+  text-align: right;
+  color: #77f;
+  font-size: smaller;
+}
+
+table {
+  font-size: 90%;
+  line-height: 1.4em;
+  color: #ff8;
+  background-color: #111;
+  padding: 2px 10px 2px 10px;
+       border-style: dashed;
+}
+
+th {
+       color: #fff;
+}
+
+td {
+  padding: 2px 10px 2px 10px;
+}
+
+.success {
+       color: #0CC52B;
+}
+
+.failed {
+       color: #E90A1B;
+}
+
+.unknown {
+       color: #995000;
+}
+pre, code {
+  font-family: monospace;
+  font-size: 90%;
+  line-height: 1.4em;
+  color: #ff8;
+  background-color: #111;
+  padding: 2px 10px 2px 10px;
+}
+.comment { color: #aaa; font-style: italic; }
+.keyword { color: #eff; font-weight: bold; }
+.punct { color: #eee; font-weight: bold; }
+.symbol { color: #0bb; }
+.string { color: #6b4; }
+.ident { color: #ff8; }
+.constant { color: #66f; }
+.regex { color: #ec6; }
+.number { color: #F99; }
+.expr { color: #227; }
+
+#version {
+  float: right;
+  text-align: right;
+  font-family: sans-serif;
+  font-weight: normal;
+  background-color: #ff8;
+  color: #66f;
+  padding: 15px 20px 10px 20px;
+  margin: 0 auto;
+       margin-top: 15px;
+  border: 3px solid #66f;
+}
+
+#version .numbers {
+  display: block;
+  font-size: 4em;
+  line-height: 0.8em;
+  letter-spacing: -0.1ex;
+}
+
+#version a {
+  text-decoration: none;
+}
+
+.clickable {
+       cursor: pointer; 
+       cursor: hand;
+}
+
index 74ca3ac67348a7aac8abbb1bec60452bcd059454..9059e938d4213abbcd426b0b05ba13335748a0bf 100644 (file)
@@ -1,2 +1,2 @@
-h1. Announcement JS file\r
+h1. Announcement JS file
 MagicAnnouncement.show('compositekeys', version);
\ No newline at end of file
index d0a9dab1d7a714098b9b81dad4d9b22358b807cb..3225547c9ee679053b325069aaa7ff303f653022 100644 (file)
@@ -1,4 +1,4 @@
 // Version JS file
 var version = "2.2.2";
-\r
+
 document.write(" - " + version);
index d0ac6a7acadd11daf5da2cfe03acac347ab0473d..6054d2f4b12ff66556a33d306557c56f53bcef47 100644 (file)
@@ -1,3 +1,3 @@
-h1. Version JS file\r
-\r
+h1. Version JS file
+
 document.write(" - " + version);
\ No newline at end of file
index 5145f49c3ca67eb8611264b41f147f61b03cd4f0..bee4866715c5b99f4fcfb818471ce2df90af5795 100644 (file)
@@ -1,5 +1,6 @@
 # Bulgarian localization for Ruby on Rails 2.2+
 # by Samson Behar <master.webmaster.master@gmail.com>
+# Fixes by Yavor Ivanov, http://github.com/YavorIvanov
 #
 # Минимална локализация на приложения за поддръжка на български език.
 
@@ -117,6 +118,11 @@ bg:
         few: "{{count}} месеца"
         many: "{{count}} месеци"
         other: "{{count}} месеца"
+      almost_x_years:
+        one: "почти {{count}} година"
+        few: "почти {{count}} години"
+        many: "почти {{count}} години"
+        other: "почти {{count}} години"
       about_x_years:
         one: "около {{count}} година"
         few: "около {{count}} години"
index e3fdad8246070957c9da5cf19b7d8ab8f1a353d9..6fd2c7a648fb865faed278c878e9d712b7928d90 100644 (file)
-# Lower Sorbian translations for Ruby on Rails\r
-# by Michael Wolf (preklady@wolfmicha.de)\r
-\r
-dsb:\r
-  # ActiveSupport\r
-  support:\r
-    array:\r
-      words_connector: ", "\r
-      two_words_connector: " a "\r
-      last_word_connector: " a "\r
-      sentence_connector: "a"\r
-      skip_last_comma: true\r
-\r
-  # Date\r
-  date:\r
-    formats:\r
-      default: "%d. %m. %Y"\r
-      short:   "%d %b"\r
-      long:    "%d. %B %Y"\r
-    day_names:        [njeźela, pónjeźele, wałtora, srjoda, stwórtk, pětk, sobota]\r
-    abbr_day_names:   [Nj, Pó, Wu, Sr, St, Pě, So]\r
-    month_names:      [~, Januar, Februar, Měrc, Apryl, Maj, Junij, Julij, Awgust, September, Oktober, Nowember, December]\r
-    abbr_month_names: [~, jan, feb, měr, apr, maj, jun, jul, awg, sep, okt, now, dec]\r
-    order:            [:day, :month, :year]\r
-\r
-  # Time\r
-  time:\r
-    formats:\r
-      default: "%A, %d. %B %Y, %H:%M hodź"\r
-      short:   "%d. %B, %H:%M hodź."\r
-      long:    "%A, %d. %B %Y, %H:%M hodź."\r
-    am: "dopołdnja"\r
-    pm: "wótpołdnja"\r
-\r
-\r
-  # Numbers\r
-  number:\r
-    format:\r
-      precision: 3\r
-      separator: ","\r
-      delimiter: "."\r
-    currency:\r
-      format:\r
-        unit: "€"\r
-        precision: 2\r
-        format: "%n %u"\r
-        separator: ","\r
-        delimiter: " "\r
-    human:\r
-      format:\r
-        precision: 1\r
-        delimiter: ""\r
-    storage_units:\r
-      format: "%n %u"\r
-      units:\r
-        byte:\r
-          one: "bajt"\r
-          two: "bajta"\r
-          few: "bajty"\r
-          other: "bajtow"\r
-        kb:   "KB"\r
-        mb:   "MB"\r
-        gb:   "GB"\r
-        tb:   "TB"\r
-\r
-    percentage:\r
-      format:\r
-        delimiter: ""\r
-\r
-    precision:\r
-      format:\r
-        delimiter: ""\r
-\r
-\r
-  # Distance of time ... helper\r
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()\r
-  datetime:\r
-    distance_in_words:\r
-      half_a_minute: "poł minuty"\r
-      less_than_x_seconds:\r
-        one:   "mjenjej ako 1 sekundu"\r
-        two:   "mjenjej ako {{count}} sekundoma"\r
-        few:   "mjenjej ako {{count}} sekundami"\r
-        other: "mjenjej ako {{count}} sekundami"\r
-        x_seconds:\r
-        one:   "1 sekundu"\r
-        two:   "{{count}} sekundoma"\r
-        few:   "{{count}} sekundami"\r
-        other: "{{count}} sekundami"\r
-      less_than_x_minutes:\r
-        one: "mjenjej ako 1 minutu"\r
-        two: "mjenjej ako {{count}} minutoma"\r
-        few: "mjenjej ako {{count}} minutami"\r
-        other: "mjenjej ako {{count}} minutami"\r
-      x_minutes:\r
-        one:    "1 minutu"\r
-        two:    "{{count}} minutoma"\r
-        few:    "{{count}} minutami"\r
-        other:  "{{count}} minutami"\r
-      about_x_hours:\r
-        one:    "něźi 1 góźinu"\r
-        two:    "něźi {{count}} góźinoma"\r
-        few:    "něźi {{count}} góźinami"\r
-        other:  "něźi {{count}} góźinami"\r
-      x_days:\r
-        one:    "1 dnjom"\r
-        two:    "{{count}} dnjoma"\r
-        few:    "{{count}} dnjami"\r
-        other:  "{{count}} dnjami"\r
-      about_x_months:\r
-        one:    "něźi 1 mjasecom"\r
-        two:    "něźi {{count}} mjasecoma"\r
-        few:    "něźi {{count}} mjasecami"\r
-        other:  "něźi {{count}} mjasecami"\r
-      x_months:\r
-        one:    "1 mjasecom"\r
-        two:    "{{count}} mjasecoma"\r
-        few:    "{{count}} mjasecami"\r
-        other:  "{{count}} mjasecami"\r
-      about_x_years:\r
-        one:    "něźi 1 lětom"\r
-        two:    "něźi {{count}} lětoma"\r
-        few:    "něźi {{count}} lětami"\r
-        other:  "něźi {{count}} lětami"\r
-      over_x_years:\r
-        one:    "wěcej ako 1 lětom"\r
-        two:    "wěcej ako {{count}} lětoma"\r
-        few:    "wěcej ako {{count}} lětami"\r
-        other:  "wěcej ako {{count}} lětami"\r
-      prompts:\r
-        year:   "Lěto"\r
-        month:  "Mjasec"\r
-        day:    "Źeń"\r
-        hour:   "Góźina"\r
-        minute: "Minuta"\r
-        second: "Sekunda"\r
-\r
-  # ActiveRecord validation messages\r
-  activerecord:\r
-    errors:\r
-      messages:\r
-        inclusion:           "njejo płaśiwa gódnota"\r
-        exclusion:           "njestoj k dispoziciji"\r
-        invalid:             "njejo płaśiwy"\r
-        confirmation:        "njejo se wobkšuśiło"\r
-        accepted:            "musy se wobkšuśiś"\r
-        empty:               "njesmějo prozny byś"\r
-        blank:               "jo trěbny"\r
-        too_long:\r
-          one:               "jo pśedłujki (maks. 1 znamješko)"\r
-          two:               "jo pśedłujki (maks. {{count}} znamješce)"\r
-          few:               "jo pśedłujki (maks. {{count}} znamješka)"\r
-          other:             "jo pśedłujki (maks. {{count}} znamješkow)"\r
-        too_short:\r
-          one:               "jo překrotki (min. 1 znamješko)"\r
-          two:               "jo překrotki (min. {{count}} znamješće)"\r
-          few:               "jo překrotki (min. {{count}} znamješka)"\r
-          other:             "jo překrotki (min. {{count}} znamješkow)"\r
-        wrong_length:\r
-          one:               "njama pšawu dłujkosć (1 znamješko wócakane)"\r
-          two:               "njama pšawu dłujkosć ({{count}} znamješce wócakanej)"\r
-          few:               "njama pšawu dłujkosć ({{count}} znamješka wócakane)"\r
-          other:             "njama pšawu dłujkosć ({{count}} znamješkow wócakanych)"\r
-        taken:                "jo južo w datowej bance"\r
-        not_a_number:         "njejo licba"\r
-        greater_than:         "musy wětšy ako {{count}} byś"\r
-        greater_than_or_equal_to: "musy wětšy abo jadnak {{count}} być"\r
-        equal_to:                 "musy jadnak {{count}} byś"\r
-        less_than:                "musy mjeńšy ako {{count}} byś"\r
-        less_than_or_equal_to:    "musy mjeńšy abo jadnak {{count}} byś"\r
-        odd:                      "musy njerowna licba byś"\r
-        even:                     "musy rowna licba byś"\r
-\r
-      template:\r
-        header:\r
-          one:   "Pśi składowanju objekta {{model}} jo k zmólce dojšło a njejo było móžno składowaś"\r
-          two:   "Pśi składowanju objekta {{model}} jo k {{count}} zmólkam dojšło a njejo było móžno składowaś"\r
-          few:   "Pśi składowanju objekta {{model}} jo k {{count}} zmólkam dojšło a njejo było móžno składowaś"\r
-          other: "Pśi składowanju objekta {{model}} jo k {{count}} zmólkam dojšło a njejo było móžno składowaś"\r
-        body:  "Pšosym pśeglědaj slědujuce póla:"\r
-\r
-      models:\r
+# Lower Sorbian translations for Ruby on Rails
+# by Michael Wolf (preklady@wolfmicha.de)
+
+dsb:
+  # ActiveSupport
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " a "
+      last_word_connector: " a "
+      sentence_connector: "a"
+      skip_last_comma: true
+
+  # Date
+  date:
+    formats:
+      default: "%d. %m. %Y"
+      short:   "%d %b"
+      long:    "%d. %B %Y"
+    day_names:        [njeźela, pónjeźele, wałtora, srjoda, stwórtk, pětk, sobota]
+    abbr_day_names:   [Nj, Pó, Wu, Sr, St, Pě, So]
+    month_names:      [~, Januar, Februar, Měrc, Apryl, Maj, Junij, Julij, Awgust, September, Oktober, Nowember, December]
+    abbr_month_names: [~, jan, feb, měr, apr, maj, jun, jul, awg, sep, okt, now, dec]
+    order:            [:day, :month, :year]
+
+  # Time
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M hodź"
+      short:   "%d. %B, %H:%M hodź."
+      long:    "%A, %d. %B %Y, %H:%M hodź."
+    am: "dopołdnja"
+    pm: "wótpołdnja"
+
+
+  # Numbers
+  number:
+    format:
+      precision: 3
+      separator: ","
+      delimiter: "."
+    currency:
+      format:
+        unit: "€"
+        precision: 2
+        format: "%n %u"
+        separator: ","
+        delimiter: " "
+    human:
+      format:
+        precision: 1
+        delimiter: ""
+    storage_units:
+      format: "%n %u"
+      units:
+        byte:
+          one: "bajt"
+          two: "bajta"
+          few: "bajty"
+          other: "bajtow"
+        kb:   "KB"
+        mb:   "MB"
+        gb:   "GB"
+        tb:   "TB"
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+
+  # Distance of time ... helper
+  # 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: "poł minuty"
+      less_than_x_seconds:
+        one:   "mjenjej ako 1 sekundu"
+        two:   "mjenjej ako {{count}} sekundoma"
+        few:   "mjenjej ako {{count}} sekundami"
+        other: "mjenjej ako {{count}} sekundami"
+        x_seconds:
+        one:   "1 sekundu"
+        two:   "{{count}} sekundoma"
+        few:   "{{count}} sekundami"
+        other: "{{count}} sekundami"
+      less_than_x_minutes:
+        one: "mjenjej ako 1 minutu"
+        two: "mjenjej ako {{count}} minutoma"
+        few: "mjenjej ako {{count}} minutami"
+        other: "mjenjej ako {{count}} minutami"
+      x_minutes:
+        one:    "1 minutu"
+        two:    "{{count}} minutoma"
+        few:    "{{count}} minutami"
+        other:  "{{count}} minutami"
+      about_x_hours:
+        one:    "něźi 1 góźinu"
+        two:    "něźi {{count}} góźinoma"
+        few:    "něźi {{count}} góźinami"
+        other:  "něźi {{count}} góźinami"
+      x_days:
+        one:    "1 dnjom"
+        two:    "{{count}} dnjoma"
+        few:    "{{count}} dnjami"
+        other:  "{{count}} dnjami"
+      about_x_months:
+        one:    "něźi 1 mjasecom"
+        two:    "něźi {{count}} mjasecoma"
+        few:    "něźi {{count}} mjasecami"
+        other:  "něźi {{count}} mjasecami"
+      x_months:
+        one:    "1 mjasecom"
+        two:    "{{count}} mjasecoma"
+        few:    "{{count}} mjasecami"
+        other:  "{{count}} mjasecami"
+      about_x_years:
+        one:    "něźi 1 lětom"
+        two:    "něźi {{count}} lětoma"
+        few:    "něźi {{count}} lětami"
+        other:  "něźi {{count}} lětami"
+      over_x_years:
+        one:    "wěcej ako 1 lětom"
+        two:    "wěcej ako {{count}} lětoma"
+        few:    "wěcej ako {{count}} lětami"
+        other:  "wěcej ako {{count}} lětami"
+      prompts:
+        year:   "Lěto"
+        month:  "Mjasec"
+        day:    "Źeń"
+        hour:   "Góźina"
+        minute: "Minuta"
+        second: "Sekunda"
+
+  # ActiveRecord validation messages
+  activerecord:
+    errors:
+      messages:
+        inclusion:           "njejo płaśiwa gódnota"
+        exclusion:           "njestoj k dispoziciji"
+        invalid:             "njejo płaśiwy"
+        confirmation:        "njejo se wobkšuśiło"
+        accepted:            "musy se wobkšuśiś"
+        empty:               "njesmějo prozny byś"
+        blank:               "jo trěbny"
+        too_long:
+          one:               "jo pśedłujki (maks. 1 znamješko)"
+          two:               "jo pśedłujki (maks. {{count}} znamješce)"
+          few:               "jo pśedłujki (maks. {{count}} znamješka)"
+          other:             "jo pśedłujki (maks. {{count}} znamješkow)"
+        too_short:
+          one:               "jo překrotki (min. 1 znamješko)"
+          two:               "jo překrotki (min. {{count}} znamješće)"
+          few:               "jo překrotki (min. {{count}} znamješka)"
+          other:             "jo překrotki (min. {{count}} znamješkow)"
+        wrong_length:
+          one:               "njama pšawu dłujkosć (1 znamješko wócakane)"
+          two:               "njama pšawu dłujkosć ({{count}} znamješce wócakanej)"
+          few:               "njama pšawu dłujkosć ({{count}} znamješka wócakane)"
+          other:             "njama pšawu dłujkosć ({{count}} znamješkow wócakanych)"
+        taken:                "jo južo w datowej bance"
+        not_a_number:         "njejo licba"
+        greater_than:         "musy wětšy ako {{count}} byś"
+        greater_than_or_equal_to: "musy wětšy abo jadnak {{count}} być"
+        equal_to:                 "musy jadnak {{count}} byś"
+        less_than:                "musy mjeńšy ako {{count}} byś"
+        less_than_or_equal_to:    "musy mjeńšy abo jadnak {{count}} byś"
+        odd:                      "musy njerowna licba byś"
+        even:                     "musy rowna licba byś"
+
+      template:
+        header:
+          one:   "Pśi składowanju objekta {{model}} jo k zmólce dojšło a njejo było móžno składowaś"
+          two:   "Pśi składowanju objekta {{model}} jo k {{count}} zmólkam dojšło a njejo było móžno składowaś"
+          few:   "Pśi składowanju objekta {{model}} jo k {{count}} zmólkam dojšło a njejo było móžno składowaś"
+          other: "Pśi składowanju objekta {{model}} jo k {{count}} zmólkam dojšło a njejo było móžno składowaś"
+        body:  "Pšosym pśeglědaj slědujuce póla:"
+
+      models:
index 946e4228285f4fcd834a28d9fdb8ae9639bcd6ff..1a111ca67858a0fa36ea77924de191bfc53926d7 100644 (file)
@@ -9,7 +9,10 @@ es-CO:
     currency:
       format: # Pesos Colombianos
         format: "%u%n"
-        unit: "Col $"
+        unit: "$"
+        precision: 2
+        delimiter: ","
+        separator: "."
     format:
       delimiter: ","
       precision: 2
@@ -17,7 +20,20 @@ es-CO:
     human:
       format:
         delimiter: ","
-      storage_units: [Bytes, KB, MB, GB, TB]
+        precision: 2
+      # Rails <= v2.2.2
+      # storage_units: [Bytes, KB, MB, GB, TB]
+      # Rails >= v2.3
+      storage_units: 
+        format: "%n %u"
+        units:
+          byte:
+            one:   "Byte"
+            other: "Bytes"
+          kb: "KB"
+          mb: "MB"
+          gb: "GB"
+          tb: "TB"
     precision:
       format:
         delimiter: ","
@@ -73,10 +89,16 @@ es-CO:
       over_x_years:
         one: "más de 1 año"
         other: "más de {{count}} años"
+      almost_x_years:
+        one: "casi 1 año"
+        other: "casi {{count}} años"
     prompts:
-      hour: 'Hora'
-      minute: 'Minuto'
-      second: 'Segundo'        
+      year:   "Año"
+      month:  "Mes"
+      day:    "Día"
+      hour:   "Hora"
+      minute: "Minutos"
+      second: "Segundos"
 
   # Active Record
 
@@ -88,7 +110,7 @@ es-CO:
           other: "{{model}} no pudo guardarse debido a {{count}} errores"
         body: "Revise que los siguientes campos sean válidos:"
       messages:
-        record_invalid:"Falla de validación: {{errors}}"
+        record_invalid: "Falla de validación: {{errors}}"
         inclusion: "no está incluído en la lista"
         exclusion: "está reservado"
         invalid: "es inválido"
@@ -103,15 +125,22 @@ es-CO:
         less_than_or_equal_to: "debe ser menor o igual que {{count}}"
         greater_than: "debe ser mayor que {{count}}"
         greater_than_or_equal_to: "debe ser mayor o igual que {{count}}"
-        too_short:
-          one: "es demasiado corto (mínimo 1 caracter)"
-          other: "es demasiado corto (mínimo {{count}} caracteres)"
-        too_long:
-          one: "es demasiado largo (máximo 1 caracter)"
-          other: "es demasiado largo (máximo {{count}} caracteres)"
+        too_short: "es demasiado corto (mínimo {{count}} caracteres)"
+        too_long: "es demasiado largo (máximo {{count}} caracteres)"
         equal_to: "debe ser igual a {{count}}"
-        wrong_length:
-          one: "longitud errónea (debe ser de 1 caracter)"
-          other: "longitud errónea (debe ser de {{count}} caracteres)"
+        wrong_length: "longitud errónea (debe ser de {{count}} caracteres)"
         even: "debe ser un número par"
-        odd: "debe ser un número non"
\ No newline at end of file
+        odd: "debe ser un número non"
+
+# Used in array.to_sentence.
+  support:
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Por favor seleccione"
+    array:
+      # Rails <= v.2.2.2
+      # sentence_connector: "y"
+      # Rails >= v.2.3
+      words_connector: ", "
+      two_words_connector: " y "
+      last_word_connector: " y "
index 532d2bc6bcf3d5affa4dfe745bbf2503c281cfea..779279c06de06df504a3d05631cafc5509630eeb 100644 (file)
@@ -7,9 +7,9 @@ es:
     # 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: "," 
+      separator: ","
       # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: "." 
+      delimiter: "."
       # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
       precision: 3
 
@@ -17,35 +17,35 @@ es:
     currency:
       format:
         # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u" 
-        unit: "€" 
+        format: "%n %u"
+        unit: "€"
         # These three are to override number.format and are optional
-        separator: "," 
-        delimiter: "." 
+        separator: ","
+        delimiter: "."
         precision: 2
 
     # Used in number_to_percentage()
     percentage:
       format:
         # These three are to override number.format and are optional
-        # separator: 
-        delimiter: "" 
-        # precision: 
+        # separator:
+        delimiter: ""
+        # precision:
 
     # Used in number_to_precision()
     precision:
       format:
         # These three are to override number.format and are optional
         # separator:
-        delimiter: "" 
+        delimiter: ""
         # precision:
 
     # Used in number_to_human_size()
     human:
       format:
         # These three are to override number.format and are optional
-        # separator: 
-        delimiter: "" 
+        # separator:
+        delimiter: ""
         precision: 1
       # Rails <= v2.2.2
       # storage_units: [Bytes, KB, MB, GB, TB]
@@ -64,37 +64,40 @@ es:
   # 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: "medio minuto" 
+      half_a_minute: "medio minuto"
       less_than_x_seconds:
-        one:  "menos de 1 segundo" 
+        one:  "menos de 1 segundo"
         other: "menos de {{count}} segundos"
       x_seconds:
-        one:  "1 segundo" 
-        other: "{{count}} segundos" 
+        one:  "1 segundo"
+        other: "{{count}} segundos"
       less_than_x_minutes:
-        one:  "menos de 1 minuto" 
-        other: "menos de {{count}} minutos" 
+        one:  "menos de 1 minuto"
+        other: "menos de {{count}} minutos"
       x_minutes:
-        one:  "1 minuto" 
-        other: "{{count}} minutos" 
+        one:  "1 minuto"
+        other: "{{count}} minutos"
       about_x_hours:
-        one:  "alrededor de 1 hora" 
-        other: "alrededor de {{count}} horas" 
+        one:  "alrededor de 1 hora"
+        other: "alrededor de {{count}} horas"
       x_days:
-        one:  "1 día" 
-        other: "{{count}} días" 
+        one:  "1 día"
+        other: "{{count}} días"
       about_x_months:
-        one:  "alrededor de 1 mes" 
-        other: "alrededor de {{count}} meses" 
+        one:  "alrededor de 1 mes"
+        other: "alrededor de {{count}} meses"
       x_months:
-        one:  "1 mes" 
-        other: "{{count}} meses" 
+        one:  "1 mes"
+        other: "{{count}} meses"
       about_x_years:
-        one:  "alrededor de 1 año" 
-        other: "alrededor de {{count}} años" 
+        one:  "alrededor de 1 año"
+        other: "alrededor de {{count}} años"
       over_x_years:
-        one:  "más de 1 año" 
-        other: "más de {{count}} años" 
+        one:  "más de 1 año"
+        other: "más de {{count}} años"
+      almost_x_years:
+        one: "casi 1 año"
+        other: "casi {{count}} años"
     prompts:
       year:   "Año"
       month:  "Mes"
@@ -107,17 +110,17 @@ es:
     errors:
       template:
         header:
-          one:   "no se pudo guardar este {{model}} porque se encontró 1 error" 
-          other:  "no se pudo guardar este {{model}} porque se encontraron {{count}} errores" 
+          one:   "No se pudo guardar este/a {{model}} porque se encontró 1 error"
+          other:  "No se pudo guardar este/a {{model}} porque se encontraron {{count}} errores"
         # The variable :count is also available
-        body: "Se encontraron problemas con los siguientes campos:" 
+        body: "Se encontraron problemas con los siguientes campos:"
 
       # The values :model, :attribute and :value are always available for interpolation
       # The value :count is available when applicable. Can be used for pluralization.
       messages:
-        inclusion: "no está incluido en la lista" 
-        exclusion: "está reservado" 
-        invalid: "no es válido" 
+        inclusion: "no está incluido en la lista"
+        exclusion: "está reservado"
+        invalid: "no es válido"
         confirmation: "no coincide con la confirmación"
         accepted: "debe ser aceptado"
         empty: "no puede estar vacío"
@@ -137,6 +140,9 @@ es:
         record_invalid: "La validación falló: {{errors}}"
         # Append your own errors here or at the model/attributes scope.
 
+      full_messages:
+        format: "{{attribute}} {{message}}"
+
       models:
         # Overrides default messages
 
@@ -149,8 +155,8 @@ es:
       # When no format has been given, it uses default.
       # You can provide other formats here if you like!
       default: "%e/%m/%Y"
-      short: "%e de %b" 
-      long: "%e de %B de %Y" 
+      short: "%e de %b"
+      long: "%e de %B de %Y"
 
     day_names: [Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado]
     abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
@@ -164,10 +170,10 @@ es:
   time:
     formats:
       default: "%A, %e de %B de %Y %H:%M:%S %z"
-      short: "%e de %b %H:%M" 
-      long: "%e de %B de %Y %H:%M" 
-    am: "am" 
-    pm: "pm" 
+      short: "%e de %b %H:%M"
+      long: "%e de %B de %Y %H:%M"
+    am: "am"
+    pm: "pm"
 
 # Used in array.to_sentence.
   support:
index e6102aaf9518d7d60ee3fc4c14c0a8556823dab6..288bab185d67dc0113e055ba4c04a34f2da642bf 100644 (file)
@@ -34,7 +34,7 @@ fa:
       only_day: "%e"
 
     day_names: [یکشنبه, دوشنبه, سه‌شنبه, چهارشنبه, پنج‌شنبه, جمعه, شنبه]
-    abbr_day_names: [ی, د, س, چ, پ, ج]
+    abbr_day_names: [ی, د, س, چ, پ, ج, ش]
     month_names: [~, ژانویه, فوریه, مارس, آوریل, مه, ژوئن, ژوئیه, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
     abbr_month_names: [~, ژانویه, فوریه, مارس, آوریل, مه, ژوئن, ژوئیه, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
     order: [ :day, :month, :year ]
@@ -116,4 +116,4 @@ fa:
         odd: "باید فرد باشد"
         even: "باید زوج باشد"
         presence: "را فراموش کرده‌اید"
-        format: "فرمت مشکل دارد"
\ No newline at end of file
+        format: "فرمت مشکل دارد"
index f823eafa9119f597ab0ee7d07c931466cc28d140..9bcd10952f5772e0e09e9e261de55fbb04af8612 100644 (file)
@@ -30,6 +30,8 @@ fi:
       words_connector: ", "
       two_words_connector: " ja "
       last_word_connector: " ja "
+    select:
+      prompt: "Valitse"
 
   number:
     format:
@@ -116,10 +118,6 @@ fi:
       minute: "Minuutti"
       second: "Sekunti"
 
-  support:
-    select:
-      prompt: "Valitse"
-
   # which one should it be
   #activemodel:
   activerecord:
index 2e4275d2f77bf29f553bcc94bce39199947aa867..dde340af07bbc1656f219ba9ae0b796b03a752e8 100644 (file)
-# Upper Sorbian translations for Ruby on Rails\r
-# by Michael Wolf (preklady@wolfmicha.de)\r
-\r
-hsb:\r
-\r
-  # ActiveSupport\r
-  support:\r
-    array:\r
-      words_connector: ", "\r
-      two_words_connector: " a "\r
-      last_word_connector: " a "\r
-      sentence_connector: "a"\r
-      skip_last_comma: true\r
-\r
-\r
-\r
-  # Date\r
-  date:\r
-    formats:\r
-      default: "%d. %m. %Y"\r
-      short:   "%d %b"\r
-      long:    "%d. %B %Y"\r
-\r
-    day_names:        [njedźela, póndźela, wutora, srjeda, štwórtk, pjatk, sobota]\r
-    abbr_day_names:   [Nj, Pó, Wu, Sr, Št, Pj, So]\r
-    month_names:      [~, Januar, Februar, Měrc, Apryl, Meja, Junij, Julij, Awgust, September, Oktober, Nowember, December]\r
-    abbr_month_names: [~, jan, feb, měr, apr, mej, jun, jul, awg, sep, okt, now, dec]\r
-    order:            [:day, :month, :year]\r
-\r
-  # Time\r
-  time:\r
-    formats:\r
-      default: "%A, %d. %B %Y, %H:%M hodź"\r
-      short:   "%d. %B, %H:%M hodź."\r
-      long:    "%A, %d. %B %Y, %H:%M hodź."\r
-\r
-    am: "dopołdnja"\r
-    pm: "popołdnju"\r
-\r
-\r
-  # Numbers\r
-  number:\r
-    format:\r
-      precision: 3\r
-      separator: ","\r
-      delimiter: "."\r
-\r
-    currency:\r
-      format:\r
-        unit: "€"\r
-        precision: 2\r
-        format: "%n %u"\r
-        separator: ","\r
-        delimiter: " "\r
-\r
-    human:\r
-      format:\r
-        precision: 1\r
-        delimiter: ""\r
-\r
-    storage_units:\r
-      format: "%n %u"\r
-      units:\r
-        byte:\r
-          one: "bajt"\r
-          two: "bajtaj"\r
-          few: "bajty"\r
-          other: "bajtow"\r
-        kb:   "KB"\r
-        mb:   "MB"\r
-        gb:   "GB"\r
-        tb:   "TB"\r
-\r
-    percentage:\r
-      format:\r
-        delimiter: ""\r
-\r
-    precision:\r
-      format:\r
-        delimiter: ""\r
-\r
-\r
-  # Distance of time ... helper\r
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()\r
-  datetime:\r
-    distance_in_words:\r
-      half_a_minute: "poł mjeńšiny"\r
-      less_than_x_seconds:\r
-        one:   "mjenje hač 1 sekundu"\r
-        two:   "mjenje hač {{count}} sekundomaj"\r
-        few:   "mjenje hač {{count}} sekundami"\r
-        other: "mjenje hač {{count}} sekundami"\r
-      x_seconds:\r
-        one:   "1 sekundu"\r
-        two:   "{{count}} sekundomaj"\r
-        few:   "{{count}} sekundami"\r
-        other: "{{count}} sekundami"\r
-      less_than_x_minutes:\r
-        one: "mjenje hač 1 mjeńšinu"\r
-        two: "mjenje hač {{count}} mjeńšinomaj"\r
-        few: "mjenje hač {{count}} mjeńšinami"\r
-        other: "mjenje hač {{count}} mjeńšinami"\r
-      x_minutes:\r
-        one:    "1 mjeńšinu"\r
-        two:    "{{count}} mjeńšinomaj"\r
-        few:    "{{count}} mjeńšinami"\r
-        other:  "{{count}} mjeńšinami"\r
-      about_x_hours:\r
-        one:    "něhdźe 1 hodźinu"\r
-        two:    "něhdźe {{count}} hodźinomaj"\r
-        few:    "něhdźe {{count}} hodźinami"\r
-        other:  "něhdźe {{count}} hodźinami"\r
-      x_days:\r
-        one:    "1 dnjom"\r
-        two:    "{{count}} dnjomaj"\r
-        few:    "{{count}} dnjemi"\r
-        other:  "{{count}} dnjemi"\r
-      about_x_months:\r
-        one:    "něhdźe 1 měsacom"\r
-        two:    "něhdźe {{count}} měsacomaj"\r
-        few:    "něhdźe {{count}} měsacami"\r
-        other:  "něhdźe {{count}} měsacami"\r
-      x_months:\r
-        one:    "1 měsacom"\r
-        two:    "{{count}} měsacomaj"\r
-        few:    "{{count}} měsacami"\r
-        other:  "{{count}} měsacami"\r
-      about_x_years:\r
-        one:    "něhdźe 1 lětom"\r
-        two:    "něhdźe {{count}} lětomaj"\r
-        few:    "něhdźe {{count}} lětami"\r
-        other:  "něhdźe {{count}} lětami"\r
-      over_x_years:\r
-        one:    "přez 1 lětom"\r
-        two:    "přez {{count}} lětomaj"\r
-        few:    "přez {{count}} lětami"\r
-        other:  "přez {{count}} lětami"\r
-      prompts:\r
-        year:   "Lěto"\r
-        month:  "Měsac"\r
-        day:    "Dźeń"\r
-        hour:   "Hodźina"\r
-        minute: "Mjeńšina"\r
-        second: "Sekunda"\r
-\r
-  # ActiveRecord validation messages\r
-  activerecord:\r
-    errors:\r
-      messages:\r
-        inclusion:    "njeje płaćiwa hódnota"\r
-        exclusion:    "njesteji k dispoziciji"\r
-        invalid:      "njeje płaćiwy"\r
-        confirmation: "njebu wobkrućene"\r
-        accepted:     "dyrbi so wobkrućić"\r
-        empty:        "njesmě prózdny być"\r
-        blank:        "je trěbny"\r
-        too_long:     \r
-          one:        "je předołhi (maks. 1 znamješko)"\r
-          two:        "je předołhi (maks. {{count}} znamješce)"\r
-          few:        "je předołhi (maks. {{count}} znamješka)"\r
-          other:      "je předołhi (maks. {{count}} znamješkow)"\r
-        too_short:    \r
-          one:        "je překrótki (min. 1 znamješko)"\r
-          two:        "je překrótki (min. {{count}} znamješće)"\r
-          few:        "je překrótki (min. {{count}} znamješka)"\r
-          other:      "je překrótki (min. {{count}} znamješkow)"\r
-        wrong_length:\r
-          one:        "nima prawu dołhosć (1 znamješko wočakowane)"\r
-          two:        "nima prawu dołhosć ({{count}} znamješce wočakowanej)"\r
-          few:        "nima prawu dołhosć ({{count}} znamješka wočakowane)"\r
-          other:      "nima prawu dołhosć ({{count}} znamješkow wočakowanych)"\r
-        taken:        "je hižo w datowej bance"\r
-        not_a_number: "njeje ličba"\r
-        greater_than: "dyrbi wjetši hač {{count}} być"\r
-        greater_than_or_equal_to: "dyrbi wjetši abo runja {{count}} być"\r
-        equal_to:                 "dyrbi runja {{count}} być"\r
-        less_than:                "dyrbi mjenje hač {{count}} być"\r
-        less_than_or_equal_to:    "dyrbi mjenje abo runja {{count}} być"\r
-        odd:                      "dyrbi njeruna ličby być"\r
-        even:                     "dyrbi runa ličba być"\r
-\r
-      template:\r
-        header:\r
-          one:   "Při składowanju objekta {{model}} je k zmylkej dóšło a njebě móžno składować"\r
-          two:   "Při składowanju objekta {{model}} je k {{count}} zmylkam dóšło a njebě móžno składować"\r
-          few:   "Při składowanju objekta {{model}} je k {{count}} zmylkam dóšło a njebě móžno składować"\r
-          other: "Při składowanju objekta {{model}} je k {{count}} zmylkam dóšło a njebě móžno składować"\r
-          body:  "Prošu přepruwuj slědowace pola:"\r
-\r
-      models:\r
+# Upper Sorbian translations for Ruby on Rails
+# by Michael Wolf (preklady@wolfmicha.de)
+
+hsb:
+
+  # ActiveSupport
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " a "
+      last_word_connector: " a "
+      sentence_connector: "a"
+      skip_last_comma: true
+
+
+
+  # Date
+  date:
+    formats:
+      default: "%d. %m. %Y"
+      short:   "%d %b"
+      long:    "%d. %B %Y"
+
+    day_names:        [njedźela, póndźela, wutora, srjeda, štwórtk, pjatk, sobota]
+    abbr_day_names:   [Nj, Pó, Wu, Sr, Št, Pj, So]
+    month_names:      [~, Januar, Februar, Měrc, Apryl, Meja, Junij, Julij, Awgust, September, Oktober, Nowember, December]
+    abbr_month_names: [~, jan, feb, měr, apr, mej, jun, jul, awg, sep, okt, now, dec]
+    order:            [:day, :month, :year]
+
+  # Time
+  time:
+    formats:
+      default: "%A, %d. %B %Y, %H:%M hodź"
+      short:   "%d. %B, %H:%M hodź."
+      long:    "%A, %d. %B %Y, %H:%M hodź."
+
+    am: "dopołdnja"
+    pm: "popołdnju"
+
+
+  # Numbers
+  number:
+    format:
+      precision: 3
+      separator: ","
+      delimiter: "."
+
+    currency:
+      format:
+        unit: "€"
+        precision: 2
+        format: "%n %u"
+        separator: ","
+        delimiter: " "
+
+    human:
+      format:
+        precision: 1
+        delimiter: ""
+
+    storage_units:
+      format: "%n %u"
+      units:
+        byte:
+          one: "bajt"
+          two: "bajtaj"
+          few: "bajty"
+          other: "bajtow"
+        kb:   "KB"
+        mb:   "MB"
+        gb:   "GB"
+        tb:   "TB"
+
+    percentage:
+      format:
+        delimiter: ""
+
+    precision:
+      format:
+        delimiter: ""
+
+
+  # Distance of time ... helper
+  # 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: "poł mjeńšiny"
+      less_than_x_seconds:
+        one:   "mjenje hač 1 sekundu"
+        two:   "mjenje hač {{count}} sekundomaj"
+        few:   "mjenje hač {{count}} sekundami"
+        other: "mjenje hač {{count}} sekundami"
+      x_seconds:
+        one:   "1 sekundu"
+        two:   "{{count}} sekundomaj"
+        few:   "{{count}} sekundami"
+        other: "{{count}} sekundami"
+      less_than_x_minutes:
+        one: "mjenje hač 1 mjeńšinu"
+        two: "mjenje hač {{count}} mjeńšinomaj"
+        few: "mjenje hač {{count}} mjeńšinami"
+        other: "mjenje hač {{count}} mjeńšinami"
+      x_minutes:
+        one:    "1 mjeńšinu"
+        two:    "{{count}} mjeńšinomaj"
+        few:    "{{count}} mjeńšinami"
+        other:  "{{count}} mjeńšinami"
+      about_x_hours:
+        one:    "něhdźe 1 hodźinu"
+        two:    "něhdźe {{count}} hodźinomaj"
+        few:    "něhdźe {{count}} hodźinami"
+        other:  "něhdźe {{count}} hodźinami"
+      x_days:
+        one:    "1 dnjom"
+        two:    "{{count}} dnjomaj"
+        few:    "{{count}} dnjemi"
+        other:  "{{count}} dnjemi"
+      about_x_months:
+        one:    "něhdźe 1 měsacom"
+        two:    "něhdźe {{count}} měsacomaj"
+        few:    "něhdźe {{count}} měsacami"
+        other:  "něhdźe {{count}} měsacami"
+      x_months:
+        one:    "1 měsacom"
+        two:    "{{count}} měsacomaj"
+        few:    "{{count}} měsacami"
+        other:  "{{count}} měsacami"
+      about_x_years:
+        one:    "něhdźe 1 lětom"
+        two:    "něhdźe {{count}} lětomaj"
+        few:    "něhdźe {{count}} lětami"
+        other:  "něhdźe {{count}} lětami"
+      over_x_years:
+        one:    "přez 1 lětom"
+        two:    "přez {{count}} lětomaj"
+        few:    "přez {{count}} lětami"
+        other:  "přez {{count}} lětami"
+      prompts:
+        year:   "Lěto"
+        month:  "Měsac"
+        day:    "Dźeń"
+        hour:   "Hodźina"
+        minute: "Mjeńšina"
+        second: "Sekunda"
+
+  # ActiveRecord validation messages
+  activerecord:
+    errors:
+      messages:
+        inclusion:    "njeje płaćiwa hódnota"
+        exclusion:    "njesteji k dispoziciji"
+        invalid:      "njeje płaćiwy"
+        confirmation: "njebu wobkrućene"
+        accepted:     "dyrbi so wobkrućić"
+        empty:        "njesmě prózdny być"
+        blank:        "je trěbny"
+        too_long:     
+          one:        "je předołhi (maks. 1 znamješko)"
+          two:        "je předołhi (maks. {{count}} znamješce)"
+          few:        "je předołhi (maks. {{count}} znamješka)"
+          other:      "je předołhi (maks. {{count}} znamješkow)"
+        too_short:    
+          one:        "je překrótki (min. 1 znamješko)"
+          two:        "je překrótki (min. {{count}} znamješće)"
+          few:        "je překrótki (min. {{count}} znamješka)"
+          other:      "je překrótki (min. {{count}} znamješkow)"
+        wrong_length:
+          one:        "nima prawu dołhosć (1 znamješko wočakowane)"
+          two:        "nima prawu dołhosć ({{count}} znamješce wočakowanej)"
+          few:        "nima prawu dołhosć ({{count}} znamješka wočakowane)"
+          other:      "nima prawu dołhosć ({{count}} znamješkow wočakowanych)"
+        taken:        "je hižo w datowej bance"
+        not_a_number: "njeje ličba"
+        greater_than: "dyrbi wjetši hač {{count}} być"
+        greater_than_or_equal_to: "dyrbi wjetši abo runja {{count}} być"
+        equal_to:                 "dyrbi runja {{count}} być"
+        less_than:                "dyrbi mjenje hač {{count}} być"
+        less_than_or_equal_to:    "dyrbi mjenje abo runja {{count}} być"
+        odd:                      "dyrbi njeruna ličby być"
+        even:                     "dyrbi runa ličba być"
+
+      template:
+        header:
+          one:   "Při składowanju objekta {{model}} je k zmylkej dóšło a njebě móžno składować"
+          two:   "Při składowanju objekta {{model}} je k {{count}} zmylkam dóšło a njebě móžno składować"
+          few:   "Při składowanju objekta {{model}} je k {{count}} zmylkam dóšło a njebě móžno składować"
+          other: "Při składowanju objekta {{model}} je k {{count}} zmylkam dóšło a njebě móžno składować"
+          body:  "Prošu přepruwuj slědowace pola:"
+
+      models:
similarity index 95%
rename from vendor/plugins/rails-i18n/locale/no-NB.yml
rename to vendor/plugins/rails-i18n/locale/nb.yml
index ef2d937c59d781fc60c44d47c2f9e88e0add4301..ed4cee9c215de704c70d5f0bea204b0cec90be23 100644 (file)
@@ -1,5 +1,5 @@
 # Norwegian, norsk bokmål, by irb.no
-"no-NB":
+nb:
   support:
     array:
       sentence_connector: "og"
       over_x_years:
         one: "over 1 år"
         other: "over {{count}} år"
+    prompts:
+      year:   "År"
+      month:  "Måned"
+      day:    "Dag"
+      hour:   "Time"
+      minute: "Minutt"
+      second: "Sekund"
   number:
     format:
       precision: 2
index 0aa1f59afd7fe659d27fa6006abd87331ea17321..00443ab68ca6ed51e791069d9b402dd40b73e551 100644 (file)
@@ -27,7 +27,7 @@ nl:
         unit: !binary |
           4oKs
 
-        separator: .
+        separator: ","
         precision: 2
         delimiter: .
   activerecord: 
@@ -39,6 +39,7 @@ nl:
         blank: moet opgegeven zijn
         exclusion: is niet beschikbaar
         invalid: is ongeldig
+        record_invalid: is ongeldig
         odd: moet oneven zijn
         too_short: is te kort (niet minder dan {{count}} tekens)
         wrong_length: heeft niet de juiste lengte (moet {{count}} tekens lang zijn)
similarity index 99%
rename from vendor/plugins/rails-i18n/locale/no-NN.yml
rename to vendor/plugins/rails-i18n/locale/nn.yml
index 7cd989381270661e2fc6594d30ba01261e4cc42c..f45ae9f495a1f2660438a3750d45ec99fae675d1 100644 (file)
@@ -1,5 +1,5 @@
 # Norwegian, nynorsk, by irb.no
-"no-NN":
+nn:
   support:
     array:
       sentence_connector: "og"
@@ -93,4 +93,4 @@
         odd: "må vera oddetal"
         even: "må vera partal"
       # models:
-      # attributes:
\ No newline at end of file
+      # attributes:
index e17940fe95f4cb44b31e43505b10086ffe3cb732..98af179401b1d47fc31799f8b71b6d85d8c8e4e7 100644 (file)
@@ -63,6 +63,10 @@ pt-BR:
       over_x_years:
         one: 'mais de 1 ano'
         other: 'mais de {{count}} anos'
+
+      almost_x_years:
+        one: 'quase 1 ano'
+        other: 'quase {{count}} anos'
     
     prompts:
       year:   "Ano"
index 14c6a282ebc23ac06419c45d683fb7752ed1de7f..af659f50a9c505459922a78191530169dd3ffb4d 100644 (file)
-# Sample localization file for English. Add more files in this directory for other locales.\r
-# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.\r
-\r
-# Slovak translations for Ruby on Rails (inspired by the Czech localization - thanx to Karel Minařík)\r
-# by Jozef Fulop (jofi-rails@silake.com)\r
\r
-sk:\r
-    # ActiveSupport\r
-    support:\r
-        array:\r
-            words_connector: ', '\r
-            two_words_connector: ' a '\r
-            last_word_connector: ' a '\r
-                \r
-    # Date\r
-    date:\r
-        formats:\r
-            default: "%d. %m. %Y"\r
-            short: "%d %b"\r
-            long: "%d. %B %Y"\r
-        day_names: [Nedeľa, Pondelok, Utorok, Streda, Štvrtok, Piatok, Sobota]\r
-        abbr_day_names: [Ne, Po, Ut, St, Št, Pi, So]\r
-        month_names: [~, Január, Február, Marec, Apríl, Máj, Jún, Júl, August, September, Október, November, December]\r
-        abbr_month_names: [~, Jan, Feb, Mar, Apr, Máj, Jún, Júl, Aug, Sep, Okt, Nov, Dec]\r
-        order: [:day, :month, :year]\r
-\r
-    # Time\r
-    time:\r
-        formats:\r
-            default: "%a %d. %B %Y %H:%M %z"\r
-            short: "%d. %m. %H:%M"\r
-            long: "%A %d. %B %Y %H:%M"\r
-        am: 'dopoludnia'\r
-        pm: 'popoludní'\r
-\r
-    # Numbers\r
-    number:\r
-        format:\r
-            precision: 3\r
-            separator: '.'\r
-            delimiter: ','\r
-        currency:\r
-            format:\r
-                unit: '€'\r
-                precision: 2\r
-                format: '%n %u'\r
-                separator: ","\r
-                delimiter: " "\r
-        human:\r
-            format:\r
-                precision: 1\r
-                delimiter: ''\r
-            storage_units:\r
-                format: "%n %u"\r
-                units:\r
-                    byte:\r
-                        other: "B"\r
-                        one: "B"\r
-                    kb: "KB"\r
-                    mb: "MB"\r
-                    gb: "GB"\r
-                    tb: "TB"\r
-        percentage:\r
-            format:\r
-                delimiter: ''\r
-        precision:\r
-            format:\r
-                delimiter: ''\r
-    \r
-    # Distance of time ... helper\r
-    datetime:\r
-        prompts:\r
-            second: "Sekunda"\r
-            minute: "Minúta"\r
-            hour: "Hodina"\r
-            day: "Deň"\r
-            month: "Mesiac"\r
-            year: "Rok"\r
-        distance_in_words:    \r
-            half_a_minute: 'pol minutou'\r
-            less_than_x_seconds:\r
-                one: 'asi pred sekundou'\r
-                other: 'asi pred {{count}} sekundami'\r
-            x_seconds:\r
-                one: 'sekundou'\r
-                other: '{{count}} sekundami'\r
-            less_than_x_minutes:\r
-                one: 'pred necelou minútou'\r
-                other: 'pred ani nie {{count}} minútami'\r
-            x_minutes:\r
-                one: 'minútou'\r
-                other: '{{count}} minútami'\r
-            about_x_hours:\r
-                one: 'asi hodinou'\r
-                other: 'asi {{count}} hodinami'\r
-            x_days:\r
-                one: '24 hodinami'\r
-                other: '{{count}} dňami'\r
-            about_x_months:\r
-                one: 'asi mesiacom'\r
-                other: 'asi {{count}} mesiacmi'\r
-            x_months:\r
-                one: 'mesiacom'\r
-                other: '{{count}} mesiacmi'\r
-            about_x_years:\r
-                one: 'asi rokom'\r
-                other: 'asi {{count}} rokmi'\r
-            over_x_years:\r
-                one: 'pred viac ako rokom'\r
-                other: 'viac ako {{count}} rokmi'\r
-\r
-    # ActiveRecord validation messages\r
-    activerecord:                  \r
-        errors:\r
-            messages:\r
-                inclusion: "nie je v zozname povolených hodnôt"\r
-                exclusion: "je vyhradené pre iný účel"\r
-                invalid: "nie je platná hodnota"\r
-                confirmation: "nebolo potvrdené"\r
-                accepted: "musí byť potvrdené"\r
-                empty: "nesmie byť prázdný/é"\r
-                blank: "je povinná položka"\r
-                too_long: "je príliš dlhá/ý (max. {{count}} znakov)"\r
-                too_short: "je príliš krátký/á (min. {{count}} znakov)"\r
-                wrong_length: "nemá správnu dĺžku (očakáva sa {{count}} znakov)"\r
-                taken: "sa už nachádza v databáze"\r
-                not_a_number: "nie je číslo"\r
-                greater_than: "musí byť väčšíe ako {{count}}"\r
-                greater_than_or_equal_to: "musí byť väčšie alebo rovnaké ako {{count}}"\r
-                equal_to: "sa musí rovnať {{count}}"\r
-                less_than: "musí byť menšie ako {{count}}"\r
-                less_than_or_equal_to: "musí byť menšie ako {{count}}"\r
-                odd: "musí byť nepárne číslo"\r
-                even: "musí byť párne číslo"\r
-            template:\r
-                header:\r
-                    one: "Pri ukladaní objektu {{model}} došlo k chybám a nebolo možné objekt uložiť"\r
-                    other: "Pri ukladaní objektu {{model}} došlo ku {{count}} chybe/ám a nebolo možné objekt uložiť"\r
-                body: "Nasledujúce polia obsahujú chybne vyplnené údaje:"\r
+# Sample localization file for English. Add more files in this directory for other locales.
+# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
+
+# Slovak translations for Ruby on Rails (inspired by the Czech localization - thanx to Karel Minařík)
+# by Jozef Fulop (jofi-rails@silake.com)
+sk:
+    # ActiveSupport
+    support:
+        array:
+            words_connector: ', '
+            two_words_connector: ' a '
+            last_word_connector: ' a '
+                
+    # Date
+    date:
+        formats:
+            default: "%d. %m. %Y"
+            short: "%d %b"
+            long: "%d. %B %Y"
+        day_names: [Nedeľa, Pondelok, Utorok, Streda, Štvrtok, Piatok, Sobota]
+        abbr_day_names: [Ne, Po, Ut, St, Št, Pi, So]
+        month_names: [~, Január, Február, Marec, Apríl, Máj, Jún, Júl, August, September, Október, November, December]
+        abbr_month_names: [~, Jan, Feb, Mar, Apr, Máj, Jún, Júl, Aug, Sep, Okt, Nov, Dec]
+        order: [:day, :month, :year]
+
+    # Time
+    time:
+        formats:
+            default: "%a %d. %B %Y %H:%M %z"
+            short: "%d. %m. %H:%M"
+            long: "%A %d. %B %Y %H:%M"
+        am: 'dopoludnia'
+        pm: 'popoludní'
+
+    # Numbers
+    number:
+        format:
+            precision: 3
+            separator: '.'
+            delimiter: ','
+        currency:
+            format:
+                unit: '€'
+                precision: 2
+                format: '%n %u'
+                separator: ","
+                delimiter: " "
+        human:
+            format:
+                precision: 1
+                delimiter: ''
+            storage_units:
+                format: "%n %u"
+                units:
+                    byte:
+                        other: "B"
+                        one: "B"
+                    kb: "KB"
+                    mb: "MB"
+                    gb: "GB"
+                    tb: "TB"
+        percentage:
+            format:
+                delimiter: ''
+        precision:
+            format:
+                delimiter: ''
+    
+    # Distance of time ... helper
+    datetime:
+        prompts:
+            second: "Sekunda"
+            minute: "Minúta"
+            hour: "Hodina"
+            day: "Deň"
+            month: "Mesiac"
+            year: "Rok"
+        distance_in_words:    
+            half_a_minute: 'pol minutou'
+            less_than_x_seconds:
+                one: 'asi pred sekundou'
+                other: 'asi pred {{count}} sekundami'
+            x_seconds:
+                one: 'sekundou'
+                other: '{{count}} sekundami'
+            less_than_x_minutes:
+                one: 'pred necelou minútou'
+                other: 'pred ani nie {{count}} minútami'
+            x_minutes:
+                one: 'minútou'
+                other: '{{count}} minútami'
+            about_x_hours:
+                one: 'asi hodinou'
+                other: 'asi {{count}} hodinami'
+            x_days:
+                one: '24 hodinami'
+                other: '{{count}} dňami'
+            about_x_months:
+                one: 'asi mesiacom'
+                other: 'asi {{count}} mesiacmi'
+            x_months:
+                one: 'mesiacom'
+                other: '{{count}} mesiacmi'
+            about_x_years:
+                one: 'asi rokom'
+                other: 'asi {{count}} rokmi'
+            over_x_years:
+                one: 'pred viac ako rokom'
+                other: 'viac ako {{count}} rokmi'
+
+    # ActiveRecord validation messages
+    activerecord:                  
+        errors:
+            messages:
+                inclusion: "nie je v zozname povolených hodnôt"
+                exclusion: "je vyhradené pre iný účel"
+                invalid: "nie je platná hodnota"
+                confirmation: "nebolo potvrdené"
+                accepted: "musí byť potvrdené"
+                empty: "nesmie byť prázdný/é"
+                blank: "je povinná položka"
+                too_long: "je príliš dlhá/ý (max. {{count}} znakov)"
+                too_short: "je príliš krátký/á (min. {{count}} znakov)"
+                wrong_length: "nemá správnu dĺžku (očakáva sa {{count}} znakov)"
+                taken: "sa už nachádza v databáze"
+                not_a_number: "nie je číslo"
+                greater_than: "musí byť väčšíe ako {{count}}"
+                greater_than_or_equal_to: "musí byť väčšie alebo rovnaké ako {{count}}"
+                equal_to: "sa musí rovnať {{count}}"
+                less_than: "musí byť menšie ako {{count}}"
+                less_than_or_equal_to: "musí byť menšie ako {{count}}"
+                odd: "musí byť nepárne číslo"
+                even: "musí byť párne číslo"
+            template:
+                header:
+                    one: "Pri ukladaní objektu {{model}} došlo k chybám a nebolo možné objekt uložiť"
+                    other: "Pri ukladaní objektu {{model}} došlo ku {{count}} chybe/ám a nebolo možné objekt uložiť"
+                body: "Nasledujúce polia obsahujú chybne vyplnené údaje:"
diff --git a/vendor/plugins/rails-i18n/locale/sl.rb b/vendor/plugins/rails-i18n/locale/sl.rb
deleted file mode 100644 (file)
index 124e934..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-# Slovenian translations for Ruby on Rails 
-# by Štefan Baebler (stefan@baebler.net)
-
-{ :'sl' => {
-
-    # ActiveSupport
-    :support => {
-      :array => {
-        :words_connector => ', ',
-        :two_words_connector => ' in ',
-        :last_word_connector => ' in ',
-        :sentence_connector => 'in',
-        :skip_last_comma => true      }
-    },
-
-    # Date
-    :date => {
-      :formats => {
-        :default => "%d. %m. %Y",
-        :short   => "%d %b",
-        :long    => "%d. %B %Y",
-      },
-      :day_names         => %w{nedelja ponedeljek torek sreda četrtek petek sobota},
-      :abbr_day_names    => %w{ned pon tor sre čet pet sob},
-      :month_names       => %w{~ januar februar marec april maj junij julij avgust september oktober november december},
-      :abbr_month_names  => %w{~ jan feb mar apr maj jun jul avg sep okt nov dec},
-      :order             => [:day, :month, :year]
-    },
-
-    # Time
-    :time => {
-      :formats => {
-        :default => "%A, %d. %B %Y %H:%M %z",
-        :short   => "%d. %m. %H:%M",
-        :long    => "%A %d. %B %Y %H:%M",
-       :time    => "%H:%M"
-
-      },
-      :am => 'dopoldne',
-      :pm => 'popoldne'
-    },
-
-    # Numbers
-    :number => {
-      :format => {
-        :precision => 3,
-        :separator => '.',
-        :delimiter => ','
-      },
-      :currency => {
-        :format => {
-          :unit => '€',
-          :precision => 2,
-          :format    => '%n %u',
-          :separator => ",",
-          :delimiter => " ",
-        }
-      },
-      :human => {
-        :format => {
-          :precision => 1,
-          :delimiter => ''
-        },
-       :storage_units => {
-         :format => "%n %u",
-         :units => {
-           :byte => "B",
-           :kb   => "kB",
-           :mb   => "MB",
-           :gb   => "GB",
-           :tb   => "TB",
-         }
-       }
-      },
-      :percentage => {
-        :format => {
-          :delimiter => ''
-        }
-      },
-      :precision => {
-        :format => {
-          :delimiter => ''
-        }
-      }
-    },
-
-    # Distance of time ... helper
-    # TODO: Needs proper pluralization formula: (n%100==1 ? one : n%100==2 ? two : n%100==3 || n%100==4 ? few : other)
-    # NOTE: focused on "time ago" as in  "2 minuti nazaj", "3 tedne nazaj" which can be used also in other time distances 
-    #       ("pred 2 minutama" isn't as universally usable.)
-    :datetime => {
-      :distance_in_words => {
-        :half_a_minute => 'pol minute',
-        :less_than_x_seconds => {
-          :one => 'manj kot {{count}} sekunda',
-          :two => 'manj kot {{count}} sekundi',
-          :few => 'manj kot {{count}} sekunde',
-          :other => 'manj kot {{count}} sekund'
-        },
-        :x_seconds => {
-          :one => '{{count}} sekunda',
-          :two => '{{count}} sekundi',
-          :few => '{{count}} sekunde',
-          :other => '{{count}} sekund'
-        },
-        :less_than_x_minutes => {
-          :one => 'manj kot {{count}} minuta',
-          :two => 'manj kot {{count}} minuti',
-          :few => 'manj kot {{count}} minute',
-          :other => 'manj kot {{count}} minut'
-        },
-        :x_minutes => {
-          :one => '{{count}} minuta',
-          :two => '{{count}} minuti',
-          :few => '{{count}} minute',
-          :other => '{{count}} minut'
-        },
-        :about_x_hours => {
-          :one => 'približno {{count}} ura',
-          :two => 'približno {{count}} uri',
-          :few => 'približno {{count}} ure',
-          :other => 'približno {{count}} ur'
-        },
-        :x_days => {
-          :one => '{{count}} dan',
-          :two => '{{count}} dni',
-          :few => '{{count}} dni',
-          :other => '{{count}} dni'
-        },
-        :about_x_months => {
-          :one => 'približno {{count}} mesec',
-          :two => 'približno {{count}} meseca',
-          :few => 'približno {{count}} mesece',
-          :other => 'približno {{count}} mesecev'
-        },
-        :x_months => {
-          :one => '{{count}} mesec',
-          :two => '{{count}} meseca',
-          :few => '{{count}} mesece',
-          :other => '{{count}} mesecev'
-        },
-        :about_x_years => {
-          :one => 'približno {{count}} leto',
-          :two => 'približno {{count}} leti',
-          :few => 'približno {{count}} leta',
-          :other => 'približno {{count}} let'
-        },
-        :over_x_years => {
-          :one => 'več kot {{count}} leto',
-          :two => 'več kot {{count}} leti',
-          :few => 'več kot {{count}} leta',
-          :other => 'več kot {{count}} let'
-        }
-      }
-    },
-
-    # ActiveRecord validation messages
-    :activerecord => {
-      :errors => {
-        :messages => {
-          :inclusion           => "ni v seznamu",
-          :exclusion           => "ni dostopno",
-          :invalid             => "ni veljavno",
-          :confirmation        => "ni skladno s potrditvijo",
-          :accepted            => "mora biti potrjeno",
-          :empty               => "ne sme biti prazno",
-          :blank               => "je obezno", # alternate formulation: "is required"
-          :too_long => {
-            :one               => "je predolgo (največ {{count}} znak)",
-            :two               => "je predolgo (največ {{count}} znaka)",
-            :few               => "je predolgo (največ {{count}} znaki)",
-            :other             => "je predolgo (največ {{count}} znakov)"
-          },
-          :too_short => {
-            :one               => "je prekratko (vsaj {{count}} znak)",
-            :two               => "je prekratko (vsaj {{count}} znaka)",
-            :few               => "je prekratko (vsaj {{count}} znaki)",
-            :other             => "je prekratko (vsaj {{count}} znakov)"
-          },
-          :wrong_length        => {
-            :one               => "ni pravilne dolžine (natanko {{count}} znak)",
-            :two               => "ni pravilne dolžine (natanko {{count}} znaka)",
-            :few               => "ni pravilne dolžine (natanko {{count}} znaki)",
-            :other             => "ni pravilne dolžine (natanko {{count}} znakov)"
-          },
-          :taken               => "že obstaja v bazi",
-          :not_a_number        => "ni številka",
-          :greater_than        => "mora biti večje od {{count}}",
-          :greater_than_or_equal_to => "mora biti večje ali enako {{count}}",
-          :equal_to            => "mora biti enako {{count}}",
-          :less_than           => "mora biti manjše od {{count}}",
-          :less_than_or_equal_to    => "mora biti manjše ali enako {{count}}",
-          :odd                 => "mora biti liho",
-          :even                => "mora biti sodo"
-        },
-        :template => {
-          :header   => {
-            :one => "Pri shranjevanju predmeta {{model}} je prišlo do {{count}} napake",
-            :two => "Pri shranjevanju predmeta {{model}} je prišlo do {{count}} napak",
-            :few => "Pri shranjevanju predmeta {{model}} je prišlo do {{count}} napak",
-            :other => "Pri shranjevanju predmeta {{model}} je prišlo do {{count}} napak"
-          },
-          :body  => "Prosim, popravite naslednje napake posameznih polj:"
-        }
-      }
-    }
-  }
-}
diff --git a/vendor/plugins/rails-i18n/locale/sl.yml b/vendor/plugins/rails-i18n/locale/sl.yml
new file mode 100644 (file)
index 0000000..cc80e44
--- /dev/null
@@ -0,0 +1,190 @@
+# Slovenian language localization (sl-sl)
+# by Miha Rebernik <miha@rebernik.info>
+sl:  
+  date:
+    formats:
+      default: "%d.%m.%Y"
+      short: "%d. %b"
+      long: "%d. %b %Y"
+      simple: "%d. %b %Y"
+
+    day_names: [nedelja, ponedeljek, torek, sreda, četrtek, petek, sobota]
+    abbr_day_names: [ned, pon, tor, sre, čet, pet, sob]
+
+    month_names: [~, januar, februar, marec, april, maj, junij, julij, avgust, september, oktober, november, december]
+    abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, avg, sep, okt, nov, dec]
+    order: [ :day, :month, :year ]
+
+  time:
+    formats:
+      default: "%A, %d %b %Y ob %H:%M:%S"
+      short: "%d. %b ob %H:%M"
+      long: "%d. %B, %Y ob %H:%M"
+      simple: "%d. %B %Y ob %H:%M"
+      
+    am: "dopoldan"
+    pm: "popoldan"
+
+  # Used in array.to_sentence.
+  support:
+    array:
+      words_connector: ", "
+      two_words_connector: " in "
+      last_word_connector: " in "
+
+  activerecord:
+    errors:
+      template:
+        header:
+          one:    "Ena napaka preprečuje, da bi shranili {{model}}"
+          two:    "Dve napaki preprečujeta, da bi shranili {{model}}"
+          few:    "{{count}} napake preprečujejo, da bi shranili {{model}}"
+          other:  "{{count}} napak preprečuje, da bi shranili {{model}}"
+        body: "Napačno izpolnjena polja:"
+      messages:
+        inclusion: "ni vključeno v seznam"
+        exclusion: "je rezervirano"
+        invalid: "je nepravilno"
+        confirmation: "se ne ujema s potrditvijo"
+        accepted: "mora biti sprejeto"
+        empty: "ne sme biti prazno"
+        blank: "ne sme biti prazno"
+        too_long: "je predolgo (dovoljeno je do {{count}} znakov)"
+        too_short: "je prekratko (zahtevano je najmanj {{count}} znakov)"
+        wrong_length: "je napačne dolžine (mora biti natančno {{count}} znakov)"
+        taken: "je že zasedeno"
+        not_a_number: "ni številka"
+        greater_than: "mora biti večje kot {{count}}"
+        greater_than_or_equal_to: "mora biti večje ali enako {{count}}"
+        equal_to: "mora biti enako {{count}}"
+        less_than: "mora biti manj kot {{count}}"
+        less_than_or_equal_to: "mora biti manj ali enako {{count}}"
+        odd: "mora biti liho"
+        even: "mora biti sodo"
+        record_invalid: ""
+
+
+  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 (the number 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: "€"
+         # These three are to override number.format and are optional
+         separator: ","
+         delimiter: "."
+         precision: 2
+   
+     # Used in number_to_percentage()
+     percentage:
+       format:
+         # These three are to override number.format and are optional
+         # separator: 
+         delimiter: ""
+         # precision: 
+   
+     # Used in number_to_precision()
+     precision:
+       format:
+         # These three are to override number.format and are optional
+         # separator:
+         delimiter: ""
+         # precision:
+   
+     # 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:   "Byte"
+             other: "Bytes"
+           kb: "KB"
+           mb: "MB"
+           gb: "GB"
+           tb: "TB"
+
+  # 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: "pol minute"
+     less_than_x_seconds:
+       one:   "manj kot 1 sekunda"
+       two:   "manj kot 2 sekundi"
+       few:   "manj kot {{count}} sekunde"
+       other: "manj kot {{count}} sekund"
+     x_seconds:
+       one:   "1 sekunda"
+       two:   "2 sekundi"
+       few:   "{{count}} sekunde"
+       other: "{{count}} sekund"
+     less_than_x_minutes:
+       one:   "manj kot ena minuta"
+       two:   "manj kot dve minuti"
+       few:   "manj kot {{count}} minute"
+       other: "manj kot {{count}} minut"
+     x_minutes:
+       one:   "1 minuta"
+       two:   "2 minuti"
+       few:   "{{count}} minute"
+       other: "{{count}} minut"
+     about_x_hours:
+       one:   "okoli 1 ura"
+       two:   "okoli 2 uri"
+       few:   "okoli {{count}} ure"
+       other: "okoli {{count}} ur"
+     x_days:
+       one:   "1 dan"
+       two:   "2 dneva"
+       few:   "{{count}} dnevi"
+       other: "{{count}} dni"
+     about_x_months:
+       one:   "okoli 1 mesec"
+       two:   "okoli 2 meseca"
+       few:   "okoli {{count}} mesece"
+       other: "okoli {{count}} mesecev"
+     x_months:
+       one:   "1 mesec"
+       two:   "2 meseca"
+       few:   "{{count}} mesece"
+       other: "{{count}} mesecev"
+     almost_x_years:      
+       one:   "skoraj 1 leto"
+       two:   "skoraj 2 leti"
+       few:   "skoraj {{count}} leta"
+       other: "skoraj {{count}} let"
+     about_x_years:
+       one:   "okoli 1 leto"
+       two:   "okoli 2 leti"
+       few:   "okoli {{count}} leta"
+       other: "okoli {{count}} let"
+     over_x_years:
+       one:   "več kot 1 leto"
+       two:   "več kot 2 leti"
+       few:   "več kot {{count}} leta"
+       other: "več kot {{count}} let"
+   prompts:
+     year:   "Leto"
+     month:  "Mesec"
+     day:    "Dan"
+     hour:   "Ura"
+     minute: "Minute"
+     second: "Sekunde"
\ No newline at end of file
index 9eb55ef3efcad2be333b2dedf6a4a094933c2ca8..9cccbb31fbfaf53a8ec8cdb12f86037c55286079 100644 (file)
@@ -1,6 +1,8 @@
-# Swedish translation, by Johan Lundström (johanlunds@gmail.com), with parts taken
-# from http://github.com/daniel/swe_rails
-# updated by Sven Dahlstrand (sven.dahlstrand@gmail.com)
+# Swedish translation.
+# By Johan Lundström (johanlunds@gmail.com) with parts taken from http://github.com/daniel/swe_rails.
+# With contributions by:
+#   * Sven Dahlstrand (sven.dahlstrand@gmail.com)
+#   * Henrik Nyh (henrik@nyh.se)
 
 "sv-SE":
   number:
@@ -9,9 +11,9 @@
     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)
+      # Delimits thousands (e.g. 1,000,000 is a million) (always in groups of three)
       delimiter: " "
-      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
+      # Number of decimals after the separator (the number 1 with a precision of 2 gives: 1.00)
       precision: 2
 
     # Used in number_to_currency()
         # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
         format: "%n %u"
         unit: "kr"
-        # These three are to override number.format and are optional
-        # separator: "."
-        # delimiter: ","
-        # precision: 2
-
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        # delimiter: ""
-        # precision:
-
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        # delimiter: ""
-        # precision:
 
     # Used in number_to_human_size()
     human:
     errors:
       template:
         header:
-          one:    "Ett fel förhindrade denna {{model}} från att sparas"
-          other:  "{{count}} fel förhindrade denna {{model}} från att sparas"
+          one:   "Ett fel förhindrade denna {{model}} från att sparas"
+          other: "{{count}} fel förhindrade denna {{model}} från att sparas"
         # The variable :count is also available
         body: "Det var problem med följande fält:"
 
   activerecord:
     errors:
+      # model.errors.full_messages format.
+      format: "{{attribute}} {{message}}"
+
       # The values :model, :attribute and :value are always available for interpolation
       # The value :count is available when applicable. Can be used for pluralization.
       messages:
         exclusion: "är reserverat"
         invalid: "är ogiltigt"
         confirmation: "stämmer inte överens"
-        accepted : "måste vara accepterad"
+        accepted: "måste vara accepterad"
         empty: "får ej vara tom"
         blank: "måste anges"
         too_long: "är för lång (maximum är {{count}} tecken)"
       # You can provide other formats here if you like!
       default: "%Y-%m-%d"
       short: "%e %b"
-      long: "%e %B, %Y"
+      long: "%e %B %Y"
 
     day_names: [söndag, måndag, tisdag, onsdag, torsdag, fredag, lördag]
     abbr_day_names: [sön, mån, tis, ons, tor, fre, lör]
 
   time:
     formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%d %B, %Y %H:%M"
+      default: "%a, %e %b %Y %H:%M:%S %z"
+      short: "%e %b %H:%M"
+      long: "%e %B %Y %H:%M"
     am: ""
     pm: ""
 
       last_word_connector: " och "
     select:
       # default value for :prompt => true in FormOptionsHelper
-      prompt: "Välj"
\ No newline at end of file
+      prompt: "Välj"
diff --git a/vendor/plugins/rails-i18n/locale/th.rb b/vendor/plugins/rails-i18n/locale/th.rb
new file mode 100644 (file)
index 0000000..d92efeb
--- /dev/null
@@ -0,0 +1,222 @@
+# Thai translation for Ruby on Rails
+# original by Prem Sichanugrist (s@sikachu.com/sikandsak@gmail.com)
+# activerecord keys fixed by Jittat Fakcharoenphol (jittat@gmail.com)
+#
+# Note: You must install i18n gem in order to use this language pack.
+# If you're calling I18n.localize(Time.now), the year will be in Bhuddhist calendar
+
+{
+  :'th' => {
+    :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 (the number 1 with a precision of 2 :gives => 1.00)
+        :precision => 3
+      },
+      
+      # Used in number_to_currency()
+      :currency => {
+        :format => {
+          # Where is the currency sign? %u is the currency unit, %n the number :(default => $5.00)
+          :format => "%n %u",
+          :unit => "บาท",
+          # These three are to override number.format and are optional
+          :separator => ".",
+          :delimiter => ",",
+          :precision => 2
+        }
+      },
+        
+      # Used in number_to_percentage()
+      :percentage => {
+        :format => {
+          # These three are to override number.format and are optional
+          # :separator => ".",
+          :delimiter => "",
+          # :precision => 3
+        }
+      },
+        
+      # Used in number_to_precision()
+      :precision => {
+        :format => {
+          # These three are to override number.format and are optional
+          # :separator => ".",
+          :delimiter => "",
+          # :precision => 3
+        }
+      },
+        
+      # 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 =>   "Byte",
+              :other => "Bytes"
+            },
+            :kb => "KB",
+            :mb => "MB",
+            :gb => "GB",
+            :tb => "TB"
+          }
+        }
+      }
+    },
+
+    # 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 => "ครึ่งนาที",
+        :less_than_x_seconds => "น้อยกว่า {{count}} วินาที",
+        :x_seconds => "{{count}} วินาที",
+        :less_than_x_minutes => "น้อยกว่า {{count}} นาที",
+        :x_minutes => "{{count}} นาที",
+        :about_x_hours => "ประมาณ {{count}} ชั่วโมง",
+        :x_days => "{{count}} วัน",
+        :about_x_months => "ประมาณ {{count}} เดือน",
+        :x_months => "{{count}} เดือน",
+        :about_x_years => "ประมาณ {{count}} ปี",
+        :over_x_years => "มากกว่า {{count}} ปี",
+        :almost_x_years => "เกือบ {{count}} ปี",
+      },
+      :prompts => {
+        :year =>   "ปี",
+        :month =>  "เดือน",
+        :day =>    "วัน",
+        :hour =>   "ชั่วโมง",
+        :minute => "นาที",
+        :second => "วินาที",
+      }
+    },
+
+    :activemodel => {
+      :errors => {
+        :template => {
+          :header => "พบข้อผิดพลาด {{count}} ประการ ทำให้ไม่สามารถบันทึก{{model}}ได้",
+          # The variable :count is also available
+          :body => "โปรดตรวจสอบข้อมูลต่อไปนี้:"
+        }
+      }
+    },
+        
+    :activerecord => {
+      :errors => {
+        # The values :model, :attribute and :value are always available for interpolation
+        # The value :count is available when applicable. Can be used for pluralization.
+        :messages => {
+          :inclusion => "ไม่ได้อยู่ในรายการ",
+          :exclusion => "ไม่อนุญาตให้ใช้",
+          :invalid => "ไม่ถูกต้อง",
+          :confirmation => "ไม่ตรงกับการยืนยัน",
+          :accepted => "ต้องถูกยอมรับ",
+          :empty => "ต้องไม่เว้นว่างเอาไว้",
+          :blank => "ต้องไม่เว้นว่างเอาไว้",
+          :too_long => "ยาวเกินไป (ต้องไม่เกิน {{count}} ตัวอักษร)",
+          :too_short => "สั้นเกินไป (ต้องยาวกว่า {{count}} ตัวอักษร)",
+          :wrong_length => "มีความยาวไม่ถูกต้อง (ต้องมีความยาว {{count}} ตัวอักษร)",
+          :taken => "ถูกใช้ไปแล้ว",
+          :not_a_number => "ไม่ใช่ตัวเลข",
+          :greater_than => "ต้องมากกว่า {{count}}",
+          :greater_than_or_equal_to => "ต้องมากกว่าหรือเท่ากับ {{count}}",
+          :equal_to => "ต้องมีค่าเท่ากับ {{count}}",
+          :less_than => "ต้องมีค่าน้อยกว่า {{count}}",
+          :less_than_or_equal_to => "ต้องมีค่าน้อยกว่าหรือเท่ากับ {{count}}",
+          :odd => "ต้องเป็นจำนวนคี่",
+          :even => "ต้องเป็นจำนวนคู่",
+          :record_invalid => "ไม่ผ่านการตรวจสอบ: {{errors}}"
+          # Append your own errors here or at the model/attributes scope.
+        },
+
+        # You can define own errors for models or model attributes.
+        # The values :model, :attribute and :value are always available for interpolation.
+        #
+        # For example,
+        #   :models =>
+        #     :user =>
+        #       :blank => "This is a custom blank message for :{{model}} => {{attribute}}"
+        #       :attributes =>
+        #         :login =>
+        #           :blank => "This is a custom blank message for User login"
+        # Will define custom blank validation message for User model and 
+        # custom blank validation message for login attribute of User model.
+        # models => {
+        # 
+        # },
+      },
+        
+      # Translate model names. Used in Model.human_name().
+      # :models => {
+      #   For example,
+      #   :user => "Dude"
+      #   will translate User model name to "Dude"
+      # },
+    
+      # Translate model attribute names. Used in Model.human_attribute_name(attribute).
+      # :attributes => {
+      #   For example,
+      #     :user =>
+      #       :login => "Handle"
+      #   will translate User attribute "login" as "Handle"
+      # },
+    },
+
+    :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 => lambda { |date, opts| "%d-%m-#{date.year + 543}" },
+        :short => "%e %b",
+        :long => lambda { |date, opts| "%e %B #{date.year + 543}" },
+      },
+      
+      :day_names => ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์"],
+      :abbr_day_names => ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"],
+      
+      # Don't forget the nil at the beginning; there's no such thing as a 0th month
+      :month_names => [nil, "มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
+      :abbr_month_names => [nil, "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."],
+      # Used in date_select and datime_select.
+      :order => [ :day, :month, :year ]
+    },
+
+    :time => {
+      :formats => {
+        :default => lambda { |date, opts| "%a %d %b #{date.year + 543} %H:%M:%S %z" },
+        :short => "%e %b %H:%M น.",
+        :long => lambda { |date, opts| "%e %B #{date.year + 543} %H:%M น." },
+      },
+      :am => "",
+      :pm => "",
+    },
+      
+    # Used in array.to_sentence.
+    :support => {
+      :array => {
+        :words_connector => ", ",
+        :two_words_connector => " และ ",
+        :last_word_connector => ", และ ",
+      },
+      :select => {
+        # default value for :prompt => true in FormOptionsHelper
+        :prompt => "โปรดเลือก"
+      }
+    }
+  }
+}
diff --git a/vendor/plugins/rails-i18n/locale/th.yml b/vendor/plugins/rails-i18n/locale/th.yml
deleted file mode 100644 (file)
index a3c5337..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-# Thai translation for Ruby on Rails
-# original by Prem Sichanugrist (s@sikachu.com/sikandsak@gmail.com)
-# activerecord keys fixed by Jittat Fakcharoenphol (jittat@gmail.com)
-
-th:
-  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 (the number 1 with a precision of 2 gives: 1.00)
-      precision: 3
-      
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u"
-        unit: "Baht"
-        # These three are to override number.format and are optional
-        separator: "."
-        delimiter: ","
-        precision: 2
-        
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator: 
-        delimiter: ""
-        # precision: 
-        
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-        
-    # 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:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-
-  # 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: "ครึ่งนาที"
-      less_than_x_seconds:
-        one:   "น้อยกว่า 1 วินาที"
-        other: "น้อยกว่า {{count}} วินาที"
-      x_seconds:
-        one:   "1 วินาที"
-        other: "{{count}} วินาที"
-      less_than_x_minutes:
-        one:   "น้อยกว่า 1 นาที"
-        other: "น้อยกว่า {{count}} นาที"
-      x_minutes:
-        one:   "1 นาที"
-        other: "{{count}} นาที"
-      about_x_hours:
-        one:   "ประมาณ 1 ชั่วโมง"
-        other: "ประมาณ {{count}} ชั่วโมง"
-      x_days:
-        one:   "1 วัน"
-        other: "{{count}} วัน"
-      about_x_months:
-        one:   "ประมาณ 1 เดือน"
-        other: "ประมาณ {{count}} เดือน"
-      x_months:
-        one:   "1 เดือน"
-        other: "{{count}} เดือน"
-      about_x_years:
-        one:   "ประมาณ 1 ปี"
-        other: "ประมาณ {{count}} ปี"
-      over_x_years:
-        one:   "มากกว่า 1 ปี"
-        other: "มากกว่า {{count}} ปี"
-    prompts:
-      year:   "ปี"
-      month:  "เดือน"
-      day:    "วัน"
-      hour:   "ชั่วโมง"
-      minute: "นาที"
-      second: "วินาที"
-
-  activerecord:
-    errors:
-      template:
-        header:
-          one:    "ไม่สามารถบันทึก {{model}} ได้เนื่องจากเกิดข้อผิดพลาด"
-          other:  "ไม่สามารถบันทึก {{model}} ได้เนื่องจากเกิด {{count}} ข้อผิดพลาด"
-        # The variable :count is also available
-        body: "โปรดตรวจสอบข้อมูลในช่องต่อไปนี้:"
-        
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
-      messages:
-        inclusion: "ไม่ได้อยู่ในลิสต์"
-        exclusion: "ถูกจองเอาไว้แล้ว"
-        invalid: "ไม่ถูกต้อง"
-        confirmation: "ไม่ตรงกับการยืนยัน"
-        accepted: "ต้องถูกยอมรับ"
-        empty: "ต้องไม่เว้นว่างเอาไว้"
-        blank: "ต้องไม่เว้นว่างเอาไว้"
-        too_long: "ยาวเกินไป (ต้องไม่เกิน {{count}} ตัวอักษร)"
-        too_short: "สั้นเกินไป (ต้องยาวกว่า {{count}} ตัวอักษร)"
-        wrong_length: "มีความยาวไม่ถูกต้อง (ต้องมีความยาว {{count}} ตัวอักษร)"
-        taken: "ถูกใช้ไปแล้ว"
-        not_a_number: "ไม่ใช่ตัวเลข"
-        greater_than: "ต้องมากกว่า {{count}}"
-        greater_than_or_equal_to: "ต้องมากกว่าหรือเท่ากับ {{count}}"
-        equal_to: "ต้องมีค่าเท่ากับ {{count}}"
-        less_than: "ต้องมีค่าน้อยกว่า {{count}}"
-        less_than_or_equal_to: "ต้องมีค่าน้อยกว่าหรือเท่ากับ {{count}}"
-        odd: "ต้องเป็นจำนวนคี่"
-        even: "ต้องเป็นจำนวนคู่"
-        record_invalid: "ไม่ผ่านการตรวจสอบ: {{errors}}"
-        # Append your own errors here or at the model/attributes scope.
-
-      # You can define own errors for models or model attributes.
-      # The values :model, :attribute and :value are always available for interpolation.
-      #
-      # For example,
-      #   models:
-      #     user:
-      #       blank: "This is a custom blank message for {{model}}: {{attribute}}"
-      #       attributes:
-      #         login:
-      #           blank: "This is a custom blank message for User login"
-      # Will define custom blank validation message for User model and 
-      # custom blank validation message for login attribute of User model.
-      #models:
-        
-    # Translate model names. Used in Model.human_name().
-    #models:
-      # For example,
-      #   user: "Dude"
-      # will translate User model name to "Dude"
-    
-    # Translate model attribute names. Used in Model.human_attribute_name(attribute).
-    #attributes:
-      # For example,
-      #   user:
-      #     login: "Handle"
-      # will translate User attribute "login" as "Handle"
-
-  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: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์"]
-    abbr_day_names: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส"]
-      
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names: [~, "มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"]
-    abbr_month_names: [~, "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."]
-    # Used in date_select and datime_select.
-    order: [ :day, :month, :year ]
-
-  time:
-    formats:
-      default: "%a %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M น."
-      long: "%d %B %Y %H:%M น."
-    am: ""
-    pm: ""
-      
-# Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " และ "
-      last_word_connector: ", และ "
-    select:
-      # default value for :prompt => true in FormOptionsHelper
-      prompt: "โปรดเลือก"
index ccb21e4d944ec6e6350fbab8d16192ecb1ad07ff..7b87763ddc3bbb8c5af2c6e90db8955790ea6d32 100644 (file)
@@ -65,6 +65,9 @@ tr:
       over_x_years:
         one: '1 yıldan fazla'
         other: '{{count}} yıldan fazla'
+      almost_x_years:
+        one:   "neredeyse 1 yıl"
+        other: "neredeyse {{count}} yıl"
       
   number:
     format:
@@ -94,9 +97,15 @@ tr:
         precision: 2
 
   support:
+    select:
+      # default value for :prompt => true in FormOptionsHelper
+      prompt: "Lütfen seçiniz"
     array:
       sentence_connector: "ve"
       skip_last_comma: true
+      words_connector: ", "
+      two_words_connector: " ve "
+      last_word_connector: " ve "
         
   activerecord:
     errors:
@@ -110,7 +119,7 @@ tr:
         inclusion: "kabul edilen bir kelime değil"
         exclusion: "kullanılamaz"
         invalid: "geçersiz"
-        confirmation: "teyidi uyuşmamakta"
+        confirmation: "teyidiyle uyuşmamakta"
         accepted: "kabul edilmeli"
         empty: "doldurulmalı"
         blank: "doldurulmalı"
@@ -126,4 +135,5 @@ tr:
         less_than_or_equal_to: "{{count}} sayısına eşit veya küçük olmalı"
         odd: "tek olmalı"
         even: "çift olmalı"
+        record_invalid: "Doğrulama başarısız oldu: {{errors}}"
       models:
index da70c088b37228db9bae41ac16d4863a00d99ae5..020bda735eec1fe36b37f35c2d05289c91c6a747 100644 (file)
           other: "有 {{count}} 个错误发生导致「{{model}}」无法被保存。"
         body: "如下字段出现错误:"
       messages:
-        record_invalid: "验失败: {{errors}}"
+        record_invalid: "验失败: {{errors}}"
         inclusion: "不包含于列表中"
         exclusion: "是保留关键字"
         invalid: "是无效的"
index 1bae24d251fff4ed1e74bd8eb15e91adb5073cc3..c94752595ecfd389565ef175080d896e392e6fee 100644 (file)
@@ -1,20 +1,20 @@
-Copyright (c) 2006 Alex Dunae\r
-\r
-Permission is hereby granted, free of charge, to any person obtaining\r
-a copy of this software and associated documentation files (the\r
-"Software"), to deal in the Software without restriction, including\r
-without limitation the rights to use, copy, modify, merge, publish,\r
-distribute, sublicense, and/or sell copies of the Software, and to\r
-permit persons to whom the Software is furnished to do so, subject to\r
-the following conditions:\r
-\r
-The above copyright notice and this permission notice shall be\r
-included in all copies or substantial portions of the Software.\r
-\r
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+Copyright (c) 2006 Alex Dunae
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
index a301772327350157964c72178d7db79edf21174d..bdc8b5794f7ea71f62917ac8e0df6c380730a3b8 100644 (file)
@@ -1 +1 @@
-require 'validates_email_format_of'\r
+require 'validates_email_format_of'
diff --git a/vendor/plugins/validates_email_format_of/rakefile b/vendor/plugins/validates_email_format_of/rakefile
deleted file mode 100644 (file)
index 0b61743..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-require 'rake'
-require 'rake/testtask'
-
-test_files_pattern = 'test/*_test.rb'
-Rake::TestTask.new do |t|
-  t.libs << 'lib'
-  t.pattern = test_files_pattern
-  t.verbose = false
-end
-
-desc "Run the test suite"
-task :default => :test