X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/63c2d9a5292e6b19a02bce9fdf80f93dea8a8347..c807e9ba66af36280597594a48767c8562a9451b:/app/views/browse/start.rjs?ds=inline diff --git a/app/views/browse/start.rjs b/app/views/browse/start.rjs index c17325ad1..707054526 100644 --- a/app/views/browse/start.rjs +++ b/app/views/browse/start.rjs @@ -1,4 +1,4 @@ -page.replace_html :sidebar_title, 'Data' +page.replace_html :sidebar_title, t('browse.start_rjs.data_frame_title') page.replace_html :sidebar_content, :partial => 'start' page << <<EOJ var browseBoxControl; @@ -41,7 +41,7 @@ page << <<EOJ if (map.getZoom() >= 15) { useMap(); } else { - setStatus("Zoom in or select an area of the map to view"); + setStatus("#{I18n.t('browse.start_rjs.zoom_or_select')}"); } } } @@ -50,11 +50,6 @@ page << <<EOJ if (browseActive) { browseActive = false; - if (browseDataLayer) { - browseDataLayer.destroy(); - browseDataLayer = null; - } - if (browseSelectControl) { browseSelectControl.destroy(); browseSelectControl = null; @@ -70,13 +65,18 @@ page << <<EOJ browseActiveFeature = null; } + if (browseDataLayer) { + browseDataLayer.destroy(); + browseDataLayer = null; + } + map.dataLayer.setVisibility(false); map.events.unregister("moveend", map, showData); } } function startDrag() { - $("browse_select_box").innerHTML='Drag a box on the map to select an area'; + $("browse_select_box").innerHTML="#{I18n.t('browse.start_rjs.drag_a_box')}"; browseBoxControl.activate(); @@ -121,7 +121,7 @@ page << <<EOJ browseMode = "manual"; - $("browse_select_box").innerHTML = "Manually select a different area"; + $("browse_select_box").innerHTML = "#{I18n.t('browse.start_rjs.manually_select')}"; $("browse_select_view").style.display = "inline"; } @@ -131,12 +131,12 @@ page << <<EOJ var div = document.createElement("div"); var p = document.createElement("p"); - p.appendChild(document.createTextNode("You have loaded an area which contains " + browseFeatureList.length + " features. In general, some browsers may not cope well with displaying this quantity of data. Generally, browsers work best at displaying less than 100 features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below.")); + p.appendChild(document.createTextNode(i18n("#{I18n.t('browse.start_rjs.loaded_an_area_with_num_features')}", { num_features: browseFeatureList.length }))); div.appendChild(p); var input = document.createElement("input"); input.type = "submit"; - input.value = "Load Data"; + input.value = "#{I18n.t('browse.start_rjs.load_data')}"; input.onclick = loadFeatureList; div.appendChild(input); @@ -186,15 +186,15 @@ page << <<EOJ var projected = bounds.clone().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326")); var size = projected.getWidth() * projected.getHeight(); - if (size > 0.25) { - setStatus("Unable to load: Bounding box size of " + size + " is too large (must be smaller than 0.25)"); + if (size > #{APP_CONFIG['max_request_area']}) { + setStatus(i18n("#{I18n.t('browse.start_rjs.unable_to_load_size', :max_bbox_size => APP_CONFIG['max_request_area'])}", { bbox_size: size })); } else { - loadGML("/api/0.5/map?bbox=" + projected.toBBOX()); + loadGML("/api/#{API_VERSION}/map?bbox=" + projected.toBBOX()); } } function loadGML(url) { - setStatus("Loading..."); + setStatus("#{I18n.t('browse.start_rjs.loading')}"); $("browse_content").innerHTML = ""; if (!browseDataLayer) { @@ -210,7 +210,10 @@ page << <<EOJ browseDataLayer = new OpenLayers.Layer.GML("Data", url, { format: OpenLayers.Format.OSM, - formatOptions: { checkTags: true }, + formatOptions: { + checkTags: true, + interestingTagsExclude: ['source','source_ref','source:ref','history','attribution','created_by','tiger:county','tiger:tlid','tiger:upload_uuid'] + }, maxFeatures: 100, requestSuccess: customDataLoader, displayInLayerSwitcher: false, @@ -242,7 +245,7 @@ page << <<EOJ var heading = document.createElement("p"); heading.className = "browse_heading"; - heading.appendChild(document.createTextNode("Object list")); + heading.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.object_list.heading')}")); browseObjectList.appendChild(heading); var list = document.createElement("ul"); @@ -252,7 +255,7 @@ page << <<EOJ // Type, for linking var type = featureType(feature); - var typeName = ucFirst(type); + var typeName = featureTypeName(feature); var li = document.createElement("li"); li.appendChild(document.createTextNode(typeName + " ")); @@ -272,7 +275,7 @@ page << <<EOJ var link = document.createElement("a"); link.href = this.url; - link.appendChild(document.createTextNode("API")); + link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.object_list.api')}")); browseObjectList.appendChild(link); $("browse_content").innerHTML = ""; @@ -333,7 +336,7 @@ page << <<EOJ var link = document.createElement("a"); link.href = "#"; link.onclick = loadObjectList; - link.appendChild(document.createTextNode("Display object list")); + link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.object_list.back')}")); div.appendChild(link); var table = document.createElement("table"); @@ -345,7 +348,7 @@ page << <<EOJ table.appendChild(tr); var heading = document.createElement("td"); - heading.appendChild(document.createTextNode(featureName(feature))); + heading.appendChild(document.createTextNode(featureNameSelect(feature))); tr.appendChild(heading); var td = document.createElement("td"); @@ -355,7 +358,7 @@ page << <<EOJ var type = featureType(feature); var link = document.createElement("a"); link.href = "/browse/" + type + "/" + feature.osm_id; - link.appendChild(document.createTextNode("Details")); + link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.object_list.details')}")); td.appendChild(link); var div = document.createElement("div"); @@ -378,7 +381,7 @@ page << <<EOJ var link = document.createElement("a"); link.href = "/browse/" + type + "/" + feature.osm_id + "/history"; - link.appendChild(document.createTextNode("Show history")); + link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.show_history')}")); link.onclick = OpenLayers.Function.bind(loadHistory, { type: type, feature: feature, link: link }); @@ -391,9 +394,9 @@ page << <<EOJ function loadHistory() { this.link.href = ""; - this.link.innerHTML = "Wait..."; + this.link.innerHTML = "#{I18n.t('browse.start_rjs.wait')}"; - new Ajax.Request("/api/0.5/" + this.type + "/" + this.feature.osm_id + "/history", { + new Ajax.Request("/api/#{API_VERSION}/" + this.type + "/" + this.feature.osm_id + "/history", { onComplete: OpenLayers.Function.bind(displayHistory, this) }); @@ -418,7 +421,7 @@ page << <<EOJ table.appendChild(tr); var heading = document.createElement("td"); - heading.appendChild(document.createTextNode("History for " + featureName(this.feature))); + heading.appendChild(document.createTextNode(i18n("#{I18n.t('browse.start_rjs.history_for_feature')}", { feature: featureNameHistory(this.feature) }))); tr.appendChild(heading); var td = document.createElement("td"); @@ -427,7 +430,7 @@ page << <<EOJ var link = document.createElement("a"); link.href = "/browse/" + this.type + "/" + this.feature.osm_id + "/history"; - link.appendChild(document.createTextNode("Details")); + link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.details')}")); td.appendChild(link); var div = document.createElement("div"); @@ -436,10 +439,10 @@ page << <<EOJ var nodes = doc.getElementsByTagName(this.type); var history = document.createElement("ul"); for (var i = nodes.length - 1; i >= 0; i--) { - var user = nodes[i].getAttribute("user") || "private user"; + var user = nodes[i].getAttribute("user") || "#{I18n.t('browse.start_rjs.private_user')}"; var timestamp = nodes[i].getAttribute("timestamp"); var item = document.createElement("li"); - item.appendChild(document.createTextNode("Edited by " + user + " at " + timestamp)); + item.appendChild(document.createTextNode(i18n("#{I18n.t('browse.start_rjs.edited_by_user_at_timestamp')}", { user: user, timestamp: timestamp }))); history.appendChild(item); } div.appendChild(history); @@ -454,12 +457,32 @@ page << <<EOJ return "way"; } } - - function featureName(feature) { + + function featureTypeName(feature) { + if (featureType(feature) == "node") { + return "#{I18n.t('browse.start_rjs.object_list.type.node')}"; + } else if (featureType(feature) == "way") { + return "#{I18n.t('browse.start_rjs.object_list.type.way')}"; + } + } + + function featureNameSelect(feature) { if (feature.attributes.name) { return feature.attributes.name; - } else { - return ucFirst(featureType(feature)) + " " + feature.osm_id; + } else if (featureType(feature) == "node") { + return i18n("#{I18n.t('browse.start_rjs.object_list.selected.type.node')}", { id: feature.osm_id }); + } else if (featureType(feature) == "way") { + return i18n("#{I18n.t('browse.start_rjs.object_list.selected.type.way')}", { id: feature.osm_id }); + } + } + + function featureNameHistory(feature) { + if (feature.attributes.name) { + return feature.attributes.name; + } else if (featureType(feature) == "node") { + return i18n("#{I18n.t('browse.start_rjs.object_list.history.type.node')}", { id: feature.osm_id }); + } else if (featureType(feature) == "way") { + return i18n("#{I18n.t('browse.start_rjs.object_list.history.type.way')}", { id: feature.osm_id }); } } @@ -473,9 +496,5 @@ page << <<EOJ $("browse_status").style.display = "none"; } - function ucFirst(str) { - return str.substr(0,1).toUpperCase() + str.substr(1,str.length); - } - startBrowse(); EOJ