require 'net/http'
require 'rexml/document'
+ before_filter :set_locale
+
def search
query = params[:query]
results = Array.new
class SiteController < ApplicationController
- layout 'site',:except => [:key]
+ layout 'site', :except => [:key, :permalink]
before_filter :authorize_web
before_filter :set_locale
render :action => 'index'
end
+ def permalink
+ lon, lat, zoom = ShortLink::decode(params[:code])
+ new_params = params.clone
+ new_params.delete :code
+ if new_params.has_key? :m
+ new_params.delete :m
+ new_params[:mlat] = lat
+ new_params[:mlon] = lon
+ else
+ new_params[:lat] = lat
+ new_params[:lon] = lon
+ end
+ new_params[:zoom] = zoom
+ new_params[:controller] = 'site'
+ new_params[:action] = 'index'
+ redirect_to new_params
+ end
+
def key
expires_in 7.days, :public => true
end
end
def printable_name(object, version=false)
- name = object.id.to_s
+ name = t 'printable_name.with_id', :id => object.id.to_s
if version
- name = "#{name}, v#{object.version.to_s}"
+ name = t 'printable_name.with_version', :id => name, :version => object.version.to_s
end
if object.tags.include? 'name'
- name = "#{object.tags['name'].to_s} (#{name})"
+ name = t 'printable_name.with_name', :name => object.tags['name'].to_s, :id => name
end
return name
end
<tr>
- <td>
- <%= link_to t('browse.containing_relation.relation', :relation_name => h(printable_name(containing_relation.relation))), :action => "relation", :id => containing_relation.relation.id.to_s %>
- <% unless containing_relation.member_role.blank? %>
- <%= t 'browse.containing_relation.relation_as', :relation_role => h(containing_relation.member_role) %>
- <% end %>
- </td>
+ <td><%=
+ linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
+
+ if containing_relation.member_role.blank?
+ t 'browse.containing_relation.entry', :relation_name => linked_name
+ else
+ t 'browse.containing_relation.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
+ end
+ %></td>
</tr>
<div id="small_map" style="width:250px; height: 300px; border: solid 1px black">
</div>
<span id="loading"><%= t 'browse.map.loading' %></span>
- <a id="larger_map" href=""></a>
+ <a id="area_larger_map" href=""></a>
+ <% unless map.instance_of? Changeset %>
+ <br />
+ <a id="object_larger_map" href=""></a>
+ <% end %>
<% else %>
<%= t 'browse.map.deleted' %>
<% end %>
</td>
-<script type="text/javascript">
- OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
-
- function init() {
- var map = createMap("small_map", {
- controls: [ new OpenLayers.Control.Navigation() ]
- });
-
- <% if map.instance_of? Changeset %>
- var minlon = <%= map.min_lon / GeoRecord::SCALE.to_f %>;
- var minlat = <%= map.min_lat / GeoRecord::SCALE.to_f %>;
- var maxlon = <%= map.max_lon / GeoRecord::SCALE.to_f %>;
- var maxlat = <%= map.max_lat / GeoRecord::SCALE.to_f %>;
- var bbox = new OpenLayers.Bounds(minlon, minlat, maxlon, maxlat);
-
- setMapExtent(bbox);
- addBoxToMap(bbox);
+<% if map.instance_of? Changeset or map.visible %>
+ <script type="text/javascript">
+ OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
- $("loading").innerHTML = "";
+ function init() {
+ var map = createMap("small_map", {
+ controls: [ new OpenLayers.Control.Navigation() ]
+ });
- $("larger_map").href = '/?minlon='+minlon+'&minlat='+minlat+'&maxlon='+maxlon+'&maxlat='+maxlat+'&box=yes';
- $("larger_map").innerHTML = "<%= t 'browse.map.view_larger_map' %>";
- <% else %>
- var obj_type = "<%= map.class.name.downcase %>";
- var obj_id = <%= map.id %>;
- var url = "/api/<%= "#{API_VERSION}" %>/<%= map.class.name.downcase %>/<%= map.id %>";
+ <% if map.instance_of? Changeset %>
+ var minlon = <%= map.min_lon / GeoRecord::SCALE.to_f %>;
+ var minlat = <%= map.min_lat / GeoRecord::SCALE.to_f %>;
+ var maxlon = <%= map.max_lon / GeoRecord::SCALE.to_f %>;
+ var maxlat = <%= map.max_lat / GeoRecord::SCALE.to_f %>;
+ var bbox = new OpenLayers.Bounds(minlon, minlat, maxlon, maxlat);
- if (obj_type != "node") {
- url += "/full";
- }
-
- var osm_layer = new OpenLayers.Layer.GML("OSM", url, {
- format: OpenLayers.Format.OSM,
- projection: new OpenLayers.Projection("EPSG:4326")
- });
+ setMapExtent(bbox);
+ addBoxToMap(bbox);
- osm_layer.events.register("loadend", osm_layer, function() {
- $("loading").innerHTML = "";
+ $("loading").innerHTML = "";
- if (this.features.length) {
- var extent = this.features[0].geometry.getBounds();
+ $("area_larger_map").href = '/?minlon='+minlon+'&minlat='+minlat+'&maxlon='+maxlon+'&maxlat='+maxlat+'&box=yes';
+ $("area_larger_map").innerHTML = "<%= t 'browse.map.larger.area' %>";
+ <% else %>
+ var obj_type = "<%= map.class.name.downcase %>";
+ var obj_id = <%= map.id %>;
+ var url = "/api/<%= "#{API_VERSION}" %>/<%= map.class.name.downcase %>/<%= map.id %>";
- for (var i = 1; i < this.features.length; i++) {
- extent.extend(this.features[i].geometry.getBounds());
+ if (obj_type != "node") {
+ url += "/full";
}
- if (extent) {
- this.map.zoomToExtent(extent);
- } else {
- this.map.zoomToMaxExtent();
- }
+ addObjectToMap(url, true, function(extent) {
+ $("loading").innerHTML = "";
- var center = getMapCenter();
- $("larger_map").href = '/?lat='+center.lat+'&lon='+center.lon+'&zoom='+this.map.getZoom();
- $("larger_map").innerHTML = "<%= t 'browse.map.view_larger_map' %>";
- } else {
- $("small_map").style.display = "none";
- }
- });
+ if (extent) {
+ extent.transform(map.getProjectionObject(), map.displayProjection);
- map.addLayer(osm_layer);
+ $("area_larger_map").href = '/?minlon='+extent.left+'&minlat='+extent.bottom+'&maxlon='+extent.right+'&maxlat='+extent.top;
+ $("area_larger_map").innerHTML = "<%= t 'browse.map.larger.area' %>";
- osm_layer.loadGML();
- osm_layer.loaded = true;
- <% end %>
- }
+ <% unless map.instance_of? Changeset %>
+ $("object_larger_map").href = '/?<%= map.class.to_s.downcase %>=<%= map.id %>';
+ $("object_larger_map").innerHTML = "<%= t('browse.map.larger.' + map.class.to_s.downcase) %>";
+ <% end %>
+ } else {
+ $("small_map").style.display = "none";
+ }
+ });
+ <% end %>
+ }
- window.onload = init;
-</script>
+ window.onload = init;
+ </script>
+<% end %>
<tr>
- <td>
- <%= relation_member.member_type.capitalize %>
- <%= link_to h(printable_name(relation_member.member)), :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s %>
- <% unless relation_member.member_role.blank? %>
- <%= t'browse.relation_member.as' %>
- <%= h(relation_member.member_role) %>
- <% end %>
- </td>
+ <td><%=
+ linked_name = link_to h(printable_name(relation_member.member)), :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s
+ type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase
+
+ if relation_member.member_role.blank?
+ t'browse.relation_member.entry', :type => type_str, :name => linked_name
+ else
+ t'browse.relation_member.entry_role', :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
+ end
+ %></td>
</tr>
@name = printable_name @node
@title = t('browse.node_history.node_history') + ' | ' + @name
%>
-<h2>Node History: <%= h(@name) %></h2>
+<h2><%= t'browse.node_history.node_history_title', :node_name => link_to(h(@name), :action => "node", :id => @node.id) %></h2>
<table width="100%">
<tr valign="top">
@name = printable_name @relation
@title = t('browse.relation_history.relation_history') + ' | ' + @name
%>
-<h2><%= t'browse.relation_history.relation_history_title', :relation_name => h(@name) %></h2>
+<h2><%= t'browse.relation_history.relation_history_title', :relation_name => link_to(h(@name), :action => "relation", :id => @relation.id) %></h2>
<table width="100%">
<tr valign="top">
@name = printable_name @way
@title = t('browse.way_history.way_history') + ' | ' + @name
%>
-<h2><%= t'browse.way_history.way_history_title', :way_name => h(@name) %></h2>
+<h2><%= t'browse.way_history.way_history_title', :way_name => link_to(h(@name), :action => "way", :id => @way.id) %></h2>
<table width="100%">
<tr valign="top">
<script type="text/javascript">
<!--
function startSearch() {
- updateSidebar("Search Results", "<p class='search_results_entry'>Searching...<\/p>");
+ updateSidebar("<%= t 'site.sidebar.search_results' %>", "<p class='search_results_entry'><%= t 'site.search.searching' %><\/p>");
$("search_field").style.display = "none";
$("search_active").style.display = "inline";
</noscript>
<div id="map">
-<div id="permalink"><a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a></div>
+ <div id="permalink">
+ <a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a><br/>
+ <a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a>
+ </div>
</div>
<div id="attribution">
<%
if params['mlon'] and params['mlat']
- marker = true
- mlon = h(params['mlon'])
- mlat = h(params['mlat'])
+ marker = true
+ mlon = h(params['mlon'])
+ mlat = h(params['mlat'])
+end
+
+if params['node'] or params['way'] or params['relation']
+ object = true
+ object_zoom = true
+
+ if params['node']
+ object_type = 'node'
+ object_id = h(params['node'])
+ elsif params['way']
+ object_type = 'way'
+ object_id = h(params['way'])
+ elsif params['relation']
+ object_type = 'relation'
+ object_id = h(params['relation'])
+ end
end
if params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat']
- bbox = true
- minlon = h(params['minlon'])
- minlat = h(params['minlat'])
- maxlon = h(params['maxlon'])
- maxlat = h(params['maxlat'])
- box = true if params['box']=="yes"
+ bbox = true
+ minlon = h(params['minlon'])
+ minlat = h(params['minlat'])
+ maxlon = h(params['maxlon'])
+ maxlat = h(params['maxlat'])
+ box = true if params['box']=="yes"
+ object_zoom = false
end
# Decide on a lat lon to initialise the map with. Various ways of doing this
-if params['lon'] and params['lat']
- lon = h(params['lon'])
- lat = h(params['lat'])
- zoom = h(params['zoom'] || '5')
- layers = h(params['layers'])
-
+if params['lon'] and params['lat']
+ lon = h(params['lon'])
+ lat = h(params['lat'])
+ zoom = h(params['zoom'] || '5')
+ layers = h(params['layers'])
+ object_zoom = false
elsif params['mlon'] and params['mlat']
- lon = h(params['mlon'])
- lat = h(params['mlat'])
- zoom = h(params['zoom'] || '12')
- layers = h(params['layers'])
-
+ lon = h(params['mlon'])
+ lat = h(params['mlat'])
+ zoom = h(params['zoom'] || '12')
+ layers = h(params['layers'])
+ object_zoom = false
elsif cookies.key?("_osm_location")
- lon,lat,zoom,layers = cookies["_osm_location"].split("|")
-
+ lon,lat,zoom,layers = cookies["_osm_location"].split("|")
elsif @user and !@user.home_lon.nil? and !@user.home_lat.nil?
- lon = @user.home_lon
- lat = @user.home_lat
- zoom = '10'
+ lon = @user.home_lon
+ lat = @user.home_lat
+ zoom = '10'
else
- session[:location] = OSM::IPLocation(request.env['REMOTE_ADDR']) unless session[:location]
-
- if session[:location]
- bbox = true
- minlon = session[:location][:minlon]
- minlat = session[:location][:minlat]
- maxlon = session[:location][:maxlon]
- maxlat = session[:location][:maxlat]
- else
- lon = '-0.1'
- lat = '51.5'
- zoom = h(params['zoom'] || '5')
- end
- layers = h(params['layers'])
+ session[:location] = OSM::IPLocation(request.env['REMOTE_ADDR']) unless session[:location]
+
+ if session[:location]
+ bbox = true
+ minlon = session[:location][:minlon]
+ minlat = session[:location][:minlat]
+ maxlon = session[:location][:maxlon]
+ maxlat = session[:location][:maxlat]
+ else
+ lon = '-0.1'
+ lat = '51.5'
+ zoom = h(params['zoom'] || '5')
+ end
+
+ layers = h(params['layers'])
end
%>
<%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
<%= javascript_include_tag 'map.js' %>
-
<script type="text/javascript" defer="defer">
<!--
var brokenContentSize = $("content").offsetWidth == 0;
map = createMap("map");
<% unless OSM_STATUS == :api_offline or OSM_STATUS == :database_offline %>
- map.dataLayer = new OpenLayers.Layer("<%= I18n.t 'browse.start_rjs.data_layer_name' %>", { "visibility": false });
- map.dataLayer.events.register("visibilitychanged", map.dataLayer, toggleData);
- map.addLayer(map.dataLayer);
+ map.dataLayer = new OpenLayers.Layer("<%= I18n.t 'browse.start_rjs.data_layer_name' %>", { "visibility": false });
+ map.dataLayer.events.register("visibilitychanged", map.dataLayer, toggleData);
+ map.addLayer(map.dataLayer);
<% end %>
- <% if bbox %>
- var bbox = new OpenLayers.Bounds(<%= minlon %>, <%= minlat %>, <%= maxlon %>, <%= maxlat %>);
+ <% unless object_zoom %>
+ <% if bbox %>
+ var bbox = new OpenLayers.Bounds(<%= minlon %>, <%= minlat %>, <%= maxlon %>, <%= maxlat %>);
- setMapExtent(bbox);
- <% if box %>
- // IE requires Vector layers be initialised on page load, and not under deferred script conditions
- Event.observe(window, 'load', function() {addBoxToMap(bbox)});
- <% end %>
- <% else %>
- var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
- var zoom = <%= zoom %>;
+ setMapExtent(bbox);
- <% if params['scale'] and params['scale'].length > 0 then %>
- zoom = scaleToZoom(<%= params['scale'].to_f() %>);
- <% end %>
+ <% if box %>
+ // IE requires Vector layers be initialised on page load, and not under deferred script conditions
+ Event.observe(window, 'load', function() { addBoxToMap(bbox) });
+ <% end %>
+ <% else %>
+ var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
+ var zoom = <%= zoom %>;
- setMapCenter(centre, zoom);
+ <% if params['scale'] and params['scale'].length > 0 then %>
+ zoom = scaleToZoom(<%= params['scale'].to_f() %>);
+ <% end %>
+
+ setMapCenter(centre, zoom);
+ <% end %>
+
+ updateLocation();
<% end %>
<% if !layers.nil? and !layers.empty? %>
- setMapLayers("<%= layers %>");
+ setMapLayers("<%= layers %>");
<% end %>
<% if marker %>
- marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>));
+ marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>));
+ <% end %>
+
+ <% if object %>
+ var url = "/api/<%= "#{API_VERSION}" %>/<%= object_type %>/<%= object_id %>";
+
+ <% if object_type != "node" %>
+ url += "/full";
+ <% end %>
+
+ addObjectToMap(url, <%= object_zoom %>);
<% end %>
map.events.register("moveend", map, updateLocation);
map.events.register("changelayer", map, updateLocation);
- updateLocation();
handleResize();
}
var layers = getMapLayers();
var extents = getMapExtent();
var expiry = new Date();
+ var objtype;
+ var objid;
+
+ <% if object %>
+ objtype = "<%= object_type %>";
+ objid = <%= object_id %>;
+ <% end %>
- updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top);
+ updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, objtype, objid);
expiry.setYear(expiry.getFullYear() + 10);
document.cookie = "_osm_location=" + lonlat.lon + "|" + lonlat.lat + "|" + zoom + "|" + layers + "; expires=" + expiry.toGMTString();
<%= image_tag "key/#{name}/#{entry['image']}" %>
</td>
<td class="mapkey-table-value">
- <%= t "site.key.table.entry.#{entry['name']}" %>
+ <%= [*t("site.key.table.entry.#{entry['name']}")].to_sentence %>
</td>
</tr>
<% end %>
+++ /dev/null
-module ActionView
- module Helpers
- module AssetTagHelper
- def rewrite_asset_path!(source)
- asset_id = rails_asset_id(source)
- source << "/#{asset_id}" if !asset_id.blank?
- end
- end
- end
-end
- { min_zoom: 15, max_zoom: 18, name: permissive, image: permissive.png }
- { min_zoom: 15, max_zoom: 18, name: destination, image: destination.png }
- { min_zoom: 12, max_zoom: 18, name: construction, image: construction.png }
+
+osmarender:
+ - { min_zoom: 0, max_zoom: 18, name: motorway, image: motorway.png }
version: "Версія:"
in_changeset: "У наборы зменаў:"
containing_relation:
- relation: "Сувязь {{relation_name}}"
- relation_as: "(як {{relation_role}})"
+ entry: "Сувязь {{relation_name}}"
+ entry_role: "Сувязь {{relation_name}} (як {{relation_role}})"
map:
loading: "Загрузка..."
deleted: "Выдалены"
- view_larger_map: "Прагледзець большую карту"
node_details:
coordinates: "Каардынаты: "
part_of: "Частка:"
relation_history:
relation_history: "Гісторыя сувязі"
relation_history_title: "Гісторыя сувязі: {{relation_name}}"
- relation_member:
- as: "як"
relation:
relation: "Сувязь"
relation_title: "Сувязь: {{relation_name}}"
version: "Versió"
in_changeset: "Al conjunt de canvis:"
containing_relation:
- relation: "Relació {{relation_name}}"
- relation_as: "(com a {{relation_role}})"
+ entry: "Relació {{relation_name}}"
+ entry_role: "Relació {{relation_name}} (com a {{relation_role}})"
map:
loading: "Carregant..."
deleted: "Esborrat"
- view_larger_map: "Veure el mapa més gran"
node_details:
coordinates: "Coordenades:"
part_of: "Part de:"
relation_history:
relation_history: "Historial de la relació"
relation_history_title: "Historial de la relació: {{relation_name}}"
- relation_member:
- as: "com a"
relation:
relation: "Relació"
relation_title: "Relació: {{relation_name}}"
description: "Beschreibung"
languages: "Sprachen"
pass_crypt: "Passwort"
+ printable_name:
+ with_id: "{{id}}"
+ with_version: "{{id}}, v{{version}}"
+ with_name: "{{name}} ({{id}})"
map:
view: Karte
edit: Bearbeiten
version: "Version:"
in_changeset: "Im Changeset:"
containing_relation:
- relation: "Relation {{relation_name}}"
- relation_as: "(als {{relation_role}})"
+ entry: "Relation {{relation_name}}"
+ entry_role: "Relation {{relation_name}} (als {{relation_role}})"
map:
loading: "Laden..."
deleted: "Gelöscht"
- view_larger_map: "Größere Karte anzeigen"
+ larger:
+ area: "Bereich größerer Karte"
+ node: "Knoten auf größerer Karte"
+ way: "Weg auf größerer Karte"
+ relation: "Relation auf größerer Karte"
node_details:
coordinates: "Koordinaten: "
part_of: "Teil von:"
node_history:
node_history: "Knoten-Chronik"
+ node_history_title: "Knoten-Chronik: {{node_name}}"
download: "{{download_xml_link}} oder {{view_details_link}}"
download_xml: "XML herunterladen"
view_details: "Detailseite anzeigen"
relation_history: "Relations-Chronik"
relation_history_title: "Relations-Chronik: {{relation_name}}"
relation_member:
- as: "des Typs"
+ entry: "{{type}} {{name}}"
+ entry_role: "{{type}} {{name}} als {{role}}"
+ type:
+ node: "Knoten"
+ way: "Weg"
+ relation: "Relation"
relation:
relation: "Relation"
relation_title: "Relation: {{relation_name}}"
donate_link_text: Spende
help_wiki: "Hilfe & Wiki"
help_wiki_tooltip: "Hilfe & Wiki; Wiki des Projekts"
- help_wiki_url: "http://wiki.openstreetmap.org/wiki/Hauptseite"
+ help_wiki_url: "http://wiki.openstreetmap.org/index.php?title=Hauptseite&uselang=de"
news_blog: "News-Blog"
news_blog_tooltip: "News-Blog über OpenStreetMap, freie geographische Daten, etc."
shop: Shop
js_2: "OpenStreetMap nutzt Javascript für die Kartendarstellung."
js_3: 'Solltest bei dir kein Javascript möglich sein, kannst du auf der <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home Website</a> eine Version ohne Javascript benutzen.'
permalink: Permalink
+ shortlink: Shortlink
license:
notice: "Lizenziert unter {{license_name}} Lizenz durch das {{project_name}} und seine Mitwirkenden."
license_name: "Creative Commons Attribution-Share Alike 2.0"
footway: "Fussweg"
rail: "Eisenbahn"
subway: "U-Bahn"
- tram: "Straßenbahn, Stadtbahn"
- cable: "Seilbahn"
- runway: "Start-/Landebahn, Rollfeld"
- apron: "Vorfeld, Flughafengebäude"
+ tram:
+ - Light rail
+ - tram
+ cable:
+ - Cable car
+ - chair lift
+ runway:
+ - Airport Runway
+ - taxiway
+ apron:
+ - Airport apron
+ - terminal
admin: "Landesgrenzen, sonstige Grenzen"
forest: "Forst"
wood: "Naturwald"
park: "Park"
resident: "Wohngebiet"
tourist: "Touristenattraktion"
- common: "Wiese, Grünfläche"
+ common:
+ - Common
+ - meadow
retail: "Einkaufszentrum"
industrial: "Industriegebiet"
commercial: "Gewerbegebiet"
heathland: "Heide"
- lake: "See, Stausee"
+ lake:
+ - Lake
+ - reservoir
farm: "Landwirtschaft"
brownfield: "Brachland"
cemetery: "Friedhof"
school: "Schule, Universität"
building: "Besonderes Gebäude"
station: "Bahnhof"
- summit: "Gipfel, Bergspitze"
+ summit:
+ - Summit
+ - peak
tunnel: "Gestrichelter Rand = Tunnel"
bridge: "Dicker Rand = Brücke"
private: "Privater Zugang"
edit: "bearbeiten"
owner: "Besitzer:"
description: "Beschreibung:"
- tags: "Tags"
+ tags: "Tags:"
none: "Keine"
make_public: "Mache diesen Track öffentlich"
edit_track: "Diesen Track bearbeiten"
public editing:
heading: "Öffentliches Bearbeiten: "
enabled: "Aktiviert. Nicht anonym, bearbeiten der Kartendaten möglich."
- enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
+ enabled link: "http://wiki.openstreetmap.org/wiki/Anonymous_edits"
enabled link text: "Was ist das?"
disabled: "Deaktiviert, bearbeiten von Daten nicht möglich, alle bisherigen Bearbeitungen sind anonym."
disabled link text: "Warum kann ich nichts bearbeiten?"
map:
loading: "Φόρτωση..."
deleted: "Διαγραφή"
- view_larger_map: "Δες μεγαλύτερο χάρτη"
node_details:
coordinates: "Συντεταγμένες: "
part_of: "Κομμάτι του:"
relation_history:
relation_history: "Ιστορια σχέσης"
relation_history_title: "Ιστορια σχέσης: {{relation_name}}"
- relation_member:
- as: "as"
relation:
relation: "Σχέση"
relation_title: "Σχέση: {{relation_name}}"
description: "Description"
languages: "Languages"
pass_crypt: "Password"
+ printable_name:
+ with_id: "{{id}}"
+ with_version: "{{id}}, v{{version}}"
+ with_name: "{{name}} ({{id}})"
map:
view: View
edit: Edit
version: "Version:"
in_changeset: "In changeset:"
containing_relation:
- relation: "Relation {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "Relation {{relation_name}}"
+ entry_role: "Relation {{relation_name}} (as {{relation_role}})"
map:
loading: "Loading..."
deleted: "Deleted"
- view_larger_map: "View Larger Map"
+ larger:
+ area: "View area on larger map"
+ node: "View node on larger map"
+ way: "View way on larger map"
+ relation: "View relation on larger map"
node_details:
coordinates: "Coordinates: "
part_of: "Part of:"
node_history:
node_history: "Node History"
+ node_history_title: "Node History: {{node_name}}"
download: "{{download_xml_link}} or {{view_details_link}}"
download_xml: "Download XML"
view_details: "view details"
relation_history: "Relation History"
relation_history_title: "Relation History: {{relation_name}}"
relation_member:
- as: "as"
+ entry: "{{type}} {{name}}"
+ entry_role: "{{type}} {{name}} as {{role}}"
+ type:
+ node: "Node"
+ way: "Way"
+ relation: "Relation"
relation:
relation: "Relation"
relation_title: "Relation: {{relation_name}}"
js_2: "OpenStreetMap uses javascript for its slippy map."
js_3: 'You may want to try the <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home static tile browser</a> if you are unable to enable javascript.'
permalink: Permalink
+ shortlink: Shortlink
license:
notice: "Licensed under the {{license_name}} license by the {{project_name}} and its contributors."
license_name: "Creative Commons Attribution-Share Alike 2.0"
footway: "Footway"
rail: "Railway"
subway: "Subway"
- tram: "Light rail; tram"
- cable: "Cable car; chair lift"
- runway: "Airport Runway; taxiway"
- apron: "Airport apron; terminal"
+ tram:
+ - Light rail
+ - tram
+ cable:
+ - Cable car
+ - chair lift
+ runway:
+ - Airport Runway
+ - taxiway
+ apron:
+ - Airport apron
+ - terminal
admin: "Administrative boundary"
forest: "Forest"
wood: "Wood"
park: "Park"
resident: "Residential area"
tourist: "Tourist attraction"
- common: "Common; meadow"
+ common:
+ - Common
+ - meadow
retail: "Retail area"
industrial: "Industrial area"
commercial: "Commercial area"
heathland: "Heathland"
- lake: "Lake; reservoir"
+ lake:
+ - Lake
+ - reservoir
farm: "Farm"
brownfield: "Brownfield site"
cemetery: "Cemetery"
school: "School; university"
building: "Significant building"
station: "Railway station"
- summit: "Summit; peak"
+ summit:
+ - Summit
+ - peak
tunnel: "Dashed casing = tunnel"
bridge: "Black casing = bridge"
private: "Private access"
edit: "edit"
owner: "Owner:"
description: "Description:"
- tags: "Tags"
+ tags: "Tags:"
none: "None"
make_public: "Make this track public permanently"
edit_track: "Edit this track"
public editing:
heading: "Public editing: "
enabled: "Enabled. Not anonymous and can edit data."
- enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
+ enabled link: "http://wiki.openstreetmap.org/wiki/Anonymous_edits"
enabled link text: "what's this?"
disabled: "Disabled and cannot edit data, all previous edits are anonymous."
disabled link text: "why can't I edit?"
version: "Versión:"
in_changeset: "En el conjunto de cambios:"
containing_relation:
- relation: "Relación {{relation_name}}"
- relation_as: "(como {{relation_role}})"
+ entry: "Relación {{relation_name}}"
+ entry_role: "Relación {{relation_name}} (como {{relation_role}})"
map:
loading: "Cargando..."
deleted: "Borrado"
- view_larger_map: "Ver mapa más grande"
node_details:
coordinates: "Coordenadas"
part_of: "Parte de:"
relation_history:
relation_history: "Historial de la relación"
relation_history_title: "Historial de la relación {{relation_name}}:"
- relation_member:
- as: "como"
relation:
relation: "Relación"
relation_title: "Relación {{relation_name}}:"
version: "Version :"
in_changeset: "Dans le changeset :"
containing_relation:
- relation: "Relation {{relation_name}}"
- relation_as: "(en tant que {{relation_role}})"
+ entry: "Relation {{relation_name}}"
+ entry_role: "Relation {{relation_name}} (en tant que {{relation_role}})"
map:
loading: "Chargement..."
deleted: "Effacé"
- view_larger_map: "Agrandir la carte"
node_details:
part_of: "Faisant partie de:"
node_history:
version: "Version:"
in_changeset: "In changeset:"
containing_relation:
- relation: "Relation {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "Relation {{relation_name}}"
+ entry_role: "Relation {{relation_name}} (as {{relation_role}})"
map:
loading: "Loading..."
deleted: "Deleted"
- view_larger_map: "View Larger Map"
node_details:
coordinates: "Coordinates: "
part_of: "Part of:"
relation_history:
relation_history: "Relation History"
relation_history_title: "Relation History: {{relation_name}}"
- relation_member:
- as: "as"
relation:
relation: "Relation"
relation_title: "Relation: {{relation_name}}"
version: "संस्करण:"
in_changeset: "इस changeset का अंग:"
containing_relation:
- relation: "संबंध {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "संबंध {{relation_name}}"
+ entry_role: "संबंध {{relation_name}} (as {{relation_role}})"
map:
loading: "Loading..."
deleted: "मिटा दिया गया है"
- view_larger_map: "नक्शे के व्यापक दृष्टिकोण"
node_details:
coordinates: "निर्देशांक:"
part_of: "इन रास्तो का हिस्सा:"
relation_history:
relation_history: "संबंध का इतिहास"
relation_history_title: "इस संबंध का इतिहास: {{relation_name}}"
- relation_member:
- as: "जैसे"
relation:
relation: "संबंध"
relation_title: "संबंध: {{relation_name}}"
activerecord:
# Translates all the model names, which is used in error handling on the web site
models:
- acl: "Access Control List"
- changeset: "Changeset"
- changeset_tag: "Changeset Tag"
- country: "Country"
- diary_comment: "Diary Comment"
- diary_entry: "Diary Entry"
- friend: "Friend"
- language: "Language"
- message: "Message"
- node: "Node"
- node_tag: "Node Tag"
- notifier: "Notifier"
- old_node: "Old Node"
- old_node_tag: "Old Node Tag"
- old_relation: "Old Relation"
- old_relation_member: "Old Relation Member"
- old_relation_tag: "Old Relation Tag"
- old_way: "Old Way"
- old_way_node: "Old Way Node"
- old_way_tag: "Old Way Tag"
- relation: "Relation"
- relation_member: "Relation Member"
- relation_tag: "Relation Tag"
- session: "Session"
- trace: "Trace"
- tracepoint: "Trace Point"
- tracetag: "Trace Tag"
- user: "User"
- user_preference: "User Preference"
- user_token: "User Token"
- way: "Way"
- way_node: "Way Node"
- way_tag: "Way Tag"
+ acl: "Aðgangslisti"
+ changeset: "Breytingarsett"
+ changeset_tag: "Eigindi breytingarsetts"
+ country: "Land"
+ diary_comment: "Bloggathugasemd"
+ diary_entry: "Bloggfærsla"
+ friend: "Vinur"
+ language: "Tungumál"
+ message: "Skilaboð"
+ node: "Hnútur"
+ node_tag: "Eigindi hnúts"
+ notifier: "Tilkynnandi"
+ old_node: "Gamall hnútur"
+ old_node_tag: "Eigindi gamals hnúts"
+ old_relation: "Gömul vensl"
+ old_relation_member: "Stak í gömlum venslum"
+ old_relation_tag: "Eigindi gamalla vensla"
+ old_way: "Gamall vegur"
+ old_way_node: "Hnútur í gömlum vegi"
+ old_way_tag: "Eigindi gamals vegs Tag"
+ relation: "Vensl"
+ relation_member: "Stak í venslum"
+ relation_tag: "Eigindi vensla"
+ session: "Seta"
+ trace: "Ferill"
+ tracepoint: "Ferilpunktur"
+ tracetag: "Eigindi ferils"
+ user: "Notandi"
+ user_preference: "Notandastillingar"
+ user_token: "Leynistrengur notanda"
+ way: "Vegur"
+ way_node: "Veghnútur"
+ way_tag: "Vegeigindi"
# Translates all the model attributes, which is used in error handling on the web site
# Only the ones that are used on the web site are translated at the moment
attributes:
diary_comment:
- body: "Body"
+ body: "Texit"
diary_entry:
- user: "User"
- title: "Title"
- latitude: "Latitude"
- longitude: "Longitude"
- language: "Language"
+ user: "Notandi"
+ title: "Titill"
+ latitude: "Lengdargráða"
+ longitude: "Breiddargráða"
+ language: "Tungumál"
friend:
- user: "User"
- friend: "Friend"
+ user: "Notandi"
+ friend: "Vinur"
trace:
- user: "User"
- visible: "Visible"
- name: "Name"
- size: "Size"
- latitude: "Latitude"
- longitude: "Longitude"
- public: "Public"
+ user: "Notandi"
+ visible: "Sýnileg"
+ name: "Nafn"
+ size: "Stærð"
+ latitude: "Lengdargráða"
+ longitude: "Breiddargráða"
+ public: "Sýnileg öllum"
description: "Lýsing"
message:
- sender: "Sender"
- title: "Title"
- body: "Body"
- recipient: "Recipient"
+ sender: "Sendandi"
+ title: "Titill"
+ body: "Texti"
+ recipient: "Móttakandi"
user:
email: "Netfang"
- active: "Active"
- display_name: "Display Name"
- description: "Description"
+ active: "Virkur"
+ display_name: "Sýnilegt nafn"
+ description: "Lýsing"
languages: "Tungumál"
pass_crypt: "Lykilorð"
+ printable_name:
+ with_id: "{{id}}"
+ with_version: "{{id}}, útgáfa {{version}}"
+ with_name: "{{name}} ({{id}})"
map:
view: "Kort"
edit: "Breyta"
changeset:
title: "Breytingarsett"
changeset: "Breytingarsett:"
- download: "Niðurhala breytingunni á {{changeset_xml_link}} sniði eða á {{osmchange_xml_link}} sniði"
- changesetxml: "Breytingarsetts XML"
- osmchangexml: "osmChange XML"
+ download: "Niðurhala breytingunni á {{changeset_xml_link}} eða á {{osmchange_xml_link}}"
+ changesetxml: "Breytingarsetts XML sniði"
+ osmchangexml: "osmChange XML sniði"
changeset_navigation:
user:
name: "{{user}}"
version: "Útgáfa:"
in_changeset: "Í breytingarsetti:"
containing_relation:
- relation: "Venslunum „{{relation_name}}“"
- relation_as: "(sem {{relation_role}})"
+ entry: "Venslunum {{relation_name}}"
+ entry_role: "Venslunum {{relation_name}} (sem „{{relation_role}}“)"
map:
loading: "Hleð..."
deleted: "Eytt"
- view_larger_map: "Skoða á stærra korti"
+ larger:
+ area: "Skoða þetta svæði á stærra korti"
+ node: "Skoða þennan hnút á stærra korti"
+ way: "Skoða þennan veg á stærra korti"
+ relation: "Skoða þessi vensl á stærra korti"
node_details:
coordinates: "Hnit: "
part_of: "Hluti af:"
node_history:
node_history: "Breytingarskrá hnúts"
+ node_history_title: "Breytingarskrá hnúts: {{node_name}}"
download: "{{download_xml_link}} eða {{view_details_link}}"
download_xml: "Hala niður á XML sniði"
view_details: "sýna breytingarsögu"
relation_history: "Breytingarskrá vensla "
relation_history_title: "Breytingarskrá vensla: {{relation_name}}"
relation_member:
- as: "sem"
+ entry: "{{type}} {{name}}"
+ entry_role: "{{type}} {{name}} sem „{{role}}“"
+ type:
+ node: "Hnúturinn"
+ way: "Vegurinn"
+ relation: "Venslin"
relation:
relation: "Vensl"
relation_title: "Vensl: {{relation_name}}"
download_xml: "Hala niður á XML sniði"
view_details: "sýna breytingarsögu"
way:
- way: "Veginum"
+ way: "Vegur"
way_title: "Vegur: {{way_name}}"
download: "{{download_xml_link}} eða {{view_history_link}} eða {{edit_link}}"
download_xml: "Hala niður á XML sniði"
heading: "Notandinn {{user}} er ekki til"
body: "Það er ekki til notandi með nafninu {{user}}. Kannski slóstu nafnið rangt inn eða fylgdir ógildum tengli."
diary_entry:
- posted_by: "Sett inn af {{link_user}} klukkan {{created}} á {{language_link}}"
+ posted_by: "Sett inn af {{link_user}} {{created}} á {{language_link}}"
comment_link: "Bæta við athugasemd"
reply_link: "Senda höfund skilaboð"
comment_count:
click_add_marker: "Smelltu á kortið til að bæta við punkti"
change_marker: "Breyta staðsetningu punktsins"
add_marker: "Bæta við punkt á kortið"
- view_larger_map: "View Larger Map"
+ view_larger_map: "Skoða á stærra korti"
geocoder:
results:
results: "Niðurstöður"
intro_3_bytemark: "bytemark"
osm_offline: "OpenStreetMap gagnagrunnurinn er niðri vegna viðhalds."
osm_read_only: "Ekki er hægt að skrifa í OpenStreetMap gagnagrunninn í augnablikinu vegna viðhalds."
- donate: "Support OpenStreetMap by {{link}} to the Hardware Upgrade Fund."
- donate_link_text: donating
+ donate: "Hjálpaðu OpenStreetMap verkefninu með {{link}} í vélbúnaðarsjóðinn."
+ donate_link_text: "fjárframlagi"
help_wiki: "Hjálp & Wiki"
help_wiki_tooltip: "Hjálpar og wiki-síða fyrir verkefnið"
- help_wiki_url: "http://wiki.openstreetmap.org"
+ help_wiki_url: "http://wiki.openstreetmap.org/index.php?title=Fors%C3%AD%C3%B0a&uselang=is"
news_blog: "Fréttablogg"
news_blog_tooltip: "Blogg um OpenStreetMap, frjáls kortagögn o.fl."
shop: "Verslun"
shop_tooltip: Verslun með vörum tengdum OpenStreetMap
- shop_url: http://wiki.openstreetmap.org/wiki/Merchandise
- sotm: 'Come to the 2009 OpenStreetMap Conference, The State of the Map, July 10-12 in Amsterdam!'
+ shop_url: "http://wiki.openstreetmap.org/index.php?title=Merchandise&uselang=is"
+ sotm: 'Komdu á „State of the map“ - OpenStreetMap ráðstefnuna sem verður haldin 10. - 12. júlí 2009 í Amsterdam!'
alt_donation: "Fjárframlagssíða"
notifier:
diary_comment_notification:
had_added_you: "Notandinn {{user}} hefur bætt þér við sem vini á OpenStreetMap."
see_their_profile: "Þú getur séð notandasíðu notandans á {{userurl}} og jafnvel bætt honum við sem vini líka."
gpx_notification:
- greeting: "Hi,"
- your_gpx_file: "It looks like your GPX file"
- with_description: "with the description"
- and_the_tags: "and the following tags:"
- and_no_tags: "and no tags."
+ greeting: "Hæ,"
+ your_gpx_file: "GPX skráin þín"
+ with_description: "með lýsinguna:"
+ and_the_tags: "og eftirfarandi tögg:"
+ and_no_tags: "og engin tögg."
failure:
- subject: "[OpenStreetMap] GPX Import failure"
- failed_to_import: "failed to import. Here's the error:"
- more_info_1: "More information about GPX import failures and how to avoid"
- more_info_2: "them can be found at:"
- import_failures_url: "http://wiki.openstreetmap.org/wiki/GPX_Import_Failures"
+ subject: "[OpenStreetMap] Villa við að flytja inn GPX skrá"
+ failed_to_import: "Lenti í villu þegar átti að flytja hana inn, hérna er villan::"
+ more_info_1: "Frekari upplýsinagr um GPX innflutningarvillur og hvernig"
+ more_info_2: "má forðast þær er að finna hér::"
+ import_failures_url: "http://wiki.openstreetmap.org/index.php?title=FAQ&uselang=is#Why_didn.27t_my_GPX_file_upload_properly.3F"
success:
- subject: "[OpenStreetMap] GPX Import success"
- loaded_successfully: |
- loaded successfully with {{trace_points}} out of a possible
- {{possible_points}} points.
+ subject: "[OpenStreetMap] GPX skrá innflutt"
+ loaded_successfully: "var innflutt með {{trace_points}} punkta af {{possible_points}} mögulegum."
signup_confirm:
subject: "[OpenStreetMap] Staðfestu netfangið þitt"
signup_confirm_plain:
- greeting: "Hi there!"
- hopefully_you: "Someone (hopefully you) would like to create an account over at"
+ greeting: "Hæ!"
+ hopefully_you: "Einhver (vonandi þú) vill búa til notanda á þessari vefsíðu:"
# next two translations run-on : please word wrap appropriately
- click_the_link_1: "If this is you, welcome! Please click the link below to confirm your"
- click_the_link_2: "account and read on for more information about OpenStreetMap."
- introductory_video: "You can watch an introductory video to OpenStreetMap here:"
- more_videos: "There are more videos here:"
- the_wiki: "Get reading about OpenStreetMap on the wiki:"
- the_wiki_url: "http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"
- opengeodata: "OpenGeoData.org is OpenStreetMap's blog, and it has podcasts too:"
- 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"
+ click_the_link_1: "Ef þetta ert þú þá vertu velkomin(n)! vinsamlegast fylgdu tenglinum til að staðfesta"
+ click_the_link_2: "reikningin þinn og haltu áfrám að lesa til að fá frekari upplýsingar um OpenStreetMap."
+ introductory_video: "Þú getur horft á kynningarmyndband um OpenStreetMap hér:"
+ more_videos: "Og fleiri kynningarmyndbönd er að finna hér:"
+ the_wiki: "Þú getur lesið um OpenStreetMap verkefnið á wiki-síðunni okkar:"
+ the_wiki_url: "http://wiki.openstreetmap.org/index.php?uselang=is&title=Beginners%27_Guide"
+ opengeodata: "OpenGeoData.org er aðal-OpenStreetMap bloggið, þar er líka hljóðvarp:"
+ wiki_signup: "Kannski viltu einnig skrá þig á wiki-síðuna:"
+ wiki_signup_url: "http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=Fors%C3%AD%C3%B0a&uselang=is"
# next four translations are in pairs : please word wrap appropriately
- user_wiki_1: "It is recommended that you create a user wiki page, which includes"
- user_wiki_2: "category tags noting where you are, such as [[Category:Users_in_London]]."
- current_user_1: "A list of current users in categories, based on where in the world"
- current_user_2: "they are, is available from:"
+ user_wiki_1: "Það er mælt með því að þú búir til notandasíðu á wiki-inu"
+ user_wiki_2: "og takir fram hvar þú ert, t.d. með því að bæta við á hana [[Category:Users_in_Iceland]]."
+ current_user_1: "Í flokkakerfinu getur þú séð hvar í heiminum OpenStreetMap notendur eru."
+ current_user_2: "Hér er tengill á rótina á notendaflokkunum:"
signup_confirm_html:
- greeting: "Hi there!"
- hopefully_you: "Someone (hopefully you) would like to create an account over at"
- click_the_link: "If this is you, welcome! Please click the link below to confirm that account and read on for more information about OpenStreetMap"
- introductory_video: "You can watch an {{introductory_video_link}}."
- video_to_openstreetmap: "introductory video to OpenStreetMap"
- more_videos: "There are {{more_videos_link}}."
- more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
- wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
- user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
- current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
+ greeting: "Hæ!"
+ hopefully_you: "Einhver (vonandi þú) vill búa til notanda á þessari vefsíðu:"
+ click_the_link: "Ef þetta ert þú þá vertu velkomin(n)! vinsamlegast fylgdu tenglinum til að staðfesta reikningin þinn og haltu áfrám að lesa til að fá frekari upplýsingar um OpenStreetMap."
+ introductory_video: "Þú getur horft á {{introductory_video_link}}."
+ video_to_openstreetmap: "kynningarmyndband um OpenStreetMap"
+ more_videos: "Fleiri myndbönd er {{more_videos_link}}."
+ more_videos_here: "hægt að finna hér"
+ get_reading: 'Þú getur lesið um OpenStreetMap verkefnið á <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Beginners%27_Guide">wiki-síðunni okkar</p> eða <a href="http://www.opengeodata.org/">OpenGeoData blogginu</a> þar sem einnig er að finna <a href="http://www.opengeodata.org/?cat=13">hljóðvarp</a>.'
+ wiki_signup: 'Kannski viltu einnig <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">skrá þig á wiki-síðuna</a>.'
+ user_wiki_page: 'Það er mælt með því að þú búir ttil notandasíðu á wiki-inu þar sem tengt er í flokk sem gefur til kynna hvar þú ert, t.d. <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Category:Users_in_Iceland">[[Category:Users_in_Iceland]]</a>.'
+ current_user: 'Í flokkakerfinu getur þú einnig séð <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Category:Users_by_geographical_region"> hvar í heiminum OpenStreetMap notendur</a> eru staðsettir.'
email_confirm:
subject: "[OpenStreetMap] Staðfestu netfangið þitt"
email_confirm_plain:
hopefully_you_2: "{{server_url}} í {{new_address}}."
click_the_link: "Ef þú óskaðir eftir þessari breytingu fylgdu tenglinum hér fyrir neðan til að staðfesta breytinguna."
email_confirm_html:
- greeting: "Hi,"
+ greeting: "Hæ,"
hopefully_you: "Einhver (vonandi þú) vill breyta netfanginu sínu á {{server_url}} í {{new_address}}."
click_the_link: "Ef þú óskaðir eftir þessari breytingu fylgdu tenglinum hér fyrir neðan til að staðfesta breytinguna."
lost_password:
js_2: "OpenStreetMap notar JavaScript til að útfæra gagnvirk kort."
js_3: 'Þú getur einnig notað <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home kortasýnina</a> sem krefst ekki JavaScript stuðnings.'
permalink: "Varanlegur tengill"
+ shortlink: "Varanlegur smátengill"
license:
notice: "Gefið út undir {{license_name}} leyfinu af þáttakendum í {{project_name}}."
license_name: "Creative Commons Attribution-Share Alike 2.0"
project_name: "OpenStreetMap verkefninu"
project_url: "http://openstreetmap.org"
edit:
- not_public: "You haven't set your edits to be public."
- not_public_description: "You can no longer edit the map unless you do so. You can set your edits as public from your {{user_page}}."
- user_page_link: user page
+ not_public: "Þú hefur ekki merkt breytingar þínar sem opinberar."
+ not_public_description: "Þú getur ekki lengur gert breytingar nema þær séu merktar opinberar, þú getur breytt þeim stillingum á {{user_page}}."
+ user_page_link: notandasíðunni þinni
anon_edits: "({{link}})"
- anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
- anon_edits_link_text: "Find out why this is the case."
- flash_player_required: 'You need a Flash player to use Potlatch, the OpenStreetMap Flash editor. You can <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">download Flash Player from Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Several other options</a> are also available for editing OpenStreetMap.'
- potlatch_unsaved_changes: "You have unsaved changes. (To save in Potlatch, you should deselect the current way or point, if editing in list mode, or click save if you have a save button.)"
+ anon_edits_link: "http://wiki.openstreetmap.org/index.php?title=Anonymous_edits&uselang=is"
+ anon_edits_link_text: "Finndu út afhverju."
+ flash_player_required: 'Þú þarft Flash spilara til að nota Potlatch ritilinn. Þú getur <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">halað niður Flash spilara frá Adobe.com</a> eða notað <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Editing">aðra OpenStreetMap ritla</a> sem ekki krefjast Flash.'
+ potlatch_unsaved_changes: "Þú ert með óvistaðar breytingar. Til að vista í Potlatch þarf að af-velja núverandi val ef þú ert í „Live“-ham, eða ýta á „Save“ hnappinn til að vista ef sá hnappur er sjáanlegur."
sidebar:
search_results: "Leitarniðurstöður"
close: "Loka"
where_am_i: "Hvar er ég?"
submit_text: "Ok"
searching: "Leita..."
- search_help: "dæmi: „Akureyri“, „Laugavegur, Reykjavík“ eða „post offices near Lünen“. Sjá einnig <a href='http://wiki.openstreetmap.org/wiki/Search'>leitarhjálpina</a>."
+ search_help: "dæmi: „Akureyri“, „Laugavegur, Reykjavík“ eða „post offices near Lünen“. Sjá einnig <a href='http://wiki.openstreetmap.org/index.php?uselang=is&title=Search'>leitarhjálpina</a>."
key:
map_key: "Kortaskýringar"
map_key_tooltip: "Kortaútskýringar fyrir mapnik útgáfuna af kortinu á þessu þys-stigi"
+ table:
+ heading: "Kortaskýringar fyrir þys {{zoom_level}}"
+ entry:
+ motorway: "Hraðbraut"
+ trunk: "Stofnbraut (Hringvegurinn)"
+ primary: "Stofnvegur"
+ secondary: "Tengivegur"
+ # tertiary: "Landsvegur"
+ unclassified: "Héraðsvegur"
+ unsurfaced: "Óbundið slitlag"
+ track: "Slóði"
+ byway: "Merkt (bresk) hjólaleið"
+ bridleway: "Reiðstígur"
+ cycleway: "Hjólastígur"
+ footway: "Göngustígur"
+ rail: "Lestarteinar"
+ subway: "Neðanjarðarlest"
+ tram:
+ - Smálest
+ - „tram“
+ cable:
+ - Skíðalyfta
+ - stólalyfta
+ runway:
+ - Flugbraut
+ - akstursbraut
+ apron:
+ - Flugbrautarhlað
+ - flugstöð
+ admin: "Stjórnsýslumörk"
+ forest: "Ræktaður skógur"
+ wood: "Náttúrulegur skógur"
+ golf: "Golfvöllur"
+ park: "Almenningsgarður"
+ resident: "Íbúðasvæði"
+ tourist: "Ferðamannasvæði"
+ common:
+ - Almenningur
+ - lundur
+ retail: "Smásölusvæði"
+ industrial: "Iðnaðarsvæði"
+ commercial: "Skrifstoðusvæði"
+ heathland: "Heiðalönd"
+ lake:
+ - Vatn
+ - uppistöðulón
+ farm: "Bóndabær"
+ brownfield: "Nýbyggingarsvæði"
+ cemetery: "Grafreitur"
+ allotments: "Ræktuð svæði úthlutuð í einkaeigu"
+ pitch: "Íþróttavöllur"
+ centre: "Íþróttamiðstöð"
+ reserve: "Náttúruverndarsvæði"
+ military: "Hersvæði"
+ school:
+ - Skóli
+ - Háskóli
+ building: "Merkisbygging"
+ station: "Lestarstöð"
+ summit:
+ - Fjallstindur
+ - tindur
+ tunnel: "Umkringt punktalínum = göng"
+ bridge: "Umkringt svartri línu = brú"
+ private: "Í einkaeigu"
+ permissive: "Umferð leyfileg"
+ destination: "Umferð leyfileg á ákveðinn áfangastað"
+ construction: "Vegur í byggingu"
trace:
create:
upload_trace: "Upphala GPS feril"
owner: "Eigandi:"
description: "Lýsing:"
tags: "Tögg:"
- editing_trace: "Breyti ferlinum {{name}}"
save_button: "Vista breytingar"
no_such_user:
title: "Notandi ekki til"
tags: "Tögg"
public: "Sjáanleg öðrum?"
public_help: "Hvað þýðir þetta?"
- public_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
+ public_help_url: "http://wiki.openstreetmap.org/index.php?title=Visibility_of_GPS_traces&uselang=is"
upload_button: "Upphala"
help: "Hjálp"
- help_url: "http://wiki.openstreetmap.org/wiki/Upload"
+ help_url: "http://wiki.openstreetmap.org/index.php?title=Upload&uselang=is"
trace_header:
see_just_your_traces: "Sýna aðeins þína ferla, eða hlaða upp feril"
see_all_traces: "Sjá alla ferla"
see_your_traces: "Sjá aðeins þína ferla"
- traces_waiting: "You have {{count}} traces waiting for upload. Please consider waiting for these to finish before uploading any more, so as not to block the queue for other users."
+ traces_waiting: "Þú ert með {{count}} ferla í bið. Íhugaðu að bíða með að upphala fleiri ferlum til að aðrir notendur komist að."
trace_optionals:
tags: "Tögg"
view:
public_traces: "Allir ferlar"
your_traces: "Þínir ferlar"
public_traces_from: "Ferlar eftir {{user}}"
- tagged_with: " tagged with {{tags}}"
+ tagged_with: " með taggið {{tags}}"
delete:
scheduled_for_deletion: "Þessum feril verður eitt"
make_public:
made_public: "Ferilinn var gerður sjáanlegur"
- oauth:
- client_application:
- request_access: "The application {{app_name}} is requesting access to your account. Please check whether you would like the application to have the following capabilities. You may choose as many or as few as you like."
- allow_to: "Allow the client application to:"
- allow_read_prefs: "read your user preferences."
- allow_write_prefs: "modify your user preferences."
- allow_write_diary: "create diary entries, comments and make friends."
- allow_write_api: "modify the map."
- allow_read_gpx: "read your private GPS traces."
- allow_write_gpx: "upload GPS traces."
- token:
- none: "You have not authorised any clients to act on your behalf. You do not have to do anything now to authorise them, as they will ask for authorisation when they need it. After that time you can return here to revoke those permissions if you do not want the clients to have your authorisation any more."
- application: "Application"
- issued: "Issued"
- revoke: "Revoke!"
user:
login:
title: "Innskrá"
reset_password:
title: "lykilorð endurstillt"
flash changed check mail: "Nýtt lykilorð hefur verið búið til fyrir þig og sent til þín í pósti"
- flash token bad: "Didn't find that token, check the URL maybe?"
+ flash token bad: "Þessi leynistrengur fannst ekki, kannski er slóðin röng?"
new:
title: "Nýskrá"
heading: "Nýskrá"
license_agreement: 'Með því að búa til reikning samþykkiru að öll framlög þín til verkefnisins falli undir <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-Share Alike (BY-SA)</a> leyfið.'
email address: "Netfang: "
confirm email address: "Staðfestu netfang: "
- not displayed publicly: 'Ekki sýnt opinberlega (sjá <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="Meðferð persónuupplýsinga, þ.á.m. netfanga">meðferð persónuupplýsinga</a>)'
+ not displayed publicly: 'Ekki sýnt opinberlega (sjá <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Privacy_Policy" title="Meðferð persónuupplýsinga, þ.á.m. netfanga">meðferð persónuupplýsinga</a>)'
display name: "Sýnilegt nafn: "
password: "Lykilorð: "
confirm password: "Staðfestu lykilorðið: "
public editing:
heading: "Ónafngreindur notandi?: "
enabled: "Nei, nafngreindur og getur breytt gögnum."
- enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
+ enabled link: "http://wiki.openstreetmap.org/index.php?uselang=is&title=Anonymous_edits"
enabled link text: "nánar"
- disabled: "Disabled and cannot edit data, all previous edits are anonymous."
- disabled link text: "why can't I edit?"
+ disabled: "Óvirkur og getur ekki breytt gögnum, allar fyrri breytingar eru ónafngreindar."
+ disabled link text: "hví get ég ekki breytt neinu?"
profile description: "Lýsing á þér: "
preferred languages: "Viðmótstungumál: "
home location: "Staðsetning: "
longitude: "Breiddargráða: "
update home location on click: "Uppfæra staðsetninguna þegar ég smelli á kortið"
save changes button: "Vista breytingar"
- make edits public button: Make all my edits public
+ make edits public button: "Gera allar breytingarnar mínar opinberar"
return to profile: "Aftur á mína síðu"
- flash update success confirm needed: "User information updated successfully. Check your email for a note to confirm your new email address."
+ flash update success confirm needed: "Stillingarnar þínar voru uppfærðar. Póstur var sendur á netfangið þitt sem þú þarft að bregðast við til að netfangið þitt verði staðfest."
flash update success: "Stillingarnar þínar voru uppfærðar."
- my apps: "My client applications"
- developers: "Application Developers"
- dev_intro: "Have you written an application which you would like to register to make {{link}} requests to the OpenStreetMap server?"
- register_app: "Register your application"
- apps_registered: "You have the following client applications registered:"
- register_another_app: "Register another application"
confirm:
heading: "Staðfesta notanda"
press confirm button: "Hér getur þú staðfest að þú viljir búa til notanda.."
set_home:
flash success: "Staðsetning þín hefur verið stillt"
go_public:
- flash success: "All your edits are now public, and you are now allowed to edit."
+ flash success: "Allar breytingar þínar eru nú opinberar, og þú getur breytt gögnum."
make_friend:
success: "{{name}} er núna vinur þinn."
failed: "Gat ekki bætt {{name}} á vinalistann þinn."
version: "Versione:"
in_changeset: "Nel gruppo di modifiche:"
containing_relation:
- relation: "Relazione {{relation_name}}"
- relation_as: "(come {{relation_role}})"
+ entry: "Relazione {{relation_name}}"
+ entry_role: "Relazione {{relation_name}} (come {{relation_role}})"
map:
loading: "Caricamento in corso..."
deleted: "Eliminato"
- view_larger_map: "Visualizza una mappa più ampia"
node_details:
coordinates: "Coordinate: "
part_of: "Parte di:"
relation_history:
relation_history: "Storico della relazione"
relation_history_title: "Storico della relazione: {{relation_name}}"
- relation_member:
- as: "come"
relation:
relation: "Relazione"
relation_title: "Relazione: {{relation_name}}"
version: "バージョン:"
in_changeset: "変更セット:"
containing_relation:
- relation: "関連 {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "関連 {{relation_name}}"
+ entry_role: "関連 {{relation_name}} (as {{relation_role}})"
map:
loading: "ロード中..."
deleted: "削除済み"
- view_larger_map: "大きなマップを表示"
node_details:
coordinates: "座標: "
part_of: "Part of:"
relation_history:
relation_history: "関連の履歴"
relation_history_title: "関連の履歴: {{relation_name}}"
- relation_member:
- as: "as"
relation:
relation: "関連"
relation_title: "関連: {{relation_name}}"
version: "버젼:"
in_changeset: "In changeset:"
containing_relation:
- relation: "관계 {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "관계 {{relation_name}}"
+ entry_role: "관계 {{relation_name}} (as {{relation_role}})"
map:
loading: "불러 오는 중..."
deleted: "삭제됨"
- view_larger_map: "큰 지도 보기"
node_details:
coordinates: "좌표: "
part_of: "Part of:"
relation_history:
relation_history: "관계 이력"
relation_history_title: "관계 이력: {{relation_name}}"
- relation_member:
- as: "as"
relation:
relation: "관계"
relation_title: "관계: {{relation_name}}"
version: "Versie:"
in_changeset: "In changeset:"
containing_relation:
- relation: "Relatie {{relation_name}}"
- relation_as: "(als {{relation_role}})"
+ entry: "Relatie {{relation_name}}"
+ entry_role: "Relatie {{relation_name}} (als {{relation_role}})"
map:
loading: "Laden..."
deleted: "Verwijderd"
- view_larger_map: "Grotere kaart"
node_details:
coordinates: "Coördinaten: "
part_of: "Part of:" #to be translated
relation_history:
relation_history: "Relatie-geschiedenis"
relation_history_title: "Relatie-geschiedenis: {{relation_name}}"
- relation_member:
- as: "als"
relation:
relation: "Relatie"
relation_title: "Relatie: {{relation_name}}"
version: "Wersja:"
in_changeset: "W changesecie:"
containing_relation:
- relation: "Relacja {{relation_name}}"
- relation_as: "(jako {{relation_role}})"
+ entry: "Relacja {{relation_name}}"
+ entry_role: "Relacja {{relation_name}} (jako {{relation_role}})"
map:
loading: "Wczytywanie..."
deleted: "Skasowano"
- view_larger_map: "Powiększ mapę"
node_details:
coordinates: "Współrzędne: "
part_of: "Jest częścią:"
relation_history:
relation_history: "Historia zmian relacji"
relation_history_title: "Historia relacji: {{relation_name}}"
- relation_member:
- as: "jako"
relation:
relation: "Relacja"
relation_title: "Relacja: {{relation_name}}"
version: "Versão:"
in_changeset: "No conjunto de modificações:"
containing_relation:
- relation: "Relação {{relation_name}}"
- relation_as: "(como {{relation_role}})"
+ entry: "Relação {{relation_name}}"
+ entry_role: "Relação {{relation_name}} (como {{relation_role}})"
map:
loading: "Carregando..."
deleted: "Apagado"
- view_larger_map: "Ver mapa maior"
node_details:
coordinates: "Coordenadas: "
part_of: "Parte de:"
relation_history:
relation_history: "Histórico de Relação"
relation_history_title: "Histórico da Relação: {{relation_name}}"
- relation_member:
- as: "como"
relation:
relation: "Relação"
relation_title: "Relação: {{relation_name}}"
version: "Версия:"
in_changeset: "Сеанс:"
containing_relation:
- relation: "Отношение {{relation_name}}"
- relation_as: "(в роли {{relation_role}})"
+ entry: "Отношение {{relation_name}}"
+ entry_role: "Отношение {{relation_name}} (в роли {{relation_role}})"
map:
loading: "Загрузка..."
deleted: "Удалено"
- view_larger_map: "На большой карте"
node_details:
coordinates: "Координаты: "
part_of: "Принадлежит к:"
relation_history:
relation_history: "История отношения"
relation_history_title: "История отношения {{relation_name}}"
- relation_member:
- as: "в роли"
relation:
relation: "Отношение"
relation_title: "Отношение: {{relation_name}}"
diary_entry: "Vpis v dnevnik"
friend: "Prijatelj"
language: "Jezik"
- message: "Message"
- node: "Node"
- node_tag: "Node Tag"
+ message: "Sporočilo"
+ node: "Vozlišče"
+ node_tag: "Oznaka vozlišča"
notifier: "Notifier"
old_node: "Old Node"
old_node_tag: "Old Node Tag"
old_way_node: "Old Way Node"
old_way_tag: "Old Way Tag"
relation: "Relacija"
- relation_member: "Relation Member"
- relation_tag: "Relation Tag"
+ relation_member: "Član relacije"
+ relation_tag: "Oznaka relacije"
session: "Session"
trace: "Sled"
tracepoint: "Točka sledi"
tracetag: "Oznaka sledi"
user: "Uporabnik"
- user_preference: "User Preference"
- user_token: "User Token"
- way: "Way"
- way_node: "Way Node"
- way_tag: "Way Tag"
+ user_preference: "Uporabniške nastavitve"
+ user_token: "Uporabniški žeton"
+ way: "Pot"
+ way_node: "Vozlišče poti"
+ way_tag: "Oznaka poti"
# Translates all the model attributes, which is used in error handling on the web site
# Only the ones that are used on the web site are translated at the moment
attributes:
version: "Različica:"
in_changeset: "V paketu sprememb:"
containing_relation:
- relation: "Relacija {{relation_name}}"
- relation_as: "(kot {{relation_role}})"
+ entry: "Relacija {{relation_name}}"
+ entry_role: "Relacija {{relation_name}} (kot {{relation_role}})"
map:
loading: "Nalaganje..."
deleted: "Izbrisano"
- view_larger_map: "Poglej večji zemljevid"
+ larger:
+ area: "Prikaz področja na večjem zemljevidu"
+ node: "Prikaz vozlišča na večjem zemljevidu"
+ way: "Prikaz poti na večjem zemljevidu"
+ relation: "Prikaz relacije na večjem zemljevidu"
node_details:
coordinates: "Koordinate: "
part_of: "Del:"
node_history:
node_history: "Zgodovina vozlišča"
+ node_history_title: "Zgodovina vozlišča: {{node_name}}"
download: "{{download_xml_link}} ali {{view_details_link}}"
download_xml: "prenesi XML"
view_details: "poglej podrobnosti"
download: "{{download_xml_link}} ali {{view_history_link}}"
download_xml: "prenesi XML"
view_history: "poglej zgodovino"
+ edit: "uredi"
not_found:
sorry: "Oprostite, {{type}} z ID-jem {{id}} ni bilo mogoče najti."
type:
relation_history: "Zgodovina relacije"
relation_history_title: "Zgodovina relacije: {{relation_name}}"
relation_member:
- as: "kot"
+ entry: "{{type}} {{name}}"
+ entry_role: "{{type}} {{name}} kot {{role}}"
+ type:
+ node: "Vozlišče"
+ way: "Pot"
+ relation: "Relacija"
relation:
relation: "Relacija"
relation_title: "Relacija: {{relation_name}}"
view_data: "Ogled podatkov trenutno prikazanega zemljevida"
manually_select: "Ročno izberite drugo področje"
start_rjs:
+ data_layer_name: "Podatki"
data_frame_title: "Podatki"
zoom_or_select: "Povečajte zemljevid ali izberite področje za prikaz"
drag_a_box: "Za izbor področja povlecite pravokotnik na zemljevidu"
download: "{{download_xml_link}} ali {{view_history_link}}"
download_xml: "prenesi XML"
view_history: "poglej zgodovino"
+ edit: "uredi"
changeset:
changeset_paging_nav:
showing_page: "Prikaz strani"
login: "Prijavite se"
save_button: "Shrani"
no_such_entry:
- heading: "No entry with the id: {{id}}"
+ title: "Takšnega vnosa v dnevnik ni"
+ heading: "Vnosa v dnevnik z id-jem: {{id}} ni"
body: "Oprostite, vnosa v dnevnik št. {{id}} ni. Prosimo, preverite črkovanje in povezavo, ki ste jo kliknili."
no_such_user:
title: "Ni tega uporabnika"
osmarender_image: "Osmarender slika zemljevida"
embeddable_html: "HTML za vključitev na spletno stran"
licence: "Licenca"
- export_details: 'OpenStreetMap podatki imajo licenco <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sl">Creative Commons Attribution-ShareAlike 2.0</a>.'
+ export_details: 'OpenStreetMap podatki imajo licenco <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sl">Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 2.0</a>.'
options: "Možnosti"
format: "Oblika zapisa"
scale: "Merilo"
- max: "max"
+ max: "največ"
image_size: "Velikost slike"
zoom: "Povečava"
add_marker: "Dodaj zaznamek na zemljevid"
click_add_marker: "S klikom na zemljevid pripnite zaznamek."
change_marker: "Premakni zaznamek"
add_marker: "Dodaj zaznamek na zemljevid"
- view_larger_map: "Večji zemljevid"
+ view_larger_map: "Večji zemljevid"
geocoder:
results:
results: "Zadetki"
type_from_source: "{{type}} iz {{source_link}}"
no_results: "Ni zadetkov"
layouts:
+ project_name:
+ # in <title>
+ title: OpenStreetMap
+ # in <h1>
+ h1: OpenStreetMap
+ logo:
+ alt_text: OpenStreetMap logotip
welcome_user: "Dobrodošli, {{user_link}}"
+ welcome_user_link_tooltip: Vaša uporabniška stran
home: "domov"
+ home_tooltip: Prikaži domači kraj
inbox: "prejeta pošta ({{count}})"
+ inbox_tooltip:
+ zero: Niste prejeli novih spročil
+ one: Prejeli ste {{count}} novo sporočilo
+ two: Prejeli ste {{count}} novi sporočili
+ few: Prejeli ste {{count}} nova sporočila
+ other: Prejeli ste {{count}} novih sporočil
logout: odjava
+ logout_tooltip: "Odjava iz sistema"
log_in: prijava
+ log_in_tooltip: Vstop s svojim obstoječim uporabniškim računom
sign_up: vpis
+ sign_up_tooltip: Ustvarite si nov uporabniški račun za urejanje
view: Zemljevid
view_tooltip: Prikaz zemljevida
edit: Uredi
donate: "Podprite OpenStreetMap z {{link}} v fond za nadgradnjo strojne opreme."
donate_link_text: donacijo
help_wiki: "Pomoč in Wiki"
+ help_wiki_tooltip: "Pomoč in Wiki strani projekta"
help_wiki_url: "http://wiki.openstreetmap.org/wiki/Sl:Main_Page"
news_blog: "Novice"
+ news_blog_tooltip: "Novice o OpenStreetMap, prostih geografskih podatkih, ipd."
shop: Trgovina
+ shop_tooltip: Nakup izdelkov z OpenStreetMap logotipi
shop_url: http://wiki.openstreetmap.org/wiki/Merchandise
sotm: 'Udeležite se letošnje OpenStreetMap konference, The State of the Map, ki bo od 10 do 12 Julija v Amsterdamu!'
alt_donation: Prispevajte finančna sredstva
banner2: "* Za odgovor uporabite spletno stran OpenStreetMap. *"
hi: "Pozdravljen, {{to_user}}!"
header: "{{from_user}} je komentiral vaš nedavni vnos v OpenStreetMap dnevnik z naslovom {{subject}}:"
- footer: "Komentar lahko preberete tudi na {{readurl}} komentirate lahko na {{commenturl}} ali odgovorite na {{replyurl}}"
+ footer: "Komentar lahko preberete tudi na {{readurl}}, komentirate lahko na {{commenturl}} ali odgovorite na {{replyurl}}"
message_notification:
subject: "[OpenStreetMap] {{user}} vam je poslal novo sporočilo"
banner1: "* Ne odgovarjajte na to sporočilo. *"
click_the_link_2: "potrditev računa in več informacij o projektu OpenStreetMap."
introductory_video: "Uvodni video posnetek si lahko pogledate na naslovu:"
more_videos: "Več video posnetkov je na naslovu:"
- the_wiki: "Get reading about OpenStreetMap on the wiki:"
+ the_wiki: "Več o projektu OpenStreetMap si preberite v wiki-ju:"
the_wiki_url: "http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"
- opengeodata: "OpenGeoData.org is OpenStreetMap's blog, and it has podcasts too:"
- wiki_signup: "You may also want to sign up to the OpenStreetMap wiki at:"
+ opengeodata: "Blog o OpenStreetMap z zvočnimi podcasti je na OpenGeoData.org:"
+ wiki_signup: "Lahko se vpišete tudi na wiki projekta OpenStreetMap na naslovu:"
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
- user_wiki_1: "It is recommended that you create a user wiki page, which includes"
- user_wiki_2: "category tags noting where you are, such as [[Category:Users_in_Slovenia]]."
- current_user_1: "A list of current users in categories, based on where in the world"
- current_user_2: "they are, is available from:"
+ user_wiki_1: "Priporočljivo je, da si naredite svojo uporabniško wiki stran, ki naj vsebuje"
+ user_wiki_2: "oznako kategorije, ki določa vaš položaj, npr [[Category:Users_in_Slovenia]]."
+ current_user_1: "Seznam trenutnih uporabnikov po kategorijah glede na njihov geografski"
+ current_user_2: "položaj je na voljo na naslovu:"
signup_confirm_html:
greeting: "Pozdravljeni!"
- hopefully_you: "Someone (hopefully you) would like to create an account over at"
- click_the_link: "If this is you, welcome! Please click the link below to confirm that account and read on for more information about OpenStreetMap"
- introductory_video: "You can watch an {{introductory_video_link}}."
- video_to_openstreetmap: "introductory video to OpenStreetMap"
- more_videos: "There are {{more_videos_link}}."
- more_videos_here: "more videos here"
- get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
- wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
- user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Slovenia">[[Category:Users_in_Slovenia]]</a>.'
- current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
+ hopefully_you: "Nekdo (najverjetneje vi) bi rad naredil uporabniški račun na"
+ click_the_link: "Če ste to vi, dobrodošli! Kliknite na spodnjo povezavo za potrditev računa in več informacij o projektu OpenStreetMap."
+ introductory_video: "Ogledate si lahko {{introductory_video_link}}."
+ video_to_openstreetmap: "uvodni video posnetek o OpenStreetMap"
+ more_videos: "Ogledate si lahko {{more_videos_link}}."
+ more_videos_here: "še več video posnetkov"
+ get_reading: 'Preberite si več o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">v wiki-ju</p> ali <a href="http://www.opengeodata.org/">na opengeodata blog-u</a> ki vsebuje tudi <a href="http://www.opengeodata.org/?cat=13">zvočne podcast-e</a>!'
+ wiki_signup: 'Lahko se <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">vpišete tudi na wiki projekta OpenStreetMap</a>.'
+ user_wiki_page: 'Priporočljivo je, da si naredite svojo uporabniško wiki stran, ki naj vsebuje oznako kategorije, ki določa vaš položaj, npr <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_Slovenia">[[Category:Users_in_Slovenia]]</a>.'
+ current_user: 'Seznam trenutnih uporabnikov po kategorijah glede na njihov geografski položaj je na voljo v kategoriji <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
email_confirm:
subject: "[OpenStreetMap] Potrdite svoj elektronski naslov"
email_confirm_plain:
js_2: "OpenStreetMap za prikaz zemljevida uporablja Javascript."
js_3: 'Če Javascripta ne morete omogočiti lahko poizkusite <a href="http://tah.openstreetmap.org/Browse/">statičen pregledovalnik zemljevida Tiles@Home</a>.'
permalink: Trajna povezava
+ shortlink: Kratka povezava
license:
- notice: "Licensed under the {{license_name}} license by the {{project_name}} and its contributors."
- license_name: "Creative Commons Attribution-Share Alike 2.0"
- license_url: "http://creativecommons.org/licenses/by-sa/2.0/"
- project_name: "OpenStreetMap project"
+ notice: "{{project_name}} z avtorji objavlja pod licenco {{license_name}}."
+ license_name: "Creative Commons Priznanje avtorstva-Deljenje pod enakimi pogoji 2.0"
+ license_url: "http://creativecommons.org/licenses/by-sa/2.0/deed.sl"
+ project_name: "Projekt OpenStreetMap"
project_url: "http://openstreetmap.org"
edit:
- not_public: "You haven't set your edits to be public."
- not_public_description: "You can no longer edit the map unless you do so. You can set your edits as public from your {{user_page}}."
- user_page_link: user page
+ not_public: "Svojih prispevkov še niste označili za javne."
+ not_public_description: "Urejanje zemljevida ni mogoče dokler vaši prispevki niso javni. Označite jih lahko kot javne na {{user_page}}."
+ user_page_link: strani vašega uporabniškega računa
anon_edits: "({{link}})"
anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
- anon_edits_link_text: "Find out why this is the case."
- flash_player_required: 'You need a Flash player to use Potlatch, the OpenStreetMap Flash editor. You can <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">download Flash Player from Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Several other options</a> are also available for editing OpenStreetMap.'
- potlatch_unsaved_changes: "You have unsaved changes. (To save in Potlatch, you should deselect the current way or point, if editing in list mode, or click save if you have a save button.)"
+ anon_edits_link_text: "Pojasnilo zakaj je temu tako."
+ flash_player_required: 'Za uporabo Potlatch-a, urejevalnika OpenStreetMap potrebujete predvajalnik Flash. Lahko ga <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">prenesete iz Adobe.com</a>. Na voljo vam je tudi <a href="http://wiki.openstreetmap.org/wiki/Editing">več drugih možnosti</a> za urejanje zemljevida OpenStreetMap.'
+ potlatch_unsaved_changes: "Imate neshranjene spremembe. (Za shranjevanje v Potlatch-u, od-izberite trenutno pot ali vozlišče (v načinu v živo), ali pa kliknite na gumb Save (shrani), če ga imate.)"
sidebar:
search_results: Rezultati iskanja
close: Zapri
search_help: "primeri: 'Bovec', 'Prešernova, Celje', 'Živalski vrt' ali 'vzpenjača' <a href='http://wiki.openstreetmap.org/wiki/Search'>Več primerov...</a>"
key:
map_key: "Legenda"
+ map_key_tooltip: "Legenda mapnik zemljevida na prikazanem nivoju povečave"
+ table:
+ heading: "Legenda povečave {{zoom_level}}"
+ entry:
+ motorway: "Avtocesta"
+ trunk: "Hitra cesta"
+ primary: "Glavna cesta"
+ secondary: "Regionalna cesta"
+ unclassified: "Ostale ceste izven naselij"
+ unsurfaced: "Neasfaltirana cesta"
+ track: "Kolovoz"
+ byway: "Byway"
+ bridleway: "Bridleway"
+ cycleway: "Kolesarska steza"
+ footway: "Pešpot"
+ rail: "Železnica"
+ subway: "Podzemna železnica"
+ tram: "Ozkotirna železnica; tramvaj"
+ cable: "Kabinska žičnica; sedežnica"
+ runway: "Vzletno-pristajalna steza; povezave"
+ apron: "Letališka ploščad; terminal"
+ admin: "Upravna razmejitev"
+ forest: "Forest"
+ wood: "Wood"
+ golf: "Igrišče za Golf"
+ park: "Park"
+ resident: "Naselje"
+ tourist: "Turistična znamenitost"
+ common: "Common; meadow"
+ retail: "Trgovsko območje"
+ industrial: "Industrijsko območje"
+ commercial: "Poslovno območje"
+ heathland: "Grmičevje"
+ lake: "Jezero; vodni zbiralnik"
+ farm: "Kmetija"
+ brownfield: "Brownfield site"
+ cemetery: "Pokopališče"
+ allotments: "Vrtički"
+ pitch: "Sports pitch"
+ centre: "Sports centre"
+ reserve: "Naravni rezervat"
+ military: "Vojaško področje"
+ school: "Šola; univerza"
+ building: "Pomembna zgradba"
+ station: "Železniška postaja"
+ summit: "Vrh"
+ tunnel: "Črtkana obroba = predor"
+ bridge: "Krepka obroba = most"
+ private: "Private access"
+ permissive: "Permissive access"
+ destination: "Dovoljeno za dostavo"
+ construction: "Ceste v gradnji"
trace:
create:
upload_trace: "Pošlji GPS sled"
trace_uploaded: "Vaša datoteka z GPS sledjo v datoteki GPX je bila poslana na strežnik in čaka na uvoz v bazo. To se ponavadi zgodi v roku pol ure. O uvozu boste obveščeni po elektronski pošti."
edit:
+ title: "Urejanje sledi {{name}}"
+ heading: "Urejanje sledi {{name}}"
filename: "Ime datoteke:"
+ download: "prenos"
uploaded_at: "Poslano na strežnik:"
points: "Točk:"
start_coord: "Začetna koordinata:"
+ map: "zemljevid"
edit: "uredi"
owner: "Lastnik:"
description: "Opis:"
tags: "Oznake:"
save_button: "Shrani spremembe"
no_such_user:
- title: "No such user"
+ title: "Ni tega uporabnika"
heading: "Uporabnik {{user}} ne obstaja"
body: "Oprostite, uporabnika z imenom {{user}} ni. Prosimo, preverite črkovanje in povezavo, ki ste jo kliknili."
trace_form:
description: "Opis"
tags: "Oznake"
public: "Javna?"
+ public_help: "Kaj to pomeni?"
+ public_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
upload_button: "Pošlji"
help: "Pomoč"
help_url: "http://wiki.openstreetmap.org/wiki/Upload"
trace_optionals:
tags: "Oznake"
view:
+ title: "Prikaz sledi {{name}}"
+ heading: "Prikaz sledi {{name}}"
pending: "ČAKAJOČA"
filename: "Datoteka:"
download: "prenos"
edit: "uredi"
owner: "Lastnik:"
description: "Opis:"
- tags: "Oznake"
+ tags: "Oznake:"
none: "Brez"
make_public: "Naj ta sled postane trajno javna"
edit_track: "Uredi to sled"
delete_track: "Izbriši to sled"
- heading: "Prikaz sledi {{name}}"
trace_not_found: "Sledi ni bilo mogoče najti!"
trace_paging_nav:
showing: "Prikaz strani"
list:
public_traces: "Javne GPS sledi"
your_traces: "Vaše GPS sledi"
- public_traces_from: "Javnr GPS sledi uporabnika {{user}}"
+ public_traces_from: "Javne GPS sledi uporabnika {{user}}"
tagged_with: " z oznako {{tags}}"
delete:
scheduled_for_deletion: "Sled bo izbrisana"
no_auto_account_create: "Na žalost vam trenutno ne moremo samodejno ustvariti uporabniškega računa."
contact_webmaster: 'Prosimo, pišite <a href="mailto:webmaster@openstreetmap.org">webmastru</a> (v angleščini) in se dogovorite za ustvarjenje uporabniškega računa - potrudili se bomo za čimprejšnjo obravnavo vašega zahtevka. '
fill_form: "Izpolnite obrazec in poslali vam bomo elektronsko sporočilce s katerim boste aktivirali svoj uporabniški račun."
- license_agreement: 'Z ustvarjanjem uporabniškega računa se strinjate, da bodo vsi vaši prispevki, ki jih boste poslali na openstreetmap.org in vsi podatki, ki jih boste ustvarili z orodji, ki se povezujejo z openstreetmap.org licencirani (ne-izključno) pod pogoji <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sl">te Creative Commons licence (by-sa)</a>.'
+ license_agreement: 'Z ustvarjanjem uporabniškega računa se strinjate, da bodo vsi vaši prispevki, ki jih boste poslali na openstreetmap.org in vsi podatki, ki jih boste ustvarili z orodji, ki se povezujejo z openstreetmap.org licencirani (ne-izključno) pod pogoji <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.sl">te Creative Commons licence (Priznanje avtorstva-Deljenje pod enakimi pogoji)</a>.'
email address: "Naslov e-pošte: "
confirm email address: "Potrdite naslov e-pošte: "
not displayed publicly: 'Ne bo javno objavljeno (glej <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="politika zasebnosti z razdelkom o naslovu elektronske pošte v wiki-ju">politiko zasebnosti</a>)'
public editing:
heading: "Javno urejanje: "
enabled: "Omogočeno. Niste anonimni in lahko urejate podatke."
- enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
+ enabled link: "http://wiki.openstreetmap.org/wiki/Anonymous_edits"
enabled link text: "Kaj je to?"
disabled: "Onemogočeno in ne morete urejati podatkov. Vsi vaši prejšnji prispevki so anonimni."
disabled link text: "Zakaj ne morem urejati?"
save changes button: Shrani spremembe
make edits public button: Naj bodo vsi moji prispevki javni
return to profile: Nazaj na profil
- flash update success confirm needed: "User information updated successfully. Check your email for a note to confirm your new email address."
- flash update success: "Podatki o uporabniku uspešno posodobljeni."
+ flash update success confirm needed: "Podatki o uporabniku so bili uspešno posodobljeni. Preverite svojo e-pošto in potrdite spremembo e-poštnega naslova."
+ flash update success: "Podatki o uporabniku so bili uspešno posodobljeni."
confirm:
heading: Potrdite uporabniški račun
press confirm button: "Za aktivacijo vašega uporabniškega računa pritisnite na gumb Potrdi spodaj."
version: "Version:"
in_changeset: "In changeset:"
containing_relation:
- relation: "Relation {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "Relation {{relation_name}}"
+ entry_role: "Relation {{relation_name}} (as {{relation_role}})"
map:
loading: "Loading..."
deleted: "Deleted"
- view_larger_map: "View Larger Map"
node_details:
coordinates: "Coordinates: "
part_of: "Part of:"
relation_history:
relation_history: "Relation History"
relation_history_title: "Relation History: {{relation_name}}"
- relation_member:
- as: "as"
relation:
relation: "Relation"
relation_title: "Relation: {{relation_name}}"
version: "版本:"
in_changeset: "在修改集合中:"
containing_relation:
- relation: "关系 {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "关系 {{relation_name}}"
+ entry_role: "关系 {{relation_name}} (as {{relation_role}})"
map:
loading: "读取中..."
deleted: "删除"
- view_larger_map: "显示更大地图"
node_details:
coordinates: "坐标: "
part_of: "部分:"
relation_history:
relation_history: "关系历史"
relation_history_title: "关系历史: {{relation_name}}"
- relation_member:
- as: "as"
relation:
relation: "关系"
relation_title: "关系: {{relation_name}}"
version: "版本:"
in_changeset: "於變更組合:"
containing_relation:
- relation: "關係 {{relation_name}}"
- relation_as: "(as {{relation_role}})"
+ entry: "關係 {{relation_name}}"
+ entry_role: "關係 {{relation_name}} (as {{relation_role}})"
map:
loading: "正在載入..."
deleted: "已刪除"
- view_larger_map: "檢視較大的地圖"
node_details:
coordinates: "坐標:"
part_of: "部分:"
relation_history:
relation_history: "關係歷史紀錄"
relation_history_title: "關係歷史紀錄: {{relation_name}}"
- relation_member:
- as: "為"
relation:
relation: "關係"
relation_title: "關係: {{relation_name}}"
map.connect '/create-account.html', :controller => 'user', :action => 'new'
map.connect '/forgot-password.html', :controller => 'user', :action => 'lost_password'
+ # permalink
+ map.connect '/go/:code', :controller => 'site', :action => 'permalink', :code => /[a-zA-Z0-9_@]+=*/
+
# traces
map.connect '/traces', :controller => 'trace', :action => 'list'
map.connect '/traces/page/:page', :controller => 'trace', :action => 'list'
--- /dev/null
+##
+# Encodes and decodes locations from Morton-coded "quad tile" strings. Each
+# variable-length string encodes to a precision of one pixel per tile (roughly,
+# since this computation is done in lat/lon coordinates, not mercator).
+# Each character encodes 3 bits of x and 3 of y, so there are extra characters
+# tacked on the end to make the zoom levels "work".
+module ShortLink
+
+ # array of 64 chars to encode 6 bits. this is almost like base64 encoding, but
+ # the symbolic chars are different, as base64's + and / aren't very
+ # URL-friendly.
+ ARRAY = ('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a + ['_','@']
+
+ ##
+ # Given a string encoding a location, returns the [lon, lat, z] tuple of that
+ # location.
+ def self.decode(str)
+ x = 0
+ y = 0
+ z = 0
+ z_offset = 0
+
+ str.each_char do |c|
+ t = ARRAY.index c
+ if t.nil?
+ z_offset -= 1
+ else
+ 3.times do
+ x <<= 1; x = x | 1 unless (t & 32).zero?; t <<= 1
+ y <<= 1; y = y | 1 unless (t & 32).zero?; t <<= 1
+ end
+ z += 3
+ end
+ end
+ # pack the coordinates out to their original 32 bits.
+ x <<= (32 - z)
+ y <<= (32 - z)
+
+ # project the parameters back to their coordinate ranges.
+ [(x * 360.0 / 2**32) - 180.0,
+ (y * 180.0 / 2**32) - 90.0,
+ z - 8 - (z_offset % 3)]
+ end
+
+ ##
+ # given a location and zoom, return a short string representing it.
+ def self.encode(lon, lat, z)
+ code = interleave_bits(((lon + 180.0) * 2**32 / 360.0).to_i,
+ ((lat + 90.0) * 2**32 / 180.0).to_i)
+ str = ""
+ # add eight to the zoom level, which approximates an accuracy of
+ # one pixel in a tile.
+ ((z + 8)/3.0).ceil.times do |i|
+ digit = (code >> (58 - 6 * i)) & 0x3f
+ str << ARRAY[digit]
+ end
+ # append characters onto the end of the string to represent
+ # partial zoom levels (characters themselves have a granularity
+ # of 3 zoom levels).
+ ((z + 8) % 3).times { str << "=" }
+
+ return str
+ end
+
+ private
+
+ ##
+ # interleaves the bits of two 32-bit numbers. the result is known
+ # as a Morton code.
+ def self.interleave_bits(x, y)
+ c = 0
+ 31.downto(0) do |i|
+ c = (c << 1) | ((x >> i) & 1)
+ c = (c << 1) | ((y >> i) & 1)
+ end
+ c
+ end
+
+end
var nonamekey = nonamekeys[document.domain];
var noname = new OpenLayers.Layer.OSM("NoName", [
- "http://a.tile.cloudmade.com/" + nonamekey + "/3/256/",
- "http://b.tile.cloudmade.com/" + nonamekey + "/3/256/",
- "http://c.tile.cloudmade.com/" + nonamekey + "/3/256/"
+ "http://a.tile.cloudmade.com/" + nonamekey + "/3/256/${z}/${x}/${y}.png",
+ "http://b.tile.cloudmade.com/" + nonamekey + "/3/256/${z}/${x}/${y}.png",
+ "http://c.tile.cloudmade.com/" + nonamekey + "/3/256/${z}/${x}/${y}.png"
], {
displayOutsideMaxExtent: true,
wrapDateLine: true,
projection: "EPSG:900913"
});
map.addLayer(markers);
-
+
return map;
}
return marker;
}
+function addObjectToMap(url, zoom, callback) {
+ var layer = new OpenLayers.Layer.GML("Objects", url, {
+ format: OpenLayers.Format.OSM,
+ style: {
+ strokeColor: "blue",
+ strokeWidth: 3,
+ strokeOpacity: 0.5,
+ fillOpacity: 0.2,
+ fillColor: "lightblue"
+ },
+ projection: new OpenLayers.Projection("EPSG:4326"),
+ displayInLayerSwitcher: false
+ });
+
+ layer.events.register("loadend", layer, function() {
+ var extent;
+
+ if (this.features.length) {
+ extent = this.features[0].geometry.getBounds();
+
+ for (var i = 1; i < this.features.length; i++) {
+ extent.extend(this.features[i].geometry.getBounds());
+ }
+
+ if (zoom) {
+ if (extent) {
+ this.map.zoomToExtent(extent);
+ } else {
+ this.map.zoomToMaxExtent();
+ }
+ }
+ }
+
+ if (callback) {
+ callback(extent);
+ }
+ });
+
+ map.addLayer(layer);
+
+ layer.loadGML();
+}
+
function addBoxToMap(boxbounds) {
if(!vectors) {
// Be aware that IE requires Vector layers be initialised on page load, and not under deferred script conditions
* Called as the user scrolls/zooms around to aniplate hrefs of the
* view tab and various other links
*/
-function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat) {
+function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,objid) {
var decimals = Math.pow(10, Math.floor(zoom/3));
var node;
if (layers) {
args["layers"] = layers;
}
+ if (objtype && objid) {
+ args[objtype] = objid;
+ }
node.href = setArgs(node.href, args);
}
node.style.fontStyle = 'italic';
}
}
+
+ node = document.getElementById("shortlinkanchor");
+ if (node) {
+ var args = getArgs(node.href);
+ var code = makeShortCode(lat, lon, zoom);
+ var prefix = shortlinkPrefix();
+
+ // Add ?{node,way,relation}=id to the arguments
+ if (objtype && objid) {
+ args[objtype] = objid;
+ }
+
+ // This is a hack to omit the default mapnik layer (B000FTF) from
+ // the shortlink. B000FTFT is then the "Object" layer which we get
+ // on /?{node,way,relation}=id
+ if (layers && (layers != "B000FTF") && (layers != "B000FTFT")) {
+ args["layers"] = layers;
+ }
+
+ // Here we're assuming that all parameters but ?layers= and
+ // ?{node,way,relation}= can be safely omitted from the shortlink
+ // which encodes lat/lon/zoom. If new URL parameters are added to
+ // the main slippy map this needs to be changed.
+ if (args["layers"] || args[objtype]) {
+ node.href = setArgs(prefix + "/go/" + code, args);
+ } else {
+ node.href = prefix + "/go/" + code;
+ }
+ }
+}
+
+/*
+ * Get the URL prefix to use for a short link
+ */
+function shortlinkPrefix() {
+ if (window.location.hostname.match(/^www\.openstreetmap\.org/i)) {
+ return "http://osm.org";
+ } else {
+ return "";
+ }
}
+/*
+ * Called to get the arguments from a URL as a hash.
+ */
function getArgs(url) {
var args = new Object();
var querystart = url.indexOf("?");
}
/*
- * Called to get the arguments from a URL as a hash.
+ * Called to get a CSS property for an element.
*/
function getStyle(el, property) {
var style;
return string;
}
+
+function makeShortCode(lat, lon, zoom) {
+ char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_@";
+ var x = Math.round((lon + 180.0) * ((1 << 30) / 90.0));
+ var y = Math.round((lat + 90.0) * ((1 << 30) / 45.0));
+ // hack around the fact that JS apparently only allows 53-bit integers?!?
+ // note that, although this reduces the accuracy of the process, it's fine for
+ // z18 so we don't need to care for now.
+ var c1 = 0, c2 = 0;
+ for (var i = 31; i > 16; --i) {
+ c1 = (c1 << 1) | ((x >> i) & 1);
+ c1 = (c1 << 1) | ((y >> i) & 1);
+ }
+ for (var i = 16; i > 1; --i) {
+ c2 = (c2 << 1) | ((x >> i) & 1);
+ c2 = (c2 << 1) | ((y >> i) & 1);
+ }
+ var str = "";
+ for (var i = 0; i < Math.ceil((zoom + 8) / 3.0) && i < 5; ++i) {
+ digit = (c1 >> (24 - 6 * i)) & 0x3f;
+ str += char_array.charAt(digit);
+ }
+ for (var i = 5; i < Math.ceil((zoom + 8) / 3.0); ++i) {
+ digit = (c2 >> (24 - 6 * (i - 5))) & 0x3f;
+ str += char_array.charAt(digit);
+ }
+ for (var i = 0; i < ((zoom + 8) % 3); ++i) {
+ str += "=";
+ }
+ return str;
+}
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.ca={'unhandledRequest':"Resposta a petició no gestionada ${statusText}",'permalink':"Enllaç permanent",'overlays':"Capes addicionals",'baseLayer':"Capa Base",'sameProjection':"El mapa de referència només funciona si té la mateixa projecció que el mapa principal",'readNotImplemented':"Lectura no implementada.",'writeNotImplemented':"Escriptura no implementada.",'noFID':"No es pot actualitzar un element per al que no existeix FID.",'errorLoadingGML':"Error caregant el fitxer GML ${url}",'browserNotSupported':"El seu navegador no suporta renderització vectorial. Els renderitzadors suportats actualmente són:\n${renderers}",'componentShouldBe':"addFeatures : el component ha de ser de tipus ${geomType}",'getFeatureError':"getFeatureFromEvent ha estat cridat a una capa sense renderizador. Això normalment vol dir que "+"s'ha eliminat una capa, però no el handler associat a ella.",'minZoomLevelError':"La propietat minZoomLevel s'ha d'utilitzar només "+"amb les capes que tenen FixedZoomLevels. El fet que "+"una capa wfs comprovi minZoomLevel és una reliquia del "+"passat. No podem, però, eliminar-la sense trencar "+"les aplicacions d'OpenLayers que en puguin dependre. "+"Així doncs estem fent-la obsoleta -- la comprovació "+"minZoomLevel s'eliminarà a la versió 3.0. Feu servir "+"els paràmetres min/max resolution en substitució, tal com es descriu aquí: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacció WFS: CORRECTA ${response}",'commitFailed':"Transacció WFS: HA FALLAT ${response}",'googleWarning':"La capa Google no s'ha pogut carregar correctament.<br><br>"+"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.<br><br>"+"Probablement això és degut a que l'script de la biblioteca de "+"Google Maps no ha estat inclòs a la vostra pàgina, o no "+"conté la clau de l'API correcta per a la vostra adreça.<br><br>"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>féu clic aquí</a>",'getLayerWarning':"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.<br><br>"+"Probablement això és degut a que l'script de la biblioteca "+"${layerLib} "+"no ha estat inclòs a la vostra pàgina.<br><br>"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>féu clic aquí</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Heu intentat afegir la capa: ${layerName} al mapa, pero ja ha estat afegida anteriorment",'reprojectDeprecated':"Esteu fent servir l'opció 'reproject' a la capa "+"${layerName}. Aquesta opció és obsoleta: el seu ús fou concebut "+"per suportar la visualització de dades sobre mapes base comercials, "+"però aquesta funcionalitat s'hauria d'assolir ara mitjançant el suport "+"de la projecció Spherical Mercator. Més informació disponible a "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Aquest mètode és obsolet i s'eliminará a la versió 3.0. "+"Si us plau feu servir em mètode alternatiu ${newMethod}.",'boundsAddError':"Ha de proporcionar els valors x i y a la funció add.",'lonlatAddError':"Ha de proporcionar els valors lon i lat a la funció add.",'pixelAddError':"Ha de proporcionar els valors x i y a la funció add.",'unsupportedGeometryType':"Tipus de geometria no suportada: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition ha fallat: l'element amb id ${elemId} pot estar fora de lloc.",'filterEvaluateNotImplemented':"evaluate no està implementat per aquest tipus de filtre.",'end':''};OpenLayers.Lang.en={'unhandledRequest':"Unhandled request return ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Base Layer",'sameProjection':"The overview map only works when it is in the same projection as the main map",'readNotImplemented':"Read not implemented.",'writeNotImplemented':"Write not implemented.",'noFID':"Can't update a feature for which there is no FID.",'errorLoadingGML':"Error in loading GML file ${url}",'browserNotSupported':"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",'componentShouldBe':"addFeatures : component should be an ${geomType}",'getFeatureError':"getFeatureFromEvent called on layer with no renderer. This usually means you "+"destroyed a layer, but not some handler which is associated with it.",'minZoomLevelError':"The minZoomLevel property is only intended for use "+"with the FixedZoomLevels-descendent layers. That this "+"wfs layer checks for minZoomLevel is a relic of the"+"past. We cannot, however, remove it without possibly "+"breaking OL based applications that may depend on it."+" Therefore we are deprecating it -- the minZoomLevel "+"check below will be removed at 3.0. Please instead "+"use min/max resolution setting as described here: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: SUCCESS ${response}",'commitFailed':"WFS Transaction: FAILED ${response}",'googleWarning':"The Google Layer was unable to load correctly.<br><br>"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.<br><br>"+"Most likely, this is because the Google Maps library "+"script was either not included, or does not contain the "+"correct API key for your site.<br><br>"+"Developers: For help getting this working correctly, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>click here</a>",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.<br><br>"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.<br><br>"+"Most likely, this is because the ${layerLib} library "+"script was not correctly included.<br><br>"+"Developers: For help getting this working correctly, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>click here</a>",'scale':"Scale = 1 : ${scaleDenom}",'layerAlreadyAdded':"You tried to add the layer: ${layerName} to the map, but it has already been added",'reprojectDeprecated':"You are using the 'reproject' option "+"on the ${layerName} layer. This option is deprecated: "+"its use was designed to support displaying data over commercial "+"basemaps, but that functionality should now be achieved by using "+"Spherical Mercator support. More information is available from "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"This method has been deprecated and will be removed in 3.0. "+"Please use ${newMethod} instead.",'boundsAddError':"You must pass both x and y values to the add function.",'lonlatAddError':"You must pass both lon and lat values to the add function.",'pixelAddError':"You must pass both x and y values to the add function.",'unsupportedGeometryType':"Unsupported geometry type: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",'end':'','filterEvaluateNotImplemented':"evaluate is not implemented for this filter type."};OpenLayers.Lang.es={'unhandledRequest':"Respuesta a petición no gestionada ${statusText}",'permalink':"Enlace permanente",'overlays':"Capas superpuestas",'baseLayer':"Capa Base",'sameProjection':"El mini mapa sólo funciona si está en la misma proyección que el mapa principal",'readNotImplemented':"Lectura no implementada.",'writeNotImplemented':"Escritura no implementada.",'noFID':"No se puede actualizar un elemento para el que no existe FID.",'errorLoadingGML':"Error cargando el fichero GML ${url}",'browserNotSupported':"Su navegador no soporta renderización vectorial. Los renderizadores soportados actualmente son:\n${renderers}",'componentShouldBe':"addFeatures : el componente debe ser del tipo ${geomType}",'getFeatureError':"getFeatureFromEvent llamado en una capa sin renderizador. Esto normalmente quiere decir que "+"se ha destruido una capa, pero no el manejador asociado a ella.",'minZoomLevelError':"La propiedad minZoomLevel debe sólo utilizarse "+"con las capas que tienen FixedZoomLevels. El hecho de que "+"una capa wfs compruebe minZoomLevel is una reliquia del "+"pasado. Sin embargo, no podemos eliminarla sin discontinuar "+"probablemente las aplicaciones OL que puedan depender de ello. "+"Así pues estamos haciéndolo obsoleto --la comprobación "+"minZoomLevel se eliminará en la versión 3.0. Utilice el ajuste "+"de resolution min/max en su lugar, tal como se describe aquí: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacción WFS: ÉXITO ${response}",'commitFailed':"Transacción WFS: FALLÓ ${response}",'googleWarning':"La capa Google no pudo ser cargada correctamente.<br><br>"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.<br><br>"+"Probablemente, esto se debe a que el script de la biblioteca de "+"Google Maps no fue correctamente incluido en su página, o no "+"contiene la clave del API correcta para su sitio.<br><br>"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>haga clic aquí</a>",'getLayerWarning':"La capa ${layerType} no pudo ser cargada correctamente.<br><br>"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.<br><br>"+"Probablemente, esto se debe a que el script de "+"la biblioteca ${layerLib} "+"no fue correctamente incluido en su página.<br><br>"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>haga clic aquí</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Intentó añadir la capa: ${layerName} al mapa, pero ya había sido añadida previamente",'reprojectDeprecated':"Está usando la opción 'reproject' en la capa "+"${layerName}. Esta opción está obsoleta: su uso fue diseñado "+"para soportar la visualización de datos sobre mapas base comerciales, "+"pero esa funcionalidad debería conseguirse ahora mediante el soporte "+"de la proyección Spherical Mercator. Más información disponible en "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método está obsoleto y se eliminará en la versión 3.0. "+"Por favor utilice el método ${newMethod} en su lugar.",'boundsAddError':"Debe proporcionar los valores x e y a la función add.",'lonlatAddError':"Debe proporcionar los valores lon y lat a la función add.",'pixelAddError':"Debe proporcionar los valores x e y a la función add.",'unsupportedGeometryType':"Tipo de geometría no soportada: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falló: el elemento con id ${elemId} puede haberse colocado de manera errónea.",'filterEvaluateNotImplemented':"evaluate no está implementado para este tipo de filtro.",'end':''};OpenLayers.Lang.fr={'unhandledRequest':"Requête non gérée, retournant ${statusText}",'permalink':"Permalien",'overlays':"Calques",'baseLayer':"Calque de base",'sameProjection':"La carte de situation ne fonctionne que lorsque sa projection est la même que celle de la carte principale",'readNotImplemented':"Lecture non implémentée.",'writeNotImplemented':"Ecriture non implémentée.",'noFID':"Impossible de mettre à jour un objet sans identifiant (fid).",'errorLoadingGML':"Erreur au chargement du fichier GML ${url}",'browserNotSupported':"Votre navigateur ne supporte pas le rendu vectoriel. Les renderers actuellement supportés sont : \n${renderers}",'componentShouldBe':"addFeatures : le composant devrait être de type ${geomType}",'getFeatureError':"getFeatureFromEvent a été appelé sur un calque sans renderer. Cela signifie généralement que vous "+"avez détruit cette couche, mais que vous avez conservé un handler qui lui était associé.",'minZoomLevelError':"La propriété minZoomLevel doit seulement être utilisée "+"pour des couches FixedZoomLevels-descendent. Le fait que "+"cette couche WFS vérifie la présence de minZoomLevel "+"est une relique du passé. Nous ne pouvons toutefois la "+"supprimer sans casser des applications qui pourraient en dépendre."+" C'est pourquoi nous la déprécions -- la vérification du minZoomLevel "+"sera supprimée en version 3.0. A la place, merci d'utiliser "+"les paramètres de résolutions min/max tel que décrit sur : "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transaction WFS : SUCCES ${response}",'commitFailed':"Transaction WFS : ECHEC ${response}",'googleWarning':"La couche Google n'a pas été en mesure de se charger correctement.<br><br>"+"Pour supprimer ce message, choisissez une nouvelle BaseLayer "+"dans le sélecteur de couche en haut à droite.<br><br>"+"Cela est possiblement causé par la non-inclusion de la "+"librairie Google Maps, ou alors parce que la clé de l'API "+"ne correspond pas à votre site.<br><br>"+"Développeurs : pour savoir comment corriger ceci, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>cliquez ici</a>",'getLayerWarning':"La couche ${layerType} n'est pas en mesure de se charger correctement.<br><br>"+"Pour supprimer ce message, choisissez une nouvelle BaseLayer "+"dans le sélecteur de couche en haut à droite.<br><br>"+"Cela est possiblement causé par la non-inclusion de la "+"librairie ${layerLib}.<br><br>"+"Développeurs : pour savoir comment corriger ceci, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>cliquez ici</a>",'scale':"Echelle ~ 1 : ${scaleDenom}",'layerAlreadyAdded':"Vous avez essayé d'ajouter à la carte le calque : ${layerName}, mais il est déjà présent",'reprojectDeprecated':"Vous utilisez l'option 'reproject' "+"sur la couche ${layerName}. Cette option est dépréciée : "+"Son usage permettait d'afficher des données au dessus de couches raster commerciales."+"Cette fonctionalité est maintenant supportée en utilisant le support de la projection "+"Mercator Sphérique. Plus d'information est disponible sur "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Cette méthode est dépréciée, et sera supprimée à la version 3.0. "+"Merci d'utiliser ${newMethod} à la place.",'boundsAddError':"Vous devez passer les deux valeurs x et y à la fonction add.",'lonlatAddError':"Vous devez passer les deux valeurs lon et lat à la fonction add.",'pixelAddError':"Vous devez passer les deux valeurs x et y à la fonction add.",'unsupportedGeometryType':"Type de géométrie non supporté : ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition a échoué: l'élément d'id ${elemId} pourrait être mal positionné.",'end':''};OpenLayers.Lang.it={'unhandledRequest':"Codice di ritorno della richiesta ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Livello base",'sameProjection':"La mini mappa funziona solamente se ha la stessa proiezione della mappa principale",'readNotImplemented':"Lettura non implementata.",'writeNotImplemented':"Scrittura non implementata.",'noFID':"Impossibile aggiornare un elemento grafico che non abbia il FID.",'errorLoadingGML':"Errore nel caricamento del file GML ${url}",'browserNotSupported':"Il tuo browser non supporta il rendering vettoriale. I renderizzatore attualemnte supportati sono:\n${renderers}",'componentShouldBe':"addFeatures : il componente dovrebbe essere di tipo ${geomType}",'getFeatureError':"getFeatureFromEvent chiamata su di un livello senza renderizzatore. Ciò significa che "+"il livello è stato cancellato, ma non i gestori associati ad esso.",'minZoomLevelError':"La proprietà minZoomLevel è da utilizzare solamente "+"con livelli che abbiano FixedZoomLevels. Il fatto che "+"questo livello wfs controlli la proprietà minZoomLevel è "+"un retaggio del passato. Non possiamo comunque rimuoverla "+"senza rompere le vecchie applicazioni che dipendono su di essa."+"Quindi siamo costretti a deprecarla -- minZoomLevel "+"e sarà rimossa dalla vesione 3.0. Si prega di utilizzare i "+"settaggi di risoluzione min/max come descritto qui: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transazione WFS: SUCCESS ${response}",'commitFailed':"Transazione WFS: FAILED ${response}",'googleWarning':"Il livello Google non è riuscito a caricare correttamente.<br><br>"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.<br><br>"+"Più precisamente, ciò accade perchè la libreria Google Maps "+"non è stata inclusa nella pagina, oppure non contiene la "+"corretta API key per il tuo sito.<br><br>"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>clicca qui</a>",'getLayerWarning':"Il livello ${layerType} non è riuscito a caricare correttamente.<br><br>"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.<br><br>"+"Più precisamente, ciò accade perchè la libreria ${layerLib} "+"non è stata inclusa nella pagina.<br><br>"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>clicca qui</a>",'scale':"Scala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Stai cercando di aggiungere il livello: ${layerName} alla mappa, ma tale livello è già stato aggiunto.",'reprojectDeprecated':"Stai utilizzando l'opzione 'reproject' sul livello ${layerName}. "+"Questa opzione è deprecata: il suo utilizzo è stato introdotto per"+"supportare il disegno dei dati sopra mappe commerciali, ma tale "+"funzionalità dovrebbe essere ottenuta tramite l'utilizzo della proiezione "+"Spherical Mercator. Per maggiori informazioni consultare qui "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Questo metodo è stato deprecato e sarà rimosso dalla versione 3.0. "+"Si prega di utilizzare il metodo ${newMethod} in alternativa.",'boundsAddError':"Devi specificare i valori di x e y alla funzione add.",'lonlatAddError':"Devi specificare i valori di lon e lat alla funzione add.",'pixelAddError':"Devi specificare i valori di x e y alla funzione add.",'unsupportedGeometryType':"Tipo di geometria non supportata: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fallita: l'elemento con id ${elemId} è posizionato in modo errato.",'end':''};OpenLayers.Lang["pt-BR"]={'unhandledRequest':"A requisição retornou um erro não tratado: ${statusText}",'permalink':"Link para essa página",'overlays':"Camadas de Sobreposição",'baseLayer':"Camada Base",'sameProjection':"O mapa de referência só funciona quando ele está na mesma projeção do mapa principal",'readNotImplemented':"Leitura não implementada.",'writeNotImplemented':"Escrita não implementada.",'noFID':"Não é possível atualizar uma feição que não tenha um FID.",'errorLoadingGML':"Erro ao carregar o arquivo GML ${url}",'browserNotSupported':"Seu navegador não suporta renderização de vetores. Os renderizadores suportados atualmente são:\n${renderers}",'componentShouldBe':"addFeatures: o componente deve ser do tipo ${geomType}",'getFeatureError':"getFeatureFromEvent foi executado mas nenhum renderizador foi encontrado. "+"Isso pode indicar que você destruiu uma camana, mas não o handler associado a ela.",'minZoomLevelError':"A propriedade minZoomLevel é de uso restrito das camadas "+"descendentes de FixedZoomLevels. A verificação dessa propriedade "+"pelas camadas wfs é um resíduo do passado. Não podemos, entretanto "+"não é possível removê-la sem possívelmente quebrar o funcionamento "+"de aplicações OL que possuem depência com ela. Portanto estamos "+"tornando seu uso obsoleto -- a verificação desse atributo será "+"removida na versão 3.0. Ao invés, use as opções de resolução "+"min/max como descrito em: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transação WFS : SUCESSO ${response}",'commitFailed':"Transação WFS : ERRO ${response}",'googleWarning':"Não foi possível carregar a camada Google corretamente.<br><br>"+"Para se livrar dessa mensagem, selecione uma nova Camada Base, "+"na ferramenta de alternação de camadas localização do canto "+"superior direito.<br><br>"+"Muito provavelmente, isso foi causado porque o script da "+"biblioteca do Google Maps não foi incluído, ou porque ele não "+"contém a chave correta da API para o seu site.<br><br>"+"Desenvolvedores: Para obter ajuda em solucionar esse problema "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>cliquem aqui</a>",'getLayerWarning':"Não foi possível carregar a camada ${layerType} corretamente.<br><br>"+"Para se livrar dessa mensagem, selecione uma nova Camada Base, "+"na ferramenta de alternação de camadas localização do canto "+"superior direito.<br><br>"+"Muito provavelmente, isso foi causado porque o script da "+"biblioteca ${layerLib} não foi incluído corretamente.<br><br>"+"Desenvolvedores: Para obter ajuda em solucionar esse problema "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>cliquem aqui</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Você tentou adicionar a camada: ${layerName} ao mapa, mas ela já foi adicionada",'reprojectDeprecated':"Você está usando a opção 'reproject' na camada ${layerName}. "+"Essa opção está obsoleta: seu uso foi projetado para suportar "+"a visualização de dados sobre bases de mapas comerciais, "+"entretanto essa funcionalidade deve agora ser alcançada usando "+"o suporte à projeção Mercator. Mais informação está disponível em: "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Esse método está obsoleto e será removido na versão 3.0. "+"Ao invés, por favor use ${newMethod}.",'boundsAddError':"Você deve informar ambos os valores x e y para a função add.",'lonlatAddError':"Você deve informar ambos os valores lon e lat para a função add.",'pixelAddError':"Você deve informar ambos os valores x e y para a função add.",'unsupportedGeometryType':"Tipo geométrico não suportado: ${geomType}.",'pagePositionFailed':"OpenLayers.Util.pagePosition falhou: o elemento de id ${elemId} deve estar fora do lugar.",'end':''};OpenLayers.Lang["zh-CN"]={'unhandledRequest':"未处理的请求,返回值为 ${statusText}",'permalink':"永久链接",'overlays':"叠加层",'baseLayer':"基础图层",'sameProjection':"鹰眼地图只有在和主地图使用相同的投影的时候才能正常共工作",'readNotImplemented':"读取功能没有实现。",'writeNotImplemented':"写入功能没有实现。",'noFID':"无法更新feature,缺少FID。",'errorLoadingGML':"加载GML文件 ${url} 出现错误。",'browserNotSupported':"你使用的浏览器不支持矢量渲染。当前支持的渲染方式包括:\n${renderers}",'componentShouldBe':"addFeatures : 组件类型应该是 ${geomType}",'getFeatureError':"getFeatureFromEvent方法在一个没有渲染器的图层上被调用。 这通常意味着您"+"销毁了一个图层,但并未销毁其关联的handler。",'minZoomLevelError':"minZoomLevel属性仅适合用于"+"使用了固定缩放级别的图层。这个 "+"wfs 图层检查 minZoomLevel 是过去遗留下来的。"+"然而,我们不能移除它,"+"而破坏依赖于它的基于OL的应用程序。"+"因此,我们废除了它 -- minZoomLevel "+"将会在3.0中被移除。请改用 "+"min/max resolution 设置,参考:"+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: 成功。 ${response}",'commitFailed':"WFS Transaction: 失败。 ${response}",'googleWarning':"Google图层不能正确加载。<br><br>"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。<br><br>"+"这种情况很可能是没有正确的包含Google地图脚本库,"+"或者是没有包含在你的站点上"+"使用的正确的Google Maps API密匙。<br><br>"+"开发者:获取使其正确工作的帮助信息,"+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>点击这里</a>",'getLayerWarning':"${layerType} 图层不能正确加载。<br><br>"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。<br><br>"+"这种情况很可能是没有正确的包含"+"${layerLib} 脚本库。<br><br>"+"开发者:获取使其正确工作的帮助信息,"+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>点击这里</a>",'scale':"比例尺 = 1 : ${scaleDenom}",'layerAlreadyAdded':"你尝试添加图层: ${layerName} 到地图中,但是它之前就已经被添加。",'reprojectDeprecated':"你正在使用 ${layerName} 图层上的'reproject'选项。"+"这个选项已经不再使用:"+"它是被设计用来支持显示商业的地图数据,"+"不过现在该功能可以通过使用Spherical Mercator来实现。"+"更多信息可以参阅"+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"该方法已经不再被支持,并且将在3.0中被移除。"+"请使用 ${newMethod} 方法来替代。",'boundsAddError':"您必须传递 x 和 y 两个参数值到 add 方法。",'lonlatAddError':"您必须传递 lon 和 lat 两个参数值到 add 方法。",'pixelAddError':"您必须传递 x and y 两个参数值到 add 方法。",'unsupportedGeometryType':"不支持的几何体类型: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition 失败:id 为 ${elemId} 的元素可能被错置。",'end':''};OpenLayers.Lang["zh-TW"]={'unhandledRequest':"未處理的請求,傳回值為 ${statusText}。",'permalink':"永久連結",'overlays':"額外圖層",'baseLayer':"基礎圖層",'sameProjection':"地圖縮覽(OverviewMap)只能在跟主地圖相同投影時起作用。",'readNotImplemented':"沒有實作讀取的功能。",'writeNotImplemented':"沒有實作寫入的功能。",'noFID':"因為沒有 FID 所以無法更新 feature。",'errorLoadingGML':"讀取GML檔案 ${url} 錯誤。",'browserNotSupported':"您的瀏覽器未支援向量渲染. 目前支援的渲染方式是:\n${renderers}",'componentShouldBe':"addFeatures : 元件應該為 ${geomType}",'getFeatureError':"getFeatureFromEvent 在一個沒有被渲染的圖層裡被呼叫。這通常意味著您 "+"摧毀了一個圖層,但並未摧毀相關的handler。",'minZoomLevelError':"minZoomLevel 屬性僅適合用在 "+"FixedZoomLevels-descendent 類型的圖層. 這個"+"wfs layer 的 minZoomLevel 是過去所遺留下來的,"+"然而我們不能移除它而不讓它將"+"過去的程式相容性給破壞掉。"+"因此我們將會迴避使用它 -- minZoomLevel "+"會在3.0被移除,請改"+"用在這邊描述的 min/max resolution 設定: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: 成功 ${response}",'commitFailed':"WFS Transaction: 失敗 ${response}",'googleWarning':"The Google Layer 圖層無法被正確的載入。<br><br>"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。<br><br>"+"很有可能是因為 Google Maps 的函式庫"+"腳本沒有被正確的置入,或沒有包含 "+"您網站上正確的 API key <br><br>"+"開發者: 要幫助這個行為正確完成,"+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>請按這裡</a>",'getLayerWarning':"${layerType} 圖層無法被正確的載入。<br><br>"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。<br><br>"+"很有可能是因為 ${layerLib} 的函式庫"+"腳本沒有被正確的置入。<br><br>"+"開發者: 要幫助這個行為正確完成,"+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>請按這裡</a>",'scale':"Scale = 1 : ${scaleDenom}",'layerAlreadyAdded':"你試著新增圖層: ${layerName} 到地圖上,但圖層之前就已經被新增了。",'reprojectDeprecated':"你正使用 'reproject' 這個選項 "+"在 ${layerName} 層。這個選項已經不再使用:"+"它的使用原本是設計用來支援在商業地圖上秀出資料,"+"但這個功能已經被"+"Spherical Mercator所取代。更多的資訊可以在 "+"http://trac.openlayers.org/wiki/SphericalMercator 找到。",'methodDeprecated':"這個方法已經不再使用且在3.0將會被移除,"+"請使用 ${newMethod} 來代替。",'boundsAddError':"您必須傳入 x 跟 y 兩者的值進 add 函數。",'lonlatAddError':"您必須傳入 lon 跟 lat 兩者的值進 add 函數。",'pixelAddError':"您必須傳入 x 跟 y 兩者的值進 add 函數。",'unsupportedGeometryType':"未支援的幾何型別: ${geomType}。",'pagePositionFailed':"OpenLayers.Util.pagePosition 失敗: id ${elemId} 的 element 可能被錯置。",'end':''};OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);},draw:function(px){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div;},updateRelativePosition:function(){this.setRicoCorners();},setSize:function(contentSize){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners();},setBackgroundColor:function(color){if(color!=undefined){this.backgroundColor=color;}
+-this.element.lefttop[1]);},CLASS_NAME:"OpenLayers.Events"});OpenLayers.Format=OpenLayers.Class({options:null,externalProjection:null,internalProjection:null,data:null,keepData:false,initialize:function(options){OpenLayers.Util.extend(this,options);this.options=options;},destroy:function(){},read:function(data){OpenLayers.Console.userError(OpenLayers.i18n("readNotImplemented"));},write:function(object){OpenLayers.Console.userError(OpenLayers.i18n("writeNotImplemented"));},CLASS_NAME:"OpenLayers.Format"});OpenLayers.Lang.ca={'unhandledRequest':"Resposta a petició no gestionada ${statusText}",'permalink':"Enllaç permanent",'overlays':"Capes addicionals",'baseLayer':"Capa Base",'sameProjection':"El mapa de referència només funciona si té la mateixa projecció que el mapa principal",'readNotImplemented':"Lectura no implementada.",'writeNotImplemented':"Escriptura no implementada.",'noFID':"No es pot actualitzar un element per al que no existeix FID.",'errorLoadingGML':"Error caregant el fitxer GML ${url}",'browserNotSupported':"El seu navegador no suporta renderització vectorial. Els renderitzadors suportats actualmente són:\n${renderers}",'componentShouldBe':"addFeatures : el component ha de ser de tipus ${geomType}",'getFeatureError':"getFeatureFromEvent ha estat cridat a una capa sense renderizador. Això normalment vol dir que "+"s'ha eliminat una capa, però no el handler associat a ella.",'minZoomLevelError':"La propietat minZoomLevel s'ha d'utilitzar només "+"amb les capes que tenen FixedZoomLevels. El fet que "+"una capa wfs comprovi minZoomLevel és una reliquia del "+"passat. No podem, però, eliminar-la sense trencar "+"les aplicacions d'OpenLayers que en puguin dependre. "+"Així doncs estem fent-la obsoleta -- la comprovació "+"minZoomLevel s'eliminarà a la versió 3.0. Feu servir "+"els paràmetres min/max resolution en substitució, tal com es descriu aquí: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacció WFS: CORRECTA ${response}",'commitFailed':"Transacció WFS: HA FALLAT ${response}",'googleWarning':"La capa Google no s'ha pogut carregar correctament.<br><br>"+"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.<br><br>"+"Probablement això és degut a que l'script de la biblioteca de "+"Google Maps no ha estat inclòs a la vostra pàgina, o no "+"conté la clau de l'API correcta per a la vostra adreça.<br><br>"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>féu clic aquí</a>",'getLayerWarning':"Per evitar aquest missatge, sel·leccioneu una nova Capa Base "+"al gestor de capes de la cantonada superior dreta.<br><br>"+"Probablement això és degut a que l'script de la biblioteca "+"${layerLib} "+"no ha estat inclòs a la vostra pàgina.<br><br>"+"Desenvolupadors: Per obtenir consells sobre com fer anar això, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>féu clic aquí</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Heu intentat afegir la capa: ${layerName} al mapa, pero ja ha estat afegida anteriorment",'reprojectDeprecated':"Esteu fent servir l'opció 'reproject' a la capa "+"${layerName}. Aquesta opció és obsoleta: el seu ús fou concebut "+"per suportar la visualització de dades sobre mapes base comercials, "+"però aquesta funcionalitat s'hauria d'assolir ara mitjançant el suport "+"de la projecció Spherical Mercator. Més informació disponible a "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Aquest mètode és obsolet i s'eliminará a la versió 3.0. "+"Si us plau feu servir em mètode alternatiu ${newMethod}.",'boundsAddError':"Ha de proporcionar els valors x i y a la funció add.",'lonlatAddError':"Ha de proporcionar els valors lon i lat a la funció add.",'pixelAddError':"Ha de proporcionar els valors x i y a la funció add.",'unsupportedGeometryType':"Tipus de geometria no suportada: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition ha fallat: l'element amb id ${elemId} pot estar fora de lloc.",'filterEvaluateNotImplemented':"evaluate no està implementat per aquest tipus de filtre.",'end':''};OpenLayers.Lang.en={'unhandledRequest':"Unhandled request return ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Base Layer",'sameProjection':"The overview map only works when it is in the same projection as the main map",'readNotImplemented':"Read not implemented.",'writeNotImplemented':"Write not implemented.",'noFID':"Can't update a feature for which there is no FID.",'errorLoadingGML':"Error in loading GML file ${url}",'browserNotSupported':"Your browser does not support vector rendering. Currently supported renderers are:\n${renderers}",'componentShouldBe':"addFeatures : component should be an ${geomType}",'getFeatureError':"getFeatureFromEvent called on layer with no renderer. This usually means you "+"destroyed a layer, but not some handler which is associated with it.",'minZoomLevelError':"The minZoomLevel property is only intended for use "+"with the FixedZoomLevels-descendent layers. That this "+"wfs layer checks for minZoomLevel is a relic of the"+"past. We cannot, however, remove it without possibly "+"breaking OL based applications that may depend on it."+" Therefore we are deprecating it -- the minZoomLevel "+"check below will be removed at 3.0. Please instead "+"use min/max resolution setting as described here: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: SUCCESS ${response}",'commitFailed':"WFS Transaction: FAILED ${response}",'googleWarning':"The Google Layer was unable to load correctly.<br><br>"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.<br><br>"+"Most likely, this is because the Google Maps library "+"script was either not included, or does not contain the "+"correct API key for your site.<br><br>"+"Developers: For help getting this working correctly, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>click here</a>",'getLayerWarning':"The ${layerType} Layer was unable to load correctly.<br><br>"+"To get rid of this message, select a new BaseLayer "+"in the layer switcher in the upper-right corner.<br><br>"+"Most likely, this is because the ${layerLib} library "+"script was not correctly included.<br><br>"+"Developers: For help getting this working correctly, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>click here</a>",'scale':"Scale = 1 : ${scaleDenom}",'layerAlreadyAdded':"You tried to add the layer: ${layerName} to the map, but it has already been added",'reprojectDeprecated':"You are using the 'reproject' option "+"on the ${layerName} layer. This option is deprecated: "+"its use was designed to support displaying data over commercial "+"basemaps, but that functionality should now be achieved by using "+"Spherical Mercator support. More information is available from "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"This method has been deprecated and will be removed in 3.0. "+"Please use ${newMethod} instead.",'boundsAddError':"You must pass both x and y values to the add function.",'lonlatAddError':"You must pass both lon and lat values to the add function.",'pixelAddError':"You must pass both x and y values to the add function.",'unsupportedGeometryType':"Unsupported geometry type: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition failed: element with id ${elemId} may be misplaced.",'end':'','filterEvaluateNotImplemented':"evaluate is not implemented for this filter type."};OpenLayers.Lang.es={'unhandledRequest':"Respuesta a petición no gestionada ${statusText}",'permalink':"Enlace permanente",'overlays':"Capas superpuestas",'baseLayer':"Capa Base",'sameProjection':"El mini mapa sólo funciona si está en la misma proyección que el mapa principal",'readNotImplemented':"Lectura no implementada.",'writeNotImplemented':"Escritura no implementada.",'noFID':"No se puede actualizar un elemento para el que no existe FID.",'errorLoadingGML':"Error cargando el fichero GML ${url}",'browserNotSupported':"Su navegador no soporta renderización vectorial. Los renderizadores soportados actualmente son:\n${renderers}",'componentShouldBe':"addFeatures : el componente debe ser del tipo ${geomType}",'getFeatureError':"getFeatureFromEvent llamado en una capa sin renderizador. Esto normalmente quiere decir que "+"se ha destruido una capa, pero no el manejador asociado a ella.",'minZoomLevelError':"La propiedad minZoomLevel debe sólo utilizarse "+"con las capas que tienen FixedZoomLevels. El hecho de que "+"una capa wfs compruebe minZoomLevel is una reliquia del "+"pasado. Sin embargo, no podemos eliminarla sin discontinuar "+"probablemente las aplicaciones OL que puedan depender de ello. "+"Así pues estamos haciéndolo obsoleto --la comprobación "+"minZoomLevel se eliminará en la versión 3.0. Utilice el ajuste "+"de resolution min/max en su lugar, tal como se describe aquí: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transacción WFS: ÉXITO ${response}",'commitFailed':"Transacción WFS: FALLÓ ${response}",'googleWarning':"La capa Google no pudo ser cargada correctamente.<br><br>"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.<br><br>"+"Probablemente, esto se debe a que el script de la biblioteca de "+"Google Maps no fue correctamente incluido en su página, o no "+"contiene la clave del API correcta para su sitio.<br><br>"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>haga clic aquí</a>",'getLayerWarning':"La capa ${layerType} no pudo ser cargada correctamente.<br><br>"+"Para evitar este mensaje, seleccione una nueva Capa Base "+"en el selector de capas en la esquina superior derecha.<br><br>"+"Probablemente, esto se debe a que el script de "+"la biblioteca ${layerLib} "+"no fue correctamente incluido en su página.<br><br>"+"Desarrolladores: Para ayudar a hacer funcionar esto correctamente, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>haga clic aquí</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Intentó añadir la capa: ${layerName} al mapa, pero ya había sido añadida previamente",'reprojectDeprecated':"Está usando la opción 'reproject' en la capa "+"${layerName}. Esta opción está obsoleta: su uso fue diseñado "+"para soportar la visualización de datos sobre mapas base comerciales, "+"pero esa funcionalidad debería conseguirse ahora mediante el soporte "+"de la proyección Spherical Mercator. Más información disponible en "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Este método está obsoleto y se eliminará en la versión 3.0. "+"Por favor utilice el método ${newMethod} en su lugar.",'boundsAddError':"Debe proporcionar los valores x e y a la función add.",'lonlatAddError':"Debe proporcionar los valores lon y lat a la función add.",'pixelAddError':"Debe proporcionar los valores x e y a la función add.",'unsupportedGeometryType':"Tipo de geometría no soportada: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition falló: el elemento con id ${elemId} puede haberse colocado de manera errónea.",'filterEvaluateNotImplemented':"evaluate no está implementado para este tipo de filtro.",'end':''};OpenLayers.Lang.fr={'unhandledRequest':"Requête non gérée, retournant ${statusText}",'permalink':"Permalien",'overlays':"Calques",'baseLayer':"Calque de base",'sameProjection':"La carte de situation ne fonctionne que lorsque sa projection est la même que celle de la carte principale",'readNotImplemented':"Lecture non implémentée.",'writeNotImplemented':"Ecriture non implémentée.",'noFID':"Impossible de mettre à jour un objet sans identifiant (fid).",'errorLoadingGML':"Erreur au chargement du fichier GML ${url}",'browserNotSupported':"Votre navigateur ne supporte pas le rendu vectoriel. Les renderers actuellement supportés sont : \n${renderers}",'componentShouldBe':"addFeatures : le composant devrait être de type ${geomType}",'getFeatureError':"getFeatureFromEvent a été appelé sur un calque sans renderer. Cela signifie généralement que vous "+"avez détruit cette couche, mais que vous avez conservé un handler qui lui était associé.",'minZoomLevelError':"La propriété minZoomLevel doit seulement être utilisée "+"pour des couches FixedZoomLevels-descendent. Le fait que "+"cette couche WFS vérifie la présence de minZoomLevel "+"est une relique du passé. Nous ne pouvons toutefois la "+"supprimer sans casser des applications qui pourraient en dépendre."+" C'est pourquoi nous la déprécions -- la vérification du minZoomLevel "+"sera supprimée en version 3.0. A la place, merci d'utiliser "+"les paramètres de résolutions min/max tel que décrit sur : "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transaction WFS : SUCCES ${response}",'commitFailed':"Transaction WFS : ECHEC ${response}",'googleWarning':"La couche Google n'a pas été en mesure de se charger correctement.<br><br>"+"Pour supprimer ce message, choisissez une nouvelle BaseLayer "+"dans le sélecteur de couche en haut à droite.<br><br>"+"Cela est possiblement causé par la non-inclusion de la "+"librairie Google Maps, ou alors parce que la clé de l'API "+"ne correspond pas à votre site.<br><br>"+"Développeurs : pour savoir comment corriger ceci, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>cliquez ici</a>",'getLayerWarning':"La couche ${layerType} n'est pas en mesure de se charger correctement.<br><br>"+"Pour supprimer ce message, choisissez une nouvelle BaseLayer "+"dans le sélecteur de couche en haut à droite.<br><br>"+"Cela est possiblement causé par la non-inclusion de la "+"librairie ${layerLib}.<br><br>"+"Développeurs : pour savoir comment corriger ceci, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>cliquez ici</a>",'scale':"Echelle ~ 1 : ${scaleDenom}",'layerAlreadyAdded':"Vous avez essayé d'ajouter à la carte le calque : ${layerName}, mais il est déjà présent",'reprojectDeprecated':"Vous utilisez l'option 'reproject' "+"sur la couche ${layerName}. Cette option est dépréciée : "+"Son usage permettait d'afficher des données au dessus de couches raster commerciales."+"Cette fonctionalité est maintenant supportée en utilisant le support de la projection "+"Mercator Sphérique. Plus d'information est disponible sur "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Cette méthode est dépréciée, et sera supprimée à la version 3.0. "+"Merci d'utiliser ${newMethod} à la place.",'boundsAddError':"Vous devez passer les deux valeurs x et y à la fonction add.",'lonlatAddError':"Vous devez passer les deux valeurs lon et lat à la fonction add.",'pixelAddError':"Vous devez passer les deux valeurs x et y à la fonction add.",'unsupportedGeometryType':"Type de géométrie non supporté : ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition a échoué: l'élément d'id ${elemId} pourrait être mal positionné.",'end':''};OpenLayers.Lang.it={'unhandledRequest':"Codice di ritorno della richiesta ${statusText}",'permalink':"Permalink",'overlays':"Overlays",'baseLayer':"Livello base",'sameProjection':"La mini mappa funziona solamente se ha la stessa proiezione della mappa principale",'readNotImplemented':"Lettura non implementata.",'writeNotImplemented':"Scrittura non implementata.",'noFID':"Impossibile aggiornare un elemento grafico che non abbia il FID.",'errorLoadingGML':"Errore nel caricamento del file GML ${url}",'browserNotSupported':"Il tuo browser non supporta il rendering vettoriale. I renderizzatore attualemnte supportati sono:\n${renderers}",'componentShouldBe':"addFeatures : il componente dovrebbe essere di tipo ${geomType}",'getFeatureError':"getFeatureFromEvent chiamata su di un livello senza renderizzatore. Ciò significa che "+"il livello è stato cancellato, ma non i gestori associati ad esso.",'minZoomLevelError':"La proprietà minZoomLevel è da utilizzare solamente "+"con livelli che abbiano FixedZoomLevels. Il fatto che "+"questo livello wfs controlli la proprietà minZoomLevel è "+"un retaggio del passato. Non possiamo comunque rimuoverla "+"senza rompere le vecchie applicazioni che dipendono su di essa."+"Quindi siamo costretti a deprecarla -- minZoomLevel "+"e sarà rimossa dalla vesione 3.0. Si prega di utilizzare i "+"settaggi di risoluzione min/max come descritto qui: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transazione WFS: SUCCESS ${response}",'commitFailed':"Transazione WFS: FAILED ${response}",'googleWarning':"Il livello Google non è riuscito a caricare correttamente.<br><br>"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.<br><br>"+"Più precisamente, ciò accade perchè la libreria Google Maps "+"non è stata inclusa nella pagina, oppure non contiene la "+"corretta API key per il tuo sito.<br><br>"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>clicca qui</a>",'getLayerWarning':"Il livello ${layerType} non è riuscito a caricare correttamente.<br><br>"+"Per evitare questo messaggio, seleziona un nuovo BaseLayer "+"nel selettore di livelli nell'angolo in alto a destra.<br><br>"+"Più precisamente, ciò accade perchè la libreria ${layerLib} "+"non è stata inclusa nella pagina.<br><br>"+"Sviluppatori: Per aiuto su come farlo funzionare correttamente, "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>clicca qui</a>",'scale':"Scala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Stai cercando di aggiungere il livello: ${layerName} alla mappa, ma tale livello è già stato aggiunto.",'reprojectDeprecated':"Stai utilizzando l'opzione 'reproject' sul livello ${layerName}. "+"Questa opzione è deprecata: il suo utilizzo è stato introdotto per"+"supportare il disegno dei dati sopra mappe commerciali, ma tale "+"funzionalità dovrebbe essere ottenuta tramite l'utilizzo della proiezione "+"Spherical Mercator. Per maggiori informazioni consultare qui "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Questo metodo è stato deprecato e sarà rimosso dalla versione 3.0. "+"Si prega di utilizzare il metodo ${newMethod} in alternativa.",'boundsAddError':"Devi specificare i valori di x e y alla funzione add.",'lonlatAddError':"Devi specificare i valori di lon e lat alla funzione add.",'pixelAddError':"Devi specificare i valori di x e y alla funzione add.",'unsupportedGeometryType':"Tipo di geometria non supportata: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition fallita: l'elemento con id ${elemId} è posizionato in modo errato.",'end':''};OpenLayers.Lang["pt-BR"]={'unhandledRequest':"A requisição retornou um erro não tratado: ${statusText}",'permalink':"Link para essa página",'overlays':"Camadas de Sobreposição",'baseLayer':"Camada Base",'sameProjection':"O mapa de referência só funciona quando ele está na mesma projeção do mapa principal",'readNotImplemented':"Leitura não implementada.",'writeNotImplemented':"Escrita não implementada.",'noFID':"Não é possível atualizar uma feição que não tenha um FID.",'errorLoadingGML':"Erro ao carregar o arquivo GML ${url}",'browserNotSupported':"Seu navegador não suporta renderização de vetores. Os renderizadores suportados atualmente são:\n${renderers}",'componentShouldBe':"addFeatures: o componente deve ser do tipo ${geomType}",'getFeatureError':"getFeatureFromEvent foi executado mas nenhum renderizador foi encontrado. "+"Isso pode indicar que você destruiu uma camana, mas não o handler associado a ela.",'minZoomLevelError':"A propriedade minZoomLevel é de uso restrito das camadas "+"descendentes de FixedZoomLevels. A verificação dessa propriedade "+"pelas camadas wfs é um resíduo do passado. Não podemos, entretanto "+"não é possível removê-la sem possívelmente quebrar o funcionamento "+"de aplicações OL que possuem depência com ela. Portanto estamos "+"tornando seu uso obsoleto -- a verificação desse atributo será "+"removida na versão 3.0. Ao invés, use as opções de resolução "+"min/max como descrito em: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"Transação WFS : SUCESSO ${response}",'commitFailed':"Transação WFS : ERRO ${response}",'googleWarning':"Não foi possível carregar a camada Google corretamente.<br><br>"+"Para se livrar dessa mensagem, selecione uma nova Camada Base, "+"na ferramenta de alternação de camadas localização do canto "+"superior direito.<br><br>"+"Muito provavelmente, isso foi causado porque o script da "+"biblioteca do Google Maps não foi incluído, ou porque ele não "+"contém a chave correta da API para o seu site.<br><br>"+"Desenvolvedores: Para obter ajuda em solucionar esse problema "+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>cliquem aqui</a>",'getLayerWarning':"Não foi possível carregar a camada ${layerType} corretamente.<br><br>"+"Para se livrar dessa mensagem, selecione uma nova Camada Base, "+"na ferramenta de alternação de camadas localização do canto "+"superior direito.<br><br>"+"Muito provavelmente, isso foi causado porque o script da "+"biblioteca ${layerLib} não foi incluído corretamente.<br><br>"+"Desenvolvedores: Para obter ajuda em solucionar esse problema "+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>cliquem aqui</a>",'scale':"Escala = 1 : ${scaleDenom}",'layerAlreadyAdded':"Você tentou adicionar a camada: ${layerName} ao mapa, mas ela já foi adicionada",'reprojectDeprecated':"Você está usando a opção 'reproject' na camada ${layerName}. "+"Essa opção está obsoleta: seu uso foi projetado para suportar "+"a visualização de dados sobre bases de mapas comerciais, "+"entretanto essa funcionalidade deve agora ser alcançada usando "+"o suporte à projeção Mercator. Mais informação está disponível em: "+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"Esse método está obsoleto e será removido na versão 3.0. "+"Ao invés, por favor use ${newMethod}.",'boundsAddError':"Você deve informar ambos os valores x e y para a função add.",'lonlatAddError':"Você deve informar ambos os valores lon e lat para a função add.",'pixelAddError':"Você deve informar ambos os valores x e y para a função add.",'unsupportedGeometryType':"Tipo geométrico não suportado: ${geomType}.",'pagePositionFailed':"OpenLayers.Util.pagePosition falhou: o elemento de id ${elemId} deve estar fora do lugar.",'end':''};OpenLayers.Lang["zh-CN"]={'unhandledRequest':"未处理的请求,返回值为 ${statusText}",'permalink':"永久链接",'overlays':"叠加层",'baseLayer':"基础图层",'sameProjection':"鹰眼地图只有在和主地图使用相同的投影的时候才能正常共工作",'readNotImplemented':"读取功能没有实现。",'writeNotImplemented':"写入功能没有实现。",'noFID':"无法更新feature,缺少FID。",'errorLoadingGML':"加载GML文件 ${url} 出现错误。",'browserNotSupported':"你使用的浏览器不支持矢量渲染。当前支持的渲染方式包括:\n${renderers}",'componentShouldBe':"addFeatures : 组件类型应该是 ${geomType}",'getFeatureError':"getFeatureFromEvent方法在一个没有渲染器的图层上被调用。 这通常意味着您"+"销毁了一个图层,但并未销毁其关联的handler。",'minZoomLevelError':"minZoomLevel属性仅适合用于"+"使用了固定缩放级别的图层。这个 "+"wfs 图层检查 minZoomLevel 是过去遗留下来的。"+"然而,我们不能移除它,"+"而破坏依赖于它的基于OL的应用程序。"+"因此,我们废除了它 -- minZoomLevel "+"将会在3.0中被移除。请改用 "+"min/max resolution 设置,参考:"+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: 成功。 ${response}",'commitFailed':"WFS Transaction: 失败。 ${response}",'googleWarning':"Google图层不能正确加载。<br><br>"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。<br><br>"+"这种情况很可能是没有正确的包含Google地图脚本库,"+"或者是没有包含在你的站点上"+"使用的正确的Google Maps API密匙。<br><br>"+"开发者:获取使其正确工作的帮助信息,"+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>点击这里</a>",'getLayerWarning':"${layerType} 图层不能正确加载。<br><br>"+"要消除这个信息,请在右上角的"+"图层控制面板中选择其他的基础图层。<br><br>"+"这种情况很可能是没有正确的包含"+"${layerLib} 脚本库。<br><br>"+"开发者:获取使其正确工作的帮助信息,"+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>点击这里</a>",'scale':"比例尺 = 1 : ${scaleDenom}",'layerAlreadyAdded':"你尝试添加图层: ${layerName} 到地图中,但是它之前就已经被添加。",'reprojectDeprecated':"你正在使用 ${layerName} 图层上的'reproject'选项。"+"这个选项已经不再使用:"+"它是被设计用来支持显示商业的地图数据,"+"不过现在该功能可以通过使用Spherical Mercator来实现。"+"更多信息可以参阅"+"http://trac.openlayers.org/wiki/SphericalMercator.",'methodDeprecated':"该方法已经不再被支持,并且将在3.0中被移除。"+"请使用 ${newMethod} 方法来替代。",'boundsAddError':"您必须传递 x 和 y 两个参数值到 add 方法。",'lonlatAddError':"您必须传递 lon 和 lat 两个参数值到 add 方法。",'pixelAddError':"您必须传递 x and y 两个参数值到 add 方法。",'unsupportedGeometryType':"不支持的几何体类型: ${geomType}",'pagePositionFailed':"OpenLayers.Util.pagePosition 失败:id 为 ${elemId} 的元素可能被错置。",'end':''};OpenLayers.Lang["zh-TW"]={'unhandledRequest':"未處理的請求,傳回值為 ${statusText}。",'permalink':"永久連結",'overlays':"額外圖層",'baseLayer':"基礎圖層",'sameProjection':"地圖縮覽(OverviewMap)只能在跟主地圖相同投影時起作用。",'readNotImplemented':"沒有實作讀取的功能。",'writeNotImplemented':"沒有實作寫入的功能。",'noFID':"因為沒有 FID 所以無法更新 feature。",'errorLoadingGML':"讀取GML檔案 ${url} 錯誤。",'browserNotSupported':"您的瀏覽器未支援向量渲染. 目前支援的渲染方式是:\n${renderers}",'componentShouldBe':"addFeatures : 元件應該為 ${geomType}",'getFeatureError':"getFeatureFromEvent 在一個沒有被渲染的圖層裡被呼叫。這通常意味著您 "+"摧毀了一個圖層,但並未摧毀相關的handler。",'minZoomLevelError':"minZoomLevel 屬性僅適合用在 "+"FixedZoomLevels-descendent 類型的圖層. 這個"+"wfs layer 的 minZoomLevel 是過去所遺留下來的,"+"然而我們不能移除它而不讓它將"+"過去的程式相容性給破壞掉。"+"因此我們將會迴避使用它 -- minZoomLevel "+"會在3.0被移除,請改"+"用在這邊描述的 min/max resolution 設定: "+"http://trac.openlayers.org/wiki/SettingZoomLevels",'commitSuccess':"WFS Transaction: 成功 ${response}",'commitFailed':"WFS Transaction: 失敗 ${response}",'googleWarning':"The Google Layer 圖層無法被正確的載入。<br><br>"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。<br><br>"+"很有可能是因為 Google Maps 的函式庫"+"腳本沒有被正確的置入,或沒有包含 "+"您網站上正確的 API key <br><br>"+"開發者: 要幫助這個行為正確完成,"+"<a href='http://trac.openlayers.org/wiki/Google' "+"target='_blank'>請按這裡</a>",'getLayerWarning':"${layerType} 圖層無法被正確的載入。<br><br>"+"要迴避這個訊息, 請在右上角的圖層改變器裡,"+"選一個新的基礎圖層。<br><br>"+"很有可能是因為 ${layerLib} 的函式庫"+"腳本沒有被正確的置入。<br><br>"+"開發者: 要幫助這個行為正確完成,"+"<a href='http://trac.openlayers.org/wiki/${layerLib}' "+"target='_blank'>請按這裡</a>",'scale':"Scale = 1 : ${scaleDenom}",'layerAlreadyAdded':"你試著新增圖層: ${layerName} 到地圖上,但圖層之前就已經被新增了。",'reprojectDeprecated':"你正使用 'reproject' 這個選項 "+"在 ${layerName} 層。這個選項已經不再使用:"+"它的使用原本是設計用來支援在商業地圖上秀出資料,"+"但這個功能已經被"+"Spherical Mercator所取代。更多的資訊可以在 "+"http://trac.openlayers.org/wiki/SphericalMercator 找到。",'methodDeprecated':"這個方法已經不再使用且在3.0將會被移除,"+"請使用 ${newMethod} 來代替。",'boundsAddError':"您必須傳入 x 跟 y 兩者的值進 add 函數。",'lonlatAddError':"您必須傳入 lon 跟 lat 兩者的值進 add 函數。",'pixelAddError':"您必須傳入 x 跟 y 兩者的值進 add 函數。",'unsupportedGeometryType':"未支援的幾何型別: ${geomType}。",'pagePositionFailed':"OpenLayers.Util.pagePosition 失敗: id ${elemId} 的 element 可能被錯置。",'end':''};OpenLayers.Popup.AnchoredBubble=OpenLayers.Class(OpenLayers.Popup.Anchored,{rounded:false,initialize:function(id,lonlat,contentSize,contentHTML,anchor,closeBox,closeBoxCallback){this.padding=new OpenLayers.Bounds(0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE,0,OpenLayers.Popup.AnchoredBubble.CORNER_SIZE);OpenLayers.Popup.Anchored.prototype.initialize.apply(this,arguments);},draw:function(px){OpenLayers.Popup.Anchored.prototype.draw.apply(this,arguments);this.setContentHTML();this.setBackgroundColor();this.setOpacity();return this.div;},updateRelativePosition:function(){this.setRicoCorners();},setSize:function(contentSize){OpenLayers.Popup.Anchored.prototype.setSize.apply(this,arguments);this.setRicoCorners();},setBackgroundColor:function(color){if(color!=undefined){this.backgroundColor=color;}
if(this.div!=null){if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.groupDiv,this.backgroundColor);}}},setOpacity:function(opacity){OpenLayers.Popup.Anchored.prototype.setOpacity.call(this,opacity);if(this.div!=null){if(this.groupDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.groupDiv,this.opacity);}}},setBorder:function(border){this.border=0;},setRicoCorners:function(){var corners=this.getCornersToRound(this.relativePosition);var options={corners:corners,color:this.backgroundColor,bgColor:"transparent",blend:false};if(!this.rounded){OpenLayers.Rico.Corner.round(this.div,options);this.rounded=true;}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,options);this.setBackgroundColor();this.setOpacity();}},getCornersToRound:function(){var corners=['tl','tr','bl','br'];var corner=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(corners,corner);return corners.join(" ");},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Projection=OpenLayers.Class({proj:null,projCode:null,initialize:function(projCode,options){OpenLayers.Util.extend(this,options);this.projCode=projCode;if(window.Proj4js){this.proj=new Proj4js.Proj(projCode);}},getCode:function(){return this.proj?this.proj.srsCode:this.projCode;},getUnits:function(){return this.proj?this.proj.units:null;},toString:function(){return this.getCode();},equals:function(projection){if(projection&&projection.getCode){return this.getCode()==projection.getCode();}else{return false;}},destroy:function(){delete this.proj;delete this.projCode;},CLASS_NAME:"OpenLayers.Projection"});OpenLayers.Projection.transforms={};OpenLayers.Projection.addTransform=function(from,to,method){if(!OpenLayers.Projection.transforms[from]){OpenLayers.Projection.transforms[from]={};}
OpenLayers.Projection.transforms[from][to]=method;};OpenLayers.Projection.transform=function(point,source,dest){if(source.proj&&dest.proj){point=Proj4js.transform(source.proj,dest.proj,point);}else if(source&&dest&&OpenLayers.Projection.transforms[source.getCode()]&&OpenLayers.Projection.transforms[source.getCode()][dest.getCode()]){OpenLayers.Projection.transforms[source.getCode()][dest.getCode()](point);}
return point;};OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",MAX_PIXEL:15000,translationParameters:null,symbolSize:{},isGecko:null,initialize:function(containerID){if(!this.supported()){return;}
Math.pow(y-intersection.y,2));if(dist<tolerance){intersection.x=x;intersection.y=y;break outer;}}}}}else{var segs=[seg1,seg2];var source,target,x,y,p,result;outer:for(var i=0;i<2;++i){source=segs[i];target=segs[(i+1)%2];for(var j=1;j<3;++j){p={x:source["x"+j],y:source["y"+j]};result=OpenLayers.Geometry.distanceToSegment(p,target);if(result.distance<tolerance){if(point){intersection=new OpenLayers.Geometry.Point(p.x,p.y);}else{intersection=true;}
break outer;}}}}}
return intersection;};OpenLayers.Geometry.distanceToSegment=function(point,segment){var x0=point.x;var y0=point.y;var x1=segment.x1;var y1=segment.y1;var x2=segment.x2;var y2=segment.y2;var dx=x2-x1;var dy=y2-y1;var along=((dx*(x0-x1))+(dy*(y0-y1)))/(Math.pow(dx,2)+Math.pow(dy,2));var x,y;if(along<=0.0){x=x1;y=y1;}else if(along>=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.TMS=OpenLayers.Class(OpenLayers.Layer.Grid,{serviceVersion:"1.0.0",isBaseLayer:true,tileOrigin:null,serverResolutions:null,initialize:function(name,url,options){var newArguments=[];newArguments.push(name,url,{},options);OpenLayers.Layer.Grid.prototype.initialize.apply(this,newArguments);},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.TMS(this.name,this.url,this.options);}
-obj=OpenLayers.Layer.Grid.prototype.clone.apply(this,[obj]);return obj;},getURL:function(bounds){bounds=this.adjustBounds(bounds);var res=this.map.getResolution();var x=Math.round((bounds.left-this.tileOrigin.lon)/(res*this.tileSize.w));var y=Math.round((bounds.bottom-this.tileOrigin.lat)/(res*this.tileSize.h));var z=this.serverResolutions!=null?OpenLayers.Util.indexOf(this.serverResolutions,res):this.map.getZoom();var path=this.serviceVersion+"/"+this.layername+"/"+z+"/"+x+"/"+y+"."+this.type;var url=this.url;if(url instanceof Array){url=this.selectUrl(path,url);}
-return url+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.map.maxExtent.left,this.map.maxExtent.bottom);}},CLASS_NAME:"OpenLayers.Layer.TMS"});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;}
+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);}
+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.options);}
+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);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 <a href='http://openstreetmap.org/'>OpenStreetMap</a>",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();}
if(this.minScaleDenominator){applies=scale>=OpenLayers.Style.createLiteral(this.minScaleDenominator,context);}
if(applies&&this.maxScaleDenominator){applies=scale<OpenLayers.Style.createLiteral(this.maxScaleDenominator,context);}
}
};
-/**
- * @requires OpenLayers/Layer/TMS.js
- *
- * Class: OpenLayers.Layer.OSM
- *
- * Inherits from:
- * - <OpenLayers.Layer.TMS>
- */
-OpenLayers.Layer.OSM = OpenLayers.Class(OpenLayers.Layer.TMS, {
- /**
- * Constructor: OpenLayers.Layer.OSM
- *
- * Parameters:
- * name - {String}
- * url - {String}
- * options - {Object} Hashtable of extra options to tag onto the layer
- */
- initialize: function(name, url, options) {
- options = OpenLayers.Util.extend({
- attribution: "Data by <a href='http://openstreetmap.org/'>OpenStreetMap</a> under <a href='http://creativecommons.org/licenses/by-sa/2.0/'>CC-BY-SA</a>",
- maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
- maxResolution: 156543.0339,
- units: "m",
- projection: "EPSG:900913",
- transitionEffect: "resize"
- }, options);
- var newArguments = [name, url, options];
- OpenLayers.Layer.TMS.prototype.initialize.apply(this, newArguments);
- },
-
- /**
- * Method: getUrl
- *
- * Parameters:
- * bounds - {<OpenLayers.Bounds>}
- *
- * Returns:
- * {String} A string with the layer's url and parameters and also the
- * passed-in bounds and appropriate tile size specified as
- * parameters
- */
- 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 (y < 0 || y >= limit)
- {
- return OpenLayers.Util.OSM.MISSING_TILE_URL;
- }
- else
- {
- x = ((x % limit) + limit) % limit;
-
- var url = this.url;
- var path = z + "/" + x + "/" + y + ".png";
-
- if (url instanceof Array)
- {
- url = this.selectUrl(path, url);
- }
-
- return url + path;
- }
- },
-
- CLASS_NAME: "OpenLayers.Layer.OSM"
-});
-
/**
* Class: OpenLayers.Layer.OSM.Mapnik
*
*/
initialize: function(name, options) {
var url = [
- "http://a.tile.openstreetmap.org/",
- "http://b.tile.openstreetmap.org/",
- "http://c.tile.openstreetmap.org/"
+ "http://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
+ "http://b.tile.openstreetmap.org/${z}/${x}/${y}.png",
+ "http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"
];
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
var newArguments = [name, url, options];
*/
initialize: function(name, options) {
var url = [
- "http://a.tah.openstreetmap.org/Tiles/tile/",
- "http://b.tah.openstreetmap.org/Tiles/tile/",
- "http://c.tah.openstreetmap.org/Tiles/tile/"
+ "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
+ "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
+ "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
];
options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
var newArguments = [name, url, options];
*/
initialize: function(name, options) {
var url = [
- "http://a.andy.sandbox.cloudmade.com/tiles/cycle/",
- "http://b.andy.sandbox.cloudmade.com/tiles/cycle/",
- "http://c.andy.sandbox.cloudmade.com/tiles/cycle/"
+ "http://a.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
+ "http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
+ "http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png"
];
options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
var newArguments = [name, url, options];
*/
initialize: function(name, options) {
var url = [
- "http://d.tah.openstreetmap.org/Tiles/maplint/",
- "http://e.tah.openstreetmap.org/Tiles/maplint/",
- "http://f.tah.openstreetmap.org/Tiles/maplint/"
+ "http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
+ "http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
+ "http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png"
];
options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options);
var newArguments = [name, url, options];
bottom:15px;
right:15px;
font-size:smaller;
+ text-align: right;
}
#attribution {
use feature ':5.10';
use strict;
use warnings;
-use YAML::Syck qw(Load LoadFile);
+use YAML::Syck qw(LoadFile);
use Test::Differences;
use Pod::Usage ();
use Getopt::Long ();
diff --keys en.yml is.yml
# --untranslated-values compares prints keys whose values don't differ
- diff --untranslated-values-all en.yml is.yml
+ diff --untranslated-values en.yml is.yml
# --untranslated-values-all compares prints keys whose values
# don't differ. Ignoring the blacklist which prunes things
=item --untranslated-values
-Show keys whose values are either exactly the same between the two
-files, or don't exist in the target file (the latter file
-specified). The values are pruned according to global and language
-specific blacklists found in the C<__DATA__> section of this script.
+Show keys that B<exist in both the compared files> and whose values
+are exactly the same. Use C<--keys> to a list of values that hasn't
+been merged.
+
+The values are pruned according to global and language specific
+blacklists found in the C<__DATA__> section of this script.
This helps to find untranslated values.
sub untranslated_keys
{
my ($from_parsed, $to_parsed) = @_;
- sort grep { not exists $to_parsed->{$_} or $from_parsed->{$_} eq $to_parsed->{$_} } keys %$from_parsed;
+ sort grep { exists $to_parsed->{$_} and $from_parsed->{$_} eq $to_parsed->{$_} } keys %$from_parsed;
}
sub prune_untranslated_with_blacklist
my %keys;
@keys{@keys} = ();
- my $end_yaml = Load(join '', <DATA>);
+ my $end_yaml = LoadFile(*DATA);
my $untranslated_values = $end_yaml->{untranslated_values};
my $default = $untranslated_values->{default};
my $this_language = $untranslated_values->{$language} || {};
layouts.project_name.h1: true
layouts.project_name.title: true
site.index.license.project_url: true
+ browse.relation_member.entry: true
+
de:
activerecord.attributes.message.sender: true
activerecord.attributes.trace.name: true
trace.view.tags: true
user.account.public editing.enabled link: true
+ is:
+ # ({{link}})
+ site.edit.anon_edits: true
+
+ # Creative Commons Attribution-Share Alike 2.0
+ site.index.license.license_name: true
+
+ # http://creativecommons.org/licenses/by-sa/2.0/
+ site.index.license.license_url: true
+
+ # {{id}}
+ printable_name.with_id: true
+
+ # {{name}} ({{id}})
+ printable_name.with_name: true
--- /dev/null
+require File.dirname(__FILE__) + '/../test_helper'
+
+class ShortLinkTest < ActionController::IntegrationTest
+ ##
+ # test the short link with various parameters and ensure they're
+ # kept in the redirect.
+ def test_short_link_params
+ assert_short_link_redirect('1N8H@P_5W')
+ assert_short_link_redirect('euu4oTas==')
+ end
+
+ ##
+ # utility method to test short links
+ def assert_short_link_redirect(short_link)
+ lon, lat, zoom = ShortLink::decode(short_link)
+
+ # test without marker
+ get '/go/' + short_link
+ assert_redirected_to :controller => 'site', :action => 'index', :lat => lat, :lon => lon, :zoom => zoom
+
+ # test with marker
+ get '/go/' + short_link + "?m"
+ assert_redirected_to :controller => 'site', :action => 'index', :mlat => lat, :mlon => lon, :zoom => zoom
+
+ # test with layers and a marker
+ get '/go/' + short_link + "?m&layers=B000FTF"
+ assert_redirected_to :controller => 'site', :action => 'index', :mlat => lat, :mlon => lon, :zoom => zoom, :layers => "B000FTF"
+ get '/go/' + short_link + "?layers=B000FTF&m"
+ assert_redirected_to :controller => 'site', :action => 'index', :mlat => lat, :mlon => lon, :zoom => zoom, :layers => "B000FTF"
+
+ # test with some random query parameters we haven't even implemented yet
+ get '/go/' + short_link + "?foobar=yes"
+ assert_redirected_to :controller => 'site', :action => 'index', :lat => lat, :lon => lon, :zoom => zoom, :foobar => "yes"
+ end
+end
--- /dev/null
+require File.dirname(__FILE__) + '/../test_helper'
+
+class ShortLinkTest < ActiveSupport::TestCase
+ ##
+ # tests that encoding and decoding are working to within
+ # the acceptable quantisation range.
+ def test_encode_decode
+ cases = Array.new
+ 1000.times do
+ cases << [ 180.0 * rand - 90.0, 360.0 * rand - 180.0, (18 * rand).to_i ]
+ end
+
+ cases.each do |lat, lon, zoom|
+ lon2, lat2, zoom2 = ShortLink.decode(ShortLink.encode(lon, lat, zoom))
+ # zooms should be identical
+ assert_equal zoom, zoom2, "Decoding a encoded short link gives different zoom for (#{lat}, #{lon}, #{zoom})."
+ # but the location has a quantisation error introduced at roughly
+ # one pixel (i.e: zoom + 8). the sqrt(5) is because each position
+ # has an extra bit of accuracy in the lat coordinate, due to the
+ # smaller range.
+ distance = Math.sqrt((lat - lat2) ** 2 + (lon - lon2) ** 2)
+ max_distance = 360.0 / (1 << (zoom + 8)) * 0.5 * Math.sqrt(5)
+ assert max_distance > distance, "Maximum expected error exceeded: #{max_distance} <= #{distance} for (#{lat}, #{lon}, #{zoom})."
+ end
+ end
+end