]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/1833'
authorTom Hughes <tom@compton.nu>
Wed, 25 Apr 2018 16:44:53 +0000 (17:44 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 25 Apr 2018 16:44:53 +0000 (17:44 +0100)
37 files changed:
app/controllers/oauth_controller.rb
app/controllers/redactions_controller.rb
app/controllers/user_blocks_controller.rb
app/helpers/user_blocks_helper.rb
app/views/notes/_comment.html.erb
app/views/notes/_entry.html.erb
app/views/notes/_note.rss.builder
app/views/notes/feed.rss.builder
app/views/notes/index.rss.builder
app/views/notes/mine.html.erb
app/views/notes/show.rss.builder
app/views/oauth/authorize.html.erb
app/views/oauth/authorize_failure.html.erb
app/views/oauth/authorize_success.html.erb
app/views/redactions/edit.html.erb
app/views/redactions/index.html.erb
app/views/redactions/new.html.erb
app/views/redactions/show.html.erb
app/views/site/_markdown_help.html.erb
app/views/site/about.html.erb
app/views/site/copyright.html.erb
app/views/site/edit.html.erb
app/views/site/export.html.erb
app/views/site/fixthemap.html.erb
app/views/site/help.html.erb
app/views/site/key.html.erb
app/views/site/welcome.html.erb
app/views/user/index.html.erb [deleted file]
app/views/user_blocks/blocks_by.html.erb
app/views/user_blocks/blocks_on.html.erb
app/views/user_blocks/edit.html.erb
app/views/user_blocks/index.html.erb
app/views/user_blocks/new.html.erb
app/views/user_blocks/not_found.html.erb
app/views/user_blocks/revoke.html.erb
app/views/user_blocks/show.html.erb
config/locales/en.yml

index 84bbcf1850e5c95cf6d6d925c0c009b3f7e83315..ae6d0983b8fbcb89f10c9ef123d515b3fc6ccb29 100644 (file)
@@ -30,7 +30,7 @@ class OauthController < ApplicationController
     @token = current_user.oauth_tokens.find_by :token => params[:token]
     if @token
       @token.invalidate!
-      flash[:notice] = t("oauth.revoke.flash", :application => @token.client_application.name)
+      flash[:notice] = t(".flash", :application => @token.client_application.name)
     end
     redirect_to oauth_clients_url(:display_name => @token.user.display_name)
   end
@@ -41,7 +41,7 @@ class OauthController < ApplicationController
     append_content_security_policy_directives(:form_action => %w[*])
 
     if @token.invalidated?
-      @message = t "oauth.oauthorize_failure.invalid"
+      @message = t "oauth.authorize_failure.invalid"
       render :action => "authorize_failure"
     elsif request.post?
       if user_authorizes_token?
@@ -69,7 +69,7 @@ class OauthController < ApplicationController
         end
       else
         @token.invalidate!
-        @message = t("oauth.oauthorize_failure.denied", :app_name => @token.client_application.name)
+        @message = t("oauth.authorize_failure.denied", :app_name => @token.client_application.name)
         render :action => "authorize_failure"
       end
     end
index f15060d5b596d2ca62be7fc0c0334e7a25e706a3..b8ecce9e250fca521d3ae346f8b958a30026973e 100644 (file)
@@ -25,7 +25,7 @@ class RedactionsController < ApplicationController
     # note that the description format will default to 'markdown'
 
     if @redaction.save
-      flash[:notice] = t("redaction.create.flash")
+      flash[:notice] = t(".flash")
       redirect_to @redaction
     else
       render :action => "new"
@@ -42,7 +42,7 @@ class RedactionsController < ApplicationController
     @redaction.description = params[:redaction][:description]
 
     if @redaction.save
-      flash[:notice] = t("redaction.update.flash")
+      flash[:notice] = t(".flash")
       redirect_to @redaction
     else
       render :action => "edit"
@@ -54,14 +54,14 @@ class RedactionsController < ApplicationController
        @redaction.old_ways.empty? &&
        @redaction.old_relations.empty?
       if @redaction.destroy
-        flash[:notice] = t("redaction.destroy.flash")
+        flash[:notice] = t(".flash")
         redirect_to :redactions
       else
-        flash[:error] = t("redaction.destroy.error")
+        flash[:error] = t(".error")
         redirect_to @redaction
       end
     else
-      flash[:error] = t("redaction.destroy.not_empty")
+      flash[:error] = t(".not_empty")
       redirect_to @redaction
     end
   end
index 4a55c9ba26c55352fe29fdbd6beb08ff3c788d80..2b7bf3f58f7e190a5346abcaf45d3fa2c1a0e3a4 100644 (file)
@@ -45,7 +45,7 @@ class UserBlocksController < ApplicationController
       )
 
       if @user_block.save
-        flash[:notice] = t("user_block.create.flash", :name => @user.display_name)
+        flash[:notice] = t(".flash", :name => @user.display_name)
         redirect_to @user_block
       else
         render :action => "new"
@@ -58,14 +58,14 @@ class UserBlocksController < ApplicationController
   def update
     if @valid_params
       if @user_block.creator != current_user
-        flash[:error] = t("user_block.update.only_creator_can_edit")
+        flash[:error] = t(".only_creator_can_edit")
         redirect_to :action => "edit"
       elsif @user_block.update(
         :ends_at => Time.now.getutc + @block_period.hours,
         :reason => params[:user_block][:reason],
         :needs_view => params[:user_block][:needs_view]
       )
-        flash[:notice] = t("user_block.update.success")
+        flash[:notice] = t(".success")
         redirect_to(@user_block)
       else
         render :action => "edit"
@@ -80,7 +80,7 @@ class UserBlocksController < ApplicationController
   def revoke
     if params[:confirm]
       if @user_block.revoke! current_user
-        flash[:notice] = t "user_block.revoke.flash"
+        flash[:notice] = t ".flash"
         redirect_to(@user_block)
       end
     end
@@ -128,10 +128,10 @@ class UserBlocksController < ApplicationController
     @valid_params = false
 
     if !UserBlock::PERIODS.include?(@block_period)
-      flash[:error] = t("user_block.filter.block_period")
+      flash[:error] = t("user_blocks.filter.block_period")
 
     elsif @user_block && !@user_block.active?
-      flash[:error] = t("user_block.filter.block_expired")
+      flash[:error] = t("user_blocks.filter.block_expired")
 
     else
       @valid_params = true
index 3c9c0a37e5f6a5d1ab237505e9835a75e844d865..668eeb0e5aa66668ee1118c43bbf36fa14600040 100644 (file)
@@ -7,19 +7,19 @@ module UserBlocksHelper
       # if the block hasn't expired yet show the date, if the user just needs to login show that
       if block.needs_view?
         if block.ends_at > Time.now.getutc
-          I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe
+          I18n.t("user_blocks.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe
         else
-          I18n.t("user_block.helper.until_login")
+          I18n.t("user_blocks.helper.until_login")
         end
       else
-        I18n.t("user_block.helper.time_future", :time => friendly_date(block.ends_at)).html_safe
+        I18n.t("user_blocks.helper.time_future", :time => friendly_date(block.ends_at)).html_safe
       end
     else
       # the max of the last update time or the ends_at time is when this block finished
       # either because the user viewed the block (updated_at) or it expired or was
       # revoked (ends_at)
       last_time = [block.ends_at, block.updated_at].max
-      I18n.t("user_block.helper.time_past", :time => friendly_date(last_time)).html_safe
+      I18n.t("user_blocks.helper.time_past", :time => friendly_date(last_time)).html_safe
     end
   end
 end
index c0d6e17d32b156efc308a97582c28ecb795efd3a..d9c17848b26995f00abbd91f9e4fca25b943db84 100644 (file)
@@ -1,8 +1,8 @@
 <div class="note-comment" style="margin-top: 5px">
   <% if comment.author.nil? -%>
-  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t "note.description.#{comment.event}_at_html", :when => friendly_date(comment.created_at) %></div>
+  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t ".#{comment.event}_at_html", :when => friendly_date(comment.created_at) %></div>
   <% else -%>
-  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t "note.description.#{comment.event}_at_by_html", :when => friendly_date(comment.created_at), :user => note_author(comment.author, :only_path => false) %></div>
+  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t ".#{comment.event}_at_by_html", :when => friendly_date(comment.created_at), :user => note_author(comment.author, :only_path => false) %></div>
   <% end -%>
   <div class="note-comment-text"><%= comment.body %></div>
 </div>
index 6f0c8fb717e1b7209f041716206c69219c0ecf6f..624ecd15d8654e3c8733e589f99a317465b37705 100644 (file)
@@ -1,4 +1,4 @@
-<h2><%= t "note.entry.comment" %></h2>
+<h2><%= t ".comment" %></h2>
 <%= render :partial => "comment", :object => entry %>
-<h2><%= t "note.entry.full" %></h2>
+<h2><%= t ".full" %></h2>
 <%= render :partial => "description", :object => entry.note %>
index 38c42f1ec4786de0dba3fd82469903ec8d88fca0..9c72b8a5d42c15cd2e30ca248f659852be0c922b 100644 (file)
@@ -2,11 +2,11 @@ xml.item do
   location = describe_location(note.lat, note.lon, 14, locale)
 
   if note.closed?
-    xml.title t("note.rss.closed", :place => location)
+    xml.title t("notes.rss.closed", :place => location)
   elsif note.comments.length > 1
-    xml.title t("note.rss.commented", :place => location)
+    xml.title t("notes.rss.commented", :place => location)
   else
-    xml.title t("note.rss.opened", :place => location)
+    xml.title t("notes.rss.opened", :place => location)
   end
 
   xml.link browse_note_url(note)
index 708192e5f48f020149ead7ef6dadd3aabdb5ee1c..4a4fb3e1a75c05bb6b1ec9340163f6cdf5a6694a 100644 (file)
@@ -5,15 +5,15 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("note.rss.title")
-    xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     @comments.each do |comment|
       location = describe_location(comment.note.lat, comment.note.lon, 14, locale)
 
       xml.item do
-        xml.title t("note.rss.#{comment.event}", :place => location)
+        xml.title t("notes.rss.#{comment.event}", :place => location)
 
         xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
         xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
index e912b99216455257bcb91cf80dfd4840cd1a8a4c..d28efa1942da01a918fb9f38cea6b508b3f2eae5 100644 (file)
@@ -5,8 +5,8 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("note.rss.title")
-    xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << (render(:partial => "note", :collection => @notes) || "")
index 666c7dc8f94c6af01bad70d4f32d2b54969949f6..13824419e8a02e1d9e638f3f013ec3608c44aa2e 100644 (file)
@@ -8,11 +8,11 @@
 <table class="note_list">
   <tr>
     <th></th>
-    <th><%= t'note.mine.id' %></th>
-    <th><%= t'note.mine.creator' %></th>
-    <th><%= t'note.mine.description' %></th>
-    <th><%= t'note.mine.created_at' %></th>
-    <th><%= t'note.mine.last_changed' %></th>
+    <th><%= t '.id' %></th>
+    <th><%= t '.creator' %></th>
+    <th><%= t '.description' %></th>
+    <th><%= t '.created_at' %></th>
+    <th><%= t '.last_changed' %></th>
   </tr>
 <% @notes.each do |note| -%>
   <tr<% if note.author != @user2 %> class="creator"<% end %>>
@@ -25,9 +25,9 @@
     </td>
     <td><%= link_to note.id.to_s, :controller => "browse", :action => "note", :id => note.id %></td>
     <td><%= note_author(note.author) %></td>
-    <td><%= note.comments.first.body.to_html %></td>   
-    <td><%= t 'note.mine.ago_html', :when => friendly_date(note.created_at) %></td>
-    <td><%= t 'note.mine.ago_html', :when => friendly_date(note.updated_at) %></td>
+    <td><%= note.comments.first.body.to_html %></td>
+    <td><%= t '.ago_html', :when => friendly_date(note.created_at) %></td>
+    <td><%= t '.ago_html', :when => friendly_date(note.updated_at) %></td>
   </tr>
 <% end -%>
 </table>
index 62ccbe8a94a4ab2f3f2969eff254b4264ae65d1f..f406479008471afa2eaeaba5ad3a516afb84e1a0 100644 (file)
@@ -4,8 +4,8 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("note.rss.title")
-    xml.description t("note.rss.description_item", :id => @note.id)
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_item", :id => @note.id)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << render(:partial => "note", :object => @note)
index 6c8bc3a9e92f8e384d6aae20dd506eb8ced9a5fc..3108c551af65054394244d0cb6d393d7917aea4d 100644 (file)
@@ -1,19 +1,19 @@
 <% content_for :heading do %>
-  <h1><%= t "oauth.oauthorize.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p><%= raw t("oauth.oauthorize.request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, :controller => :user, :action => :view, :display_name => current_user.display_name)) %></p>
+<p><%= raw t(".request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, :controller => :user, :action => :view, :display_name => current_user.display_name)) %></p>
 
 <%= form_tag authorize_url do %>
   <%= hidden_field_tag "oauth_token", @token.token %>
   <%- if params[:oauth_callback] -%>
     <%= hidden_field_tag "oauth_callback", params[:oauth_callback] %>
   <%- end -%>
-  <p><%= t 'oauth.oauthorize.allow_to' %></p>
+  <p><%= t '.allow_to' %></p>
   <ul>
   <% @token.client_application.permissions.each do |perm| %>
-    <li><%= check_box_tag perm.to_s, "yes", @token.read_attribute(perm) %><%= t "oauth.oauthorize.#{perm}" %></li>
+    <li><%= check_box_tag perm.to_s, "yes", @token.read_attribute(perm) %><%= t ".#{perm}" %></li>
   <% end %>
   </ul>
-  <p><%= submit_tag t("oauth.oauthorize.grant_access") %></p>
+  <p><%= submit_tag t(".grant_access") %></p>
 <% end %>
index 4afba70e306c685a268286e4823f7fdd80243422..7142a71a0c49387dfd62d286cd1a696bc5f8dc90 100644 (file)
@@ -1,5 +1,5 @@
 <% content_for :heading do %>
-  <h1><%= t "oauth.oauthorize_failure.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
 <p><%= @message %></p>
index c8f56af3345a538da083acba1a2db13fca297269..9c817372fd50f262c0e604c741f63fb2a81452ca 100644 (file)
@@ -1,9 +1,9 @@
 <% content_for :heading do %>
-  <h1><%= t "oauth.oauthorize_success.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p><%= raw t("oauth.oauthorize_success.allowed", :app_name => link_to(@token.client_application.name, @token.client_application.url)) %></p>
+<p><%= raw t(".allowed", :app_name => link_to(@token.client_application.name, @token.client_application.url)) %></p>
 
 <% if @token.oob? and not @token.oauth10? %>
-<p><%= t "oauth.oauthorize_success.verification", :code => @token.verifier %></p>
+<p><%= t ".verification", :code => @token.verifier %></p>
 <% end %>
index 2dd63c9cbda9a85d49c2fab3d47f6b0d517effee..fe85d0756246f8df0c6e1f18fb7fd9aa335592ba 100644 (file)
@@ -1,22 +1,21 @@
-<% @title = t 'redaction.edit.title' %>
+<% @title = t '.title' %>
 
 <% content_for :heading do %>
-  <h1><%= t 'redaction.edit.heading' %></h1>
+  <h1><%= t '.heading' %></h1>
 <% end %>
 
 <%= form_for(@redaction) do |f| %>
   <%= f.error_messages %>
 
   <p>
-    <%= f.label :title, t('redaction.edit.title') %><br />
+    <%= f.label :title, t('.title') %><br />
     <%= f.text_field :title %>
   </p>
   <p>
-    <%= f.label :description, t('redaction.edit.description') %><br />
+    <%= f.label :description, t('.description') %><br />
     <%= richtext_area :redaction, :description, :cols => 80, :rows => 20, :format => @redaction.description_format %>
   </p>
   <p>
-    <%= f.submit t('redaction.edit.submit') %>
+    <%= f.submit t('.submit') %>
   </p>
 <% end %>
-
index a5a85c38d4758093c5d12a7b04e6394c6ac780e9..b53e9b74780496119932f321eb31e4884bd6f340 100644 (file)
@@ -1,10 +1,10 @@
-<% @title = t('redaction.index.title') %>
+<% @title = t('.title') %>
 <% content_for :heading do %>
-  <h1><%= t('redaction.index.heading') %></h1>
+  <h1><%= t('.heading') %></h1>
 <% end %>
 
 <% unless @redactions.empty? %>
   <%= render :partial => 'redactions' %>
 <% else %>
-  <p><%= t 'redaction.index.empty' %></p>
+  <p><%= t '.empty' %></p>
 <% end %>
index 5004c0e1e8178a6247fe37f8ae6f83995ebbf5e1..e6838073d1065172ed55a41f6b6d8eb3532ddbb8 100644 (file)
@@ -1,22 +1,20 @@
-<% @title = t 'redaction.new.title' %>
+<% @title = t '.title' %>
 <% content_for :heading do %>
-  <h1><%= t 'redaction.new.heading' %></h1>
+  <h1><%= t '.heading' %></h1>
 <% end %>
 
 <%= form_for(@redaction) do |f| %>
   <%= f.error_messages %>
 
   <p>
-    <%= f.label :title, t('redaction.new.title') %><br />
+    <%= f.label :title, t('.title') %><br />
     <%= f.text_field :title %>
   </p>
   <p>
-    <%= f.label :description, t('redaction.new.description') %><br />
+    <%= f.label :description, t('.description') %><br />
     <%= richtext_area :redaction, :description, :cols => 80, :rows => 20, :format => @redaction.description_format %>
   </p>
   <p>
-    <%= f.submit t('redaction.new.submit') %>
+    <%= f.submit t('.submit') %>
   </p>
 <% end %>
-
-
index 99f7cd1f1a42d834434f3ab37cfa72b8607d65ed..8ec72f3ac17cfd44a76ef8dc4ce88cf34efb8091 100644 (file)
@@ -1,20 +1,20 @@
-<% @title = t('redaction.show.title') %>
+<% @title = t('.title') %>
 <% content_for :heading do %>
-  <h1><%= t('redaction.show.heading', :title => @redaction.title) %></h1>
+  <h1><%= t('.heading', :title => @redaction.title) %></h1>
 <% end %>
 
 <p>
-  <b><%= t 'redaction.show.user' %></b>
+  <b><%= t '.user' %></b>
   <%= link_to(@redaction.user.display_name, user_path(@redaction.user)) %>
 </p>
 <p class="richtext">
-  <b><%= t 'redaction.show.description' %></b>
+  <b><%= t '.description' %></b>
   <%= @redaction.description.to_html %>
 </p>
 
 <% if current_user and current_user.moderator? %>
 <div class="buttons">
-  <%= button_to t('redaction.show.edit'), edit_redaction_path(@redaction), :method => :get %></td>
-  <%= button_to t('redaction.show.destroy'), @redaction, :method => "delete", :remote => true, :data => { :confirm => t('redaction.show.confirm') } %>
+  <%= button_to t('.edit'), edit_redaction_path(@redaction), :method => :get %></td>
+  <%= button_to t('.destroy'), @redaction, :method => "delete", :remote => true, :data => { :confirm => t('.confirm') } %>
 </div>
 <% end %>
index 7c5639912b37c082e29ec42af5f27beba095035e..aeb3a1be52ecd33802aacebd08591827d898717d 100644 (file)
@@ -1,26 +1,26 @@
-<h4 class='heading'><%= t "site.markdown_help.title_html" %></h4>
+<h4 class='heading'><%= t ".title_html" %></h4>
 <ul>
   <li>
-    <h4><%= t "site.markdown_help.headings" %></h4>
-    <p># <%= t "site.markdown_help.heading" %><br>
-       ## <%= t "site.markdown_help.subheading" %></p>
+    <h4><%= t ".headings" %></h4>
+    <p># <%= t ".heading" %><br>
+       ## <%= t ".subheading" %></p>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.unordered" %></h4>
-    <p>* <%= t "site.markdown_help.first" %><br>
-       * <%= t "site.markdown_help.second" %></p>
+    <h4><%= t ".unordered" %></h4>
+    <p>* <%= t ".first" %><br>
+       * <%= t ".second" %></p>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.ordered" %></h4>
-    <p>1. <%= t "site.markdown_help.first" %><br>
-       2. <%= t "site.markdown_help.second" %></p>
+    <h4><%= t ".ordered" %></h4>
+    <p>1. <%= t ".first" %><br>
+       2. <%= t ".second" %></p>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.link" %></h4>
-    <span>[<%= t "site.markdown_help.text" %>](<%= t "site.markdown_help.url" %>)</span>
+    <h4><%= t ".link" %></h4>
+    <span>[<%= t ".text" %>](<%= t ".url" %>)</span>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.image" %></h4>
-    <span>![<%= t "site.markdown_help.alt" %>](<%= t "site.markdown_help.url" %>)</span>
+    <h4><%= t ".image" %></h4>
+    <span>![<%= t ".alt" %>](<%= t ".url" %>)</span>
   </li>
 </ul>
index 0c8075c6ef2261ad564ea40ff2454c77086e0d97..702a0243d19f7aaf06e4233b0657b60b21477219 100644 (file)
@@ -1,37 +1,37 @@
 <div class='attr'>
   <div class='byosm'>
-    <%= t "about_page.copyright_html" %>
+    <%= t ".copyright_html" %>
   </div>
 
   <div class='user-image'></div>
 
-  <h1><%= raw t "about_page.used_by", :name => "<span class='user-name'>OpenStreetMap</span>" %></h1>
+  <h1><%= raw t ".used_by", :name => "<span class='user-name'>OpenStreetMap</span>" %></h1>
 </div>
 
 <div class='text'>
   <div class='section'>
-    <p><strong><%= t "about_page.lede_text" %></strong></p>
-    <h2><div class='icon local'></div><%= t "about_page.local_knowledge_title" %></h2>
-    <p><%= t "about_page.local_knowledge_html" %></p>
+    <p><strong><%= t ".lede_text" %></strong></p>
+    <h2><div class='icon local'></div><%= t ".local_knowledge_title" %></h2>
+    <p><%= t ".local_knowledge_html" %></p>
   </div>
 
   <div class='section'>
-    <h2><div class='icon community'></div><%= t "about_page.community_driven_title" %></h2>
-    <p><%= t "about_page.community_driven_html", :diary_path => diary_path %></p>
+    <h2><div class='icon community'></div><%= t ".community_driven_title" %></h2>
+    <p><%= t ".community_driven_html", :diary_path => diary_path %></p>
   </div>
 
   <div class='section' id='open-data'>
-    <h2><div class='icon open'></div><%= t "about_page.open_data_title" %></h2>
-    <p><%= t "about_page.open_data_html", :copyright_path => copyright_path %></p>
+    <h2><div class='icon open'></div><%= t ".open_data_title" %></h2>
+    <p><%= t ".open_data_html", :copyright_path => copyright_path %></p>
   </div>
 
   <div class='section' id='legal'>
-    <h2><div class='icon legal'></div><%= t "about_page.legal_title" %></h2>
-    <p><%= t "about_page.legal_html" %></p>
+    <h2><div class='icon legal'></div><%= t ".legal_title" %></h2>
+    <p><%= t ".legal_html" %></p>
   </div>
 
   <div class='section' id='partners'>
-    <h2><div class='icon partners'></div><%= t "about_page.partners_title" %></h2>
+    <h2><div class='icon partners'></div><%= t ".partners_title" %></h2>
     <p><%= t 'layouts.partners_html',
              :ucl => link_to(t('layouts.partners_ucl'), "https://www.ucl.ac.uk"),
              :ic => link_to(t('layouts.partners_ic'), "https://www.imperial.ac.uk/"),
index 887782be25b9d9f1333412b7bbcbcb96f838ff92..1b85d201cdcda0e8aa004a2cbefce3753e12f43b 100644 (file)
@@ -2,15 +2,15 @@
 <% if @locale == 'en' %>
   <!-- Maybe ease foreigners back to their native page -->
 
-    <% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
-      <h1><%= t 'license_page.native.title' %></h1>
+    <% if t('.legal_babble', :locale => I18n.locale) != t('.legal_babble', :locale => :en) %>
+      <h1><%= t '.native.title' %></h1>
       <p>
-        <%= raw t 'license_page.native.text',
-                    :native_link => link_to(t('license_page.native.native_link'),
+        <%= raw t '.native.text',
+                    :native_link => link_to(t('.native.native_link'),
                                                 :controller => 'site',
                                                 :action => 'copyright',
                                                 :copyright_locale => nil),
-                    :mapping_link => link_to(t('license_page.native.mapping_link'),
+                    :mapping_link => link_to(t('.native.mapping_link'),
                                                 :controller => 'site',
                                                 :action => 'index') %>
       </p>
     <% end %>
   <% else %>
     <!-- Maybe note that this page has been translated -->
-    <% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
-      <h1><%= t 'license_page.foreign.title' %></h1>
+    <% if t('.legal_babble', :locale => @locale) != t('.legal_babble', :locale => :en) %>
+      <h1><%= t '.foreign.title' %></h1>
       <p>
-        <%= raw t 'license_page.foreign.text',
-                    :english_original_link => link_to(t('license_page.foreign.english_link'),
+        <%= raw t '.foreign.text',
+                    :english_original_link => link_to(t('.foreign.english_link'),
                                                           :controller => 'site',
                                                           :action => 'copyright',
                                                           :copyright_locale => 'en') %>
     <% end %>
   <% end %>
 
-  <h1><%= t "license_page.legal_babble.title_html", :locale => @locale %></h1>
+  <h1><%= t ".legal_babble.title_html", :locale => @locale %></h1>
 
 <% end %>
 
-<p><%= t "license_page.legal_babble.intro_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.intro_2_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.intro_3_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.intro_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.intro_2_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.intro_3_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.credit_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.credit_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.credit_2_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.credit_3_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.credit_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.credit_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.credit_2_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.credit_3_html", :locale => @locale %></p>
 <p><%= image_tag("attribution_example.png",
-              :alt => t('license_page.legal_babble.attribution_example.alt'),
+              :alt => t('.legal_babble.attribution_example.alt'),
               :border => 0,
-              :title => t('license_page.legal_babble.attribution_example.title')) %>
+              :title => t('.legal_babble.attribution_example.title')) %>
 
-<h3><%= t "license_page.legal_babble.more_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.more_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.more_2_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.more_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.more_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.more_2_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.contributors_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.contributors_intro_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.contributors_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.contributors_intro_html", :locale => @locale %></p>
 <ul id="contributors">
-  <li><%= t "license_page.legal_babble.contributors_at_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_ca_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_fi_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_fr_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_nl_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_nz_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_si_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_za_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_gb_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_at_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_ca_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_fi_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_fr_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_nl_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_nz_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_si_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_za_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_gb_html", :locale => @locale %></li>
 </ul>
-<p><%= t "license_page.legal_babble.contributors_footer_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.contributors_footer_2_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.contributors_footer_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.contributors_footer_2_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.infringement_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.infringement_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.infringement_2_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.infringement_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.infringement_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.infringement_2_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.trademarks_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.trademarks_1_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.trademarks_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.trademarks_1_html", :locale => @locale %></p>
index 81095140ed8f1fbdf47a64fdd8330e880c9a1dda..e84adf2d48bae0d20188c14b20c772f0521167ef 100644 (file)
@@ -4,9 +4,9 @@
   <% elsif STATUS == :database_readonly or STATUS == :api_readonly %>
     <p><%= t 'layouts.osm_read_only' %></p>
   <% elsif !current_user.data_public? %>
-    <p><%= t 'site.edit.not_public' %></p>
-    <p><%= raw t 'site.edit.not_public_description', :user_page => (link_to t('site.edit.user_page_link'), {:controller => 'user', :action => 'account', :display_name => current_user.display_name, :anchor => 'public'}) %></p>
-    <p><%= raw t 'site.edit.anon_edits', :link => link_to(t('site.edit.anon_edits_link_text'), t('site.edit.anon_edits_link')) %></p>
+    <p><%= t '.not_public' %></p>
+    <p><%= raw t '.not_public_description', :user_page => (link_to t('.user_page_link'), {:controller => 'user', :action => 'account', :display_name => current_user.display_name, :anchor => 'public'}) %></p>
+    <p><%= raw t 'site.edit.anon_edits', :link => link_to(t('.anon_edits_link_text'), t('.anon_edits_link')) %></p>
   <% else %>
     <%= render :partial => preferred_editor %>
   <% end %>
index bf5376fb55bd1be2e10c321ba756492c6b63f6ea..f11ad8d790a7b85a95f767b8c9de610f3625c5e3 100644 (file)
@@ -1,8 +1,8 @@
-<% set_title(t('export.title')) %>
+<% set_title(t('.title')) %>
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t 'export.title' %>
+  <%= t '.title' %>
 </h2>
 
 <%= form_tag({:controller => "export", :action => "finish"}, :class => "export_form") do %>
       <br/><br/>
       <%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
       </div>
-    <a id='drag_box' href="#"><%= t'export.start.manually_select' %></a>
+    <a id='drag_box' href="#"><%= t '.manually_select' %></a>
   </div>
 
-  <h4><%= t'export.start.licence' %></h4>
-  <p><%= raw t 'export.start.export_details' %></p>
+  <h4><%= t '.licence' %></h4>
+  <p><%= raw t '.export_details' %></p>
 
   <div id="export_osm_too_large">
     <p class="warning">
-      <%= t'export.start.too_large.body' %>
+      <%= t '.too_large.body' %>
     </p>
   </div>
 
   <div id="export_commit">
     <div class="export_button">
-      <%= submit_tag t('export.start.export_button') %>
+      <%= submit_tag t('.export_button') %>
     </div>
 
-    <p><%= t'export.start.too_large.advice' %></p>
+    <p><%= t '.too_large.advice' %></p>
   </div>
 
-  <dl class="inner12">  
-    <dt><a id="export_overpass" href="https://overpass-api.de/api/map?bbox="><%= t'export.start.too_large.overpass.title' %></a></dt>
-    <dd><%= t'export.start.too_large.overpass.description' %></dd>
-    
-    <dt><a href="https://planet.openstreetmap.org/"><%= t'export.start.too_large.planet.title' %></a></dt>
-    <dd><%= t'export.start.too_large.planet.description' %></dd>
+  <dl class="inner12">
+    <dt><a id="export_overpass" href="https://overpass-api.de/api/map?bbox="><%= t '.too_large.overpass.title' %></a></dt>
+    <dd><%= t '.too_large.overpass.description' %></dd>
 
-    <dt><a href="https://download.geofabrik.de/"><%= t'export.start.too_large.geofabrik.title' %></a></dt>
-    <dd><%= t'export.start.too_large.geofabrik.description' %></dd>
+    <dt><a href="https://planet.openstreetmap.org/"><%= t '.too_large.planet.title' %></a></dt>
+    <dd><%= t '.too_large.planet.description' %></dd>
 
-    <dt><a href="https://wiki.openstreetmap.org/wiki/Download"><%= t'export.start.too_large.other.title' %></a></dt>
-    <dd><%= t'export.start.too_large.other.description' %></dd>
+    <dt><a href="https://download.geofabrik.de/"><%= t '.too_large.geofabrik.title' %></a></dt>
+    <dd><%= t '.too_large.geofabrik.description' %></dd>
+
+    <dt><a href="https://wiki.openstreetmap.org/wiki/Download"><%= t '.too_large.other.title' %></a></dt>
+    <dd><%= t '.too_large.other.description' %></dd>
   </dl>
 <% end %>
index fc5fecc9a48a9c308297445974bd4618f72e1851..571a9b25fc0ed445ebf8a3d29e16e97da4f3c4ac 100644 (file)
@@ -3,35 +3,35 @@
 <% end %>
 
 <% content_for :heading do %>
-  <h1><%= t "fixthemap.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
 <h3><%= t "layouts.intro_header" %></h3>
 
 <p><%= t "layouts.intro_text" %></p>
 
-<h3><%= t "fixthemap.how_to_help.title" %></h3>
+<h3><%= t ".how_to_help.title" %></h3>
 
 <div class='clearfix'>
   <div class='col6 inner11'>
-    <h3><%= t "fixthemap.how_to_help.join_the_community.title" %></h3>
-    <%= t "fixthemap.how_to_help.join_the_community.explanation_html" %>
+    <h3><%= t ".how_to_help.join_the_community.title" %></h3>
+    <%= t ".how_to_help.join_the_community.explanation_html" %>
     <div class='clearfix center'>
       <a class="button sign-up" href="<%= user_new_path %>"><%= t('layouts.start_mapping') %></a>
     </div>
   </div>
   <div class='col6 inner11'>
-    <h3><%= t "welcome_page.add_a_note.title" %></h3>
-    <p><%= t "welcome_page.add_a_note.paragraph_1_html" %></p>
-    <p><%= t "fixthemap.how_to_help.add_a_note.instructions_html", :map_url => root_path %></p>
+    <h3><%= t "site.welcome.add_a_note.title" %></h3>
+    <p><%= t "site.welcome.add_a_note.paragraph_1_html" %></p>
+    <p><%= t ".how_to_help.add_a_note.instructions_html", :map_url => root_path %></p>
   </div>
 </div>
 
-<h3><%= t "fixthemap.other_concerns.title" %></h3>
-<p><%= t "fixthemap.other_concerns.explanation_html" %></p>
+<h3><%= t ".other_concerns.title" %></h3>
+<p><%= t ".other_concerns.explanation_html" %></p>
 
 <div class='col12 clearfix icon-list'>
-  <h3><%= t "welcome_page.questions.title" %></h3>
+  <h3><%= t "site.welcome.questions.title" %></h3>
   <span class='sprite small term question'></span>
-  <p><%= t "welcome_page.questions.paragraph_1_html", :help_url => help_path %></p>
+  <p><%= t "site.welcome.questions.paragraph_1_html", :help_url => help_path %></p>
 </div>
index dff2108cacbc7831b48cbb9572ffd9069698f470..085ea63d53eb69bccd5660d2e2765dc937f071c5 100644 (file)
@@ -1,18 +1,18 @@
 <% content_for :heading do %>
-  <h1><%= t "help_page.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p class='introduction'><%= t "help_page.introduction" %></p>
+<p class='introduction'><%= t ".introduction" %></p>
 
 <% ['welcome', 'beginners_guide', 'help', 'mailing_lists', 'forums', 'irc', 'switch2osm', 'wiki'].each do |site| %>
   <% unless site == 'welcome' && !current_user %>
   <div class='<%= site %> help-item'>
   <h3>
-    <a href='<%= t "help_page.#{site}.url" %>'>
-      <%= t "help_page.#{site}.title" %>
+    <a href='<%= t ".#{site}.url" %>'>
+      <%= t ".#{site}.title" %>
     </a>
   </h3>
-  <p><%= t "help_page.#{site}.description" %></p>
+  <p><%= t ".#{site}.description" %></p>
   </div>
   <% end %>
 <% end %>
index 039c9a51cc5e205a1430490edcce984303998907..91dfd125023d1fdc61395efc2c0707b9d17f6af6 100644 (file)
@@ -7,7 +7,7 @@
             <%= image_tag "key/#{name}/#{entry['image']}" %>
           </td>
           <td class="mapkey-table-value">
-            <%= [*t("site.key.table.entry.#{entry['name']}")].to_sentence %>
+            <%= [*t(".table.entry.#{entry['name']}")].to_sentence %>
           </td>
         </tr>
       <% end %>
index 92220039a0ea86609dc3093bca70173d351c3b81..dc6a519dfeed144f584cd803b96cf47dff8bbc68 100644 (file)
@@ -3,71 +3,71 @@
 <% end %>
 
 <% content_for :heading do %>
-  <h1><%= t "welcome_page.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p><%= t "welcome_page.introduction_html" %></p>
+<p><%= t ".introduction_html" %></p>
 
-<h3><%= t "welcome_page.whats_on_the_map.title" %></h3>
+<h3><%= t ".whats_on_the_map.title" %></h3>
 
 <div class=' clearfix'>
   <div class='col6 inner11'>
     <div class='center clearfix inner11'>
       <span class='sprite small check'></span>
     </div>
-    <p><%= t "welcome_page.whats_on_the_map.on_html" %></p>
+    <p><%= t ".whats_on_the_map.on_html" %></p>
   </div>
   <div class='col6 inner11'>
     <div class='center clearfix inner11'>
       <span class='sprite small x'></span>
     </div>
-    <p><%= t "welcome_page.whats_on_the_map.off_html" %></p>
+    <p><%= t ".whats_on_the_map.off_html" %></p>
   </div>
 </div>
 
-<h3><%= t "welcome_page.basic_terms.title" %></h3>
+<h3><%= t ".basic_terms.title" %></h3>
 
-<p><%= t "welcome_page.basic_terms.paragraph_1_html" %></p>
+<p><%= t ".basic_terms.paragraph_1_html" %></p>
 
 <div class='col12 clearfix icon-list'>
   <div class='clearfix'>
     <span class='sprite small term editor'></span>
-    <p><%= t "welcome_page.basic_terms.editor_html" %></p>
+    <p><%= t ".basic_terms.editor_html" %></p>
   </div>
   <div class='clearfix'>
     <span class='sprite small term node'></span>
-    <p><%= t "welcome_page.basic_terms.node_html" %></p>
+    <p><%= t ".basic_terms.node_html" %></p>
   </div>
   <div class='clearfix'>
     <span class='sprite small term way'></span>
-    <p><%= t "welcome_page.basic_terms.way_html" %></p>
+    <p><%= t ".basic_terms.way_html" %></p>
   </div>
   <div class='clearfix'>
     <span class='sprite small term tag'></span>
-    <p><%= t "welcome_page.basic_terms.tag_html" %></p>
+    <p><%= t ".basic_terms.tag_html" %></p>
   </div>
 </div>
 
 <div class='col12 clearfix icon-list'>
-  <h3><%= t "welcome_page.rules.title" %></h3>
+  <h3><%= t ".rules.title" %></h3>
   <span class='sprite small term rules'></span>
-  <p><%= t "welcome_page.rules.paragraph_1_html" %></p>
+  <p><%= t ".rules.paragraph_1_html" %></p>
 </div>
 
 <div class='col12 clearfix icon-list'>
-  <h3><%= t "welcome_page.questions.title" %></h3>
+  <h3><%= t ".questions.title" %></h3>
   <span class='sprite small term question'></span>
-  <p><%= t "welcome_page.questions.paragraph_1_html", :help_url => help_path %></p>
+  <p><%= t ".questions.paragraph_1_html", :help_url => help_path %></p>
 </div>
 
 <div class='clearfix center'>
-  <a href="<%= edit_path %>" class="button start-mapping"><%= t "welcome_page.start_mapping" %></a>
+  <a href="<%= edit_path %>" class="button start-mapping"><%= t ".start_mapping" %></a>
 </div>
 
 <div class='note-box'>
   <div class='inner22'>
-    <h3><%= t "welcome_page.add_a_note.title" %></h3>
-    <p><%= t "welcome_page.add_a_note.paragraph_1_html" %></p>
-    <p><%= t "welcome_page.add_a_note.paragraph_2_html", :map_url => root_path %></p>
+    <h3><%= t ".add_a_note.title" %></h3>
+    <p><%= t ".add_a_note.paragraph_1_html" %></p>
+    <p><%= t ".add_a_note.paragraph_2_html", :map_url => root_path %></p>
   </div>
 </div>
diff --git a/app/views/user/index.html.erb b/app/views/user/index.html.erb
deleted file mode 100644 (file)
index e69de29..0000000
index 8b7a290fca24aba8b9383ba4b32460b6e2353053..69af9374afd009d0a4b67084d5c58c677d6e51a1 100644 (file)
@@ -1,10 +1,10 @@
-<% @title = t('user_block.blocks_by.title', :name => h(@user.display_name)) %>
+<% @title = t('.title', :name => h(@user.display_name)) %>
 <% content_for :heading do %>
-  <h1><%= raw(t('user_block.blocks_by.heading', :name => link_to(h(@user.display_name), user_path(@user)))) %></h1>
+  <h1><%= raw(t('.heading', :name => link_to(h(@user.display_name), user_path(@user)))) %></h1>
 <% end %>
 
 <% unless @user_blocks.empty? %>
 <%= render :partial => 'blocks', :locals => { :show_revoke_link => (current_user and current_user.moderator?), :show_user_name => true, :show_creator_name => false } %>
 <% else %>
-<p><%= t "user_block.blocks_by.empty", :name => h(@user.display_name) %></p>
+<p><%= t ".empty", :name => h(@user.display_name) %></p>
 <% end %>
index 7abcc867409c7a985e37f6264b7b5984e6dcc439..6e4fd3ca6a190aadfa4beea96417d0a428ece924 100644 (file)
@@ -1,9 +1,9 @@
-<% @title = t('user_block.blocks_on.title', :name => h(@user.display_name)) %>
+<% @title = t('.title', :name => h(@user.display_name)) %>
 <% content_for :heading do %>
-  <h1><%= raw(t('user_block.blocks_on.heading', :name => link_to(h(@user.display_name), user_path(@user)))) %></h1>
+  <h1><%= raw(t('.heading', :name => link_to(h(@user.display_name), user_path(@user)))) %></h1>
 <% end %>
 <% unless @user_blocks.empty? %>
 <%= render :partial => 'blocks', :locals => { :show_revoke_link => (current_user and current_user.moderator?), :show_user_name => false, :show_creator_name => true } %>
 <% else %>
-<p><%= t "user_block.blocks_on.empty", :name => h(@user.display_name) %></p>
+<p><%= t ".empty", :name => h(@user.display_name) %></p>
 <% end %>
index 289f7a8316d1543ba5744360d353944175f39a73..a3bb9c682fb320954c0d0227ed74a2c7cd6f3923 100644 (file)
@@ -1,11 +1,11 @@
-<% @title = t 'user_block.edit.title', :name => h(@user_block.user.display_name) %>
+<% @title = t '.title', :name => h(@user_block.user.display_name) %>
 <% content_for :heading do %>
-  <h1><%= raw t('user_block.edit.title',
+  <h1><%= raw t('.title',
                 :name => link_to(h(@user_block.user.display_name),
                                  user_path(@user_block.user))) %></h1>
   <ul class='secondary-actions clearfix'>
-    <li><%= link_to t('user_block.edit.show'), @user_block %></li>
-    <li><%= link_to t('user_block.edit.back'), user_blocks_path %></li>
+    <li><%= link_to t('.show'), @user_block %></li>
+    <li><%= link_to t('.back'), user_blocks_path %></li>
   </ul>
 <% end %>
 
   <%= f.error_messages %>
 
   <p>
-    <%= f.label :reason, t('user_block.edit.reason', :name => h(@user_block.user.display_name)) %><br />
+    <%= f.label :reason, t('.reason', :name => h(@user_block.user.display_name)) %><br />
     <%= richtext_area :user_block, :reason, :cols => 80, :rows => 20, :format => @user_block.reason_format %>
   </p>
   <p>
-    <%= label_tag 'user_block_period', t('user_block.edit.period') %><br />
-    <%= select_tag('user_block_period', options_for_select(UserBlock::PERIODS.collect { |h| [t('user_block.period', :count => h), h.to_s] }, params[:user_block_period])) %>
+    <%= label_tag 'user_block_period', t('.period') %><br />
+    <%= select_tag('user_block_period', options_for_select(UserBlock::PERIODS.collect { |h| [t('user_blocks.period', :count => h), h.to_s] }, params[:user_block_period])) %>
   </p>
   <p>
     <%= f.check_box :needs_view %>
-    <%= f.label :needs_view, t('user_block.edit.needs_view') %>
+    <%= f.label :needs_view, t('.needs_view') %>
   </p>
   <p>
-    <%= f.submit t('user_block.edit.submit') %>
+    <%= f.submit t('.submit') %>
   </p>
 <% end %>
index ce7f12b9150db41336b1d0c778cf1f0b9bdabbf8..adfc0dc28d491edf46b9e200207d412d44c3ddbc 100644 (file)
@@ -1,10 +1,10 @@
-<% @title = t('user_block.index.title') %>
+<% @title = t('.title') %>
 <% content_for :heading do %>
-  <h1><%= t('user_block.index.heading') %></h1>
+  <h1><%= t('.heading') %></h1>
 <% end %>
 
 <% unless @user_blocks.empty? %>
 <%= render :partial => 'blocks', :locals => { :show_revoke_link => (current_user and current_user.moderator?), :show_user_name => true, :show_creator_name => true } %>
 <% else %>
-<p><%= t "user_block.index.empty" %></p>
+<p><%= t ".empty" %></p>
 <% end %>
index f26a91c5c6bf8e5ee57b0c3cf64f256614583bfb..bd941babcc10f98cf9bba79217653ba97d519b2c 100644 (file)
@@ -1,6 +1,6 @@
-<% @title = t 'user_block.new.title', :name => h(@user.display_name) %>
+<% @title = t '.title', :name => h(@user.display_name) %>
 <% content_for :heading do %>
-  <h1><%= raw t('user_block.new.heading',
+  <h1><%= raw t('.heading',
                 :name => link_to(
                                  h(@user.display_name),
                                  user_path(@user))) %></h1>
@@ -9,21 +9,21 @@
   <%= f.error_messages %>
 
   <p>
-    <%= f.label :reason, t('user_block.new.reason', :name => @user.display_name) %><br />
+    <%= f.label :reason, t('.reason', :name => @user.display_name) %><br />
     <%= richtext_area :user_block, :reason, :cols => 80, :rows => 20 %>
   </p>
   <p>
-    <%= label_tag 'user_block_period', t('user_block.new.period') %><br />
-    <%= select_tag('user_block_period', options_for_select(UserBlock::PERIODS.collect { |h| [t('user_block.period', :count => h), h.to_s] }, params[:user_block_period] )) %>
+    <%= label_tag 'user_block_period', t('.period') %><br />
+    <%= select_tag('user_block_period', options_for_select(UserBlock::PERIODS.collect { |h| [t('user_blocks.period', :count => h), h.to_s] }, params[:user_block_period] )) %>
   </p>
   <p>
     <%= f.check_box :needs_view %>
-    <%= f.label :needs_view, t('user_block.new.needs_view') %>
+    <%= f.label :needs_view, t('.needs_view') %>
   </p>
   <p>
     <%= hidden_field_tag 'display_name', @user.display_name %>
-    <%= f.submit t('user_block.new.submit') %>
+    <%= f.submit t('.submit') %>
   </p>
 <% end %>
 
-<%= link_to t('user_block.new.back'), user_blocks_path %>
+<%= link_to t('.back'), user_blocks_path %>
index 3b5323d72be7f94e88f1035682a669837305901e..6aad7eef3dc847dd014c38c1874127042406e717 100644 (file)
@@ -1,3 +1,3 @@
-<p><%= t'user_block.not_found.sorry', :id => params[:id] %></p>
+<p><%= t'.sorry', :id => params[:id] %></p>
 
-<%= link_to t('user_block.not_found.back'), user_blocks_path %>
+<%= link_to t('.back'), user_blocks_path %>
index f812ffff6cce318c15a18ddc1bac98fbea13bbb4..c7eee67038a4292b21705e801bbdd7a6d32c0f52 100644 (file)
@@ -1,9 +1,9 @@
-<% @title = t('user_block.revoke.title',
+<% @title = t('.title',
               :block_on => h(@user_block.user.display_name),
               :block_by => h(@user_block.creator.display_name)) %>
 
 <% content_for :heading do %>
-  <h1><%= raw t('user_block.revoke.heading',
+  <h1><%= raw t('.heading',
                 :block_on => link_to(
                                      h(@user_block.user.display_name),
                                      user_path(@user_block.user)),
 
 <% if @user_block.ends_at > Time.now %>
 <p><b>
-  <%= t('user_block.revoke.time_future', :time => distance_of_time_in_words_to_now(@user_block.ends_at)) %>
+  <%= t('.time_future', :time => distance_of_time_in_words_to_now(@user_block.ends_at)) %>
 </b></p>
 
 <%= form_for :revoke, :url => { :action => "revoke" } do |f| %>
   <%= f.error_messages %>
 <p>
   <%= check_box_tag 'confirm', 'yes' %>
-  <%= label_tag 'confirm', t('user_block.revoke.confirm') %>
+  <%= label_tag 'confirm', t('.confirm') %>
 </p>
 <p>
-  <%= submit_tag t('user_block.revoke.revoke') %>
+  <%= submit_tag t('.revoke') %>
 </p>
 <% end %>
 
 <% else %>
 <p>
-  <%= t('user_block.revoke.past', :time => distance_of_time_in_words_to_now(@user_block.ends_at)) %>
+  <%= t('.past', :time => distance_of_time_in_words_to_now(@user_block.ends_at)) %>
 </p>
 <% end %>
index 51fbcaf49e2ba1f3e9e12e10c49dd13d96ea5ff8..4dc03f4e487ec6645c48bc1e73c5a452cf3a6262 100644 (file)
@@ -1,9 +1,9 @@
-<% @title = t('user_block.show.title',
+<% @title = t('.title',
               :block_on => @user_block.user.display_name,
               :block_by => @user_block.creator.display_name) %>
 
 <% content_for :heading do %>
-  <h1><%= raw t('user_block.show.heading',
+  <h1><%= raw t('.heading',
                 :block_on => link_to(
                                      h(@user_block.user.display_name),
                                      user_path(@user_block.user)),
 <ul class='secondary-actions clearfix'>
   <% if @user_block.ends_at > Time.now.getutc %>
     <% if current_user and current_user.id == @user_block.creator_id %>
-      <li><%= link_to t('user_block.show.edit'), edit_user_block_path(@user_block) %></li>
+      <li><%= link_to t('.edit'), edit_user_block_path(@user_block) %></li>
     <% end %>
     <% if current_user and current_user.moderator? %>
-      <li><%= link_to(t('user_block.show.revoke'),{:controller => 'user_blocks', :action => 'revoke', :id => @user_block.id}) %></li>
+      <li><%= link_to(t('.revoke'),{:controller => 'user_blocks', :action => 'revoke', :id => @user_block.id}) %></li>
     <% end %>
   <% end %>
-  <li><%= link_to t('user_block.show.back'), user_blocks_path %></li>
+  <li><%= link_to t('.back'), user_blocks_path %></li>
 </ul>
 <% end %>
 
 <% if @user_block.revoker %>
 <p>
-  <b><%= t'user_block.show.revoker' %></b>
+  <b><%= t'.revoker' %></b>
   <%= link_to h(@user_block.revoker.display_name), user_path(@user_block.revoker) %>
 </p>
 <% end %>
 
-<p><b><%= t'user_block.show.created' %></b>: <%= raw t'user_block.show.ago', :time => friendly_date(@user_block.created_at) %></p>
+<p><b><%= t'.created' %></b>: <%= raw t'.ago', :time => friendly_date(@user_block.created_at) %></p>
 
-<p><b><%= t'user_block.show.status' %></b>: <%= block_status(@user_block) %></p>
+<p><b><%= t'.status' %></b>: <%= block_status(@user_block) %></p>
 
-<p><b><%= t'user_block.show.reason' %></b></p>
+<p><b><%= t'.reason' %></b></p>
 <div class="richtext"><%= @user_block.reason.to_html %></div>
index b31ce4d5d6918fe1f05823039139095fa972e009..9e923185d1bb8fb413b4e4a340074abd3d213f58 100644 (file)
@@ -323,47 +323,6 @@ en:
       ago: "%{ago} ago"
       newer_comments: "Newer Comments"
       older_comments: "Older Comments"
-  export:
-    title: "Export"
-    start:
-      area_to_export: "Area to Export"
-      manually_select: "Manually select a different area"
-      format_to_export: "Format to Export"
-      osm_xml_data: "OpenStreetMap XML Data"
-      map_image: "Map Image (shows standard layer)"
-      embeddable_html: "Embeddable HTML"
-      licence: "Licence"
-      export_details: 'OpenStreetMap data is licensed under the <a href="https://opendatacommons.org/licenses/odbl/1.0/">Open Data Commons Open Database License</a> (ODbL).'
-      too_large:
-        advice: "If the above export fails, please consider using one of the sources listed below:"
-        body: "This area is too large to be exported as OpenStreetMap XML Data. Please zoom in or select a smaller area, or use one of the sources listed below for bulk data downloads."
-        planet:
-          title: "Planet OSM"
-          description: "Regularly-updated copies of the complete OpenStreetMap database"
-        overpass:
-          title: "Overpass API"
-          description: "Download this bounding box from a mirror of the OpenStreetMap database"
-        geofabrik:
-          title: "Geofabrik Downloads"
-          description: "Regularly-updated extracts of continents, countries, and selected cities"
-        metro:
-          title: "Metro Extracts"
-          description: "Extracts for major world cities and their surrounding areas"
-        other:
-          title: "Other Sources"
-          description: "Additional sources listed on the OpenStreetMap wiki"
-      options: "Options"
-      format: "Format"
-      scale: "Scale"
-      max: "max"
-      image_size: "Image Size"
-      zoom: "Zoom"
-      add_marker: "Add a marker to the map"
-      latitude: "Lat:"
-      longitude: "Lon:"
-      output: "Output"
-      paste_html: "Paste HTML to embed in website"
-      export_button: "Export"
   geocoder:
     search:
       title:
@@ -1009,285 +968,6 @@ en:
       text: Make a Donation
     learn_more: "Learn More"
     more: More
-  license_page:
-    foreign:
-      title: About this translation
-      text: In the event of a conflict between this translated page and %{english_original_link}, the English page shall take precedence
-      english_link: the English original
-    native:
-      title: About this page
-      text: You are viewing the English version of the copyright page. You can go back to the %{native_link} of this page or you can stop reading about copyright and %{mapping_link}.
-      native_link: THIS_LANGUAGE_NAME_HERE version
-      mapping_link: start mapping
-    legal_babble:
-      title_html: Copyright and License
-      intro_1_html: |
-        OpenStreetMap<sup><a href="#trademarks">&reg;</a></sup> is <i>open data</i>, licensed under the <a
-        href="https://opendatacommons.org/licenses/odbl/">Open Data
-        Commons Open Database License</a> (ODbL) by the  <a
-        href="https://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF).
-      intro_2_html: |
-        You are free to copy, distribute, transmit and adapt our data,
-        as long as you credit OpenStreetMap and its
-        contributors. If you alter or build upon our data, you
-        may distribute the result only under the same licence. The
-        full <a href="https://opendatacommons.org/licenses/odbl/1.0/">legal
-        code</a> explains your rights and responsibilities.
-      intro_3_html: |
-        The cartography in our map tiles, and our documentation, are
-        licensed under the <a href="https://creativecommons.org/licenses/by-sa/2.0/">Creative
-        Commons Attribution-ShareAlike 2.0</a> license (CC BY-SA).
-      credit_title_html: How to credit OpenStreetMap
-      credit_1_html: |
-        We require that you use the credit &ldquo;&copy; OpenStreetMap
-        contributors&rdquo;.
-      credit_2_html: |
-        You must also make it clear that the data is available under the Open
-        Database License, and if using our map tiles, that the cartography is
-        licensed as CC BY-SA. You may do this by linking to
-        <a href="https://www.openstreetmap.org/copyright">this copyright page</a>.
-        Alternatively, and as a requirement if you are distributing OSM in a
-        data form, you can name and link directly to the license(s). In media
-        where links are not possible (e.g. printed works), we suggest you
-        direct your readers to openstreetmap.org (perhaps by expanding
-        'OpenStreetMap' to this full address), to opendatacommons.org, and
-        if relevant, to creativecommons.org.
-      credit_3_html: |
-        For a browsable electronic map, the credit should appear in the corner of the map.
-        For example:
-      attribution_example:
-        alt: Example of how to attribute OpenStreetMap on a webpage
-        title: Attribution example
-      more_title_html: Finding out more
-      more_1_html: |
-        Read more about using our data, and how to credit us, at the <a
-        href="https://osmfoundation.org/Licence">OSMF Licence page</a>.
-      more_2_html: |
-        Although OpenStreetMap is open data, we cannot provide a
-        free-of-charge map API for third-parties.
-        See our <a href="https://operations.osmfoundation.org/policies/api/">API Usage Policy</a>,
-        <a href="https://operations.osmfoundation.org/policies/tiles/">Tile Usage Policy</a>
-        and <a href="https://operations.osmfoundation.org/policies/nominatim/">Nominatim Usage Policy</a>.
-      contributors_title_html: Our contributors
-      contributors_intro_html: |
-        Our contributors are thousands of individuals. We also include
-        openly-licensed data from national mapping agencies
-        and other sources, among them:
-      contributors_at_html: |
-        <strong>Austria</strong>: Contains data from
-        <a href="https://data.wien.gv.at/">Stadt Wien</a> (under
-        <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
-        <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> and
-        Land Tirol (under <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT with amendments</a>).
-      contributors_ca_html: |
-        <strong>Canada</strong>: Contains data from
-        GeoBase&reg;, GeoGratis (&copy; Department of Natural
-        Resources Canada), CanVec (&copy; Department of Natural
-        Resources Canada), and StatCan (Geography Division,
-        Statistics Canada).
-      contributors_fi_html: |
-        <strong>Finland</strong>: Contains data from the
-        National Land Survey of Finland's Topographic Database
-        and other datasets, under the
-        <a href="https://www.maanmittauslaitos.fi/en/opendata-licence-version1">NLSFI License</a>.
-      contributors_fr_html: |
-        <strong>France</strong>: Contains data sourced from
-        Direction Générale des Impôts.
-      contributors_nl_html: |
-        <strong>Netherlands</strong>: Contains &copy; AND data, 2007
-        (<a href="https://www.and.com">www.and.com</a>)
-      contributors_nz_html: |
-        <strong>New Zealand</strong>: Contains data sourced from
-        Land Information New Zealand. Crown Copyright reserved.
-      contributors_si_html: |
-        <strong>Slovenia</strong>: Contains data from the
-        <a href="http://www.gu.gov.si/en/">Surveying and Mapping Authority</a> and
-        <a href="http://www.mkgp.gov.si/en/">Ministry of Agriculture, Forestry and Food</a>
-        (public information of Slovenia).
-      contributors_za_html: |
-        <strong>South Africa</strong>: Contains data sourced from
-        <a href="http://www.ngi.gov.za/">Chief Directorate:
-        National Geo-Spatial Information</a>, State copyright reserved.
-      contributors_gb_html: |
-        <strong>United Kingdom</strong>: Contains Ordnance
-        Survey data &copy; Crown copyright and database right
-        2010-12.
-      contributors_footer_1_html: |
-        For further details of these, and other sources that have been used
-        to help improve OpenStreetMap, please see the <a
-        href="https://wiki.openstreetmap.org/wiki/Contributors">Contributors
-        page</a> on the OpenStreetMap Wiki.
-      contributors_footer_2_html: |
-        Inclusion of data in OpenStreetMap does not imply that the original
-        data provider endorses OpenStreetMap, provides any warranty, or
-        accepts any liability.
-      infringement_title_html: Copyright infringement
-      infringement_1_html: |
-        OSM contributors are reminded never to add data from any
-        copyrighted sources (e.g. Google Maps or printed maps) without
-        explicit permission from the copyright holders.
-      infringement_2_html: |
-        If you believe that copyrighted material has been inappropriately
-        added to the OpenStreetMap database or this site, please refer
-        to our <a href="https://www.osmfoundation.org/wiki/License/Takedown_procedure">takedown
-        procedure</a> or file directly at our
-        <a href="http://dmca.openstreetmap.org/">on-line filing page</a>.
-      trademarks_title_html: <span id="trademarks"></span>Trademarks
-      trademarks_1_html: |
-        OpenStreetMap, the magnifying glass logo and State of the Map are registered trademarks of the OpenStreetMap Foundation. If you have questions about your use of the marks, please see our <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">Trademark Policy</a>.
-  welcome_page:
-    title: Welcome!
-    introduction_html: |
-      Welcome to OpenStreetMap, the free and editable map of the world. Now that you're signed
-      up, you're all set to get started mapping. Here's a quick guide with the most important
-      things you need to know.
-    whats_on_the_map:
-      title: What's on the Map
-      on_html: |
-        OpenStreetMap is a place for mapping things that are both <em>real and current</em> -
-        it includes millions of buildings, roads, and other details about places. You can map
-        whatever real-world features are interesting to you.
-      off_html: |
-        What it <em>doesn't</em> include is opinionated data like ratings, historical or
-        hypothetical features, and data from copyrighted sources. Unless you have special
-        permission, don't copy from online or paper maps.
-    basic_terms:
-      title: Basic Terms For Mapping
-      paragraph_1_html: |
-        OpenStreetMap has some of its own lingo. Here are a few key words that'll come in handy.
-      editor_html: |
-        An <strong>editor</strong> is a program or website you can use to edit the map.
-      node_html: |
-        A <strong>node</strong> is a point on the map, like a single restaurant or a tree.
-      way_html: |
-        A <strong>way</strong> is a line or area, like a road, stream, lake or building.
-      tag_html: |
-        A <strong>tag</strong> is a bit of data about a node or way, like a
-        restaurant's name or a road's speed limit.
-    rules:
-      title: Rules!
-      paragraph_1_html: |
-        OpenStreetMap has few formal rules but we expect all participants to collaborate
-        with, and communicate with, the community. If you are considering
-        any activities other than editing by hand, please read and follow the guidelines on
-        <a href='https://wiki.openstreetmap.org/wiki/Import/Guidelines'>Imports</a> and
-        <a href='https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Automated Edits</a>.
-    questions:
-      title: Any questions?
-      paragraph_1_html: |
-        OpenStreetMap has several resources for learning about the project, asking and answering
-        questions, and collaboratively discussing and documenting mapping topics.
-        <a href='%{help_url}'>Get help here</a>.
-    start_mapping: Start Mapping
-    add_a_note:
-      title: No Time To Edit? Add a Note!
-      paragraph_1_html: |
-        If you just want something small fixed and don't have the time to sign up and learn how to edit, it's
-        easy to add a note.
-      paragraph_2_html: |
-        Just go to <a href='%{map_url}'>the map</a> and click the note icon:
-        <span class='icon note'></span>. This will add a marker to the map, which you can move
-        by dragging. Add your message, then click save, and other mappers will investigate.
-  fixthemap:
-    title: Report a problem / Fix the map
-    how_to_help:
-      title: How to Help
-      join_the_community:
-        title: Join the community
-        explanation_html: |
-          If you have noticed a problem with our map data, for example a road is missing or your address, the best way to
-          proceed is to join the OpenStreetMap community and add or repair the data yourself.
-      add_a_note:
-        instructions_html: |
-          Just click <a class='icon note'></a> or the same icon on the map display.
-          This will add a marker to the map, which you can move
-          by dragging. Add your message, then click save, and other mappers will investigate.
-    other_concerns:
-      title: Other concerns
-      explanation_html: |
-        If you have concerns about how our data is being used or about the contents please consult our
-        <a href='/copyright'>copyright page</a> for more legal information, or contact the appropriate
-        <a href='https://wiki.osmfoundation.org/wiki/Working_Groups'>OSMF working group</a>.
-  help_page:
-    title: Getting Help
-    introduction: |
-      OpenStreetMap has several resources for learning about the project, asking and answering questions,
-      and collaboratively discussing and documenting mapping topics.
-    welcome:
-      url: /welcome
-      title: Welcome to OSM
-      description: Start with this quick guide covering the OpenStreetMap basics.
-    beginners_guide:
-      url: https://wiki.openstreetmap.org/wiki/Beginners%27_guide
-      title: Beginners' Guide
-      description: Community maintained guide for beginners.
-    help:
-      url: https://help.openstreetmap.org/
-      title: help.openstreetmap.org
-      description: Ask a question or look up answers on OSM's question-and-answer site.
-    mailing_lists:
-      url: https://lists.openstreetmap.org/
-      title: Mailing Lists
-      description: Ask a question or discuss interesting matters on a wide range of topical or regional mailing lists.
-    forums:
-      url: https://forum.openstreetmap.org/
-      title: Forums
-      description: Questions and discussions for those that prefer a bulletin board style interface.
-    irc:
-      url: https://irc.openstreetmap.org/
-      title: IRC
-      description: Interactive chat in many different languages and on many topics.
-    switch2osm:
-      url: https://switch2osm.org/
-      title: switch2osm
-      description: Help for companies and organisations switching to OpenStreetMap based maps and other services.
-    wiki:
-      url: https://wiki.openstreetmap.org/
-      title: wiki.openstreetmap.org
-      description: Browse the wiki for in-depth OSM documentation.
-  about_page:
-    next: Next
-    copyright_html: <span>&copy;</span>OpenStreetMap<br>contributors
-    used_by: "%{name} powers map data on thousands of web sites, mobile apps, and hardware devices"
-    lede_text: |
-      OpenStreetMap is built by a community of mappers that contribute and maintain data
-      about roads, trails, cafés, railway stations, and much more, all over the world.
-    local_knowledge_title: Local Knowledge
-    local_knowledge_html: |
-      OpenStreetMap emphasizes local knowledge. Contributors use
-      aerial imagery, GPS devices, and low-tech field maps to verify that OSM
-      is accurate and up to date.
-    community_driven_title: Community Driven
-    community_driven_html: |
-      OpenStreetMap's community is diverse, passionate, and growing every day.
-      Our contributors include enthusiast mappers, GIS professionals, engineers
-      running the OSM servers, humanitarians mapping disaster-affected areas,
-      and many more.
-      To learn more about the community, see the
-      <a href='https://blog.openstreetmap.org'>OpenStreetMap Blog</a>,
-      <a href='%{diary_path}'>user diaries</a>,
-      <a href='https://blogs.openstreetmap.org/'>community blogs</a>, and
-      the <a href='https://www.osmfoundation.org/'>OSM Foundation</a> website.
-    open_data_title: Open Data
-    open_data_html: |
-      OpenStreetMap is <i>open data</i>: you are free to use it for any purpose
-      as long as you credit OpenStreetMap and its contributors. If you alter or
-      build upon the data in certain ways, you may distribute the result only
-      under the same licence. See the <a href='%{copyright_path}'>Copyright and
-      License page</a> for details.
-    legal_title: Legal
-    legal_html: |
-      This site and many other related services are formally operated by the
-      <a href='https://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF)
-      on behalf of the community. Use of all OSMF operated services is subject
-      to our <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
-      Acceptable Use Policies</a> and our <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">Privacy Policy</a>
-      <br>
-      Please <a href='https://osmfoundation.org/Contact'>contact the OSMF</a>
-      if you have licensing, copyright or other legal questions.
-      <br>
-      OpenStreetMap, the magnifying glass logo and State of the Map are <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">registered trademarks of the OSMF</a>.
-    partners_title: Partners
   notifier:
     diary_comment_notification:
       subject: "[OpenStreetMap] %{user} commented on a diary entry"
@@ -1446,6 +1126,175 @@ en:
     delete:
       deleted: "Message deleted"
   site:
+    about:
+      next: Next
+      copyright_html: <span>&copy;</span>OpenStreetMap<br>contributors
+      used_by: "%{name} powers map data on thousands of web sites, mobile apps, and hardware devices"
+      lede_text: |
+        OpenStreetMap is built by a community of mappers that contribute and maintain data
+        about roads, trails, cafés, railway stations, and much more, all over the world.
+      local_knowledge_title: Local Knowledge
+      local_knowledge_html: |
+        OpenStreetMap emphasizes local knowledge. Contributors use
+        aerial imagery, GPS devices, and low-tech field maps to verify that OSM
+        is accurate and up to date.
+      community_driven_title: Community Driven
+      community_driven_html: |
+        OpenStreetMap's community is diverse, passionate, and growing every day.
+        Our contributors include enthusiast mappers, GIS professionals, engineers
+        running the OSM servers, humanitarians mapping disaster-affected areas,
+        and many more.
+        To learn more about the community, see the
+        <a href='https://blog.openstreetmap.org'>OpenStreetMap Blog</a>,
+        <a href='%{diary_path}'>user diaries</a>,
+        <a href='https://blogs.openstreetmap.org/'>community blogs</a>, and
+        the <a href='https://www.osmfoundation.org/'>OSM Foundation</a> website.
+      open_data_title: Open Data
+      open_data_html: |
+        OpenStreetMap is <i>open data</i>: you are free to use it for any purpose
+        as long as you credit OpenStreetMap and its contributors. If you alter or
+        build upon the data in certain ways, you may distribute the result only
+        under the same licence. See the <a href='%{copyright_path}'>Copyright and
+        License page</a> for details.
+      legal_title: Legal
+      legal_html: |
+        This site and many other related services are formally operated by the
+        <a href='https://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF)
+        on behalf of the community. Use of all OSMF operated services is subject
+        to our <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+        Acceptable Use Policies</a> and our <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">Privacy Policy</a>
+        <br>
+        Please <a href='https://osmfoundation.org/Contact'>contact the OSMF</a>
+        if you have licensing, copyright or other legal questions.
+        <br>
+        OpenStreetMap, the magnifying glass logo and State of the Map are <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">registered trademarks of the OSMF</a>.
+      partners_title: Partners
+    copyright:
+      foreign:
+        title: About this translation
+        text: In the event of a conflict between this translated page and %{english_original_link}, the English page shall take precedence
+        english_link: the English original
+      native:
+        title: About this page
+        text: You are viewing the English version of the copyright page. You can go back to the %{native_link} of this page or you can stop reading about copyright and %{mapping_link}.
+        native_link: THIS_LANGUAGE_NAME_HERE version
+        mapping_link: start mapping
+      legal_babble:
+        title_html: Copyright and License
+        intro_1_html: |
+          OpenStreetMap<sup><a href="#trademarks">&reg;</a></sup> is <i>open data</i>, licensed under the <a
+          href="https://opendatacommons.org/licenses/odbl/">Open Data
+          Commons Open Database License</a> (ODbL) by the  <a
+          href="https://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF).
+        intro_2_html: |
+          You are free to copy, distribute, transmit and adapt our data,
+          as long as you credit OpenStreetMap and its
+          contributors. If you alter or build upon our data, you
+          may distribute the result only under the same licence. The
+          full <a href="https://opendatacommons.org/licenses/odbl/1.0/">legal
+          code</a> explains your rights and responsibilities.
+        intro_3_html: |
+          The cartography in our map tiles, and our documentation, are
+          licensed under the <a href="https://creativecommons.org/licenses/by-sa/2.0/">Creative
+          Commons Attribution-ShareAlike 2.0</a> license (CC BY-SA).
+        credit_title_html: How to credit OpenStreetMap
+        credit_1_html: |
+          We require that you use the credit &ldquo;&copy; OpenStreetMap
+          contributors&rdquo;.
+        credit_2_html: |
+          You must also make it clear that the data is available under the Open
+          Database License, and if using our map tiles, that the cartography is
+          licensed as CC BY-SA. You may do this by linking to
+          <a href="https://www.openstreetmap.org/copyright">this copyright page</a>.
+          Alternatively, and as a requirement if you are distributing OSM in a
+          data form, you can name and link directly to the license(s). In media
+          where links are not possible (e.g. printed works), we suggest you
+          direct your readers to openstreetmap.org (perhaps by expanding
+          'OpenStreetMap' to this full address), to opendatacommons.org, and
+          if relevant, to creativecommons.org.
+        credit_3_html: |
+          For a browsable electronic map, the credit should appear in the corner of the map.
+          For example:
+        attribution_example:
+          alt: Example of how to attribute OpenStreetMap on a webpage
+          title: Attribution example
+        more_title_html: Finding out more
+        more_1_html: |
+          Read more about using our data, and how to credit us, at the <a
+          href="https://osmfoundation.org/Licence">OSMF Licence page</a>.
+        more_2_html: |
+          Although OpenStreetMap is open data, we cannot provide a
+          free-of-charge map API for third-parties.
+          See our <a href="https://operations.osmfoundation.org/policies/api/">API Usage Policy</a>,
+          <a href="https://operations.osmfoundation.org/policies/tiles/">Tile Usage Policy</a>
+          and <a href="https://operations.osmfoundation.org/policies/nominatim/">Nominatim Usage Policy</a>.
+        contributors_title_html: Our contributors
+        contributors_intro_html: |
+          Our contributors are thousands of individuals. We also include
+          openly-licensed data from national mapping agencies
+          and other sources, among them:
+        contributors_at_html: |
+          <strong>Austria</strong>: Contains data from
+          <a href="https://data.wien.gv.at/">Stadt Wien</a> (under
+          <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
+          <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> and
+          Land Tirol (under <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT with amendments</a>).
+        contributors_ca_html: |
+          <strong>Canada</strong>: Contains data from
+          GeoBase&reg;, GeoGratis (&copy; Department of Natural
+          Resources Canada), CanVec (&copy; Department of Natural
+          Resources Canada), and StatCan (Geography Division,
+          Statistics Canada).
+        contributors_fi_html: |
+          <strong>Finland</strong>: Contains data from the
+          National Land Survey of Finland's Topographic Database
+          and other datasets, under the
+          <a href="https://www.maanmittauslaitos.fi/en/opendata-licence-version1">NLSFI License</a>.
+        contributors_fr_html: |
+          <strong>France</strong>: Contains data sourced from
+          Direction Générale des Impôts.
+        contributors_nl_html: |
+          <strong>Netherlands</strong>: Contains &copy; AND data, 2007
+          (<a href="https://www.and.com">www.and.com</a>)
+        contributors_nz_html: |
+          <strong>New Zealand</strong>: Contains data sourced from
+          Land Information New Zealand. Crown Copyright reserved.
+        contributors_si_html: |
+          <strong>Slovenia</strong>: Contains data from the
+          <a href="http://www.gu.gov.si/en/">Surveying and Mapping Authority</a> and
+          <a href="http://www.mkgp.gov.si/en/">Ministry of Agriculture, Forestry and Food</a>
+          (public information of Slovenia).
+        contributors_za_html: |
+          <strong>South Africa</strong>: Contains data sourced from
+          <a href="http://www.ngi.gov.za/">Chief Directorate:
+          National Geo-Spatial Information</a>, State copyright reserved.
+        contributors_gb_html: |
+          <strong>United Kingdom</strong>: Contains Ordnance
+          Survey data &copy; Crown copyright and database right
+          2010-12.
+        contributors_footer_1_html: |
+          For further details of these, and other sources that have been used
+          to help improve OpenStreetMap, please see the <a
+          href="https://wiki.openstreetmap.org/wiki/Contributors">Contributors
+          page</a> on the OpenStreetMap Wiki.
+        contributors_footer_2_html: |
+          Inclusion of data in OpenStreetMap does not imply that the original
+          data provider endorses OpenStreetMap, provides any warranty, or
+          accepts any liability.
+        infringement_title_html: Copyright infringement
+        infringement_1_html: |
+          OSM contributors are reminded never to add data from any
+          copyrighted sources (e.g. Google Maps or printed maps) without
+          explicit permission from the copyright holders.
+        infringement_2_html: |
+          If you believe that copyrighted material has been inappropriately
+          added to the OpenStreetMap database or this site, please refer
+          to our <a href="https://www.osmfoundation.org/wiki/License/Takedown_procedure">takedown
+          procedure</a> or file directly at our
+          <a href="http://dmca.openstreetmap.org/">on-line filing page</a>.
+        trademarks_title_html: <span id="trademarks"></span>Trademarks
+        trademarks_1_html: |
+          OpenStreetMap, the magnifying glass logo and State of the Map are registered trademarks of the OpenStreetMap Foundation. If you have questions about your use of the marks, please see our <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">Trademark Policy</a>.
     index:
       js_1: "You are either using a browser that does not support JavaScript, or you have disabled JavaScript."
       js_2: "OpenStreetMap uses JavaScript for its slippy map."
@@ -1470,6 +1319,103 @@ en:
       potlatch2_unsaved_changes: "You have unsaved changes. (To save in Potlatch 2, you should click save.)"
       id_not_configured: "iD has not been configured"
       no_iframe_support: "Your browser doesn't support HTML iframes, which are necessary for this feature."
+    export:
+      title: "Export"
+      area_to_export: "Area to Export"
+      manually_select: "Manually select a different area"
+      format_to_export: "Format to Export"
+      osm_xml_data: "OpenStreetMap XML Data"
+      map_image: "Map Image (shows standard layer)"
+      embeddable_html: "Embeddable HTML"
+      licence: "Licence"
+      export_details: 'OpenStreetMap data is licensed under the <a href="https://opendatacommons.org/licenses/odbl/1.0/">Open Data Commons Open Database License</a> (ODbL).'
+      too_large:
+        advice: "If the above export fails, please consider using one of the sources listed below:"
+        body: "This area is too large to be exported as OpenStreetMap XML Data. Please zoom in or select a smaller area, or use one of the sources listed below for bulk data downloads."
+        planet:
+          title: "Planet OSM"
+          description: "Regularly-updated copies of the complete OpenStreetMap database"
+        overpass:
+          title: "Overpass API"
+          description: "Download this bounding box from a mirror of the OpenStreetMap database"
+        geofabrik:
+          title: "Geofabrik Downloads"
+          description: "Regularly-updated extracts of continents, countries, and selected cities"
+        metro:
+          title: "Metro Extracts"
+          description: "Extracts for major world cities and their surrounding areas"
+        other:
+          title: "Other Sources"
+          description: "Additional sources listed on the OpenStreetMap wiki"
+      options: "Options"
+      format: "Format"
+      scale: "Scale"
+      max: "max"
+      image_size: "Image Size"
+      zoom: "Zoom"
+      add_marker: "Add a marker to the map"
+      latitude: "Lat:"
+      longitude: "Lon:"
+      output: "Output"
+      paste_html: "Paste HTML to embed in website"
+      export_button: "Export"
+    fixthemap:
+      title: Report a problem / Fix the map
+      how_to_help:
+        title: How to Help
+        join_the_community:
+          title: Join the community
+          explanation_html: |
+            If you have noticed a problem with our map data, for example a road is missing or your address, the best way to
+            proceed is to join the OpenStreetMap community and add or repair the data yourself.
+        add_a_note:
+          instructions_html: |
+            Just click <a class='icon note'></a> or the same icon on the map display.
+            This will add a marker to the map, which you can move
+            by dragging. Add your message, then click save, and other mappers will investigate.
+      other_concerns:
+        title: Other concerns
+        explanation_html: |
+          If you have concerns about how our data is being used or about the contents please consult our
+          <a href='/copyright'>copyright page</a> for more legal information, or contact the appropriate
+          <a href='https://wiki.osmfoundation.org/wiki/Working_Groups'>OSMF working group</a>.
+    help:
+      title: Getting Help
+      introduction: |
+        OpenStreetMap has several resources for learning about the project, asking and answering questions,
+        and collaboratively discussing and documenting mapping topics.
+      welcome:
+        url: /welcome
+        title: Welcome to OSM
+        description: Start with this quick guide covering the OpenStreetMap basics.
+      beginners_guide:
+        url: https://wiki.openstreetmap.org/wiki/Beginners%27_guide
+        title: Beginners' Guide
+        description: Community maintained guide for beginners.
+      help:
+        url: https://help.openstreetmap.org/
+        title: help.openstreetmap.org
+        description: Ask a question or look up answers on OSM's question-and-answer site.
+      mailing_lists:
+        url: https://lists.openstreetmap.org/
+        title: Mailing Lists
+        description: Ask a question or discuss interesting matters on a wide range of topical or regional mailing lists.
+      forums:
+        url: https://forum.openstreetmap.org/
+        title: Forums
+        description: Questions and discussions for those that prefer a bulletin board style interface.
+      irc:
+        url: https://irc.openstreetmap.org/
+        title: IRC
+        description: Interactive chat in many different languages and on many topics.
+      switch2osm:
+        url: https://switch2osm.org/
+        title: switch2osm
+        description: Help for companies and organisations switching to OpenStreetMap based maps and other services.
+      wiki:
+        url: https://wiki.openstreetmap.org/
+        title: wiki.openstreetmap.org
+        description: Browse the wiki for in-depth OSM documentation.
     sidebar:
       search_results: Search Results
       close: Close
@@ -1570,6 +1516,59 @@ en:
       image: Image
       alt: Alt text
       url: URL
+    welcome:
+      title: Welcome!
+      introduction_html: |
+        Welcome to OpenStreetMap, the free and editable map of the world. Now that you're signed
+        up, you're all set to get started mapping. Here's a quick guide with the most important
+        things you need to know.
+      whats_on_the_map:
+        title: What's on the Map
+        on_html: |
+          OpenStreetMap is a place for mapping things that are both <em>real and current</em> -
+          it includes millions of buildings, roads, and other details about places. You can map
+          whatever real-world features are interesting to you.
+        off_html: |
+          What it <em>doesn't</em> include is opinionated data like ratings, historical or
+          hypothetical features, and data from copyrighted sources. Unless you have special
+          permission, don't copy from online or paper maps.
+      basic_terms:
+        title: Basic Terms For Mapping
+        paragraph_1_html: |
+          OpenStreetMap has some of its own lingo. Here are a few key words that'll come in handy.
+        editor_html: |
+          An <strong>editor</strong> is a program or website you can use to edit the map.
+        node_html: |
+          A <strong>node</strong> is a point on the map, like a single restaurant or a tree.
+        way_html: |
+          A <strong>way</strong> is a line or area, like a road, stream, lake or building.
+        tag_html: |
+          A <strong>tag</strong> is a bit of data about a node or way, like a
+          restaurant's name or a road's speed limit.
+      rules:
+        title: Rules!
+        paragraph_1_html: |
+          OpenStreetMap has few formal rules but we expect all participants to collaborate
+          with, and communicate with, the community. If you are considering
+          any activities other than editing by hand, please read and follow the guidelines on
+          <a href='https://wiki.openstreetmap.org/wiki/Import/Guidelines'>Imports</a> and
+          <a href='https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Automated Edits</a>.
+      questions:
+        title: Any questions?
+        paragraph_1_html: |
+          OpenStreetMap has several resources for learning about the project, asking and answering
+          questions, and collaboratively discussing and documenting mapping topics.
+          <a href='%{help_url}'>Get help here</a>.
+      start_mapping: Start Mapping
+      add_a_note:
+        title: No Time To Edit? Add a Note!
+        paragraph_1_html: |
+          If you just want something small fixed and don't have the time to sign up and learn how to edit, it's
+          easy to add a note.
+        paragraph_2_html: |
+          Just go to <a href='%{map_url}'>the map</a> and click the note icon:
+          <span class='icon note'></span>. This will add a marker to the map, which you can move
+          by dragging. Add your message, then click save, and other mappers will investigate.
   trace:
     visibility:
       private: "Private (only shared as anonymous, unordered points)"
@@ -1690,7 +1689,7 @@ en:
       blocked: "Your access to the API has been blocked. Please log-in to the web interface to find out more."
       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:
+    authorize:
       title: "Authorize access to your account"
       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:"
@@ -1702,11 +1701,11 @@ en:
       allow_write_gpx:   "upload GPS traces."
       allow_write_notes: "modify notes."
       grant_access: "Grant Access"
-    oauthorize_success:
+    authorize_success:
       title: "Authorization request allowed"
       allowed: "You have granted application %{app_name} access to your account."
       verification: "The verification code is %{code}."
-    oauthorize_failure:
+    authorize_failure:
       title: "Authorization request failed"
       denied: "You have denied application %{app_name} access to your account."
       invalid: "The authorization token is not valid."
@@ -2108,7 +2107,7 @@ en:
       are_you_sure: "Are you sure you want to revoke the role `%{role}' from the user `%{name}'?"
       confirm: "Confirm"
       fail: "Could not revoke role `%{role}' from user `%{name}'. Please check that the user and role are both valid."
-  user_block:
+  user_blocks:
     model:
       non_moderator_update: "Must be a moderator to create or update a block."
       non_moderator_revoke: "Must be a moderator to revoke a block."
@@ -2188,7 +2187,6 @@ en:
       back: "View all blocks"
       revoker: "Revoker:"
       needs_view: "The user needs to log in before this block will be cleared."
-  user_blocks:
     block:
       not_revoked: "(not revoked)"
       show: "Show"
@@ -2203,8 +2201,8 @@ en:
       showing_page: "Page %{page}"
       next: "Next »"
       previous: "« Previous"
-  note:
-    description:
+  notes:
+    comment:
       opened_at_html: "Created %{when} ago"
       opened_at_by_html: "Created %{when} ago by %{user}"
       commented_at_html: "Updated %{when} ago"
@@ -2401,7 +2399,7 @@ en:
       show_address: Show address
       query_features: Query features
       centre_map: Centre map here
-  redaction:
+  redactions:
     edit:
       description: "Description"
       heading: "Edit redaction"