From: Tom Hughes Date: Fri, 24 Sep 2010 08:35:36 +0000 (+0100) Subject: Merge branch 'master' into openid X-Git-Tag: live~7369 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/f70feedc6517b824c4201584d6298fd5790d85ba?hp=945d60ea5a52d0c1d41cc63456bd6f60e547e79e Merge branch 'master' into openid --- diff --git a/app/controllers/changeset_tag_controller.rb b/app/controllers/changeset_tag_controller.rb deleted file mode 100644 index 374e21ca1..000000000 --- a/app/controllers/changeset_tag_controller.rb +++ /dev/null @@ -1,8 +0,0 @@ -class ChangesetTagController < ApplicationController - layout 'site' - - def search - @tags = ChangesetTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] ) - end - -end diff --git a/app/controllers/oauth_controller.rb b/app/controllers/oauth_controller.rb index 4b539b1fd..f70a644cd 100644 --- a/app/controllers/oauth_controller.rb +++ b/app/controllers/oauth_controller.rb @@ -52,9 +52,17 @@ class OauthController < ApplicationController if any_auth @token.authorize!(@user) - redirect_url = params[:oauth_callback] || @token.client_application.callback_url - if redirect_url - redirect_to "#{redirect_url}?oauth_token=#{@token.token}" + if @token.oauth10? + redirect_url = params[:oauth_callback] || @token.client_application.callback_url + else + redirect_url = @token.oob? ? @token.client_application.callback_url : @token.callback_url + end + if redirect_url and not redirect_url.empty? + if @token.oauth10? + redirect_to "#{redirect_url}?oauth_token=#{@token.token}" + else + redirect_to "#{redirect_url}?oauth_token=#{@token.token}&oauth_verifier=#{@token.verifier}" + end else render :action => "authorize_success" end diff --git a/app/controllers/old_relation_tag_controller.rb b/app/controllers/old_relation_tag_controller.rb deleted file mode 100644 index fba59a043..000000000 --- a/app/controllers/old_relation_tag_controller.rb +++ /dev/null @@ -1,3 +0,0 @@ -class OldRelationTagController < ApplicationController - -end diff --git a/app/controllers/old_way_tag_controller.rb b/app/controllers/old_way_tag_controller.rb deleted file mode 100644 index 02c1e2e65..000000000 --- a/app/controllers/old_way_tag_controller.rb +++ /dev/null @@ -1,2 +0,0 @@ -class OldWayTagController < ApplicationController -end diff --git a/app/controllers/relation_tag_controller.rb b/app/controllers/relation_tag_controller.rb deleted file mode 100644 index c58364c4a..000000000 --- a/app/controllers/relation_tag_controller.rb +++ /dev/null @@ -1,9 +0,0 @@ -class RelationTagController < ApplicationController - layout 'site' - - def search - @tags = RelationTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] ) - end - - -end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index cc4ae4cd8..17f52fd40 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -231,7 +231,7 @@ class UserController < ApplicationController else password_authentication(params[:username], params[:password]) end - else + elsif flash[:notice].nil? flash.now[:notice] = t 'user.login.notice' end end diff --git a/app/controllers/way_tag_controller.rb b/app/controllers/way_tag_controller.rb deleted file mode 100644 index 02e7a6852..000000000 --- a/app/controllers/way_tag_controller.rb +++ /dev/null @@ -1,9 +0,0 @@ -class WayTagController < ApplicationController - layout 'site' - - def search - @tags = WayTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] ) - end - - -end diff --git a/app/models/client_application.rb b/app/models/client_application.rb index d3799abe0..9474a0137 100644 --- a/app/models/client_application.rb +++ b/app/models/client_application.rb @@ -6,6 +6,21 @@ class ClientApplication < ActiveRecord::Base validates_uniqueness_of :key before_validation_on_create :generate_keys + validates_format_of :url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i + validates_format_of :support_url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i, :allow_blank=>true + validates_format_of :callback_url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i, :allow_blank=>true + + attr_accessor :token_callback_url + + def self.find_token(token_key) + token = OauthToken.find_by_token(token_key, :include => :client_application) + if token && token.authorized? + token + else + nil + end + end + def self.verify_request(request, options = {}, &block) begin signature = OAuth::Signature.build(request, options, &block) @@ -35,7 +50,7 @@ class ClientApplication < ActiveRecord::Base end def create_request_token - RequestToken.create :client_application => self + RequestToken.create :client_application => self, :callback_url => self.token_callback_url end # the permissions that this client would like from the user @@ -52,8 +67,8 @@ protected :allow_write_api, :allow_read_gpx, :allow_write_gpx ] def generate_keys - @oauth_client = oauth_server.generate_consumer_credentials - self.key = @oauth_client.key - self.secret = @oauth_client.secret + oauth_client = oauth_server.generate_consumer_credentials + self.key = oauth_client.key + self.secret = oauth_client.secret end end diff --git a/app/models/request_token.rb b/app/models/request_token.rb index d66fe6ce1..0044dde26 100644 --- a/app/models/request_token.rb +++ b/app/models/request_token.rb @@ -1,17 +1,23 @@ class RequestToken < OauthToken + + attr_accessor :provided_oauth_verifier + def authorize!(user) return false if authorized? self.user = user self.authorized_at = Time.now + self.verifier = OAuth::Helper.generate_key(16)[0,20] unless oauth10? self.save end - + def exchange! return false unless authorized? + return false unless oauth10? || verifier == provided_oauth_verifier + RequestToken.transaction do params = { :user => user, :client_application => client_application } # copy the permissions from the authorised request token to the access token - client_application.permissions.each { |p| + client_application.permissions.each { |p| params[p] = read_attribute(p) } @@ -20,4 +26,21 @@ class RequestToken < OauthToken access_token end end + + def to_query + if oauth10? + super + else + "#{super}&oauth_callback_confirmed=true" + end + end + + def oob? + self.callback_url=='oob' + end + + def oauth10? + (defined? OAUTH_10_SUPPORT) && OAUTH_10_SUPPORT && self.callback_url.blank? + end + end diff --git a/app/views/browse/start.rjs b/app/views/browse/start.rjs index 1b68043c9..d4ef1f530 100644 --- a/app/views/browse/start.rjs +++ b/app/views/browse/start.rjs @@ -25,10 +25,10 @@ page << <'; @@ -248,7 +248,7 @@ page << <'+"#{html_escape_unicode(I18n.t('export.start_rjs.view_larger_map'))}"+''; + html += '
'+"#{html_escape_unicode(I18n.t('export.start_rjs.view_larger_map'))}"+''; $("export_html_text").value = html; diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index a026c0594..b514fef99 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -117,7 +117,10 @@ <% end %>
- <%= t 'layouts.help_wiki' %>
+ <%= t 'layouts.help_and_wiki', + :help => link_to(t('layouts.help'), t('layouts.help_url'), :title => t('layouts.help_title')), + :wiki => link_to(t('layouts.wiki'), t('layouts.wiki_url'), :title => t('layouts.wiki_title')) + %>
<%= link_to t('layouts.copyright'), {:controller => 'site', :action => 'copyright'} %>
<%= t 'layouts.news_blog' %>
<%= t 'layouts.shop' %>
diff --git a/app/views/notifier/signup_confirm.text.html.erb b/app/views/notifier/signup_confirm.text.html.erb index eaeb7dce8..c0883382e 100644 --- a/app/views/notifier/signup_confirm.text.html.erb +++ b/app/views/notifier/signup_confirm.text.html.erb @@ -11,6 +11,8 @@

<%= t'notifier.signup_confirm_html.get_reading' %>

+

<%= t'notifier.signup_confirm_html.ask_questions' %>

+

<%= t'notifier.signup_confirm_html.wiki_signup' %>

<%= t'notifier.signup_confirm_html.user_wiki_page' %>

diff --git a/app/views/notifier/signup_confirm.text.plain.erb b/app/views/notifier/signup_confirm.text.plain.erb index a3c4ee92a..a53f27dda 100644 --- a/app/views/notifier/signup_confirm.text.plain.erb +++ b/app/views/notifier/signup_confirm.text.plain.erb @@ -29,6 +29,10 @@ http://www.opengeodata.org/ +<%= t'notifier.signup_confirm_plain.ask_questions' %> + + http://help.openstreetmap.org/ + <%= t'notifier.signup_confirm_plain.wiki_signup' %> <%= t'notifier.signup_confirm_plain.wiki_signup_url' %> diff --git a/app/views/oauth/authorize_success.html.erb b/app/views/oauth/authorize_success.html.erb index effe24a79..a25b98ec7 100644 --- a/app/views/oauth/authorize_success.html.erb +++ b/app/views/oauth/authorize_success.html.erb @@ -1 +1,5 @@ -

You have allowed this request

\ No newline at end of file +

You have allowed this request

+ +<% if @token.oob? %> +

The verification code is <%= @token.verifier %>

+<% end %> diff --git a/app/views/way_tag/search.html.erb b/app/views/way_tag/search.html.erb deleted file mode 100644 index 820bad7db..000000000 --- a/app/views/way_tag/search.html.erb +++ /dev/null @@ -1,24 +0,0 @@ -

Search results

-fixme postcodes and geonames - -<% form_tag :controller => 'way_tag', :action => 'search' do %> -<%= text_field 'query', 'query'%> -<%= submit_tag 'Search' %> -<% end %> - - - - <% @tags.each do |tag| %> - - - - <% end %> -
- <%= link_to tag.v, :controller => 'site', :action => 'goto_way', :id => tag.id %> (k:<%= tag.k %>)
- - Way <%= tag.id %> (<%= tag.way.timestamp %>) - <%= link_to 'Map', :controller => 'site', :action => 'goto_way', :id => tag.id %> - - <%= link_to 'API', :controller => 'way', :action => 'rest', :id => tag.id %> -

-
-
diff --git a/config/environment.rb b/config/environment.rb index 00067a263..7e550ca9f 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -20,7 +20,8 @@ Rails::Initializer.run do |config| end config.gem 'libxml-ruby', :version => '>= 1.1.1', :lib => 'libxml' config.gem 'rmagick', :lib => 'RMagick' - config.gem 'oauth', :version => '>= 0.3.6' + config.gem 'oauth', :version => '>= 0.4.3' + config.gem 'oauth-plugin', :version => '>= 0.3.14' config.gem 'httpclient' config.gem 'SystemTimer', :version => '>= 1.1.3', :lib => 'system_timer' config.gem 'sanitize' diff --git a/config/example.application.yml b/config/example.application.yml index 25df99d26..9b00beb58 100644 --- a/config/example.application.yml +++ b/config/example.application.yml @@ -53,6 +53,8 @@ standard_settings: &standard_settings gpx_image_dir: "/home/osm/images" # Location of data for file columns #file_column_root: "" + # Enable legacy OAuth 1.0 support + oauth_10_support: true development: <<: *standard_settings diff --git a/config/locales/af.yml b/config/locales/af.yml index 346cc9fc4..0bd7d1fd1 100644 --- a/config/locales/af.yml +++ b/config/locales/af.yml @@ -758,8 +758,6 @@ af: export_tooltip: Eksporteer kaartdata gps_traces: GPS-spore gps_traces_tooltip: Beheer GPS-spore - help_wiki: Help & Wiki - help_wiki_tooltip: Help en wiki vir die projek history: Geskiedenis home: tuis home_tooltip: Gaan na tuisligging diff --git a/config/locales/aln.yml b/config/locales/aln.yml index ac25e6ef8..39fb1b5ee 100644 --- a/config/locales/aln.yml +++ b/config/locales/aln.yml @@ -883,8 +883,6 @@ aln: export_tooltip: Harta dhënat Eksporti gps_traces: GPS Gjurmët gps_traces_tooltip: Manage gjurmë GPS - help_wiki: Ndihmë & Wiki - help_wiki_tooltip: Ndihmë & Wiki faqe interneti për projektin history: Historia home: shtëpi home_tooltip: Shkoni në shtëpi vend diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 0068c3ac5..2240f320e 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -890,8 +890,6 @@ ar: export_tooltip: صدّر بيانات الخريطة gps_traces: آثار جي بي أس gps_traces_tooltip: عالج آثار جي بي إس - help_wiki: المساعدة والويكي - help_wiki_tooltip: المساعدة وموقع الويكي للمشروع history: تاريخ home: الصفحة الرئيسية home_tooltip: اذهب إلى الصفحة الرئيسية diff --git a/config/locales/arz.yml b/config/locales/arz.yml index 3d40146b4..0f7f853ec 100644 --- a/config/locales/arz.yml +++ b/config/locales/arz.yml @@ -822,8 +822,6 @@ arz: export_tooltip: صدّر بيانات الخريطة gps_traces: آثار جى بى أس gps_traces_tooltip: عالج الآثار - help_wiki: المساعده والويكي - help_wiki_tooltip: المساعده وموقع الويكى للمشروع history: تاريخ home: الصفحه الرئيسية home_tooltip: اذهب إلى الصفحه الرئيسية diff --git a/config/locales/be.yml b/config/locales/be.yml index 6a0b51f35..87683bf55 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -286,9 +286,6 @@ be: export_tooltip: Экспартаваць данныя карты gps_traces: GPS Трэкі gps_traces_tooltip: Працаваць з трэкамі - help_wiki: Дапамога і Wiki - help_wiki_tooltip: Даведка і сайт Вікі - help_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Main_Page?uselang=be history: Гісторыя home: дамоў home_tooltip: Паказаць маю хату diff --git a/config/locales/br.yml b/config/locales/br.yml index cd0ee0ffb..7d9784f71 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -879,8 +879,6 @@ br: export_tooltip: Ezporzhiañ roadennoù ar gartenn gps_traces: Roudoù GPS gps_traces_tooltip: Merañ ar roudoù GPS - help_wiki: Skoazell & Wiki - help_wiki_tooltip: Skoazell & lec'hienn Wiki evit ar raktres history: Istor home: degemer home_tooltip: Mont da lec'h ar gêr diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 2b9ca86ca..1564cb9b2 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -287,11 +287,19 @@ cs: subject: "Předmět:" use_map_link: použít mapu feed: + all: + description: Nedávné záznamy v deníčcích uživatelů OpenStreetMap + title: Deníčkové záznamy OpenStreetMap language: description: Aktuální záznamy v deníčcích uživatelů OpenStreetMap v jazyce {{language_name}} title: Deníčkové záznamy OpenStreetMap v jazyce {{language_name}} + user: + description: Nedávné záznamy v OpenStreetMap deníčku uživatele {{user}} + title: Záznamy v OpenStreetMap deníčku uživatele {{user}} list: in_language_title: Deníčkové záznamy v jazyce {{language}} + new: Nový záznam do deníčku + new_title: Sepsat nový záznam do vaÅ¡eho uživatelského deníčku no_entries: Žádné záznamy v deníčku recent_entries: "Aktuální deníčkové záznamy:" title: Deníčky uživatelů @@ -390,21 +398,41 @@ cs: amenity: airport: LetiÅ¡tě bank: Banka + bench: Lavička cafe: Kavárna cinema: Kino + courthouse: Soud crematorium: Krematorium embassy: Velvyslanectví + ferry_terminal: PřístaviÅ¡tě přívozu + fire_station: Hasičská stanice + fountain: Fontána + fuel: Čerpací stanice + grave_yard: Hřbitov + hospital: Nemocnice + hunting_stand: Posed kindergarten: Mateřská Å¡kola + library: Knihovna + mountain_rescue: Horská služba park: Park parking: ParkoviÅ¡tě + place_of_worship: Náboženský objekt + post_box: PoÅ¡tovní schránka post_office: PoÅ¡ta + prison: Věznice retirement_home: Domov důchodců + school: Å kola telephone: Telefonní automat + theatre: Divadlo toilets: Toalety + townhall: Radnice + boundary: + administrative: Administrativní hranice building: city_hall: Radnice entrance: Vstup do objektu hospital: Nemocniční budova + public: Veřejná budova stadium: Stadion tower: Věž train_station: Železniční stanice @@ -413,13 +441,16 @@ cs: bus_stop: Autobusová zastávka construction: Silnice ve výstavbě gate: Brána + living_street: Obytná zóna motorway: Dálnice residential: Ulice secondary: Silnice II. třídy + secondary_link: Silnice II. třídy steps: Schody unsurfaced: Nezpevněná cesta historic: battlefield: BojiÅ¡tě + building: Budova memorial: Památník museum: Muzeum wreck: Vrak @@ -429,6 +460,7 @@ cs: construction: StaveniÅ¡tě landfill: Skládka military: Vojenský prostor + piste: Sjezdovka vineyard: Vinice leisure: garden: Zahrada @@ -442,12 +474,19 @@ cs: swimming_pool: Bazén natural: beach: Pláž + cliff: Útes + coastline: Pobřežní čára + fjord: Fjord + geyser: Gejzír glacier: Ledovec hill: Kopec island: Ostrov + marsh: Mokřina + peak: Vrchol river: Řeka tree: Strom valley: Údolí + volcano: Sopka place: airport: LetiÅ¡tě city: Velkoměsto @@ -484,6 +523,7 @@ cs: hairdresser: Kadeřnictví jewelry: Klenotnictví optician: Oční optika + travel_agency: Cestovní kancelář tourism: alpine_hut: Vysokohorská chata attraction: Turistická atrakce @@ -520,9 +560,10 @@ cs: edit: Upravit export: Export export_tooltip: Exportovat mapová data - help_wiki: Nápověda & 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 + gps_traces: GPS stopy + help: Nápověda + help_and_wiki: "{{help}} & {{wiki}}" + help_title: Stránky s nápovědou k tomuto projektu history: Historie home: domů home_tooltip: Přejít na polohu domova @@ -564,6 +605,8 @@ cs: view_tooltip: Zobrazit mapu welcome_user: Vítejte, {{user_link}} welcome_user_link_tooltip: VaÅ¡e uživatelská stránka + wiki: wiki + wiki_title: Wiki k tomuto projektu license_page: native: title: O této stránce @@ -647,6 +690,18 @@ cs: signup_confirm_plain: 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 + oauth: + oauthorize: + allow_read_gpx: číst vaÅ¡e soukromé GPS stopy. + allow_read_prefs: číst vaÅ¡e uživatelské nastavení. + allow_to: "Umožnit klientské aplikaci:" + allow_write_api: upravovat mapu. + allow_write_diary: vytvářet deníčkové záznamy, komentovat a navazovat přátelství. + allow_write_gpx: nahrávat GPS stopy. + allow_write_prefs: měnit vaÅ¡e uživatelské nastavení. + request_access: Aplikace {{app_name}} žádá o přístup k vaÅ¡emu účtu. Vyberte si, zda si přejete, aby aplikace měla následující oprávnění. Můžete jich zvolit libovolný počet. + revoke: + flash: Přístup pro aplikaci {{application}} byl odvolán. oauth_clients: index: my_apps: Mé klientské aplikace @@ -680,6 +735,7 @@ cs: bridleway: Koňská stezka brownfield: ZbořeniÅ¡tě building: Významná budova + byway: Cesta cable: - Lanovka - sedačková lanovka @@ -733,6 +789,7 @@ cs: tunnel: Čárkované obrysy = tunel unclassified: Silnice unsurfaced: Nezpevněná cesta + wood: Les heading: Legenda pro z{{zoom_level}} search: search: Hledat @@ -749,73 +806,103 @@ cs: trace: create: trace_uploaded: Váš GPX soubor byl uložen a čeká na zařazení do databáze. Obvykle to netrvá víc jak půl hodiny. Až bude zařazen, budete informováni emailem. - upload_trace: Nahrát GPS záznam + upload_trace: Nahrát GPS stopu + delete: + scheduled_for_deletion: Stopa označena ke smazání edit: description: "Popis:" download: stáhnout edit: upravit filename: "Název souboru:" - heading: Úprava GPS záznamu {{name}} + heading: Úprava stopy {{name}} map: mapa owner: "Vlastník:" points: "Body:" save_button: Uložit změny start_coord: "Souřadnice začátku:" - tags: "Tagy:" + tags: "Å títky:" tags_help: oddělené čárkou + title: Úprava stopy {{name}} uploaded_at: "Nahráno v:" visibility: "Viditelnost:" visibility_help: co tohle znamená? list: - your_traces: VaÅ¡e GPS záznamy + public_traces: Veřejné GPS stopy + public_traces_from: Veřejné GPS stopy uživatele {{user}} + tagged_with: " oÅ¡títkované jako {{tags}}" + your_traces: VaÅ¡e GPS stopy + make_public: + made_public: Stopa zveřejněna 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 + offline: + heading: GPX úložiÅ¡tě offline + message: ÚložiÅ¡tě GPX souborů a systém pro nahrávání jsou momentálně mimo provoz. + offline_warning: + message: Systém pro načítání GPX souborů je momentálně mimo provoz. trace: ago: před {{time_in_words_ago}} by: od count_points: "{{count}} bodů" edit: upravit edit_map: Upravit mapu + identifiable: IDENTIFIKOVATELNÁ in: v map: mapa more: více + pending: ZPRACOVÁVÁ SE + private: SOUKROMÁ + public: VEŘEJNÁ + trace_details: Zobrazit podrobnosti stopy + trackable: STOPOVATELNÁ view_map: Zobrazit mapu trace_form: description: Popis help: Nápověda - tags: Tagy - tags_help: oddělěné čárkou + tags: Å títky + tags_help: oddělené čárkou upload_button: Nahrát upload_gpx: Nahrát GPX soubor visibility: Viditelnost visibility_help: co tohle znamená? trace_header: - see_all_traces: Zobrazit vÅ¡echny GPS záznamy - see_your_traces: Zobrazit vÅ¡echny vaÅ¡e GPS záznamy + see_all_traces: Zobrazit vÅ¡echny stopy + see_your_traces: Zobrazit vÅ¡echny vaÅ¡e stopy + traces_waiting: Na zpracování čeká {{count}} vaÅ¡ich stop. Zvažte, zda by nebylo před nahráním dalších lepší počkat, dokud nebudou zpracovány, abyste neblokovali frontu dalším uživatelům. + upload_trace: Nahrát stopu + your_traces: Zobrazit pouze vaÅ¡e stopy trace_optionals: - tags: Tagy + tags: Å títky trace_paging_nav: next: Následující » previous: "« Předchozí" showing_page: Zobrazuji stranu {{page}} view: + delete_track: Smazat tuto stopu description: "Popis:" download: stáhnout edit: upravit + edit_track: Upravit tuto stopu filename: "Název souboru:" + heading: Zobrazení stopy {{name}} map: mapa + none: Žádné owner: "Vlastník:" - tags: "Tagy:" - trace_not_found: GPS záznam nenalezen! + pending: ZPRACOVÁVÁ SE + points: "Bodů:" + start_coordinates: "Souřadnice začátku:" + tags: "Å títky:" + title: Zobrazení stopy {{name}} + trace_not_found: Stopa nenalezena! uploaded: "Nahráno v:" visibility: "Viditelnost:" visibility: - identifiable: Identifikovatelný (zobrazuje se v seznamu a jako identifikovatelné, uspořádané body s časovou značkou) - private: Soukromý (dostupná jedině jako anonymní, neuspořádané body) - public: Veřejný (zobrazuje se v seznamu i jako anonymní, neuspořádané body) - trackable: Trackable (dostupný jedině jako anonymní, uspořádané body s časovými značkami) + identifiable: Identifikovatelná (zobrazuje se v seznamu a jako identifikovatelné uspořádané body s časovou značkou) + private: Soukromá (veřejně dostupná jedině jako anonymní, neuspořádané body) + public: Veřejná (zobrazuje se v seznamu i jako anonymní, neuspořádané body) + trackable: Stopovatelná (veřejně dostupná jedině jako anonymní, uspořádané body s časovými značkami) user: account: current email address: "Stávající e-mailová adresa:" @@ -857,6 +944,9 @@ cs: success: VaÅ¡e e-mailová adresa byla potvrzena, děkujeme za registraci! filter: not_an_administrator: K provedení této akce musíte být správce. + list: + heading: Uživatelé + title: Uživatelé login: account not active: Je mi líto, ale váš uživatelský účet dosud nebyl aktivován.
Svůj účet si můžete aktivovat kliknutím na odkaz v potvrzovacím e-mailu. account suspended: Je nám líto, ale váš účet byl pozastaven kvůli podezřelé aktivitě.
Pokud to chcete řeÅ¡it, kontaktujte {{webmaster}}. @@ -957,7 +1047,7 @@ cs: remove as friend: odstranit jako přítele send message: poslat zprávu settings_link_text: nastavení - traces: záznamy + traces: stopy user location: Pozice uživatele your friends: VaÅ¡i přátelé user_block: diff --git a/config/locales/da.yml b/config/locales/da.yml index d9e5d87b4..30c3f04b9 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -343,9 +343,6 @@ da: export_tooltip: Eksporter kortdata gps_traces: GPS-spor gps_traces_tooltip: HÃ¥ndter GPS-spor - help_wiki: Hjælp & Wiki - 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 home: hjem home_tooltip: GÃ¥ til hjemmeposition diff --git a/config/locales/de.yml b/config/locales/de.yml index 00168b961..06d105e2d 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -897,9 +897,9 @@ de: export_tooltip: Kartendaten exportieren gps_traces: GPS-Tracks gps_traces_tooltip: GPS-Tracks verwalten - help_wiki: Hilfe + Wiki - help_wiki_tooltip: Hilfe + Wiki des Projekts - help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de + help: Hilfe + help_and_wiki: "{{help}} + {{wiki}}" + help_title: Hilfesite des Projekts history: Chronik home: Standort home_tooltip: Eigener Standort @@ -938,6 +938,8 @@ de: view_tooltip: Karte anzeigen welcome_user: Willkommen, {{user_link}} welcome_user_link_tooltip: Eigene Benutzerseite + wiki: Wiki + wiki_title: Wiki des Projekts license_page: foreign: english_link: dem englischsprachigen Original @@ -1070,6 +1072,7 @@ de: signup_confirm: subject: "[OpenStreetMap] Deine E-Mail-Adresse bestätigen" signup_confirm_html: + ask_questions: Du kannst jegliche Fragen zu OpenStreetMap auf unserer Website mit Fragen und Antworten stellen. click_the_link: Wenn du das bist, Herzlich Willkommen! Bitte klicke auf den folgenden Link unter dieser Zeile um dein Benutzerkonto zu bestätigen. Lies danach weiter, denn es folgen mehr Informationen über OSM. current_user: Ebenso ist eine Liste mit allen Benutzern in einer Kategorie, die anzeigt wo diese auf der Welt sind, verfügbar. get_reading: Weitere Informationen über OpenStreetMap findest du in unserem Wiki, informiere dich über die neusten Nachrichten über das OpenStreetMap-Blog oder Twitter, oder besuche das OpenGeoData-Blog von OpenStreetMap-Gründer Steve Coast für die gekürzte Geschichte des Projektes, dort werden auch Podcasts zum Hören angeboten. @@ -1082,6 +1085,7 @@ de: video_to_openstreetmap: Einführungsvideo zu OpenStreetMap wiki_signup: Im Wiki von OpenStreetMap kannst du dich ebenfalls registrieren. signup_confirm_plain: + ask_questions: "Du kannst jegliche Fragen zu OpenStreetMap auf unserer Website mit Fragen und Antworten stellen:" blog_and_twitter: "Immer auf dem neuesten Stand dank dem OpenStreetMap-Blog oder Twitter:" click_the_link_1: Wenn du das bist, Herzlich Willkommen! Bitte klicke auf den folgenden Link unter dieser Zeile, um dein click_the_link_2: Benutzerkonto zu bestätigen. Lies danach weiter, denn es folgen mehr Informationen über OSM. diff --git a/config/locales/dsb.yml b/config/locales/dsb.yml index b11df78a4..a3a07dc68 100644 --- a/config/locales/dsb.yml +++ b/config/locales/dsb.yml @@ -890,8 +890,6 @@ dsb: export_tooltip: Kórtowe daty eksportěrowaś gps_traces: GPS-slědy gps_traces_tooltip: GPS-slědy zastojaś - help_wiki: Pomoc & wiki - help_wiki_tooltip: Pomoc & wikisedło za projekt history: Historija home: domoj home_tooltip: K stojnišćoju diff --git a/config/locales/en.yml b/config/locales/en.yml index d027b8a9a..8a3a1a2ec 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -924,9 +924,13 @@ en: osm_read_only: "The OpenStreetMap database is currently in read-only mode while essential database maintenance work is carried out." donate: "Support OpenStreetMap by {{link}} to the Hardware Upgrade Fund." donate_link_text: donating - help_wiki: "Help & Wiki" - help_wiki_tooltip: "Help & Wiki site for the project" - help_wiki_url: "http://wiki.openstreetmap.org" + help_and_wiki: "{{help}} & {{wiki}}" + help: Help + help_url: http://help.openstreetmap.org/ + help_title: Help site for the project + wiki: Wiki + wiki_url: http://wiki.openstreetmap.org/ + wiki_title: Wiki site for the project copyright: "Copyright & License" news_blog: "News blog" news_blog_tooltip: "News blog about OpenStreetMap, free geographical data, etc." @@ -1100,6 +1104,7 @@ en: the_wiki_url: "http://wiki.openstreetmap.org/wiki/Beginners%27_Guide" blog_and_twitter: "Catch up with the latest news via the OpenStreetMap blog or Twitter:" opengeodata: "OpenGeoData.org is OpenStreetMap founder Steve Coast's blog, and it has podcasts too:" + ask_questions: "You can ask any questions you may have about OpenStreetMap at our question and answer site:" wiki_signup: "You may also want to sign up to the OpenStreetMap wiki at:" wiki_signup_url: "http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page" # next four translations are in pairs : please word wrap appropriately @@ -1116,6 +1121,7 @@ en: more_videos: "There are {{more_videos_link}}." more_videos_here: "more videos here" get_reading: Get reading about OpenStreetMap on the wiki, catch up with the latest news via the OpenStreetMap blog or Twitter, or browse through OpenStreetMap founder Steve Coast's OpenGeoData blog for the potted history of the project, which has podcasts to listen to also! + ask_questions: You can ask any questions you may have about OpenStreetMap at our question and answer site. wiki_signup: 'You may also want to sign up to the OpenStreetMap wiki.' user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as [[Category:Users_in_London]].' current_user: 'A list of current users in categories, based on where in the world they are, is available from Category:Users_by_geographical_region.' diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 142083539..69fb0e837 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -345,8 +345,6 @@ eo: export_tooltip: Eksporti mapajn datumojn gps_traces: GPS spuroj gps_traces_tooltip: Manipuli spurojn - help_wiki: Helpo kaj Vikio - help_wiki_tooltip: Helpo kaj Vikio por la projekto history: Historio home: hejmo home_tooltip: Iri al hejmloko @@ -384,7 +382,7 @@ eo: inbox: date: Dato my_inbox: Mia leterkesto - title: Leterkesto + title: Alvenkesto you_have: Vi havas {{new_count}} novajn mesaĝojn kaj {{old_count}} malnovajn mesaĝojn mark: as_read: Mesaĝo markita kiel legita @@ -405,7 +403,7 @@ eo: title: Tiu uzanto aÅ­ mesaĝo ne ekzistas outbox: date: Dato - inbox: leterkesto + inbox: Alvenkesto my_inbox: Mia {{inbox_link}} you_have_sent_messages: one: Vi havas 1 mesaĝon diff --git a/config/locales/es.yml b/config/locales/es.yml index 86d2469db..b86b28934 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -883,9 +883,6 @@ es: export_tooltip: Exportar datos del mapa gps_traces: Trazas GPS 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 home: inicio home_tooltip: Ir a la página inicial diff --git a/config/locales/eu.yml b/config/locales/eu.yml index bbe52ad33..0b41eba7b 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -495,7 +495,6 @@ eu: layouts: edit: Aldatu export: Esportatu - help_wiki: Laguntza eta Wiki history: Historia home: hasiera inbox: sarrera-ontzia ({{count}}) diff --git a/config/locales/fi.yml b/config/locales/fi.yml index d1053e080..84ebaf5f4 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -723,8 +723,6 @@ fi: 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 home: koti home_tooltip: Siirry kotisijaintiin diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 815ca0aae..7ec2b4f66 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -888,8 +888,6 @@ fr: export_tooltip: Exporter les données de la carte gps_traces: Traces GPS gps_traces_tooltip: Gérer les traces GPS - help_wiki: Aide & Wiki - help_wiki_tooltip: Aide et site Wiki du projet history: Historique home: Chez moi home_tooltip: Aller à l'emplacement de mon domicile diff --git a/config/locales/fur.yml b/config/locales/fur.yml index aa0a94fce..2ff87fcd7 100644 --- a/config/locales/fur.yml +++ b/config/locales/fur.yml @@ -479,8 +479,6 @@ fur: export_tooltip: Espuarte i dâts de mape gps_traces: Percors GPS gps_traces_tooltip: Gjestìs i percors GPS - help_wiki: Jutori & Vichi - help_wiki_tooltip: Jutori & Vichi pal progjet history: Storic home: lûc iniziâl home_tooltip: Va al lûc iniziâl diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 69a0a4353..7724f1079 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -881,8 +881,9 @@ gl: export_tooltip: Exportar os datos do mapa gps_traces: Pistas GPS gps_traces_tooltip: Xestionar as pistas GPS - help_wiki: Axuda e wiki - help_wiki_tooltip: Axuda e sitio wiki do proxecto + help: Axuda + help_and_wiki: "{{help}} e {{wiki}}" + help_title: Sitio de axuda do proxecto history: Historial home: inicio home_tooltip: Ir ao meu domicilio @@ -921,6 +922,8 @@ gl: view_tooltip: Ver o mapa welcome_user: Benvido, {{user_link}} welcome_user_link_tooltip: A súa páxina de usuario + wiki: wiki + wiki_title: Wiki de axuda do proxecto license_page: foreign: english_link: a orixinal en inglés @@ -1053,6 +1056,7 @@ gl: signup_confirm: subject: "[OpenStreetMap] Confirme o seu enderezo de correo electrónico" signup_confirm_html: + ask_questions: Pode facer calquera pregunta en relación ao OpenStreetMap no noso sitio de preguntas e respostas. click_the_link: Se este é vostede, benvido! Prema na ligazón que aparece a continuación para confirmar a súa conta e obter máis información sobre o OpenStreetMap. current_user: "A lista de todos os usuarios por categorías, baseada segundo a súa localización no mundo, está dispoñible en: Category:Users_by_geographical_region." get_reading: Infórmese sobre o OpenStreetMap no wiki, póñase ao día das últimas novas a través do blogue ou o Twitter do OpenStreetMap ou vaia polo blogue OpenGeoData de Steve Coast, o fundador do OpenStreetMap, para ler a pequena historia do proxecto e escoitar os podcasts tamén! @@ -1065,6 +1069,7 @@ gl: video_to_openstreetmap: vídeo introdutorio ao OpenStreetMap wiki_signup: Poida que tamén queira crear unha conta no wiki do OpenStreetMap. signup_confirm_plain: + ask_questions: "Pode facer calquera pregunta en relación ao OpenStreetMap no noso sitio de preguntas e respostas:" blog_and_twitter: "Póñase ao día das últimas novas a través do blogue ou o Twitter do OpenStreetMap:" click_the_link_1: Se este é vostede, benvido! Prema na ligazón que aparece a continuación para confirmar a súa click_the_link_2: conta e obter máis información sobre o OpenStreetMap. diff --git a/config/locales/hr.yml b/config/locales/hr.yml index dc0b799da..274b981fc 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -3,6 +3,7 @@ # Export driver: syck # Author: Mnalis # Author: Mvrban +# Author: SpeedyGonsales hr: activerecord: attributes: @@ -885,9 +886,9 @@ hr: export_tooltip: Izvoz podataka karte gps_traces: GPS trase gps_traces_tooltip: Upravljaj GPS trasama - help_wiki: Pomoć & Wiki - help_wiki_tooltip: Pomoć & Wiki-site za projekt - help_wiki_url: http://wiki.openstreetmap.org/wiki/Hr:Main_Page?uselang=hr + help: Pomoć + help_and_wiki: "{{help}} & {{wiki}}" + help_title: Stranice pomoći za projekt history: Povijest home: dom home_tooltip: Idi na lokaciju svog doma @@ -928,6 +929,8 @@ hr: view_tooltip: Pogledaj na karti welcome_user: DobrodoÅ¡li, {{user_link}} welcome_user_link_tooltip: Tvoja korisnička stranica + wiki: Wiki + wiki_title: Wiki stranice projekta license_page: foreign: english_link: Engleski izvornik @@ -1060,6 +1063,7 @@ hr: signup_confirm: subject: "[OpenStreetMap] potvrdi email adresu" signup_confirm_html: + ask_questions: Možete postaviti bilo kakva pitanja koja imate o projektu OpenStreetMap na naÅ¡im stranicama pitanja i odgovora. click_the_link: Ako si ovo ti, dobrodoÅ¡ao! Molim klikni na link ispod za potvrdu korisničkog računa i čitaj dalje za viÅ¡e informacija o OpenStreetMap-u current_user: Lista trenutnih korisnika u kategorijama, bazirano gdje su na svijetu, je dostupna s Category:Users_by_geographical_region. get_reading: Čitajte o OpenStreetMap-u na wiki-ju, budute u toku s zadnjim novostima preko OpenStreetMap bloga ili Twittera, ili pregledajte OpenGeoData blog osnivača OpenStreetMap-a, Stevea Coasta za povijest projekta, gdje imate i podcaste za sluÅ¡anje! @@ -1072,6 +1076,7 @@ hr: video_to_openstreetmap: uvodni video za OpenStreetMap wiki_signup: Možda se želiÅ¡ otvoriti račun na OpenStreetMap wiki. signup_confirm_plain: + ask_questions: "Možete postaviti bilo kakva pitanja koja imate o projektu OpenStreetMap na naÅ¡im stranicama pitanja i odgovora:" blog_and_twitter: "Budite u toku s najnovijim vijestima preko OpenstreetMap bloga ili Twittera:" click_the_link_1: Ako si to ti, dobrodoÅ¡ao! Molim klikni donji link za potvrdu click_the_link_2: korinički račun i čitaj za viÅ¡e informacija o OpenStreetMap-u. diff --git a/config/locales/hsb.yml b/config/locales/hsb.yml index 3502ae7e6..b7c957b53 100644 --- a/config/locales/hsb.yml +++ b/config/locales/hsb.yml @@ -890,8 +890,6 @@ hsb: export_tooltip: Kartowe daty eksportować gps_traces: GPS-ćěrje gps_traces_tooltip: GPS-ćěrje zrjadować - help_wiki: Pomoc & wiki - help_wiki_tooltip: Sydło Pomoc & wiki za projekt history: Historija home: domoj home_tooltip: Domoj hić diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 18ebc83e9..b08cf9752 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -885,9 +885,6 @@ hu: export_tooltip: Térképadatok exportálása gps_traces: Nyomvonalak gps_traces_tooltip: GPS nyomvonalak kezelése - help_wiki: Segítség és wiki - help_wiki_tooltip: Segítség és wikioldal a projekthez - help_wiki_url: http://wiki.openstreetmap.org/wiki/HU:Main_Page?uselang=hu history: Előzmények home: otthon home_tooltip: Ugrás otthonra diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 0f8de1fba..d08063915 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -880,8 +880,9 @@ ia: export_tooltip: Exportar datos cartographic gps_traces: Tracias GPS gps_traces_tooltip: Gerer tracias GPS - help_wiki: Adjuta & Wiki - help_wiki_tooltip: Adjuta & sito Wiki pro le projecto + help: Adjuta + help_and_wiki: "{{help}} & {{wiki}}" + help_title: Sito de adjuta pro le projecto history: Historia home: initio home_tooltip: Ir al position de origine @@ -922,6 +923,8 @@ ia: view_tooltip: Vider le carta welcome_user: Benvenite, {{user_link}} welcome_user_link_tooltip: Tu pagina de usator + wiki: Wiki + wiki_title: Sito wiki pro le projecto license_page: foreign: english_link: le original in anglese @@ -1054,6 +1057,7 @@ ia: signup_confirm: subject: "[OpenStreetMap] Confirma tu adresse de e-mail" signup_confirm_html: + ask_questions: Tu pote poner qualcunque questiones super OpenStreetMap a nostre sito de questiones e responsas. click_the_link: Si isto es tu, benvenite! Per favor clicca super le ligamine ci infra pro confirmar iste conto e continua a leger pro ulterior informationes super OpenStreetMap current_user: Un lista de usatores actual in categorias, a base de lor position geographic, es disponibile de Category:Users_by_geographical_region. get_reading: Informa te super OpenStreetMap per leger le wiki, tene te al currente con le ultime novas via le blog de OpenStreetMap o con Twitter, o percurre le blog OpenGeoData del fundator de OpenStreetMap Steve Coast pro le historia compendiose del projecto, le qual include tamben podcasts a ascoltar! @@ -1066,6 +1070,7 @@ ia: video_to_openstreetmap: video de introduction a OpenStreetMap wiki_signup: Considera tamben inscriber te al wiki de OpenStreetMap. signup_confirm_plain: + ask_questions: "Tu pote poner qualcunque questiones super OpenStreetMap a nostre sito de questiones e responsas:" blog_and_twitter: "Tene te al currente con le ultime novas al blog de OpenStreetMap o con Twitter:" click_the_link_1: Si isto es tu, benvenite! Per favor clicca super le ligamine ci infra pro confirmar tu click_the_link_2: conto. Continua a leger pro plus informationes a proposito de OpenStreetMap. diff --git a/config/locales/is.yml b/config/locales/is.yml index 0483fb818..fe7c8c05b 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -579,9 +579,6 @@ is: export_tooltip: Niðurhala kortagögnum á hinum ýmsu sniðum gps_traces: GPS ferlar gps_traces_tooltip: Sjá alla GPS ferla - help_wiki: Hjálp & Wiki - 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á home: heim home_tooltip: Færa kortasýnina á þína staðsetningu diff --git a/config/locales/it.yml b/config/locales/it.yml index 419381b77..6f8744f18 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -815,8 +815,6 @@ it: export_tooltip: Esporta i dati della mappa gps_traces: Tracciati GPS gps_traces_tooltip: Gestisci i tracciati GPS - help_wiki: Aiuto & Wiki - help_wiki_tooltip: Sito e Wiki di supporto per il progetto history: Storico home: posizione iniziale inbox: in arrivo ({{count}}) diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 4769d010d..1d50d32c4 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -618,6 +618,7 @@ ja: place: airport: 空港 city: 市 + country: 国 county: 郡 farm: 牧場 hamlet: 村 @@ -714,9 +715,6 @@ ja: export_tooltip: 地図データのエクスポート gps_traces: GPS トレース gps_traces_tooltip: トレースの管理 - help_wiki: ヘルプと Wiki - help_wiki_tooltip: プロジェクトのヘルプと Wiki - help_wiki_url: http://wiki.openstreetmap.org/wiki/Ja:Main_Page?uselang=ja history: 履歴 home: ホーム home_tooltip: ホームへ戻る @@ -1180,6 +1178,7 @@ ja: list: confirm: 選択したユーザを確認 empty: 条件に一致するユーザーが見つかりません + heading: 利用者 hide: 選択したユーザーを隠す title: ユーザー login: diff --git a/config/locales/lb.yml b/config/locales/lb.yml new file mode 100644 index 000000000..57ff130b2 --- /dev/null +++ b/config/locales/lb.yml @@ -0,0 +1,637 @@ +# Messages for Luxembourgish (Lëtzebuergesch) +# Exported from translatewiki.net +# Export driver: syck +# Author: Robby +lb: + activerecord: + attributes: + diary_entry: + language: Sprooch + title: Titel + user: Benotzer + friend: + friend: Frënd + user: Benotzer + message: + title: Titel + trace: + description: Beschreiwung + name: Numm + public: Ëffentlech + size: Gréisst + user: Benotzer + user: + active: Aktiv + description: Beschreiwung + display_name: Numm dee gewise gëtt + email: E-Mail + languages: Sproochen + pass_crypt: Passwuert + models: + country: Land + friend: Frënd + language: Sprooch + message: Message + node: Knuet + old_node: Ale Knuet + old_relation: Al Relatioun + old_way: Ale Wee + relation: Relatioun + user: Benotzer + user_preference: Benotzerastellung + way: Wee + browse: + changeset: + download: Als {{changeset_xml_link}} oder {{osmchange_xml_link}} eroflueden. + osmchangexml: osmChange XML + changeset_details: + belongs_to: "Gehéiert dem:" + closed_at: "Zougemaach den:" + common_details: + changeset_comment: "Bemierkung:" + edited_at: "Geännert den:" + edited_by: "Geännert vum:" + version: "Versioun:" + containing_relation: + entry: Relatioun {{relation_name}} + entry_role: Relatioun {{relation_name}} (als {{relation_role}}) + map: + deleted: Geläscht + larger: + area: Géigend op méi enger grousser Kaart weisen + node: Knuet op méi enger grousser Kaart weisen + relation: D'Relatioun op méi enger grousser Kaart weisen + way: Wee op méi enger grousser Kaart weisen + loading: Lueden... + navigation: + all: + next_node_tooltip: Nächste Knuet + next_relation_tooltip: Nächst Relatioun + next_way_tooltip: Nächste Wee + prev_node_tooltip: Virege Knuet + prev_relation_tooltip: Vireg Relatioun + prev_way_tooltip: Virege Wee + user: + name_changeset_tooltip: Ännerunge vum {{user}} weisen + next_changeset_tooltip: Nächst Ännerung vum {{user}} + prev_changeset_tooltip: Vireg Ännerung vum {{user}} + node: + download: "{{download_xml_link}}, {{view_history_link}} oder {{edit_link}}" + download_xml: XML eroflueden + edit: änneren + node: Knuet + node_title: "Knuet: {{node_name}}" + view_history: Versioune weisen + node_details: + coordinates: "Koordinaten:" + part_of: "Deel vu(n):" + node_history: + download: "{{download_xml_link}} oder {{view_details_link}}" + download_xml: XML eroflueden + view_details: Detailer weisen + not_found: + type: + node: Knuet + relation: Relatioun + way: Wee + paging_nav: + of: vu(n) + showing_page: Säit gëtt gewisen + relation: + download: "{{download_xml_link}} oder {{view_history_link}}" + download_xml: XML eroflueden + relation: Relatioun + relation_title: "Relatioun: {{relation_name}}" + view_history: Versioune weisen + relation_details: + members: "Memberen:" + part_of: "Deel vu(n):" + relation_history: + download: "{{download_xml_link}} oder {{view_details_link}}" + download_xml: XML eroflueden + view_details: Detailer weisen + relation_member: + entry_role: "{{type}} {{name}} als {{role}}" + type: + node: Knuet + relation: Relatioun + way: Wee + start_rjs: + data_frame_title: Donnéeën + data_layer_name: Donnéeën + details: Detailer + edited_by_user_at_timestamp: Vum [[user]] de(n) [[timestamp]] geännert + load_data: Donnéeë lueden + loading: Lueden... + object_list: + details: Detailer + heading: Lëscht mat Objeten + history: + type: + node: Knuet [[id]] + way: Wee [[id]] + selected: + type: + node: Knuet [[id]] + way: Wee [[id]] + type: + node: Knuet + way: Wee + private_user: private Benotzer + show_history: Versioune weisen + wait: Waart w.e.g. ... + tag_details: + wikipedia_link: Den Artikel {{page}} op der Wikipedia + timeout: + type: + node: Knuet + relation: Relatioun + way: Wee + way: + download: "{{download_xml_link}}, {{view_history_link}} oder {{edit_link}}" + download_xml: XML eroflueden + edit: änneren + view_history: Versioune weisen + way: Wee + way_title: "Wee: {{way_name}}" + way_details: + nodes: "Kniet:" + part_of: "Deel vu(n):" + way_history: + download: "{{download_xml_link}} oder {{view_details_link}}" + download_xml: XML eroflueden + view_details: Detailer weisen + changeset: + changeset: + anonymous: Anonym + big_area: (grouss) + no_edits: (keng Ännerungen) + changeset_paging_nav: + next: Nächst » + previous: "« Vireg" + changesets: + user: Benotzer + diary_entry: + diary_comment: + confirm: Confirméieren + diary_entry: + confirm: Confirméieren + edit: + language: "Sprooch:" + save_button: Späicheren + subject: "Sujet:" + location: + edit: Änneren + no_such_user: + heading: De Benotzer {{user}} gëtt et net + title: Esou e Benotzer gëtt et net + view: + save_button: Späicheren + export: + start: + format: Format + image_size: "Gréisst vum Bild:" + licence: Lizenz + options: Optiounen + scale: Maassstab + zoom: Zoom + geocoder: + direction: + east: ëstlech + north: nërdlech + north_east: nordost + north_west: nordwest + south: südlech + south_east: südost + south_west: südwest + west: westlech + search_osm_namefinder: + suffix_place: ", {{distance}} {{direction}} vu(n) {{placename}}" + search_osm_nominatim: + prefix: + amenity: + airport: Fluchhafen + bank: Bank + bus_station: Busarrêt + cafe: Café + cinema: Kino + clinic: Klinik + crematorium: Crematoire + dentist: Zänndokter + doctors: Dokteren + driving_school: Fahrschoul + embassy: Ambassade + fire_station: Pompjeeën + fountain: Sprangbur + hospital: Klinik + hotel: Hotel + kindergarten: Spillschoul + market: Maart + marketplace: Maartplaz + mountain_rescue: Biergrettung + park: Park + pharmacy: Apdikt + police: Police + preschool: Spillschoul + prison: Prisong + restaurant: Restaurant + sauna: Sauna + school: Schoul + supermarket: Supermarché + taxi: Taxi + telephone: Telefonscabine + theatre: Theater + toilets: Toiletten + townhall: Stadhaus + university: Universitéit + building: + bunker: Bunker + chapel: Kapell + church: Kierch + hotel: Hotel + house: Haus + stadium: Stadion + terrace: Terrasse + tower: Tuerm + train_station: Gare (Eisebunn) + "yes": Gebai + highway: + footway: Fousswee + gate: Paard + motorway: Autobunn + path: Pad + road: Strooss + historic: + building: Gebai + castle: Schlass + church: Kierch + house: Haus + monument: Monument + museum: Musée + ruins: Ruinen + tower: Tuerm + landuse: + cemetery: Kierfecht + forest: Bësch + military: Militairegebitt + park: Park + railway: Eisebunn + vineyard: Wéngert + wood: Bësch + leisure: + marina: Yachthafen + miniature_golf: Minigolf + playground: Spillplaz + stadium: Stadion + swimming_pool: Schwëmm + natural: + crater: Krater + fjord: Fjord + geyser: Geysir + glacier: Gletscher + hill: Hiwwel + island: Insel + point: Punkt + river: Floss + rock: Steng + spring: Quell + tree: Bam + valley: Dall + volcano: Vulkan + water: Waasser + wood: Bësch + place: + airport: Fluchhafen + country: Land + houses: Haiser + island: Insel + region: Regioun + sea: Mier + town: Stad + village: Duerf + railway: + disused: Fréier Eisebunn + tram: Tram + shop: + bakery: Bäckerei + books: Bichergeschäft + chemist: Apdikt + clothes: Kleedergeschäft + dry_cleaning: Botzerei + hairdresser: Coiffeur + insurance: Versécherungsbüro + jewelry: Bijouterie + optician: Optiker + photo: Fotosgeschäft + shoes: Schonggeschäft + supermarket: Supermarché + travel_agency: Reesbüro + tourism: + artwork: Konschtwierk + attraction: Attraktioun + information: Informatioun + museum: Musée + picnic_site: Piknikplaz + valley: Dall + viewpoint: Aussiichtspunkt + zoo: Zoo + waterway: + canal: Kanal + river: Floss + wadi: Wadi + waterfall: Waasserfall + javascripts: + site: + edit_tooltip: Kaart änneren + layouts: + copyright: Copyright & Lizenz + donate_link_text: Don + edit: Änneren + intro_3_partners: Wiki + make_a_donation: + text: En Don maachen + shop: Geschäft + user_diaries: Benotzer Bloggen + welcome_user: Wëllkomm, {{user_link}} + welcome_user_link_tooltip: Är Benotzersäit + license_page: + foreign: + english_link: den engleschen Original + title: Iwwer dës Iwwersetzung + native: + native_link: lëtzebuergesch Versioun + title: Iwwer dës Säit + message: + delete: + deleted: Message geläscht + inbox: + date: Datum + subject: Sujet + message_summary: + delete_button: Läschen + reply_button: Äntwerten + new: + send_button: Schécken + subject: Sujet + title: Noriicht schécken + no_such_user: + heading: Esou e Benotzer gëtt et net + title: Esou e Benotzer gëtt et net + outbox: + date: Datum + subject: Sujet + read: + date: Datum + reply_button: Äntwerten + sent_message_summary: + delete_button: Läschen + notifier: + diary_comment_notification: + hi: Salut {{to_user}}, + email_confirm_html: + greeting: Salut, + email_confirm_plain: + greeting: Salut, + gpx_notification: + greeting: Salut, + with_description: mat der Beschreiwung + lost_password_html: + greeting: Salut, + lost_password_plain: + greeting: Salut, + signup_confirm_plain: + more_videos: "Hei si méi Videoen:" + oauth_clients: + edit: + submit: Änneren + form: + name: Numm + new: + submit: Registréieren + show: + allow_write_api: Kaart änneren + site: + edit: + user_page_link: Benotzersäit + key: + table: + entry: + golf: Golfterrain + lake: + - Séi + motorway: Autobunn + rail: Eisebunn + school: + - Schoul + - Universitéit + subway: Metro + summit: + - Spëtzt + wood: Bësch + search: + search: Sichen + submit_text: Lass + sidebar: + close: Zoumaachen + search_results: Reaultater vun der Sich + time: + formats: + friendly: "%e %B %Y ëm %H:%M" + trace: + edit: + description: "Beschreiwung:" + download: eroflueden + edit: änneren + filename: "Numm vum Fichier:" + map: Kaart + owner: "Besëtzer:" + points: "Punkten:" + save_button: Ännerunge späicheren + tags_help: Mat Komma getrennt + uploaded_at: "Eropgelueden:" + visibility: "Visibilitéit:" + visibility_help: wat heescht dat? + no_such_user: + heading: De Benotzer {{user}} gëtt et net + title: Esou e Benotzer gëtt et net + trace: + ago: viru(n) {{time_in_words_ago}} + by: vum + count_points: "{{count}} Punkten" + edit: änneren + edit_map: Kaart änneren + in: an + map: Kaart + more: méi + private: PRIVAT + public: ËFFENTLECH + view_map: Kaart weisen + trace_form: + description: Beschreiwung + help: Hëllef + upload_button: Eroplueden + upload_gpx: GPX-Fichier eroplueden + visibility: Visibilitéit + visibility_help: wat heescht dat? + trace_paging_nav: + next: Nächst » + previous: "« Vireg" + showing_page: D'Säit {{page}} gëtt gewisen + view: + description: "Beschreiwung:" + download: eroflueden + edit: änneren + filename: "Numm vum Fichier:" + map: Kaart + none: Keen + owner: "Besëtzer:" + points: "Punkten:" + uploaded: "Eropgelueden:" + visibility: "Visibilitéit:" + user: + account: + contributor terms: + link text: wat ass dëst? + current email address: "Aktuell E-Mailadress:" + delete image: Dat aktuellt Bild ewechhuelen + flash update success: Benotzerinformatioun ass elo aktualiséiert. + image: "Bild:" + keep image: Dat aktuellt Bild behalen + make edits public button: All meng Ännerunge ëffentlech maachen + my settings: Meng Astellungen + new email address: "Nei E-Mailadress:" + new image: E Bild derbäisetzen + preferred languages: "Léifste Sproochen:" + public editing: + disabled link text: Firwat kann ech net änneren? + enabled link text: wat ass dëst? + replace image: Dat aktuellt Bild ersetzen + save changes button: Ännerunge späicheren + confirm: + button: Confirméieren + heading: E Benotzerkont confirméieren + press confirm button: Klickt w.e.g. op de Knäppchen confirméieren fir Äre Benotzerkont z'aktivéieren. + confirm_email: + button: Confirméieren + go_public: + flash success: All Är Ännerunge sinn elo ëffentlech, an Dir däerft elo änneren. + list: + confirm: Erausgesichte Benotzer confirméieren + heading: Benotzer + hide: Erausgesichte Benotzer vrstoppen + title: Benotzer + login: + lost password link: Hutt Dir Äert Passwuert vergiess? + password: "Passwuert:" + webmaster: Webmaster + logout: + logout_button: Ofmellen + title: Ofmellen + lost_password: + email address: "E-Mailadress:" + heading: Passwuert vergiess? + new password button: Passwuert zrécksetzen + notice email cannot find: Déi E-Mailadress konnt net fonnt ginn, pardon + title: Passwuert vergiess + make_friend: + already_a_friend: Dir sidd schonn de Frënd vum {{name}}. + success: "{{name}} ass elo Äre Frënd." + new: + confirm email address: "E-Mailadress confirméieren:" + confirm password: "Passwuert confirméieren:" + continue: Weider + display name: Numm weisen + email address: "E-Mailadress:" + heading: E Benotzerkont uleeën + password: "Passwuert:" + no_such_user: + heading: De Benotzer {{user}} gëtt et net + title: Esou e Benotzer gëtt et net + popup: + friend: Frënn + remove_friend: + not_a_friend: "{{name}} ass kee vun Äre Frënn." + reset_password: + confirm password: "Passwuert confirméieren:" + flash changed: Äert Passwuert gouf geännert. + heading: Passwuert fir {{user}} zrécksetzen + password: "Passwuert:" + reset: Passwuert zrécksetzen + title: Passwuert zrécksetzen + suspended: + webmaster: Webmaster + terms: + agree: Akzeptéieren + consider_pd_why: wat ass dat? + legale_names: + france: Frankräich + italy: Italien + rest_of_world: Rescht vun der Welt + legale_select: "Sicht w.e.g. d'Land eraus wou Dir wunnt:" + view: + activate_user: dëse Benotzer aktivéieren + add as friend: als Frënd derbäisetzen + ago: (viru(n) {{time_in_words_ago}}) + confirm: Confirméieren + confirm_user: dëse Benotzer confirméieren + create_block: dëse Benotzer spären + deactivate_user: dëse Benotzer desaktivéieren + delete_user: dëse Benotzer läschen + description: Beschreiwung + diary: Blog + edits: Ännerungen + email address: "E-Mailadress:" + hide_user: dëse Benotzer verstoppen + km away: "{{count}} km ewech" + m away: "{{count}} m ewech" + my diary: mäi Blog + my edits: meng Ännerungen + my settings: meng Astellungen + nearby users: Aner Benotzer nobäi + remove as friend: als Frënd ewechhuelen + role: + administrator: Dëse Benotzer ass en Administrateur + settings_link_text: Astellungen + unhide_user: dëse Benotzer net méi verstoppen + your friends: Är Frënn + user_block: + blocks_by: + title: Späre vum {{name}} + edit: + submit: Spär aktualiséieren + index: + title: Benotzerspären + new: + submit: Spär uleeën + partial: + confirm: Sidd Dir sécher? + display_name: Gespaarte Benotzer + edit: Änneren + reason: Grond fir d'Spär + show: Weisen + period: + one: 1 Stonn + other: "{{count}} Stonnen" + show: + confirm: Sidd Dir sécher? + edit: Änneren + heading: "{{block_on}} gespaart vum {{block_by}}" + reason: "Grond fir d'Spär:" + show: Weisen + title: "{{block_on}} gespaart vum {{block_by}}" + update: + success: Spär aktualiséiert + user_role: + filter: + already_has_role: De Benotzer huet d'Roll {{role}} schonn. + doesnt_have_role: De Benotzer huet d'Roll {{role}} net. + not_a_role: D'Zeechen '{{role}}' ass keng valabel Roll. + not_an_administrator: Nëmmen Adminstrateure kënnen d'Gstioun vun de Rolle maachen, an Dir sidd net Administrateur. + grant: + confirm: Confirméieren + revoke: + are_you_sure: Sidd Dir sécher datt Dir dem Benotzer '{{name}}' d'Roll '{{role}}' ofhuele wëllt? + confirm: Confirméieren + fail: D'Roll '{{role}}' konnt met vum Benotzer '{{name}}' ewechgeholl ginn. Kuckt w.e.g. no ob de Benotzer an d'Roll allen zwee valabel sinn. + heading: Confirméiert d'Zréckzéie vun der Roll + title: Confirméiert d'Zréckzéie vun der Roll diff --git a/config/locales/mk.yml b/config/locales/mk.yml index 59453961f..6878df03f 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -301,9 +301,9 @@ mk: body: "Содржина:" language: "Јазик:" latitude: Геог. ширина - location: "Локација:" + location: "Местоположба:" longitude: Геог. должина - marker_text: Локација на дневничкиот запис + marker_text: Место на дневничкиот запис save_button: Зачувај subject: "Наслов:" title: Уреди дневничка ставка @@ -386,9 +386,9 @@ mk: geocoder: description: title: - geonames: Локација од GeoNames + geonames: Местоположба од GeoNames osm_namefinder: "{{types}} од OpenStreetMap Именикот" - osm_nominatim: Локација од OpenStreetMap Nominatim + osm_nominatim: Местоположба од OpenStreetMap Nominatim types: cities: Градови places: Места @@ -880,11 +880,12 @@ mk: export_tooltip: Извоз на податоци од картата gps_traces: GPS-траги gps_traces_tooltip: Работа со GPS траги - help_wiki: Помош и вики - help_wiki_tooltip: Помош и Вики-страница за овој проект + help: Помош + help_and_wiki: "{{help}} и {{wiki}}" + help_title: Помошна страница за проектот history: Историја home: дома - home_tooltip: Оди на домашна локација + home_tooltip: Оди на матичната местоположба inbox: пораки ({{count}}) inbox_tooltip: one: Имате 1 непрочитана порака во сандачето @@ -922,6 +923,8 @@ mk: view_tooltip: Види карта welcome_user: Добредојде, {{user_link}} welcome_user_link_tooltip: Ваша корисничка страница + wiki: Вики + wiki_title: Помошна страница за проектот license_page: foreign: english_link: англискиот оригинал @@ -1054,6 +1057,7 @@ mk: signup_confirm: subject: "[OpenStreetMap] Потврдете ја вашата е-поштенска адреса" signup_confirm_html: + ask_questions: Можете да поставувате прашања за OpenStreetMap на нашата страница за прашања и одговори. click_the_link: Ако ова сте вие, добредојдовте! Кликнете на врската подолу за да ја потврдите таа сметка и да прочитате повеќе информации за OpenStreetMap current_user: На Категорија:Корисници_по_географски_регион ќе најдете список на тековни корисници во категории, зависно од нивната местоположба во светот. get_reading: Читајте за OpenStreetMap на викито, информирајте се за најновите збиднувања преку OpenStreetMap блогот или Twitter, или пак прелистајте гоблогот „OpenGeoData“ на основачот на OpenStreetMap, Стив Коуст за историја на проектот, заедно со под-емитувања! @@ -1066,11 +1070,12 @@ mk: video_to_openstreetmap: воведен видеоклип за OpenStreetMap wiki_signup: Препорачуваме да се регистрирате на викито на OpenStreetMap. signup_confirm_plain: + ask_questions: "Можете да поставувате прашања за OpenStreetMap на нашата страница за прашања и одговори:" blog_and_twitter: "Бидете информирани за најновите збиднувања преку блогот на OpenStreetMap blog или Twitter:" click_the_link_1: Ако ова сте вие, добредојдовте! Кликнете на врската подолу за да ја потврдите click_the_link_2: сметка и прочитајте повеќе за дополнителни информации за OpenStreetMap. current_user_1: Список на тековни корисници во категории, врз основа на нивната местоположба во светот - current_user_2: "локација во светот ќе најдете на:" + current_user_2: "местоположба во светот ќе најдете на:" greeting: Здраво! hopefully_you: Некој (се надеваме, Вие) сака да отвори сметка на introductory_video: "Погледајте го воведниот видеоклип за OpenStreetMap тука:" @@ -1240,7 +1245,7 @@ mk: search_help: "примери: 'Струмица', 'Илинденска', 'Regent Street, Cambridge', 'CB2 5AQ' или 'post offices near Lünen' повеќе примери..." submit_text: -> where_am_i: Каде сум? - where_am_i_title: Опишете ја моменталната локација со помош на пребарувачот + where_am_i_title: Опишете ја моменталната местоположба со помош на пребарувачот sidebar: close: Затвори search_results: Резултати од пребарувањето @@ -1361,7 +1366,7 @@ mk: email never displayed publicly: (никогаш не се прикажува јавно) flash update success: Корисничките информации се успешно ажурирани. flash update success confirm needed: Корисничките информации се успешно ажурирани. Проверете е-пошта за да ја потврдите на адресата. - home location: "Домашна локација:" + home location: "Матична местоположба:" image: "Слика:" image size hint: (најдобро работат квадратни слики, барем 100x100) keep image: Задржи ја тековната слика @@ -1371,7 +1376,7 @@ mk: my settings: Мои прилагодувања new email address: "Нова е-поштенска адреса:" new image: Додај слика - no home location: Немате внесено домашна локација. + no home location: Немате внесено матична местоположба. preferred languages: "Претпочитани јазици:" profile description: "Опис за профилот:" public editing: @@ -1388,7 +1393,7 @@ mk: return to profile: Назад кон профилот save changes button: Зачувај ги промените title: Уреди сметка - update home location on click: Подновувај ја домашната локација кога ќе кликнам на картата + update home location on click: Подновувај го матичната местоположба кога ќе кликнам на картата confirm: button: Потврди failure: Веќе имаме потврдено корисничка сметка со овој жетон. @@ -1471,7 +1476,7 @@ mk: popup: friend: Пријател nearby mapper: Соседен картограф - your location: Ваша локација + your location: Ваша местоположба remove_friend: not_a_friend: "{{name}} не е меѓу вашите пријатели." success: Корисникот {{name}} е отстранет од вашите пријатели. @@ -1480,11 +1485,11 @@ mk: flash changed: Лозинката ви е сменета. flash token bad: Не го пронајдов тој жетон. Проверете ја URL адресата. heading: Смени лозинка за {{user}} - password: Лозинка + password: "Лозинка:" reset: Смени лозинка title: Смени лозинка set_home: - flash success: Домашната локација е успешно зачувана + flash success: Матичната местоположба е успешно зачувана suspended: body: "

\n Нажалост, вашата сметка беше автоматски закочена поради\n сомнителни активности.\n

\n

\n Донесената одлуката набргу ќе ја прегледа администратор, но\n можете да се обратите кај {{webmaster}} ако сакате да продискутирате за овој проблем.\n

" heading: Сметката е закочена @@ -1521,7 +1526,7 @@ mk: edits: уредувања email address: Е-пошта hide_user: сокриј го корисников - if set location: Ако ја наместите вашата локација, под ова ќе ви се појави убава карта и други работи. Домашната локација можете да си ја наместите на страницата {{settings_link}}. + if set location: Ако ја наместите вашата местоположба, под ова ќе ви се појави убава карта и други работи. Матичната местоположба можете да си ја наместите на страницата {{settings_link}}. km away: "{{count}}km од вас" m away: "{{count}}m од вас" mapper since: "Картограф од:" @@ -1551,7 +1556,7 @@ mk: status: "Статус:" traces: траги unhide_user: покажи го корисникот - user location: Локација на корисникот + user location: Местоположба на корисникот your friends: Ваши пријатели user_block: blocks_by: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 631a75f94..72ed34ae6 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -883,8 +883,9 @@ nl: export_tooltip: Kaartgegevens exporteren gps_traces: GPS-tracks gps_traces_tooltip: GPS-tracks beheren - help_wiki: Help & wiki - help_wiki_tooltip: Help en wikisite voor het project + help: Hulp + help_and_wiki: "{{help}} en {{wiki}}" + help_title: Helpsite voor dit project history: Geschiedenis home: home home_tooltip: Naar thuislocatie gaan @@ -923,6 +924,8 @@ nl: view_tooltip: Kaart bekijken welcome_user: Welkom, {{user_link}} welcome_user_link_tooltip: Uw gebruikerspagina + wiki: wiki + wiki_title: Wikisite voor het project license_page: foreign: english_link: Engelstalige origineel @@ -1055,6 +1058,7 @@ nl: signup_confirm: subject: "[OpenStreetMap] Bevestig uw e-mailadres" signup_confirm_html: + ask_questions: U kunt vragen stellen over OpenStreetMap op onze vraag en antwoordsite. click_the_link: Als u dat bent, welkom! Volg de verwijzing hieronder beneden om uw gebruiker bevestigen en om meer over OpenStreetMap te weten te komen current_user: Een lijst van gebruikers, gesorteerd op woonplaats, is te zien op Category:Users_by_geographical_region. get_reading: Lees over OpenStreetMap op de wiki, volg het laatste nieuws op de OpenStreetMap-blog of via Twitter. Lees ook de OpenGeoData-blog van OpenSteetMap-grondlegger Steve Coast, die ook podcasts aanbiedt! @@ -1067,6 +1071,7 @@ nl: video_to_openstreetmap: introductievideo over OpenStreetMap bekijken wiki_signup: U kunt zich ook registreren op de OpenStreetMap-wiki. signup_confirm_plain: + ask_questions: "U kunt vragen stellen over OpenStreetMap op onze vraag en antwoordsite:" blog_and_twitter: "Volg het laatste nieuws via de OpenStreetMap-blog of Twitter:" click_the_link_1: Als u dat bent, welkom! Volg de verwijzing hieronder om uw gebruiker te bevestigen click_the_link_2: en om meer informatie over OpenStreetMap te krijgen. diff --git a/config/locales/no.yml b/config/locales/no.yml index b9e04d173..ca0adbee5 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -93,7 +93,7 @@ title: Endringssett changeset_details: belongs_to: "Tilhører:" - bounding_box: "Bounding box:" + bounding_box: "Avgrensingsboks:" box: boks closed_at: "Lukket:" created_at: "Opprettet:" @@ -106,7 +106,7 @@ has_ways: one: "Har følgende {{count}} vei:" other: "Har følgende {{count}} veier:" - no_bounding_box: Ingen bounding box er lagret for dette endringssettet. + no_bounding_box: Ingen avgrensingsboks er lagret for dette endringssettet. show_area_box: Vis boks for område common_details: changeset_comment: "Kommentar:" @@ -218,7 +218,7 @@ way: Vei private_user: privat bruker show_history: Vis historikk - unable_to_load_size: "Klarte ikke laste inn: Bounding box med størrelse [[bbox_size]] er for stor (må være mindre enn {{max_bbox_size}})" + unable_to_load_size: "Klarte ikke laste inn: Avgrensingsboks med størrelse [[bbox_size]] er for stor (må være mindre enn {{max_bbox_size}})" wait: Vent ... zoom_or_select: Zoom inn eller velg et område av kartet for visning tag_details: @@ -530,8 +530,10 @@ chapel: Kapell church: Kirke city_hall: Rådhus + commercial: Kommersiell bygning dormitory: Sovesal entrance: Bygningsinngang + faculty: Fakultetsbygning farm: Gårdsbygg flats: Leiligheter garage: Garasje @@ -543,6 +545,7 @@ office: Kontorbygg public: Offentlig bygg residential: Boligbygg + retail: Detaljsalgbygg school: Skolebygg shop: Butikk stadium: Stadion @@ -554,6 +557,7 @@ "yes": Bygning highway: bridleway: Ridevei + bus_guideway: Ledet bussfelt bus_stop: Busstopp byway: Stikkvei construction: Motorvei under konstruksjon @@ -561,20 +565,27 @@ distance_marker: Avstandsmarkør emergency_access_point: Nødtilgangspunkt footway: Gangsti + ford: Vadested gate: Bom + living_street: Gatetun minor: Mindre vei motorway: Motorvei motorway_junction: Motorveikryss + motorway_link: Vei til motorvei path: Sti pedestrian: Gangvei + platform: Perrong primary: Primær vei primary_link: Primær vei + raceway: Racerbane residential: Bolig road: Vei secondary: Sekundær vei secondary_link: Sekundær vei service: Tjenestevei + services: Motorveitjenester steps: Trapper + stile: Stige tertiary: Tertiær vei track: Sti trail: Sti @@ -600,14 +611,19 @@ tower: Tårn wreck: Vrak landuse: + allotments: Kolonihager + basin: Elveområde + brownfield: Tidligere industriområde cemetery: Gravplass commercial: Kommersielt område + conservation: Fredet construction: Kontruksjon farm: Gård farmland: Jordbruksland farmyard: Gårdstun forest: Skog grass: Gress + greenfield: Ikke-utviklet område industrial: Industriområde landfill: Landfylling meadow: Eng @@ -616,11 +632,15 @@ mountain: Fjell nature_reserve: Naturreservat park: Park + piste: Løype + plaza: Torg quarry: Steinbrudd railway: Jernbane recreation_ground: Idrettsplass reservoir: Reservoar residential: Boligområde + retail: Detaljsalg + village_green: landsbypark vineyard: Vingård wetland: Våtland wood: Skog @@ -635,6 +655,7 @@ miniature_golf: Minigolf nature_reserve: Naturreservat park: Park + pitch: Sportsarena playground: Lekeplass recreation_ground: Idrettsplass slipway: Slipp @@ -715,18 +736,24 @@ junction: Jernbanekryss light_rail: Bybane monorail: Enskinnebane + narrow_gauge: Smalspor jernbane platform: Jernbaneperrong + preserved: Bevart jernbane + spur: Jernbaneforgrening station: Jernbanestasjon subway: T-banestasjon subway_entrance: T-baneinngang + switch: Sporveksel tram: Sporvei tram_stop: Trikkestopp + yard: Skiftetomt shop: alcohol: Utenfor lisens apparel: Klesbutikk art: Kunstbutikk bakery: Bakeri beauty: Skjønnhetssalong + beverages: Drikkevarerbutikk bicycle: Sykkelbutikk books: Bokhandel butcher: Slakter @@ -739,6 +766,7 @@ chemist: Kjemiker clothes: Klesbutikk computer: Databutikk + confectionery: Konditori convenience: Nærbutikk copyshop: Kopieringsbutikk cosmetics: Kosmetikkforretning @@ -754,6 +782,7 @@ fish: Fiskebutikk florist: Blomsterbutikk food: Matbutikk + funeral_directors: Begravelsesforretning furniture: Møbler gallery: Galleri garden_centre: Hagesenter @@ -783,6 +812,7 @@ shoes: Skobutikk shopping_centre: Kjøpesenter sports: Sportsbutikk + stationery: Papirbutikk supermarket: Supermarked toys: Lekebutikk travel_agency: Reisebyrå @@ -810,16 +840,25 @@ viewpoint: Utsiktspunkt zoo: Dyrepark waterway: + boatyard: Båthan canal: Kanal + connector: Vannveiforbindelse dam: Demning ditch: Grøft dock: Dokk + drain: Avløp + lock: Sluse + lock_gate: Sluseport + mineral_spring: Mineralkilde mooring: Fortøyning rapids: Stryk river: Elv riverbank: Elvebredd stream: Strøm + wadi: Elveleie + water_point: Vannpunkt waterfall: Foss + weir: Overløpskant \ javascripts: map: base: @@ -841,8 +880,6 @@ export_tooltip: Eksporter kartdata gps_traces: GPS-spor gps_traces_tooltip: Behandle GPS-spor - help_wiki: Hjelp & Wiki - help_wiki_tooltip: Hjelp- & Wiki-side for prosjektet history: Historikk home: hjem home_tooltip: Gå til hjemmeposisjon @@ -1121,15 +1158,17 @@ shortlink: Kort lenke key: map_key: Kartforklaring - map_key_tooltip: Kartforklaring for Mapnik-visninen på dette zoom-nivået + map_key_tooltip: Kartforklaring for Mapnik-visningen på dette zoom-nivået table: entry: admin: Administrativ grense + allotments: Kolonihager apron: - terminal - terminal bridge: Sort kant = bru bridleway: Ridevei + brownfield: Tidligere industriområde building: Viktig bygning byway: Stikkvei cable: @@ -1148,6 +1187,7 @@ footway: Gangvei forest: Skog golf: Golfbane + heathland: Heilandskap industrial: Industriområde lake: - Innsjø @@ -1156,12 +1196,13 @@ motorway: Motorvei park: Park permissive: Betinget tilgang + pitch: Sportsarena primary: Primær vei private: Privat tilgang rail: Jernbane reserve: Naturreservat resident: Boligområde - retail: Militært område + retail: Detaljsalgområde runway: - Flystripe - taksebane @@ -1359,6 +1400,9 @@ empty: Ingen samsvarende brukere funnet heading: Brukere hide: Skjul valgte brukere + showing: + one: Viser side {{page}} ({{page}} av {{page}}) + other: Viser side {{page}} ({{page}}-{{page}} av {{page}}) summary: "{{name}} opprettet fra {{ip_address}} den {{date}}" summary_no_ip: "{{name}} opprettet {{date}}" title: Brukere @@ -1371,6 +1415,7 @@ heading: Logg inn login_button: Logg inn lost password link: Mistet passordet ditt? + notice: Finn ut mer om OpenStreetMap sitt kommende bytte av lisens (oversettelser) (diskusjon) password: "Passord:" please login: Logg inn eller {{create_user_link}}. remember: "Huske meg:" @@ -1446,6 +1491,7 @@ italy: Italia rest_of_world: Resten av verden legale_select: "Velg ditt bostedsland:" + read and accept: Les avtalen nedenfor og trykk godkjenningsknapp for å bekrefte at du godtar betingelsene i denne avtalen for dine eksisterende og kommende bidrag. title: Bidragsytervilkår view: activate_user: aktiver denne brukeren @@ -1577,6 +1623,7 @@ needs_view: Brukeren må logge inn før denne blokkeringen blir fjernet. reason: "Årsak for blokkering:" revoke: Tilbakekall! + revoker: "Tilbakekaller:" show: Vis status: Status time_future: Slutter om {{time}} diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 0267e9097..f1facb4c9 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -882,8 +882,6 @@ pl: export_tooltip: Eksport danych mapy gps_traces: Ślady GPS gps_traces_tooltip: Zarządzanie śladami GPS - help_wiki: Pomoc & Wiki - help_wiki_tooltip: Pomoc i strony Wiki projektu history: Zmiany home: główna home_tooltip: Przejdź do strony głównej diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index b5d6c7edc..ec8eb9f28 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -901,9 +901,9 @@ pt-BR: export_tooltip: Exportar dados do mapa gps_traces: Trilhas GPS gps_traces_tooltip: Gerenciar trilhas GPS - help_wiki: Ajuda & Wiki - help_wiki_tooltip: Ajuda & Wiki do projeto - help_wiki_url: http://wiki.openstreetmap.org/wiki/Pt-br:Main_Page?uselang=pt-br + help: Ajuda + help_and_wiki: "{{help}} & {{wiki}}" + help_title: Site de ajuda para o projeto history: Histórico home: início home_tooltip: Ir para a sua localização @@ -950,6 +950,8 @@ pt-BR: view_tooltip: Veja o mapa welcome_user: Bem vindo, {{user_link}} welcome_user_link_tooltip: Sua Página de usuário + wiki: Wikia + wiki_title: Site wiki para o projeto license_page: foreign: english_link: o original em Inglês diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 9f991ccfb..d0d057124 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -12,6 +12,7 @@ # Author: Lockal # Author: Yuri Nazarov # Author: Александр Сигачёв +# Author: Сrower ru: activerecord: attributes: @@ -892,9 +893,9 @@ ru: export_tooltip: Экспортировать данные карты gps_traces: GPS-треки gps_traces_tooltip: Работать с GPS треками - help_wiki: Справка и вики - help_wiki_tooltip: Справка и вики-сайт проекта - help_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Main_Page?uselang=ru + help: Помощь + help_and_wiki: "{{help}} & {{wiki}}" + help_title: Сайт помощи проекта history: История home: домой home_tooltip: Показать мой дом @@ -934,6 +935,8 @@ ru: view_tooltip: Посмотреть карту welcome_user: Добро пожаловать, {{user_link}} welcome_user_link_tooltip: Ваша страница пользователя + wiki: Вики + wiki_title: Вики-сайт проекта license_page: foreign: english_link: английского оригинала @@ -1067,6 +1070,7 @@ ru: signup_confirm: subject: "[OpenStreetMap] Подтвердите ваш адрес электронной почты" signup_confirm_html: + ask_questions: Вы можете задать интересующие Вас вопросы о OpenStreetMap на нашем сайте вопросов и ответов . click_the_link: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить регистрацию и просмотреть дополнительную информацию об OpenStreetMap current_user: "Список пользователей, основанный на их местоположении, доступен здесь: Category:Users_by_geographical_region." get_reading: Прочтите об OpenStreetMap в вики, узнайте последние новости в блоге OpenStreetMap или в Twitter. Ознакомьтесь с историей проекта в блоге OpenGeoData, автором которого является Стив Коуст (Steve Coast), основатель OpenStreetMap, в этом блоге есть подкасты, которые также можно прослушать! @@ -1079,6 +1083,7 @@ ru: video_to_openstreetmap: ознакомительное видео об OpenStreetMap wiki_signup: Вы можете зарегистрироваться в вики OpenStreetMap. signup_confirm_plain: + ask_questions: "Вы можете задать интересующие Вас вопросы об OpenStreetMap на нашем сайте вопросов и ответов:" blog_and_twitter: "Ознакомиться с последними новостями через блог OpenStreetMap или Twitter:" click_the_link_1: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить click_the_link_2: регистрацию и прочитать больше об OpenStreetMap. diff --git a/config/locales/sk.yml b/config/locales/sk.yml index a55898657..085990675 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -829,8 +829,6 @@ sk: export_tooltip: Export mapových dát gps_traces: GPS Stopy gps_traces_tooltip: Správa GPS stopy - help_wiki: Pomocník & Wiki - help_wiki_tooltip: Help & Wiki stránka projektu history: História home: domov home_tooltip: Choďte na domácu polohu diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 901eddc53..b4c6f4a1d 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -479,9 +479,6 @@ sl: export_tooltip: Izvozite podatke zemljevida gps_traces: GPS sledi gps_traces_tooltip: Upravljaj sledi GPS - help_wiki: Pomoč in Wiki - help_wiki_tooltip: Pomoč in Wiki strani projekta - help_wiki_url: http://wiki.openstreetmap.org/wiki/Sl:Main_Page?uselang=sl history: Zgodovina home: domov home_tooltip: Prikaži domači kraj diff --git a/config/locales/sr-EC.yml b/config/locales/sr-EC.yml index a1ec4e369..6eab2eb64 100644 --- a/config/locales/sr-EC.yml +++ b/config/locales/sr-EC.yml @@ -297,9 +297,14 @@ sr-EC: save_button: Сними subject: "Тема:" title: Уреди дневнички унос + feed: + all: + title: OpenStreetMap кориснички уноси list: + in_language_title: Дневници на {{language}} new: Нови дневнички унос newer_entries: Новији уноси + no_entries: Нема дневничких уноса older_entries: Старији уноси recent_entries: "Скорашњи дневнички уноси:" title: Кориснички дневници @@ -316,7 +321,9 @@ sr-EC: view: leave_a_comment: Оставите коментар login: Пријави се + login_to_leave_a_comment: "{{login_link}} да оставите коментар" save_button: Сними + title: "{{user}} дневник | {{title}}" user_title: Дневник корисника {{user}} export: start: @@ -336,7 +343,11 @@ sr-EC: options: Подешавања osm_xml_data: OpenStreetMap XML подаци osmarender_image: Осмарендер слика + output: Излаз + paste_html: Пренесите HTML како бисте уградили у сајт scale: Размера + too_large: + heading: Превелика област zoom: Увећање start_rjs: add_marker: Додајте маркер на мапу @@ -372,6 +383,15 @@ sr-EC: results: more_results: Још резултата no_results: Нема резултата претраге + search: + title: + ca_postcode: Резултати од Geocoder.ca + geonames: Резултати од GeoNames-а + latlon: Резултати од Internal + osm_namefinder: Резултати од OpenStreetMap Namefinder + osm_nominatim: Резултати од OpenStreetMap Nominatim + uk_postcode: Резултати од NPEMap / FreeThe Postcode + us_postcode: Резултати од Geocoder.us search_osm_namefinder: suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} од {{parentname}})" suffix_place: ", {{distance}} {{direction}} од {{placename}}" @@ -381,6 +401,7 @@ sr-EC: airport: Аеродром arts_centre: Уметнички центар atm: Банкомат + auditorium: Дворана bank: Банка bar: Бар bench: Клупа @@ -389,6 +410,7 @@ sr-EC: bureau_de_change: Мењачница bus_station: Аутобуска станица cafe: Кафе + car_rental: Изнајмљивање аутомобила car_wash: Ауто-перионица casino: Казино cinema: Биоскоп @@ -398,6 +420,7 @@ sr-EC: courthouse: Зграда суда crematorium: Крематоријум dentist: Зубар + dormitory: Студентски дом drinking_water: Пијаћа вода driving_school: Ауто-школа embassy: Амбасада @@ -408,15 +431,20 @@ sr-EC: fuel: Гориво grave_yard: Гробље gym: Фитнес центар / Теретана + hall: Сала health_centre: Дом здравља hospital: Болница hotel: Хотел ice_cream: Сладолед kindergarten: Обданиште library: Библиотека + market: Пијаца marketplace: Пијаца mountain_rescue: Горска служба nightclub: Ноћни клуб + nursery: Обданиште + nursing_home: Старачки дом + office: Пословница park: Парк parking: Паркинг pharmacy: Апотека @@ -426,6 +454,7 @@ sr-EC: preschool: Обданиште prison: Затвор pub: Паб + public_market: Пијаца restaurant: Ресторан retirement_home: Старачки дом sauna: Сауна @@ -438,55 +467,76 @@ sr-EC: telephone: Јавна говорница theatre: Позориште toilets: Тоалети + townhall: Градска скупштина university: Универзитет + village_hall: Сеоска већница waste_basket: Корпа за отпатке wifi: Wi-Fi приступ youth_centre: Дом омладине boundary: administrative: Административна граница building: + apartments: Стамбени блок bunker: Бункер chapel: Капела church: Црква + city_hall: Градска скупштина + dormitory: Студентски дом faculty: Факултетска зграда flats: Станови garage: Гаража + hall: Сала hospital: Болница hotel: Хотел house: Кућа + residential: Стамбена зграда school: Школа shop: Продавница stadium: Стадион + store: Продавница + terrace: Тераса tower: Торањ train_station: Железничка станица university: Универзитетска зграда "yes": Зграда highway: bus_stop: Аутобуска станица + byway: Споредни пут construction: Аутопут у изградњи + cycleway: Бициклистичка стаза emergency_access_point: Излаз за случај опасности footway: Стаза ford: Газ gate: Капија motorway: Аутопут + motorway_junction: Петља motorway_link: Мото-пут path: Стаза + pedestrian: Пешачка стаза platform: Платформа + primary: Главни пут primary_link: Главни пут raceway: Тркачка стаза + residential: Стамбени road: Пут secondary: Споредни пут secondary_link: Споредни пут steps: Степенице + track: Коловозна трака trail: Стаза + trunk: Магистрални пут trunk_link: Магистрални пут historic: archaeological_site: Археолошко налазиште + battlefield: Бојиште + boundary_stone: Гранични камен building: Зграда castle: Дворац church: Црква house: Кућа icon: Икона + manor: Племићко имање + memorial: Споменик mine: Рудник monument: Споменик museum: Музеј @@ -496,24 +546,33 @@ sr-EC: landuse: basin: Басен cemetery: Гробље + commercial: Пословна област construction: Градилиште farm: Фарма + farmyard: Сеоско двориште forest: Шума grass: Трава industrial: Индустријска зона + landfill: Депонија meadow: Ливада military: Војна област mine: Рудник mountain: Планина park: Парк piste: Скијашка стаза + plaza: Шеталиште quarry: Каменолом railway: Железничка пруга reservoir: Резервоар residential: Стамбена област + retail: Малопродаја vineyard: Виноград + wetland: Мочвара wood: Гај leisure: + beach_resort: Морско одмаралиште + common: Општинско земљиште + fishing: Риболовно подручје garden: Башта golf_course: Голф терен ice_rink: Клизалиште @@ -535,25 +594,32 @@ sr-EC: cave_entrance: Улаз у пећину channel: Канал cliff: Литица + coastline: Обала crater: Кратер fjord: Фјорд geyser: Гејзир glacier: Глечер hill: Брдо island: Острво + land: Земљиште marsh: Мочвара + moor: Вресиште mud: Блато peak: Врх + point: Врх reef: Гребен ridge: Гребен river: Река rock: Стена + shoal: Спруд spring: Извор strait: Мореуз tree: Дрво valley: Долина volcano: Вулкан water: Вода + wetland: Мочвара + wetlands: Мочвара wood: Гај place: airport: Аеродром @@ -576,7 +642,17 @@ sr-EC: town: Варош village: Село railway: + abandoned: Напуштена железница + construction: Железничка пруга у изградњи + disused: Напуштена железница + historic_station: Историјска железничка станица + junction: Железнички чвор narrow_gauge: Пруга уског колосека + platform: Железничка платформа + preserved: Очувана железница + station: Железничка станица + subway: Станица метроа + subway_entrance: Улаз метроа tram: Трамвај tram_stop: Трамвајско стајалиште shop: @@ -585,26 +661,35 @@ sr-EC: beauty: Салон лепоте books: Књижара butcher: Месара + car_dealer: Ауто дилер car_parts: Продавница ауто-делова car_repair: Ауто-сервис + chemist: Апотекар clothes: Бутик copyshop: Копирница + department_store: Робна кућа drugstore: Апотека dry_cleaning: Хемијско чишћење estate_agent: Агент за некретнине + fish: Рибарница florist: Цвећара + food: Бакалница furniture: Намештај gallery: Галерија gift: Сувенирница + greengrocer: Пиљарница grocery: Бакалница hairdresser: Фризерски салон insurance: Осигурање jewelry: Јувелирница kiosk: Киоск + laundry: Сервис за прање рубља mall: Тржни центар market: Маркет music: Музичка продавница optician: Оптичар + organic: Здрава храна + outdoor: Штанд photo: Фотографска радња salon: Салон shoes: Продавница ципела @@ -630,11 +715,20 @@ sr-EC: waterway: canal: Канал dam: Брана + derelict_canal: Одбачени канал ditch: Јарак + dock: Пристаниште + drain: Одвод + lock: Брана + lock_gate: Врата бране mineral_spring: Минерални извор + mooring: Сидриште rapids: Брзаци river: Река + riverbank: Обала реке + stream: Водена струја waterfall: Водопад + weir: Устава javascripts: map: base: @@ -644,13 +738,13 @@ sr-EC: edit_tooltip: Уреди мапу history_zoom_alert: Морате увећати како бисте видели историју уређивања layouts: + copyright: Ауторска права и лиценца donate_link_text: донирање edit: Уреди export: Извези export_tooltip: Извоз мапа gps_traces: ГПС трагови gps_traces_tooltip: Управљање ГПС траговима - help_wiki: Помоћ и вики history: Историја home: мој дом home_tooltip: Иди на почетну локацију @@ -662,7 +756,7 @@ sr-EC: zero: Немате непрочитаних порука intro_1: OpenStreetMap је слободна мапа целог света. Сачињавају је корисници као што сте ви. intro_2: OpenStreetMap вам омогућава да прегледате, уређујете и користите географске податке са било ког места на Земљи. - intro_3: Одржавање OpenStreetMap је подржано од стране {{ucl}} и {{bytemark}}. + intro_3: Одржавање OpenStreetMap је подржано од стране {{ucl}} и {{bytemark}}. Остале присталице пројекта су на списку {{partners}}. intro_3_partners: вики license: title: Подаци OpenStreetMap сајта су лиценцирани под Creative Commons Attribution-Share Alike 2.0 општом лиценцом @@ -688,7 +782,9 @@ sr-EC: welcome_user_link_tooltip: Ваша корисничка страна license_page: foreign: + english_link: Енглески оригинал title: О овом преводу + legal_babble: "

Ауторска права и лиценца

\n

\n OpenStreetMap чине слободни подаци, лиценцирани под Creative\n Commons Attribution-ShareAlike 2.0 лиценцом (CC-BY-SA).\n

\n

\n Слободни сте да копирате, делите, преносите и прилагођавате\n наше мапе и податке, све док именујете OpenStreetMap и њене\n уређиваче. Ако желите да мењате или надограђујете наше\n мапе и податке, можете их делити само под истом лиценцом.\n Пун \n текст уговора објашњава ваша права и одговорности.\n

\n\n

How to credit OpenStreetMap

\n

\n Ако користите OpenStreetMap слике мапа, тражимо да\n заслуге садрже бар “© OpenStreetMap\n contributors, CC-BY-SA”. Ако користите само податке\n мапа, тражимо да гласи “Map data © OpenStreetMap\n contributors, CC-BY-SA”.\n

\n

\n Где је могуће, пожељно је да OpenStreetMap буде хиперлинкован на \n http://www.openstreetmap.org/\n и CC-BY-SA на \n http://creativecommons.org/licenses/by-sa/2.0/. Ако користите\n медијум на коме хипервезе нису могуће (нпр. штампани рад),\n предлажемо да усмерите вапе читаоце на www.openstreetmap.org\n (по могућству проширивањем ‘OpenStreetMap’\n на пуну адресу) и на www.creativecommons.org.\n

\n\n

Сазнајте више

\n

\n Прочитајте још о коришћењу наших података на Legal\n FAQ.\n

\n

\n OSM уређивачи се подсећају да никада не додају податке\n од било ког извора заштићеног ауторскип правима (нпр.\n Google Мапе или штампане мапе) без изричите дозволе\n носиоца ауторских права.\n

\n

\n Иако OpenStreetMap чине слободни подаци, не можемо обезбедити\n бесплатне АПИ мапа другим програмерима.\n\n Погледајте нашу API Usage Policy,\n Tile Usage Policy\n и Nominatim Usage Policy.\n

\n\n

Наши сарадници

\n

\n Наша CC-BY-SA лиценца захтева да “Морате да\n наведете име изворног аутора на начин који је одређен\n од стране изворног аутора или даваоца лиценце”.\n Индивидуални OSM не захтевају истицање заслуга осим\n “OpenStreetMap сарадници”, али када су\n подаци припадају националној географској агенцији\n или другом већем извору који је укључен у\n OpenStreetMap, разумно је директно навести извор\n или оставити хипервезу до извора.\n

\n\n\n\n
    \n
  • Australia: Contains suburb data based\n on Australian Bureau of Statistics data.
  • \n
  • Canada: Contains data from\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), and StatCan (Geography Division,\n Statistics Canada).
  • \n
  • New Zealand: Contains data sourced from\n Land Information New Zealand. Crown Copyright reserved.
  • \n
  • Poland: Contains data from UMP-pcPL maps. Copyright\n UMP-pcPL contributors.
  • \n
  • United Kingdom: Contains Ordnance\n Survey data © Crown copyright and database right\n 2010.
  • \n
\n\n

\n Inclusion of data in OpenStreetMap does not imply that the original\n data provider endorses OpenStreetMap, provides any warranty, or\n accepts any liability.\n

" native: mapping_link: почни мапирање title: О овој страници @@ -762,6 +858,7 @@ sr-EC: hopefully_you: Неко (вероватно ви) би желео да промени адресу е-поште са {{server_url}} на {{new_address}}. email_confirm_plain: greeting: Поздрав, + hopefully_you_2: "{{server_url}} на {{new_address}}." friend_notification: subject: "[OpenStreetMap] {{user}} вас је додао за пријатеља" gpx_notification: @@ -797,6 +894,15 @@ sr-EC: submit: Уреди form: name: Име + index: + application: Име апликације + register_new: Региструј своју апликацију + revoke: Опозови! + new: + submit: Региструј + title: Региструј нову апликацију + not_found: + sorry: Жао нам је, {{type}} није могло бити пронађено. site: edit: user_page_link: корисничка страна @@ -814,11 +920,15 @@ sr-EC: bridge: Црни оквир = мост brownfield: Грађевинско земљиште building: Значајна зграда + byway: Споредни пут + cable: + - Жичара cemetery: Гробље centre: Спортски центар commercial: Пословна област common: - 1: ливада + - Пољана + - ливада construction: Путеви у изградњи cycleway: Бициклистичка стаза farm: Фарма @@ -838,6 +948,7 @@ sr-EC: rail: Железничка пруга reserve: Парк природе resident: Стамбена област + retail: Малопродајна област runway: - Аеродромска писта school: @@ -850,12 +961,13 @@ sr-EC: - Узвишење - врх tourist: Туристичка атракција - track: Стаза + track: Коловозна трака tram: - Лака железница - трамвај trunk: Магистрални пут tunnel: Испрекидан оквир = тунел + unclassified: Некатегорисан пут unsurfaced: Подземни пут wood: Гај heading: Легенда за увећање {{zoom_level}} @@ -963,7 +1075,11 @@ sr-EC: user: account: contributor terms: + agreed: Сложили сте се са новим условима уређивања. + agreed_with_pd: Такође се слажете да ваше измене буду у јавном власништву. + heading: "Услови уређивања:" link text: шта је ово? + not yet agreed: Још се нисте сложили са новим условима уређивања. current email address: "Тренутна адреса е-поште:" delete image: Уклони тренутну слику email never displayed publicly: (не приказуј јавно) @@ -971,6 +1087,8 @@ sr-EC: flash update success confirm needed: Подаци о кориснику успешно ажурирани. Проверите вашу е-пошту како бисте потврдивли нову адресу е-поште. home location: "Моја локација:" image: "Слика:" + image size hint: (квадратна слика од отприлике 100x100 се најбоље уклапа) + keep image: Задржи тренутну слику latitude: "Географска ширина:" longitude: "Географска дужина:" make edits public button: Нека све моје измене буду јавне @@ -983,6 +1101,8 @@ sr-EC: public editing: disabled link text: зашто не могу да уређујем? enabled link text: шта је ово? + public editing note: + heading: Јавне измене return to profile: Повратак на профил save changes button: Сачувај промене title: Уреди налог @@ -1002,15 +1122,18 @@ sr-EC: summary_no_ip: "{{name}}, направљен {{date}}" title: Корисници login: + account not active: Извињавамо се, ваш налог још није активиран.
Молимо пратите везу у е-мејлу за потврду налога како бисте га активирали. create_account: направите налог email or username: "Адреса е-поште или корисничко име:" heading: Пријављивање login_button: Пријавите се lost password link: Изгубили сте лозинку? + notice: Сазнајте више о предстојећој OpenStreetMap промени лиценце (преводи) (дискусије) password: "Лозинка:" please login: Молимо пријавите се или {{create_user_link}}. remember: "Запамти ме:" title: Пријављивање + webmaster: администратор logout: logout_button: Одјави се title: Одјави се @@ -1041,6 +1164,9 @@ sr-EC: popup: friend: Пријатељ your location: Ваша локација + remove_friend: + not_a_friend: "{{name}} није један од ваших пријатеља." + success: "{{name}} је уклоњен из ваших пријатеља." reset_password: confirm password: "Потврдите лозинку:" flash changed: Ваша лозинка је промењена. @@ -1050,21 +1176,29 @@ sr-EC: title: Обнови лозинку set_home: flash success: Ваша локација је успешно сачувана + suspended: + heading: Суспендован налог + title: Суспендован налог + webmaster: администратор terms: + agree: Прихвати consider_pd_why: шта је ово? + decline: Одбаци legale_names: france: Француска italy: Италија rest_of_world: Остатак света view: add as friend: додај за пријатеља + ago: (пре {{time_in_words_ago}}) + blocks on me: моја блокирања confirm: Потврди create_block: блокирај овог корисника delete_user: избриши овог корисника description: Опис diary: дневник edits: измене - email address: "Е-мејл адреса:" + email address: "Адреса е-поште:" km away: "{{count}}km далеко" m away: "{{count}}m далеко" mapper since: "Мапер од:" @@ -1074,7 +1208,7 @@ sr-EC: my traces: моји трагови nearby users: "Остали корисници у близини:" new diary entry: нови дневнички унос - no friends: Још нисте додали ни једног пријатеља. + no friends: Још нисте додали ниједног пријатеља. remove as friend: уклони као пријатеља role: administrator: Овај корисник је администратор @@ -1084,6 +1218,7 @@ sr-EC: moderator: Овај корисник је модератор send message: пошаљи поруку settings_link_text: подешавања + status: "Статус:" traces: трагови user location: Локација корисника your friends: Ваши пријатељи @@ -1092,7 +1227,10 @@ sr-EC: confirm: Јесте ли сигурни? display_name: Блокирани корисник edit: Уреди + not_revoked: (није опозван) reason: Разлози блокирања + revoke: Опозови! + revoker_name: Опозвао show: Прикажи status: Стање period: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 880cde52a..237e4bd98 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -683,8 +683,12 @@ sv: cycle_map: Cykelkarta noname: NoName site: + edit_disabled_tooltip: Zooma in för att redigera kartan + edit_tooltip: Redigera kartan edit_zoom_alert: Du måste zooma in för att kunna ändra kartan - history_zoom_alert: Du måste zooma in för att kunna se karterings historik. + history_disabled_tooltip: Zooma in för att kunna se karteringshistorik för detta område + history_tooltip: Visa ändringar för detta område + history_zoom_alert: Du måste zooma in för att kunna se karteringshistorik. layouts: donate: Donera till OpenStreetMap via {{link}} till hårdvaruuppgraderingsfonden. donate_link_text: donera @@ -692,9 +696,7 @@ sv: export: Exportera export_tooltip: Exportera kartdata som bild eller rådata gps_traces: GPS-spår - gps_traces_tooltip: Hantera spår - help_wiki: Hjälp & wiki - help_wiki_tooltip: Hjälp och wiki för projektet + gps_traces_tooltip: Visa, ladda upp och ändra GPS-spår. history: Historik home: hem home_tooltip: Gå till hempositionen @@ -878,6 +880,7 @@ sv: map_key: Kartnyckel table: entry: + admin: Administrativ gräns allotments: Koloniträdgårdar apron: - Flygplatsterminal @@ -931,7 +934,7 @@ sv: heading: Symbolförklaring för z{{zoom_level}} search: search: Sök - search_help: "exempel: 'Delsbo', 'Storgatan, Svedala', 'post offices near Hässelby' Fler exempel.." + search_help: "exempel: 'Delsbo', 'Storgatan, Svedala', Fler exempel.." submit_text: Gå where_am_i: Var är jag sidebar: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 86d7e5920..7b1b0d940 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -889,9 +889,6 @@ uk: export_tooltip: Експортувати картографічні дані gps_traces: GPS-треки gps_traces_tooltip: Управління GPS треками - help_wiki: Довідка та Вікі - help_wiki_tooltip: Довідка та Вікі проекту - help_wiki_url: http://wiki.openstreetmap.org/wiki/Uk:Main_Page?uselang=uk history: Історія home: додому home_tooltip: Показати моє місце знаходження diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 2234e9900..b782cde99 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -796,9 +796,9 @@ vi: 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 - help_wiki: Trợ giúp & Wiki - help_wiki_tooltip: Site trợ giúp & wiki của dự án - help_wiki_url: http://wiki.openstreetmap.org/wiki/Vi:Main_Page?uselang=vi + help: Trợ giúp + help_and_wiki: "{{help}} & {{wiki}}" + help_title: Trang trợ giúp của dự án history: Lịch sử home: nhà home_tooltip: Về vị trí nhà @@ -840,6 +840,8 @@ 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 + wiki: Wiki + wiki_title: Trang wiki của dự án license_page: foreign: english_link: nguyên bản tiếng Anh @@ -973,6 +975,7 @@ vi: signup_confirm: subject: "[OpenStreetMap] Xác nhận địa chỉ thư điện tử của bạn" signup_confirm_html: + ask_questions: Có thể đặt bất kỳ câu hỏi mà bạn có về OpenStreetMap tại trang hỏi đáp. click_the_link: Nếu bạn là người đó, hoan nghênh! Xin hãy nhấn chuột vào liên kết ở dưới để xác nhân tài khoản đó và đọc tiếp để tìm hiểu thêm về OpenStreetMap. current_user: Có danh sách các người dùng, xếp thể loại theo nơi ở, tại Category:Users by geographical region. get_reading: Bắt đầu tìm hiểu về OpenStreetMap tại wiki, theo dõi tin tức gần đây tại blog OpenGeoData hay Twitter, hoặc đọc blog và nghe podcast của nhà sáng lập Steve Coast! @@ -985,6 +988,7 @@ vi: video_to_openstreetmap: video giới thiệu về OpenStreetMap wiki_signup: Có lẽ bạn cũng muốn mở tài khoản ở wiki OpenStreetMap. signup_confirm_plain: + ask_questions: "Có thể đặt bất kỳ câu hỏi mà bạn có về OpenStreetMap tại trang hỏi đáp:" blog_and_twitter: "Theo dõi tin tức gần đây tại blog OpenStreetMap và Twitter:" click_the_link_1: Nếu bạn là người đó, hoan nghênh! Xin hãy nhấn chuột vào liên kết ở dưới để click_the_link_2: xác nhận tài khoản của bạn và đọc tiếp để tìm hiểu thêm về OpenStreetMap. diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 506f122cc..acb58db76 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -269,7 +269,6 @@ zh-CN: export_tooltip: 输出地图数据 gps_traces: GPS 追踪 gps_traces_tooltip: 管理追踪 - help_wiki: 帮助 & Wiki history: 历史 home: 主页 home_tooltip: 回到主页位置 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index c057a09c1..dba21ca21 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -454,8 +454,6 @@ zh-TW: export_tooltip: 匯出地圖資料 gps_traces: GPS 軌跡 gps_traces_tooltip: 管理 GPS 軌跡 - help_wiki: 求助 & Wiki - help_wiki_tooltip: 本計畫的求助 & Wiki 網站 history: 歷史 home: 家 home_tooltip: 移至家位置 diff --git a/config/potlatch/icon_presets.txt b/config/potlatch/icon_presets.txt index d90bc5c60..f81d47c3f 100644 --- a/config/potlatch/icon_presets.txt +++ b/config/potlatch/icon_presets.txt @@ -24,4 +24,3 @@ police amenity=police place_of_worship amenity=place_of_worship museum tourism=museum school amenity=school -disaster building=yes;earthquake_damage=(type damage here) diff --git a/config/potlatch/locales/cs.yml b/config/potlatch/locales/cs.yml index 1f4bf9d92..0b1220aa2 100644 --- a/config/potlatch/locales/cs.yml +++ b/config/potlatch/locales/cs.yml @@ -1,6 +1,7 @@ # Messages for Czech (Česky) # Exported from translatewiki.net # Export driver: syck +# Author: Mormegil cs: a_poi: $1 bod zájmu a_way: $1 cestu @@ -56,7 +57,7 @@ cs: prompt_launch: Otevřít externí webovou adresu? prompt_revertversion: "Vrátit se ke dříve uložené verzi:" prompt_savechanges: Uložit změny - prompt_taggedpoints: Některé uzle této cesty mají tagy, opravdu smazat? + prompt_taggedpoints: Některé body na této cestě jsou označené nebo v relacích. Opravdu smazat? prompt_track: Převede vaši GPS stopu na (uzamčené) cesty, které následně můžete upravit. prompt_welcome: Vítejte na OpenStreetMap save: Uložit změny @@ -66,7 +67,7 @@ cs: tip_anticlockwise: Proti směru hodinových ručiček (kliknutím otočíte směr kruhové cesty) tip_clockwise: Po směru hodinových ručiček (kliknutím otočíte směr kruhové cesty) tip_direction: Směr cesty (kliknutím otočíte) - tip_gps: Zobrazit GPX stopy (GPS logy) (G) + tip_gps: Zobrazit GPS stopy (G) tip_noundo: Není, co vzít zpět tip_options: Možnosti (vyberte si mapu na pozadí) tip_presettype: Zvolit skupinu předvoleb v menu. diff --git a/config/potlatch/locales/hr.yml b/config/potlatch/locales/hr.yml index b4ab59545..3ff037a52 100644 --- a/config/potlatch/locales/hr.yml +++ b/config/potlatch/locales/hr.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: syck # Author: Mvrban +# Author: SpeedyGonsales hr: a_poi: $1 POI (točka interesa) a_way: $1 put @@ -64,8 +65,8 @@ hr: emailauthor: \n\nMolim pošalji e-mail richard\@systemeD.net sa izvješćem o bug-u, recite što ste radili u to vrijeme. error_anonymous: Ne možete kontaktirati anonimnog mappera. error_connectionfailed: Žao mi je, veza sa OpenstreetMap serverom nije uspjela. Neke nedavne promjene nisu spremljene.\n\nŽelite li pokušati ponovno? - error_microblog_long: "Slanje na $1 nije uspjelo:\nHTTP code: $2\nPoruka o grešci: $3\n$1 greška: $4" - error_nopoi: POI se ne može naći (možda ste pomakli kartu), tako da nemogu poništiti. + error_microblog_long: "Slanje na $1 nije uspjelo:\nHTTP kod pogreške: $2\nTekst pogreške: $3\n$1 pogreška: $4" + error_nopoi: POI se ne može naći (možda ste pomakli kartu), tako da ne mogu poništiti. error_nosharedpoint: Putevi $1 i $2 više ne dijele zajedničku točku, pa se ne mogu razdvojiti. error_noway: Put $1 se ne može pronaći (možda ste pomakli kartu?), pa ne mogu poništiti. error_readfailed: Žao mi je, OpenStreetMap server nije reagirao kada je bio upitan za podatke.\n\nŽelite li pokušati ponovno? @@ -129,19 +130,22 @@ hr: option_layer_ooc_25k: UK povijesni 1:25k option_layer_ooc_7th: "UK povijesni: 7th" option_layer_ooc_npe: "UK povijesni: NPE" + option_layer_ooc_scotland: "UK povijesni: Škotska" + option_layer_os_streetview: "UK: OS pregled ulica" option_layer_streets_haiti: "Haiti: imena ulica" + option_layer_surrey_air_survey: "UK: Surrey fotografije iz zraka" option_layer_tip: Izaberite pozadinu za prikaz option_limitways: Upozori kada se učitava puno podataka option_microblog_id: "Naziv Microbloga:" option_microblog_pwd: "Microblog lozinka:" option_noname: Osvjetli neimenovane ceste option_photo: "Fotografija KML:" - option_thinareas: Koristi take linije za područja + option_thinareas: Koristi tanke linije za područja option_thinlines: Koristi tanke linije u svim uvećanjima option_tiger: Osvjetli nepromjenjeni TIGER option_warnings: Prikaži plutajuća upozorenja point: Točka - preset_icon_airport: Aerodrom + preset_icon_airport: Zračna luka preset_icon_bar: Bar preset_icon_bus_stop: Autobusno stajalište preset_icon_cafe: Caffe bar @@ -189,7 +193,7 @@ hr: retry: Pokušaj ponovo revert: Vrati na staro save: Spremi - tags_backtolist: Povratak na listu + tags_backtolist: Povratak na popis tags_descriptions: Opisi '$1' tags_findatag: Pronađi oznaku (tag) tags_findtag: Pronađi oznaku (tag) @@ -217,8 +221,8 @@ hr: uploading_deleting_ways: Brišem puteve uploading_poi: Uploadiram POI $1 uploading_poi_name: Uploadiram POI $1, $2 - uploading_relation: Upoloadiram relaciju $1 - uploading_relation_name: Uploadiram relaciju $1, $2 + uploading_relation: Snimam relaciju $1 na poslužitelj + uploading_relation_name: Snimam relaciju $1, $2 na poslužitelj uploading_way: Uploadiram put $1 uploading_way_name: Uploadiram put $1, $2 warning: Upozorenje! diff --git a/config/potlatch/locales/lb.yml b/config/potlatch/locales/lb.yml index baa3c4f0a..d9c99994f 100644 --- a/config/potlatch/locales/lb.yml +++ b/config/potlatch/locales/lb.yml @@ -5,8 +5,10 @@ lb: a_way: $1 ee Wee action_deletepoint: e Punkt läschen + action_mergeways: Zwee Weeër zesummeleeën action_movepoint: e Punkt réckelen action_splitway: e Wee opdeelen + advanced: Erweidert advanced_inspector: Inspekter advanced_maximise: Fënster maximéieren advanced_minimise: Fënster minimiséieren @@ -22,12 +24,16 @@ lb: delete: Läschen deleting: läschen heading_drawing: Zeechnen + heading_introduction: Aféierung help: Hëllef + hint_loading: Donnéeë lueden inspector: Inspekter + inspector_duplicate: Doublon vu(n) inspector_locked: Gespaart inspector_node_count: ($1 mol) inspector_unsaved: Net gespäichert inspector_uploading: (eroplueden) + inspector_way_nodes: $1 Kniet loading: Lueden... login_pwd: "Passwuert:" login_uid: "Benotzernumm:" @@ -37,10 +43,15 @@ lb: offset_motorway: Autobunn (D3) ok: OK option_layer_cycle_map: OSM - Vëloskaart + option_layer_nearmap: "Australien: NearMap" + option_layer_os_streetview: "UK : OS StreetView" option_layer_streets_haiti: "Haiti: Stroossennimm" option_photo: "Foto-KML:" + point: Punkt preset_icon_airport: Fluchhafen preset_icon_bar: Bar + preset_icon_bus_stop: Busarrêt + preset_icon_cafe: Café preset_icon_cinema: Kino preset_icon_disaster: Haiti Gebai preset_icon_ferry_terminal: Fähr @@ -50,24 +61,40 @@ lb: preset_icon_museum: Musée preset_icon_parking: Parking preset_icon_pharmacy: Apdikt + preset_icon_police: Policebüro + preset_icon_post_box: Bréifboîte preset_icon_pub: Bistro + preset_icon_recycling: Recyclage preset_icon_restaurant: Restaurant preset_icon_school: Schoul preset_icon_station: Gare preset_icon_supermarket: Supermarché preset_icon_telephone: Telefon preset_icon_theatre: Theater + prompt_addtorelation: $1 bäi eng Relatioun derbäisetzen prompt_changesetcomment: "Gitt eng Beschreiwung vun Ären Ännerungen:" + prompt_editlive: Live änneren + prompt_editsave: Mat späicheren änneren + prompt_helpavailable: Neie Benotzer? Kuckt ënne lenks fir Hëllef. + prompt_launch: Extern URL opmaachen + prompt_revertversion: "Op eng méi fréi gespäichert Versioun zerécksetzen:" prompt_savechanges: Ännerunge späicheren + prompt_welcome: Wëllkomm op OpenStreetMap! retry: Nach eng Kéier probéieren revert: Zrécksetzen save: Späicheren tags_backtolist: Zréck op d'Lëscht tags_descriptions: Beschreiwunge vu(n) '$1' + tip_alert: Et ass e Feeler geschitt - klickt hei fir weider Detailer + tip_options: Optiounen astellen (Sicht den Hannergrond vun der Kaart eraus) tip_photo: Fotoe lueden + tip_undo: $1 réckgängeg maachen (Z) uploading: Eroplueden... uploading_deleting_ways: Weeër läschen + uploading_poi: POI $1 eroplueden + uploading_poi_name: POI $1, $2 eroplueden uploading_relation: Realtioun $1 eroplueden + uploading_way: Wee $1 eroplueden warning: Warnung way: Wee "yes": Jo diff --git a/config/potlatch/locales/mk.yml b/config/potlatch/locales/mk.yml index 61003b4b7..6b9d1a32c 100644 --- a/config/potlatch/locales/mk.yml +++ b/config/potlatch/locales/mk.yml @@ -80,7 +80,7 @@ mk: heading_tagging: Означување heading_troubleshooting: Отстранување неисправности help: Помош - help_html: "Добредојдовте во Potlatch\nPotlatch е уредник на OpenStreetMap кој е лесен за употреба. Цртајте патишта, знаменитости, споменици и продавници од вашите GPS податоци, сателитски слики или стари карти.\n\nОвие страници за помош ќе ве запознаат со основите на користење на Potlatch, и ќе ви покажат каде можете да дознаете повеќе. Кликнете на насловите погоре за да почнете.\n\nЗа да излезете, кликнете било каде вон прозорецов.\n\n\n\nКорисно да се знае\nНе копирајте од други карти!\n\nАко изберете „Уредување во живо“, сите промени кои ќе ги направите одат на базата додека ги цртате - т.е. веднаш. Ако не сте толку сигурни во промените, одберете „Уредување со зачувување“, и така промените ќе се појават дури кога ќе стиснете на „Зачувај“.\n\nСите направени уредувања ќе се покажат по час-два (на неколку посложени работи им треба една недела). На картата не е прикажано сè - тоа би бил голем неред. Бидејќи податоците на OpenStreetMap се отворен извор, другите корисници слободно прават карти на кои се прикажани различни аспекти - како OpenCycleMap (Отворена велосипедска карта) или Midnight Commander.\n\nЗапомнете дека ова е и убава карта (затоа цртајте убави криви линии за кривините), но и дијаграм (затоа проверувајте дека патиштата се среќаваат на крстосници) .\n\nДали ви споменавме дека не смее да се копира од други карти?\n\n\nДознајте повеќе\nPotlatch прирачник\nПоштенски списоци\nРазговори (помош во живо)\nФорум\nВики на заедницата\nИзворен код на Potlatch\n\n\n\nКако да почнете\nСега Potlatch ви е отворен. Кликнете на „Уреди и зачувај“ за да почнете\n\nЗначи спремни сте да нацртате карта. Најлесно е да се почне со поставење на точки од интерес на картата (POI). Овие можат да бидат ресторани, цркви, железнички станици...сè што сакате.\n\nВлечење и пуштање\nЗа да ви олесниме, ги поставивме најчестите видови на точки од интерес (POI), на дното од картата. На картата се ставаат со нивно повлекување и пуштање на саканото место. И не грижете се ако не сте го погодиле местото од прв пат: можете точките да повлекувате повторно, сè додека не ја наместите секоја точка кадешто сакате.\n\nКога сте готови со тоа, ставете му име на ресторанот (или црквата, станицата итн.) На дното ќе се појави мала табела. Една од ставките ќе биде „име“, и до него „(тука внесете име)“. Кликнете на тој текст и впишете го името.\n\nКликнете другде на картата за да го одизберете вашата точка од интерес (POI), и така ќе се врати малиот шарен правоаголник.\n\nЛесно е, нели? Кликнете на „Зачувај“ (најдолу-десно) кога сте готови.\nДвижење по картата\nЗа да отидете на друг дел од картата, само повлечете празен простор. Potlatch автоматски ќе вчита нови податоци (гледајте најгоре-десно)\n\nВи рековме да „Уредите и зачувате“, но можете и да кликнете на „Уредување во живо“. Под овој режим промените одат право во базата, и затоа нема копче „Зачувај“. Ова е добро за брзи промени и картографски акции.\n\nСледни чекори\nЗадоволни сте од досегашното? Одлично. Кликнете на „Истражување“ погоре за да дознаете како да бидете вистински картограф!\n\nИстражување со GPS\nИдејата позади OpenStreetMap е создавање на карта без ограничувачките авторски права кои ги имаат други карти. Ова значи дека овдешните карти не можете да ги копирате од никаде: морате самите да ги истражите улиците. За среќа, ова е многу забавно!\nНајдобро е да се земе рачен GPS-уред. Пронајдете некој регион кој сè уште не е на картата. Прошетајте по улиците, или извозете ги на велосипед, држајќи го уредот вклучен. По пат запишувајте ги имињата на улиците, и сето она што ве интересира (ресторани? цркви?).\n\nКога ќе дојдете дома, вашиот GPS-уред ќе содржи т.н. „записник на траги“ (tracklog) кој има евиденција за секаде кадешто сте биле. Потоа ова можете да го подигнете на OpenStreetMap.\n\nНајдобриот вид на GPS-уред е оној што запишува често (на секоја секунда-две) и има големо памтење. Голем дел од нашите картографи користат рачни Garmin апарати, или Bluetooth-уреди. На нашето вики ќе најдете подробни анализа на GPS-уреди\n\nПодигање на патеката\nСега ќе треба да ја префрлите трагата од GPS-уредот. Можеби уредот има своја програмска опрема, или пак од него поже да се копираат податотеки предку USB. Ако не може, пробајте го GPSBabel. Како и да е, податотеката во секој случај треба да биде во GPX формат.\n\nПотоа одете на „GPS траги“ и подигнете ја трагата на OpenStreetMap. Но ова е само првиот чекор - трагата сè уште нема да се појави на картата. Морате самите да ги нацртате и именувате улиците, следејќи ја трагата.\nКористење на трагата\nПронајдете ја вашата подигната трага во списокот на „GPS траги“ и кликнете на „уреди“ веднаш до неа. Potlatch ќе започне со оваа вчитана трага, плус ако има патни точки. Сега можете да цртате!\n\nМожете и да кликнете на ова копче за да ви се прикажат GPS трагите на сите корисници (но не патните точки) за тековниот реон. Држете Shift за да се прикажат само вашите траги.\nКористење на сателитски слики\nНе грижете се ако немате GPS-уред. Во некои градови имаме сателитски фотографии врз кои можете да цртате, добиени со поддршка од Yahoo! (благодариме!). Излезете и запишете ги имињата на улиците, па вратете се и исцртајте ги линиите врз нив.\n\nДоколку не гледате сателитски слики, кликнете на копчето за прилагодувања и проверете дали е одбрано „Yahoo!“ Ако сè уште не ги гледате, тогаш веројатно такви слики се недостапни за вашиот град, или пак треба малку да оддалечите.\n\nНа истово копче за прилагодувања има и други избори како карти на Британија со истечени права и OpenTopoMap. Сите тие се специјално избрани бидејќи ни е дозволено да ги користиме- не копирајте ничии карти и воздушни фотографии (Законите за авторски права се за никаде.)\n\nПонекогаш сателитските слики се малку разместени од фактичката локација на патиштата. Ако наидете на ова, држете го Space и влечете ја позадината додека не се порамнат. Секогаш имајте доверба во GPS трагите, а не сателитските слики.\n\nЦртање патишта\nЗа да нацртате пат почнувајќи од празен простор на картата, само кликнете таму; потоа на секоја точка на патот. Кога сте готови, кликнете два пати или притиснете Enter - потоа кликнете на некое друго место за да го одизберете патот.\n\nЗа да нацртате пат почнувајќи од друг пат, кликнете на патот за да го изберете; неговите точки ќе станат црвени. Држете Shift и кликнете на една од нив за да започнете нов пат од таа точка. (Ако нема црвена точка на крстосницата, направете Shift-клик за да се појави кадешто сакате!)\n\nКликнете на „Зачувај“ (најдолу-десно) кога сте готови. Зачувувајте често, во случај да се јават проблеми со опслужувачот.\n\nНе очекувајте промените веднаш да се појават на главната карта. За ова треба да поминат час-два, а во некои случаи и до една недела.\nПравење крстосници\nМногу е важно патиштата да имаат заедничка точка („јазол“) кадешто се среќаваат. Ова им служи на корисниците кои планираат пат за да знаат каде да свртат.\n\nPotlatch се грижи за ова доколку внимателно кликнете точно на патот кој го сврзувате. Гледајте ги олеснителните знаци: точките светнуваат сино, курсорот се менува, и кога сте готови, точката на крстосницата има црна контура.\nПоместување и бришење\nОва работи баш како што се би се очекувало. За да избришете точка, одберете ја и притиснете на Delete. За да избришете цел еден пат, притиснете Shift-Delete.\n\nЗа да поместите нешто, само повлечете го. (Ќе треба да кликнете и да подржите малку пред да влечете. Со ова се избегнуваат ненамерни поместувања.)\nПонапредно цртање\nАко два дела од еден пат имаат различни имиња, ќе треба да ги раздвоите. Кликнете на патот; потоа кликнете во точката кадешто сакате да го раздвоите, и кликнете на ножиците. (Можете да спојувате патишта со Control, или копчето со јаболко на Мекинтош, но не спојувајте два пата со различни имиња или типови.)\n\nКружните текови се многу тешки за цртање. Но за тоа помага самиот Potlatch. Нацртајте го кругот грубо, само внимавајте да ги споите краевите (т.е. да биде круг), и кликнете на „подреди“. (Ова се користи и за исправање на патишта.)\nТочки од интерес (POI)\nПрвото нешто што го научивте е како да влечете и пуштате точка од интерес. Можете и самите да правите вакви точки со двојно кликнување на картата: ќе се појави зелено кругче. Но како ќе знаеме дали се работи за ресторан, црква или нешто друго? Кликнете на „Означување“ погоре за да дознаете!\n\nКој вид на пат е тоа?\nШтом ќе нацртате пат, треба да назначите што е. Дали е главна магистрала, пешачка патека или река? Како се вика? Има ли некои посебни правила (на пр. „забрането велосипеди“)?\n\nВо OpenStreetMap ова го запишувате со „ознаки“. Ознаката има два дела, и можете да користите колку што сакате ознаки. На пример, можете да додадете i>highway | trunk за да назначите дека ова е главен магистрален пат; highway | residential за пат во населба; or highway | footway за пешачка патека. If bikes were banned, you could then add bicycle | no. Потоа, за да го запишете името, додајте name | Партизански Одреди.\n\nОзнаките на Potlatch се појавуваат најдолу на екранот - кликнете на постоечка улица, и ќе видите каква ознака има. Кликете на знакот „+“ (најдолу-десно) за да додадете нова ознака. Секоја ознака има „x“ со што можете да ја избришете.\n\nМожете да означувате цели патишта; точки на патишта (можеби порта или семафори); и точки од интерес.\nКористење на зададени ознаки\nЗа да ви помогне да започнете, Potlatch ви нуди готови, најпопуларни ознаки.\n\nОдберете го патот, па кликајте низ симболите додека не најдете соодветен. Потоа изберете ја најсоодветната можност од менито.\n\nСо ова се пополнуваат ознаките. Некои ќе останат делумно празни за да можете да впишете (на пример) име на улицата и број\nЕднонасочни патишта\nВи препорачуваме да додадете ознака за еднонасочни улици како oneway | yes - но како да познаете во која насока? Најдолу-лево има стрелка која го означува правецот напатот, од почеток до крај. Кликнете на неа за да ја свртите обратно.\nИзбор на ваши сопствени ознаки\nСекако, не сте ограничени само на зададените ознаки. Користете го копчето „+“ за да користите какви што сакате ознаки.\n\nМожете да видите какви ознаки користат другите на OSMdoc, а имаме и долг список на популарни ознаки на нашето вики нареченаЕлементи. Но тие се само предлози, а не правила. Најслободно измислувајте си свои ознаки или преземајте од други корисници.\n\nБидејќи податоците од OpenStreetMap се користат за изработување на различни карти, секоја карта прикажува свој избор од ознаки.\nРелации\nПонекогаш не се доволни само ознаки, па ќе треба да „групирате“ два или повеќе пата. Можеби вртењето од една улица во друга е забрането, или пак 20 патеки заедно сочиннуваат означена велосипедска патека. Ова се прави во напредното мени „релации“. Дознајте повеќе на викито.\n\nВраќање грешки\nОва е копчето за враќање (може и со стискање на Z) - ова ќе го врати последното нешто кое сте го направиле.\n\nМожете да „вратите“ претходно зачувана верзија на еден пат или точка. Одберете ја, па кликнете на нејзиниот ид. бр. (бројот најдолу-лево) - или притиснете на H (за „историја“). Ќе видите список на која се наведува кој ја уредувал и кога. Одберете ја саканата верзија, и стиснете на „Врати“.\n\nДоколку сте избришале пат по грешка и сте зачувале, притиснете U (за да вратите). Ќе се појават сите избришани патишта. Одберете го саканиот пат; отклучете го со кликнување на катанчето; и зачувајте.\n\nМислите дека некој друг корисник направил грешка? Испратете му пријателска порака. Користете ја историјата (H) за да му го изберете името, па кликнете на „Пошта“\n\nКористете го Инспекторот (во менито „Напредно“) за корисни информации за моменталниот пат или точка.\nЧПП\nКако да ги видам моите патни точки?\nПатните точки се појавуваат само ако кликнете на „уреди“ до името на трагата во „GPS траги“. Податотеката мора да има и патни точки и запис на трагата - опслужувачот не пропушта податотеки кои имаат само патни точки.\n\nПовеќе ЧПП за Potlatch и OpenStreetMap.\n\n\n\nПобрзо работење\nШто повеќе оддалечувате, тоа повеќе податоци мора да вчита Potlatch. Приближете пред да стиснете на „Уреди“\n\nИсклучете го „Користи курсори „молив“ и „рака““ (во прозорецот за прилагодување) за да добиете максимална брзина.\n\nАко опслужувачот работи бавно, вратете се подоцна. Проверете го викито за да проверите познати проблеми. Некои термини како недела навечер се секогаш оптоварени.\n\nКажете му на Potlatch да ги запамти вашите омилени комплети со ознаки. Одберете пат или точка со тие ознаки, па притиснете на Ctrl, Shift и на број од 1 до 9. Потоа за повторно да ги користите тие ознаки, само притиснете Shift и тој број. (Ќе се паметат секојпат кога го користите Potlatch на овој сметач.)\n\nПретворете ја вашата GPS трага во пат со тоа што ќе ја пронајдете на списокот „GPS траги“ и ќе кликнете на „уреди“ до неа, а потоа на кутивчето „претвори“. Трагата ќе се заклучи (црвено), затоа не зачувувајте. Најпрвин уредете ја, па кликнете на катанчето (најдолу-десно) за да ја отклучите кога сте спремни да ја зачувате.\n\nШто да кликате\nВлечете ја картата за да се движите наоколу.\nДвоен клик за да направите нова точка од интерес (POI).\nКликнете еднап за да започнете нов пат.\nДржете и влечете пат или точка од интерес (POI) за да ги поместите.\nКога цртате пат\nДвоен клик или Enter за да завршите со цртање.\nКликнете на друг пат за да направите крстосница.\nShift-клик на крајот на друг пат за да споите.\nКога ќе изберете пат\nКликнете на точката за да ја одберете.\nShift-клик на патот за да вметнете нова точка.\nShift-клик на точка за оттаму да започнете нов пат.\nCtrl-клик на друг пат за спојување.\n\nТастатурни кратенки\nB Додај позадинска изворна ознака\nC Затвори измени\nG Прикажи GPS траги\nH Прикажи историја\nI Прикажи инспектор\nJ сврзи точка за вкрстени патишта\n(+Shift) Unjoin from other ways\nK Заклучи/отклучи го моментално избраното\nL Прикажи моментална географска должина\nM Зголеми уредувачки прозорец\nP Создај паралелен пат\nR Повтори ги ознаките\nS Зачувај (освен ако не е во живо)\nT Подреди во права линија/круг\nU Врати избришано (прикажи избришани патишра)\nX Пресечи пат на две\nZ Врати\n- Отстрани точка само од овој пат\n+ Додај нова ознака\n/ Избор на друг пат со истава точка\nDelete Избриши точка\n (+Shift) Избриши цел пат\nEnter Заврши со цртање на линијата\nSpace Држи и влечи позадина\nEsc Откажи го ова уредување; превчитај од опслужувачот \n0 Отстрани ги сите ознаки\n1-9 Избор на зададени ознаки\n (+Shift) Избери запамтени ознаки\n (+S/Ctrl) Запамти ознаки\n§ или ` Кружи помеѓу групи ознаки\n\n" + help_html: "Добредојдовте во Potlatch\nPotlatch е уредник на OpenStreetMap кој е лесен за употреба. Цртајте патишта, знаменитости, споменици и продавници од вашите GPS податоци, сателитски слики или стари карти.\n\nОвие страници за помош ќе ве запознаат со основите на користење на Potlatch, и ќе ви покажат каде можете да дознаете повеќе. Кликнете на насловите погоре за да почнете.\n\nЗа да излезете, кликнете било каде вон прозорецов.\n\n\n\nКорисно да се знае\nНе копирајте од други карти!\n\nАко изберете „Уредување во живо“, сите промени кои ќе ги направите одат на базата додека ги цртате - т.е. веднаш. Ако не сте толку сигурни во промените, одберете „Уредување со зачувување“, и така промените ќе се појават дури кога ќе стиснете на „Зачувај“.\n\nСите направени уредувања ќе се покажат по час-два (на неколку посложени работи им треба една недела). На картата не е прикажано сè - тоа би бил голем неред. Бидејќи податоците на OpenStreetMap се отворен извор, другите корисници слободно прават карти на кои се прикажани различни аспекти - како OpenCycleMap (Отворена велосипедска карта) или Midnight Commander.\n\nЗапомнете дека ова е и убава карта (затоа цртајте убави криви линии за кривините), но и дијаграм (затоа проверувајте дека патиштата се среќаваат на крстосници) .\n\nДали ви споменавме дека не смее да се копира од други карти?\n\n\nДознајте повеќе\nPotlatch прирачник\nПоштенски списоци\nРазговори (помош во живо)\nФорум\nВики на заедницата\nИзворен код на Potlatch\n\n\n\nКако да почнете\nСега Potlatch ви е отворен. Кликнете на „Уреди и зачувај“ за да почнете\n\nЗначи спремни сте да нацртате карта. Најлесно е да се почне со поставење на точки од интерес на картата (POI). Овие можат да бидат ресторани, цркви, железнички станици...сè што сакате.\n\nВлечење и пуштање\nЗа да ви олесниме, ги поставивме најчестите видови на точки од интерес (POI), на дното од картата. На картата се ставаат со нивно повлекување и пуштање на саканото место. И не грижете се ако не сте го погодиле местото од прв пат: можете точките да повлекувате повторно, сè додека не ја наместите секоја точка кадешто сакате.\n\nКога сте готови со тоа, ставете му име на ресторанот (или црквата, станицата итн.) На дното ќе се појави мала табела. Една од ставките ќе биде „име“, и до него „(тука внесете име)“. Кликнете на тој текст и впишете го името.\n\nКликнете другде на картата за да го одизберете вашата точка од интерес (POI), и така ќе се врати малиот шарен правоаголник.\n\nЛесно е, нели? Кликнете на „Зачувај“ (најдолу-десно) кога сте готови.\nДвижење по картата\nЗа да отидете на друг дел од картата, само повлечете празен простор. Potlatch автоматски ќе вчита нови податоци (гледајте најгоре-десно)\n\nВи рековме да „Уредите и зачувате“, но можете и да кликнете на „Уредување во живо“. Под овој режим промените одат право во базата, и затоа нема копче „Зачувај“. Ова е добро за брзи промени и картографски акции.\n\nСледни чекори\nЗадоволни сте од досегашното? Одлично. Кликнете на „Истражување“ погоре за да дознаете како да бидете вистински картограф!\n\nИстражување со GPS\nИдејата позади OpenStreetMap е создавање на карта без ограничувачките авторски права кои ги имаат други карти. Ова значи дека овдешните карти не можете да ги копирате од никаде: морате самите да ги истражите улиците. За среќа, ова е многу забавно!\nНајдобро е да се земе рачен GPS-уред. Пронајдете некој регион кој сè уште не е на картата. Прошетајте по улиците, или извозете ги на велосипед, држајќи го уредот вклучен. По пат запишувајте ги имињата на улиците, и сето она што ве интересира (ресторани? цркви?).\n\nКога ќе дојдете дома, вашиот GPS-уред ќе содржи т.н. „записник на траги“ (tracklog) кој има евиденција за секаде кадешто сте биле. Потоа ова можете да го подигнете на OpenStreetMap.\n\nНајдобриот вид на GPS-уред е оној што запишува често (на секоја секунда-две) и има големо памтење. Голем дел од нашите картографи користат рачни Garmin апарати, или Bluetooth-уреди. На нашето вики ќе најдете подробни анализа на GPS-уреди\n\nПодигање на патеката\nСега ќе треба да ја префрлите трагата од GPS-уредот. Можеби уредот има своја програмска опрема, или пак од него поже да се копираат податотеки предку USB. Ако не може, пробајте го GPSBabel. Како и да е, податотеката во секој случај треба да биде во GPX формат.\n\nПотоа одете на „GPS траги“ и подигнете ја трагата на OpenStreetMap. Но ова е само првиот чекор - трагата сè уште нема да се појави на картата. Морате самите да ги нацртате и именувате улиците, следејќи ја трагата.\nКористење на трагата\nПронајдете ја вашата подигната трага во списокот на „GPS траги“ и кликнете на „уреди“ веднаш до неа. Potlatch ќе започне со оваа вчитана трага, плус ако има патни точки. Сега можете да цртате!\n\nМожете и да кликнете на ова копче за да ви се прикажат GPS трагите на сите корисници (но не патните точки) за тековниот реон. Држете Shift за да се прикажат само вашите траги.\nКористење на сателитски слики\nНе грижете се ако немате GPS-уред. Во некои градови имаме сателитски фотографии врз кои можете да цртате, добиени со поддршка од Yahoo! (благодариме!). Излезете и запишете ги имињата на улиците, па вратете се и исцртајте ги линиите врз нив.\n\nДоколку не гледате сателитски слики, кликнете на копчето за прилагодувања и проверете дали е одбрано „Yahoo!“ Ако сè уште не ги гледате, тогаш веројатно такви слики се недостапни за вашиот град, или пак треба малку да оддалечите.\n\nНа истово копче за прилагодувања има и други избори како карти на Британија со истечени права и OpenTopoMap. Сите тие се специјално избрани бидејќи ни е дозволено да ги користиме- не копирајте ничии карти и воздушни фотографии (Законите за авторски права се за никаде.)\n\nПонекогаш сателитските слики се малку разместени од фактичката местоположба на патиштата. Ако наидете на ова, држете го Space и влечете ја позадината додека не се порамнат. Секогаш имајте доверба во GPS трагите, а не сателитските слики.\n\nЦртање патишта\nЗа да нацртате пат почнувајќи од празен простор на картата, само кликнете таму; потоа на секоја точка на патот. Кога сте готови, кликнете два пати или притиснете Enter - потоа кликнете на некое друго место за да го одизберете патот.\n\nЗа да нацртате пат почнувајќи од друг пат, кликнете на патот за да го изберете; неговите точки ќе станат црвени. Држете Shift и кликнете на една од нив за да започнете нов пат од таа точка. (Ако нема црвена точка на крстосницата, направете Shift-клик за да се појави кадешто сакате!)\n\nКликнете на „Зачувај“ (најдолу-десно) кога сте готови. Зачувувајте често, во случај да се јават проблеми со опслужувачот.\n\nНе очекувајте промените веднаш да се појават на главната карта. За ова треба да поминат час-два, а во некои случаи и до една недела.\nПравење крстосници\nМногу е важно патиштата да имаат заедничка точка („јазол“) кадешто се среќаваат. Ова им служи на корисниците кои планираат пат за да знаат каде да свртат.\n\nPotlatch се грижи за ова доколку внимателно кликнете точно на патот кој го сврзувате. Гледајте ги олеснителните знаци: точките светнуваат сино, курсорот се менува, и кога сте готови, точката на крстосницата има црна контура.\nПоместување и бришење\nОва работи баш како што се би се очекувало. За да избришете точка, одберете ја и притиснете на Delete. За да избришете цел еден пат, притиснете Shift-Delete.\n\nЗа да поместите нешто, само повлечете го. (Ќе треба да кликнете и да подржите малку пред да влечете. Со ова се избегнуваат ненамерни поместувања.)\nПонапредно цртање\nАко два дела од еден пат имаат различни имиња, ќе треба да ги раздвоите. Кликнете на патот; потоа кликнете во точката кадешто сакате да го раздвоите, и кликнете на ножиците. (Можете да спојувате патишта со Control, или копчето со јаболко на Мекинтош, но не спојувајте два пата со различни имиња или типови.)\n\nКружните текови се многу тешки за цртање. Но за тоа помага самиот Potlatch. Нацртајте го кругот грубо, само внимавајте да ги споите краевите (т.е. да биде круг), и кликнете на „подреди“. (Ова се користи и за исправање на патишта.)\nТочки од интерес (POI)\nПрвото нешто што го научивте е како да влечете и пуштате точка од интерес. Можете и самите да правите вакви точки со двојно кликнување на картата: ќе се појави зелено кругче. Но како ќе знаеме дали се работи за ресторан, црква или нешто друго? Кликнете на „Означување“ погоре за да дознаете!\n\nКој вид на пат е тоа?\nШтом ќе нацртате пат, треба да назначите што е. Дали е главна магистрала, пешачка патека или река? Како се вика? Има ли некои посебни правила (на пр. „забрането велосипеди“)?\n\nВо OpenStreetMap ова го запишувате со „ознаки“. Ознаката има два дела, и можете да користите колку што сакате ознаки. На пример, можете да додадете i>highway | trunk за да назначите дека ова е главен магистрален пат; highway | residential за пат во населба; or highway | footway за пешачка патека. If bikes were banned, you could then add bicycle | no. Потоа, за да го запишете името, додајте name | Партизански Одреди.\n\nОзнаките на Potlatch се појавуваат најдолу на екранот - кликнете на постоечка улица, и ќе видите каква ознака има. Кликете на знакот „+“ (најдолу-десно) за да додадете нова ознака. Секоја ознака има „x“ со што можете да ја избришете.\n\nМожете да означувате цели патишта; точки на патишта (можеби порта или семафори); и точки од интерес.\nКористење на зададени ознаки\nЗа да ви помогне да започнете, Potlatch ви нуди готови, најпопуларни ознаки.\n\nОдберете го патот, па кликајте низ симболите додека не најдете соодветен. Потоа изберете ја најсоодветната можност од менито.\n\nСо ова се пополнуваат ознаките. Некои ќе останат делумно празни за да можете да впишете (на пример) име на улицата и број\nЕднонасочни патишта\nВи препорачуваме да додадете ознака за еднонасочни улици како oneway | yes - но како да познаете во која насока? Најдолу-лево има стрелка која го означува правецот напатот, од почеток до крај. Кликнете на неа за да ја свртите обратно.\nИзбор на ваши сопствени ознаки\nСекако, не сте ограничени само на зададените ознаки. Користете го копчето „+“ за да користите какви што сакате ознаки.\n\nМожете да видите какви ознаки користат другите на OSMdoc, а имаме и долг список на популарни ознаки на нашето вики нареченаЕлементи. Но тие се само предлози, а не правила. Најслободно измислувајте си свои ознаки или преземајте од други корисници.\n\nБидејќи податоците од OpenStreetMap се користат за изработување на различни карти, секоја карта прикажува свој избор од ознаки.\nРелации\nПонекогаш не се доволни само ознаки, па ќе треба да „групирате“ два или повеќе пата. Можеби вртењето од една улица во друга е забрането, или пак 20 патеки заедно сочиннуваат означена велосипедска патека. Ова се прави во напредното мени „релации“. Дознајте повеќе на викито.\n\nВраќање грешки\nОва е копчето за враќање (може и со стискање на Z) - ова ќе го врати последното нешто кое сте го направиле.\n\nМожете да „вратите“ претходно зачувана верзија на еден пат или точка. Одберете ја, па кликнете на нејзиниот ид. бр. (бројот најдолу-лево) - или притиснете на H (за „историја“). Ќе видите список на која се наведува кој ја уредувал и кога. Одберете ја саканата верзија, и стиснете на „Врати“.\n\nДоколку сте избришале пат по грешка и сте зачувале, притиснете U (за да вратите). Ќе се појават сите избришани патишта. Одберете го саканиот пат; отклучете го со кликнување на катанчето; и зачувајте.\n\nМислите дека некој друг корисник направил грешка? Испратете му пријателска порака. Користете ја историјата (H) за да му го изберете името, па кликнете на „Пошта“\n\nКористете го Инспекторот (во менито „Напредно“) за корисни информации за моменталниот пат или точка.\nЧПП\nКако да ги видам моите патни точки?\nПатните точки се појавуваат само ако кликнете на „уреди“ до името на трагата во „GPS траги“. Податотеката мора да има и патни точки и запис на трагата - опслужувачот не пропушта податотеки кои имаат само патни точки.\n\nПовеќе ЧПП за Potlatch и OpenStreetMap.\n\n\n\nПобрзо работење\nШто повеќе оддалечувате, тоа повеќе податоци мора да вчита Potlatch. Приближете пред да стиснете на „Уреди“\n\nИсклучете го „Користи курсори „молив“ и „рака““ (во прозорецот за прилагодување) за да добиете максимална брзина.\n\nАко опслужувачот работи бавно, вратете се подоцна. Проверете го викито за да проверите познати проблеми. Некои термини како недела навечер се секогаш оптоварени.\n\nКажете му на Potlatch да ги запамти вашите омилени комплети со ознаки. Одберете пат или точка со тие ознаки, па притиснете на Ctrl, Shift и на број од 1 до 9. Потоа за повторно да ги користите тие ознаки, само притиснете Shift и тој број. (Ќе се паметат секојпат кога го користите Potlatch на овој сметач.)\n\nПретворете ја вашата GPS трага во пат со тоа што ќе ја пронајдете на списокот „GPS траги“ и ќе кликнете на „уреди“ до неа, а потоа на кутивчето „претвори“. Трагата ќе се заклучи (црвено), затоа не зачувувајте. Најпрвин уредете ја, па кликнете на катанчето (најдолу-десно) за да ја отклучите кога сте спремни да ја зачувате.\n\nШто да кликате\nВлечете ја картата за да се движите наоколу.\nДвоен клик за да направите нова точка од интерес (POI).\nКликнете еднап за да започнете нов пат.\nДржете и влечете пат или точка од интерес (POI) за да ги поместите.\nКога цртате пат\nДвоен клик или Enter за да завршите со цртање.\nКликнете на друг пат за да направите крстосница.\nShift-клик на крајот на друг пат за да споите.\nКога ќе изберете пат\nКликнете на точката за да ја одберете.\nShift-клик на патот за да вметнете нова точка.\nShift-клик на точка за оттаму да започнете нов пат.\nCtrl-клик на друг пат за спојување.\n\nТастатурни кратенки\nB Додај позадинска изворна ознака\nC Затвори измени\nG Прикажи GPS траги\nH Прикажи историја\nI Прикажи инспектор\nJ сврзи точка за вкрстени патишта\n(+Shift) Unjoin from other ways\nK Заклучи/отклучи го моментално избраното\nL Прикажи моментална географска должина\nM Зголеми уредувачки прозорец\nP Создај паралелен пат\nR Повтори ги ознаките\nS Зачувај (освен ако не е во живо)\nT Подреди во права линија/круг\nU Врати избришано (прикажи избришани патишра)\nX Пресечи пат на две\nZ Врати\n- Отстрани точка само од овој пат\n+ Додај нова ознака\n/ Избор на друг пат со истава точка\nDelete Избриши точка\n (+Shift) Избриши цел пат\nEnter Заврши со цртање на линијата\nSpace Држи и влечи позадина\nEsc Откажи го ова уредување; превчитај од опслужувачот \n0 Отстрани ги сите ознаки\n1-9 Избор на зададени ознаки\n (+Shift) Избери запамтени ознаки\n (+S/Ctrl) Запамти ознаки\n§ или ` Кружи помеѓу групи ознаки\n\n" hint_drawmode: кликнете за да додадете точка,\nдвоен клик/Ентер\nза да ја завршите линијата hint_latlon: "Г.Ш. $1\nГ.Д. $2" hint_loading: вчитувам податоци diff --git a/config/potlatch/locales/pt-BR.yml b/config/potlatch/locales/pt-BR.yml index b91391f2a..4946784bb 100644 --- a/config/potlatch/locales/pt-BR.yml +++ b/config/potlatch/locales/pt-BR.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: syck # Author: BraulioBezerra +# Author: Giro720 # Author: Luckas Blade # Author: Nighto # Author: Rodrigo Avila @@ -197,7 +198,7 @@ pt-BR: prompt_manyways: Esta área contém muitos detalhes e demorará muito para carregar. Você prefere aproximar? prompt_microblog: Enviando para $1 ($2 restantes) prompt_revertversion: "Reverter para versão anterior:" - prompt_savechanges: Salvar mudanças + prompt_savechanges: Salvar alterações 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 diff --git a/config/potlatch/locales/rue.yml b/config/potlatch/locales/rue.yml new file mode 100644 index 000000000..6a123e9a2 --- /dev/null +++ b/config/potlatch/locales/rue.yml @@ -0,0 +1,155 @@ +# Messages for Rusyn (Русиньскый) +# Exported from translatewiki.net +# Export driver: syck +# Author: Gazeb +rue: + a_poi: $1 обєкту (POI) + a_way: $1 лінію + action_changeway: зміны в лінії + action_createpoi: створїня обєкту (POI) + action_insertnode: придаваня узла до лінії + action_mergeways: злучіня двох ліній + action_movepoi: пересуваня обєкту (POI) + action_moveway: пересуваня лінії + action_pointtags: наставлїня таґів на точку + action_reverseway: зміна напрямкы лінії + action_revertway: навернутя лінії + action_waytags: наставлїня таґів на лінію + advanced: Росшырене + advanced_close: Заперти саду змін + advanced_history: Історія лінії + advanced_inspector: Іншпектор + advanced_maximise: Максімалізовати окно + advanced_minimise: Мінімалізовати окно + advanced_parallel: Паралелна лінія + advanced_undelete: Обновити + advice_deletingpoi: Вымазаня обєкту (POI) (Z про зрушіня) + advice_deletingway: Вымазаня лінії (Z про зрушіня) + advice_revertingway: Навернутя до послїднёй уложеной лінії (Z про назад) + advice_toolong: Дуже довге про одомкнутя - просиме роздїльте до куртшых ліній + advice_uploadsuccess: Вшыткы дата успішно награты на сервер + cancel: Зрушыти + closechangeset: Заперти саду змін + conflict_poichanged: Потім, як сьте зачали едітованя, хтось змінив точку $1$2. + conflict_relchanged: Потім, як сьте зачали едітованя, хтось змінив звязок $1$2. + conflict_visitway: Стисните 'ОК', про вказаня лінії. + conflict_waychanged: Потім, як сьте зачали едітованя, хтось змінив лінію $1$2. + createrelation: Створити новый звязок + custom: "Шпеціалный:" + delete: Вымазати + editinglive: Едітованя нажыво + error_microblog_long: "Посыланя до $1 неможне:\nHTTP код: $2\nХыбове повідомлїня: $3\n$1 жыба: $4" + error_nopoi: Обєкт (POI) ся не нашов (може сьте посунули мапу?) — не дасть ся вернути назад. + error_nosharedpoint: Лінії $1 і $2 в сучасности не мають сполочну точку, также ся не можу вернути назад. + heading_drawing: Креслїня + heading_introduction: Вступ + heading_troubleshooting: Рїшіня проблему + help: Поміч + hint_drawmode: придайте точку кликнутём\nдвойклик/Enter\nукончіть лінію + hint_latlon: "шыр $1\nдов $2" + hint_overpoint: над точков ($1)\nкликнутём лінію напоїте + hint_pointselected: точка выбрана\n(Shift-ЛК на точці\nзачне нову лінію) + hint_saving: уложіня дат + inspector: Іншпектор + inspector_duplicate: Дуплікат + inspector_in_ways: В лініях + inspector_latlon: "Шыр $1\nДов $2" + inspector_locked: Замкнуто + inspector_node_count: ($1 раз) + inspector_unsaved: Неуложене + inspector_uploading: (награваня) + inspector_way_connects_to_principal: Споює з $1 $2 і $3 іншыма $4 + inspector_way_nodes: $1 узлы + loading: Награваня... + login_pwd: "Гесло:" + login_retry: Ваше мено хоснователя не было розознане, Спробуйте іщі раз. + login_title: Не годен войти + login_uid: "Мено хоснователя:" + mail: Е.пошта + more: Іщі + "no": Нїт + nobackground: Без позадя + offset_broadcanal: Набережна шырокого каналу + offset_choose: Выбер офсету (м) + offset_motorway: Автомаґістрала (D3) + offset_narrowcanal: Набережна узкого каналу + ok: Най буде + openchangeset: Отворям саду змін + option_layer_cycle_map: OSM — цікло-мапа + option_layer_maplint: OSM — Maplint (хыбы) + option_layer_nearmap: "Австралія: NearMap" + option_layer_ooc_25k: "В.БРІТАНІЯ істор.: 1:25k" + option_layer_ooc_7th: "В.БРІТАНІЯ істор.: 1:7000" + option_layer_ooc_npe: "В.БРІТАНІЯ істор.: NPE" + option_layer_os_streetview: "В.БРІТАНІЯ: OS StreetView" + option_layer_streets_haiti: "Гаїті: назвы уліць" + option_layer_surrey_air_survey: "UK: Surrey Air Survey" + option_layer_tip: Выберте позадя + option_photo: "Фото KML:" + option_thinareas: Тонкы лінії про поліґоны + option_thinlines: Тонкы лінії у вшыткых мірках мап + option_tiger: Вказати незміненый TIGER + option_warnings: Вказати плаваючі варованя + point: Точка + preset_icon_airport: Летїско + preset_icon_bar: Бар + preset_icon_bus_stop: Автобусова заставка + preset_icon_cafe: Кафе + preset_icon_cinema: Кіно + preset_icon_disaster: Будова на Гаїті + preset_icon_fast_food: Швыдка страва + preset_icon_ferry_terminal: Паром + preset_icon_fire_station: Пожарна станіця + preset_icon_hospital: Шпыталь + preset_icon_hotel: Готел + preset_icon_museum: Музей + preset_icon_parking: Паркованя + preset_icon_pharmacy: Лїкарня + preset_icon_police: Поліція + preset_icon_post_box: Поштова схранка + preset_icon_pub: Корчма + preset_icon_recycling: Кош на смітя + preset_icon_restaurant: Рештаврація + preset_icon_school: Школа + preset_icon_station: Желїзнічна станіця + preset_icon_supermarket: Супермаркет + preset_icon_taxi: Таксі + preset_icon_telephone: Телефон + preset_icon_theatre: Театр + preset_tip: Выберте з меню шаблонів теаів, пописанім в $1 + prompt_addtorelation: Придати $1 до звязку + prompt_changesetcomment: "Опиште вашы зміны:" + prompt_closechangeset: Заперти саду змін $1 + prompt_createparallel: Створїня паралелной лінії + prompt_editlive: Едітованя нажыво + prompt_helpavailable: Новый хоснователь? Поміч найдете вправо долов. + prompt_launch: Отворити екстерну URL + prompt_manyways: Тота область є дуже подробна і буде довго єй награвати. Преферуєте приближыти єй? + prompt_revertversion: "Вернути ся ку скоре уложеній верзії:" + prompt_savechanges: Уложыти зміны + prompt_taggedpoints: Дакоры точкы на тій лінії мають таґы. Справды змазати? + prompt_welcome: Вітайте на OpenStreetMap! + retry: Повтор + revert: Вернути назад + save: Уложыти + tags_descriptions: Опис '$1' + tags_findatag: Найти таґ + tags_findtag: Найти таґ + tags_matching: Популарны таґы згодны з "$1" + tip_anticlockwise: Проти дразї годіновой ручкы (кликнутём зміните напрямку) + tip_clockwise: По дразї годіновой ручкы (кликнутём зміните напрямку) + tip_direction: Напрямок лінії — змінити на протилежный + tip_options: Можности (выберте собі мапу про позадя) + tip_photo: Награти фото + tip_repeattag: Наставити таґы передтым выбраной лінії(R) + tip_tidy: Вырівнати точкы у лінії (Т) + tip_undo: "Назад: $1 (Z)" + uploading: Награваня... + uploading_deleting_pois: Змазаня (POI) + uploading_deleting_ways: Змазаня ліній + uploading_poi: Награваня (POI) $1 + uploading_poi_name: Награваня (POI) $1, $2 + uploading_way_name: Награваня лінії $1, $2 + warning: Позір! + way: Лінія + "yes": Гей diff --git a/config/routes.rb b/config/routes.rb index e2018784d..4608fb32c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -113,7 +113,6 @@ ActionController::Routing::Routes.draw do |map| map.connect '/index.html', :controller => 'site', :action => 'index' map.connect '/edit.html', :controller => 'site', :action => 'edit' map.connect '/export.html', :controller => 'site', :action => 'export' - map.connect '/search.html', :controller => 'way_tag', :action => 'search' map.connect '/login.html', :controller => 'user', :action => 'login' map.connect '/logout.html', :controller => 'user', :action => 'logout' map.connect '/create-account.html', :controller => 'user', :action => 'new' diff --git a/config/wiki_pages.yml b/config/wiki_pages.yml index 0cb7d28f0..8b6b774e7 100644 --- a/config/wiki_pages.yml +++ b/config/wiki_pages.yml @@ -55,6 +55,7 @@ de: man_made: DE:Key:man made maxheight: DE:Key:maxheight maxspeed: DE:Key:maxspeed + maxweight: DE:Key:maxweight military: DE:Key:military mtb:scale: DE:Key:mtb:scale name: DE:Key:name @@ -71,6 +72,7 @@ de: railway: DE:Key:railway route: DE:Key:route sac_scale: DE:Key:sac scale + seamark: DE:Key:seamark service: DE:Key:service shop: DE:Key:shop smoking: DE:Key:smoking @@ -92,15 +94,19 @@ de: amenity=baby_hatch: DE:Tag:amenity=baby hatch amenity=bank: DE:Tag:amenity=bank amenity=bench: DE:Tag:amenity=bench + amenity=bicycle_rental: DE:Tag:amenity=bicycle rental amenity=biergarten: DE:Tag:amenity=biergarten amenity=bus_station: DE:Tag:amenity=bus station amenity=clock: DE:Tag:amenity=clock amenity=compressed_air: DE:Tag:amenity=compressed air amenity=drinking_water: DE:Tag:amenity=drinking water + amenity=emergency_phone: DE:Tag:amenity=emergency phone amenity=fuel: DE:Tag:amenity=fuel amenity=grit_bin: DE:Tag:amenity=grit bin amenity=hospital: DE:Tag:amenity=hospital + amenity=hunting_stand: DE:Tag:amenity=hunting stand amenity=nightclub: DE:Tag:amenity=nightclub + amenity=nursing_home: DE:Tag:amenity=nursing home amenity=parking: DE:Tag:amenity=parking amenity=pharmacy: DE:Tag:amenity=pharmacy amenity=place_of_worship: DE:Tag:amenity=place of worship @@ -108,6 +114,7 @@ de: amenity=pub: DE:Tag:amenity=pub amenity=recycling: DE:Tag:amenity=recycling amenity=register_office: DE:Tag:amenity=register office + amenity=restaurant: DE:Tag:amenity=restaurant amenity=school: DE:Tag:amenity=school amenity=telephone: DE:Tag:amenity=telephone amenity=toilets: DE:Tag:amenity=toilets @@ -117,6 +124,7 @@ de: barrier=lift_gate: DE:Tag:barrier=lift gate boundary=water_protection_area: DE:Tag:boundary=water protection area club-mate=yes: DE:Tag:club-mate=yes + emergency=fire_hydrant: DE:Tag:emergency=fire hydrant highway=bus_stop: DE:Tag:highway=bus stop highway=crossing: DE:Tag:highway=crossing highway=cycleway: DE:Tag:highway=cycleway @@ -148,14 +156,17 @@ de: historic=monastery: DE:Tag:historic=monastery junction=roundabout: DE:Tag:junction=roundabout landuse=allotments: DE:Tag:landuse=allotments - landuse=farm: DE:Tag:landuse=farm + landuse=cemetery: DE:Tag:landuse=cemetery + landuse=farmland: DE:Tag:landuse=farmland landuse=farmyard: DE:Tag:landuse=farmyard landuse=forest: DE:Tag:landuse=forest landuse=meadow: DE:Tag:landuse=meadow landuse=orchard: DE:Tag:landuse=orchard landuse=quarry: DE:Tag:landuse=quarry + landuse=residential: DE:Tag:landuse=residential landuse=village_green: DE:Tag:landuse=village green leisure=dog_park: DE:Tag:leisure=dog park + leisure=garden: DE:Tag:leisure=garden leisure=playground: DE:Tag:leisure=playground leisure=slipway: DE:Tag:leisure=slipway man_made=crane: DE:Tag:man made=crane @@ -164,6 +175,7 @@ de: man_made=pipeline: DE:Tag:man made=pipeline man_made=survey_point: DE:Tag:man made=survey point man_made=wastewater_plant: DE:Tag:man made=wastewater plant + microbrewery=yes: DE:Tag:microbrewery=yes military=bunker: DE:Tag:military=bunker natural=stone: DE:Tag:natural=stone natural=tree: DE:Tag:natural=tree @@ -181,6 +193,7 @@ de: power=tower: DE:Tag:power=tower railway=crossing: DE:Tag:railway=crossing railway=halt: DE:Tag:railway=halt + railway=monorail: DE:Tag:railway=monorail railway=platform: DE:Tag:railway=platform railway=station: DE:Tag:railway=station railway=tram: DE:Tag:railway=tram @@ -220,6 +233,7 @@ en: atv: Key:atv barrier: Key:barrier basin: Key:basin + beacon: Key:beacon bicycle: Key:bicycle boat: Key:boat border_type: Key:border type @@ -227,8 +241,10 @@ en: bridge: Key:bridge building: Key:building bunker_type: Key:bunker type + buoy: Key:buoy capacity: Key:capacity cep: Key:cep + clothes: Key:clothes collection_times: Key:collection times comment: Key:comment construction: Key:construction @@ -245,6 +261,7 @@ en: designation: Key:designation destination: Key:destination direction: Key:direction + disabled: Key:disabled dispensing: Key:dispensing disused: Key:disused drink: Key:drink @@ -260,6 +277,7 @@ en: fenced: Key:fenced fixme: Key:fixme flood_prone: Key:flood prone + fog_signal: Key:fog signal foot: Key:foot ford: Key:ford fuel:discount: Key:fuel:discount @@ -276,18 +294,21 @@ en: internet_access: Key:internet access is_in: Key:is in junction: Key:junction + landmark: Key:landmark landuse: Key:landuse lanes: Key:lanes layer: Key:layer lcn_ref: Key:lcn ref leisure: Key:leisure length: Key:length + light: Key:light lit: Key:lit lit:perceived: Key:lit:perceived lock: Key:lock man_made: Key:man made managed: Key:managed manhole: Key:manhole + maxage: Key:maxage maxairdraft: Key:maxairdraft maxaxleload: Key:maxaxleload maxdraught: Key:maxdraught @@ -301,6 +322,7 @@ en: maxweight: Key:maxweight maxwidth: Key:maxwidth military: Key:military + minage: Key:minage minspeed: Key:minspeed monitoring:glonass: Key:monitoring:glonass monitoring:gps: Key:monitoring:gps @@ -351,6 +373,7 @@ en: route: Key:route sac_scale: Key:sac scale sagns_id: Key:sagns id + seabed_surface: Key:seabed surface seamark: Key:seamark seasonal:snowfall:regaintime: Key:seasonal:snowfall:regaintime service: Key:service @@ -361,12 +384,15 @@ en: snowplowing:category: Key:snowplowing:category source: Key:source sport: Key:sport + stars: Key:stars start_date: Key:start date step_count: Key:step count stop: Key:stop + sub_sea: Key:sub sea sulky: Key:sulky surface: Key:surface tactile_paving: Key:tactile paving + timezone: Key:timezone toll: Key:toll tourism: Key:tourism tracktype: Key:tracktype @@ -409,6 +435,7 @@ en: aeroway=taxiway: Tag:aeroway=taxiway aeroway=terminal: Tag:aeroway=terminal aeroway=windsock: Tag:aeroway=windsock + amenity=architect_office: Tag:amenity=architect office amenity=arts_centre: Tag:amenity=arts centre amenity=atm: Tag:amenity=atm amenity=audiologist: Tag:amenity=audiologist @@ -420,12 +447,14 @@ en: amenity=bicycle_parking: Tag:amenity=bicycle parking amenity=bicycle_rental: Tag:amenity=bicycle rental amenity=biergarten: Tag:amenity=biergarten + amenity=boat_storage: Tag:amenity=boat storage amenity=brothel: Tag:amenity=brothel amenity=bureau_de_change: Tag:amenity=bureau de change amenity=bus_station: Tag:amenity=bus station amenity=cafe: Tag:amenity=cafe amenity=car_rental: Tag:amenity=car rental amenity=car_sharing: Tag:amenity=car sharing + amenity=casino: Tag:amenity=casino amenity=cinema: Tag:amenity=cinema amenity=clock: Tag:amenity=clock amenity=coast_guard: Tag:amenity=coast guard @@ -438,11 +467,10 @@ en: amenity=doctors: Tag:amenity=doctors amenity=drinking_water: Tag:amenity=drinking water amenity=embassy: Tag:amenity=embassy - amenity=emergency_phone: Tag:amenity=emergency phone amenity=fast_food: Tag:amenity=fast food amenity=ferry_terminal: Tag:amenity=ferry terminal - amenity=fire_hydrant: Tag:amenity=fire hydrant amenity=fire_station: Tag:amenity=fire station + amenity=food_court: Tag:amenity=food court amenity=fountain: Tag:amenity=fountain amenity=fuel: Tag:amenity=fuel amenity=grave_yard: Tag:amenity=grave yard @@ -482,6 +510,7 @@ en: amenity=veterinary: Tag:amenity=veterinary amenity=waste_basket: Tag:amenity=waste basket amenity=waste_disposal: Tag:amenity=waste disposal + amenity=waste_transfer_station: Tag:amenity=waste transfer station amenity=watering_place: Tag:amenity=watering place atm=no: Tag:atm=no atm=yes: Tag:atm=yes @@ -502,6 +531,7 @@ en: barrier=sally_port: Tag:barrier=sally port barrier=stile: Tag:barrier=stile barrier=toll_booth: Tag:barrier=toll booth + barrier=turnstile: Tag:barrier=turnstile barrier=wall: Tag:barrier=wall boundary=administrative: Tag:boundary=administrative boundary=civil: Tag:boundary=civil @@ -515,9 +545,18 @@ en: building=parliament: Tag:building=parliament bunker_type=munitions: Tag:bunker type=munitions bunker_type=pillbox: Tag:bunker type=pillbox + clothes=sports: Tag:clothes=sports club-mate=yes: Tag:club-mate=yes cycleway=bike_box: Tag:cycleway=bike box denomination=mormon: Tag:denomination=mormon + emergency=ambulance_station: Tag:emergency=ambulance station + emergency=fire_extinguisher: Tag:emergency=fire extinguisher + emergency=fire_flapper: Tag:emergency=fire flapper + emergency=fire_hose: Tag:emergency=fire hose + emergency=fire_hydrant: Tag:emergency=fire hydrant + emergency=phone: Tag:emergency=phone + emergency=ses_station: Tag:emergency=ses station + emergency=siren: Tag:emergency=siren geological=palaeontological_site: Tag:geological=palaeontological site highway=bridleway: Tag:highway=bridleway highway=bus_guideway: Tag:highway=bus guideway @@ -539,14 +578,12 @@ en: highway=pedestrian: Tag:highway=pedestrian highway=platform: Tag:highway=platform highway=primary: Tag:highway=primary - highway=primary_link: Tag:highway=primary link highway=proposed: Tag:highway=proposed highway=raceway: Tag:highway=raceway highway=residential: Tag:highway=residential highway=rest_area: Tag:highway=rest area highway=road: Tag:highway=road highway=secondary: Tag:highway=secondary - highway=secondary_link: Tag:highway=secondary link highway=service: Tag:highway=service highway=services: Tag:highway=services highway=speed_camera: Tag:highway=speed camera @@ -558,7 +595,6 @@ en: highway=traffic_signals: Tag:highway=traffic signals highway=trail: Tag:highway=trail highway=trunk: Tag:highway=trunk - highway=trunk_link: Tag:highway=trunk link highway=turning_circle: Tag:highway=turning circle highway=unclassified: Tag:highway=unclassified historic=archaeological_site: Tag:historic=archaeological site @@ -583,6 +619,7 @@ en: landuse=commercial: Tag:landuse=commercial landuse=construction: Tag:landuse=construction landuse=farm: Tag:landuse=farm + landuse=farmland: Tag:landuse=farmland landuse=farmyard: Tag:landuse=farmyard landuse=forest: Tag:landuse=forest landuse=garages: Tag:landuse=garages @@ -606,7 +643,6 @@ en: landuse=street: Tag:landuse=street landuse=village_green: Tag:landuse=village green landuse=vineyard: Tag:landuse=vineyard - landuse=wood: Tag:landuse=wood leisure=beach_resort: Tag:leisure=beach resort leisure=common: Tag:leisure=common leisure=dance: Tag:leisure=dance @@ -619,20 +655,27 @@ en: leisure=marina: Tag:leisure=marina leisure=miniature_golf: Tag:leisure=miniature golf leisure=nature_reserve: Tag:leisure=nature reserve + leisure=paddling_pool: Tag:leisure=paddling pool leisure=park: Tag:leisure=park leisure=picnic_table: Tag:leisure=picnic table leisure=pitch: Tag:leisure=pitch leisure=playground: Tag:leisure=playground + leisure=ski_playground: Tag:leisure=ski playground leisure=slipway: Tag:leisure=slipway leisure=sports_centre: Tag:leisure=sports centre leisure=track: Tag:leisure=track + leisure=video_arcade: Tag:leisure=video arcade leisure=water_park: Tag:leisure=water park + man_made=adit: Tag:man made=adit + man_made=archimedes_screw: Tag:man made=archimedes screw man_made=beacon: Tag:man made=beacon + man_made=chimney: Tag:man made=chimney man_made=compass_rose: Tag:man made=compass rose man_made=crane: Tag:man made=crane man_made=cutline: Tag:man made=cutline man_made=dyke: Tag:man made=dyke - man_made=flagpole: Tag:man made=flagpole + man_made=fish_passage: Tag:man made=fish passage + man_made=flare: Tag:man made=flare man_made=ground_station: Tag:man made=ground station man_made=groyne: Tag:man made=groyne man_made=jetty: Tag:man made=jetty @@ -643,6 +686,7 @@ en: man_made=pipeline: Tag:man made=pipeline man_made=pumping_rig: Tag:man made=pumping rig man_made=reservoir_covered: Tag:man made=reservoir covered + man_made=storage_tank: Tag:man made=storage tank man_made=surveillance: Tag:man made=surveillance man_made=survey_point: Tag:man made=survey point man_made=tower: Tag:man made=tower @@ -651,8 +695,12 @@ en: man_made=water_well: Tag:man made=water well man_made=water_works: Tag:man made=water works man_made=watermill: Tag:man made=watermill + man_made=well: Tag:man made=well + man_made=wildlife_crossing: Tag:man made=wildlife crossing man_made=windmill: Tag:man made=windmill + man_made=windpump: Tag:man made=windpump man_made=works: Tag:man made=works + microbrewery=yes: Tag:microbrewery=yes military=airfield: Tag:military=airfield military=bunker: Tag:military=bunker military=naval_base: Tag:military=naval base @@ -661,13 +709,15 @@ en: natural=cave_entrance: Tag:natural=cave entrance natural=cliff: Tag:natural=cliff natural=coastline: Tag:natural=coastline + natural=dune: Tag:natural=dune natural=fell: Tag:natural=fell natural=glacier: Tag:natural=glacier natural=heath: Tag:natural=heath natural=lake: Tag:natural=lake natural=land: Tag:natural=land - natural=meadow: Tag:natural=meadow natural=peak: Tag:natural=peak + natural=rock: Tag:natural=rock + natural=scree: Tag:natural=scree natural=scrub: Tag:natural=scrub natural=spring: Tag:natural=spring natural=stone: Tag:natural=stone @@ -687,6 +737,8 @@ en: office=newspaper: Tag:office=newspaper office=ngo: Tag:office=ngo office=quango: Tag:office=quango + office=research: Tag:office=research + office=telecommunication: Tag:office=telecommunication office=travel_agent: Tag:office=travel agent pipeline=marker: Tag:pipeline=marker pipeline=valve: Tag:pipeline=valve @@ -751,8 +803,10 @@ en: service=yard: Tag:service=yard shop=SpotColor: Tag:shop=SpotColor shop=alcohol: Tag:shop=alcohol + shop=art: Tag:shop=art shop=bakery: Tag:shop=bakery shop=beauty: Tag:shop=beauty + shop=bed: Tag:shop=bed shop=beverages: Tag:shop=beverages shop=bicycle: Tag:shop=bicycle shop=books: Tag:shop=books @@ -764,18 +818,26 @@ en: shop=charity: Tag:shop=charity shop=chemist: Tag:shop=chemist shop=clothes: Tag:shop=clothes + shop=communication: Tag:shop=communication shop=computer: Tag:shop=computer shop=confectionery: Tag:shop=confectionery shop=convenience: Tag:shop=convenience + shop=copyshop: Tag:shop=copyshop + shop=curtain: Tag:shop=curtain + shop=deli: Tag:shop=deli shop=department_store: Tag:shop=department store + shop=dive: Tag:shop=dive shop=doityourself: Tag:shop=doityourself shop=dry_cleaning: Tag:shop=dry cleaning shop=electronics: Tag:shop=electronics - shop=fabrics: Tag:shop=fabrics + shop=erotic: Tag:shop=erotic + shop=fabric: Tag:shop=fabric shop=farm: Tag:shop=farm shop=florist: Tag:shop=florist shop=food: Tag:shop=food + shop=frame: Tag:shop=frame shop=funeral_directors: Tag:shop=funeral directors + shop=furnace: Tag:shop=furnace shop=furniture: Tag:shop=furniture shop=garden_centre: Tag:shop=garden centre shop=general: Tag:shop=general @@ -783,8 +845,10 @@ en: shop=glaziery: Tag:shop=glaziery shop=greengrocer: Tag:shop=greengrocer shop=hairdresser: Tag:shop=hairdresser + shop=hardware: Tag:shop=hardware shop=hearing_aids: Tag:shop=hearing aids shop=hifi: Tag:shop=hifi + shop=houseware: Tag:shop=houseware shop=ice_cream: Tag:shop=ice cream shop=jewelry: Tag:shop=jewelry shop=kiosk: Tag:shop=kiosk @@ -792,14 +856,18 @@ en: shop=locksmith: Tag:shop=locksmith shop=mall: Tag:shop=mall shop=massage: Tag:shop=massage + shop=mobile_phone: Tag:shop=mobile phone shop=money_lender: Tag:shop=money lender shop=motorcycle: Tag:shop=motorcycle shop=motorcycle_repair: Tag:shop=motorcycle repair + shop=musical_instrument: Tag:shop=musical instrument shop=newsagent: Tag:shop=newsagent shop=optician: Tag:shop=optician shop=organic: Tag:shop=organic shop=outdoor: Tag:shop=outdoor + shop=paint: Tag:shop=paint shop=pawnbroker: Tag:shop=pawnbroker + shop=pet: Tag:shop=pet shop=seafood: Tag:shop=seafood shop=second_hand: Tag:shop=second hand shop=shoes: Tag:shop=shoes @@ -807,8 +875,10 @@ en: shop=stationery: Tag:shop=stationery shop=supermarket: Tag:shop=supermarket shop=systembolaget: Tag:shop=systembolaget + shop=tattoo: Tag:shop=tattoo shop=toys: Tag:shop=toys - shop=travel_agency: Tag:shop=travel agency + shop=trade: Tag:shop=trade + shop=vacuum_cleaner: Tag:shop=vacuum cleaner shop=variety_store: Tag:shop=variety store shop=video: Tag:shop=video source:ele=barometric: Tag:source:ele=barometric @@ -818,16 +888,61 @@ en: 1:25000 map (2007) source=Isle_of_Man_Government_aerial_imagery_(2001): Tag:source=Isle of Man Government aerial imagery (2001) + sport=10pin: Tag:sport=10pin sport=9pin: Tag:sport=9pin + sport=american_football: Tag:sport=american football + sport=archery: Tag:sport=archery + sport=athletics: Tag:sport=athletics sport=australian_football: Tag:sport=australian football + sport=badminton: Tag:sport=badminton + sport=baseball: Tag:sport=baseball + sport=basketball: Tag:sport=basketball + sport=beachvolleyball: Tag:sport=beachvolleyball sport=boules: Tag:sport=boules + sport=bowls: Tag:sport=bowls + sport=canadian_football: Tag:sport=canadian football + sport=canoe: Tag:sport=canoe + sport=chess: Tag:sport=chess + sport=climbing: Tag:sport=climbing + sport=cricket: Tag:sport=cricket + sport=cricket_nets: Tag:sport=cricket nets + sport=croquet: Tag:sport=croquet + sport=cycling: Tag:sport=cycling sport=diving: Tag:sport=diving + sport=dog_racing: Tag:sport=dog racing + sport=equestrian: Tag:sport=equestrian + sport=gaelic_football: Tag:sport=gaelic football + sport=gaelic_games: Tag:sport=gaelic games + sport=golf: Tag:sport=golf + sport=gymnastics: Tag:sport=gymnastics + sport=hockey: Tag:sport=hockey + sport=horse_racing: Tag:sport=horse racing + sport=horseshoes: Tag:sport=horseshoes + sport=ice_stock: Tag:sport=ice stock + sport=korfball: Tag:sport=korfball + sport=motor: Tag:sport=motor + sport=multi: Tag:sport=multi sport=orienteering: Tag:sport=orienteering + sport=paddle_tennis: Tag:sport=paddle tennis + sport=paragliding: Tag:sport=paragliding + sport=pelota: Tag:sport=pelota + sport=racquet: Tag:sport=racquet sport=rowing: Tag:sport=rowing + sport=rugby_league: Tag:sport=rugby league + sport=rugby_union: Tag:sport=rugby union sport=shooting: Tag:sport=shooting + sport=skateboard: Tag:sport=skateboard + sport=skating: Tag:sport=skating + sport=skiing: Tag:sport=skiing sport=soccer: Tag:sport=soccer + sport=surfing: Tag:sport=surfing + sport=swimming: Tag:sport=swimming + sport=table_tennis: Tag:sport=table tennis + sport=team_handball: Tag:sport=team handball + sport=tennis: Tag:sport=tennis sport=toboggan: Tag:sport=toboggan sport=volleyball: Tag:sport=volleyball + sport=water_ski: Tag:sport=water ski sub_sea=reef: Tag:sub sea=reef tourism=alpine_hut: Tag:tourism=alpine hut tourism=aquarium: Tag:tourism=aquarium @@ -846,6 +961,7 @@ en: tourism=theme_park: Tag:tourism=theme park tourism=viewpoint: Tag:tourism=viewpoint tourism=zoo: Tag:tourism=zoo + tunnel=culvert: Tag:tunnel=culvert type=site: Tag:type=site vending=bicycle_tube: Tag:vending=bicycle tube waterway=boatyard: Tag:waterway=boatyard @@ -857,6 +973,7 @@ en: waterway=lock_gate: Tag:waterway=lock gate waterway=river: Tag:waterway=river waterway=riverbank: Tag:waterway=riverbank + waterway=seaway: Tag:waterway=seaway waterway=stream: Tag:waterway=stream waterway=turning_point: Tag:waterway=turning point waterway=water_point: Tag:waterway=water point @@ -868,6 +985,7 @@ es: amenity=bar: ES:Tag:amenity=bar amenity=recycling: ES:Tag:amenity=recycling highway=bus_stop: ES:Tag:highway=bus stop + railway=level_crossing: ES:Tag:railway=level crossing et: key: highway: Et:Key:highway @@ -890,6 +1008,7 @@ fi: natural: Fi:Key:natural note: Fi:Key:note operator: Fi:Key:operator + parking:lane:both: Fi:Key:parking:lane:both shop: Fi:Key:shop surface: Fi:Key:surface tracktype: Fi:Key:tracktype @@ -964,37 +1083,54 @@ fr: highway: FR:Key:highway landuse: FR:Key:landuse lanes: FR:Key:lanes + leisure: FR:Key:leisure + man_made: FR:Key:man made maxweight: FR:Key:maxweight name: FR:Key:name + natural: FR:Key:natural noname: FR:Key:noname opening_hours: FR:Key:opening hours + operator: FR:Key:operator + parking: FR:Key:parking place: FR:Key:place power: FR:Key:power sac_scale: FR:Key:sac scale shop: FR:Key:shop smoothness: FR:Key:smoothness + sport: FR:Key:sport + surface: FR:Key:surface + tracktype: FR:Key:tracktype waterway: FR:Key:waterway tag: aeroway=runway: FR:Tag:aeroway=runway amenity=bicycle_parking: FR:Tag:amenity=bicycle parking amenity=bicycle_rental: FR:Tag:amenity=bicycle rental + amenity=community_centre: FR:Tag:amenity=community centre amenity=fire_station: FR:Tag:amenity=fire station + amenity=library: FR:Tag:amenity=library amenity=pharmacy: FR:Tag:amenity=pharmacy amenity=recycling: FR:Tag:amenity=recycling + amenity=telephone: FR:Tag:amenity=telephone amenity=townhall: FR:Tag:amenity=townhall barrier=bollard: FR:Tag:barrier=bollard barrier=gate: FR:Tag:barrier=gate cycleway=bike_box: FR:Tag:cycleway=bike box + highway=bus_guideway: FR:Tag:highway=bus guideway highway=bus_stop: FR:Tag:highway=bus stop highway=crossing: FR:Tag:highway=crossing highway=cycleway: FR:Tag:highway=cycleway + highway=give_way: FR:Tag:highway=give way highway=motorway: FR:Tag:highway=motorway highway=motorway_link: FR:Tag:highway=motorway link + highway=track: FR:Tag:highway=track landuse=farmyard: FR:Tag:landuse=farmyard landuse=forest: FR:Tag:landuse=forest leisure=playground: FR:Tag:leisure=playground + man_made=cutline: FR:Tag:man made=cutline + man_made=surveillance: FR:Tag:man made=surveillance man_made=water_works: FR:Tag:man made=water works natural=tree: FR:Tag:natural=tree + natural=water: FR:Tag:natural=water place=city: FR:Tag:place=city place=hamlet: FR:Tag:place=hamlet place=locality: FR:Tag:place=locality @@ -1007,12 +1143,15 @@ fr: railway=subway_entrance: FR:Tag:railway=subway entrance shop=bakery: FR:Tag:shop=bakery shop=supermarket: FR:Tag:shop=supermarket + waterway=river: FR:Tag:waterway=river waterway=riverbank: FR:Tag:waterway=riverbank waterway=stream: FR:Tag:waterway=stream waterway=weir: FR:Tag:waterway=weir hr: key: tracktype: Hr:Key:tracktype + tag: + amenity=atm: Hr:Tag:amenity=atm hu: key: aeroway: HU:Key:aeroway @@ -1037,11 +1176,14 @@ it: geological: IT:Key:geological highway: IT:Key:highway historic: IT:Key:historic + incline: IT:Key:incline junction: IT:Key:junction landuse: IT:Key:landuse leisure: IT:Key:leisure lock: IT:Key:lock man_made: IT:Key:man made + maxheight: IT:Key:maxheight + maxwidth: IT:Key:maxwidth military: IT:Key:military mooring: IT:Key:mooring name: IT:Key:name @@ -1068,12 +1210,15 @@ it: type: IT:Key:type waterway: IT:Key:waterway wheelchair: IT:Key:wheelchair + width: IT:Key:width tag: amenity=bicycle_rental: IT:Tag:amenity=bicycle rental amenity=college: IT:Tag:amenity=college + amenity=fountain: IT:Tag:amenity=fountain amenity=fuel: IT:Tag:amenity=fuel amenity=hospital: IT:Tag:amenity=hospital amenity=kindergarten: IT:Tag:amenity=kindergarten + amenity=parking: IT:Tag:amenity=parking amenity=place_of_worship: IT:Tag:amenity=place of worship amenity=police: IT:Tag:amenity=police amenity=post_office: IT:Tag:amenity=post office @@ -1087,6 +1232,7 @@ it: highway=mini_roundabout: IT:Tag:highway=mini roundabout highway=motorway: IT:Tag:highway=motorway highway=motorway_link: IT:Tag:highway=motorway link + highway=pedestrian: IT:Tag:highway=pedestrian highway=primary: IT:Tag:highway=primary highway=primary_link: IT:Tag:highway=primary link highway=trunk: IT:Tag:highway=trunk @@ -1096,9 +1242,14 @@ it: landuse=construction: IT:Tag:landuse=construction leisure=beach_resort: IT:Tag:leisure=beach resort leisure=dog_park: IT:Tag:leisure=dog park + leisure=marina: IT:Tag:leisure=marina + railway=level_crossing: IT:Tag:railway=level crossing shop=butcher: IT:Tag:shop=butcher shop=car: IT:Tag:shop=car + shop=clothes: IT:Tag:shop=clothes shop=florist: IT:Tag:shop=florist + shop=newsagent: IT:Tag:shop=newsagent + tourism=artwork: IT:Tag:tourism=artwork ja: key: abutters: JA:Key:abutters @@ -1122,6 +1273,7 @@ ja: information: JA:Key:information internet_access: JA:Key:internet access landuse: JA:Key:landuse + lanes: JA:Key:lanes leisure: JA:Key:leisure man_made: JA:Key:man made military: JA:Key:military @@ -1150,6 +1302,7 @@ ja: amenity=baby_hatch: JA:Tag:amenity=baby hatch amenity=bus_station: JA:Tag:amenity=bus station amenity=cafe: JA:Tag:amenity=cafe + amenity=crematorium: JA:Tag:amenity=crematorium amenity=drinking_water: JA:Tag:amenity=drinking water amenity=fast_food: JA:Tag:amenity=fast food amenity=fire_station: JA:Tag:amenity=fire station @@ -1184,10 +1337,13 @@ ja: railway=station: JA:Tag:railway=station shop=doityourself: JA:Tag:shop=doityourself shop=garden_centre: JA:Tag:shop=garden centre + shop=gift: JA:Tag:shop=gift shop=motorcycle: JA:Tag:shop=motorcycle shop=outdoor: JA:Tag:shop=outdoor + tourism=hostel: JA:Tag:tourism=hostel tourism=hotel: JA:Tag:tourism=hotel tourism=information: JA:Tag:tourism=information + tourism=viewpoint: JA:Tag:tourism=viewpoint waterway=riverbank: JA:Tag:waterway=riverbank waterway=water_point: JA:Tag:waterway=water point nl: @@ -1200,13 +1356,18 @@ nl: zoo=petting_zoo: NL:Tag:zoo=petting zoo no: key: + amenity: No:Key:amenity + boundary: No:Key:boundary fenced: No:Key:fenced + maxheight:legal: No:Key:maxheight:legal maxheight:marine: No:Key:maxheight:marine + maxheight:physical: No:Key:maxheight:physical tag: amenity=bank: No:Tag:amenity=bank amenity=marketplace: No:Tag:amenity=marketplace amenity=pharmacy: No:Tag:amenity=pharmacy amenity=place_of_worship: No:Tag:amenity=place of worship + boundary=maritime: No:Tag:boundary=maritime pl: key: height: Pl:Key:height @@ -1316,10 +1477,12 @@ ru: aeroway: RU:Key:aeroway amenity: RU:Key:amenity area: RU:Key:area + barrier: RU:Key:barrier bicycle: RU:Key:bicycle boat: RU:Key:boat border_type: RU:Key:border type boundary: RU:Key:boundary + bridge: RU:Key:bridge building: RU:Key:building bunker_type: RU:Key:bunker type capacity: RU:Key:capacity @@ -1372,6 +1535,7 @@ ru: place: RU:Key:place population: RU:Key:population power: RU:Key:power + power_source: RU:Key:power source railway: RU:Key:railway ref: RU:Key:ref religion: RU:Key:religion @@ -1426,7 +1590,9 @@ ru: amenity=waste_basket: RU:Tag:amenity=waste basket amenity=waste_disposal: RU:Tag:amenity=waste disposal atm=yes: RU:Tag:atm=yes + barrier=fence: RU:Tag:barrier=fence barrier=lift_gate: RU:Tag:barrier=lift gate + barrier=toll_booth: RU:Tag:barrier=toll booth building=entrance: RU:Tag:building=entrance highway=bridleway: RU:Tag:highway=bridleway highway=bus_stop: RU:Tag:highway=bus stop @@ -1473,6 +1639,7 @@ ru: landuse=industrial: RU:Tag:landuse=industrial landuse=meadow: RU:Tag:landuse=meadow landuse=military: RU:Tag:landuse=military + landuse=peat_cutting: RU:Tag:landuse=peat cutting landuse=railway: RU:Tag:landuse=railway landuse=reservoir: RU:Tag:landuse=reservoir landuse=residential: RU:Tag:landuse=residential @@ -1482,6 +1649,7 @@ ru: man_made=cutline: RU:Tag:man made=cutline man_made=lighthouse: RU:Tag:man made=lighthouse man_made=pier: RU:Tag:man made=pier + natural=beach: RU:Tag:natural=beach natural=fell: RU:Tag:natural=fell natural=spring: RU:Tag:natural=spring natural=tree: RU:Tag:natural=tree @@ -1493,7 +1661,9 @@ ru: place=island: RU:Tag:place=island place=town: RU:Tag:place=town place=village: RU:Tag:place=village + power=generator: RU:Tag:power=generator power=line: RU:Tag:power=line + power=station: RU:Tag:power=station power=sub_station: RU:Tag:power=sub station power=tower: RU:Tag:power=tower railway=crossing: RU:Tag:railway=crossing @@ -1527,6 +1697,8 @@ ru: waterway=stream: RU:Tag:waterway=stream waterway=weir: RU:Tag:waterway=weir sv: + key: + access: Sv:Key:access tag: amenity=place_of_worship: Sv:Tag:amenity=place of worship tr: @@ -1553,7 +1725,5 @@ uk: highway=tertiary: Uk:Tag:highway=tertiary highway=trunk: Uk:Tag:highway=trunk highway=trunk_link: Uk:Tag:highway=trunk link -zh-hans: - key: - place: Zh-hans:Key:place + highway=unclassified: Uk:Tag:highway=unclassified diff --git a/db/migrate/20100910084426_add_callback_to_oauth_tokens.rb b/db/migrate/20100910084426_add_callback_to_oauth_tokens.rb new file mode 100644 index 000000000..179b80fab --- /dev/null +++ b/db/migrate/20100910084426_add_callback_to_oauth_tokens.rb @@ -0,0 +1,11 @@ +class AddCallbackToOauthTokens < ActiveRecord::Migration + def self.up + add_column :oauth_tokens, :callback_url, :string + add_column :oauth_tokens, :verifier, :string, :limit => 20 + end + + def self.down + remove_column :oauth_tokens, :callback_url + remove_column :oauth_tokens, :verifier + end +end diff --git a/public/openlayers/OpenLayers.js b/public/openlayers/OpenLayers.js index fe7a99241..3ff15e8f5 100644 --- a/public/openlayers/OpenLayers.js +++ b/public/openlayers/OpenLayers.js @@ -2,8 +2,8 @@ OpenLayers.js -- OpenLayers Map Viewer Library - Copyright 2005-2008 MetaCarta, Inc., released under the Clear BSD license. - Please see http://svn.openlayers.org/trunk/openlayers/license.txt + Copyright 2005-2010 OpenLayers Contributors, released under the Clear BSD + license. Please see http://svn.openlayers.org/trunk/openlayers/license.txt for the full text of the license. Includes compressed code under the following licenses: @@ -92,9 +92,9 @@ */ var OpenLayers={singleFile:true};(function(){var singleFile=(typeof OpenLayers=="object"&&OpenLayers.singleFile);var scriptLocation;window.OpenLayers={_scriptName:(!singleFile)?"lib/OpenLayers.js":"OpenLayers.js",_getScriptLocation:function(){if(scriptLocation!=undefined){return scriptLocation;} scriptLocation="";var isOL=new RegExp("(^|(.*?\\/))("+OpenLayers._scriptName+")(\\?|$)");var scripts=document.getElementsByTagName('script');for(var i=0,len=scripts.length;i";}else{var s=document.createElement("script");s.src=host+jsfiles[i];var h=document.getElementsByTagName("head").length?document.getElementsByTagName("head")[0]:document.body;h.appendChild(s);}} -if(docWrite){document.write(allScriptTags.join(""));}}})();OpenLayers.VERSION_NUMBER="OpenLayers 2.9.1 -- $Revision: 10129 $";OpenLayers.String={startsWith:function(str,sub){return(str.indexOf(sub)==0);},contains:function(str,sub){return(str.indexOf(sub)!=-1);},trim:function(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');},camelize:function(str){var oStringList=str.split('-');var camelizedString=oStringList[0];for(var i=1,len=oStringList.length;i1){initialize=arguments[i].prototype.initialize;arguments[i].prototype.initialize=function(){};extended=new arguments[i];if(initialize===undefined){delete arguments[i].prototype.initialize;}else{arguments[i].prototype.initialize=initialize;}} -parent=arguments[i].prototype;}else{parent=arguments[i];} +return selected;}};OpenLayers.Date={toISOString:(function(){if("toISOString"in Date.prototype){return function(date){return date.toISOString();}}else{function pad(num,len){var str=num+"";while(str.length1){initialize=Type.prototype.initialize;Type.prototype.initialize=function(){};extended=new Type();if(initialize===undefined){delete Type.prototype.initialize;}else{Type.prototype.initialize=initialize;}} +parent=Type.prototype;}else{parent=Type;} OpenLayers.Util.extend(extended,parent);} Class.prototype=extended;return Class;};OpenLayers.Class.isPrototype=function(){};OpenLayers.Class.create=function(){return function(){if(arguments&&arguments[0]!=OpenLayers.Class.isPrototype){this.initialize.apply(this,arguments);}};};OpenLayers.Class.inherit=function(){var superClass=arguments[0];var proto=new superClass(OpenLayers.Class.isPrototype);for(var i=1,len=arguments.length;i1e-12&&--iterLimit>0){var sinLambda=Math.sin(lambda),cosLambda=Math.cos(lambda);var sinSigma=Math.sqrt((cosU2*sinLambda)*(cosU2*sinLambda)+ +return number;};OpenLayers.Util.rad=function(x){return x*Math.PI/180;};OpenLayers.Util.deg=function(x){return x*180/Math.PI;};OpenLayers.Util.VincentyConstants={a:6378137,b:6356752.3142,f:1/298.257223563};OpenLayers.Util.distVincenty=function(p1,p2){var ct=OpenLayers.Util.VincentyConstants;var a=ct.a,b=ct.b,f=ct.f;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;} 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;} 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;return d;};OpenLayers.Util.getParameters=function(url){url=url||window.location.href;var paramsString="";if(OpenLayers.String.contains(url,'?')){var start=url.indexOf('?')+1;var end=OpenLayers.String.contains(url,"#")?url.indexOf('#'):url.length;paramsString=url.substring(start,end);} +B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));var s=b*A*(sigma-deltaSigma);var d=s.toFixed(3)/1000;return d;};OpenLayers.Util.destinationVincenty=function(lonlat,brng,dist){var u=OpenLayers.Util;var ct=u.VincentyConstants;var a=ct.a,b=ct.b,f=ct.f;var lon1=lonlat.lon;var lat1=lonlat.lat;var s=dist;var alpha1=u.rad(brng);var sinAlpha1=Math.sin(alpha1);var cosAlpha1=Math.cos(alpha1);var tanU1=(1-f)*Math.tan(u.rad(lat1));var cosU1=1/Math.sqrt((1+tanU1*tanU1)),sinU1=tanU1*cosU1;var sigma1=Math.atan2(tanU1,cosAlpha1);var sinAlpha=cosU1*sinAlpha1;var cosSqAlpha=1-sinAlpha*sinAlpha;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 sigma=s/(b*A),sigmaP=2*Math.PI;while(Math.abs(sigma-sigmaP)>1e-12){var cos2SigmaM=Math.cos(2*sigma1+sigma);var sinSigma=Math.sin(sigma);var cosSigma=Math.cos(sigma);var deltaSigma=B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)- +B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM)));sigmaP=sigma;sigma=s/(b*A)+deltaSigma;} +var tmp=sinU1*sinSigma-cosU1*cosSigma*cosAlpha1;var lat2=Math.atan2(sinU1*cosSigma+cosU1*sinSigma*cosAlpha1,(1-f)*Math.sqrt(sinAlpha*sinAlpha+tmp*tmp));var lambda=Math.atan2(sinSigma*sinAlpha1,cosU1*cosSigma-sinU1*sinSigma*cosAlpha1);var C=f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha));var L=lambda-(1-C)*f*sinAlpha*(sigma+C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)));var revAz=Math.atan2(sinAlpha,-tmp);return new OpenLayers.LonLat(lon1+u.deg(L),u.deg(lat2));};OpenLayers.Util.getParameters=function(url){url=url||window.location.href;var paramsString="";if(OpenLayers.String.contains(url,'?')){var start=url.indexOf('?')+1;var end=OpenLayers.String.contains(url,"#")?url.indexOf('#'):url.length;paramsString=url.substring(start,end);} var parameters={};var pairs=paramsString.split(/[&;]/);for(var i=0,len=pairs.length;i=0){if(coordinateminutes<10){coordinateminutes="0"+coordinateminutes;} +var str=coordinatedegrees+"\u00B0";if(dmsOption.indexOf('dm')>=0){if(coordinateminutes<10){coordinateminutes="0"+coordinateminutes;} str+=coordinateminutes+"'";if(dmsOption.indexOf('dms')>=0){if(coordinateseconds<10){coordinateseconds="0"+coordinateseconds;} str+=coordinateseconds+'"';}} if(axis=="lon"){str+=coordinate<0?OpenLayers.i18n("W"):OpenLayers.i18n("E");}else{str+=coordinate<0?OpenLayers.i18n("S"):OpenLayers.i18n("N");} @@ -231,7 +243,7 @@ else if(whichSide=="right"){el.style.borderRightWidth=borderSize+"px";el.style.b 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=0){return true;}return false;},_blend:function(c1,c2){var cc1=OpenLayers.Rico.Color.createFromHex(c1);cc1.blend(OpenLayers.Rico.Color.createFromHex(c2));return cc1;},_background:function(el){try{return OpenLayers.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;}};OpenLayers.Element={visible:function(element){return OpenLayers.Util.getElement(element).style.display!='none';},toggle:function(){for(var i=0,len=arguments.length;i=0){return true;}return false;},_blend:function(c1,c2){var cc1=OpenLayers.Rico.Color.createFromHex(c1);cc1.blend(OpenLayers.Rico.Color.createFromHex(c2));return cc1;},_background:function(el){try{return OpenLayers.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;}};OpenLayers.Element={visible:function(element){return OpenLayers.Util.getElement(element).style.display!='none';},toggle:function(){for(var i=0,len=arguments.length;i=maxExtent.right&&newBounds.right>maxExtent.right){newBounds=newBounds.add(-maxExtent.getWidth(),0);}} return newBounds;},CLASS_NAME:"OpenLayers.Bounds"});OpenLayers.Bounds.fromString=function(str){var bounds=str.split(",");return OpenLayers.Bounds.fromArray(bounds);};OpenLayers.Bounds.fromArray=function(bbox){return new OpenLayers.Bounds(parseFloat(bbox[0]),parseFloat(bbox[1]),parseFloat(bbox[2]),parseFloat(bbox[3]));};OpenLayers.Bounds.fromSize=function(size){return new OpenLayers.Bounds(0,size.h,size.w,0);};OpenLayers.Bounds.oppositeQuadrant=function(quadrant){var opp="";opp+=(quadrant.charAt(0)=='t')?'b':'t';opp+=(quadrant.charAt(1)=='l')?'r':'l';return opp;};OpenLayers.LonLat=OpenLayers.Class({lon:0.0,lat:0.0,initialize:function(lon,lat){this.lon=OpenLayers.Util.toFloat(lon);this.lat=OpenLayers.Util.toFloat(lat);},toString:function(){return("lon="+this.lon+",lat="+this.lat);},toShortString:function(){return(this.lon+", "+this.lat);},clone:function(){return new OpenLayers.LonLat(this.lon,this.lat);},add:function(lon,lat){if((lon==null)||(lat==null)){var msg=OpenLayers.i18n("lonlatAddError");OpenLayers.Console.error(msg);return null;} -return new OpenLayers.LonLat(this.lon+lon,this.lat+lat);},equals:function(ll){var equals=false;if(ll!=null){equals=((this.lon==ll.lon&&this.lat==ll.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(ll.lon)&&isNaN(ll.lat)));} +return new OpenLayers.LonLat(this.lon+OpenLayers.Util.toFloat(lon),this.lat+OpenLayers.Util.toFloat(lat));},equals:function(ll){var equals=false;if(ll!=null){equals=((this.lon==ll.lon&&this.lat==ll.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(ll.lon)&&isNaN(ll.lat)));} return equals;},transform:function(source,dest){var point=OpenLayers.Projection.transform({'x':this.lon,'y':this.lat},source,dest);this.lon=point.x;this.lat=point.y;return this;},wrapDateLine:function(maxExtent){var newLonLat=this.clone();if(maxExtent){while(newLonLat.lonmaxExtent.right){newLonLat.lon-=maxExtent.getWidth();}} -return newLonLat;},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(str){var pair=str.split(",");return new OpenLayers.LonLat(parseFloat(pair[0]),parseFloat(pair[1]));};OpenLayers.Pixel=OpenLayers.Class({x:0.0,y:0.0,initialize:function(x,y){this.x=parseFloat(x);this.y=parseFloat(y);},toString:function(){return("x="+this.x+",y="+this.y);},clone:function(){return new OpenLayers.Pixel(this.x,this.y);},equals:function(px){var equals=false;if(px!=null){equals=((this.x==px.x&&this.y==px.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(px.x)&&isNaN(px.y)));} +return newLonLat;},CLASS_NAME:"OpenLayers.LonLat"});OpenLayers.LonLat.fromString=function(str){var pair=str.split(",");return new OpenLayers.LonLat(pair[0],pair[1]);};OpenLayers.Pixel=OpenLayers.Class({x:0.0,y:0.0,initialize:function(x,y){this.x=parseFloat(x);this.y=parseFloat(y);},toString:function(){return("x="+this.x+",y="+this.y);},clone:function(){return new OpenLayers.Pixel(this.x,this.y);},equals:function(px){var equals=false;if(px!=null){equals=((this.x==px.x&&this.y==px.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(px.x)&&isNaN(px.y)));} return equals;},add:function(x,y){if((x==null)||(y==null)){var msg=OpenLayers.i18n("pixelAddError");OpenLayers.Console.error(msg);return null;} return new OpenLayers.Pixel(this.x+x,this.y+y);},offset:function(px){var newPx=this.clone();if(px){newPx=this.add(px.x,px.y);} return newPx;},CLASS_NAME:"OpenLayers.Pixel"});OpenLayers.Control=OpenLayers.Class({id:null,map:null,div:null,type:null,allowSelection:false,displayClass:"",title:"",autoActivate:false,active:null,handler:null,eventListeners:null,events:null,EVENT_TYPES:["activate","deactivate"],initialize:function(options){this.displayClass=this.CLASS_NAME.replace("OpenLayers.","ol").replace(/\./g,"");OpenLayers.Util.extend(this,options);this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);} @@ -338,56 +352,54 @@ if(parts[1]){var testLang=parts[0]+'-'+parts[1].toUpperCase();if(typeof OpenLaye if(!lang){OpenLayers.Console.warn('Failed to find OpenLayers.Lang.'+parts.join("-")+' dictionary, falling back to default language');lang=OpenLayers.Lang.defaultCode;} OpenLayers.Lang.code=lang;},translate:function(key,context){var dictionary=OpenLayers.Lang[OpenLayers.Lang.getCode()];var message=dictionary[key];if(!message){message=key;} if(context){message=OpenLayers.String.format(message,context);} -return message;}};OpenLayers.i18n=OpenLayers.Lang.translate;OpenLayers.Popup.Anchored=OpenLayers.Class(OpenLayers.Popup,{relativePosition:null,keepInMap:true,anchor:null,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){var newArguments=[id,lonlat,contentSize,contentHTML,closeBox,closeBoxCallback];OpenLayers.Popup.prototype.initialize.apply(this,newArguments);this.anchor=(anchor!=null)?anchor:{size:new OpenLayers.Size(0,0),offset:new OpenLayers.Pixel(0,0)};},destroy:function(){this.anchor=null;this.relativePosition=null;OpenLayers.Popup.prototype.destroy.apply(this,arguments);},show:function(){this.updatePosition();OpenLayers.Popup.prototype.show.apply(this,arguments);},moveTo:function(px){var oldRelativePosition=this.relativePosition;this.relativePosition=this.calculateRelativePosition(px);var newPx=this.calculateNewPx(px);var newArguments=new Array(newPx);OpenLayers.Popup.prototype.moveTo.apply(this,newArguments);if(this.relativePosition!=oldRelativePosition){this.updateRelativePosition();}},setSize:function(contentSize){OpenLayers.Popup.prototype.setSize.apply(this,arguments);if((this.lonlat)&&(this.map)){var px=this.map.getLayerPxFromLonLat(this.lonlat);this.moveTo(px);}},calculateRelativePosition:function(px){var lonlat=this.map.getLonLatFromLayerPx(px);var extent=this.map.getExtent();var quadrant=extent.determineQuadrant(lonlat);return OpenLayers.Bounds.oppositeQuadrant(quadrant);},updateRelativePosition:function(){},calculateNewPx:function(px){var newPx=px.offset(this.anchor.offset);var size=this.size||this.contentSize;var top=(this.relativePosition.charAt(0)=='t');newPx.y+=(top)?-size.h:this.anchor.size.h;var left=(this.relativePosition.charAt(1)=='l');newPx.x+=(left)?-size.w:this.anchor.size.w;return newPx;},CLASS_NAME:"OpenLayers.Popup.Anchored"});OpenLayers.Renderer.Canvas=OpenLayers.Class(OpenLayers.Renderer,{canvas:null,features:null,geometryMap:null,initialize:function(containerID){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.root=document.createElement("canvas");this.container.appendChild(this.root);this.canvas=this.root.getContext("2d");this.features={};this.geometryMap={};},eraseGeometry:function(geometry){this.eraseFeatures(this.features[this.geometryMap[geometry.id]][0]);},supported:function(){var canvas=document.createElement("canvas");return!!canvas.getContext;},setExtent:function(extent){this.extent=extent.clone();this.resolution=null;this.redraw();},setSize:function(size){this.size=size.clone();this.root.style.width=size.w+"px";this.root.style.height=size.h+"px";this.root.width=size.w;this.root.height=size.h;this.resolution=null;},drawFeature:function(feature,style){if(style==null){style=feature.style;} -style=OpenLayers.Util.extend({'fillColor':'#000000','strokeColor':'#000000','strokeWidth':2,'fillOpacity':1,'strokeOpacity':1},style);this.features[feature.id]=[feature,style];if(feature.geometry){this.geometryMap[feature.geometry.id]=feature.id;} -this.redraw();},drawGeometry:function(geometry,style){var className=geometry.CLASS_NAME;if((className=="OpenLayers.Geometry.Collection")||(className=="OpenLayers.Geometry.MultiPoint")||(className=="OpenLayers.Geometry.MultiLineString")||(className=="OpenLayers.Geometry.MultiPolygon")){for(var i=0;i1){middle=parseInt((leftIndex+rightIndex)/2);var placement=this.compare(this,newNode,OpenLayers.Util.getElement(this.order[middle]));if(placement>0){leftIndex=middle;}else{rightIndex=middle;}} this.order.splice(rightIndex,0,nodeId);this.indices[nodeId]=this.getZIndex(newNode);return this.getNextElement(rightIndex);},remove:function(node){var nodeId=node.id;var arrayIndex=OpenLayers.Util.indexOf(this.order,nodeId);if(arrayIndex>=0){this.order.splice(arrayIndex,1);delete this.indices[nodeId];if(this.order.length>0){var lastId=this.order[this.order.length-1];this.maxZIndex=this.indices[lastId];}else{this.maxZIndex=0;}}},clear:function(){this.order=[];this.indices={};this.maxZIndex=0;},exists:function(node){return(this.indices[node.id]!=null);},getZIndex:function(node){return node._style.graphicZIndex;},determineZIndex:function(node){var zIndex=node._style.graphicZIndex;if(zIndex==null){zIndex=this.maxZIndex;node._style.graphicZIndex=zIndex;}else if(zIndex>this.maxZIndex){this.maxZIndex=zIndex;}},getNextElement:function(index){var nextIndex=index+1;if(nextIndex0){this.vectorRoot.removeChild(this.vectorRoot.firstChild);}} -if(this.textRoot){while(this.textRoot.childNodes.length>0){this.textRoot.removeChild(this.textRoot.firstChild);}} +return returnVal;}};OpenLayers.Renderer.Elements=OpenLayers.Class(OpenLayers.Renderer,{rendererRoot:null,root:null,vectorRoot:null,textRoot:null,xmlns:null,indexer:null,BACKGROUND_ID_SUFFIX:"_background",LABEL_ID_SUFFIX:"_label",initialize:function(containerID,options){OpenLayers.Renderer.prototype.initialize.apply(this,arguments);this.rendererRoot=this.createRenderRoot();this.root=this.createRoot("_root");this.vectorRoot=this.createRoot("_vroot");this.textRoot=this.createRoot("_troot");this.root.appendChild(this.vectorRoot);this.root.appendChild(this.textRoot);this.rendererRoot.appendChild(this.root);this.container.appendChild(this.rendererRoot);if(options&&(options.zIndexing||options.yOrdering)){this.indexer=new OpenLayers.ElementsIndexer(options.yOrdering);}},destroy:function(){this.clear();this.rendererRoot=null;this.root=null;this.xmlns=null;OpenLayers.Renderer.prototype.destroy.apply(this,arguments);},clear:function(){var child;var root=this.vectorRoot;if(root){while(child=root.firstChild){root.removeChild(child);}} +root=this.textRoot;if(root){while(child=root.firstChild){root.removeChild(child);}} if(this.indexer){this.indexer.clear();}},getNodeType:function(geometry,style){},drawGeometry:function(geometry,style,featureId){var className=geometry.CLASS_NAME;var rendered=true;if((className=="OpenLayers.Geometry.Collection")||(className=="OpenLayers.Geometry.MultiPoint")||(className=="OpenLayers.Geometry.MultiLineString")||(className=="OpenLayers.Geometry.MultiPolygon")){for(var i=0,len=geometry.components.length;ithis.duration){if(this.callbacks&&this.callbacks.done){this.callbacks.done.call(this,this.finish);this.playing=false;} -window.clearInterval(this.interval);this.interval=null;}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(t,b,c,d){return c*t/d+b;},easeOut:function(t,b,c,d){return c*t/d+b;},easeInOut:function(t,b,c,d){return c*t/d+b;},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOut:function(t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOut:function(t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(t,b,c,d){return c*(t/=d)*t+b;},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOut:function(t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,arguments);},setMap:function(map){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var i=0,len=this.map.controls.length;ithis.duration){this.stop();}},CLASS_NAME:"OpenLayers.Tween"});OpenLayers.Easing={CLASS_NAME:"OpenLayers.Easing"};OpenLayers.Easing.Linear={easeIn:function(t,b,c,d){return c*t/d+b;},easeOut:function(t,b,c,d){return c*t/d+b;},easeInOut:function(t,b,c,d){return c*t/d+b;},CLASS_NAME:"OpenLayers.Easing.Linear"};OpenLayers.Easing.Expo={easeIn:function(t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOut:function(t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOut:function(t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},CLASS_NAME:"OpenLayers.Easing.Expo"};OpenLayers.Easing.Quad={easeIn:function(t,b,c,d){return c*(t/=d)*t+b;},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOut:function(t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},CLASS_NAME:"OpenLayers.Easing.Quad"};OpenLayers.Control.ArgParser=OpenLayers.Class(OpenLayers.Control,{center:null,zoom:null,layers:null,displayProjection:null,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,arguments);},setMap:function(map){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var i=0,len=this.map.controls.length;i5){barLen=5;}else if(firstChar>2){barLen=2;}else{barLen=1;} return barLen*pow10;},update:function(){var res=this.map.getResolution();if(!res){return;} -var curMapUnits=this.map.getUnits();var inches=OpenLayers.INCHES_PER_UNIT;var maxSizeData=this.maxWidth*res*inches[curMapUnits];var geodesicRatio=1;if(this.geodesic===true){var maxSizeGeodesic=this.getGeodesicLength(this.maxWidth);var maxSizeKilometers=maxSizeData/inches["km"];geodesicRatio=maxSizeGeodesic/maxSizeKilometers;maxSizeData*=geodesicRatio;} +var curMapUnits=this.map.getUnits();var inches=OpenLayers.INCHES_PER_UNIT;var maxSizeData=this.maxWidth*res*inches[curMapUnits];var geodesicRatio=1;if(this.geodesic===true){var maxSizeGeodesic=(this.map.getGeodesicPixelSize().w||0.000001)*this.maxWidth;var maxSizeKilometers=maxSizeData/inches["km"];geodesicRatio=maxSizeGeodesic/maxSizeKilometers;maxSizeData*=geodesicRatio;} var topUnits;var bottomUnits;if(maxSizeData>100000){topUnits=this.topOutUnits;bottomUnits=this.bottomOutUnits;}else{topUnits=this.topInUnits;bottomUnits=this.bottomInUnits;} var topMax=maxSizeData/inches[topUnits];var bottomMax=maxSizeData/inches[bottomUnits];var topRounded=this.getBarLen(topMax);var bottomRounded=this.getBarLen(bottomMax);topMax=topRounded/inches[curMapUnits]*inches[topUnits];bottomMax=bottomRounded/inches[curMapUnits]*inches[bottomUnits];var topPx=topMax/res/geodesicRatio;var bottomPx=bottomMax/res/geodesicRatio;if(this.eBottom.style.visibility=="visible"){this.eBottom.style.width=Math.round(bottomPx)+"px";this.eBottom.innerHTML=bottomRounded+" "+bottomUnits;} -if(this.eTop.style.visibility=="visible"){this.eTop.style.width=Math.round(topPx)+"px";this.eTop.innerHTML=topRounded+" "+topUnits;}},getGeodesicLength:function(pixels){var map=this.map;var centerPx=map.getPixelFromLonLat(map.getCenter());var bottom=map.getLonLatFromPixel(centerPx.add(0,-pixels/2));var top=map.getLonLatFromPixel(centerPx.add(0,pixels/2));var source=map.getProjectionObject();var dest=new OpenLayers.Projection("EPSG:4326");if(!source.equals(dest)){bottom.transform(source,dest);top.transform(source,dest);} -return OpenLayers.Util.distVincenty(bottom,top);},CLASS_NAME:"OpenLayers.Control.ScaleLine"});OpenLayers.Event={observers:false,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)));},isRightClick:function(event){return(((event.which)&&(event.which==3))||((event.button)&&(event.button==2)));},stop:function(event,allowDefault){if(!allowDefault){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}} +if(this.eTop.style.visibility=="visible"){this.eTop.style.width=Math.round(topPx)+"px";this.eTop.innerHTML=topRounded+" "+topUnits;}},CLASS_NAME:"OpenLayers.Control.ScaleLine"});OpenLayers.Event={observers:false,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)));},isRightClick:function(event){return(((event.which)&&(event.which==3))||((event.button)&&(event.button==2)));},stop:function(event,allowDefault){if(!allowDefault){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}} if(event.stopPropagation){event.stopPropagation();}else{event.cancelBubble=true;}},findElement:function(event,tagName){var element=OpenLayers.Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase()))){element=element.parentNode;} return element;},observe:function(elementParam,name,observer,useCapture){var element=OpenLayers.Util.getElement(elementParam);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent)){name='keydown';} if(!this.observers){this.observers={};} @@ -452,7 +463,7 @@ if(!this.element.lefttop){this.element.lefttop=[(document.documentElement.client if(!this.element.offsets){this.element.offsets=OpenLayers.Util.pagePosition(this.element);this.element.offsets[0]+=this.element.scrolls[0];this.element.offsets[1]+=this.element.scrolls[1];} 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["ar"]=OpenLayers.Util.applyDefaults({'permalink':"وصلة دائمة",'baseLayer':"الطبقة الاساسية",'readNotImplemented':"القراءة غير محققة.",'writeNotImplemented':"الكتابة غير محققة",'errorLoadingGML':"خطأ عند تحميل الملف جي ام ال ${url}",'scale':"النسبة = 1 : ${scaleDenom}",'W':"غ",'E':"شر",'N':"شم",'S':"ج"});OpenLayers.Lang["be-tarask"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Неапрацаваны вынік запыту ${statusText}",'permalink':"Сталая спасылка",'overlays':"Слаі",'baseLayer':"Базавы слой",'sameProjection':"Аглядная мапа працуе толькі калі яна мае тую ж праекцыю, што і асноўная мапа",'readNotImplemented':"Функцыянальнасьць чытаньня ня створаная.",'writeNotImplemented':"Функцыянальнасьць запісу ня створаная.",'noFID':"Немагчыма абнавіць магчымасьць, для якога не існуе FID.",'errorLoadingGML':"Памылка загрузкі файла GML ${url}",'browserNotSupported':"Ваш браўзэр не падтрымлівае вэктарную графіку. У цяперашні момант падтрымліваюцца: ${renderers}",'componentShouldBe':"addFeatures : кампанэнт павінен быць ${geomType}",'getFeatureError':"getFeatureFromEvent выкліканы для слоя бяз рэндэру. Звычайна гэта азначае, што Вы зьнішчылі слой, але пакінулі зьвязаны зь ім апрацоўшчык.",'minZoomLevelError':"Уласьцівасьць minZoomLevel прызначана толькі для выкарыстаньня са слаямі вытворнымі ад FixedZoomLevels. Тое, што гэты wfs-слой правяраецца на minZoomLevel — рэха прошлага. Але мы ня можам выдаліць гэтую магчымасьць, таму што ад яе залежаць некаторыя заснаваныя на OL дастасаваньні. Тым ня менш, праверка minZoomLevel будзе выдаленая ў вэрсіі 3.0. Калі ласка, выкарыстоўваеце замест яе ўстаноўкі мінімальнага/максымальнага памераў, як апісана тут: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-транзакцыя: ПОСЬПЕХ ${response}",'commitFailed':"WFS-транзакцыя: ПАМЫЛКА ${response}",'googleWarning':"Не атрымалася загрузіць слой Google. \x3cbr\x3e\x3cbr\x3eКаб пазбавіцца гэтага паведамленьня, выберыце новы базавы слой у сьпісе ў верхнім правым куце.\x3cbr\x3e\x3cbr\x3e Хутчэй за ўсё, прычына ў тым, што скрыпт бібліятэкі Google Maps ня быў уключаныя альбо не ўтрымлівае слушны API-ключ для Вашага сайта.\x3cbr\x3e\x3cbr\x3eРаспрацоўшчыкам: Для таго, каб даведацца як зрабіць так, каб усё працавала, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eнацісьніце тут\x3c/a\x3e",'getLayerWarning':"Немагчыма загрузіць слой ${layerType}.\x3cbr\x3e\x3cbr\x3eКаб пазбавіцца гэтага паведамленьня, выберыце новы базавы слой у сьпісе ў верхнім правым куце.\x3cbr\x3e\x3cbr\x3eХутчэй за ўсё, прычына ў тым, што скрыпт бібліятэкі ${layerLib} ня быў слушна ўключаны.\x3cbr\x3e\x3cbr\x3eРаспрацоўшчыкам: Для таго, каб даведацца як зрабіць так, каб усё працавала, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eнацісьніце тут\x3c/a\x3e",'scale':"Маштаб = 1 : ${scaleDenom}",'W':"З",'E':"У",'N':"Пн",'S':"Пд",'layerAlreadyAdded':"Вы паспрабавалі дадаць слой ${layerName} на мапу, але ён ужо дададзены",'reprojectDeprecated':"Вы выкарыстоўваеце ўстаноўку \'reproject\' для слоя ${layerName}. Гэтая ўстаноўка зьяўляецца састарэлай: яна выкарыстоўвалася для падтрымкі паказу зьвестак на камэрцыйных базавых мапах, але гэта функцыя цяпер рэалізаваная ў убудаванай падтрымцы сфэрычнай праекцыі Мэркатара. Дадатковая інфармацыя ёсьць на http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Гэты мэтад састарэлы і будзе выдалены ў вэрсіі 3.0. Калі ласка, замест яго выкарыстоўвайце ${newMethod}.",'boundsAddError':"Вам неабходна падаць абодва значэньні x і y для функцыі складаньня.",'lonlatAddError':"Вам неабходна падаць абодва значэньні lon і lat для функцыі складаньня.",'pixelAddError':"Вам неабходна падаць абодва значэньні x і y для функцыі складаньня.",'unsupportedGeometryType':"Тып геамэтрыі не падтрымліваецца: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: верагодна элемэнт з ідэнтыфікатарам ${elemId} займае няслушнае месца.",'filterEvaluateNotImplemented':"evaluate не рэалізаваны для гэтага тыпу фільтру."});OpenLayers.Lang["bg"]=OpenLayers.Util.applyDefaults({'permalink':"Постоянна препратка",'baseLayer':"Основен слой",'errorLoadingGML':"Грешка при зареждане на GML файл ${url}",'scale':"Мащаб = 1 : ${scaleDenom}",'layerAlreadyAdded':"Опитахте да добавите слой ${layerName} в картата, но той вече е добавен",'methodDeprecated':"Този метод е остарял и ще бъде премахват в 3.0. Вместо него използвайте ${newMethod}."});OpenLayers.Lang["br"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Distro evel reked anveret ${statusText}",'permalink':"Peurliamm",'overlays':"Gwiskadoù",'baseLayer':"Gwiskad diazez",'sameProjection':"Ne\'z ar gartenn lec\'hiañ en-dro nemet pa vez heñvel ar banndres anezhi ha hini ar gartenn bennañ",'readNotImplemented':"N\'eo ket emplementet al lenn.",'writeNotImplemented':"N\'eo ket emplementet ar skrivañ.",'noFID':"N\'haller ket hizivaat un elfenn ma n\'eus ket a niverenn-anaout (FID) eviti.",'errorLoadingGML':"Fazi e-ser kargañ ar restr GML ${url}",'browserNotSupported':"N\'eo ket skoret an daskor vektorel gant ho merdeer. Setu aze an daskorerioù skoret evit ar poent :\n${renderers}",'componentShouldBe':"addFeatures : bez\' e tlefe ar parzh besañ eus ar seurt ${geomType}",'getFeatureError':"Galvet eo bet getFeatureFromEvent called war ur gwiskad hep daskorer. Kement-se a dalvez ez eus bet freuzet ur gwiskad hag hoc\'h eus miret un embreger bennak stag outañ.",'minZoomLevelError':"Ne zleer implijout ar perzh minZoomLevel nemet evit gwiskadoù FixedZoomLevels-descendent. Ar fed ma wiria ar gwiskad WHS-se hag-eñ ez eus eus minZoomLevel zo un aspadenn gozh. Koulskoude n\'omp ket evit e ziverkañ kuit da derriñ arloadoù diazezet war OL a c\'hallfe bezañ stag outañ. Setu perak eo dispredet -- Lamet kuit e vo ar gwiriañ minZoomLevel a-is er stumm 3.0. Ober gant an arventennoù bihanañ/brasañ evel deskrivet amañ e plas : http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Treuzgread WFS : MAT EO ${response}",'commitFailed':"Treuzgread WFS Transaction: C\'HWITET ${response}",'googleWarning':"N\'eus ket bet gallet kargañ ar gwiskad Google ent reizh.\x3cbr\x3e\x3cbr\x3eEvit en em zizober eus ar c\'hemenn-mañ, dibabit ur BaseLayer nevez en diuzer gwiskadoù er c\'horn dehoù el laez.\x3cbr\x3e\x3cbr\x3eSur a-walc\'h eo peogwir n\'eo ket bet ensoc\'het levraoueg Google Maps pe neuze ne glot ket an alc\'hwez API gant ho lec\'hienn.\x3cbr\x3e\x3cbr\x3eDiorroerien : Evit reizhañ an dra-se, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eclick here\x3c/a\x3e",'getLayerWarning':"N\'haller ket kargañ ar gwiskad ${layerType} ent reizh.\x3cbr\x3e\x3cbr\x3eEvit en em zizober eus ar c\'hemenn-mañ, dibabit ur BaseLayer nevez en diuzer gwiskadoù er c\'horn dehoù el laez.\x3cbr\x3e\x3cbr\x3eSur a-walc\'h eo peogwir n\'eo ket bet ensoc\'het mat al levraoueg ${layerLib}.\x3cbr\x3e\x3cbr\x3eDiorroerien : Evit gouzout penaos reizhañ an dra-se, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclick here\x3c/a\x3e",'scale':"Skeul = 1 : ${scaleDenom}",'W':"K",'E':"R",'N':"N",'S':"S",'layerAlreadyAdded':"Klasket hoc\'h eus ouzhpennañ ar gwiskad : ${layerName} d\'ar gartenn, met ouzhpennet e oa bet c\'hoazh",'reprojectDeprecated':"Emaoc\'h oc\'h implijout an dibarzh \'reproject\' war ar gwiskad ${layerName}. Dispredet eo an dibarzh-mañ : bet eo hag e talveze da ziskwel roadennoù war-c\'horre kartennoù diazez kenwerzhel, un dra hag a c\'haller ober bremañ gant an arc\'hwel dre skor banndres boullek Mercator. Muioc\'h a ditouroù a c\'haller da gaout war http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Dispredet eo an daore-se ha tennet e vo kuit eus ar stumm 3.0. Grit gant ${newMethod} e plas.",'boundsAddError':"Rekis eo tremen an div dalvoudenn x ha y d\'an arc\'hwel add.",'lonlatAddError':"Rekis eo tremen an div dalvoudenn hedred ha ledred d\'an arc\'hwel add.",'pixelAddError':"Rekis eo tremen an div dalvoudenn x ha y d\'an arc\'hwel add.",'unsupportedGeometryType':"Seurt mentoniezh anskoret : ${geomType}",'pagePositionFailed':"C\'hwitet eo OpenLayers.Util.pagePosition : marteze emañ lec\'hiet fall an elfenn id ${elemId}.",'filterEvaluateNotImplemented':"N\'eo ket bet emplementet ar priziañ evit seurt siloù c\'hoazh."});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.

"+"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.

"+"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.

"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"féu clic aquí",'getLayerWarning':"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.

"+"Probablement això és degut a que l'script de la biblioteca "+"${layerLib} "+"no ha estat inclòs a la vostra pàgina.

"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"féu clic aquí",'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["cs-CZ"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nezpracovaná návratová hodnota ${statusText}",'permalink':"Trvalý odkaz",'overlays':"Překryvné vrstvy",'baseLayer':"Podkladové vrstvy",'sameProjection':"Přehledka pracuje správně pouze tehdy, pokud je ve stejné projekci jako hlavní mapa",'readNotImplemented':"Read není implementováno.",'writeNotImplemented':"Write není implementováno.",'noFID':"Nelze aktualizovat prvek, pro který neexistuje FID.",'errorLoadingGML':"Chyba při načítání souboru GML ${url}",'browserNotSupported':"Váš prohlížeč nepodporuje vykreslování vektorů. Momentálně podporované nástroje jsou::\n${renderers}",'componentShouldBe':"addFeatures : komponenta by měla být ${geomType}",'getFeatureError':"getFeatureFromEvent bylo zavoláno na vrstvě, která nemá vykreslovač. To obyčejně znamená, že jste odstranil vrstvu, ale ne rutinu s ní asociovanou.",'minZoomLevelError':"Vlastnost minZoomLevel by se měla používat pouze s potomky FixedZoomLevels vrstvami. To znamená, že vrstva wfs kontroluje, zda-li minZoomLevel není zbytek z minulosti.Nelze to ovšem vyjmout bez možnosti, že bychom rozbili aplikace postavené na OL, které by na tom mohly záviset. Proto tuto vlastnost nedoporučujeme používat -- kontrola minZoomLevel bude odstraněna ve verzi 3.0. Použijte prosím raději nastavení min/max podle příkaldu popsaného na: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: ÚSPĚCH ${response}",'commitFailed':"WFS Transaction: CHYBA ${response}",'googleWarning':"Nepodařilo se správně načíst vrstvu Google.\x3cbr\x3e\x3cbr\x3eAbyste se zbavili této zprávy, zvolte jinou základní vrstvu v přepínači vrstev.\x3cbr\x3e\x3cbr\x3eTo se většinou stává, pokud nebyl načten skript, nebo neobsahuje správný klíč pro API pro tuto stránku.\x3cbr\x3e\x3cbr\x3eVývojáři: Pro pomoc, aby tohle fungovalo , \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eklikněte sem\x3c/a\x3e",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.\x3cbr\x3e\x3cbr\x3eTo get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.\x3cbr\x3e\x3cbr\x3eMost likely, this is because the ${layerLib} library script was either not correctly included.\x3cbr\x3e\x3cbr\x3eDevelopers: For help getting this working correctly, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclick here\x3c/a\x3e",'scale':"Měřítko = 1 : ${scaleDenom}",'layerAlreadyAdded':"Pokusili jste se přidat vrstvu: ${layerName} do mapy, ale tato vrstva je již v mapě přítomna.",'reprojectDeprecated':"Použil jste volbu \'reproject\' ve vrstvě ${layerName}. Tato volba není doporučená: byla zde proto, aby bylo možno zobrazovat data z okomerčních serverů, ale tato funkce je nyní zajištěna pomocí podpory Spherical Mercator. Více informací naleznete na http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Tato metoda je zavržená a bude ve verzi 3.0 odstraněna. Prosím, použijte raději ${newMethod}.",'boundsAddError':"Pro přídavnou funkci musíte zadat obě souřadnice x a y.",'lonlatAddError':"Pro přídavnou funkci musíte zadat obě souřadnice lon a lat.",'pixelAddError':"Pro přídavnou funkci musíte zadat obě souřadnice x a y.",'unsupportedGeometryType':"Nepodporovaný typ geometrie: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition selhalo: element s id ${elemId} je asi umístěn chybně."});OpenLayers.Lang['da-DK']={'unhandledRequest':"En ikke håndteret forespørgsel returnerede ${statusText}",'permalink':"Permalink",'overlays':"Kortlag",'baseLayer':"Baggrundslag",'sameProjection':"Oversigtskortet fungerer kun når det har samme projektion som hovedkortet",'readNotImplemented':"Læsning er ikke implementeret.",'writeNotImplemented':"Skrivning er ikke implementeret.",'noFID':"Kan ikke opdateret en feature (et objekt) der ikke har et FID.",'errorLoadingGML':"Fejlede under indlæsning af GML fil ${url}",'browserNotSupported':"Din browser understøtter ikke vektor visning. Følgende vektor visninger understøttes:\n${renderers}",'componentShouldBe':"addFeatures : komponenten skal være en ${geomType}",'getFeatureError':"getFeatureFromEvent blev kaldt på et lag uden en visning. Dette betyder som regel at du "+"har destrueret et lag, men ikke de håndteringer der var tilknyttet.",'minZoomLevelError':"Egenskaben minZoomLevel er kun beregnet til brug "+"med FixedZoomLevels. At dette WFS lag kontrollerer "+"minZoomLevel egenskaben, er et levn fra en tidligere "+"version. Vi kan desværre ikke fjerne dette uden at risikere "+"at ødelægge eksisterende OL baserede programmer der "+" benytter denne funktionalitet. "+"Egenskaben bør derfor ikke anvendes, og minZoomLevel "+"kontrollen herunder vil blive fjernet i version 3.0. "+"Benyt istedet min/max opløsnings indstillingerne, som "+"er beskrevet her: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS transaktion: LYKKEDES ${response}",'commitFailed':"WFS transaktion: MISLYKKEDES ${response}",'googleWarning':"Google laget kunne ikke indlæses.

"+"For at fjerne denne besked, vælg et nyt bagrundskort i "+"lagskifteren i øverste højre hjørne.

"+"Fejlen skyldes formentlig at Google Maps bibliotekts "+"scriptet ikke er inkluderet, eller ikke indeholder den "+"korrkte API nøgle for dit site.

"+"Udviklere: For hjælp til at få dette til at fungere, "+"klik her",'getLayerWarning':"${layerType}-laget kunne ikke indlæses.

"+"For at fjerne denne besked, vælg et nyt bagrundskort i "+"lagskifteren i øverste højre hjørne.

"+"Fejlen skyldes formentlig at ${layerLib} bibliotekts "+"scriptet ikke er inkluderet.

"+"Udviklere: For hjælp til at få dette til at fungere, "+"klik her",'scale':"Målforhold = 1 : ${scaleDenom}",'layerAlreadyAdded':"Du har forsøgt at tilføje laget: ${layerName} til kortet, men det er allerede tilføjet",'reprojectDeprecated':"Du anvender indstillingen 'reproject' på laget ${layerName}."+"Denne indstilling bør ikke længere anvendes. Den var beregnet "+"til at vise data ovenpå kommercielle grundkort, men den funktionalitet "+"bør nu opnås ved at anvende Spherical Mercator understøttelsen. "+"Mere information er tilgængelig her: "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Denne funktion bør ikke længere anvendes, og vil blive fjernet i version 3.0. "+"Anvend venligst funktionen ${newMethod} istedet.",'boundsAddError':"Du skal angive både x og y værdier i kaldet til add funktionen.",'lonlatAddError':"Du skal angive både lon og lat værdier i kaldet til add funktionen.",'pixelAddError':"Du skal angive både x og y værdier i kaldet til add funktionen.",'unsupportedGeometryType':"Geometri typen: ${geomType} er ikke understøttet.",'pagePositionFailed':"OpenLayers.Util.pagePosition fejlede: elementet med id ${elemId} er måske placeret forkert.",'filterEvaluateNotImplemented':"evaluering er ikke implementeret for denne filter type."};OpenLayers.Lang["de"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Unbehandelte Anfragerückmeldung ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Grundkarte",'sameProjection':"Die Übersichtskarte funktioniert nur, wenn sie dieselbe Projektion wie die Hauptkarte verwendet",'readNotImplemented':"Lesen nicht implementiert.",'writeNotImplemented':"Schreiben nicht implementiert.",'noFID':"Ein Feature, für das keine FID existiert, kann nicht aktualisiert werden.",'errorLoadingGML':"Fehler beim Laden der GML-Datei ${url}",'browserNotSupported':"Ihr Browser unterstützt keine Vektordarstellung. Aktuell unterstützte Renderer:\n${renderers}",'componentShouldBe':"addFeatures: Komponente muss vom Typ ${geomType} sein",'getFeatureError':"getFeatureFromEvent wurde vom einem Layer ohne Renderer aufgerufen. Dies bedeutet normalerweise, dass ein Layer entfernt wurde, aber nicht Handler, die auf ihn verweisen.",'minZoomLevelError':"Die \x3ccode\x3eminZoomLevel\x3c/code\x3e-Eigenschaft ist nur für die Verwendung mit \x3ccode\x3eFixedZoomLevels\x3c/code\x3e-untergeordneten Layers vorgesehen. Das dieser \x3ctt\x3ewfs\x3c/tt\x3e-Layer die \x3ccode\x3eminZoomLevel\x3c/code\x3e-Eigenschaft überprüft ist ein Relikt der Vergangenheit. Wir können diese Überprüfung nicht entfernen, ohne das OL basierende Applikationen nicht mehr funktionieren. Daher markieren wir es als veraltet - die \x3ccode\x3eminZoomLevel\x3c/code\x3e-Überprüfung wird in Version 3.0 entfernt werden. Bitte verwenden Sie stattdessen die Min-/Max-Lösung, wie sie unter http://trac.openlayers.org/wiki/SettingZoomLevels beschrieben ist.",'commitSuccess':"WFS-Transaktion: Erfolgreich ${response}",'commitFailed':"WFS-Transaktion: Fehlgeschlagen ${response}",'googleWarning':"Der Google-Layer konnte nicht korrekt geladen werden.\x3cbr\x3e\x3cbr\x3eUm diese Meldung nicht mehr zu erhalten, wählen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.\x3cbr\x3e\x3cbr\x3eSehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der Google-Maps-Bibliothek nicht eingebunden wurde oder keinen gültigen API-Schlüssel für Ihre URL enthält.\x3cbr\x3e\x3cbr\x3eEntwickler: Besuche \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3edas Wiki\x3c/a\x3e für Hilfe zum korrekten Einbinden des Google-Layers",'getLayerWarning':"Der ${layerType}-Layer konnte nicht korrekt geladen werden.\x3cbr\x3e\x3cbr\x3eUm diese Meldung nicht mehr zu erhalten, wählen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.\x3cbr\x3e\x3cbr\x3eSehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der \'${layerLib}\'-Bibliothek nicht eingebunden wurde.\x3cbr\x3e\x3cbr\x3eEntwickler: Besuche \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3edas Wiki\x3c/a\x3e für Hilfe zum korrekten Einbinden von Layern",'scale':"Maßstab = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"S",'layerAlreadyAdded':"Sie versuchen den Layer „${layerName}“ zur Karte hinzuzufügen, er wurde aber bereits hinzugefügt",'reprojectDeprecated':"Sie verwenden die „Reproject“-Option des Layers ${layerName}. Diese Option ist veraltet: Sie wurde entwickelt um die Anzeige von Daten auf kommerziellen Basiskarten zu unterstützen, aber diese Funktion sollte jetzt durch Unterstützung der „Spherical Mercator“ erreicht werden. Weitere Informationen sind unter http://trac.openlayers.org/wiki/SphericalMercator verfügbar.",'methodDeprecated':"Die Methode ist veraltet und wird in 3.0 entfernt. Bitte verwende stattdessen ${newMethod}.",'boundsAddError':"Beide Werte (x und y) müssen der add-Funktion übergeben werden.",'lonlatAddError':"Beide Werte (lon und lat) müssen der add-Funktion übergeben werden.",'pixelAddError':"Beide Werte (x und y) müssen der add-Funktion übergeben werden.",'unsupportedGeometryType':"Nicht unterstützter Geometrie-Typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fehlgeschlagen: Element mit Id ${elemId} möglicherweise falsch platziert.",'filterEvaluateNotImplemented':"„evaluate“ ist für diesen Filter-Typ nicht implementiert."});OpenLayers.Lang["el"]=OpenLayers.Util.applyDefaults({'scale':"Κλίμακα ~ 1 : ${scaleDenom}"});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.

"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.

"+"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.

"+"Developers: For help getting this working correctly, "+"click here",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.

"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.

"+"Most likely, this is because the ${layerLib} library "+"script was not correctly included.

"+"Developers: For help getting this working correctly, "+"click here",'scale':"Scale = 1 : ${scaleDenom}",'W':'W','E':'E','N':'N','S':'S','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.

"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.

"+"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.

"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"haga clic aquí",'getLayerWarning':"La capa ${layerType} no pudo ser cargada correctamente.

"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.

"+"Probablemente, esto se debe a que el script de "+"la biblioteca ${layerLib} "+"no fue correctamente incluido en su página.

"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"haga clic aquí",'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["fi"]=OpenLayers.Util.applyDefaults({'permalink':"Ikilinkki",'overlays':"Kerrokset",'baseLayer':"Peruskerros",'sameProjection':"Yleiskuvakarttaa voi käyttää vain, kun sillä on sama projektio kuin pääkartalla.",'W':"L",'E':"I",'N':"P",'S':"E"});OpenLayers.Lang["fr"]=OpenLayers.Util.applyDefaults({'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.\x3cbr\x3e\x3cbr\x3ePour supprimer ce message, choisissez une nouvelle BaseLayer dans le sélecteur de couche en haut à droite.\x3cbr\x3e\x3cbr\x3eCela 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.\x3cbr\x3e\x3cbr\x3eDéveloppeurs : pour savoir comment corriger ceci, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3ecliquez ici\x3c/a\x3e",'getLayerWarning':"La couche ${layerType} n\'est pas en mesure de se charger correctement.\x3cbr\x3e\x3cbr\x3ePour supprimer ce message, choisissez une nouvelle BaseLayer dans le sélecteur de couche en haut à droite.\x3cbr\x3e\x3cbr\x3eCela est possiblement causé par la non-inclusion de la librairie ${layerLib}.\x3cbr\x3e\x3cbr\x3eDéveloppeurs : pour savoir comment corriger ceci, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3ecliquez ici\x3c/a\x3e",'scale':"Echelle ~ 1 : ${scaleDenom}",'W':"O",'E':"E",'N':"N",'S':"S",'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é.",'filterEvaluateNotImplemented':"évaluer n\'a pas encore été implémenté pour ce type de filtre."});OpenLayers.Lang["fur"]=OpenLayers.Util.applyDefaults({'permalink':"Leam Permanent",'overlays':"Livei parsore",'baseLayer':"Livel di base",'browserNotSupported':"Il to sgarfadôr nol supuarte la renderizazion vetoriâl. Al moment a son supuartâts:\n${renderers}",'scale':"Scjale = 1 : ${scaleDenom}",'W':"O",'E':"E",'N':"N",'S':"S"});OpenLayers.Lang["gl"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Solicitude non xerada; a resposta foi: ${statusText}",'permalink':"Ligazón permanente",'overlays':"Capas superpostas",'baseLayer':"Capa base",'sameProjection':"A vista xeral do mapa só funciona cando está na mesma proxección có mapa principal",'readNotImplemented':"Lectura non implementada.",'writeNotImplemented':"Escritura non implementada.",'noFID':"Non se pode actualizar a funcionalidade para a que non hai FID.",'errorLoadingGML':"Erro ao cargar o ficheiro GML $(url)",'browserNotSupported':"O seu navegador non soporta a renderización de vectores. Os renderizadores soportados actualmente son:\n${renderers}",'componentShouldBe':"addFeatures: o compoñente debera ser de tipo ${geomType}",'getFeatureError':"getFeatureFromEvent ten sido chamado a unha capa sen renderizador. Isto normalmente significa que destruíu unha capa, mais non o executador que está asociado con ela.",'minZoomLevelError':"A propiedade minZoomLevel é só para uso conxuntamente coas capas FixedZoomLevels-descendent. O feito de que esa capa wfs verifique o minZoomLevel é unha reliquia do pasado. Non podemos, con todo, eliminala sen a posibilidade de non romper as aplicacións baseadas en OL que poidan depender dela. Por iso a estamos deixando obsoleta (a comprobación minZoomLevel de embaixo será eliminada na versión 3.0). Por favor, no canto diso use o axuste de resolución mín/máx tal e como está descrito aquí: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacción WFS: ÉXITO ${response}",'commitFailed':"Transacción WFS: FALLIDA ${response}",'googleWarning':"A capa do Google non puido cargarse correctamente.\x3cbr\x3e\x3cbr\x3ePara evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.\x3cbr\x3e\x3cbr\x3eProbablemente, isto acontece porque a escritura da libraría do Google Maps ou ben non foi incluída ou ben non contén a clave API correcta para o seu sitio.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: para axudar a facer funcionar isto correctamente, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3epremede aquí\x3c/a\x3e",'getLayerWarning':"A capa ${layerType} foi incapaz de cargarse correctamente.\x3cbr\x3e\x3cbr\x3ePara evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.\x3cbr\x3e\x3cbr\x3eProbablemente, isto acontece porque a escritura da libraría ${layerLib} non foi ben incluída.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: para axudar a facer funcionar isto correctamente, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3epremede aquí\x3c/a\x3e",'scale':"Escala = 1 : ${scaleDenom}",'W':"O",'E':"L",'N':"N",'S':"S",'layerAlreadyAdded':"Intentou engadir a capa: ${layerName} ao mapa, pero xa fora engadida",'reprojectDeprecated':"Está usando a opción \"reproject\" na capa ${layerName}. Esta opción está obsoleta: o seu uso foi deseñado para a visualización de datos sobre mapas base comerciais, pero esta funcionalidade debera agora ser obtida utilizando a proxección Spherical Mercator. Hai dispoñible máis información en http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método está obsoleto e será eliminado na versión 3.0. Por favor, no canto deste use ${newMethod}.",'boundsAddError':"Debe achegar os valores x e y á función add.",'lonlatAddError':"Debe achegar tanto o valor lon coma o lat á función add.",'pixelAddError':"Debe achegar os valores x e y á función add.",'unsupportedGeometryType':"Tipo xeométrico non soportado: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fallou: o elemento con id ${elemId} pode non estar na súa posición.",'filterEvaluateNotImplemented':"avaliar non está implementado para este tipo de filtro."});OpenLayers.Lang["gsw"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nit behandleti Aafrogsruckmäldig ${statusText}",'permalink':"Permalink",'overlays':"Iberlagerige",'baseLayer':"Grundcharte",'sameProjection':"D Ibersichts-Charte funktioniert nume, wänn si di glych Projäktion brucht wie d Hauptcharte",'readNotImplemented':"Läse nit implementiert.",'writeNotImplemented':"Schrybe nit implementiert.",'noFID':"E Feature, wu s kei FID derfir git, cha nit aktualisiert wäre.",'errorLoadingGML':"Fähler bim Lade vu dr GML-Datei ${url}",'browserNotSupported':"Dyy Browser unterstitzt kei Vektordarstellig. Aktuäll unterstitzti Renderer:\n${renderers}",'componentShouldBe':"addFeatures : Komponänt sott dr Typ ${geomType} syy",'getFeatureError':"getFeatureFromEvent isch uf eme Layer ohni Renderer ufgruefe wore. Des heisst normalerwys, ass Du e Layer kaputt gmacht hesch, aber nit dr Handler, wu derzue ghert.",'minZoomLevelError':"D minZoomLevel-Eigeschaft isch nume dänk fir d Layer, wu vu dr FixedZoomLevels abstamme. Ass dää wfs-Layer minZoomLevel prieft, scih e Relikt us dr Vergangeheit. Mir chenne s aber nit ändere ohni OL_basierti Aawändige villicht kaputt gehn, wu dervu abhänge. Us däm Grund het die Funktion d Eigeschaft \'deprecated\' iberchuu. D minZoomLevel-Priefig unte wird in dr Version 3.0 usegnuu. Bitte verwänd statt däm e min/max-Uflesig wie s do bschriben isch: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-Transaktion: ERFOLGRYCH ${response}",'commitFailed':"WFS-Transaktion: FÄHLGSCHLAA ${response}",'googleWarning':"Dr Google-Layer het nit korräkt chenne glade wäre.\x3cbr\x3e\x3cbr\x3eGo die Mäldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im rächte obere Ecke.\x3cbr\x3e\x3cbr\x3eDää Fähler git s seli hyfig, wel s Skript vu dr Google-Maps-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.\x3cbr\x3e\x3cbr\x3eEntwickler: Fir Hilf zum korräkte Yybinde vum Google-Layer \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3edoo drucke\x3c/a\x3e",'getLayerWarning':"Dr ${layerType}-Layer het nit korräkt chenne glade wäre.\x3cbr\x3e\x3cbr\x3eGo die Mäldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im rächte obere Ecke.\x3cbr\x3e\x3cbr\x3eDää Fähler git s seli hyfig, wel s Skript vu dr \'${layerLib}\'-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.\x3cbr\x3e\x3cbr\x3eEntwickler: Fir Hilf zum korräkte Yybinde vu Layer \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3edoo drucke\x3c/a\x3e",'scale':"Maßstab = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"S",'layerAlreadyAdded':"Du hesch versuecht dää Layer in d Charte yyzfiege: ${layerName}, aber är isch schoi yygfiegt",'reprojectDeprecated':"Du bruchsch d \'reproject\'-Option bim ${layerName}-Layer. Die Option isch nimi giltig: si isch aagleit wore go Date iber kommerziälli Grundcharte lege, aber des sott mer jetz mache mit dr Unterstitzig vu Spherical Mercator. Meh Informatione git s uf http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Die Methode isch veraltet un wird us dr Version 3.0 usegnuu. Bitte verwäbnd statt däm ${newMethod}.",'boundsAddError':"Du muesch e x-Wärt un e y-Wärt yygee bi dr Zuefieg-Funktion",'lonlatAddError':"Du meusch e Lengi- un e Breiti-Grad yygee bi dr Zuefieg-Funktion.",'pixelAddError':"Du muesch x- un y-Wärt aagee bi dr Zuefieg-Funktion.",'unsupportedGeometryType':"Nit unterstitze Geometrii-Typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fählgschlaa: Elemänt mit ID ${elemId} isch villicht falsch gsetzt.",'filterEvaluateNotImplemented':"evaluiere isch nit implemäntiert in däm Filtertyp."});OpenLayers.Lang["hr"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nepodržani zahtjev ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Osnovna karta",'sameProjection':"Pregledna karta radi jedino kao je u istoj projekciji kao i glava karta",'readNotImplemented':"Čitanje nije implementirano.",'writeNotImplemented':"Pisanje nije implementirano.",'noFID':"Ne mogu ažurirati značajku za koju ne postoji FID.",'errorLoadingGML':"Greška u učitavanju GML datoteke ${url}",'browserNotSupported':"Vaš preglednik ne podržava vektorsko renderiranje. Trenutno podržani rendereri su: ${renderers}",'componentShouldBe':"addFeatures : komponenta bi trebala biti ${geomType}",'getFeatureError':"getFeatureFromEvent je pozvao Layer bez renderera. Ovo obično znači da ste uništiili Layer, a ne neki Handler koji je povezan s njim.",'commitSuccess':"WFS Transakcija: USPJEŠNA ${response}",'commitFailed':"WFS Transakcija: NEUSPJEŠNA ${response}",'scale':"Mjerilo = 1 : ${scaleDenom}",'layerAlreadyAdded':"Pokušali ste dodati layer: ${layerName} na kartu, ali je već dodan",'methodDeprecated':"Ova metoda nije odobrena i biti će maknuta u 3.0. Koristite ${newMethod}.",'boundsAddError':"Morate dati obje vrijednosti , x i y da bi dodali funkciju.",'lonlatAddError':"Morate dati obje vrijednosti , (lon i lat) da bi dodali funkciju.",'pixelAddError':"Morate dati obje vrijednosti , x i y da bi dodali funkciju.",'unsupportedGeometryType':"Nepodržani tip geometrije: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition nije uspjelo: element sa id ${elemId} može biti krivo smješten."});OpenLayers.Lang["hsb"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Wotmołwa njewobdźěłaneho naprašowanja ${statusText}",'permalink':"Trajny wotkaz",'overlays':"Naworštowanja",'baseLayer':"Zakładna runina",'sameProjection':"Přehladowa karta jenož funguje, hdyž je w samsnej projekciji kaž hłowna karta",'readNotImplemented':"Čitanje njeimplementowane.",'writeNotImplemented':"Pisanje njeimplementowane.",'noFID':"Funkcija, za kotruž FID njeje, njeda so aktualizować.",'errorLoadingGML':"Zmylk při začitowanju dataje ${url}",'browserNotSupported':"Twój wobhladowak wektorowe rysowanje njepodpěruje. Tuchwilu podpěrowane rysowaki su:\n${renderers}",'componentShouldBe':"addFeatures: komponenta měła ${geomType} być",'getFeatureError':"getFeatureFromEvent bu na woršće bjez rysowak zawołany. To zwjetša woznamjenja, zo sy worštu zničił, ale nic wobdźěłak, kotryž je z njej zwjazany.",'minZoomLevelError':"Kajkosć minZoomLevel je jenož za wužiwanje z worštami myslena, kotrež wot FixedZoomLevels pochadźeja. Zo tuta woršta wfs za minZoomLevel přepruwuje, je relikt zańdźenosće. Njemóžemy wšak ju wotstronić, bjeztoho zo aplikacije, kotrež na OpenLayers bazěruja a snano tutu kajkosć wužiwaja, hižo njefunguja. Tohodla smy ju jako zestarjenu woznamjenili -- přepruwowanje za minZoomLevel budu so we wersiji 3.0 wotstronjeć. Prošu wužij město toho nastajenje min/max, kaž je tu wopisane: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-Transakcija: WUSPĚŠNA ${response}",'commitFailed':"WFS-Transakcija: NJEPORADŹENA ${response}",'googleWarning':"Woršta Google njemóžeše so korektnje začitać.\x3cbr\x3e\x3cbr\x3eZo by tutu zdźělenku wotbył, wubjer nowy BaseLayer z wuběra worštow horjeka naprawo.\x3cbr\x3e\x3cbr\x3eNajskerje so to stawa, dokelž skript biblioteki Google Maps pak njebu zapřijaty pak njewobsahuje korektny kluč API za twoje sydło.\x3cbr\x3e\x3cbr\x3eWuwiwarjo: Za pomoc ke korektnemu fungowanju worštow\n\x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3etu kliknyć\x3c/a\x3e",'getLayerWarning':"Woršta ${layerType} njemóžeše so korektnje začitać.\x3cbr\x3e\x3cbr\x3eZo by tutu zdźělenku wotbył, wubjer nowy BaseLayer z wuběra worštow horjeka naprawo.\x3cbr\x3e\x3cbr\x3eNajskerje so to stawa, dokelž skript biblioteki ${layerLib} njebu korektnje zapřijaty.\x3cbr\x3e\x3cbr\x3eWuwiwarjo: Za pomoc ke korektnemu fungowanju worštow\n\x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3etu kliknyć\x3c/a\x3e",'scale':"Měritko = 1 : ${scaleDenom}",'W':"Z",'E':"W",'N':"S",'S':"J",'layerAlreadyAdded':"Sy spytał runinu ${layerName} karće dodać, ale je so hižo dodała",'reprojectDeprecated':"Wužiwaš opciju \"reproject\" wořšty ${layerName}. Tuta opcija je zestarjena: jeje wužiwanje bě myslene, zo by zwobraznjenje datow nad komercielnymi bazowymi kartami podpěrało, ale funkcionalnosć měła so nětko z pomocu Sperical Mercator docpěć. Dalše informacije steja na http://trac.openlayers.org/wiki/SphericalMercator k dispoziciji.",'methodDeprecated':"Tuta metoda je so njeschwaliła a budźe so w 3.0 wotstronjeć. Prošu wužij ${newMethod} město toho.",'boundsAddError':"Dyrbiš hódnotu x kaž tež y funkciji \"add\" přepodać.",'lonlatAddError':"Dyrbiš hódnotu lon kaž tež lat funkciji \"add\" přepodać.",'pixelAddError':"Dyrbiš hódnotu x kaž tež y funkciji \"add\" přepodać.",'unsupportedGeometryType':"Njepodpěrowany geometrijowy typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition je so njeporadźił: element z id ${elemId} bu snano wopak zaměstnjeny.",'filterEvaluateNotImplemented':"wuhódnoćenje njeje za tutón filtrowy typ implementowany."});OpenLayers.Lang["hu"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nem kezelt kérés visszatérése ${statusText}",'permalink':"Permalink",'overlays':"Rávetítések",'baseLayer':"Alapréteg",'sameProjection':"Az áttekintő térkép csak abban az esetben működik, ha ugyanazon a vetületen van, mint a fő térkép.",'readNotImplemented':"Olvasás nincs végrehajtva.",'writeNotImplemented':"Írás nincs végrehajtva.",'noFID':"Nem frissíthető olyan jellemző, amely nem rendelkezik FID-del.",'errorLoadingGML':"Hiba GML-fájl betöltésekor ${url}",'browserNotSupported':"A böngészője nem támogatja a vektoros renderelést. A jelenleg támogatott renderelők:\n${renderers}",'componentShouldBe':"addFeatures : az összetevőnek ilyen típusúnak kell lennie: ${geomType}",'getFeatureError':"getFeatureFromEvent réteget hívott meg renderelő nélkül. Ez rendszerint azt jelenti, hogy megsemmisített egy fóliát, de néhány ahhoz társított kezelőt nem.",'minZoomLevelError':"A minZoomLevel tulajdonságot csak a következővel való használatra szánták: FixedZoomLevels-leszármazott fóliák. Ez azt jelenti, hogy a minZoomLevel wfs fólia jelölőnégyzetei már a múlté. Mi azonban nem távolíthatjuk el annak a veszélye nélkül, hogy az esetlegesen ettől függő OL alapú alkalmazásokat tönkretennénk. Ezért ezt érvénytelenítjük -- a minZoomLevel az alul levő jelölőnégyzet a 3.0-s verzióból el lesz távolítva. Kérjük, helyette használja a min/max felbontás beállítást, amelyről az alábbi helyen talál leírást: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS tranzakció: SIKERES ${response}",'commitFailed':"WFS tranzakció: SIKERTELEN ${response}",'googleWarning':"A Google fólia betöltése sikertelen.\x3cbr\x3e\x3cbr\x3eAhhoz, hogy ez az üzenet eltűnjön, válasszon egy új BaseLayer fóliát a jobb felső sarokban található fóliakapcsoló segítségével.\x3cbr\x3e\x3cbr\x3eNagy valószínűséggel ez azért van, mert a Google Maps könyvtár parancsfájlja nem található, vagy nem tartalmazza az Ön oldalához tartozó megfelelő API-kulcsot.\x3cbr\x3e\x3cbr\x3eFejlesztőknek: A helyes működtetésre vonatkozó segítség az alábbi helyen érhető el, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3ekattintson ide\x3c/a\x3e",'getLayerWarning':"A(z) ${layerType} fólia nem töltődött be helyesen.\x3cbr\x3e\x3cbr\x3eAhhoz, hogy ez az üzenet eltűnjön, válasszon egy új BaseLayer fóliát a jobb felső sarokban található fóliakapcsoló segítségével.\x3cbr\x3e\x3cbr\x3eNagy valószínűséggel ez azért van, mert a(z) ${layerLib} könyvtár parancsfájlja helytelen.\x3cbr\x3e\x3cbr\x3eFejlesztőknek: A helyes működtetésre vonatkozó segítség az alábbi helyen érhető el, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3ekattintson ide\x3c/a\x3e",'scale':"Lépték = 1 : ${scaleDenom}",'W':"Ny",'E':"K",'N':"É",'S':"D",'layerAlreadyAdded':"Megpróbálta hozzáadni a(z) ${layerName} fóliát a térképhez, de az már hozzá van adva",'reprojectDeprecated':"Ön a \'reproject\' beállítást használja a(z) ${layerName} fólián. Ez a beállítás érvénytelen: használata az üzleti alaptérképek fölötti adatok megjelenítésének támogatására szolgált, de ezt a funkció ezentúl a Gömbi Mercator használatával érhető el. További információ az alábbi helyen érhető el: http://trac.openlayers.org/wiki/SphericalMercator",'methodDeprecated':"Ez a módszer érvénytelenítve lett és a 3.0-s verzióból el lesz távolítva. Használja a(z) ${newMethod} módszert helyette.",'boundsAddError':"Az x és y értékeknek egyaránt meg kell felelnie, hogy a funkciót hozzáadhassa.",'lonlatAddError':"A hossz. és szél. értékeknek egyaránt meg kell felelnie, hogy a funkciót hozzáadhassa.",'pixelAddError':"Az x és y értékeknek egyaránt meg kell felelnie, hogy a funkciót hozzáadhassa.",'unsupportedGeometryType':"Nem támogatott geometriatípus: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition sikertelen: lehetséges, hogy a(z) ${elemId} azonosítójú elem téves helyre került.",'filterEvaluateNotImplemented':"ennél a szűrőtípusnál kiértékelés nem hajtódik végre."});OpenLayers.Lang["ia"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Le responsa a un requesta non esseva maneate: ${statusText}",'permalink':"Permaligamine",'overlays':"Superpositiones",'baseLayer':"Strato de base",'sameProjection':"Le mini-carta functiona solmente si illo es in le mesme projection que le carta principal",'readNotImplemented':"Lectura non implementate.",'writeNotImplemented':"Scriptura non implementate.",'noFID':"Non pote actualisar un elemento sin FID.",'errorLoadingGML':"Error al cargamento del file GML ${url}",'browserNotSupported':"Tu navigator non supporta le rendition de vectores. Le renditores actualmente supportate es:\n${renderers}",'componentShouldBe':"addFeatures: le componente debe esser del typo ${geomType}",'getFeatureError':"getFeatureFromEvent ha essite appellate in un strato sin renditor. Isto significa generalmente que tu ha destruite un strato, ma lassava un gestor associate con illo.",'minZoomLevelError':"Le proprietate minZoomLevel es solmente pro uso con le stratos descendente de FixedZoomLevels. Le facto que iste strato WFS verifica minZoomLevel es un reliquia del passato. Nonobstante, si nos lo remove immediatemente, nos pote rumper applicationes a base de OL que depende de illo. Ergo nos lo declara obsolete; le verification de minZoomLevel in basso essera removite in version 3.0. Per favor usa in su loco le configuration de resolutiones min/max como describite a: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transaction WFS: SUCCESSO ${response}",'commitFailed':"Transaction WFS: FALLEVA ${response}",'googleWarning':"Le strato Google non poteva esser cargate correctemente.\x3cbr\x3e\x3cbr\x3ePro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.\x3cbr\x3e\x3cbr\x3eMulto probabilemente, isto es proque le script del libreria de Google Maps non esseva includite o non contine le clave API correcte pro tu sito.\x3cbr\x3e\x3cbr\x3eDisveloppatores: Pro adjuta de corriger isto, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eclicca hic\x3c/a",'getLayerWarning':"Le strato ${layerType} non poteva esser cargate correctemente.\x3cbr\x3e\x3cbr\x3ePro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.\x3cbr\x3e\x3cbr\x3eMulto probabilemente, isto es proque le script del libreria de ${layerLib} non esseva correctemente includite.\x3cbr\x3e\x3cbr\x3eDisveloppatores: Pro adjuta de corriger isto, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclicca hic\x3c/a\x3e",'scale':"Scala = 1 : ${scaleDenom}",'W':"W",'E':"E",'N':"N",'S':"S",'layerAlreadyAdded':"Tu tentava adder le strato: ${layerName} al carta, ma illo es ja presente",'reprojectDeprecated':"Tu usa le option \'reproject\' in le strato ${layerName} layer. Iste option es obsolescente: illo esseva pro poter monstrar datos super cartas de base commercial, ma iste functionalitate pote ora esser attingite con le uso de Spherical Mercator. Ulterior information es disponibile a http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Iste methodo ha essite declarate obsolescente e essera removite in version 3.0. Per favor usa ${newMethod} in su loco.",'boundsAddError':"Tu debe passar le duo valores x e y al function add.",'lonlatAddError':"Tu debe passar le duo valores lon e lat al function add.",'pixelAddError':"Tu debe passar le duo valores x e y al function add.",'unsupportedGeometryType':"Typo de geometria non supportate: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falleva: le elemento con id ${elemId} pote esser mal placiate.",'filterEvaluateNotImplemented':"\"evaluate\" non es implementate pro iste typo de filtro."});OpenLayers.Lang["is"]=OpenLayers.Util.applyDefaults({'permalink':"Varanlegur tengill",'overlays':"Þekjur",'baseLayer':"Grunnlag",'sameProjection':"Yfirlitskortið virkar aðeins ef það er í sömu vörpun og aðalkortið",'readNotImplemented':"Skrifun er óútfærð.",'writeNotImplemented':"Lestur er óútfærður.",'errorLoadingGML':"Villa kom upp við að hlaða inn GML skránni ${url}",'scale':"Skali = 1 : ${scaleDenom}",'layerAlreadyAdded':"Þú reyndir að bæta laginu ${layerName} á kortið en það er þegar búið að bæta því við",'methodDeprecated':"Þetta fall hefur verið úrelt og verður fjarlægt í 3.0. Notaðu ${newMethod} í staðin."});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.

"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.

"+"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.

"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"clicca qui",'getLayerWarning':"Il livello ${layerType} non è riuscito a caricare correttamente.

"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.

"+"Più precisamente, ciò accade perchè la libreria ${layerLib} "+"non è stata inclusa nella pagina.

"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"clicca qui",'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["ja"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"未処理の要求は ${statusText} を返します",'permalink':"パーマリンク",'overlays':"オーバーレイ",'baseLayer':"基底レイヤー",'sameProjection':"概観地図はメインの地図と同じ投影法をとる場合のみ機能します",'readNotImplemented':"読み込みは実装されていません。",'writeNotImplemented':"書き込みは実装されていません。",'noFID':"FID のない地物は更新できません。",'errorLoadingGML':"GML ファイル ${url} の読み込みエラー",'browserNotSupported':"あなたのブラウザはベクターグラフィックスの描写に対応していません。現時点で対応しているソフトウェアは以下のものです。\n${renderers}",'componentShouldBe':"addFeatures: 要素は ${geomType} であるべきです",'getFeatureError':"getFeatureFromEvent がレンダラーのないレイヤーから呼ばれました。通常、これはあなたがレイヤーを、それに関連づけられたいくつかのハンドラを除いて、破壊してしまったことを意味します。",'minZoomLevelError':"minZoomLevel プロパティは FixedZoomLevels を継承するレイヤーでの使用のみを想定しています。この minZoomLevel に対する WFS レイヤーの検査は歴史的なものです。しかしながら、この検査を除去するとそれに依存する OpenLayers ベースのアプリケーションを破壊してしまう可能性があります。よって廃止が予定されており、この minZoomLevel 検査はバージョン3.0で除去されます。代わりに、http://trac.openlayers.org/wiki/SettingZoomLevels で解説されている、最小および最大解像度設定を使用してください。",'commitSuccess':"WFS トランザクション: 成功 ${response}",'commitFailed':"WFS トランザクション: 失敗 ${response}",'googleWarning':"Google レイヤーが正しく読み込みを行えませんでした。\x3cbr\x3e\x3cbr\x3eこのメッセージを消すには、右上の隅にあるレイヤー切り替え部分で新しい基底レイヤーを選んでください。\x3cbr\x3e\x3cbr\x3eおそらく、これは Google マップ用ライブラリのスクリプトが組み込まれていないか、あなたのサイトに対応する正しい API キーが設定されていないためです。\x3cbr\x3e\x3cbr\x3e開発者の方へ: 正しい動作をさせるために\x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eこちらのウィキ\x3c/a\x3eを参照してください。",'getLayerWarning':"${layerType} レイヤーが正しく読み込みを行えませんでした。\x3cbr\x3e\x3cbr\x3eこのメッセージを消すには、右上の隅にあるレイヤー切り替え部分で新しい基底レイヤーを選んでください。\x3cbr\x3e\x3cbr\x3eおそらく、これは ${layerLib} ライブラリのスクリプトが正しく組み込まれていないためです。\x3cbr\x3e\x3cbr\x3e開発者の方へ: 正しい動作をさせるために\x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eこちらのウィキ\x3c/a\x3eを参照してください。",'scale':"縮尺 = 1 : ${scaleDenom}",'W':"西",'E':"東",'N':"北",'S':"南",'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 と y の値両方を add 関数に渡さなければなりません。",'unsupportedGeometryType':"未対応の形状型: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition が失敗しました: id ${elemId} をもつ要素が誤った位置にある可能性があります。",'filterEvaluateNotImplemented':"このフィルター型について evaluate は実装されていません。"});OpenLayers.Lang["km"]=OpenLayers.Util.applyDefaults({'permalink':"តំណភ្ជាប់អចិន្ត្រៃយ៍",'baseLayer':"ស្រទាប់បាត​",'errorLoadingGML':"កំហុសកំឡុងពេលផ្ទុកឯកសារ GML ${url}",'scale':"មាត្រដ្ឋាន = ១ ៖ ${scaleDenom}"});OpenLayers.Lang["ksh"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Met dä Antwoot op en Aanfrooch ham_mer nix aanjefange: ${statusText}",'permalink':"Lengk op Duuer",'overlays':"Drövver jelaat",'baseLayer':"Jrund-Nivoh",'sameProjection':"De Övverseeschs_Kaat deiht et bloß, wann se de sälve Projäxjuhn bruche deiht, wi de Houp_Kaat",'readNotImplemented':"„\x3ccode lang=\"en\"\x3eread\x3c/code\x3e“ is em Projramm nit fürjesinn.",'writeNotImplemented':"„\x3ccode lang=\"en\"\x3ewrite\x3c/code\x3e“ is em Projramm nit fürjesinn.",'noFID':"En Saach, woh kein \x3ci lang=\"en\"\x3eFID\x3c/i\x3e för doh es, löht sesch nit ändere.",'errorLoadingGML':"Fähler beim \x3ci lang=\"en\"\x3eGML\x3c/i\x3e-Datei-Laade vun \x3ccode\x3e${url}\x3c/code\x3e",'browserNotSupported':"Dinge Brauser kann kein Väktore ußjävve. De Zoote Ußjaabe, di em Momang jon, sen:\n${renderers}",'componentShouldBe':"\x3ccode lang=\"en\"\x3eaddFeatures\x3c/code\x3e: dä Aandeil sullt vun dä Zoot „\x3ccode lang=\"en\"\x3e${geomType}\x3c/code\x3e“ sin.",'getFeatureError':"\x3ccode lang=\"en\"\x3egetFeatureFromEvent\x3c/code\x3e es vun enem Nivoh opjeroofe woode, woh et kei Projramm zom Ußjävve jit. Dat bedügg för jewöhnlesch, dat De e Nivoh kapott jemaat häs, ävver nit e Projramm för domet ömzejonn, wat domet verbonge es.",'minZoomLevelError':"De Eijeschaff „\x3ccode lang=\"en\"\x3eminZoomLevel\x3c/code\x3e“ es bloß doför jedaach, dat mer se met dä Nivvohß bruch, di vun \x3ccode lang=\"en\"\x3eFixedZoomLevels\x3c/code\x3e affhange don. Dat dat \x3ci lang=\"en\"\x3eWFS\x3c/i\x3e-Nivvoh övverhoup de Eijeschaff „\x3ccode lang=\"en\"\x3eminZoomLevel\x3c/code\x3e“ pröhfe deiht, es noch övveresch vun fröhjer. Mer künne dat ävver jez nit fott lohße, oohne dat mer Jevaa loufe, dat Aanwendunge vun OpenLayers nit mieh loufe, di sesch doh velleijsch noch drop am verlohße sin. Dröm sare mer, dat mer et nit mieh han welle, un de „\x3ccode lang=\"en\"\x3eminZoomLevel\x3c/code\x3e“-Eijeschaff weed hee vun de Version 3.0 af nit mieh jeprööf wäde. Nemm doför de Enstellung för de hühßte un de kleinßte Oplöhsung, esu wi et en http://trac.openlayers.org/wiki/SettingZoomLevels opjeschrevve es.",'commitSuccess':"Dä \x3ci lang=\"en\"\x3eWFS\x3c/i\x3e-Vörjang es joot jeloufe: ${response}",'commitFailed':"Dä \x3ci lang=\"en\"\x3eWFS\x3c/i\x3e-Vörjang es scheif jejange: ${response}",'googleWarning':"Dat Nivvoh \x3ccode lang=\"en\"\x3eGoogle\x3c/code\x3e kunnt nit reschtesch jelaade wääde.\x3cbr /\x3e\x3cbr /\x3eÖm hee di Nohreesch loß ze krijje, donn en ander Jrund-Nivvoh ußsöhke, rähß bovve en de Äk.\x3cbr /\x3e\x3cbr /\x3eWascheinlesch es dat wiel dat \x3ci lang=\"en\"\x3eGoogle-Maps\x3c/i\x3e-Skrepp entweeder nit reschtesch enjebonge wood, udder nit dä reschtejje \x3ci lang=\"en\"\x3eAPI\x3c/i\x3e-Schlößel för Ding Web-ßait scheke deiht.\x3cbr /\x3e\x3cbr /\x3eFör Projrammierer jidd_et Hölp do_drövver, \x3ca href=\"http://trac.openlayers.org/wiki/Google\" target=\"_blank\"\x3ewi mer dat aan et Loufe brengk\x3c/a\x3e.",'getLayerWarning':"Dat Nivvoh \x3ccode\x3e${layerType}\x3c/code\x3e kunnt nit reschtesch jelaade wääde.\x3cbr /\x3e\x3cbr /\x3eÖm hee di Nohreesch loß ze krijje, donn en ander Jrund-Nivvoh ußsöhkre, rähß bovve en de Äk.\x3cbr /\x3e\x3cbr /\x3eWascheinlesch es dat, wiel dat Skrepp \x3ccode\x3e${layerLib}\x3c/code\x3e nit reschtesch enjebonge wood.\x3cbr /\x3e\x3cbr /\x3eFör Projrammierer jidd_Et Hölp do_drövver, \x3ca href=\"http://trac.openlayers.org/wiki/${layerLib}\" target=\"_blank\"\x3ewi mer dat aan et Loufe brengk\x3c/a\x3e.",'scale':"Mohßshtaab = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"S",'layerAlreadyAdded':"Do häß versöhk, dat Nivvoh \x3ccode\x3e${layerName}\x3c/code\x3e en di Kaat eren ze bränge, et wohr ävver ald do dren.",'reprojectDeprecated':"Do bruchs de Ußwahl \x3ccode\x3ereproject\x3c/code\x3e op däm Nivvoh \x3ccode\x3e${layerName}\x3c/code\x3e. Di Ußwahl es nit mieh jähn jesinn. Se wohr doför jedaach, öm Date op jeschääfsmäßesch eruß jejovve Kaate bovve drop ze moole, wat ävver enzwesche besser met dä Öngershtözung för de ßfääresche Mäkaator Beldscher jeiht. Doh kanns De mieh drövver fenge op dä Sigg: http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Hee di Metood es nim_mih aktoäll un et weed se en dä Version 3.0 nit mieh jävve. Nemm \x3ccode\x3e${newMethod}\x3c/code\x3e doföör.",'boundsAddError':"Do moß beeds vun de \x3ccode\x3ex\x3c/code\x3e un \x3ccode\x3ey\x3c/code\x3e Wääte aan de Fungkßjohn \x3ccode\x3eadd\x3c/code\x3e jävve.",'lonlatAddError':"Do moß beeds \x3ccode\x3elon\x3c/code\x3e un \x3ccode\x3elat\x3c/code\x3e aan de Fungkßjohn \x3ccode\x3eadd\x3c/code\x3e jävve.",'pixelAddError':"Do moß beeds \x3ccode\x3ex\x3c/code\x3e un \x3ccode\x3ey\x3c/code\x3e aan de Fungkßjohn \x3ccode\x3eadd\x3c/code\x3e jävve.",'unsupportedGeometryType':"De Zoot Jommetrii dom_mer nit ongershtöze: \x3ccode\x3e${geomType}\x3c/code\x3e",'pagePositionFailed':"\x3ccode lang=\"en\"\x3eOpenLayers.Util.pagePosition\x3c/code\x3e es donevve jejange: dat Denge met dä Kännong \x3ccode\x3e${elemId}\x3c/code\x3e künnt am verkeehte Plaz sin.",'filterEvaluateNotImplemented':"„\x3ccode lang=\"en\"\x3eevaluate\x3c/code\x3e“ es för di Zoot Fellter nit enjereschdt."});OpenLayers.Lang["nb"]={'unhandledRequest':"Ubehandlet forespørsel returnerte ${statusText}",'permalink':"Kobling til denne siden",'overlays':"Kartlag",'baseLayer':"Bakgrunnskart",'sameProjection':"Oversiktskartet fungerer bare når det har samme projeksjon som hovedkartet",'readNotImplemented':"Lesing er ikke implementert.",'writeNotImplemented':"Skriving er ikke implementert.",'noFID':"Kan ikke oppdatere et feature (et objekt) som ikke har FID.",'errorLoadingGML':"Feil under lasting av GML-fil ${url}",'browserNotSupported':"Din nettleser støtter ikke vektortegning. Tegnemetodene som støttes er:\n${renderers}",'componentShouldBe':"addFeatures : komponenten må være en ${geomType}",'getFeatureError':"getFeatureFromEvent har blitt kjørt mot et lag uten noen tegnemetode. Dette betyr som regel at du "+"fjernet et lag uten å fjerne alle håndterere tilknyttet laget.",'minZoomLevelError':"Egenskapen minZoomLevel er kun ment til bruk på lag "+"basert på FixedZoomLevels. At dette wfs-laget sjekker "+"minZoomLevel er en etterlevning fra tidligere versjoner. Det kan dog ikke "+"tas bort uten å risikere at OL-baserte applikasjoner "+"slutter å virke, så det er merket som foreldet: "+"minZoomLevel i sjekken nedenfor vil fjernes i 3.0. "+"Vennligst bruk innstillingene for min/maks oppløsning "+"som er beskrevet her: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-transaksjon: LYKTES ${response}",'commitFailed':"WFS-transaksjon: MISLYKTES ${response}",'googleWarning':"Google-laget kunne ikke lastes.

"+"Bytt til et annet bakgrunnslag i lagvelgeren i "+"øvre høyre hjørne for å slippe denne meldingen.

"+"Sannsynligvis forårsakes feilen av at Google Maps-biblioteket "+"ikke er riktig inkludert på nettsiden, eller at det ikke er "+"angitt riktig API-nøkkel for nettstedet.

"+"Utviklere: For hjelp til å få dette til å virke se "+"her.",'getLayerWarning':"${layerType}-laget kunne ikke lastes.

"+"Bytt til et annet bakgrunnslag i lagvelgeren i "+"øvre høyre hjørne for å slippe denne meldingen.

"+"Sannsynligvis forårsakes feilen av at "+"${layerLib}-biblioteket ikke var riktig inkludert "+"på nettsiden.

"+"Utviklere: For hjelp til å få dette til å virke se "+"her.",'scale':"Skala 1 : ${scaleDenom}",'layerAlreadyAdded':"Du forsøkte å legge til laget ${layerName} på kartet, men det er allerede lagt til",'reprojectDeprecated':"Du bruker innstillingen 'reproject' på laget ${layerName}. "+"Denne innstillingen er foreldet, den var ment for å støtte "+"visning av kartdata over kommersielle bakgrunnskart, men det "+"bør nå gjøres med støtten for Spherical Mercator. Mer informasjon "+"finnes på http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Denne metoden er markert som foreldet og vil bli fjernet i 3.0. "+"Vennligst bruk ${newMethod} i stedet.",'boundsAddError':"Du må gi både x- og y-verdier til funksjonen add.",'lonlatAddError':"Du må gi både lon- og lat-verdier til funksjonen add.",'pixelAddError':"Du må gi både x- og y-verdier til funksjonen add.",'unsupportedGeometryType':"Geometritypen ${geomType} er ikke støttet",'pagePositionFailed':"OpenLayers.Util.pagePosition feilet: elementet med id ${elemId} kan være feilplassert.",'end':''};OpenLayers.Lang["no"]=OpenLayers.Lang["nb"];OpenLayers.Lang["nds"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Unbehannelt Trüchmellels för de Anfraag ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Achtergrundkoort",'sameProjection':"De Översichtskoort geiht blot, wenn de sülve Projekschoon as bi de Hööftkoort bruukt warrt",'readNotImplemented':"Lesen is nich inricht.",'writeNotImplemented':"Schrieven is nich inricht.",'noFID':"En Feature, dat keen FID hett, kann nich aktuell maakt warrn.",'errorLoadingGML':"Fehler bi’t Laden vun de GML-Datei ${url}",'browserNotSupported':"Dien Browser ünnerstütt keen Vektorbiller. Ünnerstütt Renderers:\n${renderers}",'componentShouldBe':"addFeatures : Kumponent schull man den Typ ${geomType} hebben",'getFeatureError':"getFeatureFromEvent is von en Laag ahn Render opropen worrn. Dat bedüüdt normalerwies, dat en Laag wegmaakt worrn is, aver nich de Handler, de dor op verwiest.",'commitSuccess':"WFS-Transakschoon: hett klappt ${response}",'commitFailed':"WFS-Transakschoon: hett nich klappt ${response}",'scale':"Skaal = 1 : ${scaleDenom}",'layerAlreadyAdded':"Du versöchst de Laag „${layerName}“ to de Koort totofögen, man de is al toföögt",'methodDeprecated':"Disse Methood is oold un schall dat in 3.0 nich mehr geven. Bruuk dor man beter ${newMethod} för.",'boundsAddError':"De Weert x un y, de mööt all beid an de add-Funkschoon övergeven warrn.",'lonlatAddError':"De Weert lon un lat, de mööt all beid an de add-Funkschoon övergeven warrn.",'pixelAddError':"De Weert x un y, de mööt all beid an de add-Funkschoon övergeven warrn.",'unsupportedGeometryType':"Nich ünnerstütt Geometrie-Typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition güng nich: Element mit de Id ${elemId} is villicht an’n verkehrten Platz."});OpenLayers.Lang["nl"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Het verzoek is niet afgehandeld met de volgende melding: ${statusText}",'permalink':"Permanente verwijzing",'overlays':"Overlays",'baseLayer':"Achtergrondkaart",'sameProjection':"De overzichtskaart werkt alleen als de projectie gelijk is aan de projectie van de hoofdkaart",'readNotImplemented':"Lezen is niet geïmplementeerd.",'writeNotImplemented':"Schrijven is niet geïmplementeerd.",'noFID':"Een optie die geen FID heeft kan niet bijgewerkt worden.",'errorLoadingGML':"Er is een fout opgetreden bij het laden van het GML bestand van ${url}",'browserNotSupported':"Uw browser ondersteunt het weergeven van vectoren niet.\nMomenteel ondersteunde weergavemogelijkheden:\n${renderers}",'componentShouldBe':"addFeatures : component moet van het type ${geomType} zijn",'getFeatureError':"getFeatureFromEvent is aangeroepen op een laag zonder rederer.\nDit betekent meestal dat u een laag hebt verwijderd, maar niet een handler die ermee geassocieerd was.",'minZoomLevelError':"De eigenschap minZoomLevel is alleen bedoeld voor gebruik lagen met die afstammen van FixedZoomLevels-lagen.\nDat deze WFS-laag minZoomLevel controleert, is een overblijfsel uit het verleden.\nWe kunnen deze controle echter niet verwijderen zonder op OL gebaseerde applicaties die hervan afhankelijk zijn stuk te maken.\nDaarom heeft deze functionaliteit de eigenschap \'deprecated\' gekregen - de minZoomLevel wordt verwijderd in versie 3.0.\nGebruik in plaats van deze functie de mogelijkheid om min/max voor resolutie in te stellen zoals op de volgende pagina wordt beschreven:\nhttp://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-transactie: succesvol ${response}",'commitFailed':"WFS-transactie: mislukt ${response}",'googleWarning':"De Google-Layer kon niet correct geladen worden.\x3cbr /\x3e\x3cbr /\x3e\nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.\x3cbr /\x3e\x3cbr /\x3e\nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct ingevoegd is.\x3cbr /\x3e\x3cbr /\x3e\nOntwikkelaars: \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eklik hier\x3c/a\x3e om dit werkend te krijgen.",'getLayerWarning':"De laag ${layerType} kon niet goed geladen worden.\x3cbr /\x3e\x3cbr /\x3e\nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.\x3cbr /\x3e\x3cbr /\x3e\nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct is ingevoegd.\x3cbr /\x3e\x3cbr /\x3e\nOntwikkelaars: \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eklik hier\x3c/a\x3e om dit werkend te krijgen.",'scale':"Schaal = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"Z",'layerAlreadyAdded':"U hebt geprobeerd om de laag ${layerName} aan de kaart toe te voegen, maar deze is al toegevoegd",'reprojectDeprecated':"U gebruikt de optie \'reproject\' op de laag ${layerName}.\nDeze optie is vervallen: deze optie was ontwikkeld om gegevens over commerciële basiskaarten weer te geven, maar deze functionaliteit wordt nu bereikt door ondersteuning van Spherical Mercator.\nMeer informatie is beschikbaar op http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Deze methode is verouderd en wordt verwijderd in versie 3.0.\nGebruik ${newMethod}.",'boundsAddError':"U moet zowel de x- als de y-waarde doorgeven aan de toevoegfunctie.",'lonlatAddError':"U moet zowel de lengte- als de breedtewaarde doorgeven aan de toevoegfunctie.",'pixelAddError':"U moet zowel de x- als de y-waarde doorgeven aan de toevoegfunctie.",'unsupportedGeometryType':"Dit geometrietype wordt niet ondersteund: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition is mislukt: het element met id ${elemId} is wellicht onjuist geplaatst.",'filterEvaluateNotImplemented':"evalueren is niet geïmplementeerd voor dit filtertype."});OpenLayers.Lang["nn"]=OpenLayers.Util.applyDefaults({'scale':"Skala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Du freista å leggja til laget «${layerName}» på kartet, men det har alt vorte lagt til.",'boundsAddError':"Du er nøydd til å gje både ein x- og ein y-verdi til «add»-funksjonen.",'lonlatAddError':"Du er nøydd til å gje både lon- og lat-verdiar til «add»-funksjonen.",'pixelAddError':"Du er nøydd til å gje både ein x- og ein y-verdi til «add»-funksjonen."});OpenLayers.Lang["pt-br"]=OpenLayers.Util.applyDefaults({'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.\x3cbr\x3e\x3cbr\x3ePara se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alternação de camadas localização do canto superior direito.\x3cbr\x3e\x3cbr\x3eMuito 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.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: Para obter ajuda em solucionar esse problema \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3ecliquem aqui\x3c/a\x3e",'getLayerWarning':"Não foi possível carregar a camada ${layerType} corretamente.\x3cbr\x3e\x3cbr\x3ePara se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alternação de camadas localização do canto superior direito.\x3cbr\x3e\x3cbr\x3eMuito provavelmente, isso foi causado porque o script da biblioteca ${layerLib} não foi incluído corretamente.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: Para obter ajuda em solucionar esse problema \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3ecliquem aqui\x3c/a\x3e",'scale':"Escala = 1 : ${scaleDenom}",'W':"O",'E':"L",'N':"N",'S':"S",'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.",'filterEvaluateNotImplemented':"evaluete não está implementado para este tipo de filtro."});OpenLayers.Lang["pt"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Servidor devolveu erro não contemplado ${statusText}",'permalink':"Ligação permanente",'overlays':"Sobreposições",'baseLayer':"Camada Base",'sameProjection':"O mapa panorâmico só funciona quando está na mesma projeção que o mapa principal",'readNotImplemented':"Leitura não implementada.",'writeNotImplemented':"Escrita não implementada.",'noFID':"Não é possível atualizar um elemento para a qual não há FID.",'errorLoadingGML':"Erro ao carregar ficheiro GML ${url}",'browserNotSupported':"O seu navegador não suporta renderização vetorial. Actualmente os renderizadores suportados são:\n${renderers}",'componentShouldBe':"addFeatures: componente deve ser um(a) ${geomType}",'getFeatureError':"getFeatureFromEvent foi chamado numa camada sem renderizador. Isto normalmente significa que destruiu uma camada, mas não um manipulador \'\'(handler)\'\' que lhe está associado.",'minZoomLevelError':"A propriedade minZoomLevel só deve ser usada com as camadas descendentes da FixedZoomLevels. A verificação da propriedade por esta camada wfs é uma relíquia do passado. No entanto, não podemos removê-la sem correr o risco de afectar aplicações OL que dependam dela. Portanto, estamos a torná-la obsoleta -- a verificação minZoomLevel será removida na versão 3.0. Em vez dela, por favor, use as opções de resolução min/max descritas aqui: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacção WFS: SUCESSO ${response}",'commitFailed':"Transacção WFS: FALHOU ${response}",'googleWarning':"A Camada Google não foi correctamente carregada.\x3cbr\x3e\x3cbr\x3ePara deixar de receber esta mensagem, seleccione uma nova Camada-Base no \'\'switcher\'\' de camadas no canto superior direito.\x3cbr\x3e\x3cbr\x3eProvavelmente, isto acontece porque o \'\'script\'\' da biblioteca do Google Maps não foi incluído ou não contém a chave API correcta para o seu sítio.\x3cbr\x3e\x3cbr\x3eProgramadores: Para ajuda sobre como solucionar o problema \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eclique aqui\x3c/a\x3e .",'getLayerWarning':"A camada ${layerType} não foi correctamente carregada.\x3cbr\x3e\x3cbr\x3ePara desactivar esta mensagem, seleccione uma nova Camada-Base no \'\'switcher\'\' de camadas no canto superior direito.\x3cbr\x3e\x3cbr\x3eProvavelmente, isto acontece porque o \'\'script\'\' da biblioteca ${layerLib} não foi incluído correctamente.\x3cbr\x3e\x3cbr\x3eProgramadores: Para ajuda sobre como solucionar o problema \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclique aqui\x3c/a\x3e .",'scale':"Escala = 1 : ${scaleDenom}",'W':"O",'E':"E",'N':"N",'S':"S",'layerAlreadyAdded':"Você tentou adicionar a camada: ${layerName} ao mapa, mas ela já tinha sido adicionada antes",'reprojectDeprecated':"Está usando a opção \'reproject\' na camada ${layerName}. Esta opção é obsoleta: foi concebida para permitir a apresentação de dados sobre mapas-base comerciais, mas esta funcionalidade é agora suportada pelo Mercator Esférico. Mais informação está disponível em http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método foi declarado obsoleto e será removido na versão 3.0. Por favor, use ${newMethod} em vez disso.",'boundsAddError':"Você deve passar tanto o valor x como o y à função de adição.",'lonlatAddError':"Você deve passar tanto o valor lon como o lat à função de adição.",'pixelAddError':"Você deve passar tanto o valor x como o y à função de adição.",'unsupportedGeometryType':"Tipo de geometria não suportado: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falhou: o elemento com o id ${elemId} poderá estar mal-posicionado.",'filterEvaluateNotImplemented':"avaliar não está implementado para este tipo de filtro."});OpenLayers.Lang["ru"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Необработанный запрос вернул ${statusText}",'permalink':"Постоянная ссылка",'overlays':"Слои",'baseLayer':"Основной слой",'sameProjection':"Обзорная карта работает только тогда, когда имеет ту же проекцию, что и основная",'readNotImplemented':"Чтение не реализовано.",'writeNotImplemented':"Запись не реализована.",'noFID':"Невозможно обновить объект, для которого нет FID.",'errorLoadingGML':"Ошибка при загрузке файла GML ${url}",'browserNotSupported':"Ваш браузер не поддерживает векторную графику. На данный момент поддерживаются:\n${renderers}",'componentShouldBe':"addFeatures: компонент должен быть ${geomType}",'getFeatureError':"getFeatureFromEvent вызван для слоя без рендерера. Обычно это говорит о том, что вы уничтожили слой, но оставили связанный с ним обработчик.",'minZoomLevelError':"Свойство minZoomLevel предназначено только для использования со слоями, являющимися потомками FixedZoomLevels. То, что этот WFS-слой проверяется на minZoomLevel — реликт прошлого. Однако мы не можем удалить эту функцию, так как, возможно, от неё зависят некоторые основанные на OpenLayers приложения. Функция объявлена устаревшей — проверка minZoomLevel будет удалена в 3.0. Пожалуйста, используйте вместо неё настройку мин/макс разрешения, описанную здесь: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Транзакция WFS: УСПЕШНО ${response}",'commitFailed':"Транзакция WFS: ОШИБКА ${response}",'googleWarning':"Слой Google не удалось нормально загрузить.\x3cbr\x3e\x3cbr\x3eЧтобы избавиться от этого сообщения, выбите другой основной слой в переключателе в правом верхнем углу.\x3cbr\x3e\x3cbr\x3eСкорее всего, причина в том, что библиотека Google Maps не была включена или не содержит корректного API-ключа для вашего сайта.\x3cbr\x3e\x3cbr\x3eРазработчикам: чтобы узнать, как сделать, чтобы всё заработало, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eщёлкните тут\x3c/a\x3e",'getLayerWarning':"Слой ${layerType} не удалось нормально загрузить. \x3cbr\x3e\x3cbr\x3eЧтобы избавиться от этого сообщения, выбите другой основной слой в переключателе в правом верхнем углу.\x3cbr\x3e\x3cbr\x3eСкорее всего, причина в том, что библиотека ${layerLib} не была включена или была включена некорректно.\x3cbr\x3e\x3cbr\x3eРазработчикам: чтобы узнать, как сделать, чтобы всё заработало, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eщёлкните тут\x3c/a\x3e",'scale':"Масштаб = 1 : ${scaleDenom}",'W':"З",'E':"В",'N':"С",'S':"Ю",'layerAlreadyAdded':"Вы попытались добавить слой «${layerName}» на карту, но он уже был добавлен",'reprojectDeprecated':"Вы используете опцию \'reproject\' для слоя ${layerName}. Эта опция является устаревшей: ее использование предполагалось для поддержки показа данных поверх коммерческих базовых карт, но теперь этот функционал несёт встроенная поддержка сферической проекции Меркатора. Больше сведений доступно на http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Этот метод считается устаревшим и будет удалён в версии 3.0. Пожалуйста, пользуйтесь ${newMethod}.",'boundsAddError':"Функции add надо передавать оба значения, x и y.",'lonlatAddError':"Функции add надо передавать оба значения, lon и lat.",'pixelAddError':"Функции add надо передавать оба значения, x и y.",'unsupportedGeometryType':"Неподдерживаемый тип геометрии: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: элемент с id ${elemId} может находиться не в нужном месте.",'filterEvaluateNotImplemented':"evaluate не реализовано для фильтра данного типа."});OpenLayers.Lang["sk"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Neobslúžené požiadavky vracajú ${statusText}",'permalink':"Trvalý odkaz",'overlays':"Prekrytia",'baseLayer':"Základná vrstva",'sameProjection':"Prehľadová mapka funguje iba vtedy, keď je v rovnakej projekcii ako hlavná mapa",'readNotImplemented':"Čítanie nie je implementované.",'writeNotImplemented':"Zápis nie je implementovaný.",'noFID':"Nie je možné aktualizovať vlastnosť, pre ktorú neexistuje FID.",'errorLoadingGML':"Chyba pri načítaní súboru GML ${url}",'browserNotSupported':"Váš prehliadač nepodporuje vykresľovanie vektorov. Momentálne podporované vykresľovače sú:\n${renderers}",'componentShouldBe':"addFeatures: komponent by mal byť ${geomType}",'getFeatureError':"getFeatureFromEvent bola zavolaná na vrstve bez vykresľovača. To zvyčajne znamená, že ste odstránili vrstvu, ale nie niektorú z obslúh, ktorá je s ňou asociovaná.",'minZoomLevelError':"Vlastnosť minZoomLevel je určený iba na použitie s vrstvami odvodenými od FixedZoomLevels. To, že táto wfs vrstva kontroluje minZoomLevel je pozostatok z minulosti. Nemôžeme ho však odstrániť, aby sme sa vyhli možnému porušeniu aplikácií založených na Open Layers, ktoré na tomto môže závisieť. Preto ho označujeme ako zavrhovaný - dolu uvedená kontrola minZoomLevel bude odstránená vo verzii 3.0. Použite prosím namiesto toho kontrolu min./max. rozlíšenia podľa tu uvedeného popisu: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transakcia WFS: ÚSPEŠNÁ ${response}",'commitFailed':"Transakcia WFS: ZLYHALA ${response}",'googleWarning':"Vrstvu Google nebolo možné správne načítať.\x3cbr\x3e\x3cbr\x3eAby ste sa tejto správy zbavili vyberte novú BaseLayer v prepínači vrstiev v pravom hornom rohu.\x3cbr\x3e\x3cbr\x3eToto sa stalo pravdepodobne preto, že skript knižnice Google Maps buď nebol načítaný alebo neobsahuje správny kľúč API pre vašu lokalitu.\x3cbr\x3e\x3cbr\x3eVývojári: Tu môžete získať \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3epomoc so sfunkčnením\x3c/a\x3e",'getLayerWarning':"Vrstvu ${layerType} nebolo možné správne načítať.\x3cbr\x3e\x3cbr\x3eAby ste sa tejto správy zbavili vyberte novú BaseLayer v prepínači vrstiev v pravom hornom rohu.\x3cbr\x3e\x3cbr\x3eToto sa stalo pravdepodobne preto, že skript knižnice ${layerType} buď nebol načítaný alebo neobsahuje správny kľúč API pre vašu lokalitu.\x3cbr\x3e\x3cbr\x3eVývojári: Tu môžete získať \x3ca href=\'http://trac.openlayers.org/wiki/${layerType}\' target=\'_blank\'\x3epomoc so sfunkčnením\x3c/a\x3e",'scale':"Mierka = 1 : ${scaleDenom}",'layerAlreadyAdded':"Pokúsili ste sa do mapy pridať vrstvu ${layerName}, ale tá už bola pridaná",'reprojectDeprecated':"Používate voľby „reproject“ vrstvy ${layerType}. Táto voľba je zzavrhovaná: jej použitie bolo navrhnuté na podporu zobrazovania údajov nad komerčnými základovými mapami, ale túto funkcionalitu je teraz možné dosiahnuť pomocou Spherical Mercator. Ďalšie informácie získate na stránke http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Táto metóda je zavrhovaná a bude odstránená vo verzii 3.0. Použite prosím namiesto nej metódu ${newMethod}.",'boundsAddError':"Sčítacej funkcii musíte dať hodnoty x aj y.",'lonlatAddError':"Sčítacej funkcii musíte dať hodnoty lon (zem. dĺžka) aj lat (zem. šírka).",'pixelAddError':"Sčítacej funkcii musíte dať hodnoty x aj y.",'unsupportedGeometryType':"Nepodporovaný typ geometrie: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition zlyhalo: prvok s id ${elemId} môže byť zle umiestnený.",'filterEvaluateNotImplemented':"evaluate nie je implementovaný pre tento typ filtra"});OpenLayers.Lang["sv"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Ej hanterad fråga retur ${statusText}",'permalink':"Permalänk",'overlays':"Kartlager",'baseLayer':"Bakgrundskarta",'sameProjection':"Översiktskartan fungerar endast när den har samma projektion som huvudkartan",'readNotImplemented':"Läsning ej implementerad.",'writeNotImplemented':"Skrivning ej implementerad.",'noFID':"Kan ej uppdatera feature (objekt) för vilket FID saknas.",'errorLoadingGML':"Fel i laddning av GML-fil ${url}",'browserNotSupported':"Din webbläsare stöder inte vektorvisning. För närvarande stöds följande visning:\n${renderers}",'componentShouldBe':"addFeatures : komponenten skall vara en ${geomType}",'getFeatureError':"getFeatureFromEvent anropad för lager utan utritning. Detta betyder oftast att man raderat ett lager, men inte en hanterare som är knuten till lagret.",'minZoomLevelError':"Egenskapen minZoomLevel är endast avsedd att användas med lager med FixedZoomLevels. Att detta WFS-lager kontrollerar minZoomLevel är en relik från äldre versioner. Vi kan dock inte ta bort det utan att riskera att OL-baserade tillämpningar som använder detta slutar fungera. Därför är det satt som deprecated, minZoomLevel kommer att tas bort i version 3.0. Använd i stället inställning av min/max resolution som beskrivs här: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-transaktion: LYCKADES ${response}",'commitFailed':"WFS-transaktion: MISSLYCKADES ${response}",'googleWarning':"Google-lagret kunde inte laddas korrekt.\x3cbr\x3e\x3cbr\x3eFör att slippa detta meddelande, välj en annan bakgrundskarta i lagerväljaren i övre högra hörnet.\x3cbr\x3e\x3cbr\x3eSannolikt beror felet på att Google Maps-biblioteket inte är inkluderat på webbsidan eller på att sidan inte anger korrekt API-nyckel för webbplatsen.\x3cbr\x3e\x3cbr\x3eUtvecklare: hjälp för att åtgärda detta, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eklicka här\x3c/a\x3e.",'getLayerWarning':"${layerType}-lagret kunde inte laddas korrekt.\x3cbr\x3e\x3cbr\x3eFör att slippa detta meddelande, välj en annan bakgrundskarta i lagerväljaren i övre högra hörnet.\x3cbr\x3e\x3cbr\x3eSannolikt beror felet på att ${layerLib}-biblioteket inte är inkluderat på webbsidan.\x3cbr\x3e\x3cbr\x3eUtvecklare: hjälp för att åtgärda detta, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eklicka här\x3c/a\x3e.",'scale':"\x3cstrong\x3eSkala\x3c/strong\x3e 1 : ${scaleDenom}",'layerAlreadyAdded':"Du försökte lägga till lagret: ${layerName} på kartan, men det har lagts till tidigare",'reprojectDeprecated':"Du använder inställningen \'reproject\' på lagret ${layerName}. Denna inställning markerad som deprecated: den var avsedd att användas för att stödja visning av kartdata på kommersiella bakgrundskartor, men nu bör man i stället använda Spherical Mercator-stöd för den funktionaliteten. Mer information finns på http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Denna metod är markerad som deprecated och kommer att tas bort i 3.0. Använd ${newMethod} i stället.",'boundsAddError':"Du måste skicka både x- och y-värde till funktionen add.",'lonlatAddError':"Du måste skicka både lon- och lat-värde till funktionen add.",'pixelAddError':"Du måste skicka både x- och y-värde till funktionen add.",'unsupportedGeometryType':"Stöd saknas för geometritypen: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition misslyckades: elementet med id ${elemId} kan placeras fel.",'filterEvaluateNotImplemented':"evaluering har ej implementerats för denna typ av filter."});OpenLayers.Lang["te"]=OpenLayers.Util.applyDefaults({'permalink':"స్థిరలింకు",'W':"ప",'E':"తూ",'N':"ఉ",'S':"ద"});OpenLayers.Lang["vi"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Không xử lý được phản hồi ${statusText} cho yêu cầu",'permalink':"Liên kết thường trực",'overlays':"Lấp bản đồ",'baseLayer':"Lớp nền",'sameProjection':"Bản đồ toàn cảnh chỉ hoạt động khi cùng phép chiếu với bản đồ chính",'readNotImplemented':"Chưa hỗ trợ chức năng đọc.",'writeNotImplemented':"Chưa hỗ trợ chức năng viết.",'noFID':"Không thể cập nhật tính năng thiếu FID.",'errorLoadingGML':"Lỗi tải tập tin GML tại ${url}",'browserNotSupported':"Trình duyệt của bạn không hỗ trợ chức năng vẽ bằng vectơ. Hiện hỗ trợ các bộ kết xuất:\n${renderers}",'componentShouldBe':"addFeatures: bộ phận cần phải là ${geomType}",'getFeatureError':"getFeatureFromEvent được gọi từ lớp không có bộ kết xuất. Thường thì có lẽ lớp bị xóa nhưng một phần xử lý của nó vẫn còn.",'minZoomLevelError':"Chỉ nên sử dụng thuộc tính minZoomLevel với các lớp FixedZoomLevels-descendent. Việc lớp wfs này tìm cho minZoomLevel là di tích còn lại từ xưa. Tuy nhiên, nếu chúng tôi dời nó thì sẽ vỡ các chương trình OpenLayers mà dựa trên nó. Bởi vậy chúng tôi phản đối sử dụng nó\x26nbsp;– bước tìm cho minZoomLevel sẽ được dời vào phiên bản 3.0. Xin sử dụng thiết lập độ phân tích tối thiểu / tối đa thay thế, theo hướng dẫn này: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Giao dịch WFS: THÀNH CÔNG ${response}",'commitFailed':"Giao dịch WFS: THẤT BẠI ${response}",'googleWarning':"Không thể tải lớp Google đúng đắn.\x3cbr\x3e\x3cbr\x3eĐể tránh thông báo này lần sau, hãy chọn BaseLayer mới dùng điều khiển chọn lớp ở góc trên phải.\x3cbr\x3e\x3cbr\x3eChắc script thư viện Google Maps hoặc không được bao gồm hoặc không chứa khóa API hợp với website của bạn.\x3cbr\x3e\x3cbr\x3e\x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eTrợ giúp về tính năng này\x3c/a\x3e cho người phát triển.",'getLayerWarning':"Không thể tải lớp ${layerType} đúng đắn.\x3cbr\x3e\x3cbr\x3eĐể tránh thông báo này lần sau, hãy chọn BaseLayer mới dùng điều khiển chọn lớp ở góc trên phải.\x3cbr\x3e\x3cbr\x3eChắc script thư viện ${layerLib} không được bao gồm đúng kiểu.\x3cbr\x3e\x3cbr\x3e\x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eTrợ giúp về tính năng này\x3c/a\x3e cho người phát triển.",'scale':"Tỷ lệ = 1 : ${scaleDenom}",'W':"T",'E':"Đ",'N':"B",'S':"N",'layerAlreadyAdded':"Bạn muốn thêm lớp ${layerName} vào bản đồ, nhưng lớp này đã được thêm",'reprojectDeprecated':"Bạn đang áp dụng chế độ “reproject” vào lớp ${layerName}. Chế độ này đã bị phản đối: nó có mục đích hỗ trợ lấp dữ liệu trên các nền bản đồ thương mại; nên thực hiện hiệu ứng đó dùng tính năng Mercator Hình cầu. Có sẵn thêm chi tiết tại http://trac.openlayers.org/wiki/SphericalMercator .",'methodDeprecated':"Phương thức này đã bị phản đối và sẽ bị dời vào phiên bản 3.0. Xin hãy sử dụng ${newMethod} thay thế.",'boundsAddError':"Cần phải cho cả giá trị x và y vào hàm add.",'lonlatAddError':"Cần phải cho cả giá trị lon và lat vào hàm add.",'pixelAddError':"Cần phải cho cả giá trị x và y vào hàm add.",'unsupportedGeometryType':"Không hỗ trợ kiểu địa lý: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition bị thất bại: nguyên tố với ID ${elemId} có thể ở chỗ sai.",'filterEvaluateNotImplemented':"chưa hỗ trợ evaluate cho loại bộ lọc này."});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图层不能正确加载。

"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。

"+"这种情况很可能是没有正确的包含Google地图脚本库,"+"或者是没有包含在你的站点上"+"使用的正确的Google Maps API密匙。

"+"开发者:获取使其正确工作的帮助信息,"+"点击这里",'getLayerWarning':"${layerType} 图层不能正确加载。

"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。

"+"这种情况很可能是没有正确的包含"+"${layerLib} 脚本库。

"+"开发者:获取使其正确工作的帮助信息,"+"点击这里",'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 圖層無法被正確的載入。

"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。

"+"很有可能是因為 Google Maps 的函式庫"+"腳本沒有被正確的置入,或沒有包含 "+"您網站上正確的 API key

"+"開發者: 要幫助這個行為正確完成,"+"請按這裡",'getLayerWarning':"${layerType} 圖層無法被正確的載入。

"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。

"+"很有可能是因為 ${layerLib} 的函式庫"+"腳本沒有被正確的置入。

"+"開發者: 要幫助這個行為正確完成,"+"請按這裡",'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;} +-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["ar"]=OpenLayers.Util.applyDefaults({'permalink':"وصلة دائمة",'baseLayer':"الطبقة الاساسية",'readNotImplemented':"القراءة غير محققة.",'writeNotImplemented':"الكتابة غير محققة",'errorLoadingGML':"خطأ عند تحميل الملف جي ام ال ${url}",'scale':"النسبة = 1 : ${scaleDenom}",'W':"غ",'E':"شر",'N':"شم",'S':"ج"});OpenLayers.Lang["be-tarask"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Неапрацаваны вынік запыту ${statusText}",'permalink':"Сталая спасылка",'overlays':"Слаі",'baseLayer':"Базавы слой",'sameProjection':"Аглядная мапа працуе толькі калі яна мае тую ж праекцыю, што і асноўная мапа",'readNotImplemented':"Функцыянальнасьць чытаньня ня створаная.",'writeNotImplemented':"Функцыянальнасьць запісу ня створаная.",'noFID':"Немагчыма абнавіць магчымасьць, для якога не існуе FID.",'errorLoadingGML':"Памылка загрузкі файла GML ${url}",'browserNotSupported':"Ваш браўзэр не падтрымлівае вэктарную графіку. У цяперашні момант падтрымліваюцца: ${renderers}",'componentShouldBe':"addFeatures : кампанэнт павінен быць ${geomType}",'getFeatureError':"getFeatureFromEvent выкліканы для слоя бяз рэндэру. Звычайна гэта азначае, што Вы зьнішчылі слой, але пакінулі зьвязаны зь ім апрацоўшчык.",'minZoomLevelError':"Уласьцівасьць minZoomLevel прызначана толькі для выкарыстаньня са слаямі вытворнымі ад FixedZoomLevels. Тое, што гэты wfs-слой правяраецца на minZoomLevel — рэха прошлага. Але мы ня можам выдаліць гэтую магчымасьць, таму што ад яе залежаць некаторыя заснаваныя на OL дастасаваньні. Тым ня менш, праверка minZoomLevel будзе выдаленая ў вэрсіі 3.0. Калі ласка, выкарыстоўваеце замест яе ўстаноўкі мінімальнага/максымальнага памераў, як апісана тут: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-транзакцыя: ПОСЬПЕХ ${response}",'commitFailed':"WFS-транзакцыя: ПАМЫЛКА ${response}",'googleWarning':"Не атрымалася загрузіць слой Google. \x3cbr\x3e\x3cbr\x3eКаб пазбавіцца гэтага паведамленьня, выберыце новы базавы слой у сьпісе ў верхнім правым куце.\x3cbr\x3e\x3cbr\x3e Хутчэй за ўсё, прычына ў тым, што скрыпт бібліятэкі Google Maps ня быў уключаныя альбо не ўтрымлівае слушны API-ключ для Вашага сайта.\x3cbr\x3e\x3cbr\x3eРаспрацоўшчыкам: Для таго, каб даведацца як зрабіць так, каб усё працавала, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eнацісьніце тут\x3c/a\x3e",'getLayerWarning':"Немагчыма загрузіць слой ${layerType}.\x3cbr\x3e\x3cbr\x3eКаб пазбавіцца гэтага паведамленьня, выберыце новы базавы слой у сьпісе ў верхнім правым куце.\x3cbr\x3e\x3cbr\x3eХутчэй за ўсё, прычына ў тым, што скрыпт бібліятэкі ${layerLib} ня быў слушна ўключаны.\x3cbr\x3e\x3cbr\x3eРаспрацоўшчыкам: Для таго, каб даведацца як зрабіць так, каб усё працавала, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eнацісьніце тут\x3c/a\x3e",'scale':"Маштаб = 1 : ${scaleDenom}",'W':"З",'E':"У",'N':"Пн",'S':"Пд",'layerAlreadyAdded':"Вы паспрабавалі дадаць слой ${layerName} на мапу, але ён ужо дададзены",'reprojectDeprecated':"Вы выкарыстоўваеце ўстаноўку \'reproject\' для слоя ${layerName}. Гэтая ўстаноўка зьяўляецца састарэлай: яна выкарыстоўвалася для падтрымкі паказу зьвестак на камэрцыйных базавых мапах, але гэта функцыя цяпер рэалізаваная ў убудаванай падтрымцы сфэрычнай праекцыі Мэркатара. Дадатковая інфармацыя ёсьць на http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Гэты мэтад састарэлы і будзе выдалены ў вэрсіі 3.0. Калі ласка, замест яго выкарыстоўвайце ${newMethod}.",'boundsAddError':"Вам неабходна падаць абодва значэньні x і y для функцыі складаньня.",'lonlatAddError':"Вам неабходна падаць абодва значэньні lon і lat для функцыі складаньня.",'pixelAddError':"Вам неабходна падаць абодва значэньні x і y для функцыі складаньня.",'unsupportedGeometryType':"Тып геамэтрыі не падтрымліваецца: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: верагодна элемэнт з ідэнтыфікатарам ${elemId} займае няслушнае месца.",'filterEvaluateNotImplemented':"evaluate не рэалізаваны для гэтага тыпу фільтру."});OpenLayers.Lang["bg"]=OpenLayers.Util.applyDefaults({'permalink':"Постоянна препратка",'baseLayer':"Основен слой",'errorLoadingGML':"Грешка при зареждане на GML файл ${url}",'scale':"Мащаб = 1 : ${scaleDenom}",'layerAlreadyAdded':"Опитахте да добавите слой ${layerName} в картата, но той вече е добавен",'methodDeprecated':"Този метод е остарял и ще бъде премахват в 3.0. Вместо него използвайте ${newMethod}."});OpenLayers.Lang["br"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Distro evel reked anveret ${statusText}",'permalink':"Peurliamm",'overlays':"Gwiskadoù",'baseLayer':"Gwiskad diazez",'sameProjection':"Ne\'z ar gartenn lec\'hiañ en-dro nemet pa vez heñvel ar banndres anezhi ha hini ar gartenn bennañ",'readNotImplemented':"N\'eo ket emplementet al lenn.",'writeNotImplemented':"N\'eo ket emplementet ar skrivañ.",'noFID':"N\'haller ket hizivaat un elfenn ma n\'eus ket a niverenn-anaout (FID) eviti.",'errorLoadingGML':"Fazi e-ser kargañ ar restr GML ${url}",'browserNotSupported':"N\'eo ket skoret an daskor vektorel gant ho merdeer. Setu aze an daskorerioù skoret evit ar poent :\n${renderers}",'componentShouldBe':"addFeatures : bez\' e tlefe ar parzh besañ eus ar seurt ${geomType}",'getFeatureError':"Galvet eo bet getFeatureFromEvent called war ur gwiskad hep daskorer. Kement-se a dalvez ez eus bet freuzet ur gwiskad hag hoc\'h eus miret un embreger bennak stag outañ.",'minZoomLevelError':"Ne zleer implijout ar perzh minZoomLevel nemet evit gwiskadoù FixedZoomLevels-descendent. Ar fed ma wiria ar gwiskad WHS-se hag-eñ ez eus eus minZoomLevel zo un aspadenn gozh. Koulskoude n\'omp ket evit e ziverkañ kuit da derriñ arloadoù diazezet war OL a c\'hallfe bezañ stag outañ. Setu perak eo dispredet -- Lamet kuit e vo ar gwiriañ minZoomLevel a-is er stumm 3.0. Ober gant an arventennoù bihanañ/brasañ evel deskrivet amañ e plas : http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Treuzgread WFS : MAT EO ${response}",'commitFailed':"Treuzgread WFS Transaction: C\'HWITET ${response}",'googleWarning':"N\'eus ket bet gallet kargañ ar gwiskad Google ent reizh.\x3cbr\x3e\x3cbr\x3eEvit en em zizober eus ar c\'hemenn-mañ, dibabit ur BaseLayer nevez en diuzer gwiskadoù er c\'horn dehoù el laez.\x3cbr\x3e\x3cbr\x3eSur a-walc\'h eo peogwir n\'eo ket bet ensoc\'het levraoueg Google Maps pe neuze ne glot ket an alc\'hwez API gant ho lec\'hienn.\x3cbr\x3e\x3cbr\x3eDiorroerien : Evit reizhañ an dra-se, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eclick here\x3c/a\x3e",'getLayerWarning':"N\'haller ket kargañ ar gwiskad ${layerType} ent reizh.\x3cbr\x3e\x3cbr\x3eEvit en em zizober eus ar c\'hemenn-mañ, dibabit ur BaseLayer nevez en diuzer gwiskadoù er c\'horn dehoù el laez.\x3cbr\x3e\x3cbr\x3eSur a-walc\'h eo peogwir n\'eo ket bet ensoc\'het mat al levraoueg ${layerLib}.\x3cbr\x3e\x3cbr\x3eDiorroerien : Evit gouzout penaos reizhañ an dra-se, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclick here\x3c/a\x3e",'scale':"Skeul = 1 : ${scaleDenom}",'W':"K",'E':"R",'N':"N",'S':"S",'layerAlreadyAdded':"Klasket hoc\'h eus ouzhpennañ ar gwiskad : ${layerName} d\'ar gartenn, met ouzhpennet e oa bet c\'hoazh",'reprojectDeprecated':"Emaoc\'h oc\'h implijout an dibarzh \'reproject\' war ar gwiskad ${layerName}. Dispredet eo an dibarzh-mañ : bet eo hag e talveze da ziskwel roadennoù war-c\'horre kartennoù diazez kenwerzhel, un dra hag a c\'haller ober bremañ gant an arc\'hwel dre skor banndres boullek Mercator. Muioc\'h a ditouroù a c\'haller da gaout war http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Dispredet eo an daore-se ha tennet e vo kuit eus ar stumm 3.0. Grit gant ${newMethod} e plas.",'boundsAddError':"Rekis eo tremen an div dalvoudenn x ha y d\'an arc\'hwel add.",'lonlatAddError':"Rekis eo tremen an div dalvoudenn hedred ha ledred d\'an arc\'hwel add.",'pixelAddError':"Rekis eo tremen an div dalvoudenn x ha y d\'an arc\'hwel add.",'unsupportedGeometryType':"Seurt mentoniezh anskoret : ${geomType}",'pagePositionFailed':"C\'hwitet eo OpenLayers.Util.pagePosition : marteze emañ lec\'hiet fall an elfenn id ${elemId}.",'filterEvaluateNotImplemented':"N\'eo ket bet emplementet ar priziañ evit seurt siloù c\'hoazh."});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 carregant el fitxer GML ${url}",'browserNotSupported':"El seu navegador no suporta renderització vectorial. Els renderitzadors suportats actualment són:\n${renderers}",'componentShouldBe':"addFeatures : el component ha de ser de tipus ${geomType}",'getFeatureError':"getFeatureFromEvent ha estat cridat des d'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 relíquia 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.

"+"Per evitar aquest missatge, seleccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.

"+"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.

"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"féu clic aquí",'getLayerWarning':"Per evitar aquest missatge, seleccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.

"+"Probablement això és degut a que l'script de la biblioteca "+"${layerLib} "+"no ha estat inclòs a la vostra pàgina.

"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"féu clic aquí",'scale':"Escala = 1 : ${scaleDenom}",'W':'O','E':'E','N':'N','S':'S','graticule':'Retícula','layerAlreadyAdded':"Heu intentat afegir la capa: ${layerName} al mapa, però 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ò ara aquesta funcionalitat s'hauria d'assolir 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["cs-CZ"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nezpracovaná návratová hodnota ${statusText}",'permalink':"Trvalý odkaz",'overlays':"Překryvné vrstvy",'baseLayer':"Podkladové vrstvy",'sameProjection':"Přehledka pracuje správně pouze tehdy, pokud je ve stejné projekci jako hlavní mapa",'readNotImplemented':"Read není implementováno.",'writeNotImplemented':"Write není implementováno.",'noFID':"Nelze aktualizovat prvek, pro který neexistuje FID.",'errorLoadingGML':"Chyba při načítání souboru GML ${url}",'browserNotSupported':"Váš prohlížeč nepodporuje vykreslování vektorů. Momentálně podporované nástroje jsou::\n${renderers}",'componentShouldBe':"addFeatures : komponenta by měla být ${geomType}",'getFeatureError':"getFeatureFromEvent bylo zavoláno na vrstvě, která nemá vykreslovač. To obyčejně znamená, že jste odstranil vrstvu, ale ne rutinu s ní asociovanou.",'minZoomLevelError':"Vlastnost minZoomLevel by se měla používat pouze s potomky FixedZoomLevels vrstvami. To znamená, že vrstva wfs kontroluje, zda-li minZoomLevel není zbytek z minulosti.Nelze to ovšem vyjmout bez možnosti, že bychom rozbili aplikace postavené na OL, které by na tom mohly záviset. Proto tuto vlastnost nedoporučujeme používat -- kontrola minZoomLevel bude odstraněna ve verzi 3.0. Použijte prosím raději nastavení min/max podle příkaldu popsaného na: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: ÚSPĚCH ${response}",'commitFailed':"WFS Transaction: CHYBA ${response}",'googleWarning':"Nepodařilo se správně načíst vrstvu Google.\x3cbr\x3e\x3cbr\x3eAbyste se zbavili této zprávy, zvolte jinou základní vrstvu v přepínači vrstev.\x3cbr\x3e\x3cbr\x3eTo se většinou stává, pokud nebyl načten skript, nebo neobsahuje správný klíč pro API pro tuto stránku.\x3cbr\x3e\x3cbr\x3eVývojáři: Pro pomoc, aby tohle fungovalo , \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eklikněte sem\x3c/a\x3e",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.\x3cbr\x3e\x3cbr\x3eTo get rid of this message, select a new BaseLayer in the layer switcher in the upper-right corner.\x3cbr\x3e\x3cbr\x3eMost likely, this is because the ${layerLib} library script was either not correctly included.\x3cbr\x3e\x3cbr\x3eDevelopers: For help getting this working correctly, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclick here\x3c/a\x3e",'scale':"Měřítko = 1 : ${scaleDenom}",'layerAlreadyAdded':"Pokusili jste se přidat vrstvu: ${layerName} do mapy, ale tato vrstva je již v mapě přítomna.",'reprojectDeprecated':"Použil jste volbu \'reproject\' ve vrstvě ${layerName}. Tato volba není doporučená: byla zde proto, aby bylo možno zobrazovat data z okomerčních serverů, ale tato funkce je nyní zajištěna pomocí podpory Spherical Mercator. Více informací naleznete na http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Tato metoda je zavržená a bude ve verzi 3.0 odstraněna. Prosím, použijte raději ${newMethod}.",'boundsAddError':"Pro přídavnou funkci musíte zadat obě souřadnice x a y.",'lonlatAddError':"Pro přídavnou funkci musíte zadat obě souřadnice lon a lat.",'pixelAddError':"Pro přídavnou funkci musíte zadat obě souřadnice x a y.",'unsupportedGeometryType':"Nepodporovaný typ geometrie: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition selhalo: element s id ${elemId} je asi umístěn chybně."});OpenLayers.Lang['da-DK']={'unhandledRequest':"En ikke håndteret forespørgsel returnerede ${statusText}",'permalink':"Permalink",'overlays':"Kortlag",'baseLayer':"Baggrundslag",'sameProjection':"Oversigtskortet fungerer kun når det har samme projektion som hovedkortet",'readNotImplemented':"Læsning er ikke implementeret.",'writeNotImplemented':"Skrivning er ikke implementeret.",'noFID':"Kan ikke opdateret en feature (et objekt) der ikke har et FID.",'errorLoadingGML':"Fejlede under indlæsning af GML fil ${url}",'browserNotSupported':"Din browser understøtter ikke vektor visning. Følgende vektor visninger understøttes:\n${renderers}",'componentShouldBe':"addFeatures : komponenten skal være en ${geomType}",'getFeatureError':"getFeatureFromEvent blev kaldt på et lag uden en visning. Dette betyder som regel at du "+"har destrueret et lag, men ikke de håndteringer der var tilknyttet.",'minZoomLevelError':"Egenskaben minZoomLevel er kun beregnet til brug "+"med FixedZoomLevels. At dette WFS lag kontrollerer "+"minZoomLevel egenskaben, er et levn fra en tidligere "+"version. Vi kan desværre ikke fjerne dette uden at risikere "+"at ødelægge eksisterende OL baserede programmer der "+" benytter denne funktionalitet. "+"Egenskaben bør derfor ikke anvendes, og minZoomLevel "+"kontrollen herunder vil blive fjernet i version 3.0. "+"Benyt istedet min/max opløsnings indstillingerne, som "+"er beskrevet her: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS transaktion: LYKKEDES ${response}",'commitFailed':"WFS transaktion: MISLYKKEDES ${response}",'googleWarning':"Google laget kunne ikke indlæses.

"+"For at fjerne denne besked, vælg et nyt bagrundskort i "+"lagskifteren i øverste højre hjørne.

"+"Fejlen skyldes formentlig at Google Maps bibliotekts "+"scriptet ikke er inkluderet, eller ikke indeholder den "+"korrkte API nøgle for dit site.

"+"Udviklere: For hjælp til at få dette til at fungere, "+"klik her",'getLayerWarning':"${layerType}-laget kunne ikke indlæses.

"+"For at fjerne denne besked, vælg et nyt bagrundskort i "+"lagskifteren i øverste højre hjørne.

"+"Fejlen skyldes formentlig at ${layerLib} bibliotekts "+"scriptet ikke er inkluderet.

"+"Udviklere: For hjælp til at få dette til at fungere, "+"klik her",'scale':"Målforhold = 1 : ${scaleDenom}",'layerAlreadyAdded':"Du har forsøgt at tilføje laget: ${layerName} til kortet, men det er allerede tilføjet",'reprojectDeprecated':"Du anvender indstillingen 'reproject' på laget ${layerName}."+"Denne indstilling bør ikke længere anvendes. Den var beregnet "+"til at vise data ovenpå kommercielle grundkort, men den funktionalitet "+"bør nu opnås ved at anvende Spherical Mercator understøttelsen. "+"Mere information er tilgængelig her: "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Denne funktion bør ikke længere anvendes, og vil blive fjernet i version 3.0. "+"Anvend venligst funktionen ${newMethod} istedet.",'boundsAddError':"Du skal angive både x og y værdier i kaldet til add funktionen.",'lonlatAddError':"Du skal angive både lon og lat værdier i kaldet til add funktionen.",'pixelAddError':"Du skal angive både x og y værdier i kaldet til add funktionen.",'unsupportedGeometryType':"Geometri typen: ${geomType} er ikke understøttet.",'pagePositionFailed':"OpenLayers.Util.pagePosition fejlede: elementet med id ${elemId} er måske placeret forkert.",'filterEvaluateNotImplemented':"evaluering er ikke implementeret for denne filter type."};OpenLayers.Lang["de"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Unbehandelte Anfragerückmeldung ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Grundkarte",'sameProjection':"Die Übersichtskarte funktioniert nur, wenn sie dieselbe Projektion wie die Hauptkarte verwendet",'readNotImplemented':"Lesen nicht implementiert.",'writeNotImplemented':"Schreiben nicht implementiert.",'noFID':"Ein Feature, für das keine FID existiert, kann nicht aktualisiert werden.",'errorLoadingGML':"Fehler beim Laden der GML-Datei ${url}",'browserNotSupported':"Ihr Browser unterstützt keine Vektordarstellung. Aktuell unterstützte Renderer:\n${renderers}",'componentShouldBe':"addFeatures: Komponente muss vom Typ ${geomType} sein",'getFeatureError':"getFeatureFromEvent wurde vom einem Layer ohne Renderer aufgerufen. Dies bedeutet normalerweise, dass ein Layer entfernt wurde, aber nicht Handler, die auf ihn verweisen.",'minZoomLevelError':"Die \x3ccode\x3eminZoomLevel\x3c/code\x3e-Eigenschaft ist nur für die Verwendung mit \x3ccode\x3eFixedZoomLevels\x3c/code\x3e-untergeordneten Layers vorgesehen. Das dieser \x3ctt\x3ewfs\x3c/tt\x3e-Layer die \x3ccode\x3eminZoomLevel\x3c/code\x3e-Eigenschaft überprüft ist ein Relikt der Vergangenheit. Wir können diese Überprüfung nicht entfernen, ohne das OL basierende Applikationen nicht mehr funktionieren. Daher markieren wir es als veraltet - die \x3ccode\x3eminZoomLevel\x3c/code\x3e-Überprüfung wird in Version 3.0 entfernt werden. Bitte verwenden Sie stattdessen die Min-/Max-Lösung, wie sie unter http://trac.openlayers.org/wiki/SettingZoomLevels beschrieben ist.",'commitSuccess':"WFS-Transaktion: Erfolgreich ${response}",'commitFailed':"WFS-Transaktion: Fehlgeschlagen ${response}",'googleWarning':"Der Google-Layer konnte nicht korrekt geladen werden.\x3cbr\x3e\x3cbr\x3eUm diese Meldung nicht mehr zu erhalten, wählen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.\x3cbr\x3e\x3cbr\x3eSehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der Google-Maps-Bibliothek nicht eingebunden wurde oder keinen gültigen API-Schlüssel für Ihre URL enthält.\x3cbr\x3e\x3cbr\x3eEntwickler: Besuche \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3edas Wiki\x3c/a\x3e für Hilfe zum korrekten Einbinden des Google-Layers",'getLayerWarning':"Der ${layerType}-Layer konnte nicht korrekt geladen werden.\x3cbr\x3e\x3cbr\x3eUm diese Meldung nicht mehr zu erhalten, wählen Sie einen anderen Hintergrundlayer aus dem LayerSwitcher in der rechten oberen Ecke.\x3cbr\x3e\x3cbr\x3eSehr wahrscheinlich tritt dieser Fehler auf, weil das Skript der \'${layerLib}\'-Bibliothek nicht eingebunden wurde.\x3cbr\x3e\x3cbr\x3eEntwickler: Besuche \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3edas Wiki\x3c/a\x3e für Hilfe zum korrekten Einbinden von Layern",'scale':"Maßstab = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"S",'layerAlreadyAdded':"Sie versuchen den Layer „${layerName}“ zur Karte hinzuzufügen, er wurde aber bereits hinzugefügt",'reprojectDeprecated':"Sie verwenden die „Reproject“-Option des Layers ${layerName}. Diese Option ist veraltet: Sie wurde entwickelt um die Anzeige von Daten auf kommerziellen Basiskarten zu unterstützen, aber diese Funktion sollte jetzt durch Unterstützung der „Spherical Mercator“ erreicht werden. Weitere Informationen sind unter http://trac.openlayers.org/wiki/SphericalMercator verfügbar.",'methodDeprecated':"Die Methode ist veraltet und wird in 3.0 entfernt. Bitte verwende stattdessen ${newMethod}.",'boundsAddError':"Beide Werte (x und y) müssen der add-Funktion übergeben werden.",'lonlatAddError':"Beide Werte (lon und lat) müssen der add-Funktion übergeben werden.",'pixelAddError':"Beide Werte (x und y) müssen der add-Funktion übergeben werden.",'unsupportedGeometryType':"Nicht unterstützter Geometrie-Typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fehlgeschlagen: Element mit Id ${elemId} möglicherweise falsch platziert.",'filterEvaluateNotImplemented':"„evaluate“ ist für diesen Filter-Typ nicht implementiert."});OpenLayers.Lang["el"]=OpenLayers.Util.applyDefaults({'scale':"Κλίμακα ~ 1 : ${scaleDenom}"});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.

"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.

"+"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.

"+"Developers: For help getting this working correctly, "+"click here",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.

"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.

"+"Most likely, this is because the ${layerLib} library "+"script was not correctly included.

"+"Developers: For help getting this working correctly, "+"click here",'scale':"Scale = 1 : ${scaleDenom}",'W':'W','E':'E','N':'N','S':'S','graticule':'Graticule','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.",'filterEvaluateNotImplemented':"evaluate is not implemented for this filter type.",'end':''};OpenLayers.Lang.es={'unhandledRequest':"Respuesta a petición no gestionada ${statusText}",'permalink':"Enlace permanente",'overlays':"Capas superpuestas",'baseLayer':"Capa Base",'sameProjection':"El mapa de vista general 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 se ha llamado desde 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 es 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.

"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.

"+"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.

"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"haga clic aquí",'getLayerWarning':"La capa ${layerType} no pudo ser cargada correctamente.

"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.

"+"Probablemente, esto se debe a que el script de "+"la biblioteca ${layerLib} "+"no fue correctamente incluido en su página.

"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"haga clic aquí",'scale':"Escala = 1 : ${scaleDenom}",'W':'O','E':'E','N':'N','S':'S','graticule':'Retícula','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 es obsoleta: su uso fue diseñado "+"para soportar la visualización de datos sobre mapas base comerciales, "+"pero ahora esa funcionalidad debería conseguirse 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 es 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["fi"]=OpenLayers.Util.applyDefaults({'permalink':"Ikilinkki",'overlays':"Kerrokset",'baseLayer':"Peruskerros",'sameProjection':"Yleiskuvakarttaa voi käyttää vain, kun sillä on sama projektio kuin pääkartalla.",'W':"L",'E':"I",'N':"P",'S':"E"});OpenLayers.Lang["fr"]=OpenLayers.Util.applyDefaults({'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.\x3cbr\x3e\x3cbr\x3ePour supprimer ce message, choisissez une nouvelle BaseLayer dans le sélecteur de couche en haut à droite.\x3cbr\x3e\x3cbr\x3eCela 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.\x3cbr\x3e\x3cbr\x3eDéveloppeurs : pour savoir comment corriger ceci, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3ecliquez ici\x3c/a\x3e",'getLayerWarning':"La couche ${layerType} n\'est pas en mesure de se charger correctement.\x3cbr\x3e\x3cbr\x3ePour supprimer ce message, choisissez une nouvelle BaseLayer dans le sélecteur de couche en haut à droite.\x3cbr\x3e\x3cbr\x3eCela est possiblement causé par la non-inclusion de la librairie ${layerLib}.\x3cbr\x3e\x3cbr\x3eDéveloppeurs : pour savoir comment corriger ceci, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3ecliquez ici\x3c/a\x3e",'scale':"Echelle ~ 1 : ${scaleDenom}",'W':"O",'E':"E",'N':"N",'S':"S",'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é.",'filterEvaluateNotImplemented':"évaluer n\'a pas encore été implémenté pour ce type de filtre."});OpenLayers.Lang["fur"]=OpenLayers.Util.applyDefaults({'permalink':"Leam Permanent",'overlays':"Livei parsore",'baseLayer':"Livel di base",'browserNotSupported':"Il to sgarfadôr nol supuarte la renderizazion vetoriâl. Al moment a son supuartâts:\n${renderers}",'scale':"Scjale = 1 : ${scaleDenom}",'W':"O",'E':"E",'N':"N",'S':"S"});OpenLayers.Lang["gl"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Solicitude non xerada; a resposta foi: ${statusText}",'permalink':"Ligazón permanente",'overlays':"Capas superpostas",'baseLayer':"Capa base",'sameProjection':"A vista xeral do mapa só funciona cando está na mesma proxección có mapa principal",'readNotImplemented':"Lectura non implementada.",'writeNotImplemented':"Escritura non implementada.",'noFID':"Non se pode actualizar a funcionalidade para a que non hai FID.",'errorLoadingGML':"Erro ao cargar o ficheiro GML ${url}",'browserNotSupported':"O seu navegador non soporta a renderización de vectores. Os renderizadores soportados actualmente son:\n${renderers}",'componentShouldBe':"addFeatures: o compoñente debera ser de tipo ${geomType}",'getFeatureError':"getFeatureFromEvent ten sido chamado a unha capa sen renderizador. Isto normalmente significa que destruíu unha capa, mais non o executador que está asociado con ela.",'minZoomLevelError':"A propiedade minZoomLevel é só para uso conxuntamente coas capas FixedZoomLevels-descendent. O feito de que esa capa wfs verifique o minZoomLevel é unha reliquia do pasado. Non podemos, con todo, eliminala sen a posibilidade de non romper as aplicacións baseadas en OL que poidan depender dela. Por iso a estamos deixando obsoleta (a comprobación minZoomLevel de embaixo será eliminada na versión 3.0). Por favor, no canto diso use o axuste de resolución mín/máx tal e como está descrito aquí: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacción WFS: ÉXITO ${response}",'commitFailed':"Transacción WFS: FALLIDA ${response}",'googleWarning':"A capa do Google non puido cargarse correctamente.\x3cbr\x3e\x3cbr\x3ePara evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.\x3cbr\x3e\x3cbr\x3eProbablemente, isto acontece porque a escritura da libraría do Google Maps ou ben non foi incluída ou ben non contén a clave API correcta para o seu sitio.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: para axudar a facer funcionar isto correctamente, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3epremede aquí\x3c/a\x3e",'getLayerWarning':"A capa ${layerType} foi incapaz de cargarse correctamente.\x3cbr\x3e\x3cbr\x3ePara evitar esta mensaxe, escolla unha nova capa base no seleccionador de capas na marxe superior dereita.\x3cbr\x3e\x3cbr\x3eProbablemente, isto acontece porque a escritura da libraría ${layerLib} non foi ben incluída.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: para axudar a facer funcionar isto correctamente, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3epremede aquí\x3c/a\x3e",'scale':"Escala = 1 : ${scaleDenom}",'W':"O",'E':"L",'N':"N",'S':"S",'layerAlreadyAdded':"Intentou engadir a capa: ${layerName} ao mapa, pero xa fora engadida",'reprojectDeprecated':"Está usando a opción \"reproject\" na capa ${layerName}. Esta opción está obsoleta: o seu uso foi deseñado para a visualización de datos sobre mapas base comerciais, pero esta funcionalidade debera agora ser obtida utilizando a proxección Spherical Mercator. Hai dispoñible máis información en http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método está obsoleto e será eliminado na versión 3.0. Por favor, no canto deste use ${newMethod}.",'boundsAddError':"Debe achegar os valores x e y á función add.",'lonlatAddError':"Debe achegar tanto o valor lon coma o lat á función add.",'pixelAddError':"Debe achegar os valores x e y á función add.",'unsupportedGeometryType':"Tipo xeométrico non soportado: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fallou: o elemento con id ${elemId} pode non estar na súa posición.",'filterEvaluateNotImplemented':"avaliar non está implementado para este tipo de filtro."});OpenLayers.Lang["gsw"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nit behandleti Aafrogsruckmäldig ${statusText}",'permalink':"Permalink",'overlays':"Iberlagerige",'baseLayer':"Grundcharte",'sameProjection':"D Ibersichts-Charte funktioniert nume, wänn si di glych Projäktion brucht wie d Hauptcharte",'readNotImplemented':"Läse nit implementiert.",'writeNotImplemented':"Schrybe nit implementiert.",'noFID':"E Feature, wu s kei FID derfir git, cha nit aktualisiert wäre.",'errorLoadingGML':"Fähler bim Lade vu dr GML-Datei ${url}",'browserNotSupported':"Dyy Browser unterstitzt kei Vektordarstellig. Aktuäll unterstitzti Renderer:\n${renderers}",'componentShouldBe':"addFeatures : Komponänt sott dr Typ ${geomType} syy",'getFeatureError':"getFeatureFromEvent isch uf eme Layer ohni Renderer ufgruefe wore. Des heisst normalerwys, ass Du e Layer kaputt gmacht hesch, aber nit dr Handler, wu derzue ghert.",'minZoomLevelError':"D minZoomLevel-Eigeschaft isch nume dänk fir d Layer, wu vu dr FixedZoomLevels abstamme. Ass dää wfs-Layer minZoomLevel prieft, scih e Relikt us dr Vergangeheit. Mir chenne s aber nit ändere ohni OL_basierti Aawändige villicht kaputt gehn, wu dervu abhänge. Us däm Grund het die Funktion d Eigeschaft \'deprecated\' iberchuu. D minZoomLevel-Priefig unte wird in dr Version 3.0 usegnuu. Bitte verwänd statt däm e min/max-Uflesig wie s do bschriben isch: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-Transaktion: ERFOLGRYCH ${response}",'commitFailed':"WFS-Transaktion: FÄHLGSCHLAA ${response}",'googleWarning':"Dr Google-Layer het nit korräkt chenne glade wäre.\x3cbr\x3e\x3cbr\x3eGo die Mäldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im rächte obere Ecke.\x3cbr\x3e\x3cbr\x3eDää Fähler git s seli hyfig, wel s Skript vu dr Google-Maps-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.\x3cbr\x3e\x3cbr\x3eEntwickler: Fir Hilf zum korräkte Yybinde vum Google-Layer \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3edoo drucke\x3c/a\x3e",'getLayerWarning':"Dr ${layerType}-Layer het nit korräkt chenne glade wäre.\x3cbr\x3e\x3cbr\x3eGo die Mäldig nimi z kriege, wehl e andere Hintergrundlayer us em LayerSwitcher im rächte obere Ecke.\x3cbr\x3e\x3cbr\x3eDää Fähler git s seli hyfig, wel s Skript vu dr \'${layerLib}\'-Bibliothek nit yybunde woren isch oder wel s kei giltige API-Schlissel fir Dyy URL din het.\x3cbr\x3e\x3cbr\x3eEntwickler: Fir Hilf zum korräkte Yybinde vu Layer \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3edoo drucke\x3c/a\x3e",'scale':"Maßstab = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"S",'layerAlreadyAdded':"Du hesch versuecht dää Layer in d Charte yyzfiege: ${layerName}, aber är isch schoi yygfiegt",'reprojectDeprecated':"Du bruchsch d \'reproject\'-Option bim ${layerName}-Layer. Die Option isch nimi giltig: si isch aagleit wore go Date iber kommerziälli Grundcharte lege, aber des sott mer jetz mache mit dr Unterstitzig vu Spherical Mercator. Meh Informatione git s uf http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Die Methode isch veraltet un wird us dr Version 3.0 usegnuu. Bitte verwäbnd statt däm ${newMethod}.",'boundsAddError':"Du muesch e x-Wärt un e y-Wärt yygee bi dr Zuefieg-Funktion",'lonlatAddError':"Du meusch e Lengi- un e Breiti-Grad yygee bi dr Zuefieg-Funktion.",'pixelAddError':"Du muesch x- un y-Wärt aagee bi dr Zuefieg-Funktion.",'unsupportedGeometryType':"Nit unterstitze Geometrii-Typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fählgschlaa: Elemänt mit ID ${elemId} isch villicht falsch gsetzt.",'filterEvaluateNotImplemented':"evaluiere isch nit implemäntiert in däm Filtertyp."});OpenLayers.Lang["hr"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nepodržani zahtjev ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Osnovna karta",'sameProjection':"Pregledna karta radi jedino kao je u istoj projekciji kao i glava karta",'readNotImplemented':"Čitanje nije implementirano.",'writeNotImplemented':"Pisanje nije implementirano.",'noFID':"Ne mogu ažurirati značajku za koju ne postoji FID.",'errorLoadingGML':"Greška u učitavanju GML datoteke ${url}",'browserNotSupported':"Vaš preglednik ne podržava vektorsko renderiranje. Trenutno podržani rendereri su: ${renderers}",'componentShouldBe':"addFeatures : komponenta bi trebala biti ${geomType}",'getFeatureError':"getFeatureFromEvent je pozvao Layer bez renderera. Ovo obično znači da ste uništiili Layer, a ne neki Handler koji je povezan s njim.",'commitSuccess':"WFS Transakcija: USPJEŠNA ${response}",'commitFailed':"WFS Transakcija: NEUSPJEŠNA ${response}",'scale':"Mjerilo = 1 : ${scaleDenom}",'layerAlreadyAdded':"Pokušali ste dodati layer: ${layerName} na kartu, ali je već dodan",'methodDeprecated':"Ova metoda nije odobrena i biti će maknuta u 3.0. Koristite ${newMethod}.",'boundsAddError':"Morate dati obje vrijednosti , x i y da bi dodali funkciju.",'lonlatAddError':"Morate dati obje vrijednosti , (lon i lat) da bi dodali funkciju.",'pixelAddError':"Morate dati obje vrijednosti , x i y da bi dodali funkciju.",'unsupportedGeometryType':"Nepodržani tip geometrije: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition nije uspjelo: element sa id ${elemId} može biti krivo smješten."});OpenLayers.Lang["hsb"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Wotmołwa njewobdźěłaneho naprašowanja ${statusText}",'permalink':"Trajny wotkaz",'overlays':"Naworštowanja",'baseLayer':"Zakładna runina",'sameProjection':"Přehladowa karta jenož funguje, hdyž je w samsnej projekciji kaž hłowna karta",'readNotImplemented':"Čitanje njeimplementowane.",'writeNotImplemented':"Pisanje njeimplementowane.",'noFID':"Funkcija, za kotruž FID njeje, njeda so aktualizować.",'errorLoadingGML':"Zmylk při začitowanju dataje ${url}",'browserNotSupported':"Twój wobhladowak wektorowe rysowanje njepodpěruje. Tuchwilu podpěrowane rysowaki su:\n${renderers}",'componentShouldBe':"addFeatures: komponenta měła ${geomType} być",'getFeatureError':"getFeatureFromEvent bu na woršće bjez rysowak zawołany. To zwjetša woznamjenja, zo sy worštu zničił, ale nic wobdźěłak, kotryž je z njej zwjazany.",'minZoomLevelError':"Kajkosć minZoomLevel je jenož za wužiwanje z worštami myslena, kotrež wot FixedZoomLevels pochadźeja. Zo tuta woršta wfs za minZoomLevel přepruwuje, je relikt zańdźenosće. Njemóžemy wšak ju wotstronić, bjeztoho zo aplikacije, kotrež na OpenLayers bazěruja a snano tutu kajkosć wužiwaja, hižo njefunguja. Tohodla smy ju jako zestarjenu woznamjenili -- přepruwowanje za minZoomLevel budu so we wersiji 3.0 wotstronjeć. Prošu wužij město toho nastajenje min/max, kaž je tu wopisane: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-Transakcija: WUSPĚŠNA ${response}",'commitFailed':"WFS-Transakcija: NJEPORADŹENA ${response}",'googleWarning':"Woršta Google njemóžeše so korektnje začitać.\x3cbr\x3e\x3cbr\x3eZo by tutu zdźělenku wotbył, wubjer nowy BaseLayer z wuběra worštow horjeka naprawo.\x3cbr\x3e\x3cbr\x3eNajskerje so to stawa, dokelž skript biblioteki Google Maps pak njebu zapřijaty pak njewobsahuje korektny kluč API za twoje sydło.\x3cbr\x3e\x3cbr\x3eWuwiwarjo: Za pomoc ke korektnemu fungowanju worštow\n\x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3etu kliknyć\x3c/a\x3e",'getLayerWarning':"Woršta ${layerType} njemóžeše so korektnje začitać.\x3cbr\x3e\x3cbr\x3eZo by tutu zdźělenku wotbył, wubjer nowy BaseLayer z wuběra worštow horjeka naprawo.\x3cbr\x3e\x3cbr\x3eNajskerje so to stawa, dokelž skript biblioteki ${layerLib} njebu korektnje zapřijaty.\x3cbr\x3e\x3cbr\x3eWuwiwarjo: Za pomoc ke korektnemu fungowanju worštow\n\x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3etu kliknyć\x3c/a\x3e",'scale':"Měritko = 1 : ${scaleDenom}",'W':"Z",'E':"W",'N':"S",'S':"J",'layerAlreadyAdded':"Sy spytał runinu ${layerName} karće dodać, ale je so hižo dodała",'reprojectDeprecated':"Wužiwaš opciju \"reproject\" wořšty ${layerName}. Tuta opcija je zestarjena: jeje wužiwanje bě myslene, zo by zwobraznjenje datow nad komercielnymi bazowymi kartami podpěrało, ale funkcionalnosć měła so nětko z pomocu Sperical Mercator docpěć. Dalše informacije steja na http://trac.openlayers.org/wiki/SphericalMercator k dispoziciji.",'methodDeprecated':"Tuta metoda je so njeschwaliła a budźe so w 3.0 wotstronjeć. Prošu wužij ${newMethod} město toho.",'boundsAddError':"Dyrbiš hódnotu x kaž tež y funkciji \"add\" přepodać.",'lonlatAddError':"Dyrbiš hódnotu lon kaž tež lat funkciji \"add\" přepodać.",'pixelAddError':"Dyrbiš hódnotu x kaž tež y funkciji \"add\" přepodać.",'unsupportedGeometryType':"Njepodpěrowany geometrijowy typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition je so njeporadźił: element z id ${elemId} bu snano wopak zaměstnjeny.",'filterEvaluateNotImplemented':"wuhódnoćenje njeje za tutón filtrowy typ implementowany."});OpenLayers.Lang["hu"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Nem kezelt kérés visszatérése ${statusText}",'permalink':"Permalink",'overlays':"Rávetítések",'baseLayer':"Alapréteg",'sameProjection':"Az áttekintő térkép csak abban az esetben működik, ha ugyanazon a vetületen van, mint a fő térkép.",'readNotImplemented':"Olvasás nincs végrehajtva.",'writeNotImplemented':"Írás nincs végrehajtva.",'noFID':"Nem frissíthető olyan jellemző, amely nem rendelkezik FID-del.",'errorLoadingGML':"Hiba GML-fájl betöltésekor ${url}",'browserNotSupported':"A böngészője nem támogatja a vektoros renderelést. A jelenleg támogatott renderelők:\n${renderers}",'componentShouldBe':"addFeatures : az összetevőnek ilyen típusúnak kell lennie: ${geomType}",'getFeatureError':"getFeatureFromEvent réteget hívott meg renderelő nélkül. Ez rendszerint azt jelenti, hogy megsemmisített egy fóliát, de néhány ahhoz társított kezelőt nem.",'minZoomLevelError':"A minZoomLevel tulajdonságot csak a következővel való használatra szánták: FixedZoomLevels-leszármazott fóliák. Ez azt jelenti, hogy a minZoomLevel wfs fólia jelölőnégyzetei már a múlté. Mi azonban nem távolíthatjuk el annak a veszélye nélkül, hogy az esetlegesen ettől függő OL alapú alkalmazásokat tönkretennénk. Ezért ezt érvénytelenítjük -- a minZoomLevel az alul levő jelölőnégyzet a 3.0-s verzióból el lesz távolítva. Kérjük, helyette használja a min/max felbontás beállítást, amelyről az alábbi helyen talál leírást: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS tranzakció: SIKERES ${response}",'commitFailed':"WFS tranzakció: SIKERTELEN ${response}",'googleWarning':"A Google fólia betöltése sikertelen.\x3cbr\x3e\x3cbr\x3eAhhoz, hogy ez az üzenet eltűnjön, válasszon egy új BaseLayer fóliát a jobb felső sarokban található fóliakapcsoló segítségével.\x3cbr\x3e\x3cbr\x3eNagy valószínűséggel ez azért van, mert a Google Maps könyvtár parancsfájlja nem található, vagy nem tartalmazza az Ön oldalához tartozó megfelelő API-kulcsot.\x3cbr\x3e\x3cbr\x3eFejlesztőknek: A helyes működtetésre vonatkozó segítség az alábbi helyen érhető el, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3ekattintson ide\x3c/a\x3e",'getLayerWarning':"A(z) ${layerType} fólia nem töltődött be helyesen.\x3cbr\x3e\x3cbr\x3eAhhoz, hogy ez az üzenet eltűnjön, válasszon egy új BaseLayer fóliát a jobb felső sarokban található fóliakapcsoló segítségével.\x3cbr\x3e\x3cbr\x3eNagy valószínűséggel ez azért van, mert a(z) ${layerLib} könyvtár parancsfájlja helytelen.\x3cbr\x3e\x3cbr\x3eFejlesztőknek: A helyes működtetésre vonatkozó segítség az alábbi helyen érhető el, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3ekattintson ide\x3c/a\x3e",'scale':"Lépték = 1 : ${scaleDenom}",'W':"Ny",'E':"K",'N':"É",'S':"D",'layerAlreadyAdded':"Megpróbálta hozzáadni a(z) ${layerName} fóliát a térképhez, de az már hozzá van adva",'reprojectDeprecated':"Ön a \'reproject\' beállítást használja a(z) ${layerName} fólián. Ez a beállítás érvénytelen: használata az üzleti alaptérképek fölötti adatok megjelenítésének támogatására szolgált, de ezt a funkció ezentúl a Gömbi Mercator használatával érhető el. További információ az alábbi helyen érhető el: http://trac.openlayers.org/wiki/SphericalMercator",'methodDeprecated':"Ez a módszer érvénytelenítve lett és a 3.0-s verzióból el lesz távolítva. Használja a(z) ${newMethod} módszert helyette.",'boundsAddError':"Az x és y értékeknek egyaránt meg kell felelnie, hogy a funkciót hozzáadhassa.",'lonlatAddError':"A hossz. és szél. értékeknek egyaránt meg kell felelnie, hogy a funkciót hozzáadhassa.",'pixelAddError':"Az x és y értékeknek egyaránt meg kell felelnie, hogy a funkciót hozzáadhassa.",'unsupportedGeometryType':"Nem támogatott geometriatípus: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition sikertelen: lehetséges, hogy a(z) ${elemId} azonosítójú elem téves helyre került.",'filterEvaluateNotImplemented':"ennél a szűrőtípusnál kiértékelés nem hajtódik végre."});OpenLayers.Lang["ia"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Le responsa a un requesta non esseva maneate: ${statusText}",'permalink':"Permaligamine",'overlays':"Superpositiones",'baseLayer':"Strato de base",'sameProjection':"Le mini-carta functiona solmente si illo es in le mesme projection que le carta principal",'readNotImplemented':"Lectura non implementate.",'writeNotImplemented':"Scriptura non implementate.",'noFID':"Non pote actualisar un elemento sin FID.",'errorLoadingGML':"Error al cargamento del file GML ${url}",'browserNotSupported':"Tu navigator non supporta le rendition de vectores. Le renditores actualmente supportate es:\n${renderers}",'componentShouldBe':"addFeatures: le componente debe esser del typo ${geomType}",'getFeatureError':"getFeatureFromEvent ha essite appellate in un strato sin renditor. Isto significa generalmente que tu ha destruite un strato, ma lassava un gestor associate con illo.",'minZoomLevelError':"Le proprietate minZoomLevel es solmente pro uso con le stratos descendente de FixedZoomLevels. Le facto que iste strato WFS verifica minZoomLevel es un reliquia del passato. Nonobstante, si nos lo remove immediatemente, nos pote rumper applicationes a base de OL que depende de illo. Ergo nos lo declara obsolete; le verification de minZoomLevel in basso essera removite in version 3.0. Per favor usa in su loco le configuration de resolutiones min/max como describite a: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transaction WFS: SUCCESSO ${response}",'commitFailed':"Transaction WFS: FALLEVA ${response}",'googleWarning':"Le strato Google non poteva esser cargate correctemente.\x3cbr\x3e\x3cbr\x3ePro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.\x3cbr\x3e\x3cbr\x3eMulto probabilemente, isto es proque le script del libreria de Google Maps non esseva includite o non contine le clave API correcte pro tu sito.\x3cbr\x3e\x3cbr\x3eDisveloppatores: Pro adjuta de corriger isto, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eclicca hic\x3c/a",'getLayerWarning':"Le strato ${layerType} non poteva esser cargate correctemente.\x3cbr\x3e\x3cbr\x3ePro disfacer te de iste message, selige un nove BaseLayer in le selector de strato in alto a dextra.\x3cbr\x3e\x3cbr\x3eMulto probabilemente, isto es proque le script del libreria de ${layerLib} non esseva correctemente includite.\x3cbr\x3e\x3cbr\x3eDisveloppatores: Pro adjuta de corriger isto, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclicca hic\x3c/a\x3e",'scale':"Scala = 1 : ${scaleDenom}",'W':"W",'E':"E",'N':"N",'S':"S",'layerAlreadyAdded':"Tu tentava adder le strato: ${layerName} al carta, ma illo es ja presente",'reprojectDeprecated':"Tu usa le option \'reproject\' in le strato ${layerName} layer. Iste option es obsolescente: illo esseva pro poter monstrar datos super cartas de base commercial, ma iste functionalitate pote ora esser attingite con le uso de Spherical Mercator. Ulterior information es disponibile a http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Iste methodo ha essite declarate obsolescente e essera removite in version 3.0. Per favor usa ${newMethod} in su loco.",'boundsAddError':"Tu debe passar le duo valores x e y al function add.",'lonlatAddError':"Tu debe passar le duo valores lon e lat al function add.",'pixelAddError':"Tu debe passar le duo valores x e y al function add.",'unsupportedGeometryType':"Typo de geometria non supportate: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falleva: le elemento con id ${elemId} pote esser mal placiate.",'filterEvaluateNotImplemented':"\"evaluate\" non es implementate pro iste typo de filtro."});OpenLayers.Lang["is"]=OpenLayers.Util.applyDefaults({'permalink':"Varanlegur tengill",'overlays':"Þekjur",'baseLayer':"Grunnlag",'sameProjection':"Yfirlitskortið virkar aðeins ef það er í sömu vörpun og aðalkortið",'readNotImplemented':"Skrifun er óútfærð.",'writeNotImplemented':"Lestur er óútfærður.",'errorLoadingGML':"Villa kom upp við að hlaða inn GML skránni ${url}",'scale':"Skali = 1 : ${scaleDenom}",'layerAlreadyAdded':"Þú reyndir að bæta laginu ${layerName} á kortið en það er þegar búið að bæta því við",'methodDeprecated':"Þetta fall hefur verið úrelt og verður fjarlægt í 3.0. Notaðu ${newMethod} í staðin."});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.

"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.

"+"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.

"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"clicca qui",'getLayerWarning':"Il livello ${layerType} non è riuscito a caricare correttamente.

"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.

"+"Più precisamente, ciò accade perchè la libreria ${layerLib} "+"non è stata inclusa nella pagina.

"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"clicca qui",'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["ja"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"未処理の要求は ${statusText} を返します",'permalink':"パーマリンク",'overlays':"オーバーレイ",'baseLayer':"基底レイヤー",'sameProjection':"概観地図はメインの地図と同じ投影法をとる場合のみ機能します",'readNotImplemented':"読み込みは実装されていません。",'writeNotImplemented':"書き込みは実装されていません。",'noFID':"FID のない地物は更新できません。",'errorLoadingGML':"GML ファイル ${url} の読み込みエラー",'browserNotSupported':"あなたのブラウザはベクターグラフィックスの描写に対応していません。現時点で対応しているソフトウェアは以下のものです。\n${renderers}",'componentShouldBe':"addFeatures: 要素は ${geomType} であるべきです",'getFeatureError':"getFeatureFromEvent がレンダラーのないレイヤーから呼ばれました。通常、これはあなたがレイヤーを、それに関連づけられたいくつかのハンドラを除いて、破壊してしまったことを意味します。",'minZoomLevelError':"minZoomLevel プロパティは FixedZoomLevels を継承するレイヤーでの使用のみを想定しています。この minZoomLevel に対する WFS レイヤーの検査は歴史的なものです。しかしながら、この検査を除去するとそれに依存する OpenLayers ベースのアプリケーションを破壊してしまう可能性があります。よって廃止が予定されており、この minZoomLevel 検査はバージョン3.0で除去されます。代わりに、http://trac.openlayers.org/wiki/SettingZoomLevels で解説されている、最小および最大解像度設定を使用してください。",'commitSuccess':"WFS トランザクション: 成功 ${response}",'commitFailed':"WFS トランザクション: 失敗 ${response}",'googleWarning':"Google レイヤーが正しく読み込みを行えませんでした。\x3cbr\x3e\x3cbr\x3eこのメッセージを消すには、右上の隅にあるレイヤー切り替え部分で新しい基底レイヤーを選んでください。\x3cbr\x3e\x3cbr\x3eおそらく、これは Google マップ用ライブラリのスクリプトが組み込まれていないか、あなたのサイトに対応する正しい API キーが設定されていないためです。\x3cbr\x3e\x3cbr\x3e開発者の方へ: 正しい動作をさせるために\x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eこちらのウィキ\x3c/a\x3eを参照してください。",'getLayerWarning':"${layerType} レイヤーが正しく読み込みを行えませんでした。\x3cbr\x3e\x3cbr\x3eこのメッセージを消すには、右上の隅にあるレイヤー切り替え部分で新しい基底レイヤーを選んでください。\x3cbr\x3e\x3cbr\x3eおそらく、これは ${layerLib} ライブラリのスクリプトが正しく組み込まれていないためです。\x3cbr\x3e\x3cbr\x3e開発者の方へ: 正しい動作をさせるために\x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eこちらのウィキ\x3c/a\x3eを参照してください。",'scale':"縮尺 = 1 : ${scaleDenom}",'W':"西",'E':"東",'N':"北",'S':"南",'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 と y の値両方を add 関数に渡さなければなりません。",'unsupportedGeometryType':"未対応の形状型: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition が失敗しました: id ${elemId} をもつ要素が誤った位置にある可能性があります。",'filterEvaluateNotImplemented':"このフィルター型について evaluate は実装されていません。"});OpenLayers.Lang["km"]=OpenLayers.Util.applyDefaults({'permalink':"តំណភ្ជាប់អចិន្ត្រៃយ៍",'baseLayer':"ស្រទាប់បាត​",'errorLoadingGML':"កំហុសកំឡុងពេលផ្ទុកឯកសារ GML ${url}",'scale':"មាត្រដ្ឋាន = ១ ៖ ${scaleDenom}"});OpenLayers.Lang["ksh"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Met dä Antwoot op en Aanfrooch ham_mer nix aanjefange: ${statusText}",'permalink':"Lengk op Duuer",'overlays':"Drövver jelaat",'baseLayer':"Jrund-Nivoh",'sameProjection':"De Övverseeschs_Kaat deiht et bloß, wann se de sälve Projäxjuhn bruche deiht, wi de Houp_Kaat",'readNotImplemented':"„\x3ccode lang=\"en\"\x3eread\x3c/code\x3e“ is em Projramm nit fürjesinn.",'writeNotImplemented':"„\x3ccode lang=\"en\"\x3ewrite\x3c/code\x3e“ is em Projramm nit fürjesinn.",'noFID':"En Saach, woh kein \x3ci lang=\"en\"\x3eFID\x3c/i\x3e för doh es, löht sesch nit ändere.",'errorLoadingGML':"Fähler beim \x3ci lang=\"en\"\x3eGML\x3c/i\x3e-Datei-Laade vun \x3ccode\x3e${url}\x3c/code\x3e",'browserNotSupported':"Dinge Brauser kann kein Väktore ußjävve. De Zoote Ußjaabe, di em Momang jon, sen:\n${renderers}",'componentShouldBe':"\x3ccode lang=\"en\"\x3eaddFeatures\x3c/code\x3e: dä Aandeil sullt vun dä Zoot „\x3ccode lang=\"en\"\x3e${geomType}\x3c/code\x3e“ sin.",'getFeatureError':"\x3ccode lang=\"en\"\x3egetFeatureFromEvent\x3c/code\x3e es vun enem Nivoh opjeroofe woode, woh et kei Projramm zom Ußjävve jit. Dat bedügg för jewöhnlesch, dat De e Nivoh kapott jemaat häs, ävver nit e Projramm för domet ömzejonn, wat domet verbonge es.",'minZoomLevelError':"De Eijeschaff „\x3ccode lang=\"en\"\x3eminZoomLevel\x3c/code\x3e“ es bloß doför jedaach, dat mer se met dä Nivvohß bruch, di vun \x3ccode lang=\"en\"\x3eFixedZoomLevels\x3c/code\x3e affhange don. Dat dat \x3ci lang=\"en\"\x3eWFS\x3c/i\x3e-Nivvoh övverhoup de Eijeschaff „\x3ccode lang=\"en\"\x3eminZoomLevel\x3c/code\x3e“ pröhfe deiht, es noch övveresch vun fröhjer. Mer künne dat ävver jez nit fott lohße, oohne dat mer Jevaa loufe, dat Aanwendunge vun OpenLayers nit mieh loufe, di sesch doh velleijsch noch drop am verlohße sin. Dröm sare mer, dat mer et nit mieh han welle, un de „\x3ccode lang=\"en\"\x3eminZoomLevel\x3c/code\x3e“-Eijeschaff weed hee vun de Version 3.0 af nit mieh jeprööf wäde. Nemm doför de Enstellung för de hühßte un de kleinßte Oplöhsung, esu wi et en http://trac.openlayers.org/wiki/SettingZoomLevels opjeschrevve es.",'commitSuccess':"Dä \x3ci lang=\"en\"\x3eWFS\x3c/i\x3e-Vörjang es joot jeloufe: ${response}",'commitFailed':"Dä \x3ci lang=\"en\"\x3eWFS\x3c/i\x3e-Vörjang es scheif jejange: ${response}",'googleWarning':"Dat Nivvoh \x3ccode lang=\"en\"\x3eGoogle\x3c/code\x3e kunnt nit reschtesch jelaade wääde.\x3cbr /\x3e\x3cbr /\x3eÖm hee di Nohreesch loß ze krijje, donn en ander Jrund-Nivvoh ußsöhke, rähß bovve en de Äk.\x3cbr /\x3e\x3cbr /\x3eWascheinlesch es dat wiel dat \x3ci lang=\"en\"\x3eGoogle-Maps\x3c/i\x3e-Skrepp entweeder nit reschtesch enjebonge wood, udder nit dä reschtejje \x3ci lang=\"en\"\x3eAPI\x3c/i\x3e-Schlößel för Ding Web-ßait scheke deiht.\x3cbr /\x3e\x3cbr /\x3eFör Projrammierer jidd_et Hölp do_drövver, \x3ca href=\"http://trac.openlayers.org/wiki/Google\" target=\"_blank\"\x3ewi mer dat aan et Loufe brengk\x3c/a\x3e.",'getLayerWarning':"Dat Nivvoh \x3ccode\x3e${layerType}\x3c/code\x3e kunnt nit reschtesch jelaade wääde.\x3cbr /\x3e\x3cbr /\x3eÖm hee di Nohreesch loß ze krijje, donn en ander Jrund-Nivvoh ußsöhkre, rähß bovve en de Äk.\x3cbr /\x3e\x3cbr /\x3eWascheinlesch es dat, wiel dat Skrepp \x3ccode\x3e${layerLib}\x3c/code\x3e nit reschtesch enjebonge wood.\x3cbr /\x3e\x3cbr /\x3eFör Projrammierer jidd_Et Hölp do_drövver, \x3ca href=\"http://trac.openlayers.org/wiki/${layerLib}\" target=\"_blank\"\x3ewi mer dat aan et Loufe brengk\x3c/a\x3e.",'scale':"Mohßshtaab = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"S",'layerAlreadyAdded':"Do häß versöhk, dat Nivvoh \x3ccode\x3e${layerName}\x3c/code\x3e en di Kaat eren ze bränge, et wohr ävver ald do dren.",'reprojectDeprecated':"Do bruchs de Ußwahl \x3ccode\x3ereproject\x3c/code\x3e op däm Nivvoh \x3ccode\x3e${layerName}\x3c/code\x3e. Di Ußwahl es nit mieh jähn jesinn. Se wohr doför jedaach, öm Date op jeschääfsmäßesch eruß jejovve Kaate bovve drop ze moole, wat ävver enzwesche besser met dä Öngershtözung för de ßfääresche Mäkaator Beldscher jeiht. Doh kanns De mieh drövver fenge op dä Sigg: http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Hee di Metood es nim_mih aktoäll un et weed se en dä Version 3.0 nit mieh jävve. Nemm \x3ccode\x3e${newMethod}\x3c/code\x3e doföör.",'boundsAddError':"Do moß beeds vun de \x3ccode\x3ex\x3c/code\x3e un \x3ccode\x3ey\x3c/code\x3e Wääte aan de Fungkßjohn \x3ccode\x3eadd\x3c/code\x3e jävve.",'lonlatAddError':"Do moß beeds \x3ccode\x3elon\x3c/code\x3e un \x3ccode\x3elat\x3c/code\x3e aan de Fungkßjohn \x3ccode\x3eadd\x3c/code\x3e jävve.",'pixelAddError':"Do moß beeds \x3ccode\x3ex\x3c/code\x3e un \x3ccode\x3ey\x3c/code\x3e aan de Fungkßjohn \x3ccode\x3eadd\x3c/code\x3e jävve.",'unsupportedGeometryType':"De Zoot Jommetrii dom_mer nit ongershtöze: \x3ccode\x3e${geomType}\x3c/code\x3e",'pagePositionFailed':"\x3ccode lang=\"en\"\x3eOpenLayers.Util.pagePosition\x3c/code\x3e es donevve jejange: dat Denge met dä Kännong \x3ccode\x3e${elemId}\x3c/code\x3e künnt am verkeehte Plaz sin.",'filterEvaluateNotImplemented':"„\x3ccode lang=\"en\"\x3eevaluate\x3c/code\x3e“ es för di Zoot Fellter nit enjereschdt."});OpenLayers.Lang["nb"]={'unhandledRequest':"Ubehandlet forespørsel returnerte ${statusText}",'permalink':"Kobling til denne siden",'overlays':"Kartlag",'baseLayer':"Bakgrunnskart",'sameProjection':"Oversiktskartet fungerer bare når det har samme projeksjon som hovedkartet",'readNotImplemented':"Lesing er ikke implementert.",'writeNotImplemented':"Skriving er ikke implementert.",'noFID':"Kan ikke oppdatere et feature (et objekt) som ikke har FID.",'errorLoadingGML':"Feil under lasting av GML-fil ${url}",'browserNotSupported':"Din nettleser støtter ikke vektortegning. Tegnemetodene som støttes er:\n${renderers}",'componentShouldBe':"addFeatures : komponenten må være en ${geomType}",'getFeatureError':"getFeatureFromEvent har blitt kjørt mot et lag uten noen tegnemetode. Dette betyr som regel at du "+"fjernet et lag uten å fjerne alle håndterere tilknyttet laget.",'minZoomLevelError':"Egenskapen minZoomLevel er kun ment til bruk på lag "+"basert på FixedZoomLevels. At dette wfs-laget sjekker "+"minZoomLevel er en etterlevning fra tidligere versjoner. Det kan dog ikke "+"tas bort uten å risikere at OL-baserte applikasjoner "+"slutter å virke, så det er merket som foreldet: "+"minZoomLevel i sjekken nedenfor vil fjernes i 3.0. "+"Vennligst bruk innstillingene for min/maks oppløsning "+"som er beskrevet her: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-transaksjon: LYKTES ${response}",'commitFailed':"WFS-transaksjon: MISLYKTES ${response}",'googleWarning':"Google-laget kunne ikke lastes.

"+"Bytt til et annet bakgrunnslag i lagvelgeren i "+"øvre høyre hjørne for å slippe denne meldingen.

"+"Sannsynligvis forårsakes feilen av at Google Maps-biblioteket "+"ikke er riktig inkludert på nettsiden, eller at det ikke er "+"angitt riktig API-nøkkel for nettstedet.

"+"Utviklere: For hjelp til å få dette til å virke se "+"her.",'getLayerWarning':"${layerType}-laget kunne ikke lastes.

"+"Bytt til et annet bakgrunnslag i lagvelgeren i "+"øvre høyre hjørne for å slippe denne meldingen.

"+"Sannsynligvis forårsakes feilen av at "+"${layerLib}-biblioteket ikke var riktig inkludert "+"på nettsiden.

"+"Utviklere: For hjelp til å få dette til å virke se "+"her.",'scale':"Skala 1 : ${scaleDenom}",'layerAlreadyAdded':"Du forsøkte å legge til laget ${layerName} på kartet, men det er allerede lagt til",'reprojectDeprecated':"Du bruker innstillingen 'reproject' på laget ${layerName}. "+"Denne innstillingen er foreldet, den var ment for å støtte "+"visning av kartdata over kommersielle bakgrunnskart, men det "+"bør nå gjøres med støtten for Spherical Mercator. Mer informasjon "+"finnes på http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Denne metoden er markert som foreldet og vil bli fjernet i 3.0. "+"Vennligst bruk ${newMethod} i stedet.",'boundsAddError':"Du må gi både x- og y-verdier til funksjonen add.",'lonlatAddError':"Du må gi både lon- og lat-verdier til funksjonen add.",'pixelAddError':"Du må gi både x- og y-verdier til funksjonen add.",'unsupportedGeometryType':"Geometritypen ${geomType} er ikke støttet",'pagePositionFailed':"OpenLayers.Util.pagePosition feilet: elementet med id ${elemId} kan være feilplassert.",'end':''};OpenLayers.Lang["no"]=OpenLayers.Lang["nb"];OpenLayers.Lang["nds"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Unbehannelt Trüchmellels för de Anfraag ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Achtergrundkoort",'sameProjection':"De Översichtskoort geiht blot, wenn de sülve Projekschoon as bi de Hööftkoort bruukt warrt",'readNotImplemented':"Lesen is nich inricht.",'writeNotImplemented':"Schrieven is nich inricht.",'noFID':"En Feature, dat keen FID hett, kann nich aktuell maakt warrn.",'errorLoadingGML':"Fehler bi’t Laden vun de GML-Datei ${url}",'browserNotSupported':"Dien Browser ünnerstütt keen Vektorbiller. Ünnerstütt Renderers:\n${renderers}",'componentShouldBe':"addFeatures : Kumponent schull man den Typ ${geomType} hebben",'getFeatureError':"getFeatureFromEvent is von en Laag ahn Render opropen worrn. Dat bedüüdt normalerwies, dat en Laag wegmaakt worrn is, aver nich de Handler, de dor op verwiest.",'commitSuccess':"WFS-Transakschoon: hett klappt ${response}",'commitFailed':"WFS-Transakschoon: hett nich klappt ${response}",'scale':"Skaal = 1 : ${scaleDenom}",'layerAlreadyAdded':"Du versöchst de Laag „${layerName}“ to de Koort totofögen, man de is al toföögt",'methodDeprecated':"Disse Methood is oold un schall dat in 3.0 nich mehr geven. Bruuk dor man beter ${newMethod} för.",'boundsAddError':"De Weert x un y, de mööt all beid an de add-Funkschoon övergeven warrn.",'lonlatAddError':"De Weert lon un lat, de mööt all beid an de add-Funkschoon övergeven warrn.",'pixelAddError':"De Weert x un y, de mööt all beid an de add-Funkschoon övergeven warrn.",'unsupportedGeometryType':"Nich ünnerstütt Geometrie-Typ: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition güng nich: Element mit de Id ${elemId} is villicht an’n verkehrten Platz."});OpenLayers.Lang["nl"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Het verzoek is niet afgehandeld met de volgende melding: ${statusText}",'permalink':"Permanente verwijzing",'overlays':"Overlays",'baseLayer':"Achtergrondkaart",'sameProjection':"De overzichtskaart werkt alleen als de projectie gelijk is aan de projectie van de hoofdkaart",'readNotImplemented':"Lezen is niet geïmplementeerd.",'writeNotImplemented':"Schrijven is niet geïmplementeerd.",'noFID':"Een optie die geen FID heeft kan niet bijgewerkt worden.",'errorLoadingGML':"Er is een fout opgetreden bij het laden van het GML bestand van ${url}",'browserNotSupported':"Uw browser ondersteunt het weergeven van vectoren niet.\nMomenteel ondersteunde weergavemogelijkheden:\n${renderers}",'componentShouldBe':"addFeatures : component moet van het type ${geomType} zijn",'getFeatureError':"getFeatureFromEvent is aangeroepen op een laag zonder rederer.\nDit betekent meestal dat u een laag hebt verwijderd, maar niet een handler die ermee geassocieerd was.",'minZoomLevelError':"De eigenschap minZoomLevel is alleen bedoeld voor gebruik lagen met die afstammen van FixedZoomLevels-lagen.\nDat deze WFS-laag minZoomLevel controleert, is een overblijfsel uit het verleden.\nWe kunnen deze controle echter niet verwijderen zonder op OL gebaseerde applicaties die hervan afhankelijk zijn stuk te maken.\nDaarom heeft deze functionaliteit de eigenschap \'deprecated\' gekregen - de minZoomLevel wordt verwijderd in versie 3.0.\nGebruik in plaats van deze functie de mogelijkheid om min/max voor resolutie in te stellen zoals op de volgende pagina wordt beschreven:\nhttp://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-transactie: succesvol ${response}",'commitFailed':"WFS-transactie: mislukt ${response}",'googleWarning':"De Google-Layer kon niet correct geladen worden.\x3cbr /\x3e\x3cbr /\x3e\nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.\x3cbr /\x3e\x3cbr /\x3e\nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct ingevoegd is.\x3cbr /\x3e\x3cbr /\x3e\nOntwikkelaars: \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eklik hier\x3c/a\x3e om dit werkend te krijgen.",'getLayerWarning':"De laag ${layerType} kon niet goed geladen worden.\x3cbr /\x3e\x3cbr /\x3e\nOm deze melding niet meer te krijgen, moet u een andere achtergrondkaart kiezen in de laagwisselaar in de rechterbovenhoek.\x3cbr /\x3e\x3cbr /\x3e\nDit komt waarschijnlijk doordat de bibliotheek ${layerLib} niet correct is ingevoegd.\x3cbr /\x3e\x3cbr /\x3e\nOntwikkelaars: \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eklik hier\x3c/a\x3e om dit werkend te krijgen.",'scale':"Schaal = 1 : ${scaleDenom}",'W':"W",'E':"O",'N':"N",'S':"Z",'layerAlreadyAdded':"U hebt geprobeerd om de laag ${layerName} aan de kaart toe te voegen, maar deze is al toegevoegd",'reprojectDeprecated':"U gebruikt de optie \'reproject\' op de laag ${layerName}.\nDeze optie is vervallen: deze optie was ontwikkeld om gegevens over commerciële basiskaarten weer te geven, maar deze functionaliteit wordt nu bereikt door ondersteuning van Spherical Mercator.\nMeer informatie is beschikbaar op http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Deze methode is verouderd en wordt verwijderd in versie 3.0.\nGebruik ${newMethod}.",'boundsAddError':"U moet zowel de x- als de y-waarde doorgeven aan de toevoegfunctie.",'lonlatAddError':"U moet zowel de lengte- als de breedtewaarde doorgeven aan de toevoegfunctie.",'pixelAddError':"U moet zowel de x- als de y-waarde doorgeven aan de toevoegfunctie.",'unsupportedGeometryType':"Dit geometrietype wordt niet ondersteund: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition is mislukt: het element met id ${elemId} is wellicht onjuist geplaatst.",'filterEvaluateNotImplemented':"evalueren is niet geïmplementeerd voor dit filtertype."});OpenLayers.Lang["nn"]=OpenLayers.Util.applyDefaults({'scale':"Skala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Du freista å leggja til laget «${layerName}» på kartet, men det har alt vorte lagt til.",'boundsAddError':"Du er nøydd til å gje både ein x- og ein y-verdi til «add»-funksjonen.",'lonlatAddError':"Du er nøydd til å gje både lon- og lat-verdiar til «add»-funksjonen.",'pixelAddError':"Du er nøydd til å gje både ein x- og ein y-verdi til «add»-funksjonen."});OpenLayers.Lang["pt-br"]=OpenLayers.Util.applyDefaults({'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.\x3cbr\x3e\x3cbr\x3ePara se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alternação de camadas localização do canto superior direito.\x3cbr\x3e\x3cbr\x3eMuito 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.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: Para obter ajuda em solucionar esse problema \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3ecliquem aqui\x3c/a\x3e",'getLayerWarning':"Não foi possível carregar a camada ${layerType} corretamente.\x3cbr\x3e\x3cbr\x3ePara se livrar dessa mensagem, selecione uma nova Camada Base, na ferramenta de alternação de camadas localização do canto superior direito.\x3cbr\x3e\x3cbr\x3eMuito provavelmente, isso foi causado porque o script da biblioteca ${layerLib} não foi incluído corretamente.\x3cbr\x3e\x3cbr\x3eDesenvolvedores: Para obter ajuda em solucionar esse problema \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3ecliquem aqui\x3c/a\x3e",'scale':"Escala = 1 : ${scaleDenom}",'W':"O",'E':"L",'N':"N",'S':"S",'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.",'filterEvaluateNotImplemented':"evaluete não está implementado para este tipo de filtro."});OpenLayers.Lang["pt"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Servidor devolveu erro não contemplado ${statusText}",'permalink':"Ligação permanente",'overlays':"Sobreposições",'baseLayer':"Camada Base",'sameProjection':"O mapa panorâmico só funciona quando está na mesma projeção que o mapa principal",'readNotImplemented':"Leitura não implementada.",'writeNotImplemented':"Escrita não implementada.",'noFID':"Não é possível atualizar um elemento para a qual não há FID.",'errorLoadingGML':"Erro ao carregar ficheiro GML ${url}",'browserNotSupported':"O seu navegador não suporta renderização vetorial. Actualmente os renderizadores suportados são:\n${renderers}",'componentShouldBe':"addFeatures: componente deve ser um(a) ${geomType}",'getFeatureError':"getFeatureFromEvent foi chamado numa camada sem renderizador. Isto normalmente significa que destruiu uma camada, mas não um manipulador \'\'(handler)\'\' que lhe está associado.",'minZoomLevelError':"A propriedade minZoomLevel só deve ser usada com as camadas descendentes da FixedZoomLevels. A verificação da propriedade por esta camada wfs é uma relíquia do passado. No entanto, não podemos removê-la sem correr o risco de afectar aplicações OL que dependam dela. Portanto, estamos a torná-la obsoleta -- a verificação minZoomLevel será removida na versão 3.0. Em vez dela, por favor, use as opções de resolução min/max descritas aqui: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacção WFS: SUCESSO ${response}",'commitFailed':"Transacção WFS: FALHOU ${response}",'googleWarning':"A Camada Google não foi correctamente carregada.\x3cbr\x3e\x3cbr\x3ePara deixar de receber esta mensagem, seleccione uma nova Camada-Base no \'\'switcher\'\' de camadas no canto superior direito.\x3cbr\x3e\x3cbr\x3eProvavelmente, isto acontece porque o \'\'script\'\' da biblioteca do Google Maps não foi incluído ou não contém a chave API correcta para o seu sítio.\x3cbr\x3e\x3cbr\x3eProgramadores: Para ajuda sobre como solucionar o problema \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eclique aqui\x3c/a\x3e .",'getLayerWarning':"A camada ${layerType} não foi correctamente carregada.\x3cbr\x3e\x3cbr\x3ePara desactivar esta mensagem, seleccione uma nova Camada-Base no \'\'switcher\'\' de camadas no canto superior direito.\x3cbr\x3e\x3cbr\x3eProvavelmente, isto acontece porque o \'\'script\'\' da biblioteca ${layerLib} não foi incluído correctamente.\x3cbr\x3e\x3cbr\x3eProgramadores: Para ajuda sobre como solucionar o problema \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eclique aqui\x3c/a\x3e .",'scale':"Escala = 1 : ${scaleDenom}",'W':"O",'E':"E",'N':"N",'S':"S",'layerAlreadyAdded':"Você tentou adicionar a camada: ${layerName} ao mapa, mas ela já tinha sido adicionada antes",'reprojectDeprecated':"Está usando a opção \'reproject\' na camada ${layerName}. Esta opção é obsoleta: foi concebida para permitir a apresentação de dados sobre mapas-base comerciais, mas esta funcionalidade é agora suportada pelo Mercator Esférico. Mais informação está disponível em http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método foi declarado obsoleto e será removido na versão 3.0. Por favor, use ${newMethod} em vez disso.",'boundsAddError':"Você deve passar tanto o valor x como o y à função de adição.",'lonlatAddError':"Você deve passar tanto o valor lon como o lat à função de adição.",'pixelAddError':"Você deve passar tanto o valor x como o y à função de adição.",'unsupportedGeometryType':"Tipo de geometria não suportado: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falhou: o elemento com o id ${elemId} poderá estar mal-posicionado.",'filterEvaluateNotImplemented':"avaliar não está implementado para este tipo de filtro."});OpenLayers.Lang["ru"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Необработанный запрос вернул ${statusText}",'permalink':"Постоянная ссылка",'overlays':"Слои",'baseLayer':"Основной слой",'sameProjection':"Обзорная карта работает только тогда, когда имеет ту же проекцию, что и основная",'readNotImplemented':"Чтение не реализовано.",'writeNotImplemented':"Запись не реализована.",'noFID':"Невозможно обновить объект, для которого нет FID.",'errorLoadingGML':"Ошибка при загрузке файла GML ${url}",'browserNotSupported':"Ваш браузер не поддерживает векторную графику. На данный момент поддерживаются:\n${renderers}",'componentShouldBe':"addFeatures: компонент должен быть ${geomType}",'getFeatureError':"getFeatureFromEvent вызван для слоя без рендерера. Обычно это говорит о том, что вы уничтожили слой, но оставили связанный с ним обработчик.",'minZoomLevelError':"Свойство minZoomLevel предназначено только для использования со слоями, являющимися потомками FixedZoomLevels. То, что этот WFS-слой проверяется на minZoomLevel — реликт прошлого. Однако мы не можем удалить эту функцию, так как, возможно, от неё зависят некоторые основанные на OpenLayers приложения. Функция объявлена устаревшей — проверка minZoomLevel будет удалена в 3.0. Пожалуйста, используйте вместо неё настройку мин/макс разрешения, описанную здесь: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Транзакция WFS: УСПЕШНО ${response}",'commitFailed':"Транзакция WFS: ОШИБКА ${response}",'googleWarning':"Слой Google не удалось нормально загрузить.\x3cbr\x3e\x3cbr\x3eЧтобы избавиться от этого сообщения, выбите другой основной слой в переключателе в правом верхнем углу.\x3cbr\x3e\x3cbr\x3eСкорее всего, причина в том, что библиотека Google Maps не была включена или не содержит корректного API-ключа для вашего сайта.\x3cbr\x3e\x3cbr\x3eРазработчикам: чтобы узнать, как сделать, чтобы всё заработало, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eщёлкните тут\x3c/a\x3e",'getLayerWarning':"Слой ${layerType} не удалось нормально загрузить. \x3cbr\x3e\x3cbr\x3eЧтобы избавиться от этого сообщения, выбите другой основной слой в переключателе в правом верхнем углу.\x3cbr\x3e\x3cbr\x3eСкорее всего, причина в том, что библиотека ${layerLib} не была включена или была включена некорректно.\x3cbr\x3e\x3cbr\x3eРазработчикам: чтобы узнать, как сделать, чтобы всё заработало, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eщёлкните тут\x3c/a\x3e",'scale':"Масштаб = 1 : ${scaleDenom}",'W':"З",'E':"В",'N':"С",'S':"Ю",'layerAlreadyAdded':"Вы попытались добавить слой «${layerName}» на карту, но он уже был добавлен",'reprojectDeprecated':"Вы используете опцию \'reproject\' для слоя ${layerName}. Эта опция является устаревшей: ее использование предполагалось для поддержки показа данных поверх коммерческих базовых карт, но теперь этот функционал несёт встроенная поддержка сферической проекции Меркатора. Больше сведений доступно на http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Этот метод считается устаревшим и будет удалён в версии 3.0. Пожалуйста, пользуйтесь ${newMethod}.",'boundsAddError':"Функции add надо передавать оба значения, x и y.",'lonlatAddError':"Функции add надо передавать оба значения, lon и lat.",'pixelAddError':"Функции add надо передавать оба значения, x и y.",'unsupportedGeometryType':"Неподдерживаемый тип геометрии: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: элемент с id ${elemId} может находиться не в нужном месте.",'filterEvaluateNotImplemented':"evaluate не реализовано для фильтра данного типа."});OpenLayers.Lang["sk"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Neobslúžené požiadavky vracajú ${statusText}",'permalink':"Trvalý odkaz",'overlays':"Prekrytia",'baseLayer':"Základná vrstva",'sameProjection':"Prehľadová mapka funguje iba vtedy, keď je v rovnakej projekcii ako hlavná mapa",'readNotImplemented':"Čítanie nie je implementované.",'writeNotImplemented':"Zápis nie je implementovaný.",'noFID':"Nie je možné aktualizovať vlastnosť, pre ktorú neexistuje FID.",'errorLoadingGML':"Chyba pri načítaní súboru GML ${url}",'browserNotSupported':"Váš prehliadač nepodporuje vykresľovanie vektorov. Momentálne podporované vykresľovače sú:\n${renderers}",'componentShouldBe':"addFeatures: komponent by mal byť ${geomType}",'getFeatureError':"getFeatureFromEvent bola zavolaná na vrstve bez vykresľovača. To zvyčajne znamená, že ste odstránili vrstvu, ale nie niektorú z obslúh, ktorá je s ňou asociovaná.",'minZoomLevelError':"Vlastnosť minZoomLevel je určený iba na použitie s vrstvami odvodenými od FixedZoomLevels. To, že táto wfs vrstva kontroluje minZoomLevel je pozostatok z minulosti. Nemôžeme ho však odstrániť, aby sme sa vyhli možnému porušeniu aplikácií založených na Open Layers, ktoré na tomto môže závisieť. Preto ho označujeme ako zavrhovaný - dolu uvedená kontrola minZoomLevel bude odstránená vo verzii 3.0. Použite prosím namiesto toho kontrolu min./max. rozlíšenia podľa tu uvedeného popisu: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transakcia WFS: ÚSPEŠNÁ ${response}",'commitFailed':"Transakcia WFS: ZLYHALA ${response}",'googleWarning':"Vrstvu Google nebolo možné správne načítať.\x3cbr\x3e\x3cbr\x3eAby ste sa tejto správy zbavili vyberte novú BaseLayer v prepínači vrstiev v pravom hornom rohu.\x3cbr\x3e\x3cbr\x3eToto sa stalo pravdepodobne preto, že skript knižnice Google Maps buď nebol načítaný alebo neobsahuje správny kľúč API pre vašu lokalitu.\x3cbr\x3e\x3cbr\x3eVývojári: Tu môžete získať \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3epomoc so sfunkčnením\x3c/a\x3e",'getLayerWarning':"Vrstvu ${layerType} nebolo možné správne načítať.\x3cbr\x3e\x3cbr\x3eAby ste sa tejto správy zbavili vyberte novú BaseLayer v prepínači vrstiev v pravom hornom rohu.\x3cbr\x3e\x3cbr\x3eToto sa stalo pravdepodobne preto, že skript knižnice ${layerType} buď nebol načítaný alebo neobsahuje správny kľúč API pre vašu lokalitu.\x3cbr\x3e\x3cbr\x3eVývojári: Tu môžete získať \x3ca href=\'http://trac.openlayers.org/wiki/${layerType}\' target=\'_blank\'\x3epomoc so sfunkčnením\x3c/a\x3e",'scale':"Mierka = 1 : ${scaleDenom}",'layerAlreadyAdded':"Pokúsili ste sa do mapy pridať vrstvu ${layerName}, ale tá už bola pridaná",'reprojectDeprecated':"Používate voľby „reproject“ vrstvy ${layerType}. Táto voľba je zzavrhovaná: jej použitie bolo navrhnuté na podporu zobrazovania údajov nad komerčnými základovými mapami, ale túto funkcionalitu je teraz možné dosiahnuť pomocou Spherical Mercator. Ďalšie informácie získate na stránke http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Táto metóda je zavrhovaná a bude odstránená vo verzii 3.0. Použite prosím namiesto nej metódu ${newMethod}.",'boundsAddError':"Sčítacej funkcii musíte dať hodnoty x aj y.",'lonlatAddError':"Sčítacej funkcii musíte dať hodnoty lon (zem. dĺžka) aj lat (zem. šírka).",'pixelAddError':"Sčítacej funkcii musíte dať hodnoty x aj y.",'unsupportedGeometryType':"Nepodporovaný typ geometrie: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition zlyhalo: prvok s id ${elemId} môže byť zle umiestnený.",'filterEvaluateNotImplemented':"evaluate nie je implementovaný pre tento typ filtra"});OpenLayers.Lang["sv"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Ej hanterad fråga retur ${statusText}",'permalink':"Permalänk",'overlays':"Kartlager",'baseLayer':"Bakgrundskarta",'sameProjection':"Översiktskartan fungerar endast när den har samma projektion som huvudkartan",'readNotImplemented':"Läsning ej implementerad.",'writeNotImplemented':"Skrivning ej implementerad.",'noFID':"Kan ej uppdatera feature (objekt) för vilket FID saknas.",'errorLoadingGML':"Fel i laddning av GML-fil ${url}",'browserNotSupported':"Din webbläsare stöder inte vektorvisning. För närvarande stöds följande visning:\n${renderers}",'componentShouldBe':"addFeatures : komponenten skall vara en ${geomType}",'getFeatureError':"getFeatureFromEvent anropad för lager utan utritning. Detta betyder oftast att man raderat ett lager, men inte en hanterare som är knuten till lagret.",'minZoomLevelError':"Egenskapen minZoomLevel är endast avsedd att användas med lager med FixedZoomLevels. Att detta WFS-lager kontrollerar minZoomLevel är en relik från äldre versioner. Vi kan dock inte ta bort det utan att riskera att OL-baserade tillämpningar som använder detta slutar fungera. Därför är det satt som deprecated, minZoomLevel kommer att tas bort i version 3.0. Använd i stället inställning av min/max resolution som beskrivs här: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS-transaktion: LYCKADES ${response}",'commitFailed':"WFS-transaktion: MISSLYCKADES ${response}",'googleWarning':"Google-lagret kunde inte laddas korrekt.\x3cbr\x3e\x3cbr\x3eFör att slippa detta meddelande, välj en annan bakgrundskarta i lagerväljaren i övre högra hörnet.\x3cbr\x3e\x3cbr\x3eSannolikt beror felet på att Google Maps-biblioteket inte är inkluderat på webbsidan eller på att sidan inte anger korrekt API-nyckel för webbplatsen.\x3cbr\x3e\x3cbr\x3eUtvecklare: hjälp för att åtgärda detta, \x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eklicka här\x3c/a\x3e.",'getLayerWarning':"${layerType}-lagret kunde inte laddas korrekt.\x3cbr\x3e\x3cbr\x3eFör att slippa detta meddelande, välj en annan bakgrundskarta i lagerväljaren i övre högra hörnet.\x3cbr\x3e\x3cbr\x3eSannolikt beror felet på att ${layerLib}-biblioteket inte är inkluderat på webbsidan.\x3cbr\x3e\x3cbr\x3eUtvecklare: hjälp för att åtgärda detta, \x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eklicka här\x3c/a\x3e.",'scale':"\x3cstrong\x3eSkala\x3c/strong\x3e 1 : ${scaleDenom}",'layerAlreadyAdded':"Du försökte lägga till lagret: ${layerName} på kartan, men det har lagts till tidigare",'reprojectDeprecated':"Du använder inställningen \'reproject\' på lagret ${layerName}. Denna inställning markerad som deprecated: den var avsedd att användas för att stödja visning av kartdata på kommersiella bakgrundskartor, men nu bör man i stället använda Spherical Mercator-stöd för den funktionaliteten. Mer information finns på http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Denna metod är markerad som deprecated och kommer att tas bort i 3.0. Använd ${newMethod} i stället.",'boundsAddError':"Du måste skicka både x- och y-värde till funktionen add.",'lonlatAddError':"Du måste skicka både lon- och lat-värde till funktionen add.",'pixelAddError':"Du måste skicka både x- och y-värde till funktionen add.",'unsupportedGeometryType':"Stöd saknas för geometritypen: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition misslyckades: elementet med id ${elemId} kan placeras fel.",'filterEvaluateNotImplemented':"evaluering har ej implementerats för denna typ av filter."});OpenLayers.Lang["te"]=OpenLayers.Util.applyDefaults({'permalink':"స్థిరలింకు",'W':"ప",'E':"తూ",'N':"ఉ",'S':"ద"});OpenLayers.Lang["vi"]=OpenLayers.Util.applyDefaults({'unhandledRequest':"Không xử lý được phản hồi ${statusText} cho yêu cầu",'permalink':"Liên kết thường trực",'overlays':"Lấp bản đồ",'baseLayer':"Lớp nền",'sameProjection':"Bản đồ toàn cảnh chỉ hoạt động khi cùng phép chiếu với bản đồ chính",'readNotImplemented':"Chưa hỗ trợ chức năng đọc.",'writeNotImplemented':"Chưa hỗ trợ chức năng viết.",'noFID':"Không thể cập nhật tính năng thiếu FID.",'errorLoadingGML':"Lỗi tải tập tin GML tại ${url}",'browserNotSupported':"Trình duyệt của bạn không hỗ trợ chức năng vẽ bằng vectơ. Hiện hỗ trợ các bộ kết xuất:\n${renderers}",'componentShouldBe':"addFeatures: bộ phận cần phải là ${geomType}",'getFeatureError':"getFeatureFromEvent được gọi từ lớp không có bộ kết xuất. Thường thì có lẽ lớp bị xóa nhưng một phần xử lý của nó vẫn còn.",'minZoomLevelError':"Chỉ nên sử dụng thuộc tính minZoomLevel với các lớp FixedZoomLevels-descendent. Việc lớp wfs này tìm cho minZoomLevel là di tích còn lại từ xưa. Tuy nhiên, nếu chúng tôi dời nó thì sẽ vỡ các chương trình OpenLayers mà dựa trên nó. Bởi vậy chúng tôi phản đối sử dụng nó\x26nbsp;– bước tìm cho minZoomLevel sẽ được dời vào phiên bản 3.0. Xin sử dụng thiết lập độ phân tích tối thiểu / tối đa thay thế, theo hướng dẫn này: http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Giao dịch WFS: THÀNH CÔNG ${response}",'commitFailed':"Giao dịch WFS: THẤT BẠI ${response}",'googleWarning':"Không thể tải lớp Google đúng đắn.\x3cbr\x3e\x3cbr\x3eĐể tránh thông báo này lần sau, hãy chọn BaseLayer mới dùng điều khiển chọn lớp ở góc trên phải.\x3cbr\x3e\x3cbr\x3eChắc script thư viện Google Maps hoặc không được bao gồm hoặc không chứa khóa API hợp với website của bạn.\x3cbr\x3e\x3cbr\x3e\x3ca href=\'http://trac.openlayers.org/wiki/Google\' target=\'_blank\'\x3eTrợ giúp về tính năng này\x3c/a\x3e cho người phát triển.",'getLayerWarning':"Không thể tải lớp ${layerType} đúng đắn.\x3cbr\x3e\x3cbr\x3eĐể tránh thông báo này lần sau, hãy chọn BaseLayer mới dùng điều khiển chọn lớp ở góc trên phải.\x3cbr\x3e\x3cbr\x3eChắc script thư viện ${layerLib} không được bao gồm đúng kiểu.\x3cbr\x3e\x3cbr\x3e\x3ca href=\'http://trac.openlayers.org/wiki/${layerLib}\' target=\'_blank\'\x3eTrợ giúp về tính năng này\x3c/a\x3e cho người phát triển.",'scale':"Tỷ lệ = 1 : ${scaleDenom}",'W':"T",'E':"Đ",'N':"B",'S':"N",'layerAlreadyAdded':"Bạn muốn thêm lớp ${layerName} vào bản đồ, nhưng lớp này đã được thêm",'reprojectDeprecated':"Bạn đang áp dụng chế độ “reproject” vào lớp ${layerName}. Chế độ này đã bị phản đối: nó có mục đích hỗ trợ lấp dữ liệu trên các nền bản đồ thương mại; nên thực hiện hiệu ứng đó dùng tính năng Mercator Hình cầu. Có sẵn thêm chi tiết tại http://trac.openlayers.org/wiki/SphericalMercator .",'methodDeprecated':"Phương thức này đã bị phản đối và sẽ bị dời vào phiên bản 3.0. Xin hãy sử dụng ${newMethod} thay thế.",'boundsAddError':"Cần phải cho cả giá trị x và y vào hàm add.",'lonlatAddError':"Cần phải cho cả giá trị lon và lat vào hàm add.",'pixelAddError':"Cần phải cho cả giá trị x và y vào hàm add.",'unsupportedGeometryType':"Không hỗ trợ kiểu địa lý: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition bị thất bại: nguyên tố với ID ${elemId} có thể ở chỗ sai.",'filterEvaluateNotImplemented':"chưa hỗ trợ evaluate cho loại bộ lọc này."});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图层不能正确加载。

"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。

"+"这种情况很可能是没有正确的包含Google地图脚本库,"+"或者是没有包含在你的站点上"+"使用的正确的Google Maps API密匙。

"+"开发者:获取使其正确工作的帮助信息,"+"点击这里",'getLayerWarning':"${layerType} 图层不能正确加载。

"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。

"+"这种情况很可能是没有正确的包含"+"${layerLib} 脚本库。

"+"开发者:获取使其正确工作的帮助信息,"+"点击这里",'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 圖層無法被正確的載入。

"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。

"+"很有可能是因為 Google Maps 的函式庫"+"腳本沒有被正確的置入,或沒有包含 "+"您網站上正確的 API key

"+"開發者: 要幫助這個行為正確完成,"+"請按這裡",'getLayerWarning':"${layerType} 圖層無法被正確的載入。

"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。

"+"很有可能是因為 ${layerLib} 的函式庫"+"腳本沒有被正確的置入。

"+"開發者: 要幫助這個行為正確完成,"+"請按這裡",'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.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;i0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} +tspan.textContent=style.label;if(!label.parentNode){label.appendChild(tspan);this.textRoot.appendChild(label);}},getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} if(imaxY){k=(x2-x1)/(y2-y1);y2=y2<0?-maxY:maxY;x2=x1+(y2-y1)*k;} return x2+","+y2;},getShortString:function(point){var resolution=this.getResolution();var x=(point.x/resolution+this.left);var y=(this.top-point.y/resolution);if(this.inValidRange(x,y)){return x+","+y;}else{return false;}},getPosition:function(node){return({x:parseFloat(node.getAttributeNS(null,"cx")),y:parseFloat(node.getAttributeNS(null,"cy"))});},importSymbol:function(graphicName){if(!this.defs){this.defs=this.createDefs();} var id=this.container.id+"-"+graphicName;if(document.getElementById(id)!=null){return id;} -var symbol=OpenLayers.Renderer.symbol[graphicName];if(!symbol){throw new Error(graphicName+' is not a valid symbol name');return;} -var symbolNode=this.nodeFactory(id,"symbol");var node=this.nodeFactory(null,"polygon");symbolNode.appendChild(node);var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var points="";var x,y;for(var i=0;i0){symbolExtent.bottom=symbolExtent.bottom-diff;symbolExtent.top=symbolExtent.top+diff;}else{symbolExtent.left=symbolExtent.left+diff;symbolExtent.right=symbolExtent.right-diff;} cache={path:path,size:symbolExtent.getWidth(),left:symbolExtent.left,bottom:symbolExtent.bottom};this.symbolCache[id]=cache;return cache;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={"l":0,"c":.5,"r":1,"t":0,"m":.5,"b":1};OpenLayers.Tile=OpenLayers.Class({EVENT_TYPES:["loadstart","loadend","reload","unload"],events:null,id:null,layer:null,url:null,bounds:null,size:null,position:null,isLoading:false,initialize:function(layer,position,bounds,url,size){this.layer=layer;this.position=position.clone();this.bounds=bounds.clone();this.url=url;this.size=size.clone();this.id=OpenLayers.Util.createUniqueID("Tile_");this.events=new OpenLayers.Events(this,null,this.EVENT_TYPES);},unload:function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("unload");}},destroy:function(){this.layer=null;this.bounds=null;this.size=null;this.position=null;this.events.destroy();this.events=null;},clone:function(obj){if(obj==null){obj=new OpenLayers.Tile(this.layer,this.position,this.bounds,this.url,this.size);} @@ -574,7 +584,8 @@ req.send(null);return req.responseXML;});if(this.keepData){this.data=node;} return node;},write:function(node){var data;if(this.xmldom){data=node.xml;}else{var serializer=new XMLSerializer();if(node.nodeType==1){var doc=document.implementation.createDocument("","",null);if(doc.importNode){node=doc.importNode(node,true);} doc.appendChild(node);data=serializer.serializeToString(doc);}else{data=serializer.serializeToString(node);}} return data;},createElementNS:function(uri,name){var element;if(this.xmldom){if(typeof uri=="string"){element=this.xmldom.createNode(1,name,uri);}else{element=this.xmldom.createNode(1,name,"");}}else{element=document.createElementNS(uri,name);} -return element;},createTextNode:function(text){var node;if(this.xmldom){node=this.xmldom.createTextNode(text);}else{node=document.createTextNode(text);} +return element;},createTextNode:function(text){var node;if(typeof text!=="string"){text=String(text);} +if(this.xmldom){node=this.xmldom.createTextNode(text);}else{node=document.createTextNode(text);} return node;},getElementsByTagNameNS:function(node,uri,name){var elements=[];if(node.getElementsByTagNameNS){elements=node.getElementsByTagNameNS(uri,name);}else{var allNodes=node.getElementsByTagName("*");var potentialNode,fullName;for(var i=0,len=allNodes.length;i=0;--i){this.controls[i].destroy();} this.controls=null;} @@ -704,15 +714,16 @@ return zoom;},zoomTo:function(zoom){if(this.isValidZoomLevel(zoom)){this.setCent center=bounds.getCenterLonLat().wrapDateLine(maxExtent);} this.setCenter(center,this.getZoomForExtent(bounds,closest));},zoomToMaxExtent:function(options){var restricted=(options)?options.restricted:true;var maxExtent=this.getMaxExtent({'restricted':restricted});this.zoomToExtent(maxExtent);},zoomToScale:function(scale,closest){var res=OpenLayers.Util.getResolutionFromScale(scale,this.baseLayer.units);var size=this.getSize();var w_deg=size.w*res;var h_deg=size.h*res;var center=this.getCenter();var extent=new OpenLayers.Bounds(center.lon-w_deg/2,center.lat-h_deg/2,center.lon+w_deg/2,center.lat+h_deg/2);this.zoomToExtent(extent,closest);},getLonLatFromViewPortPx:function(viewPortPx){var lonlat=null;if(this.baseLayer!=null){lonlat=this.baseLayer.getLonLatFromViewPortPx(viewPortPx);} return lonlat;},getViewPortPxFromLonLat:function(lonlat){var px=null;if(this.baseLayer!=null){px=this.baseLayer.getViewPortPxFromLonLat(lonlat);} -return px;},getLonLatFromPixel:function(px){return this.getLonLatFromViewPortPx(px);},getPixelFromLonLat:function(lonlat){var px=this.getViewPortPxFromLonLat(lonlat);px.x=Math.round(px.x);px.y=Math.round(px.y);return px;},getViewPortPxFromLayerPx:function(layerPx){var viewPortPx=null;if(layerPx!=null){var dX=parseInt(this.layerContainerDiv.style.left);var dY=parseInt(this.layerContainerDiv.style.top);viewPortPx=layerPx.add(dX,dY);} +return px;},getLonLatFromPixel:function(px){return this.getLonLatFromViewPortPx(px);},getPixelFromLonLat:function(lonlat){var px=this.getViewPortPxFromLonLat(lonlat);px.x=Math.round(px.x);px.y=Math.round(px.y);return px;},getGeodesicPixelSize:function(px){var lonlat=px?this.getLonLatFromPixel(px):(this.getCenter()||new OpenLayers.LonLat(0,0));var res=this.getResolution();var left=lonlat.add(-res/2,0);var right=lonlat.add(res/2,0);var bottom=lonlat.add(0,-res/2);var top=lonlat.add(0,res/2);var dest=new OpenLayers.Projection("EPSG:4326");var source=this.getProjectionObject()||dest;if(!source.equals(dest)){left.transform(source,dest);right.transform(source,dest);bottom.transform(source,dest);top.transform(source,dest);} +return new OpenLayers.Size(OpenLayers.Util.distVincenty(left,right),OpenLayers.Util.distVincenty(bottom,top));},getViewPortPxFromLayerPx:function(layerPx){var viewPortPx=null;if(layerPx!=null){var dX=parseInt(this.layerContainerDiv.style.left);var dY=parseInt(this.layerContainerDiv.style.top);viewPortPx=layerPx.add(dX,dY);} return viewPortPx;},getLayerPxFromViewPortPx:function(viewPortPx){var layerPx=null;if(viewPortPx!=null){var dX=-parseInt(this.layerContainerDiv.style.left);var dY=-parseInt(this.layerContainerDiv.style.top);layerPx=viewPortPx.add(dX,dY);if(isNaN(layerPx.x)||isNaN(layerPx.y)){layerPx=null;}} 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.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;}} +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(1276,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(-1238,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(-1238,-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(-1238,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(-1238,-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(-1238,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(-1238,-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(-1238,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(-1238,-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(1200,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)){if(typeof config.proxy=="function"){url=config.proxy(url);}else{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 events=this.events;var self=this;request.onreadystatechange=function(){if(request.readyState==OpenLayers.Request.XMLHttpRequest.DONE){var proceed=events.triggerEvent("complete",{request:request,config:config,requestUrl:url});if(proceed!==false){self.runCallbacks({request:request,config:config,requestUrl:url});}}};if(config.async===false){request.send(config.data);}else{window.setTimeout(function(){request.send(config.data);},0);} +var events=this.events;var self=this;request.onreadystatechange=function(){if(request.readyState==OpenLayers.Request.XMLHttpRequest.DONE){var proceed=events.triggerEvent("complete",{request:request,config:config,requestUrl:url});if(proceed!==false){self.runCallbacks({request:request,config:config,requestUrl:url});}}};if(config.async===false){request.send(config.data);}else{window.setTimeout(function(){if(request._aborted!==true){request.send(config.data);}},0);} return request;},runCallbacks:function(options){var request=options.request;var config=options.config;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;} var failure;if(config.failure){failure=(config.scope)?OpenLayers.Function.bind(config.failure,config.scope):config.failure;} complete(request);if(!request.status||(request.status>=200&&request.status<300)){this.events.triggerEvent("success",options);if(success){success(request);}} @@ -725,7 +736,7 @@ this.imgDiv=null;if((this.frame!=null)&&(this.frame.parentNode==this.layer.div)) this.frame=null;if(this.backBufferTile){this.backBufferTile.destroy();this.backBufferTile=null;} this.layer.events.unregister("loadend",this,this.resetBackBuffer);OpenLayers.Tile.prototype.destroy.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Tile.Image(this.layer,this.position,this.bounds,this.url,this.size);} obj=OpenLayers.Tile.prototype.clone.apply(this,[obj]);obj.imgDiv=null;return obj;},draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject){this.bounds=this.getBoundsFromBaseLayer(this.position);} -var drawTile=OpenLayers.Tile.prototype.draw.apply(this,arguments);if(OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1){if(drawTile){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register('loadend',this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer);} +var drawTile=OpenLayers.Tile.prototype.draw.apply(this,arguments);if((OpenLayers.Util.indexOf(this.layer.SUPPORTED_TRANSITIONS,this.layer.transitionEffect)!=-1)||this.layer.singleTile){if(drawTile){if(!this.backBufferTile){this.backBufferTile=this.clone();this.backBufferTile.hide();this.backBufferTile.isBackBuffer=true;this.events.register('loadend',this,this.resetBackBuffer);this.layer.events.register("loadend",this,this.resetBackBuffer);} this.startTransition();}else{if(this.backBufferTile){this.backBufferTile.clear();}}}else{if(drawTile&&this.isFirstDraw){this.events.register('loadend',this,this.showTile);this.isFirstDraw=false;}} if(!drawTile){return false;} if(this.isLoading){this.events.triggerEvent("reload");}else{this.isLoading=true;this.events.triggerEvent("loadstart");} @@ -733,8 +744,8 @@ return this.renderTile();},resetBackBuffer:function(){this.showTile();if(this.ba this.backBufferTile.hide();}},renderTile:function(){if(this.imgDiv==null){this.initImgDiv();} this.imgDiv.viewRequestID=this.layer.map.viewRequestID;if(this.layer.async){this.layer.getURLasync(this.bounds,this,"url",this.positionImage);}else{if(this.layer.url instanceof Array){this.imgDiv.urls=this.layer.url.slice();} this.url=this.layer.getURL(this.bounds);this.positionImage();} -return true;},positionImage:function(){if(this.layer==null) -return;OpenLayers.Util.modifyDOMElement(this.frame,null,this.position,this.size);var imageSize=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,imageSize,this.url);}else{OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,imageSize);this.imgDiv.src=this.url;}},clear:function(){if(this.imgDiv){this.hide();if(OpenLayers.Tile.Image.useBlankTile){this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif";}}},initImgDiv:function(){var offset=this.layer.imageOffset;var size=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){this.imgDiv=OpenLayers.Util.createAlphaImageDiv(null,offset,size,null,"relative",null,null,null,true);}else{this.imgDiv=OpenLayers.Util.createImage(null,offset,size,null,"relative",null,null,true);} +return true;},positionImage:function(){if(this.layer===null){return;} +OpenLayers.Util.modifyDOMElement(this.frame,null,this.position,this.size);var imageSize=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){OpenLayers.Util.modifyAlphaImageDiv(this.imgDiv,null,null,imageSize,this.url);}else{OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,imageSize);this.imgDiv.src=this.url;}},clear:function(){if(this.imgDiv){this.hide();if(OpenLayers.Tile.Image.useBlankTile){this.imgDiv.src=OpenLayers.Util.getImagesLocation()+"blank.gif";}}},initImgDiv:function(){var offset=this.layer.imageOffset;var size=this.layer.getImageSize(this.bounds);if(this.layerAlphaHack){this.imgDiv=OpenLayers.Util.createAlphaImageDiv(null,offset,size,null,"relative",null,null,null,true);}else{this.imgDiv=OpenLayers.Util.createImage(null,offset,size,null,"relative",null,null,true);} this.imgDiv.className='olTileImage';this.frame.style.zIndex=this.isBackBuffer?0:1;this.frame.appendChild(this.imgDiv);this.layer.div.appendChild(this.frame);if(this.layer.opacity!=null){OpenLayers.Util.modifyDOMElement(this.imgDiv,null,null,null,null,null,null,this.layer.opacity);} this.imgDiv.map=this.layer.map;var onload=function(){if(this.isLoading){this.isLoading=false;this.events.triggerEvent("loadend");}};if(this.layerAlphaHack){OpenLayers.Event.observe(this.imgDiv.childNodes[0],'load',OpenLayers.Function.bind(onload,this));}else{OpenLayers.Event.observe(this.imgDiv,'load',OpenLayers.Function.bind(onload,this));} var onerror=function(){if(this.imgDiv._attempts>OpenLayers.IMAGE_RELOAD_ATTEMPTS){onload.call(this);}};OpenLayers.Event.observe(this.imgDiv,"error",OpenLayers.Function.bind(onerror,this));},checkImgURL:function(){if(this.layer){var loaded=this.layerAlphaHack?this.imgDiv.firstChild.src:this.imgDiv.src;if(!OpenLayers.Util.isEquivalentUrl(loaded,this.url)){this.hide();}}},startTransition:function(){if(!this.backBufferTile||!this.backBufferTile.imgDiv){return;} @@ -759,8 +770,8 @@ return!this.stopSingle;},passesTolerance:function(evt){var passes=true;if(this.p Math.pow(this.down.y-evt.xy.y,2));if(dpx>this.pixelTolerance){passes=false;}} return passes;},clearTimer:function(){if(this.timerId!=null){window.clearTimeout(this.timerId);this.timerId=null;} if(this.rightclickTimerId!=null){window.clearTimeout(this.rightclickTimerId);this.rightclickTimerId=null;}},delayedCall:function(evt){this.timerId=null;if(evt){this.callback('click',[evt]);}},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.clearTimer();this.down=null;deactivated=true;} -return deactivated;},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:true,dragging:false,last:null,start:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:false,documentEvents:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);},down:function(evt){},move:function(evt){},up:function(evt){},out:function(evt){},mousedown:function(evt){var propagate=true;this.dragging=false;if(this.checkModifiers(evt)&&OpenLayers.Event.isLeftClick(evt)){this.started=true;this.start=evt.xy;this.last=evt.xy;OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown");this.down(evt);this.callback("down",[evt.xy]);OpenLayers.Event.stop(evt);if(!this.oldOnselectstart){this.oldOnselectstart=(document.onselectstart)?document.onselectstart:OpenLayers.Function.True;document.onselectstart=OpenLayers.Function.False;} -propagate=!this.stopDown;}else{this.started=false;this.start=null;this.last=null;} +return deactivated;},CLASS_NAME:"OpenLayers.Handler.Click"});OpenLayers.Handler.Drag=OpenLayers.Class(OpenLayers.Handler,{started:false,stopDown:true,dragging:false,last:null,start:null,oldOnselectstart:null,interval:0,timeoutId:null,documentDrag:false,documentEvents:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);},down:function(evt){},move:function(evt){},up:function(evt){},out:function(evt){},mousedown:function(evt){var propagate=true;this.dragging=false;if(this.checkModifiers(evt)&&OpenLayers.Event.isLeftClick(evt)){this.started=true;this.start=evt.xy;this.last=evt.xy;OpenLayers.Element.addClass(this.map.viewPortDiv,"olDragDown");this.down(evt);this.callback("down",[evt.xy]);OpenLayers.Event.stop(evt);if(!this.oldOnselectstart){this.oldOnselectstart=(document.onselectstart)?document.onselectstart:OpenLayers.Function.True;} +document.onselectstart=OpenLayers.Function.False;propagate=!this.stopDown;}else{this.started=false;this.start=null;this.last=null;} return propagate;},mousemove:function(evt){if(this.started&&!this.timeoutId&&(evt.xy.x!=this.last.x||evt.xy.y!=this.last.y)){if(this.documentDrag===true&&this.documentEvents){if(evt.element===document){this.adjustXY(evt);this.setEvent(evt);}else{this.destroyDocumentEvents();}} if(this.interval>0){this.timeoutId=setTimeout(OpenLayers.Function.bind(this.removeTimeout,this),this.interval);} this.dragging=true;this.move(evt);this.callback("move",[evt.xy]);if(!this.oldOnselectstart){this.oldOnselectstart=document.onselectstart;document.onselectstart=OpenLayers.Function.False;} @@ -793,7 +804,7 @@ if(e.wheelDelta){delta=e.wheelDelta/120;if(window.opera&&window.opera.version()< this.delta=this.delta+delta;if(this.interval){window.clearTimeout(this._timeoutId);this._timeoutId=window.setTimeout(OpenLayers.Function.bind(function(){this.wheelZoom(e);},this),this.interval);}else{this.wheelZoom(e);}} OpenLayers.Event.stop(e);}},wheelZoom:function(e){var delta=this.delta;this.delta=0;if(delta){if(this.mousePosition){e.xy=this.mousePosition;} if(!e.xy){e.xy=this.map.getPixelFromLonLat(this.map.getCenter());} -if(delta<0){this.callback("down",[e,this.cumulative?delta:-1]);}else{this.callback("up",[e,this.cumulative?delta:1]);}}},mousemove:function(evt){this.mousePosition=evt.xy;},activate:function(evt){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var wheelListener=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",wheelListener);OpenLayers.Event.observe(window,"mousewheel",wheelListener);OpenLayers.Event.observe(document,"mousewheel",wheelListener);return true;}else{return false;}},deactivate:function(evt){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var wheelListener=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",wheelListener);OpenLayers.Event.stopObserving(window,"mousewheel",wheelListener);OpenLayers.Event.stopObserving(document,"mousewheel",wheelListener);return true;}else{return false;}},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:null,alwaysInRange:null,EVENT_TYPES:["loadstart","loadend","loadcancel","visibilitychanged","move","moveend"],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,attribution:null,inRange:false,imageSize:null,imageOffset:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,wrapDateLine:false,transitionEffect:null,SUPPORTED_TRANSITIONS:['resize'],initialize:function(name,options){this.addOptions(options);this.name=name;if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.div=OpenLayers.Util.createDiv(this.id);this.div.style.width="100%";this.div.style.height="100%";this.div.dir="ltr";this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);}} +if(delta<0){this.callback("down",[e,this.cumulative?delta:-1]);}else{this.callback("up",[e,this.cumulative?delta:1]);}}},mousemove:function(evt){this.mousePosition=evt.xy;},activate:function(evt){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var wheelListener=this.wheelListener;OpenLayers.Event.observe(window,"DOMMouseScroll",wheelListener);OpenLayers.Event.observe(window,"mousewheel",wheelListener);OpenLayers.Event.observe(document,"mousewheel",wheelListener);return true;}else{return false;}},deactivate:function(evt){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){var wheelListener=this.wheelListener;OpenLayers.Event.stopObserving(window,"DOMMouseScroll",wheelListener);OpenLayers.Event.stopObserving(window,"mousewheel",wheelListener);OpenLayers.Event.stopObserving(document,"mousewheel",wheelListener);return true;}else{return false;}},CLASS_NAME:"OpenLayers.Handler.MouseWheel"});OpenLayers.Layer=OpenLayers.Class({id:null,name:null,div:null,opacity:null,alwaysInRange:null,EVENT_TYPES:["loadstart","loadend","loadcancel","visibilitychanged","move","moveend"],RESOLUTION_PROPERTIES:['scales','resolutions','maxScale','minScale','maxResolution','minResolution','numZoomLevels','maxZoomLevel'],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,attribution:null,inRange:false,imageSize:null,imageOffset:null,options:null,eventListeners:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,wrapDateLine:false,transitionEffect:null,SUPPORTED_TRANSITIONS:['resize'],metadata:{},initialize:function(name,options){this.addOptions(options);this.name=name;if(this.id==null){this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");this.div=OpenLayers.Util.createDiv(this.id);this.div.style.width="100%";this.div.style.height="100%";this.div.dir="ltr";this.events=new OpenLayers.Events(this,this.div,this.EVENT_TYPES);if(this.eventListeners instanceof Object){this.events.on(this.eventListeners);}} if(this.wrapDateLine){this.displayOutsideMaxExtent=true;}},destroy:function(setNewBaseLayer){if(setNewBaseLayer==null){setNewBaseLayer=true;} if(this.map!=null){this.map.removeLayer(this,setNewBaseLayer);} this.projection=null;this.map=null;this.name=null;this.div=null;this.options=null;if(this.events){if(this.eventListeners){this.events.un(this.eventListeners);} @@ -801,26 +812,39 @@ this.events.destroy();} this.eventListeners=null;this.events=null;},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer(this.name,this.getOptions());} OpenLayers.Util.applyDefaults(obj,this);obj.map=null;return obj;},getOptions:function(){var options={};for(var o in this.options){options[o]=this[o];} return options;},setName:function(newName){if(newName!=this.name){this.name=newName;if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"name"});}}},addOptions:function(newOptions){if(this.options==null){this.options={};} -OpenLayers.Util.extend(this.options,newOptions);OpenLayers.Util.extend(this,newOptions);},onMapResize:function(){},redraw:function(){var redrawn=false;if(this.map){this.inRange=this.calculateInRange();var extent=this.getExtent();if(extent&&this.inRange&&this.visibility){var zoomChanged=true;this.moveTo(extent,zoomChanged,false);this.events.triggerEvent("moveend",{"zoomChanged":zoomChanged});redrawn=true;}} +OpenLayers.Util.extend(this.options,newOptions);OpenLayers.Util.extend(this,newOptions);if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection);} +if(this.projection&&this.projection.getUnits()){this.units=this.projection.getUnits();} +if(this.map){var properties=this.RESOLUTION_PROPERTIES.concat(["projection","units","minExtent","maxExtent"]);for(var o in newOptions){if(newOptions.hasOwnProperty(o)&&OpenLayers.Util.indexOf(properties,o)>=0){this.initResolutions();break;}}}},onMapResize:function(){},redraw:function(){var redrawn=false;if(this.map){this.inRange=this.calculateInRange();var extent=this.getExtent();if(extent&&this.inRange&&this.visibility){var zoomChanged=true;this.moveTo(extent,zoomChanged,false);this.events.triggerEvent("moveend",{"zoomChanged":zoomChanged});redrawn=true;}} return redrawn;},moveTo:function(bounds,zoomChanged,dragging){var display=this.visibility;if(!this.isBaseLayer){display=display&&this.inRange;} -this.display(display);},setMap:function(map){if(this.map==null){this.map=map;this.maxExtent=this.maxExtent||this.map.maxExtent;this.projection=this.projection||this.map.projection;if(this.projection&&typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection);} +this.display(display);},setMap:function(map){if(this.map==null){this.map=map;this.maxExtent=this.maxExtent||this.map.maxExtent;this.minExtent=this.minExtent||this.map.minExtent;this.projection=this.projection||this.map.projection;if(typeof this.projection=="string"){this.projection=new OpenLayers.Projection(this.projection);} this.units=this.projection.getUnits()||this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer){this.inRange=this.calculateInRange();var show=((this.visibility)&&(this.inRange));this.div.style.display=show?"":"none";} this.setTileSize();}},afterAdd:function(){},removeMap:function(map){},getImageSize:function(bounds){return(this.imageSize||this.tileSize);},setTileSize:function(size){var tileSize=(size)?size:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=tileSize;if(this.gutter){this.imageOffset=new OpenLayers.Pixel(-this.gutter,-this.gutter);this.imageSize=new OpenLayers.Size(tileSize.w+(2*this.gutter),tileSize.h+(2*this.gutter));}},getVisibility:function(){return this.visibility;},setVisibility:function(visibility){if(visibility!=this.visibility){this.visibility=visibility;this.display(visibility);this.redraw();if(this.map!=null){this.map.events.triggerEvent("changelayer",{layer:this,property:"visibility"});} this.events.triggerEvent("visibilitychanged");}},display:function(display){if(display!=(this.div.style.display!="none")){this.div.style.display=(display&&this.calculateInRange())?"block":"none";}},calculateInRange:function(){var inRange=false;if(this.alwaysInRange){inRange=true;}else{if(this.map){var resolution=this.map.getResolution();inRange=((resolution>=this.minResolution)&&(resolution<=this.maxResolution));}} -return inRange;},setIsBaseLayer:function(isBaseLayer){if(isBaseLayer!=this.isBaseLayer){this.isBaseLayer=isBaseLayer;if(this.map!=null){this.map.events.triggerEvent("changebaselayer",{layer:this});}}},initResolutions:function(){var props=new Array('projection','units','scales','resolutions','maxScale','minScale','maxResolution','minResolution','minExtent','maxExtent','numZoomLevels','maxZoomLevel');var notScaleProps=['projection','units'];var useInRange=false;var confProps={};for(var i=0,len=props.length;i1){base=Math.pow((confProps.maxResolution/confProps.minResolution),(1/(confProps.numZoomLevels-1)));} -for(var i=0;i=resolution){highRes=res;lowZoom=i;} if(res<=resolution){lowRes=res;highZoom=i;break;}} @@ -832,42 +856,55 @@ return lonlat;},getViewPortPxFromLonLat:function(lonlat){var px=null;if(lonlat!= return px;},setOpacity:function(opacity){if(opacity!=this.opacity){this.opacity=opacity;for(var i=0,len=this.div.childNodes.length;i4) +this._object.open(sMethod,sUrl,bAsync,sUser,sPassword);else +if(arguments.length>3) +this._object.open(sMethod,sUrl,bAsync,sUser);else +this._object.open(sMethod,sUrl,bAsync);if(!bGecko&&!bIE){this.readyState=cXMLHttpRequest.OPENED;fReadyStateChange(this);} this._object.onreadystatechange=function(){if(bGecko&&!bAsync) return;oRequest.readyState=oRequest._object.readyState;fSynchronizeValues(oRequest);if(oRequest._aborted){oRequest.readyState=cXMLHttpRequest.UNSENT;return;} if(oRequest.readyState==cXMLHttpRequest.DONE){fCleanTransport(oRequest);if(bIE&&bAsync) window.detachEvent("onunload",fOnUnload);} if(nState!=oRequest.readyState) -fReadyStateChange(oRequest);nState=oRequest.readyState;};if(cXMLHttpRequest.onopen) -cXMLHttpRequest.onopen.apply(this,arguments);this._object.open(sMethod,sUrl,bAsync,sUser,sPassword);if(!bAsync&&bGecko){this.readyState=cXMLHttpRequest.OPENED;fReadyStateChange(this);}};cXMLHttpRequest.prototype.send=function(vData){if(cXMLHttpRequest.onsend) +fReadyStateChange(oRequest);nState=oRequest.readyState;}};cXMLHttpRequest.prototype.send=function(vData){if(cXMLHttpRequest.onsend) cXMLHttpRequest.onsend.apply(this,arguments);if(vData&&vData.nodeType){vData=window.XMLSerializer?new window.XMLSerializer().serializeToString(vData):vData.xml;if(!this._headers["Content-Type"]) this._object.setRequestHeader("Content-Type","application/xml");} this._object.send(vData);if(bGecko&&!this._async){this.readyState=cXMLHttpRequest.OPENED;fSynchronizeValues(this);while(this.readyStatecXMLHttpRequest.UNSENT) this._aborted=true;this._object.abort();fCleanTransport(this);};cXMLHttpRequest.prototype.getAllResponseHeaders=function(){return this._object.getAllResponseHeaders();};cXMLHttpRequest.prototype.getResponseHeader=function(sName){return this._object.getResponseHeader(sName);};cXMLHttpRequest.prototype.setRequestHeader=function(sName,sValue){if(!this._headers) -this._headers={};this._headers[sName]=sValue;return this._object.setRequestHeader(sName,sValue);};cXMLHttpRequest.prototype.toString=function(){return'['+"object"+' '+"XMLHttpRequest"+']';};cXMLHttpRequest.toString=function(){return'['+"XMLHttpRequest"+']';};function fReadyStateChange(oRequest){if(oRequest.onreadystatechange) -oRequest.onreadystatechange.apply(oRequest);if(cXMLHttpRequest.onreadystatechange) -cXMLHttpRequest.onreadystatechange.apply(oRequest);};function fGetDocument(oRequest){var oDocument=oRequest.responseXML;if(bIE&&oDocument&&!oDocument.documentElement&&oRequest.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)){oDocument=new ActiveXObject('Microsoft.XMLDOM');oDocument.loadXML(oRequest.responseText);} +this._headers={};this._headers[sName]=sValue;return this._object.setRequestHeader(sName,sValue);};cXMLHttpRequest.prototype.addEventListener=function(sName,fHandler,bUseCapture){for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++) +if(oListener[0]==sName&&oListener[1]==fHandler&&oListener[2]==bUseCapture) +return;this._listeners.push([sName,fHandler,bUseCapture]);};cXMLHttpRequest.prototype.removeEventListener=function(sName,fHandler,bUseCapture){for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++) +if(oListener[0]==sName&&oListener[1]==fHandler&&oListener[2]==bUseCapture) +break;if(oListener) +this._listeners.splice(nIndex,1);};cXMLHttpRequest.prototype.dispatchEvent=function(oEvent){var oEventPseudo={'type':oEvent.type,'target':this,'currentTarget':this,'eventPhase':2,'bubbles':oEvent.bubbles,'cancelable':oEvent.cancelable,'timeStamp':oEvent.timeStamp,'stopPropagation':function(){},'preventDefault':function(){},'initEvent':function(){}};if(oEventPseudo.type=="readystatechange"&&this.onreadystatechange) +(this.onreadystatechange.handleEvent||this.onreadystatechange).apply(this,[oEventPseudo]);for(var nIndex=0,oListener;oListener=this._listeners[nIndex];nIndex++) +if(oListener[0]==oEventPseudo.type&&!oListener[2]) +(oListener[1].handleEvent||oListener[1]).apply(this,[oEventPseudo]);};cXMLHttpRequest.prototype.toString=function(){return'['+"object"+' '+"XMLHttpRequest"+']';};cXMLHttpRequest.toString=function(){return'['+"XMLHttpRequest"+']';};function fReadyStateChange(oRequest){if(cXMLHttpRequest.onreadystatechange) +cXMLHttpRequest.onreadystatechange.apply(oRequest);oRequest.dispatchEvent({'type':"readystatechange",'bubbles':false,'cancelable':false,'timeStamp':new Date+0});};function fGetDocument(oRequest){var oDocument=oRequest.responseXML,sResponse=oRequest.responseText;if(bIE&&sResponse&&oDocument&&!oDocument.documentElement&&oRequest.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/)){oDocument=new window.ActiveXObject("Microsoft.XMLDOM");oDocument.async=false;oDocument.validateOnParse=false;oDocument.loadXML(sResponse);} if(oDocument) -if((bIE&&oDocument.parseError!=0)||(oDocument.documentElement&&oDocument.documentElement.tagName=="parsererror")) +if((bIE&&oDocument.parseError!=0)||!oDocument.documentElement||(oDocument.documentElement&&oDocument.documentElement.tagName=="parsererror")) return null;return oDocument;};function fSynchronizeValues(oRequest){try{oRequest.responseText=oRequest._object.responseText;}catch(e){} try{oRequest.responseXML=fGetDocument(oRequest._object);}catch(e){} try{oRequest.status=oRequest._object.status;}catch(e){} -try{oRequest.statusText=oRequest._object.statusText;}catch(e){}};function fCleanTransport(oRequest){oRequest._object.onreadystatechange=new window.Function;delete oRequest._headers;};if(!window.Function.prototype.apply){window.Function.prototype.apply=function(oRequest,oArguments){if(!oArguments) +try{oRequest.statusText=oRequest._object.statusText;}catch(e){}};function fCleanTransport(oRequest){oRequest._object.onreadystatechange=new window.Function;};if(!window.Function.prototype.apply){window.Function.prototype.apply=function(oRequest,oArguments){if(!oArguments) oArguments=[];oRequest.__func=this;oRequest.__func(oArguments[0],oArguments[1],oArguments[2],oArguments[3],oArguments[4]);delete oRequest.__func;};};OpenLayers.Request.XMLHttpRequest=cXMLHttpRequest;})();OpenLayers.Control.DragPan=OpenLayers.Class(OpenLayers.Control,{type:OpenLayers.Control.TYPE_TOOL,panned:false,interval:25,documentDrag:false,draw:function(){this.handler=new OpenLayers.Handler.Drag(this,{"move":this.panMap,"done":this.panMapDone},{interval:this.interval,documentDrag:this.documentDrag});},panMap:function(xy){this.panned=true;this.map.pan(this.handler.last.x-xy.x,this.handler.last.y-xy.y,{dragging:this.handler.dragging,animate:false});},panMapDone:function(xy){if(this.panned){this.panMap(xy);this.panned=false;}},CLASS_NAME:"OpenLayers.Control.DragPan"});OpenLayers.State={UNKNOWN:'Unknown',INSERT:'Insert',UPDATE:'Update',DELETE:'Delete'};OpenLayers.Feature.Vector=OpenLayers.Class(OpenLayers.Feature,{fid:null,geometry:null,attributes:null,bounds:null,state:null,style:null,url:null,renderIntent:"default",initialize:function(geometry,attributes,style){OpenLayers.Feature.prototype.initialize.apply(this,[null,null,attributes]);this.lonlat=null;this.geometry=geometry?geometry:null;this.state=null;this.attributes={};if(attributes){this.attributes=OpenLayers.Util.extend(this.attributes,attributes);} this.style=style?style:null;},destroy:function(){if(this.layer){this.layer.removeFeatures(this);this.layer=null;} this.geometry=null;OpenLayers.Feature.prototype.destroy.apply(this,arguments);},clone:function(){return new OpenLayers.Feature.Vector(this.geometry?this.geometry.clone():null,this.attributes,this.style);},onScreen:function(boundsOnly){var onScreen=false;if(this.layer&&this.layer.map){var screenBounds=this.layer.map.getExtent();if(boundsOnly){var featureBounds=this.geometry.getBounds();onScreen=screenBounds.intersectsBounds(featureBounds);}else{var screenPoly=screenBounds.toGeometry();onScreen=screenPoly.intersects(this.geometry);}} return onScreen;},getVisibility:function(){return!(this.style&&this.style.display=='none'||!this.layer||this.layer&&this.layer.styleMap&&this.layer.styleMap.createSymbolizer(this,this.renderIntent).display=='none'||this.layer&&!this.layer.getVisibility());},createMarker:function(){return null;},destroyMarker:function(){},createPopup:function(){return null;},atPoint:function(lonlat,toleranceLon,toleranceLat){var atPoint=false;if(this.geometry){atPoint=this.geometry.atPoint(lonlat,toleranceLon,toleranceLat);} return atPoint;},destroyPopup:function(){},move:function(location){if(!this.layer||!this.geometry.move){return;} var pixel;if(location.CLASS_NAME=="OpenLayers.LonLat"){pixel=this.layer.getViewPortPxFromLonLat(location);}else{pixel=location;} -var lastPixel=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var res=this.layer.map.getResolution();this.geometry.move(res*(pixel.x-lastPixel.x),res*(lastPixel.y-pixel.y));this.layer.drawFeature(this);return lastPixel;},toState:function(state){if(state==OpenLayers.State.UPDATE){switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=state;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break;}}else if(state==OpenLayers.State.INSERT){switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=state;break;}}else if(state==OpenLayers.State.DELETE){switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=state;break;}}else if(state==OpenLayers.State.UNKNOWN){this.state=state;}},CLASS_NAME:"OpenLayers.Feature.Vector"});OpenLayers.Feature.Vector.style={'default':{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},'select':{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},'temporary':{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},'delete':{display:"none"}};OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:'olHandlerBoxZoomBox',boxCharacteristics:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);var callbacks={"down":this.startBox,"move":this.moveBox,"out":this.removeBox,"up":this.endBox};this.dragHandler=new OpenLayers.Handler.Drag(this,callbacks,{keyMask:this.keyMask});},setMap:function(map){OpenLayers.Handler.prototype.setMap.apply(this,arguments);if(this.dragHandler){this.dragHandler.setMap(map);}},startBox:function(xy){this.zoomBox=OpenLayers.Util.createDiv('zoomBox',this.dragHandler.start);this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE["Popup"]-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox");},moveBox:function(xy){var startX=this.dragHandler.start.x;var startY=this.dragHandler.start.y;var deltaX=Math.abs(startX-xy.x);var deltaY=Math.abs(startY-xy.y);this.zoomBox.style.width=Math.max(1,deltaX)+"px";this.zoomBox.style.height=Math.max(1,deltaY)+"px";this.zoomBox.style.left=xy.xstartX){this.zoomBox.style.width=Math.max(1,deltaX-box.xOffset)+"px";} +var lastPixel=this.layer.getViewPortPxFromLonLat(this.geometry.getBounds().getCenterLonLat());var res=this.layer.map.getResolution();this.geometry.move(res*(pixel.x-lastPixel.x),res*(lastPixel.y-pixel.y));this.layer.drawFeature(this);return lastPixel;},toState:function(state){if(state==OpenLayers.State.UPDATE){switch(this.state){case OpenLayers.State.UNKNOWN:case OpenLayers.State.DELETE:this.state=state;break;case OpenLayers.State.UPDATE:case OpenLayers.State.INSERT:break;}}else if(state==OpenLayers.State.INSERT){switch(this.state){case OpenLayers.State.UNKNOWN:break;default:this.state=state;break;}}else if(state==OpenLayers.State.DELETE){switch(this.state){case OpenLayers.State.INSERT:break;case OpenLayers.State.DELETE:break;case OpenLayers.State.UNKNOWN:case OpenLayers.State.UPDATE:this.state=state;break;}}else if(state==OpenLayers.State.UNKNOWN){this.state=state;}},CLASS_NAME:"OpenLayers.Feature.Vector"});OpenLayers.Feature.Vector.style={'default':{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},'select':{fillColor:"blue",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer"},'temporary':{fillColor:"#66cccc",fillOpacity:0.2,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit"},'delete':{display:"none"}};OpenLayers.Handler.Box=OpenLayers.Class(OpenLayers.Handler,{dragHandler:null,boxDivClassName:'olHandlerBoxZoomBox',boxCharacteristics:null,initialize:function(control,callbacks,options){OpenLayers.Handler.prototype.initialize.apply(this,arguments);var callbacks={"down":this.startBox,"move":this.moveBox,"out":this.removeBox,"up":this.endBox};this.dragHandler=new OpenLayers.Handler.Drag(this,callbacks,{keyMask:this.keyMask});},destroy:function(){if(this.dragHandler){this.dragHandler.destroy();this.dragHandler=null;} +OpenLayers.Handler.prototype.destroy.apply(this,arguments);},setMap:function(map){OpenLayers.Handler.prototype.setMap.apply(this,arguments);if(this.dragHandler){this.dragHandler.setMap(map);}},startBox:function(xy){this.zoomBox=OpenLayers.Util.createDiv('zoomBox',this.dragHandler.start);this.zoomBox.className=this.boxDivClassName;this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE["Popup"]-1;this.map.viewPortDiv.appendChild(this.zoomBox);OpenLayers.Element.addClass(this.map.viewPortDiv,"olDrawBox");},moveBox:function(xy){var startX=this.dragHandler.start.x;var startY=this.dragHandler.start.y;var deltaX=Math.abs(startX-xy.x);var deltaY=Math.abs(startY-xy.y);this.zoomBox.style.width=Math.max(1,deltaX)+"px";this.zoomBox.style.height=Math.max(1,deltaY)+"px";this.zoomBox.style.left=xy.xstartX){this.zoomBox.style.width=Math.max(1,deltaX-box.xOffset)+"px";} if(xy.y>startY){this.zoomBox.style.height=Math.max(1,deltaY-box.yOffset)+"px";}}},endBox:function(end){var result;if(Math.abs(this.dragHandler.start.x-end.x)>5||Math.abs(this.dragHandler.start.y-end.y)>5){var start=this.dragHandler.start;var top=Math.min(start.y,end.y);var bottom=Math.max(start.y,end.y);var left=Math.min(start.x,end.x);var right=Math.max(start.x,end.x);result=new OpenLayers.Bounds(left,bottom,right,top);}else{result=this.dragHandler.start.clone();} this.removeBox();this.callback("done",[result]);},removeBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null;this.boxCharacteristics=null;OpenLayers.Element.removeClass(this.map.viewPortDiv,"olDrawBox");},activate:function(){if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){this.dragHandler.activate();return true;}else{return false;}},deactivate:function(){if(OpenLayers.Handler.prototype.deactivate.apply(this,arguments)){this.dragHandler.deactivate();return true;}else{return false;}},getBoxCharacteristics:function(){if(!this.boxCharacteristics){var xOffset=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-right-width"))+1;var yOffset=parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.zoomBox,"border-bottom-width"))+1;var newBoxModel=OpenLayers.Util.getBrowserName()=="msie"?document.compatMode!="BackCompat":true;this.boxCharacteristics={xOffset:xOffset,yOffset:yOffset,newBoxModel:newBoxModel};} -return this.boxCharacteristics;},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Handler.RegularPolygon=OpenLayers.Class(OpenLayers.Handler.Drag,{sides:4,radius:null,snapAngle:null,snapToggle:'shiftKey',persist:false,irregular:false,angle:null,fixedRadius:false,feature:null,layer:null,origin:null,initialize:function(control,callbacks,options){this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'],{});OpenLayers.Handler.prototype.initialize.apply(this,[control,callbacks,options]);this.options=(options)?options:new Object();},setOptions:function(newOptions){OpenLayers.Util.extend(this.options,newOptions);OpenLayers.Util.extend(this,newOptions);},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var options={displayInLayerSwitcher:false,calculateInRange:OpenLayers.Function.True};this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,options);this.map.addLayer(this.layer);activated=true;} +return this.boxCharacteristics;},CLASS_NAME:"OpenLayers.Handler.Box"});OpenLayers.Handler.RegularPolygon=OpenLayers.Class(OpenLayers.Handler.Drag,{sides:4,radius:null,snapAngle:null,snapToggle:'shiftKey',layerOptions:null,persist:false,irregular:false,angle:null,fixedRadius:false,feature:null,layer:null,origin:null,initialize:function(control,callbacks,options){if(!(options&&options.layerOptions&&options.layerOptions.styleMap)){this.style=OpenLayers.Util.extend(OpenLayers.Feature.Vector.style['default'],{});} +OpenLayers.Handler.prototype.initialize.apply(this,[control,callbacks,options]);this.options=(options)?options:{};},setOptions:function(newOptions){OpenLayers.Util.extend(this.options,newOptions);OpenLayers.Util.extend(this,newOptions);},activate:function(){var activated=false;if(OpenLayers.Handler.prototype.activate.apply(this,arguments)){var options=OpenLayers.Util.extend({displayInLayerSwitcher:false,calculateInRange:OpenLayers.Function.True},this.layerOptions);this.layer=new OpenLayers.Layer.Vector(this.CLASS_NAME,options);this.map.addLayer(this.layer);activated=true;} return activated;},deactivate:function(){var deactivated=false;if(OpenLayers.Handler.Drag.prototype.deactivate.apply(this,arguments)){if(this.dragging){this.cancel();} if(this.layer.map!=null){this.layer.destroy(false);if(this.feature){this.feature.destroy();}} this.layer=null;this.feature=null;deactivated=true;} @@ -877,8 +914,8 @@ this.feature=new OpenLayers.Feature.Vector();this.createGeometry();this.callback this.modifyGeometry();if(this.irregular){var dx=point.x-this.origin.x;var dy=point.y-this.origin.y;var ratio;if(dy==0){ratio=dx/(this.radius*Math.sqrt(2));}else{ratio=dx/dy;} this.feature.geometry.resize(1,this.origin,ratio);this.feature.geometry.move(dx/2,dy/2);} this.layer.drawFeature(this.feature,this.style);},up:function(evt){this.finalize();if(this.start==this.last){this.callback("done",[evt.xy]);}},out:function(evt){this.finalize();},createGeometry:function(){this.angle=Math.PI*((1/this.sides)-(1/2));if(this.snapAngle){this.angle+=this.snapAngle*(Math.PI/180);} -this.feature.geometry=OpenLayers.Geometry.Polygon.createRegularPolygon(this.origin,this.radius,this.sides,this.snapAngle);},modifyGeometry:function(){var angle,dx,dy,point;var ring=this.feature.geometry.components[0];if(ring.components.length!=(this.sides+1)){this.createGeometry();ring=this.feature.geometry.components[0];} -for(var i=0;i0){this.removeMarker(this.markers[0]);}}},drawMarker:function(marker){var px=this.map.getLayerPxFromLonLat(marker.lonlat);if(px==null){marker.display(false);}else{if(!marker.isDrawn()){var markerImg=marker.draw(px);this.div.appendChild(markerImg);}else if(marker.icon){marker.icon.moveTo(px);}}},getDataExtent:function(){var maxExtent=null;if(this.markers&&(this.markers.length>0)){var maxExtent=new OpenLayers.Bounds();for(var i=0,len=this.markers.length;i=bounds.bottom-tilelat*this.buffer)||rowidx=bounds.bottom-tilelat*this.buffer)||rowidx=0)&&(testCell=0)){tile=this.grid[testRow][testCell];} if((tile!=null)&&(!tile.queued)){tileQueue.unshift(tile);tile.queued=true;directionsTried=0;iRow=testRow;iCell=testCell;}else{direction=(direction+1)%4;directionsTried++;}} for(var i=0,len=tileQueue.length;irows){var row=this.grid.pop();for(var i=0,l=row.length;icolumns){for(var i=0,l=this.grid.length;i0){appliedRules=true;for(var i=0,len=elseRules.length;i0&&appliedRules==false){style.display="none";} @@ -945,8 +983,9 @@ if(symbolizer.graphic===true){OpenLayers.Util.applyDefaults(symbolizer,{pointRad return this.createLiterals(OpenLayers.Util.extend(style,symbolizer),feature);},createLiterals:function(style,feature){var context=OpenLayers.Util.extend({},feature.attributes||feature.data);OpenLayers.Util.extend(context,this.context);for(var i in this.propertyStyles){style[i]=OpenLayers.Style.createLiteral(style[i],context,feature,i);} return style;},findPropertyStyles:function(){var propertyStyles={};var style=this.defaultStyle;this.addPropertyStyles(propertyStyles,style);var rules=this.rules;var symbolizer,value;for(var i=0,len=rules.length;i=1.0){x=x2;y=y2;}else{x=x1+along*dx;y=y1+along*dy;} -return{distance:Math.sqrt(Math.pow(x-x0,2)+Math.pow(y-y0,2)),x:x,y:y};};OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,sphericalMercator:false,initialize:function(name,url,options){if(options&&options.sphericalMercator||this.sphericalMercator){options=OpenLayers.Util.extend({maxExtent:new OpenLayers.Bounds(-128*156543.0339,-128*156543.0339,128*156543.0339,128*156543.0339),maxResolution:156543.0339,numZoomLevels:19,units:"m",projection:"EPSG:900913"},options);} +return{distance:Math.sqrt(Math.pow(x-x0,2)+Math.pow(y-y0,2)),x:x,y:y};};OpenLayers.Layer.XYZ=OpenLayers.Class(OpenLayers.Layer.Grid,{isBaseLayer:true,sphericalMercator:false,zoomOffset:0,initialize:function(name,url,options){if(options&&options.sphericalMercator||this.sphericalMercator){options=OpenLayers.Util.extend({maxExtent:new OpenLayers.Bounds(-128*156543.0339,-128*156543.0339,128*156543.0339,128*156543.0339),maxResolution:156543.0339,numZoomLevels:19,units:"m",projection:"EPSG:900913"},options);} url=url||this.url;name=name||this.name;var newArguments=[name,url,{},options];OpenLayers.Layer.Grid.prototype.initialize.apply(this,newArguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.XYZ(this.name,this.url,this.getOptions());} -obj=OpenLayers.Layer.HTTPRequest.prototype.clone.apply(this,[obj]);if(this.tileSize!=null){obj.tileSize=this.tileSize.clone();} -obj.grid=[];return obj;},getURL:function(bounds){var res=this.map.getResolution();var x=Math.round((bounds.left-this.maxExtent.left)/(res*this.tileSize.w));var y=Math.round((this.maxExtent.top-bounds.top)/(res*this.tileSize.h));var z=this.map.getZoom();var limit=Math.pow(2,z);if(this.wrapDateLine) +obj=OpenLayers.Layer.Grid.prototype.clone.apply(this,[obj]);return obj;},getURL:function(bounds){var res=this.map.getResolution();var x=Math.round((bounds.left-this.maxExtent.left)/(res*this.tileSize.w));var y=Math.round((this.maxExtent.top-bounds.top)/(res*this.tileSize.h));var z=this.map.getZoom()+this.zoomOffset;var limit=Math.pow(2,z);if(this.wrapDateLine) {x=((x%limit)+limit)%limit;} var url=this.url;var s=''+x+y+z;if(url instanceof Array) {url=this.selectUrl(s,url);} -var path=OpenLayers.String.format(url,{'x':x,'y':y,'z':z});return path;},addTile:function(bounds,position){return new OpenLayers.Tile.Image(this,position,bounds,null,this.tileSize);},setMap:function(map){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom);}},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",attribution:"Data CC-By-SA by OpenStreetMap",sphericalMercator:true,url:'http://tile.openstreetmap.org/${z}/${x}/${y}.png',CLASS_NAME:"OpenLayers.Layer.OSM"});OpenLayers.Rule=OpenLayers.Class({id:null,name:'default',title:null,description:null,context:null,filter:null,elseFilter:false,symbolizer:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(options){this.symbolizer={};OpenLayers.Util.extend(this,options);this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){for(var i in this.symbolizer){this.symbolizer[i]=null;} -this.symbolizer=null;},evaluate:function(feature){var context=this.getContext(feature);var applies=true;if(this.minScaleDenominator||this.maxScaleDenominator){var scale=feature.layer.map.getScale();} +var path=OpenLayers.String.format(url,{'x':x,'y':y,'z':z});return path;},addTile:function(bounds,position){return new OpenLayers.Tile.Image(this,position,bounds,null,this.tileSize);},setMap:function(map){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments);if(!this.tileOrigin){this.tileOrigin=new OpenLayers.LonLat(this.maxExtent.left,this.maxExtent.bottom);}},CLASS_NAME:"OpenLayers.Layer.XYZ"});OpenLayers.Layer.OSM=OpenLayers.Class(OpenLayers.Layer.XYZ,{name:"OpenStreetMap",attribution:"Data CC-By-SA by OpenStreetMap",sphericalMercator:true,url:'http://tile.openstreetmap.org/${z}/${x}/${y}.png',clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.OSM(this.name,this.url,this.getOptions());} +obj=OpenLayers.Layer.XYZ.prototype.clone.apply(this,[obj]);return obj;},CLASS_NAME:"OpenLayers.Layer.OSM"});OpenLayers.Rule=OpenLayers.Class({id:null,name:null,title:null,description:null,context:null,filter:null,elseFilter:false,symbolizer:null,symbolizers:null,minScaleDenominator:null,maxScaleDenominator:null,initialize:function(options){this.symbolizer={};OpenLayers.Util.extend(this,options);if(this.symbolizers){delete this.symbolizer;} +this.id=OpenLayers.Util.createUniqueID(this.CLASS_NAME+"_");},destroy:function(){for(var i in this.symbolizer){this.symbolizer[i]=null;} +this.symbolizer=null;delete this.symbolizers;},evaluate:function(feature){var context=this.getContext(feature);var applies=true;if(this.minScaleDenominator||this.maxScaleDenominator){var scale=feature.layer.map.getScale();} if(this.minScaleDenominator){applies=scale>=OpenLayers.Style.createLiteral(this.minScaleDenominator,context);} if(applies&&this.maxScaleDenominator){applies=scale0){this.setBounds(this.components[0].getBounds());for(var i=1,len=this.components.length;i-1)){if(index!=null&&(index=0;--i){this.removeComponent(components[i]);}},removeComponent:function(component){OpenLayers.Util.removeItem(this.components,component);this.clearBounds();},getLength:function(){var length=0.0;for(var i=0,len=this.components.length;i0)?area:minArea;centroids.push(centroid);} +len=areas.length;if(areaSum===0){for(var i=0;i=0;i--){if(i!=0&&features[i-1].geometry){this.renderer.locked=true;}else{this.renderer.locked=false;} +if(features===this.selectedFeatures){features=features.slice();} +var notify=!options||!options.silent;if(notify){this.events.triggerEvent("beforefeaturesremoved",{features:features});} +for(var i=features.length-1;i>=0;i--){if(i!=0&&features[i-1].geometry){this.renderer.locked=true;}else{this.renderer.locked=false;} var feature=features[i];delete this.unrenderedFeatures[feature.id];if(notify){this.events.triggerEvent("beforefeatureremoved",{feature:feature});} this.features=OpenLayers.Util.removeItem(this.features,feature);feature.layer=null;if(feature.geometry){this.renderer.eraseFeatures(feature);} if(OpenLayers.Util.indexOf(this.selectedFeatures,feature)!=-1){OpenLayers.Util.removeItem(this.selectedFeatures,feature);} if(notify){this.events.triggerEvent("featureremoved",{feature:feature});}} -if(notify){this.events.triggerEvent("featuresremoved",{features:features});}},destroyFeatures:function(features,options){var all=(features==undefined);if(all){features=this.features;} +if(notify){this.events.triggerEvent("featuresremoved",{features:features});}},removeAllFeatures:function(options){var notify=!options||!options.silent;var features=this.features;if(notify){this.events.triggerEvent("beforefeaturesremoved",{features:features});} +var feature;for(var i=features.length-1;i>=0;i--){feature=features[i];if(notify){this.events.triggerEvent("beforefeatureremoved",{feature:feature});} +feature.layer=null;if(notify){this.events.triggerEvent("featureremoved",{feature:feature});}} +this.renderer.clear();this.features=[];this.unrenderedFeatures={};this.selectedFeatures=[];if(notify){this.events.triggerEvent("featuresremoved",{features:features});}},destroyFeatures:function(features,options){var all=(features==undefined);if(all){features=this.features;} if(features){this.removeFeatures(features,options);for(var i=features.length-1;i>=0;i--){features[i].destroy();}}},drawFeature:function(feature,style){if(!this.drawn){return} if(typeof style!="object"){if(!style&&feature.state===OpenLayers.State.DELETE){style="delete";} var renderIntent=style||feature.renderIntent;style=feature.style||this.style;if(!style){style=this.styleMap.createSymbolizer(feature,renderIntent);}} if(!this.renderer.drawFeature(feature,style)){this.unrenderedFeatures[feature.id]=feature;}else{delete this.unrenderedFeatures[feature.id];};},eraseFeatures:function(features){this.renderer.eraseFeatures(features);},getFeatureFromEvent:function(evt){if(!this.renderer){OpenLayers.Console.error(OpenLayers.i18n("getFeatureError"));return null;} -var featureId=this.renderer.getFeatureIdFromEvent(evt);return this.getFeatureById(featureId);},getFeatureById:function(featureId){var feature=null;for(var i=0,len=this.features.length;i0)){maxExtent=new OpenLayers.Bounds();var geometry=null;for(var i=0,len=features.length;i0)){maxExtent=new OpenLayers.Bounds();var geometry=null;for(var i=0,len=features.length;i0){parser=this.parseGeometry[type.toLowerCase()];if(parser){geometry=parser.apply(this,[nodeList[0]]);if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}}else{OpenLayers.Console.error(OpenLayers.i18n("unsupportedGeometryType",{'geomType':type}));} +return features;},parseFeature:function(node){var order=["MultiPolygon","Polygon","MultiLineString","LineString","MultiPoint","Point","Envelope"];var type,nodeList,geometry,parser;for(var i=0;i0){parser=this.parseGeometry[type.toLowerCase()];if(parser){geometry=parser.apply(this,[nodeList[0]]);if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}}else{OpenLayers.Console.error(OpenLayers.i18n("unsupportedGeometryType",{'geomType':type}));} break;}} +var bounds;var boxNodes=this.getElementsByTagNameNS(node,this.gmlns,"Box");for(i=0;i0){coordString=nodeList[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.trimSpace,"");coords=coordString.split(this.regExes.splitSpace);} if(coords.length==0){nodeList=this.getElementsByTagNameNS(node,this.gmlns,"coordinates");if(nodeList.length>0){coordString=nodeList[0].firstChild.nodeValue;coordString=coordString.replace(this.regExes.removeSpace,"");coords=coordString.split(",");}} diff --git a/public/potlatch/potlatch.swf b/public/potlatch/potlatch.swf index 98f5a6421..973149b9a 100644 Binary files a/public/potlatch/potlatch.swf and b/public/potlatch/potlatch.swf differ diff --git a/vendor/plugins/oauth-plugin/.gitignore b/vendor/plugins/oauth-plugin/.gitignore deleted file mode 100644 index 56cb2dcd8..000000000 --- a/vendor/plugins/oauth-plugin/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -doc -pkg -*.log -.DS_Store -.svn diff --git a/vendor/plugins/oauth-plugin/CHANGELOG b/vendor/plugins/oauth-plugin/CHANGELOG deleted file mode 100644 index a4006aa59..000000000 --- a/vendor/plugins/oauth-plugin/CHANGELOG +++ /dev/null @@ -1,61 +0,0 @@ -2/11/2009 -- Fixed escaping error and file path error in the generator simultaneously reported and fixed by Ivan Valdes and Mike Demers thanks - -2/9/2009 -- Fixed compatibility issue with OAuth Gem 3.1 (wr0ngway and aeden) -- Added Test:Unit tests to generator (Ed Hickey) -- added missing oauth_clients/edit.html.erb view template (Ed Hickey) -- added missing :oauth_clients resource route in USAGE (Ed Hickey) -- Don't throw NPE it token is not in db (Haruska) -- Cleaned up whitespace (bricolage, Nicholas Nam) -- Fixed bug in default verify_oauth_signature (igrigorik) -- Doc fixes (skippy) - -6/23/2008 - -- Split OAuth controller into two parts: OAuth and OAuth clients. [jcrosby] - -revision 31 - -- patch that fixes a problem in oauth_required from Hannes Tyden and Sean Treadway from SoundCloud. Thanks. - -revision 30 - -- updated to use oauth gem 0.2.1 - - -revision 23 - -- removed all core libraries from plugin. They are now in the oauth gem. - -# oauth-plugin-pre-gem Branch created - -revision 18 -- added a generator for creation oauth_providers - -revision 12 -- the bug with post and put has now been fixed. -- better documentation - -revision 9 -- added a test helper. Include OAuth::TestHelper in your tests or specs to mock incoming requests - -revision: 8 -- moved tests into oauth folder and renamed them to make them work with autotest by default -- Refactored the request methods to make them more flexible and ready for integrating with ActiveResource -- There are a few tests that fail. All of them to do with put and post requests with payload data. I decided to commit anyway, to get the new api out. - -revision: 7 - -- Done a lot of work on the Server side of things. The Server class has changed a lot and is likely to be incompatible with previous versions - -revision: 6 - -- Throws InsecureSignatureMethod exception if attempting to use straight sha1 or md5. -- Disables plaintext signature over http (throws an InsecureSignatureMethod) -- Better testing of signature methods - the prior tests were seriously flawed. - -revision: 5 - -- Removed support for sha1 and md5 -- Implemented draft 6 support of OAuth removing secrets from base string \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/MIT-LICENSE b/vendor/plugins/oauth-plugin/MIT-LICENSE deleted file mode 100644 index 570ecf870..000000000 --- a/vendor/plugins/oauth-plugin/MIT-LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2007 [name of plugin creator] - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/plugins/oauth-plugin/README.rdoc b/vendor/plugins/oauth-plugin/README.rdoc deleted file mode 100644 index e2e68b7a6..000000000 --- a/vendor/plugins/oauth-plugin/README.rdoc +++ /dev/null @@ -1,110 +0,0 @@ -= OAuth Plugin - -This is the beginning of a plugin for implementing OAuth Providers in Rails applications. - -See the OAuth specs at: - -http://oauth.net/core/1.0/ - -and the OAuth site at: - -http://oauth.net - -== Requirements - -You need to install the oauth gem (0.2.1) which is the core OAuth ruby library. It will NOT work on any previous version of the gem. - - sudo gem install oauth - -The Generator currently creates code (in particular views) that only work in Rails 2. - -It should not be difficult to manually modify the code to work on Rails 1.2.x - -I think the only real issue is that the views have .html.erb extensions. So these could theoretically just be renamed to .rhtml. - -Please let me know if this works and I will see if I can make the generator conditionally create .rhtml for pre 2.0 versions of RAILS. - -== OAuth Provider generator - -While it isn't very flexible at the moment there is an oauth_provider generator which you can use like this: - -./script/generate oauth_provider - -This generates OAuth and OAuth client controllers as well as the required models. - -It requires an authentication framework such as acts_as_authenticated, restful_authentication or restful_open_id_authentication. It also requires Rails 2.0. - -=== Routes - -You need to add the following to your routes (config/routes.rb) - - map.resources :oauth_clients - map.authorize '/oauth/authorize',:controller=>'oauth',:action=>'authorize' - map.request_token '/oauth/request_token',:controller=>'oauth',:action=>'request_token' - map.access_token '/oauth/access_token',:controller=>'oauth',:action=>'access_token' - map.test_request '/oauth/test_request',:controller=>'oauth',:action=>'test_request' - -=== User Model - -Add the following lines to your user model: - - has_many :client_applications - has_many :tokens, :class_name=>"OauthToken",:order=>"authorized_at desc",:include=>[:client_application] - -=== Migrate database - -The database is defined in: - - db/migrate/XXX_create_oauth_tables.rb - -Run them as any other normal migration in rails with: - - rake db:migrate - -=== RSpec - -The generator installs a collection of RSpec (http://rspec.info) specs instead of normal unit_tests. If you don't use RSpec (and really why aren't you?) feel free to remove the spec folder. - -If you would like to contribute regular unit tests I will accept them with a smile. - -== Protecting your actions - -I recommend that you think about what your users would want to provide access to and limit oauth for those only. For example in a CRUD controller you may think about if you want to let consumer applications do the create, update or delete actions. For your application this might make sense, but for others maybe not. - -If you want to give oauth access to everything a registered user can do, just replace the filter you have in your controllers with: - - before_filter :login_or_oauth_required - -If you want to restrict consumers to the index and show methods of your controller do the following: - - before_filter :login_required,:except=>[:show,:index] - before_filter :login_or_oauth_required,:only=>[:show,:index] - -If you have an action you only want used via oauth: - - before_filter :oauth_required - -All of these places the tokens user in current_user as you would expect. It also exposes the following methods: - -* current_token - for accessing the token used to authorize the current request -* current_client_application - for accessing information about which consumer is currently accessing your request - -You could add application specific information to the OauthToken and ClientApplication model for such things as object level access control, billing, expiry etc. Be creative and you can create some really cool applications here. - -== More - -The Google Code project is http://code.google.com/p/oauth-plugin/ - -The Mailing List for all things OAuth in Ruby is: - -http://groups.google.com/group/oauth-ruby - -The Mailing list for everything else OAuth is: - -http://groups.google.com/group/oauth - -The OAuth Ruby Gem home page is http://oauth.rubyforge.org - -Please help documentation, patches and testing. - -Copyright (c) 2007-2008 Pelle Braendgaard, released under the MIT license \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/Rakefile b/vendor/plugins/oauth-plugin/Rakefile deleted file mode 100644 index 16a9769a2..000000000 --- a/vendor/plugins/oauth-plugin/Rakefile +++ /dev/null @@ -1,22 +0,0 @@ -require 'rake' -require 'rake/testtask' -require 'rake/rdoctask' - -desc 'Default: run unit tests.' -task :default => :test - -desc 'Test the oauth plugin.' -Rake::TestTask.new(:test) do |t| - t.libs << 'lib' - t.pattern = 'test/**/*_test.rb' - t.verbose = true -end - -desc 'Generate documentation for the oauth plugin.' -Rake::RDocTask.new(:rdoc) do |rdoc| - rdoc.rdoc_dir = 'rdoc' - rdoc.title = 'Oauth' - rdoc.options << '--line-numbers' << '--inline-source' - rdoc.rdoc_files.include('README') - rdoc.rdoc_files.include('lib/**/*.rb') -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/USAGE b/vendor/plugins/oauth-plugin/generators/oauth_provider/USAGE deleted file mode 100644 index ded11acfc..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/USAGE +++ /dev/null @@ -1,24 +0,0 @@ -./script/generate oauth_provider - -This creates an OAuth Provider controller as well as the requisite models. - -It requires an authentication framework such as acts_as_authenticated, restful_authentication or restful_open_id_authentication. - -If you generated the migration file (true by default), make sure you run -rake db:migrate - -You need to add the following routes to your config/routes.rb file: - -map.resources :oauth_clients -map.oauth '/oauth',:controller=>'oauth',:action=>'index' -map.authorize '/oauth/authorize',:controller=>'oauth',:action=>'authorize' -map.request_token '/oauth/request_token',:controller=>'oauth',:action=>'request_token' -map.access_token '/oauth/access_token',:controller=>'oauth',:action=>'access_token' -map.test_request '/oauth/test_request',:controller=>'oauth',:action=>'test_request' - -include the following in your user.rb - -has_many :client_applications -has_many :tokens, :class_name=>"OauthToken",:order=>"authorized_at desc",:include=>[:client_application] - - diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/oauth_provider_generator.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/oauth_provider_generator.rb deleted file mode 100644 index 57059e220..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/oauth_provider_generator.rb +++ /dev/null @@ -1,116 +0,0 @@ -class OauthProviderGenerator < Rails::Generator::Base - default_options :skip_migration => false - attr_reader :class_path, - :controller_name, - :controller_class_path, - :controller_file_path, - :controller_class_name, - :controller_singular_name, - :controller_plural_name - alias_method :controller_file_name, :controller_singular_name - - def initialize(runtime_args, runtime_options = {}) - super - - @controller_name = args.shift || 'oauth' - @controller_singular_name = 'oauth' - @controller_plural_name = 'oauth' - @controller_file_name = 'oauth' - @controller_class_name="Oauth" - @class_path='' - @controller_class_path='' - end - - def manifest - record do |m| - - # Check for class naming collisions. - # Check for class naming collisions. - m.class_collisions controller_class_path, "#{controller_class_name}Controller", # Oauth Controller - "#{controller_class_name}Helper", - "#{controller_class_name}ClientsController", - "#{controller_class_name}ClientsHelper" - m.class_collisions class_path, "ClientApplication","OauthNonce","RequestToken","AccessToken","OauthToken" - - # Controller, helper, views, and test directories. - m.directory File.join('app/models', class_path) - m.directory File.join('app/controllers', controller_class_path) - m.directory File.join('app/helpers', controller_class_path) - m.directory File.join('app/views', controller_class_path, controller_file_name) - m.directory File.join('app/views', controller_class_path, 'oauth_clients') - - m.template 'client_application.rb',File.join('app/models',"client_application.rb") - m.template 'oauth_token.rb', File.join('app/models',"oauth_token.rb") - m.template 'request_token.rb', File.join('app/models',"request_token.rb") - m.template 'access_token.rb', File.join('app/models',"access_token.rb") - m.template 'oauth_nonce.rb', File.join('app/models',"oauth_nonce.rb") - - m.template 'controller.rb',File.join('app/controllers',controller_class_path,"#{controller_file_name}_controller.rb") - m.template 'helper.rb',File.join('app/helpers',controller_class_path,"#{controller_file_name}_helper.rb") - - m.template 'clients_controller.rb',File.join('app/controllers',controller_class_path,"#{controller_file_name}_clients_controller.rb") - m.template 'clients_helper.rb',File.join('app/helpers',controller_class_path,"#{controller_file_name}_clients_helper.rb") - - if !options[:test_unit] - m.directory File.join('spec') - m.directory File.join('spec/models') - m.directory File.join('spec/fixtures', class_path) - m.directory File.join('spec/controllers', controller_class_path) - - m.template 'client_application_spec.rb',File.join('spec/models',"client_application_spec.rb") - m.template 'oauth_token_spec.rb', File.join('spec/models',"oauth_token_spec.rb") - m.template 'oauth_nonce_spec.rb', File.join('spec/models',"oauth_nonce_spec.rb") - m.template 'client_applications.yml',File.join('spec/fixtures',"client_applications.yml") - m.template 'oauth_tokens.yml', File.join('spec/fixtures',"oauth_tokens.yml") - m.template 'oauth_nonces.yml', File.join('spec/fixtures',"oauth_nonces.yml") - m.template 'controller_spec_helper.rb', File.join('spec/controllers', controller_class_path,"#{controller_file_name}_controller_spec_helper.rb") - m.template 'controller_spec.rb',File.join('spec/controllers',controller_class_path,"#{controller_file_name}_controller_spec.rb") - m.template 'clients_controller_spec.rb',File.join('spec/controllers',controller_class_path,"#{controller_file_name}_clients_controller_spec.rb") - else - m.directory File.join('test') - m.directory File.join('test/unit') - m.directory File.join('test/fixtures', class_path) - m.directory File.join('test/functional', controller_class_path) - m.template 'client_application_test.rb',File.join('test/unit',"client_application_test.rb") - m.template 'oauth_token_test.rb', File.join('test/unit',"oauth_token_test.rb") - m.template 'oauth_nonce_test.rb', File.join('test/unit',"oauth_nonce_test.rb") - m.template 'client_applications.yml',File.join('test/fixtures',"client_applications.yml") - m.template 'oauth_tokens.yml', File.join('test/fixtures',"oauth_tokens.yml") - m.template 'oauth_nonces.yml', File.join('test/fixtures',"oauth_nonces.yml") - m.template 'controller_test_helper.rb', File.join('test', controller_class_path,"#{controller_file_name}_controller_test_helper.rb") - m.template 'controller_test.rb',File.join('test/functional',controller_class_path,"#{controller_file_name}_controller_test.rb") - m.template 'clients_controller_test.rb',File.join('test/functional',controller_class_path,"#{controller_file_name}_clients_controller_test.rb") - end - - m.template '_form.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "_form.html.erb") - m.template 'new.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "new.html.erb") - m.template 'index.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "index.html.erb") - m.template 'show.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "show.html.erb") - m.template 'edit.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "edit.html.erb") - m.template 'authorize.html.erb', File.join('app/views', controller_class_path, controller_file_name, "authorize.html.erb") - m.template 'authorize_success.html.erb', File.join('app/views', controller_class_path, controller_file_name, "authorize_success.html.erb") - m.template 'authorize_failure.html.erb', File.join('app/views', controller_class_path, controller_file_name, "authorize_failure.html.erb") - - - unless options[:skip_migration] - m.migration_template 'migration.rb', 'db/migrate', :assigns => { - :migration_name => "CreateOauthTables" - }, :migration_file_name => "create_oauth_tables" - end - end - end - - protected - def banner - "Usage: #{$0} #{spec.name}" - end - - def add_options!(opt) - opt.separator '' - opt.separator 'Options:' - opt.on("--skip-migration", - "Don't generate a migration file") { |v| options[:skip_migration] = v } - opt.on("--test-unit", - "Generate the Test::Unit compatible tests instead of RSpec") { |v| options[:test_unit] = v } - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/_form.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/_form.html.erb deleted file mode 100644 index ee3f5b8a6..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/_form.html.erb +++ /dev/null @@ -1,16 +0,0 @@ -
-
- <%%= f.text_field :name %> -
-
-
- <%%= f.text_field :url %> -
-
-
- <%%= f.text_field :callback_url %> -
-
-
- <%%= f.text_field :support_url %> -
diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/access_token.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/access_token.rb deleted file mode 100644 index b773310ce..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/access_token.rb +++ /dev/null @@ -1,10 +0,0 @@ -class AccessTokenAuthorize access to your account -

Would you like to authorize <%%= link_to @token.client_application.name,@token.client_application.url %> (<%%= link_to @token.client_application.url,@token.client_application.url %>) to access your account?

-<%% form_tag authorize_url do %> - <%%= hidden_field_tag "oauth_token", @token.token %> - <%%- if params[:oauth_callback] -%> - <%%= hidden_field_tag "oauth_callback", params[:oauth_callback] %> -<%%- end -%> -

- <%%= check_box_tag 'authorize' %> authorize access -

-

- <%%= submit_tag %> -

-<%% end %> \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/authorize_failure.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/authorize_failure.html.erb deleted file mode 100644 index d8110c94f..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/authorize_failure.html.erb +++ /dev/null @@ -1 +0,0 @@ -

You have disallowed this request

diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/authorize_success.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/authorize_success.html.erb deleted file mode 100644 index effe24a79..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/authorize_success.html.erb +++ /dev/null @@ -1 +0,0 @@ -

You have allowed this request

\ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application.rb deleted file mode 100644 index b7ca97d64..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application.rb +++ /dev/null @@ -1,54 +0,0 @@ -require 'oauth' -class ClientApplication < ActiveRecord::Base - belongs_to :user - has_many :tokens, :class_name => "OauthToken" - validates_presence_of :name, :url, :key, :secret - validates_uniqueness_of :key - before_validation_on_create :generate_keys - - def self.find_token(token_key) - token = OauthToken.find_by_token(token_key, :include => :client_application) - if token && token.authorized? - logger.info "Loaded #{token.token} which was authorized by (user_id=#{token.user_id}) on the #{token.authorized_at}" - token - else - nil - end - end - - def self.verify_request(request, options = {}, &block) - begin - signature = OAuth::Signature.build(request, options, &block) - logger.info "Signature Base String: #{signature.signature_base_string}" - logger.info "Consumer: #{signature.send :consumer_key}" - logger.info "Token: #{signature.send :token}" - return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp) - value = signature.verify - logger.info "Signature verification returned: #{value.to_s}" - value - rescue OAuth::Signature::UnknownSignatureMethod => e - logger.info "ERROR"+e.to_s - false - end - end - - def oauth_server - @oauth_server ||= OAuth::Server.new("http://your.site") - end - - def credentials - @oauth_client ||= OAuth::Consumer.new(key, secret) - end - - def create_request_token - RequestToken.create :client_application => self - end - -protected - - def generate_keys - @oauth_client = oauth_server.generate_consumer_credentials - self.key = @oauth_client.key - self.secret = @oauth_client.secret - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application_spec.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application_spec.rb deleted file mode 100644 index 14f3887b9..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -require File.dirname(__FILE__) + '/../spec_helper' -module OAuthSpecHelpers - - def create_consumer - @consumer = OAuth::Consumer.new(@application.key,@application.secret, - { - :site => @application.oauth_server.base_url - }) - end - - def create_test_request - - end - - def create_oauth_request - @token = AccessToken.create :client_application => @application, :user => users(:quentin) - @request = @consumer.create_signed_request(:get, "/hello", @token) - end - - def create_request_token_request - @request = @consumer.create_signed_request(:get, @application.oauth_server.request_token_path, @token) - end - - def create_access_token_request - @token = RequestToken.create :client_application => @application - @request = @consumer.create_signed_request(:get, @application.oauth_server.request_token_path, @token) - end - -end - -describe ClientApplication do #, :shared => true do - include OAuthSpecHelpers - fixtures :users, :client_applications, :oauth_tokens - before(:each) do - @application = ClientApplication.create :name => "Agree2", :url => "http://agree2.com", :user => users(:quentin) - create_consumer - end - - it "should be valid" do - @application.should be_valid - end - - - it "should not have errors" do - @application.errors.full_messages.should == [] - end - - it "should have key and secret" do - @application.key.should_not be_nil - @application.secret.should_not be_nil - end - - it "should have credentials" do - @application.credentials.should_not be_nil - @application.credentials.key.should == @application.key - @application.credentials.secret.should == @application.secret - end - -end - diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application_test.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application_test.rb deleted file mode 100644 index 3ba2cf7d9..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_application_test.rb +++ /dev/null @@ -1,42 +0,0 @@ -require File.dirname(__FILE__) + '/../test_helper' -module OAuthHelpers - - def create_consumer - @consumer=OAuth::Consumer.new(@application.key,@application.secret, - { - :site=>@application.oauth_server.base_url - }) - end - -end - -class ClientApplicationTest < ActiveSupport::TestCase - include OAuthHelpers - fixtures :users,:client_applications,:oauth_tokens - - def setup - @application = ClientApplication.create :name=>"Agree2",:url=>"http://agree2.com",:user=>users(:quentin) - create_consumer - end - - def test_should_be_valid - assert @application.valid? - end - - - def test_should_not_have_errors - assert_equal [], @application.errors.full_messages - end - - def test_should_have_key_and_secret - assert_not_nil @application.key - assert_not_nil @application.secret - end - - def test_should_have_credentials - assert_not_nil @application.credentials - assert_equal @application.key, @application.credentials.key - assert_equal @application.secret, @application.credentials.secret - end - -end \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_applications.yml b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_applications.yml deleted file mode 100644 index 4bbf37069..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/client_applications.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html -one: - id: 1 - name: MyString - url: MyString - support_url: MyString - callback_url: MyString - key: one_key - secret: MyString - user_id: 1 - created_at: 2007-11-17 16:56:51 - updated_at: 2007-11-17 16:56:51 -two: - id: 2 - name: MyString - url: MyString - support_url: MyString - callback_url: MyString - key: two_key - secret: MyString - user_id: 1 - created_at: 2007-11-17 16:56:51 - updated_at: 2007-11-17 16:56:51 diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller.rb deleted file mode 100644 index 5f7827431..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller.rb +++ /dev/null @@ -1,47 +0,0 @@ -class OauthClientsController < ApplicationController - before_filter :login_required - - def index - @client_applications = current_user.client_applications - @tokens = current_user.tokens.find :all, :conditions => 'oauth_tokens.invalidated_at is null and oauth_tokens.authorized_at is not null' - end - - def new - @client_application = ClientApplication.new - end - - def create - @client_application = current_user.client_applications.build(params[:client_application]) - if @client_application.save - flash[:notice] = "Registered the information successfully" - redirect_to :action => "show", :id => @client_application.id - else - render :action => "new" - end - end - - def show - @client_application = current_user.client_applications.find(params[:id]) - end - - def edit - @client_application = current_user.client_applications.find(params[:id]) - end - - def update - @client_application = current_user.client_applications.find(params[:id]) - if @client_application.update_attributes(params[:client_application]) - flash[:notice] = "Updated the client information successfully" - redirect_to :action => "show", :id => @client_application.id - else - render :action => "edit" - end - end - - def destroy - @client_application = current_user.client_applications.find(params[:id]) - @client_application.destroy - flash[:notice] = "Destroyed the client application registration" - redirect_to :action => "index" - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller_spec.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller_spec.rb deleted file mode 100644 index d617b5669..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller_spec.rb +++ /dev/null @@ -1,239 +0,0 @@ -require File.dirname(__FILE__) + '/../spec_helper' -require File.dirname(__FILE__) + '/oauth_controller_spec_helper' -require 'oauth/client/action_controller_request' - -describe OauthClientsController, "index" do - include OAuthControllerSpecHelper - before(:each) do - login_as_application_owner - end - - def do_get - get :index - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should query current_users client applications" do - @user.should_receive(:client_applications).and_return(@client_applications) - do_get - end - - it "should assign client_applications" do - do_get - assigns[:client_applications].should equal(@client_applications) - end - - it "should render index template" do - do_get - response.should render_template('index') - end -end - -describe OauthClientsController, "show" do - include OAuthControllerSpecHelper - before(:each) do - login_as_application_owner - end - - def do_get - get :show, :id => '3' - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should query current_users client applications" do - @user.should_receive(:client_applications).and_return(@client_applications) - @client_applications.should_receive(:find).with('3').and_return(@client_application) - do_get - end - - it "should assign client_applications" do - do_get - assigns[:client_application].should equal(@client_application) - end - - it "should render show template" do - do_get - response.should render_template('show') - end - -end - -describe OauthClientsController, "new" do - include OAuthControllerSpecHelper - before(:each) do - login_as_application_owner - ClientApplication.stub!(:new).and_return(@client_application) - end - - def do_get - get :new - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should assign client_applications" do - do_get - assigns[:client_application].should equal(@client_application) - end - - it "should render show template" do - do_get - response.should render_template('new') - end - -end - -describe OauthClientsController, "edit" do - include OAuthControllerSpecHelper - before(:each) do - login_as_application_owner - end - - def do_get - get :edit, :id => '3' - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should query current_users client applications" do - @user.should_receive(:client_applications).and_return(@client_applications) - @client_applications.should_receive(:find).with('3').and_return(@client_application) - do_get - end - - it "should assign client_applications" do - do_get - assigns[:client_application].should equal(@client_application) - end - - it "should render edit template" do - do_get - response.should render_template('edit') - end - -end - -describe OauthClientsController, "create" do - include OAuthControllerSpecHelper - - before(:each) do - login_as_application_owner - @client_applications.stub!(:build).and_return(@client_application) - @client_application.stub!(:save).and_return(true) - end - - def do_valid_post - @client_application.should_receive(:save).and_return(true) - post :create, 'client_application'=>{'name' => 'my site'} - end - - def do_invalid_post - @client_application.should_receive(:save).and_return(false) - post :create, :client_application=>{:name => 'my site'} - end - - it "should query current_users client applications" do - @client_applications.should_receive(:build).and_return(@client_application) - do_valid_post - end - - it "should redirect to new client_application" do - do_valid_post - response.should be_redirect - response.should redirect_to(:action => "show", :id => @client_application.id) - end - - it "should assign client_applications" do - do_invalid_post - assigns[:client_application].should equal(@client_application) - end - - it "should render show template" do - do_invalid_post - response.should render_template('new') - end -end - -describe OauthClientsController, "destroy" do - include OAuthControllerSpecHelper - before(:each) do - login_as_application_owner - @client_application.stub!(:destroy) - end - - def do_delete - delete :destroy, :id => '3' - end - - it "should query current_users client applications" do - @user.should_receive(:client_applications).and_return(@client_applications) - @client_applications.should_receive(:find).with('3').and_return(@client_application) - do_delete - end - - it "should destroy client applications" do - @client_application.should_receive(:destroy) - do_delete - end - - it "should redirect to list" do - do_delete - response.should be_redirect - response.should redirect_to(:action => 'index') - end - -end - -describe OauthClientsController, "update" do - include OAuthControllerSpecHelper - - before(:each) do - login_as_application_owner - end - - def do_valid_update - @client_application.should_receive(:update_attributes).and_return(true) - put :update, :id => '1', 'client_application'=>{'name' => 'my site'} - end - - def do_invalid_update - @client_application.should_receive(:update_attributes).and_return(false) - put :update, :id => '1', 'client_application'=>{'name' => 'my site'} - end - - it "should query current_users client applications" do - @user.should_receive(:client_applications).and_return(@client_applications) - @client_applications.should_receive(:find).with('1').and_return(@client_application) - do_valid_update - end - - it "should redirect to new client_application" do - do_valid_update - response.should be_redirect - response.should redirect_to(:action => "show", :id => @client_application.id) - end - - it "should assign client_applications" do - do_invalid_update - assigns[:client_application].should equal(@client_application) - end - - it "should render show template" do - do_invalid_update - response.should render_template('edit') - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller_test.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller_test.rb deleted file mode 100644 index 47585a2ca..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_controller_test.rb +++ /dev/null @@ -1,280 +0,0 @@ -require File.dirname(__FILE__) + '/../test_helper' -require File.dirname(__FILE__) + '/../oauth_controller_test_helper' -require 'oauth/client/action_controller_request' - -class OauthClientsController; def rescue_action(e) raise e end; end - -class OauthClientsControllerIndexTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - login_as_application_owner - end - - def do_get - get :index - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_query_current_users_client_applications - @user.expects(:client_applications).returns(@client_applications) - do_get - end - - def test_should_assign_client_applications - do_get - assert_equal @client_applications, assigns(:client_applications) - end - - def test_should_render_index_template - do_get - assert_template 'index' - end -end - -class OauthClientsControllerShowTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - login_as_application_owner - end - - def do_get - get :show, :id=>'3' - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_query_current_users_client_applications - @user.expects(:client_applications).returns(@client_applications) - @client_applications.expects(:find).with('3').returns(@client_application) - do_get - end - - def test_should_assign_client_applications - do_get - assert_equal @client_application, assigns(:client_application) - end - - def test_should_render_show_template - do_get - assert_template 'show' - end - -end - -class OauthClientsControllerNewTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - login_as_application_owner - ClientApplication.stubs(:new).returns(@client_application) - end - - def do_get - get :new - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_assign_client_applications - do_get - assert_equal @client_application, assigns(:client_application) - end - - def test_should_render_show_template - do_get - assert_template 'new' - end - -end - -class OauthClientsControllerEditTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - login_as_application_owner - end - - def do_get - get :edit, :id=>'3' - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_query_current_users_client_applications - @user.expects(:client_applications).returns(@client_applications) - @client_applications.expects(:find).with('3').returns(@client_application) - do_get - end - - def test_should_assign_client_applications - do_get - assert_equal @client_application, assigns(:client_application) - end - - def test_should_render_edit_template - do_get - assert_template 'edit' - end - -end - -class OauthClientsControllerCreateTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - login_as_application_owner - @client_applications.stubs(:build).returns(@client_application) - @client_application.stubs(:save).returns(true) - end - - def do_valid_post - @client_application.expects(:save).returns(true) - post :create,'client_application'=>{'name'=>'my site'} - end - - def do_invalid_post - @client_application.expects(:save).returns(false) - post :create,:client_application=>{:name=>'my site'} - end - - def test_should_query_current_users_client_applications - @client_applications.expects(:build).returns(@client_application) - do_valid_post - end - - def test_should_redirect_to_new_client_application - do_valid_post - assert_response :redirect - assert_redirected_to(:action => "show", :id => @client_application.id) - end - - def test_should_assign_client_applications - do_invalid_post - assert_equal @client_application, assigns(:client_application) - end - - def test_should_render_show_template - do_invalid_post - assert_template('new') - end -end - -class OauthClientsControllerDestroyTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - - login_as_application_owner - @client_application.stubs(:destroy) - end - - def do_delete - delete :destroy,:id=>'3' - end - - def test_should_query_current_users_client_applications - @user.expects(:client_applications).returns(@client_applications) - @client_applications.expects(:find).with('3').returns(@client_application) - do_delete - end - - def test_should_destroy_client_applications - @client_application.expects(:destroy) - do_delete - end - - def test_should_redirect_to_list - do_delete - assert_response :redirect - assert_redirected_to :action => 'index' - end - -end - -class OauthClientsControllerUpdateTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthClientsController - - def setup - @controller = OauthClientsController.new - @request = ActionController::TestRequest.new - @response = ActionController::TestResponse.new - login_as_application_owner - end - - def do_valid_update - @client_application.expects(:update_attributes).returns(true) - put :update, :id => '1', 'client_application' => {'name'=>'my site'} - end - - def do_invalid_update - @client_application.expects(:update_attributes).returns(false) - put :update, :id=>'1', 'client_application' => {'name'=>'my site'} - end - - def test_should_query_current_users_client_applications - @user.expects(:client_applications).returns(@client_applications) - @client_applications.expects(:find).with('1').returns(@client_application) - do_valid_update - end - - def test_should_redirect_to_new_client_application - do_valid_update - assert_response :redirect - assert_redirected_to :action => "show", :id => @client_application.id - end - - def test_should_assign_client_applications - do_invalid_update - assert_equal @client_application, assigns(:client_application) - end - - def test_should_render_show_template - do_invalid_update - assert_template('edit') - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_helper.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_helper.rb deleted file mode 100644 index 3b909aaf3..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/clients_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module OauthClientsHelper -end \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller.rb deleted file mode 100644 index 58ac21391..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller.rb +++ /dev/null @@ -1,62 +0,0 @@ -class OauthController < ApplicationController - before_filter :login_required, :except => [:request_token, :access_token, :test_request] - before_filter :login_or_oauth_required, :only => [:test_request] - before_filter :verify_oauth_consumer_signature, :only => [:request_token] - before_filter :verify_oauth_request_token, :only => [:access_token] - # Uncomment the following if you are using restful_open_id_authentication - # skip_before_filter :verify_authenticity_token - - def request_token - @token = current_client_application.create_request_token - if @token - render :text => @token.to_query - else - render :nothing => true, :status => 401 - end - end - - def access_token - @token = current_token && current_token.exchange! - if @token - render :text => @token.to_query - else - render :nothing => true, :status => 401 - end - end - - def test_request - render :text => params.collect{|k,v|"#{k}=#{v}"}.join("&") - end - - def authorize - @token = RequestToken.find_by_token params[:oauth_token] - unless @token.invalidated? - if request.post? - if params[:authorize] == '1' - @token.authorize!(current_user) - redirect_url = params[:oauth_callback] || @token.client_application.callback_url - if redirect_url - redirect_to "#{redirect_url}?oauth_token=#{@token.token}" - else - render :action => "authorize_success" - end - elsif params[:authorize] == "0" - @token.invalidate! - render :action => "authorize_failure" - end - end - else - render :action => "authorize_failure" - end - end - - def revoke - @token = current_user.tokens.find_by_token params[:token] - if @token - @token.invalidate! - flash[:notice] = "You've revoked the token for #{@token.client_application.name}" - end - redirect_to oauth_clients_url - end - -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_spec.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_spec.rb deleted file mode 100644 index f3479ab37..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_spec.rb +++ /dev/null @@ -1,296 +0,0 @@ -require File.dirname(__FILE__) + '/../spec_helper' -require File.dirname(__FILE__) + '/oauth_controller_spec_helper' -require 'oauth/client/action_controller_request' - -describe OauthController, "getting a request token" do - include OAuthControllerSpecHelper - before(:each) do - setup_oauth - sign_request_with_oauth - @client_application.stub!(:create_request_token).and_return(@request_token) - end - - def do_get - get :request_token - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should query for client_application" do - ClientApplication.should_receive(:find_by_key).with('key').and_return(@client_application) - do_get - end - - it "should request token from client_application" do - @client_application.should_receive(:create_request_token).and_return(@request_token) - do_get - end - - it "should return token string" do - do_get - response.body.should == @request_token_string - end -end - -describe OauthController, "token authorization" do - include OAuthControllerSpecHelper - before(:each) do - login - setup_oauth - RequestToken.stub!(:find_by_token).and_return(@request_token) - end - - def do_get - get :authorize, :oauth_token => @request_token.token - end - - def do_post - @request_token.should_receive(:authorize!).with(@user) - post :authorize, :oauth_token => @request_token.token, :authorize => "1" - end - - def do_post_without_user_authorization - @request_token.should_receive(:invalidate!) - post :authorize, :oauth_token => @request_token.token, :authorize => "0" - end - - def do_post_with_callback - @request_token.should_receive(:authorize!).with(@user) - post :authorize, :oauth_token => @request_token.token, :oauth_callback => "http://application/alternative", :authorize => "1" - end - - def do_post_with_no_application_callback - @request_token.should_receive(:authorize!).with(@user) - @client_application.stub!(:callback_url).and_return(nil) - post :authorize, :oauth_token => @request_token.token, :authorize => "1" - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should query for client_application" do - RequestToken.should_receive(:find_by_token).and_return(@request_token) - do_get - end - - it "should assign token" do - do_get - assigns[:token].should equal(@request_token) - end - - it "should render authorize template" do - do_get - response.should render_template('authorize') - end - - it "should redirect to default callback" do - do_post - response.should be_redirect - response.should redirect_to("http://application/callback?oauth_token=#{@request_token.token}") - end - - it "should redirect to callback in query" do - do_post_with_callback - response.should be_redirect - response.should redirect_to("http://application/alternative?oauth_token=#{@request_token.token}") - end - - it "should be successful on authorize without any application callback" do - do_post_with_no_application_callback - response.should be_success - end - - it "should be successful on authorize without any application callback" do - do_post_with_no_application_callback - response.should render_template('authorize_success') - end - - it "should render failure screen on user invalidation" do - do_post_without_user_authorization - response.should render_template('authorize_failure') - end - - it "should render failure screen if token is invalidated" do - @request_token.should_receive(:invalidated?).and_return(true) - do_get - response.should render_template('authorize_failure') - end - - -end - - -describe OauthController, "getting an access token" do - include OAuthControllerSpecHelper - before(:each) do - setup_oauth - sign_request_with_oauth @request_token - @request_token.stub!(:exchange!).and_return(@access_token) - end - - def do_get - get :access_token - end - - it "should be successful" do - do_get - response.should be_success - end - - it "should query for client_application" do - ClientApplication.should_receive(:find_token).with(@request_token.token).and_return(@request_token) - do_get - end - - it "should request token from client_application" do - @request_token.should_receive(:exchange!).and_return(@access_token) - do_get - end - - it "should return token string" do - do_get - response.body.should == @access_token_string - end -end - -class OauthorizedController :both - before_filter :login_required, :only => :interactive - before_filter :oauth_required, :only => :token_only - - def interactive - end - - def token_only - end - - def both - end -end - -describe OauthorizedController, " access control" do - include OAuthControllerSpecHelper - - before(:each) do - end - - it "should have access_token set up correctly" do - setup_to_authorize_request - @access_token.is_a?(AccessToken).should == true - @access_token.should be_authorized - @access_token.should_not be_invalidated - @access_token.user.should == @user - @access_token.client_application.should == @client_application - end - - it "should return false for oauth? by default" do - controller.send(:oauth?).should == false - end - - it "should return nil for current_token by default" do - controller.send(:current_token).should be_nil - end - - it "should allow oauth when using login_or_oauth_required" do - setup_to_authorize_request - sign_request_with_oauth(@access_token) - ClientApplication.should_receive(:find_token).with(@access_token.token).and_return(@access_token) - get :both - controller.send(:current_token).should == @access_token - controller.send(:current_token).is_a?(AccessToken).should == true - controller.send(:current_user).should == @user - controller.send(:current_client_application).should == @client_application - response.code.should == '200' - response.should be_success - end - - it "should allow interactive when using login_or_oauth_required" do - login - get :both - response.should be_success - controller.send(:current_user).should == @user - controller.send(:current_token).should be_nil - end - - - it "should allow oauth when using oauth_required" do - setup_to_authorize_request - sign_request_with_oauth(@access_token) - ClientApplication.should_receive(:find_token).with(@access_token.token).and_return(@access_token) - get :token_only - controller.send(:current_token).should == @access_token - controller.send(:current_client_application).should == @client_application - controller.send(:current_user).should == @user - response.code.should == '200' - response.should be_success - end - - it "should disallow oauth using RequestToken when using oauth_required" do - setup_to_authorize_request - ClientApplication.should_receive(:find_token).with(@request_token.token).and_return(@request_token) - sign_request_with_oauth(@request_token) - get :token_only - response.code.should == '401' - end - - it "should disallow interactive when using oauth_required" do - login - get :token_only - response.code.should == '401' - - controller.send(:current_user).should == @user - controller.send(:current_token).should be_nil - end - - it "should disallow oauth when using login_required" do - setup_to_authorize_request - sign_request_with_oauth(@access_token) - get :interactive - response.code.should == "302" - controller.send(:current_user).should be_nil - controller.send(:current_token).should be_nil - end - - it "should allow interactive when using login_required" do - login - get :interactive - response.should be_success - controller.send(:current_user).should == @user - controller.send(:current_token).should be_nil - end - -end - -describe OauthController, "revoke" do - include OAuthControllerSpecHelper - before(:each) do - setup_oauth_for_user - @request_token.stub!(:invalidate!) - end - - def do_post - post :revoke, :token => "TOKEN STRING" - end - - it "should redirect to index" do - do_post - response.should be_redirect - response.should redirect_to('http://test.host/oauth_clients') - end - - it "should query current_users tokens" do - @tokens.should_receive(:find_by_token).and_return(@request_token) - do_post - end - - it "should call invalidate on token" do - @request_token.should_receive(:invalidate!) - do_post - end - -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_spec_helper.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_spec_helper.rb deleted file mode 100644 index 9e7128436..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_spec_helper.rb +++ /dev/null @@ -1,74 +0,0 @@ -module OAuthControllerSpecHelper - def login - controller.stub!(:local_request?).and_return(true) - @user = mock_model(User) - controller.stub!(:current_user).and_return(@user) - @tokens = [] - @tokens.stub!(:find).and_return(@tokens) - @user.stub!(:tokens).and_return(@tokens) - User.stub!(:find_by_id).and_return(@user) - end - - def login_as_application_owner - login - @client_application = mock_model(ClientApplication) - @client_applications = [@client_application] - - @user.stub!(:client_applications).and_return(@client_applications) - @client_applications.stub!(:find).and_return(@client_application) - end - - def setup_oauth - controller.stub!(:local_request?).and_return(true) - @user||=mock_model(User) - - User.stub!(:find_by_id).and_return(@user) - - @server = OAuth::Server.new "http://test.host" - @consumer = OAuth::Consumer.new('key', 'secret',{:site => "http://test.host"}) - - @client_application = mock_model(ClientApplication) - controller.stub!(:current_client_application).and_return(@client_application) - ClientApplication.stub!(:find_by_key).and_return(@client_application) - @client_application.stub!(:key).and_return(@consumer.key) - @client_application.stub!(:secret).and_return(@consumer.secret) - @client_application.stub!(:name).and_return("Client Application name") - @client_application.stub!(:callback_url).and_return("http://application/callback") - @request_token = mock_model(RequestToken, :token => 'request_token', :client_application => @client_application, :secret => "request_secret", :user => @user) - @request_token.stub!(:invalidated?).and_return(false) - ClientApplication.stub!(:find_token).and_return(@request_token) - - @request_token_string = "oauth_token = request_token&oauth_token_secret = request_secret" - @request_token.stub!(:to_query).and_return(@request_token_string) - - @access_token = mock_model(AccessToken, :token => 'access_token', :client_application => @client_application, :secret => "access_secret", :user => @user) - @access_token.stub!(:invalidated?).and_return(false) - @access_token.stub!(:authorized?).and_return(true) - @access_token_string = "oauth_token = access_token&oauth_token_secret = access_secret" - @access_token.stub!(:to_query).and_return(@access_token_string) - - @client_application.stub!(:authorize_request?).and_return(true) -# @client_application.stub!(:sign_request_with_oauth_token).and_return(@request_token) - @client_application.stub!(:exchange_for_access_token).and_return(@access_token) - end - - def setup_oauth_for_user - login - setup_oauth - @tokens = [@request_token] - @tokens.stub!(:find).and_return(@tokens) - @tokens.stub!(:find_by_token).and_return(@request_token) - @user.stub!(:tokens).and_return(@tokens) - end - - def sign_request_with_oauth(token = nil) - ActionController::TestRequest.use_oauth = true - @request.configure_oauth(@consumer,token) - end - - def setup_to_authorize_request - setup_oauth - OauthToken.stub!(:find_by_token).with( @access_token.token).and_return(@access_token) - @access_token.stub!(:is_a?).and_return(true) - end -end \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_test.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_test.rb deleted file mode 100644 index f75eaeec3..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_test.rb +++ /dev/null @@ -1,310 +0,0 @@ -require File.dirname(__FILE__) + '/../test_helper' -require File.dirname(__FILE__) + '/../oauth_controller_test_helper' -require 'oauth/client/action_controller_request' - -class OauthController; def rescue_action(e) raise e end; end - -class OauthControllerRequestTokenTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthController - - def setup - @controller = OauthController.new - setup_oauth - sign_request_with_oauth - @client_application.stubs(:create_request_token).returns(@request_token) - end - - def do_get - get :request_token - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_query_for_client_application - ClientApplication.expects(:find_by_key).with('key').returns(@client_application) - do_get - end - - def test_should_request_token_from_client_application - @client_application.expects(:create_request_token).returns(@request_token) - do_get - end - - def test_should_return_token_string - do_get - assert_equal @request_token_string, @response.body - end -end - -class OauthControllerTokenAuthorizationTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthController - - def setup - @controller = OauthController.new - login - setup_oauth - RequestToken.stubs(:find_by_token).returns(@request_token) - end - - def do_get - get :authorize, :oauth_token => @request_token.token - end - - def do_post - @request_token.expects(:authorize!).with(@user) - post :authorize,:oauth_token=>@request_token.token,:authorize=>"1" - end - - def do_post_without_user_authorization - @request_token.expects(:invalidate!) - post :authorize,:oauth_token=>@request_token.token,:authorize=>"0" - end - - def do_post_with_callback - @request_token.expects(:authorize!).with(@user) - post :authorize,:oauth_token=>@request_token.token,:oauth_callback=>"http://application/alternative",:authorize=>"1" - end - - def do_post_with_no_application_callback - @request_token.expects(:authorize!).with(@user) - @client_application.stubs(:callback_url).returns(nil) - post :authorize, :oauth_token => @request_token.token, :authorize=>"1" - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_query_for_client_application - RequestToken.expects(:find_by_token).returns(@request_token) - do_get - end - - def test_should_assign_token - do_get - assert_equal @request_token, assigns(:token) - end - - def test_should_render_authorize_template - do_get - assert_template('authorize') - end - - def test_should_redirect_to_default_callback - do_post - assert_response :redirect - assert_redirected_to("http://application/callback?oauth_token=#{@request_token.token}") - end - - def test_should_redirect_to_callback_in_query - do_post_with_callback - assert_response :redirect - assert_redirected_to("http://application/alternative?oauth_token=#{@request_token.token}") - end - - def test_should_be_successful_on_authorize_without_any_application_callback - do_post_with_no_application_callback - assert @response.success? - assert_template('authorize_success') - end - - def test_should_render_failure_screen_on_user_invalidation - do_post_without_user_authorization - assert_template('authorize_failure') - end - - def test_should_render_failure_screen_if_token_is_invalidated - @request_token.expects(:invalidated?).returns(true) - do_get - assert_template('authorize_failure') - end - - -end - -class OauthControllerGetAccessTokenTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthController - - def setup - @controller = OauthController.new - setup_oauth - sign_request_with_oauth @request_token - @request_token.stubs(:exchange!).returns(@access_token) - end - - def do_get - get :access_token - end - - def test_should_be_successful - do_get - assert @response.success? - end - - def test_should_query_for_client_application - ClientApplication.expects(:find_token).with(@request_token.token).returns(@request_token) - do_get - end - - def test_should_request_token_from_client_application - @request_token.expects(:exchange!).returns(@access_token) - do_get - end - - def test_should__return_token_string - do_get - assert_equal @access_token_string, @response.body - end -end - -class OauthorizedController < ApplicationController - before_filter :login_or_oauth_required,:only=>:both - before_filter :login_required,:only=>:interactive - before_filter :oauth_required,:only=>:token_only - - def interactive - render :text => "interactive" - end - - def token_only - render :text => "token" - end - - def both - render :text => "both" - end -end - - -class OauthControllerAccessControlTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthorizedController - - def setup - @controller = OauthorizedController.new - end - - def test_should__have_access_token_set_up_correctly - setup_to_authorize_request - assert @access_token.is_a?(AccessToken) - assert @access_token.authorized? - assert !@access_token.invalidated? - assert_equal @user, @access_token.user - assert_equal @client_application, @access_token.client_application - end - - def test_should_return_false_for_oauth_by_default - assert_equal false, @controller.send(:oauth?) - end - - def test_should_return_nil_for_current_token_by_default - assert_nil @controller.send(:current_token) - end - - def test_should_allow_oauth_when_using_login_or_oauth_required - setup_to_authorize_request - sign_request_with_oauth(@access_token) - ClientApplication.expects(:find_token).with(@access_token.token).returns(@access_token) - get :both - assert_equal @access_token, @controller.send(:current_token) - assert @controller.send(:current_token).is_a?(AccessToken) - assert_equal @user, @controller.send(:current_user) - assert_equal @client_application, @controller.send(:current_client_application) - assert_equal '200', @response.code - assert @response.success? - end - - def test_should_allow_interactive_when_using_login_or_oauth_required - login - get :both - assert @response.success? - assert_equal @user, @controller.send(:current_user) - assert_nil @controller.send(:current_token) - end - - def test_should_allow_oauth_when_using_oauth_required - setup_to_authorize_request - sign_request_with_oauth(@access_token) - ClientApplication.expects(:find_token).with(@access_token.token).returns(@access_token) - get :token_only - assert_equal @access_token, @controller.send(:current_token) - assert_equal @client_application, @controller.send(:current_client_application) - assert_equal @user, @controller.send(:current_user) - assert_equal '200', @response.code - assert @response.success? - end - - def test_should_disallow_oauth_using_request_token_when_using_oauth_required - setup_to_authorize_request - ClientApplication.expects(:find_token).with(@request_token.token).returns(@request_token) - sign_request_with_oauth(@request_token) - get :token_only - assert_equal '401', @response.code - end - - def test_should_disallow_interactive_when_using_oauth_required - login - get :token_only - assert_equal '401', @response.code - - assert_equal @user, @controller.send(:current_user) - assert_nil @controller.send(:current_token) - end - - def test_should_disallow_oauth_when_using_login_required - setup_to_authorize_request - sign_request_with_oauth(@access_token) - get :interactive - assert_equal "302",@response.code - assert_nil @controller.send(:current_user) - assert_nil @controller.send(:current_token) - end - - def test_should_allow_interactive_when_using_login_required - login - get :interactive - assert @response.success? - assert_equal @user, @controller.send(:current_user) - assert_nil @controller.send(:current_token) - end - -end - -class OauthControllerRevokeTest < ActionController::TestCase - include OAuthControllerTestHelper - tests OauthController - - def setup - @controller = OauthController.new - setup_oauth_for_user - @request_token.stubs(:invalidate!) - end - - def do_post - post :revoke, :token => "TOKEN STRING" - end - - def test_should_redirect_to_index - do_post - assert_response :redirect - assert_redirected_to('http://test.host/oauth_clients') - end - - def test_should_query_current_users_tokens - @tokens.expects(:find_by_token).returns(@request_token) - do_post - end - - def test_should_call_invalidate_on_token - @request_token.expects(:invalidate!) - do_post - end - -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_test_helper.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_test_helper.rb deleted file mode 100644 index 2827252ca..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/controller_test_helper.rb +++ /dev/null @@ -1,115 +0,0 @@ -require "mocha" -module OAuthControllerTestHelper - - # Some custom stuff since we're using Mocha - def mock_model(model_class, options_and_stubs = {}) - id = rand(10000) - options_and_stubs.reverse_merge! :id => id, - :to_param => id.to_s, - :new_record? => false, - :errors => stub("errors", :count => 0) - - m = stub("#{model_class.name}_#{options_and_stubs[:id]}", options_and_stubs) - m.instance_eval <<-CODE - def is_a?(other) - #{model_class}.ancestors.include?(other) - end - def kind_of?(other) - #{model_class}.ancestors.include?(other) - end - def instance_of?(other) - other == #{model_class} - end - def class - #{model_class} - end - CODE - yield m if block_given? - m - end - - def mock_full_client_application - mock_model(ClientApplication, - :name => "App1", - :url => "http://app.com", - :callback_url => "http://app.com/callback", - :support_url => "http://app.com/support", - :key => "asd23423yy", - :secret => "secret", - :oauth_server => OAuth::Server.new("http://kowabunga.com") - ) - end - - def login - @controller.stubs(:local_request?).returns(true) - @user = mock_model(User, :login => "ron") - @controller.stubs(:current_user).returns(@user) - @tokens=[] - @tokens.stubs(:find).returns(@tokens) - @user.stubs(:tokens).returns(@tokens) - User.stubs(:find_by_id).returns(@user) - end - - def login_as_application_owner - login - @client_application = mock_full_client_application - @client_applications = [@client_application] - - @user.stubs(:client_applications).returns(@client_applications) - @client_applications.stubs(:find).returns(@client_application) - end - - def setup_oauth - @controller.stubs(:local_request?).returns(true) - @user||=mock_model(User) - - User.stubs(:find_by_id).returns(@user) - - @server=OAuth::Server.new "http://test.host" - @consumer=OAuth::Consumer.new('key','secret',{:site=>"http://test.host"}) - - @client_application = mock_full_client_application - @controller.stubs(:current_client_application).returns(@client_application) - ClientApplication.stubs(:find_by_key).returns(@client_application) - @client_application.stubs(:key).returns(@consumer.key) - @client_application.stubs(:secret).returns(@consumer.secret) - @client_application.stubs(:name).returns("Client Application name") - @client_application.stubs(:callback_url).returns("http://application/callback") - @request_token=mock_model(RequestToken,:token=>'request_token',:client_application=>@client_application,:secret=>"request_secret",:user=>@user) - @request_token.stubs(:invalidated?).returns(false) - ClientApplication.stubs(:find_token).returns(@request_token) - - @request_token_string="oauth_token=request_token&oauth_token_secret=request_secret" - @request_token.stubs(:to_query).returns(@request_token_string) - - @access_token=mock_model(AccessToken,:token=>'access_token',:client_application=>@client_application,:secret=>"access_secret",:user=>@user) - @access_token.stubs(:invalidated?).returns(false) - @access_token.stubs(:authorized?).returns(true) - @access_token_string="oauth_token=access_token&oauth_token_secret=access_secret" - @access_token.stubs(:to_query).returns(@access_token_string) - - @client_application.stubs(:authorize_request?).returns(true) -# @client_application.stubs(:sign_request_with_oauth_token).returns(@request_token) - @client_application.stubs(:exchange_for_access_token).returns(@access_token) - end - - def setup_oauth_for_user - login - setup_oauth - @tokens=[@request_token] - @tokens.stubs(:find).returns(@tokens) - @tokens.stubs(:find_by_token).returns(@request_token) - @user.stubs(:tokens).returns(@tokens) - end - - def sign_request_with_oauth(token=nil) - ActionController::TestRequest.use_oauth=true - @request.configure_oauth(@consumer, token) - end - - def setup_to_authorize_request - setup_oauth - OauthToken.stubs(:find_by_token).with( @access_token.token).returns(@access_token) - @access_token.stubs(:is_a?).returns(true) - end -end \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/edit.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/edit.html.erb deleted file mode 100644 index 6c4f5cef9..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/edit.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

Edit your application

-<%% form_for :client_application do |f| %> - <%%= render :partial => "form", :locals => { :f => f } %> - <%%= submit_tag "Edit" %> -<%% end %> \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/helper.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/helper.rb deleted file mode 100644 index 010cf9f5a..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module OauthHelper -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/index.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/index.html.erb deleted file mode 100644 index fcb3a0314..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/index.html.erb +++ /dev/null @@ -1,40 +0,0 @@ -
<%%= flash[:notice] %>
-

OAuth Client Applications

-<%% unless @tokens.empty? %> -

The following tokens have been issued to applications in your name

- - - <%% @tokens.each do |token|%> - <%% content_tag_for :tr, token do %> - - - - <%% end %> - <%% end %> - -
ApplicationIssued 
<%%= link_to token.client_application.name, token.client_application.url %><%%= token.authorized_at %> - <%% form_tag :controller => 'oauth', :action => 'revoke' do %> - <%%= hidden_field_tag 'token', token.token %> - <%%= submit_tag "Revoke!" %> - <%% end %> -
-<%% end %> -

Application Developers

-<%% if @client_applications.empty? %> -

- Do you have an application you would like to register for use with us using the OAuth standard? -

-

- You must register your web application before it can make OAuth requests to this service -

-<%% else %> -

- You have the following client applications registered: -

- <%% @client_applications.each do |client|%> - <%% div_for client do %> - <%%= link_to client.name, :action => :show, :id => client.id %> - <%% end %> - <%% end %> -<%% end %> -

<%%= link_to "Register your application", :action => :new %>

diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/migration.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/migration.rb deleted file mode 100644 index c1b6b02c7..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/migration.rb +++ /dev/null @@ -1,44 +0,0 @@ -class CreateOauthTables < ActiveRecord::Migration - def self.up - create_table :client_applications do |t| - t.string :name - t.string :url - t.string :support_url - t.string :callback_url - t.string :key, :limit => 50 - t.string :secret, :limit => 50 - t.integer :user_id - - t.timestamps - end - add_index :client_applications, :key, :unique - - create_table :oauth_tokens do |t| - t.integer :user_id - t.string :type, :limit => 20 - t.integer :client_application_id - t.string :token, :limit => 50 - t.string :secret, :limit => 50 - t.timestamp :authorized_at, :invalidated_at - t.timestamps - end - - add_index :oauth_tokens, :token, :unique - - create_table :oauth_nonces do |t| - t.string :nonce - t.integer :timestamp - - t.timestamps - end - add_index :oauth_nonces,[:nonce, :timestamp], :unique - - end - - def self.down - drop_table :client_applications - drop_table :oauth_tokens - drop_table :oauth_nonces - end - -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/new.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/new.html.erb deleted file mode 100644 index be541da66..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

Register a new application

-<%% form_for :client_application, :url => { :action => :create } do |f| %> - <%%= render :partial => "form", :locals => { :f => f } %> - <%%= submit_tag "Register" %> -<%% end %> \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce.rb deleted file mode 100644 index 075351b91..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce.rb +++ /dev/null @@ -1,13 +0,0 @@ -# Simple store of nonces. The OAuth Spec requires that any given pair of nonce and timestamps are unique. -# Thus you can use the same nonce with a different timestamp and viceversa. -class OauthNonce < ActiveRecord::Base - validates_presence_of :nonce, :timestamp - validates_uniqueness_of :nonce, :scope => :timestamp - - # Remembers a nonce and it's associated timestamp. It returns false if it has already been used - def self.remember(nonce, timestamp) - oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp) - return false if oauth_nonce.new_record? - oauth_nonce - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce_spec.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce_spec.rb deleted file mode 100644 index 7829bdc74..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce_spec.rb +++ /dev/null @@ -1,24 +0,0 @@ -require File.dirname(__FILE__) + '/../spec_helper' -require 'oauth/helper' -describe OauthNonce do - include OAuth::Helper - before(:each) do - @oauth_nonce = OauthNonce.remember(generate_key, Time.now.to_i) - end - - it "should be valid" do - @oauth_nonce.should be_valid - end - - it "should not have errors" do - @oauth_nonce.errors.full_messages.should == [] - end - - it "should not be a new record" do - @oauth_nonce.should_not be_new_record - end - - it "should not allow a second one with the same values" do - OauthNonce.remember(@oauth_nonce.nonce,@oauth_nonce.timestamp).should == false - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce_test.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce_test.rb deleted file mode 100644 index 2fd6a755a..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonce_test.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'oauth/helper' -require File.dirname(__FILE__) + '/../test_helper' - -class ClientNoneTest < ActiveSupport::TestCase - include OAuth::Helper - - def setup - @oauth_nonce = OauthNonce.remember(generate_key,Time.now.to_i) - end - - def test_should_be_valid - assert @oauth_nonce.valid? - end - - def test_should_not_have_errors - assert_equal [], @oauth_nonce.errors.full_messages - end - - def test_should_not_be_a_new_record - assert !@oauth_nonce.new_record? - end - - def test_shuold_not_allow_a_second_one_with_the_same_values - assert_equal false, OauthNonce.remember(@oauth_nonce.nonce, @oauth_nonce.timestamp) - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonces.yml b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonces.yml deleted file mode 100644 index 4e0b3062a..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_nonces.yml +++ /dev/null @@ -1,13 +0,0 @@ -# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html -one: - id: 1 - nonce: a_nonce - timestamp: 1 - created_at: 2007-11-25 17:27:04 - updated_at: 2007-11-25 17:27:04 -two: - id: 2 - nonce: b_nonce - timestamp: 2 - created_at: 2007-11-25 17:27:04 - updated_at: 2007-11-25 17:27:04 diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token.rb deleted file mode 100644 index 5fca40ce2..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token.rb +++ /dev/null @@ -1,31 +0,0 @@ -class OauthToken < ActiveRecord::Base - belongs_to :client_application - belongs_to :user - validates_uniqueness_of :token - validates_presence_of :client_application, :token, :secret - before_validation_on_create :generate_keys - - def invalidated? - invalidated_at != nil - end - - def invalidate! - update_attribute(:invalidated_at, Time.now) - end - - def authorized? - authorized_at != nil && !invalidated? - end - - def to_query - "oauth_token=#{token}&oauth_token_secret=#{secret}" - end - -protected - - def generate_keys - @oauth_token = client_application.oauth_server.generate_credentials - self.token = @oauth_token[0] - self.secret = @oauth_token[1] - end -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token_spec.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token_spec.rb deleted file mode 100644 index 594c204af..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token_spec.rb +++ /dev/null @@ -1,55 +0,0 @@ -require File.dirname(__FILE__) + '/../spec_helper' - -describe RequestToken do - fixtures :client_applications, :users, :oauth_tokens - before(:each) do - @token = RequestToken.create :client_application => client_applications(:one) - end - - it "should be valid" do - @token.should be_valid - end - - it "should not have errors" do - @token.errors.should_not == [] - end - - it "should have a token" do - @token.token.should_not be_nil - end - - it "should have a secret" do - @token.secret.should_not be_nil - end - - it "should not be authorized" do - @token.should_not be_authorized - end - - it "should not be invalidated" do - @token.should_not be_invalidated - end - - it "should authorize request" do - @token.authorize!(users(:quentin)) - @token.should be_authorized - @token.authorized_at.should_not be_nil - @token.user.should == users(:quentin) - end - - it "should not exchange without approval" do - @token.exchange!.should == false - @token.should_not be_invalidated - end - - it "should not exchange without approval" do - @token.authorize!(users(:quentin)) - @access = @token.exchange! - @access.should_not == false - @token.should be_invalidated - - @access.user.should == users(:quentin) - @access.should be_authorized - end - -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token_test.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token_test.rb deleted file mode 100644 index dc7f5cb22..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_token_test.rb +++ /dev/null @@ -1,57 +0,0 @@ -require File.dirname(__FILE__) + '/../test_helper' - -class RequestTokenTest < ActiveSupport::TestCase - - fixtures :client_applications, :users, :oauth_tokens - - def setup - @token = RequestToken.create :client_application=>client_applications(:one) - end - - def test_should_be_valid - assert @token.valid? - end - - def test_should_not_have_errors - assert @token.errors.empty? - end - - def test_should_have_a_token - assert_not_nil @token.token - end - - def test_should_have_a_secret - assert_not_nil @token.secret - end - - def test_should_not_be_authorized - assert !@token.authorized? - end - - def test_should_not_be_invalidated - assert !@token.invalidated? - end - - def test_should_authorize_request - @token.authorize!(users(:quentin)) - assert @token.authorized? - assert_not_nil @token.authorized_at - assert_equal users(:quentin), @token.user - end - - def test_should_not_exchange_without_approval - assert_equal false, @token.exchange! - assert_equal false, @token.invalidated? - end - - def test_should_not_exchange_without_approval - @token.authorize!(users(:quentin)) - @access = @token.exchange! - assert_not_equal false, @access - assert @token.invalidated? - - assert_equal users(:quentin), @access.user - assert @access.authorized? - end - -end diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_tokens.yml b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_tokens.yml deleted file mode 100644 index 1c8006efd..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/oauth_tokens.yml +++ /dev/null @@ -1,17 +0,0 @@ -# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html -one: - id: 1 - user_id: 1 - client_application_id: 1 - token: one - secret: MyString - created_at: 2007-11-19 07:31:46 - updated_at: 2007-11-19 07:31:46 -two: - id: 2 - user_id: 1 - client_application_id: 1 - token: two - secret: MyString - created_at: 2007-11-19 07:31:46 - updated_at: 2007-11-19 07:31:46 diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/request_token.rb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/request_token.rb deleted file mode 100644 index b6047fe51..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/request_token.rb +++ /dev/null @@ -1,17 +0,0 @@ -class RequestToken < OauthToken - def authorize!(user) - return false if authorized? - self.user = user - self.authorized_at = Time.now - self.save - end - - def exchange! - return false unless authorized? - RequestToken.transaction do - access_token = AccessToken.create(:user => user, :client_application => client_application) - invalidate! - access_token - end - end -end \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/show.html.erb b/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/show.html.erb deleted file mode 100644 index a997e2f73..000000000 --- a/vendor/plugins/oauth-plugin/generators/oauth_provider/templates/show.html.erb +++ /dev/null @@ -1,20 +0,0 @@ -

OAuth details for <%%=@client_application.name %>

-

- Consumer Key: <%%=@client_application.key %> -

-

- Consumer Secret: <%%=@client_application.secret %> -

-

- Request Token URL http<%%='s' if request.ssl? %>://<%%= request.host_with_port %><%%=@client_application.oauth_server.request_token_path %> -

-

- Access Token URL http<%%='s' if request.ssl? %>://<%%= request.host_with_port %><%%=@client_application.oauth_server.access_token_path %> -

-

- Authorize URL http<%%='s' if request.ssl? %>://<%%= request.host_with_port %><%%=@client_application.oauth_server.authorize_path %> -

- -

- We support hmac-sha1 (recommended) as well as plain text in ssl mode. -

\ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/init.rb b/vendor/plugins/oauth-plugin/init.rb deleted file mode 100644 index 28e25563c..000000000 --- a/vendor/plugins/oauth-plugin/init.rb +++ /dev/null @@ -1,6 +0,0 @@ -gem 'oauth', '>=0.2.1' -require 'oauth/signature/hmac/sha1' -require 'oauth/request_proxy/action_controller_request' -require 'oauth/server' -require 'oauth/rails/controller_methods' -ActionController::Base.send :include, OAuth::Rails::ControllerMethods diff --git a/vendor/plugins/oauth-plugin/install.rb b/vendor/plugins/oauth-plugin/install.rb deleted file mode 100644 index f1531bd89..000000000 --- a/vendor/plugins/oauth-plugin/install.rb +++ /dev/null @@ -1,2 +0,0 @@ -#should we do any text formatting? -puts IO.read(File.join(File.dirname(__FILE__), 'README.rdoc')) \ No newline at end of file diff --git a/vendor/plugins/oauth-plugin/lib/oauth/rails/controller_methods.rb b/vendor/plugins/oauth-plugin/lib/oauth/rails/controller_methods.rb deleted file mode 100644 index 68ef9d224..000000000 --- a/vendor/plugins/oauth-plugin/lib/oauth/rails/controller_methods.rb +++ /dev/null @@ -1,114 +0,0 @@ -require 'oauth/signature' -module OAuth - module Rails - - module ControllerMethods - protected - - def current_token - @current_token - end - - def current_client_application - @current_client_application - end - - def oauthenticate - logger.info "entering oauthenticate" - verified=verify_oauth_signature - logger.info "verified=#{verified.to_s}" - return verified && current_token.is_a?(::AccessToken) - end - - def oauth? - current_token!=nil - end - - # use in a before_filter - def oauth_required - logger.info "Current_token=#{@current_token.inspect}" - if oauthenticate - logger.info "passed oauthenticate" - if authorized? - logger.info "passed authorized" - return true - else - logger.info "failed authorized" - invalid_oauth_response - end - else - logger.info "failed oauthenticate" - - invalid_oauth_response - end - end - - # This requies that you have an acts_as_authenticated compatible authentication plugin installed - def login_or_oauth_required - if oauthenticate - if authorized? - return true - else - invalid_oauth_response - end - else - login_required - end - end - - - # verifies a request token request - def verify_oauth_consumer_signature - begin - valid = ClientApplication.verify_request(request) do |token, consumer_key| - @current_client_application = ClientApplication.find_by_key(consumer_key) - - # return the token secret and the consumer secret - [nil, @current_client_application.secret] - end - rescue - valid=false - end - - invalid_oauth_response unless valid - end - - def verify_oauth_request_token - verify_oauth_signature && current_token.is_a?(RequestToken) - end - - def invalid_oauth_response(code=401,message="Invalid OAuth Request") - render :text => message, :status => code - end - - private - - def current_token=(token) - @current_token=token - if @current_token - @current_user=@current_token.user - @current_client_application=@current_token.client_application - end - @current_token - end - - # Implement this for your own application using app-specific models - def verify_oauth_signature - begin - valid = ClientApplication.verify_request(request) do |request| - self.current_token = OauthToken.find_token(request.token) - logger.info "self=#{self.class.to_s}" - logger.info "token=#{self.current_token}" - # return the token secret and the consumer secret - [(current_token.nil? ? nil : current_token.secret), (current_client_application.nil? ? nil : current_client_application.secret)] - end - # reset @current_user to clear state for restful_...._authentication - @current_user = nil if (!valid) - valid - rescue - false - end - end - end - end -end diff --git a/vendor/plugins/oauth-plugin/tasks/oauth_tasks.rake b/vendor/plugins/oauth-plugin/tasks/oauth_tasks.rake deleted file mode 100644 index fd2b0e14f..000000000 --- a/vendor/plugins/oauth-plugin/tasks/oauth_tasks.rake +++ /dev/null @@ -1,4 +0,0 @@ -# desc "Explaining what the task does" -# task :oauth do -# # Task goes here -# end diff --git a/vendor/plugins/oauth-plugin/uninstall.rb b/vendor/plugins/oauth-plugin/uninstall.rb deleted file mode 100644 index 973833346..000000000 --- a/vendor/plugins/oauth-plugin/uninstall.rb +++ /dev/null @@ -1 +0,0 @@ -# Uninstall hook code here