]> git.openstreetmap.org Git - rails.git/commitdiff
Merge branch 'master' into openstreetbugs
authorTom Hughes <tom@compton.nu>
Sat, 13 Aug 2011 10:48:04 +0000 (11:48 +0100)
committerTom Hughes <tom@compton.nu>
Sat, 13 Aug 2011 10:48:04 +0000 (11:48 +0100)
Conflicts:
app/views/browse/_map.html.erb
app/views/site/index.html.erb

1  2 
app/views/browse/_map.html.erb
app/views/site/index.html.erb
app/views/user/view.html.erb
config/example.application.yml
config/locales/de.yml
config/locales/en.yml
public/stylesheets/large.css

index dd4ec74df1a6d57a507a98e07958bc89493e3af1,1ff86cd4efa52468240a57e5e0c7fdfdeebe10c8..d2695ebe6f98d35c1900fc173874b9c5eccf6863
@@@ -1,24 -1,71 +1,71 @@@
  <%= javascript_include_tag '/openlayers/OpenLayers.js' %>
  <%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
  <%= javascript_include_tag 'map.js' %>
+ <iframe id="linkloader" style="display: none">
+ </iframe>
  <div id="browse_map">
    <% if map.instance_of? Changeset or (map.instance_of? Node and map.version > 1) or map.visible %>
    <div id="small_map">
    </div>
    <span id="loading"><%= t 'browse.map.loading' %></span>
-   <a id="area_larger_map" href=""></a>
+   <%= link_to(t("browse.map.larger.area"), { :controller => :site, :action => :index, :box => "yes" }, { :id => "area_larger_map", :class => "geolink bbox" }) %>
+   <br />
+   <%= link_to(t("browse.map.edit.area"), { :controller => :site, :action => :edit }, { :id => "area_edit", :class => "geolink bbox" }) %>
    <% unless map.instance_of? Changeset %>
      <br />
-     <a id="object_larger_map" href=""></a>
+     <%= link_to("", { :controller => :site, :action => :index }, { :id => "object_larger_map", :class => "geolink object" }) %>
+     <br />
+     <%= link_to("", { :controller => :site, :action => :edit }, { :id => "object_edit", :class => "geolink object" }) %>
    <% end %>
    <% else %>
      <%= t 'browse.map.deleted' %>
    <% end %>
  </div>
+ <div id="area_edit_menu" class="menu">
+   <ul>
+     <% Editors::ALL_EDITORS.each do |editor| %>
+       <li><%= link_to t('layouts.edit_with', :editor => t("editor.#{editor}.description")), { :controller => :site, :action => :edit, :editor => editor }, { :id => "#{editor}_area_edit", :class => "geolink bbox" } %></li>
+     <% end %>
+   </ul>
+ </div>
+ <div id="object_edit_menu" class="menu">
+   <ul>
+     <% Editors::ALL_EDITORS.each do |editor| %>
+       <li><%= link_to t('layouts.edit_with', :editor => t("editor.#{editor}.description")), { :controller => :site, :action => :edit, :editor => editor }, { :id => "#{editor}_object_edit", :class => "geolink object" } %></li>
+     <% end %>
+   </ul>
+ </div>
  <% if map.instance_of? Changeset or (map.instance_of? Node and map.version > 1) or map.visible %>
    <script type="text/javascript">
      OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
  
+     function remoteEditHandler(event, bbox, select) {
+       var left = bbox.left - 0.0001;
+       var top = bbox.top + 0.0001;
+       var right = bbox.right + 0.0001;
+       var bottom = bbox.bottom - 0.0001;
+       var loaded = false;
+       $("linkloader").observe("load", function () { loaded = true; });
+       if (select) {
+         $("linkloader").src = "http://127.0.0.1:8111/load_and_zoom?left=" + left + "&top=" + top + "&right=" + right + "&bottom=" + bottom + "&select=" + select;
+       } else {
+         $("linkloader").src = "http://127.0.0.1:8111/load_and_zoom?left=" + left + "&top=" + top + "&right=" + right + "&bottom=" + bottom;
+       }
+       setTimeout(function () {
+         if (!loaded) alert("<%= escape_javascript(t('site.index.remote_failed')) %>");
+       }, 1000);
+       event.stop();
+     }
      function init() {
        var map = createMap("small_map", {
          controls: [ new OpenLayers.Control.Navigation() ]
          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);
+         var centre = bbox.getCenterLonLat();
  
          setMapExtent(bbox);
          addBoxToMap(bbox);
  
-         $("loading").innerHTML = "";
+         $("loading").style.display = "none";
+         $$("#browse_map .geolink").each(function (link) {
+           link.style.display = "inline";
+         });
  
-         $("area_larger_map").href = '/?minlon='+minlon+'&minlat='+minlat+'&maxlon='+maxlon+'&maxlat='+maxlat+'&box=yes';
-         $("area_larger_map").innerHTML = "<%= t 'browse.map.larger.area' %>";
+         $("remote_area_edit").observe("click", function (event) {
+           remoteEditHandler(event, bbox);
+         });
+         <% if preferred_editor == "remote" %>
+           $("area_edit").observe("click", function (event) {
+             remoteEditHandler(event, bbox);
+           });
+         <% end %>
+         updatelinks(centre.lon, centre.lat, 16, null, minlon, minlat, maxlon, maxlat)
 +      <% elsif map.instance_of? Note %>
 +        var centre = new OpenLayers.LonLat(<%= map.lon %>, <%= map.lat %>);
 +
 +        setMapCenter(centre, 16);
 +        addMarkerToMap(centre);
 +
-         $("loading").innerHTML = "";
++        $("loading").style.display = "none";
 +
-         $("area_larger_map").href = '/?mlon=<%= map.lon %>&mlat=<%=map.lat %>';
-         $("area_larger_map").innerHTML = "<%= t 'browse.map.larger.area' %>";
++        updatelinks(centre.lon, centre.lat, 16, null, null, null, null, null)
        <% else %>
          var obj_type = "<%= map.class.name.downcase %>";
          var obj_id = <%= map.id %>;
          }
  
          addObjectToMap(url, true, function(extent) {
-           $("loading").innerHTML = "";
+           $("loading").style.display = "none";
+           $$("#browse_map .geolink").each(function (link) {
+             link.style.display = "inline";
+           });
  
            if (extent) {
              extent.transform(map.getProjectionObject(), map.displayProjection);
  
-             $("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' %>";
+             var centre = extent.getCenterLonLat();
+             $("remote_area_edit").observe("click", function (event) {
+               remoteEditHandler(event, extent);
+             });
+             <% if preferred_editor == "remote" %>
+               $("area_edit").observe("click", function (event) {
+                 remoteEditHandler(event, extent);
+               });
+             <% end %>
  
              <% unless map.instance_of? Changeset %>
-               $("object_larger_map").href = '/?<%= map.class.to_s.downcase %>=<%= map.id %>';
+               $("remote_object_edit").observe("click", function (event) {
+                 remoteEditHandler(event, extent, "<%= map.class.to_s.downcase + map.id.to_s %>");
+               });
                $("object_larger_map").innerHTML = "<%= t('browse.map.larger.' + map.class.to_s.downcase) %>";
+               $("object_edit").innerHTML = "<%= t('browse.map.edit.' + map.class.to_s.downcase) %>";
              <% end %>
+             updatelinks(centre.lon, centre.lat, 16, null, extent.left, extent.bottom, extent.right, extent.top, "<%= map.class.to_s.downcase %>", <%= map.id %>)
            } else {
              $("small_map").style.display = "none";
            }
          });
        <% end %>
+       createMenu("area_edit", "area_edit_menu", 1000, "right");
+       createMenu("object_edit", "object_edit_menu", 1000, "right");
      }
  
      window.onload = init;
index a61baca811fb8e0b590ecf566fbb40c0d7d7288a,c4d990618af9a4163372bb561220565d2c2775ae..340570f6d2f1751c87cbc17e48c5eb7279345372
  </noscript>
  
  <div id="map">
+   <div id="permalink">
+     <a href="/" id="permalinkanchor" class="geolink llz layers object"><%= t 'site.index.permalink' %></a><br/>
+     <a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a>
++    <a href="#" id="reportbuganchor">Report a problem</a>     
+   </div>
  </div>
  
  <iframe id="linkloader" style="display: none">
  </iframe>
  
- <div id="permalink">
-   <a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a><br/>
-   <a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a><br/>
-   <a href="#" id="reportbuganchor">Report a problem</a>       
- </div>
  <div id="attribution">
    <table width="100%">
      <tr>
-       <td align="left"><%= t'site.index.license.license_url' %></td>
-       <td align="right"><%= t'site.index.license.project_url' %></td>
+       <td class="attribution_license"><%= t'site.index.license.license_url' %></td>
+       <td class="attribution_project"><%= t'site.index.license.project_url' %></td>
      </tr>
      <tr>
-       <td colspan="2" align="center"><%=
+       <td colspan="2" class="attribution_notice"><%=
          t'site.index.license.notice',
            :license_name => t('site.index.license.license_name'),
            :project_name => t('site.index.license.project_name')
@@@ -68,7 -66,13 +67,13 @@@ if params['node'] or params['way'] or p
  end
  
  # Decide on a lat lon to initialise the map with. Various ways of doing this
- if params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat']
+ if params['bbox']
+     bbox = true
+     minlon, minlat, maxlon, maxlat = h(params['bbox']).split(",")
+     layers = h(params['layers'])
+     box = true if params['box']=="yes"
+     object_zoom = false
+ elsif params['minlon'] and params['minlat'] and params['maxlon'] and params['maxlat']
      bbox = true
      minlon = h(params['minlon'])
      minlat = h(params['minlat'])
@@@ -96,7 -100,9 +101,9 @@@ elsif @user and !@user.home_lon.nil? an
      lat =  @user.home_lat
      zoom = '10'
  else
-     session[:location] = OSM::IPLocation(request.env['REMOTE_ADDR']) unless session[:location]
+     unless STATUS == :database_readonly or STATUS == :database_offline
+       session[:location] = OSM::IPLocation(request.env['REMOTE_ADDR']) unless session[:location]
+     end
  
      if session[:location]
          bbox = true
@@@ -116,21 -122,16 +123,21 @@@ en
  
  <%= javascript_include_tag '/openlayers/OpenLayers.js' %>
  <%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
 +<%= javascript_include_tag 'openstreetbugs.js' %>
  <%= javascript_include_tag 'map.js' %>
  
- <script type="text/javascript" defer="defer">
-   <!--
-   var brokenContentSize = $("content").offsetWidth == 0;
+ <%= render :partial => 'resize' %>
+ <script type="text/javascript">
    var marker;
    var map;
  
    OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
  
 +  <% if @user %>
 +    var loginName = "<%= @user.display_name %>"
 +  <% end %>
 +
    function mapInit(){
      map = createMap("map");
  
        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.osbLayer = new OpenLayers.Layer.OpenStreetBugs("Notes", {
 +          serverURL: "/api/0.6/",
 +          iconOpen: new OpenLayers.Icon("<%= image_path "open_note_marker.png" %>", new OpenLayers.Size(22, 22), new OpenLayers.Pixel(-11, -11)),
 +          iconClosed: new OpenLayers.Icon("<%= image_path "closed_noe_marker.png" %>", new OpenLayers.Size(22, 22), new OpenLayers.Pixel(-11, -11)),
 +          readonly: false,
 +          setCookie: false,
 +          permalinkURL: "http://www.openstreetmap.org/",
 +          theme: "<%= stylesheet_path "openstreetbugs" %>",
 +          visibility: false
 +      });
 +      map.addLayer(map.osbLayer);
 +
 +      map.osbControl = new OpenLayers.Control.OpenStreetBugs(map.osbLayer); 
 +      map.addControl(map.osbControl);
 +
 +      $("reportbuganchor").observe("click", addBug);
 +
 +      map.events.register("zoomend", map, allowBugReports);
      <% end %>
  
      <% unless object_zoom %>
          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) });
+           Event.observe(window, "load", function() { addBoxToMap(bbox) });
          <% end %>
        <% else %>
          var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
          url += "/full";
        <% end %>
  
-       // IE requires Vector layers be initialised on page load, and not under deferred script conditions
-       Event.observe(window, 'load', function() { addObjectToMap(url, <%= object_zoom %>) });
+       Event.observe(window, "load", function() { addObjectToMap(url, <%= object_zoom %>) });
      <% end %>
  
      map.events.register("moveend", map, updateLocation);
      document.cookie = "_osm_location=" + lonlat.lon + "|" + lonlat.lat + "|" + zoom + "|" + layers + "; expires=" + expiry.toGMTString();
    }
  
-   function resizeContent() {
-     var content = $("content");
-     var rightMargin = parseInt(getStyle(content, "right"));
-     var bottomMargin = parseInt(getStyle(content, "bottom"));
-     content.style.width = document.documentElement.clientWidth - content.offsetLeft - rightMargin;
-     content.style.height = document.documentElement.clientHeight - content.offsetTop - bottomMargin;
-   }
-   function resizeMap() {
-     var centre = map.getCenter();
-     var zoom = map.getZoom();
-     var sidebar_width = $("sidebar").offsetWidth;
-     if (sidebar_width > 0) {
-       sidebar_width = sidebar_width + 5
-     }
-     $("map").style.left = (sidebar_width) + "px";
-     $("map").style.width = ($("content").offsetWidth - sidebar_width) + "px";
-     $("map").style.height = ($("content").offsetHeight - 2) + "px";
-     map.setCenter(centre, zoom);
-   }
-   function handleResize() {
-     if (brokenContentSize) {
-       resizeContent();
-     }
-     resizeMap();
-   }
    function remoteEditHandler(event) {
      var extent = getMapExtent();
      var loaded = false;
      <% end %>
    }
  
-   mapInit();
 +  function addBug() {
 +    map.osbControl.activate();
 +    map.osbControl.addTemporaryMarker(map.getCenter());
 +  }
 +
 +  function allowBugReports() { 
 +    if (map.getZoom() > 11) {
 +      $("reportbuganchor").style.visibility = "visible";
 +    } else {
 +      $("reportbuganchor").style.visibility = "hidden";
 +    }
 +  }
 +
+   document.observe("dom:loaded", mapInit);
+   document.observe("dom:loaded", installEditHandler);
+   document.observe("dom:loaded", handleResize);
+   Event.observe(window, "resize", function() {
+     var centre = map.getCenter();
+     var zoom = map.getZoom();
  
-   Event.observe(window, "load", installEditHandler);
-   Event.observe(window, "load", handleResize);
-   Event.observe(window, "resize", handleResize);
+     handleResize();
+     map.setCenter(centre, zoom);
+   });
  
    <% if params['action'] == 'export' %>
    <%= remote_function :url => { :controller => 'export', :action => 'start' } %>
    <% end %>
- // -->
  </script>
index 5659cd133d5288d4b538608fedfc8a1b42c2237f,834e8571b6cc358da50b4f7a58869db5181130bb..08c4669aebd80d256837510ca46437f35a1599b4
@@@ -1,4 -1,4 +1,4 @@@
- <%= user_image @this_user, :style => "float: right" %>
+ <%= user_image @this_user %>
  
  <h2><%= h(@this_user.display_name) %>
  
@@@ -23,9 -23,7 +23,9 @@@
      |
      <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
      |
 -    <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
 +    <%= link_to t('user.view.my traces'), :controller => 'trace', :action=> 'mine' %>
 +    |
 +    <%= link_to t('user.view.my notes'), :controller => 'note', :action=> 'mine' %>
      |
      <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
      |
@@@ -45,8 -43,6 +45,8 @@@
      |
      <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
      |
 +    <%= link_to t('user.view.notes'), :controller => 'note', :action=> 'mine' %>
 +    |
      <% if @user and @user.is_friends_with?(@this_user) %>
        <%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
      <% else %>
  <div id="description"><%= htmlize(@this_user.description) %></div>
  
  <% if @user and @this_user.id == @user.id %>
-   <div id="map" class="user_map" style="border: 1px solid black; position: relative; width: 400px; height: 400px; float: right;">
+   <div id="map" class="user_map">
      <% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
-       <p style="position: absolute; top: 0; bottom: 0; width: 90%; height: 30%; margin: auto 5%">
-         <%= t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name) %>
-       </p>
+       <p id="no_home_location"><%= t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name) %></p>
      <% else %>
        <%= render :partial => 'map', :locals => { :setting_location => false, :show_other_users => true } %>
      <% end %>
index eef48a7bbe5b6eca55d15ec93e7cd7c3d6553627,abcd1ce41d8b8757f68f4813ac2d53885b967e53..cd4f205f391c8991a69f27a799af1dd1d4ea87ac
@@@ -24,8 -24,6 +24,8 @@@ standard_settings: &standard_setting
    max_number_of_nodes: 50000
    # Maximum number of nodes that can be in a way (checked on save)
    max_number_of_way_nodes: 2000
 +  # The maximum area you're allowed to request notes from, in square degrees
 +  max_note_request_area: 25
    # Zoom level to use for postcode results from the geocoder
    postcode_zoom: 15
    # Zoom level to use for geonames results from the geocoder
@@@ -59,6 -57,8 +59,8 @@@
    gpx_image_dir: "/home/osm/images"
    # Location of data for file columns
    #file_column_root: ""
+   # Log file to use
+   #log_path: ""
    # List of memcache servers to use for caching
    #memcache_servers: []
    # Enable legacy OAuth 1.0 support
diff --combined config/locales/de.yml
index cee5e0183c25a2f656e7e2eb175640b90434f71b,261e46bc54900cbd28da5c4aead3a0387e000d5a..451555931d6d998936706b447bb0d0ba1cd3b025
@@@ -53,7 -53,7 +53,7 @@@ de
        user: 
          active: Aktiv
          description: Beschreibung
-         display_name: Name zum Anzeigen
+         display_name: Anzeigename
          email: E-Mail
          languages: Sprachen
          pass_crypt: Passwort
@@@ -61,7 -61,7 +61,7 @@@
        acl: Liste für Zugangskontrolle
        changeset: Changeset
        changeset_tag: Changeset-Tag
-       country: Land
+       country: Staat
        diary_comment: Blog-Kommentar
        diary_entry: Blogeintrag
        friend: Freund
        history_disabled_tooltip: Reinzoomen um Änderungen für diesen Bereich anzuzeigen
        history_tooltip: Änderungen für diesen Bereich anzeigen
        history_zoom_alert: Du musst näher heranzoomen, um die Chronik zu sehen
 +    osb:
 +      Fixed Error: Behobener Fehler
 +      Unresolved Error: Offener Fehler
 +      Description: Beschreibung
 +      Comment: Kommentar
 +      Has been fixed: Der Fehler wurde bereits behoben. Es kann jedoch bis zu einigen Tagen dauern, bis die Kartenansicht aktualisiert wird.
 +      Comment/Close: Kommentieren/Schließen
 +      Nickname: Benutzername
 +      Add comment: Kommentar hinzufügen
 +      Mark as fixed: Als behoben markieren
 +      Cancel: Abbrechen
 +      Create OpenStreetBug: OpenStreetBug melden
 +      Create bug: Bug anlegen
 +      Bug description: Fehlerbeschreibung
 +      Create: Anlegeeen
 +      Permalink: Permalink
    layouts: 
      community_blogs: Blogs
      community_blogs_title: Blogs von Mitwirkenden bei OpenStreetMap
          disabled link text: Warum kann ich nichts bearbeiten?
          enabled: Aktiviert. Nicht anonym, bearbeiten der Kartendaten möglich.
          enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
-         enabled link text: Was ist das?
+         enabled link text: Was bedeutet dies?
          heading: "Öffentliches Bearbeiten:"
        public editing note: 
          heading: Öffentliches Bearbeiten
      login: 
        account not active: Leider wurde dein Benutzerkonto bislang noch nicht aktiviert.<br />Bitte aktiviere dein Benutzerkonto, indem du auf den Link in deiner Bestätigungs-E-Mail klickst oder <a href="%{reconfirm}">eine neue Bestätigungs-E-Mail anforderst</a>.
        account suspended: Dein Benutzerkonto wurde aufgrund verdächtiger Aktivitäten gesperrt, um potentiellen Schaden von OpenStreetMap abzuwenden. <br /> Bitte kontaktiere den %{webmaster}, sofern du diese Angelegenheit klären möchtest.
-       already have: Du hast bereits ein OpenStreetMap-Benutzerkonto? Bitte einloggen.
        auth failure: Sorry, Anmelden mit diesen Daten nicht möglich.
        create account minute: Erstelle ein Benutzerkonto. Es dauert nur eine Minute.
-       create_account: erstelle ein Benutzerkonto
        email or username: "E-Mail-Adresse oder Benutzername:"
        heading: Anmelden
        login_button: Anmelden
        new to osm: Neu bei OpenStreetMap?
        notice: <a href="http://wiki.openstreetmap.org/wiki/DE:ODbL/Wir_wechseln_die_Lizenz">Informiere dich über den bevorstehenden Lizenzwechsel bei OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">Übersetzungen</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">Diskussion</a>)
        password: "Passwort:"
-       please login: Bitte melde dich an oder %{create_user_link}.
        register now: Jetzt registrieren
        remember: "Anmeldedaten merken:"
        title: Anmelden
      terms: 
        agree: Akzeptieren
        consider_pd: Zusätzlich zur oben genannten Vereinbarung, betrachte ich meine Beiträge als gemeinfrei (<i>Public Domain</i>)
-       consider_pd_why: Was bedeutet das?
+       consider_pd_why: Was bedeutet dies?
        decline: Ablehnen
        guidance: "Informationen die dabei helfen, diese Bedingungen zu verstehen: eine <a href=\"%{summary}\">verständliche Zusammenfassung</a> sowie einige <a href=\"%{translations}\">inoffizielle Übersetzungen</a>"
        heading: Vereinbarung für Mitwirkende
          italy: Italien
          rest_of_world: Rest der Welt
        legale_select: "Bitte wähle das Land deines Wohnsitzes:"
-       read and accept: Bitte lese die unten angezeigte Vereinbarung und klicke dann auf die Schaltfläche „Einverstanden“, um zu bestätigen, dass du die Bedingungen dieser Vereinbarung für deine bestehenden sowie zukünftigen Beiträge akzeptierst.
+       read and accept: Bitte lese die unten angezeigte Vereinbarung und klicke dann auf die Schaltfläche „Akzeptieren“, um zu bestätigen, dass du den Bedingungen dieser Vereinbarung für deine bisherigen sowie zukünftigen Beiträge zustimmst.
        title: Vereinbarung für Mitwirkende
        you need to accept or decline: Bitte lese die neuen Bedingungen für Mitwirkende und nehme sie an oder lehne sie ab, bevor du weitermachst.
      view: 
diff --combined config/locales/en.yml
index 5b6d575d3f158e9cc65e91dcbeabf1845f3f7168,fd9c49b2b9e5cc2136cf26da4a3bb4c1ba354590..598301c2a0c8d8cac0cbdc0acafb5083fb12142b
@@@ -157,6 -157,11 +157,11 @@@ en
          node: "View node on larger map"
          way: "View way on larger map"
          relation: "View relation on larger map"
+       edit:
+         area: "Edit area"
+         node: "Edit node"
+         way: "Edit way"
+         relation: "Edit relation"
      node_details:
        coordinates: "Coordinates:"
        part_of: "Part of:"
        download_xml: "Download XML"
        view_history: "view history"
        edit: "edit"
 +    note:
 +      open_title: "Unresolved issue: %{note_name}"
 +      closed_title: "Resolved issue: %{note_name}"
 +      created_at: "Created at:"
 +      edited_at: "Edited at:"
 +      closed_at: "Closed at:"
 +      opened_by: "Opened by:"
 +      description: "Description:"
 +      comment_by: "Comment by: "
 +      comment: "Comment:"
 +      date: "Date:"
    changeset:
      changeset_paging_nav:
        showing_page: "Showing page %{page}"
      tag_line: The Free Wiki World Map
      intro_1: "OpenStreetMap is a free editable map of the whole world. It is made by people like you."
      intro_2: "OpenStreetMap allows you to view, edit and use geographical data in a collaborative way from anywhere on Earth."
-     intro_3: "OpenStreetMap's hosting is kindly supported by the %{ucl} and %{bytemark}. Other supporters of the project are listed in the %{partners}."
-     intro_3_ucl: "UCL VR Centre"
-     intro_3_bytemark: "bytemark"
+     intro_3: "OpenStreetMap's hosting is kindly supported by %{ucl}, %{ic} and %{bytemark}. Other supporters of the project are listed in the %{partners}."
+     intro_3_ucl: "the UCL VR Centre"
+     intro_3_ic: "Imperial College London"
+     intro_3_bytemark: "Bytemark Hosting"
      intro_3_partners: "wiki"
      intro_3_partners_url: "http://wiki.openstreetmap.org/wiki/Partners"
      osm_offline: "The OpenStreetMap database is currently offline while essential database maintenance work is carried out."
        greeting: "Hi,"
        hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
        click_the_link: "If this is you, please click the link below to reset your password."
 +    note_plain:
 +      subject_own: "[OpenStreetMap] %{commenter} has commented on one of your notes"
 +      subject_other: "[OpenStreetMap] %{commenter} has commented on a note you are interested in"
 +      greeting: "Hi,"
 +      your_note: "%{commenter} has left a comment on one of your map notes near %{place}."
 +      commented_note: "%{commenter} has left a comment on a map note you have commented on. The note is near %{place}."
 +      details: "More details about the note can be found at %{URL}."
    message:
      inbox:
        title: "Inbox"
        heading: "The user %{user} does not exist"
        body: "Sorry, there is no user with the name %{user}. Please check your spelling, or maybe the link you clicked is wrong."
      trace_form:
-       upload_gpx: "Upload GPX File"
-       description: "Description"
-       tags: "Tags"
+       upload_gpx: "Upload GPX File:"
+       description: "Description:"
+       tags: "Tags:"
        tags_help: "comma delimited"
-       visibility: "Visibility"
+       visibility: "Visibility:"
        visibility_help: "what does this mean?"
        visibility_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
        upload_button: "Upload"
        need_to_see_terms: "Your access to the API is temporarily suspended. Please log-in to the web interface to view the Contributor Terms. You do not need to agree, but you must view them."
    oauth:
      oauthorize:
-       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."
+       request_access: "The application %{app_name} is requesting access to your account, %{user}. 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."
              using your username and password and then associate the account
              with your OpenID in your user settings.
            </li>
-         </ul> 
+         </ul>
        continue: Continue
        flash create success message: "Thanks for signing up. We've sent a confirmation note to %{email} and as soon as you confirm your account you'll be able to get mapping.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
        terms accepted: "Thanks for accepting the new contributor terms!"
        new diary entry: new diary entry
        my edits: my edits
        my traces: my traces
 +      my notes: my map notes
        my settings: my settings
        oauth settings: oauth settings
        blocks on me: blocks on me
        diary: diary
        edits: edits
        traces: traces
 +      notes: map notes
        remove as friend: remove as friend
        add as friend: add as friend
        mapper since: "Mapper since:"
        back: "View all blocks"
        revoker: "Revoker:"
        needs_view: "The user needs to log in before this block will be cleared."
 +  note:
 +    rss:
 +      title: "OpenStreetMap Notes"
 +      description_area: "A list of notes, reported, commented on or closed in your area [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]"
 +      description_item: "An rss feed for note %{id}"
 +      closed: "closed note (near %{place})"
 +      new: "new note (near %{place})"
 +      comment: "new comment (near %{place})"
 +    mine:
 +      title: "Notes submitted or commented on by %{user}"
 +      heading: "%{user}'s notes"
 +      description: "Notes submitted or commented on by %{user}"
 +      id: "Id"
 +      last_changed: "Last changed"
 +
    javascripts:
      map:
        base:
        history_tooltip: View edits for this area
        history_disabled_tooltip: Zoom in to view edits for this area
        history_zoom_alert: You must zoom in to view edits for this area
 +    osb:
 +      Fixed Error: Fixed Error
 +      Unresolved Error: Unresolved Error
 +      Description: Description
 +      Comment: Comment
 +      Has been fixed: This error has been fixed already. However, it might take a couple of days before the map image is updated.
 +      Comment/Close: Comment/Close
 +      Nickname: Nickname
 +      Add comment: Add comment
 +      Mark as fixed: Mark as fixed
 +      Cancel: Cancel
 +      Create OpenStreetBug: Create OpenStreetBug
 +      Create bug: Report a problem with the map
 +      Bug description: Problem description
 +      Create: Report problem
 +      Permalink: Permalink
 +      Login: Login
 +      Details: Details
 +      edityourself: You can also edit the map directly your self
 +      draghelp1: Please drag the marker to the location of the problem
 +      draghelp2: and descripe it as accurate as possible
 +
index 5d25e7fbadfd39349cc27a509a483e12f92c483b,1c4d493ec532bb51a81e5734e747911b3c7816c4..9d664ef2662195f6c42ae8bfeeaa5b7bed75ec7b
@@@ -9,7 -9,6 +9,6 @@@
  /* Rules for the main content area */
  
  #content {
-   left: 192px;
    top: 35px;
  }
  
@@@ -18,9 -17,3 +17,9 @@@
  .olControlPanZoom {
    display: none;
  }
 +
 +/* Rules for map bug reporting */
 +
 +#reportbuganchor { 
 +  font-size: 150%;
 +}