]> git.openstreetmap.org Git - rails.git/blobdiff - config/locales/en.yml
Refactored user_role and controller. Now much more DRY.
[rails.git] / config / locales / en.yml
index e41f5e68cc7f8d9c89048c5c9db30080ce9c90c1..95b53821f03f7e663dd89fe13de5563ab67f0232 100644 (file)
@@ -72,6 +72,10 @@ en:
         description: "Description"
         languages: "Languages"
         pass_crypt: "Password"
+  printable_name:
+    with_id: "{{id}}"
+    with_version: "{{id}}, v{{version}}"
+    with_name: "{{name}} ({{id}})"
   map:
     view: View
     edit: Edit
@@ -79,10 +83,21 @@ en:
   browse:
     changeset:
       title: "Changeset"
-      changeset: "Changeset:"
+      changeset: "Changeset: {{id}}"
       download: "Download {{changeset_xml_link}} or {{osmchange_xml_link}}"
       changesetxml: "Changeset XML"
       osmchangexml: "osmChange XML"
+      feed:
+        title: "Changeset {{id}}"
+        title_comment: "Changeset {{id}} - {{comment}}"
+    changeset_navigation:
+      user:
+        name_tooltip: "View edits by {{user}}"
+        prev_tooltip: "Previous edit by {{user}}"
+        next_tooltip: "Next edit by {{user}}"
+      all:
+        prev_tooltip: "Previous changeset"
+        next_tooltip: "Next changeset"
     changeset_details:
       created_at: "Created at:"
       closed_at: "Closed at:"
@@ -91,41 +106,55 @@ en:
       no_bounding_box: "No bounding box has been stored for this changeset."
       show_area_box: "Show Area Box"
       box: "box"
-      has_nodes: "Has the following {{count}} nodes:"
-      has_ways: "Has the following {{count}} ways:"
-      has_relations: "Has the following {{count}} relations:"
+      has_nodes:
+        one: "Has the following {{count}} node:"
+        other: "Has the following {{count}} nodes:"
+      has_ways:
+        one:  "Has the following {{count}} way:"
+        other: "Has the following {{count}} ways:"
+      has_relations:
+        one:  "Has the following {{count}} relation:"
+        other: "Has the following {{count}} relations:"
     common_details: 
       edited_at: "Edited at:"
       edited_by: "Edited by:"
       version: "Version:"
       in_changeset: "In changeset:"
+      changeset_comment: "Comment:"
     containing_relation:
-      relation: "Relation {{relation_name}}"
-      relation_as: "(as {{relation_role}})"
+      entry: "Relation {{relation_name}}"
+      entry_role: "Relation {{relation_name}} (as {{relation_role}})"
     map:
       loading: "Loading..."
       deleted: "Deleted"
-      view_larger_map: "View Larger Map"
+      larger:
+        area: "View area on larger map"
+        node: "View node on larger map"
+        way: "View way on larger map"
+        relation: "View relation on larger map"
     node_details:
-      coordinates: "Coordinates: "
+      coordinates: "Coordinates:"
       part_of: "Part of:"
     node_history:
       node_history: "Node History"
+      node_history_title: "Node History: {{node_name}}"
       download: "{{download_xml_link}} or {{view_details_link}}"
       download_xml: "Download XML"
       view_details: "view details"
     node:
       node: "Node"
       node_title: "Node: {{node_name}}"
-      download: "{{download_xml_link}} or {{view_history_link}}"
+      download: "{{download_xml_link}}, {{view_history_link}} or {{edit_link}}"
       download_xml: "Download XML"
       view_history: "view history"
+      edit: "edit"
     not_found:
       sorry: "Sorry, the {{type}} with the id {{id}}, could not be found."
       type:
         node: node
         way: way
         relation: relation
+        changeset: changeset
     paging_nav:
       showing_page: "Showing page"
       of: "of"
@@ -135,8 +164,16 @@ en:
     relation_history:
       relation_history: "Relation History"
       relation_history_title: "Relation History: {{relation_name}}"
+      download: "{{download_xml_link}} or {{view_details_link}}"
+      download_xml: "Download XML"
+      view_details: "view details"
     relation_member:
-      as: "as"
+      entry: "{{type}} {{name}}"
+      entry_role: "{{type}} {{name}} as {{role}}"
+      type:
+        node: "Node"
+        way: "Way"
+        relation: "Relation"
     relation:
       relation: "Relation"
       relation_title: "Relation: {{relation_name}}"
@@ -198,14 +235,16 @@ en:
     way:
       way: "Way"
       way_title: "Way: {{way_name}}"
-      download: "{{download_xml_link}} or {{view_history_link}}"
+      download: "{{download_xml_link}}, {{view_history_link}} or {{edit_link}}"
       download_xml: "Download XML"
       view_history: "view history"
+      edit: "edit"
   changeset:
     changeset_paging_nav: 
       showing_page: "Showing page"
       of: "of"
     changeset:
+      id: "#{{id}}"
       still_editing: "(still editing)"
       anonymous: "Anonymous"
       no_comment: "(none)"
@@ -213,34 +252,27 @@ en:
       show_area_box: "show area box"
       big_area: "(big)"
       view_changeset_details: "View changeset details"
-      more: "more"
     changesets:
       id: "ID"
       saved_at: "Saved at"
       user: "User"
       comment: "Comment"
       area: "Area"
-    list_bbox:
-      history: "History"
-      changesets_within_the_area: "Changesets within the area:"
-      show_area_box: "show area box"
-      no_changesets: "No changesets"
-      all_changes_everywhere: "For all changes everywhere see {{recent_changes_link}}"
-      recent_changes: "Recent Changes"
-      no_area_specified: "No area specified"
-      first_use_view: "First use the {{view_tab_link}} to pan and zoom to an area of interest, then click the history tab."
-      view_the_map: "view the map"
-      view_tab: "view tab"
-      alternatively_view: "Alternatively, view all {{recent_changes_link}}"
     list:
-      recent_changes: "Recent Changes"
-      recently_edited_changesets: "Recently edited changesets:"
-      for_more_changesets: "For more changesets, select a user and view their edits, or see the editing 'history' of a specific area."
-    list_user:
-      edits_by_username: "Edits by {{username_link}}"
-      no_visible_edits_by: "No visible edits by {{name}}."
-      for_all_changes: "For changes by all users see {{recent_changes_link}}"
-      recent_changes: "Recent Changes"
+      title: "Changesets"
+      title_user: "Changesets by {{user}}"
+      title_bbox: "Changesets within {{bbox}}"
+      title_user_bbox: "Changesets by {{user}} within {{bbox}}"
+
+      heading: "Changesets"
+      heading_user: "Changesets"
+      heading_bbox: "Changesets"
+      heading_user_bbox: "Changesets"
+
+      description: "Recent changes"
+      description_user: "Changesets by {{user}}"
+      description_bbox: "Changesets within {{bbox}}"
+      description_user_bbox: "Changesets by {{user}} within {{bbox}}"
   diary_entry:
     new:
       title: New Diary Entry
@@ -251,17 +283,17 @@ en:
       new: New Diary Entry
       new_title: Compose a new entry in your user diary
       no_entries: No diary entries
-      recent_entries: "Recent diary entries: "
+      recent_entries: "Recent diary entries:"
       older_entries: Older Entries
       newer_entries: Newer Entries
     edit:
       title: "Edit diary entry"
-      subject: "Subject: "
-      body: "Body: "
-      language: "Language: "
-      location: "Location: "
-      latitude: "Latitude: "
-      longitude: "Longitude: "
+      subject: "Subject:"
+      body: "Body:"
+      language: "Language:"
+      location: "Location:"
+      latitude: "Latitude:"
+      longitude: "Longitude:"
       use_map_link: "use map"
       save_button: "Save"
       marker_text: Diary entry location
@@ -273,6 +305,7 @@ en:
       login: "Login"
       save_button: "Save"
     no_such_entry:
+      title: "No such diary entry"
       heading: "No entry with the id: {{id}}"
       body: "Sorry, there is no diary entry or comment with the id {{id}}. Please check your spelling, or maybe the link you clicked is wrong."
     no_such_user:
@@ -280,7 +313,7 @@ en:
       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."
     diary_entry:
-      posted_by: "Posted by {{link_user}} at {{created}} in {{language}}"
+      posted_by: "Posted by {{link_user}} at {{created}} in {{language_link}}"
       comment_link: Comment on this entry
       reply_link: Reply to this entry
       comment_count:
@@ -289,6 +322,16 @@ en:
       edit_link: Edit this entry
     diary_comment:
       comment_from: "Comment from {{link_user}}  at {{comment_created_at}}"
+    feed:
+      user:
+        title: "OpenStreetMap diary entries for {{user}}"
+        description: "Recent OpenStreetMap diary entries from {{user}}"
+      language:
+        title: "OpenStreetMap diary entries in {{language_name}}"
+        description: "Recent diary entries from users of OpenStreetMap in {{language_name}}"
+      all:
+        title: "OpenStreetMap diary entries"
+        description: "Recent diary entries from users of OpenStreetMap"
   export:
     start:
       area_to_export: "Area to Export"
@@ -321,10 +364,44 @@ en:
       add_marker: "Add a marker to the map"
       view_larger_map: "View Larger Map"
   geocoder:
+    search:
+      title:
+        latlon: 'Results from <a href="http://openstreetmap.org/">Internal</a>'
+        us_postcode: 'Results from <a href="http://geocoder.us/">Geocoder.us</a>'
+        uk_postcode: 'Results from <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>'
+        ca_postcode: 'Results from <a href="http://geocoder.ca/">Geocoder.CA</a>'
+        osm_namefinder: 'Results from <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
+        geonames: 'Results from <a href="http://www.geonames.org/">GeoNames</a>'
+    search_osm_namefinder:
+      prefix: "{{type}}"
+      suffix_place: ", {{distance}} {{direction}} of {{placename}}"
+      suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} of {{parentname}})"
+      suffix_suburb: "{{suffix}}, {{parentname}}"
+    description:
+      title:
+        osm_namefinder: '{{types}} from <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
+        geonames: 'Location from <a href="http://www.geonames.org/">GeoNames</a>'
+      types:
+        cities: Cities
+        towns: Towns
+        places: Places
+    description_osm_namefinder:
+      prefix: "{{distance}} {{direction}} of {{type}}"
     results:
-      results: "Results"
-      type_from_source: "{{type}} from {{source_link}}"
       no_results: "No results found"
+    distance:
+      zero: "less than 1km"
+      one: "about 1km"
+      other: "about {{count}}km"
+    direction:
+      south_west: "south-west"
+      south: "south"
+      south_east: "south-east"
+      east: "east"
+      north_east: "north-east"
+      north: "north"
+      north_west: "north-west"
+      west: "west"
   layouts:
     project_name:
       # in <title>
@@ -376,7 +453,7 @@ en:
     news_blog: "News blog"
     news_blog_tooltip: "News blog about OpenStreetMap, free geographical data, etc."
     shop: Shop
-    shop_tooltip: Shop with branded OpenStreetMap 
+    shop_tooltip: Shop with branded OpenStreetMap merchandise
     shop_url: http://wiki.openstreetmap.org/wiki/Merchandise
     sotm: 'Come to the 2009 OpenStreetMap Conference, The State of the Map, July 10-12 in Amsterdam!'
     alt_donation: Make a Donation
@@ -445,7 +522,7 @@ en:
       video_to_openstreetmap: "introductory video to OpenStreetMap"
       more_videos: "There are {{more_videos_link}}."
       more_videos_here: "more videos here"
-      get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or  <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
+      get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
       wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
       user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
       current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
@@ -471,14 +548,6 @@ en:
       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."
-    reset_password:
-      subject: "[OpenStreetMap] Password reset"
-    reset_password_plain:
-      greeting: "Hi,"
-      reset: "Your password has been reset to {{new_password}}"
-    reset_password_html:
-      greeting: "Hi,"
-      reset: "Your password has been reset to {{new_password}}"
   message:
     inbox:
       title: "Inbox"
@@ -494,6 +563,7 @@ en:
       unread_button: "Mark as unread"
       read_button: "Mark as read"
       reply_button: "Reply"
+      delete_button: "Delete"
     new:
       title: "Send message"
       send_message_to: "Send a new message to {{name}}"
@@ -529,15 +599,20 @@ en:
       reading_your_sent_messages: "Reading your sent messages"
       to: "To"
       back_to_outbox: "Back to outbox"
+    sent_message_summary:
+      delete_button: "Delete"
     mark:
       as_read: "Message marked as read"
       as_unread: "Message marked as unread"
+    delete:
+      deleted: "Message deleted"
   site:
     index:
       js_1: "You are either using a browser that doesn't support javascript, or you have disabled javascript."
       js_2: "OpenStreetMap uses javascript for its slippy map."
       js_3: 'You may want to try the <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home static tile browser</a> if you are unable to enable javascript.'
       permalink: Permalink
+      shortlink: Shortlink
       license:
         notice: "Licensed under the {{license_name}} license by the {{project_name}} and its contributors."
         license_name: "Creative Commons Attribution-Share Alike 2.0"
@@ -552,7 +627,7 @@ en:
       anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
       anon_edits_link_text: "Find out why this is the case."
       flash_player_required: 'You need a Flash player to use Potlatch, the OpenStreetMap Flash editor. You can <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">download Flash Player from Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Several other options</a> are also available for editing OpenStreetMap.'
-      potlatch_unsaved_changes: "You have unsaved changes. (To save in Potlatch, you should deselect the current way or point, if editing in list mode, or click save if you have a save button.)"
+      potlatch_unsaved_changes: "You have unsaved changes. (To save in Potlatch, you should deselect the current way or point, if editing in live mode, or click save if you have a save button.)"
     sidebar:
       search_results: Search Results
       close: Close
@@ -560,25 +635,104 @@ en:
       search: Search
       where_am_i: "Where am I?"
       submit_text: "Go"
-      searching: "Searching..."
       search_help: "examples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ', or 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>more examples...</a>"
     key:
       map_key: "Map key"
       map_key_tooltip: "Map key for the mapnik rendering at this zoom level"
+      table:
+        heading: "Legend for z{{zoom_level}}"
+        entry:
+          motorway: "Motorway"
+          trunk: "Trunk road"
+          primary: "Primary road"
+          secondary: "Secondary road"
+          unclassified: "Unclassified road"
+          unsurfaced: "Unsurfaced road"
+          track: "Track"
+          byway: "Byway"
+          bridleway: "Bridleway"
+          cycleway: "Cycleway"
+          footway: "Footway"
+          rail: "Railway"
+          subway: "Subway"
+          tram:
+            - Light rail
+            - tram
+          cable:
+            - Cable car
+            - chair lift
+          runway:
+            - Airport Runway
+            - taxiway
+          apron:
+            - Airport apron
+            - terminal
+          admin: "Administrative boundary"
+          forest: "Forest"
+          wood: "Wood"
+          golf: "Golf course"
+          park: "Park"
+          resident: "Residential area"
+          tourist: "Tourist attraction"
+          common:
+            - Common
+            - meadow
+          retail: "Retail area"
+          industrial: "Industrial area"
+          commercial: "Commercial area"
+          heathland: "Heathland"
+          lake:
+            - Lake
+            - reservoir
+          farm: "Farm"
+          brownfield: "Brownfield site"
+          cemetery: "Cemetery"
+          allotments: "Allotments"
+          pitch: "Sports pitch"
+          centre: "Sports centre"
+          reserve: "Nature reserve"
+          military: "Military area"
+          school:
+            - School
+            - university
+          building: "Significant building"
+          station: "Railway station"
+          summit:
+            - Summit
+            - peak
+          tunnel: "Dashed casing = tunnel"
+          bridge: "Black casing = bridge"
+          private: "Private access"
+          permissive: "Permissive access"
+          destination: "Destination access"
+          construction: "Roads under construction"
   trace:
+    visibility:
+      private: "Private (only shared as anonymous, unordered points)"
+      public: "Public (shown in trace list and as anonymous, unordered points)"
+      trackable: "Trackable (only shared as anonymous, ordered points with timestamps)"
+      identifiable: "Identifiable (shown in trace list and as identifiable, ordered points with timestamps)"
     create:
       upload_trace: "Upload GPS Trace"
       trace_uploaded: "Your GPX file has been uploaded and is awaiting insertion in to the database. This will usually happen within half an hour, and an email will be sent to you on completion."
     edit:
+      title: "Editing trace {{name}}"
+      heading: "Editing trace {{name}}"
       filename: "Filename:"
+      download: "download"
       uploaded_at: "Uploaded at:"
       points: "Points:"
       start_coord: "Start coordinate:"
+      map: "map"
       edit: "edit"
       owner: "Owner:"
       description: "Description:"
       tags: "Tags:"
+      tags_help: "comma delimited"
       save_button: "Save Changes"
+      visibility: "Visibility:"
+      visibility_help: "what does this mean?"
+      visibility_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
     no_such_user:
       title: "No such user"
       heading: "The user {{user}} does not exist"
@@ -587,7 +741,10 @@ en:
       upload_gpx: "Upload GPX File"
       description: "Description"
       tags: "Tags"
-      public: "Public?"
+      tags_help: "comma delimited"
+      visibility: "Visibility"
+      visibility_help: "what does this mean?"
+      visibility_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
       upload_button: "Upload"
       help: "Help"
       help_url: "http://wiki.openstreetmap.org/wiki/Upload"
@@ -599,6 +756,8 @@ en:
     trace_optionals:
       tags: "Tags"
     view:
+      title: "Viewing trace {{name}}"
+      heading: "Viewing trace {{name}}"
       pending: "PENDING"
       filename: "Filename:"
       download: "download"
@@ -609,13 +768,12 @@ en:
       edit: "edit"
       owner: "Owner:"
       description: "Description:"
-      tags: "Tags"
+      tags: "Tags:"
       none: "None"
-      make_public: "Make this track public permanently"
       edit_track: "Edit this track"
       delete_track: "Delete this track"
-      viewing_trace: "Viewing trace {{name}}"
       trace_not_found: "Trace not found!"
+      visibility: "Visibility:"
     trace_paging_nav:
       showing: "Showing page"
       of: "of"
@@ -642,42 +800,116 @@ en:
       scheduled_for_deletion: "Track scheduled for deletion"
     make_public:
       made_public: "Track made public"
+  application:
+    setup_user_auth:
+      blocked: "Your access to the API has been blocked. Please log-in to the web interface to find out more."
+  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."
+      allow_to: "Allow the client application to:"
+      allow_read_prefs:  "read your user preferences."
+      allow_write_prefs: "modify your user preferences."
+      allow_write_diary: "create diary entries, comments and make friends."
+      allow_write_api:   "modify the map."
+      allow_read_gpx:    "read your private GPS traces."
+      allow_write_gpx:   "upload GPS traces."
+    revoke:
+      flash: "You've revoked the token for {{application}}"
+  oauth_clients:
+    new:
+      title: "Register a new application"
+      submit: "Register"
+    edit:
+      title: "Edit your application"
+      submit: "Edit"
+    show:
+      title: "OAuth details for {{app_name}}"
+      key: "Consumer Key:"
+      secret: "Consumer Secret:"
+      url: "Request Token URL:"
+      access_url: "Access Token URL:"
+      authorize_url: "Authorise URL:"
+      support_notice: "We support hmac-sha1 (recommended) as well as plain text in ssl mode."
+      edit: "Edit Details"
+      requests: "Requesting the following permissions from the user:"
+      allow_read_prefs:  "read their user preferences."
+      allow_write_prefs: "modify their user preferences."
+      allow_write_diary: "create diary entries, comments and make friends."
+      allow_write_api:   "modify the map."
+      allow_read_gpx:    "read their private GPS traces."
+      allow_write_gpx:   "upload GPS traces."
+    index:
+      title: "My OAuth Details"
+      my_tokens: "My Authorised Applications"
+      list_tokens: "The following tokens have been issued to applications in your name:"
+      application: "Application Name"
+      issued_at: "Issued At"
+      revoke: "Revoke!"
+      my_apps: "My Client Applications"
+      no_apps: "Do you have an application you would like to register for use with us using the {{oauth}} standard? You must register your web application before it can make OAuth requests to this service."
+      registered_apps: "You have the following client applications registered:"
+      register_new: "Register your application"
+    form:
+      name: "Name"
+      required: "Required"
+      url: "Main Application URL"
+      callback_url: "Callback URL"
+      support_url: "Support URL"
+      requests: "Request the following permissions from the user:"
+      allow_read_prefs:  "read their user preferences."
+      allow_write_prefs: "modify their user preferences."
+      allow_write_diary: "create diary entries, comments and make friends."
+      allow_write_api:   "modify the map."
+      allow_read_gpx:    "read their private GPS traces."
+      allow_write_gpx:   "upload GPS traces."
+    not_found: 
+      sorry: "Sorry, that {{type}} could not be found."
+    create:
+      flash: "Registered the information successfully"
+    update:
+      flash: "Updated the client information successfully"
+    destroy:
+      flash: "Destroyed the client application registration"
   user:
     login:
       title: "Login"
       heading: "Login"
       please login: "Please login or {{create_user_link}}."
       create_account: "create an account"
-      email or username: "Email Address or Username: "
-      password: "Password: "
+      email or username: "Email Address or Username:"
+      password: "Password:"
       lost password link: "Lost your password?"
       login_button: "Login"
-      account not active: "Sorry, your account is not active yet.<br>Please click on the link in the account confirmation email to activate your account."
+      account not active: "Sorry, your account is not active yet.<br />Please click on the link in the account confirmation email to activate your account."
       auth failure: "Sorry, couldn't log in with those details."
     lost_password:
-      title: "lost password"
+      title: "Lost password"
       heading: "Forgotten Password?"
       email address: "Email Address:"
-      new password button: "Send me a new password"
+      new password button: "Reset password"
       notice email on way: "Sorry you lost it :-( but an email is on its way so you can reset it soon."
       notice email cannot find: "Couldn't find that email address, sorry."
     reset_password:
-      title: "reset password"
-      flash changed check mail: "Your password has been changed and is on its way to your mailbox :-)"
+      title: "Reset password"
+      heading: "Reset Password for {{user}}"
+      password: "Password:"
+      confirm password: "Confirm Password:"
+      reset: "Reset Password"
+      flash changed: "Your password has been changed."
       flash token bad: "Didn't find that token, check the URL maybe?"
     new:
       title: "Create account"
       heading: "Create a User Account"
       no_auto_account_create: "Unfortunately we are not currently able to create an account for you automatically."
-      contact_webmaster: 'Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> to arrange for an account to be created - we will try and deal with the request as quickly as possible. '
+      contact_webmaster: 'Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> to arrange for an account to be created - we will try and deal with the request as quickly as possible.'
       fill_form: "Fill in the form and we'll send you a quick email to activate your account."
-      license_agreement: 'By creating an account, you agree that all work uploaded to openstreetmap.org and all data created by use of any tools which connect to openstreetmap.org is to be (non-exclusively) licensed under <a href="http://creativecommons.org/licenses/by-sa/2.0/">this Creative Commons license (by-sa)</a>.'
-      email address: "Email Address: "
-      confirm email address: "Confirm Email Address: "
+      license_agreement: 'By creating an account, you agree that all data you submit to the Openstreetmap project is to be (non-exclusively) licensed under <a href="http://creativecommons.org/licenses/by-sa/2.0/">this Creative Commons license (by-sa)</a>.'
+      email address: "Email Address:"
+      confirm email address: "Confirm Email Address:"
       not displayed publicly: 'Not displayed publicly (see <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)'
-      display name: "Display Name: "
-      password: "Password: "
-      confirm password: "Confirm Password: "
+      display name: "Display Name:"
+      password: "Password:"
+      confirm password: "Confirm Password:"
       signup: Signup
       flash create success message: "User was successfully created. Check your email for a confirmation note, and you'll be mapping in no time :-)<br /><br />Please note that you won't be able to login until you've received and confirmed your email address.<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."
     no_such_user:
@@ -696,7 +928,7 @@ en:
       traces: traces
       remove as friend: remove as friend
       add as friend: add as friend
-      mapper since: "Mapper since: "
+      mapper since: "Mapper since:"
       ago: "({{time_in_words_ago}} ago)"
       user image heading: User image
       delete image: Delete Image
@@ -710,29 +942,37 @@ en:
       your friends: Your friends
       no friends: You have not added any friends yet.
       km away: "{{count}}km away"
-      nearby users: "Nearby users: "
+      m away: "{{count}}m away"
+      nearby users: "Nearby users:"
       no nearby users: "There are no users who admit to mapping nearby yet."
       change your settings: change your settings
+      my_oauth_details: "View my OAuth details"
+      role:
+        administrator: "Administrator"
+        moderator: "Moderator"
+      block_history: "view blocks received"
+      moderator_history: "view blocks given"
+      create_block: "block this user"
     friend_map:
       your location: Your location
-      nearby mapper: "Nearby mapper: "
+      nearby mapper: "Nearby mapper: [[nearby_user]]"
     account:
       title: "Edit account"
       my settings: My settings
       email never displayed publicly: "(never displayed publicly)"
       public editing:
-        heading: "Public editing: "
+        heading: "Public editing:"
         enabled: "Enabled. Not anonymous and can edit data."
-        enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
+        enabled link: "http://wiki.openstreetmap.org/wiki/Anonymous_edits"
         enabled link text: "what's this?"
         disabled: "Disabled and cannot edit data, all previous edits are anonymous."
         disabled link text: "why can't I edit?"
-      profile description: "Profile Description: "
-      preferred languages: "Preferred Languages: "
-      home location: "Home Location: "
+      profile description: "Profile Description:"
+      preferred languages: "Preferred Languages:"
+      home location: "Home Location:"
       no home location: "You have not entered your home location."
-      latitude: "Latitude: "
-      longitude: "Longitude: "
+      latitude: "Latitude:"
+      longitude: "Longitude:"
       update home location on click: "Update home location when I click on the map?"
       save changes button: Save Changes
       make edits public button: Make all my edits public
@@ -762,3 +1002,96 @@ en:
     remove_friend:
       success: "{{name}} was removed from your friends."
       not_a_friend: "{{name}} is not one of your friends."
+  user_role:
+    filter:
+      not_an_administrator: "Only administrators can perform user role management, and you are not an administrator."
+      not_a_role: "The string `{{role}}' isn't a valid role."
+      already_has_role: "The user already has role {{role}}."
+      doesnt_have_role: "The user does not have role {{role}}."
+    grant:
+      are_you_sure: "Are you sure you want to grant the role `{{role}}' to the user `{{name}}'?"
+      confirm: "Confirm"
+      fail: "Couldn't grant role `{{role}}' to user `{{name}}'. Please check that the user and role are both valid."
+    revoke:
+      are_you_sure: "Are you sure you want to revoke the role `{{role}}' from the user `{{name}}'?"
+      confirm: "Confirm"
+      fail: "Couldn't revoke role `{{role}}' from user `{{name}}'. Please check that the user and role are both valid."
+  user_block:
+    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."
+    not_found:
+      sorry: "Sorry, the user block with ID {{id}} could not be found."
+      back: "Back to index"
+    new:
+      reason: "The reason why {{name}} is being blocked. Please be as calm and as reasonable as possible, giving as much detail as you can about the situation, remembering that the message will be publicly visible. Bear in mind that not all users understand the community jargon, so please try to use laymans terms."
+      period: "How long, starting now, the user will be blocked from the API for."
+      submit: "Create block"
+      tried_contacting: "I have contacted the user and asked them to stop."
+      tried_waiting: "I have given a reasonable amount of time for the user to respond to those communications."
+      title: "Creating block on {{name}}"
+      needs_view: "Does the user need to log in before this block will be cleared?"
+    edit:
+      reason: "The reason why {{name}} is being blocked. Please be as calm and as reasonable as possible, giving as much detail as you can about the situation. Bear in mind that not all users understand the community jargon, so please try to use laymans terms."
+      period: "How long, starting now, the user will be blocked from the API for."
+      submit: "Update block"
+      show: "Show"
+      back: "Back"
+      title: "Editing block on {{name}}"
+      needs_view: "Does the user need to log in before this block will be cleared?"
+    filter:
+      not_a_moderator: "You need to be a moderator to perform that action."
+      block_expired: "The block has already expired and cannot be edited."
+      block_period: "The blocking period must be one of the values selectable in the drop-down list."
+    create:
+      try_contacting: "Please try contacting the user before blocking them and giving them a reasonable time to respond."
+      try_waiting: "Please try giving the user a reasonable time to respond before blocking them."
+      flash: "Created a block on user {{name}}."
+    update:
+      only_creator_can_edit: "Only the moderator who created this block can edit it."
+      success: "Block updated."
+    index:
+      heading: "Listing User Blocks"
+    revoke:
+      heading: "Revoking block on {{block_on}} by {{block_by}}"
+      time_future: "This block will end in {{time}}."
+      past: "This block ended {{time}} ago and cannot be revoked now."
+      confirm: "Are you sure you wish to revoke this block?"
+      revoke: "Revoke!"
+      flash: "This block has been revoked."
+    period:
+      one: "1 hour"
+      other: "{{count}} hours"
+    partial:
+      show: "Show"
+      edit: "Edit"
+      revoke: "Revoke!"
+      confirm: "Are you sure?"
+      display_name: "Blocked User"
+      creator_name: "Creator"
+      reason: "Reason for block"
+      status: "Status"
+      revoker_name: "Revoked by"
+      not_revoked: "(not revoked)"
+    helper:
+      time_future: "Ends in {{time}}."
+      until_login: "Active until the user logs in."
+      time_past: "Ended {{time}} ago."
+    blocks_on:
+      heading: "List blocks on {{name}}"
+    blocks_by:
+      heading: "List blocks by {{name}}"
+    show:
+      heading: "Block on {{block_on}} by {{block_by}}"
+      time_future: "Ends in {{time}}"
+      time_past: "Ended {{time}} ago"
+      status: "Status"
+      show: "Show"
+      edit: "Edit"
+      revoke: "Revoke!"
+      confirm: "Are you sure?"
+      reason: "Reason for block:"
+      back: "Back"
+      revoker: "Revoker:"
+      needs_view: "The user needs to log in before this block will be cleared."
+