]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #4401 from KasperFranz/buried-wikidata
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 24 Jan 2024 11:39:28 +0000 (11:39 +0000)
committerGitHub <noreply@github.com>
Wed, 24 Jan 2024 11:39:28 +0000 (11:39 +0000)
Add buried to list of secondary Wiki prefixes

335 files changed:
.github/workflows/lint.yml
.github/workflows/tests.yml
.rubocop_todo.yml
Gemfile.lock
INSTALL.md
app/abilities/ability.rb
app/abilities/api_ability.rb
app/abilities/api_capability.rb
app/assets/images/key/cyclemap/beach.png [new file with mode: 0644]
app/assets/images/key/cyclemap/bicycle_parking.png
app/assets/images/key/cyclemap/bicycle_parking_small.svg [new file with mode: 0644]
app/assets/images/key/cyclemap/bicycle_rental.png [new file with mode: 0644]
app/assets/images/key/cyclemap/bicycle_rental_small.svg [new file with mode: 0644]
app/assets/images/key/cyclemap/common.png [deleted file]
app/assets/images/key/cyclemap/cycleway.png [deleted file]
app/assets/images/key/cyclemap/cycleway_local.png [deleted file]
app/assets/images/key/cyclemap/cycleway_local13.png [deleted file]
app/assets/images/key/cyclemap/cycleway_national.png [deleted file]
app/assets/images/key/cyclemap/cycleway_national13.png [deleted file]
app/assets/images/key/cyclemap/cycleway_regional.png [deleted file]
app/assets/images/key/cyclemap/cycleway_regional13.png [deleted file]
app/assets/images/key/cyclemap/footway.png [deleted file]
app/assets/images/key/cyclemap/forest.png [deleted file]
app/assets/images/key/cyclemap/lake.png [deleted file]
app/assets/images/key/cyclemap/motorway.png [deleted file]
app/assets/images/key/cyclemap/motorway12.png [deleted file]
app/assets/images/key/cyclemap/primary.png [deleted file]
app/assets/images/key/cyclemap/primary12.png [deleted file]
app/assets/images/key/cyclemap/rail.png [deleted file]
app/assets/images/key/cyclemap/rail14.png [deleted file]
app/assets/images/key/cyclemap/secondary.png [deleted file]
app/assets/images/key/cyclemap/secondary12.png [deleted file]
app/assets/images/key/cyclemap/track.png [deleted file]
app/assets/images/key/cyclemap/trunk.png [deleted file]
app/assets/images/key/cyclemap/trunk12.png [deleted file]
app/assets/images/key/mapnik/apron.png [deleted file]
app/assets/images/key/mapnik/bridge.png [deleted file]
app/assets/images/key/mapnik/bridleway.png [deleted file]
app/assets/images/key/mapnik/building.png [deleted file]
app/assets/images/key/mapnik/capital4.svg [new file with mode: 0644]
app/assets/images/key/mapnik/capital7.svg [new file with mode: 0644]
app/assets/images/key/mapnik/city4.svg [new file with mode: 0644]
app/assets/images/key/mapnik/city6.svg [new file with mode: 0644]
app/assets/images/key/mapnik/cycleway.png [deleted file]
app/assets/images/key/mapnik/footway.png [deleted file]
app/assets/images/key/mapnik/glacier10.svg [deleted file]
app/assets/images/key/mapnik/glacier5.svg [deleted file]
app/assets/images/key/mapnik/intermittent_water.svg [new file with mode: 0644]
app/assets/images/key/mapnik/mainroad.png [deleted file]
app/assets/images/key/mapnik/mainroad12.png [deleted file]
app/assets/images/key/mapnik/mainroad12.svg [new file with mode: 0644]
app/assets/images/key/mapnik/mainroad15.svg [new file with mode: 0644]
app/assets/images/key/mapnik/mainroad8.png [deleted file]
app/assets/images/key/mapnik/mainroad8.svg [new file with mode: 0644]
app/assets/images/key/mapnik/mainroad9.svg [new file with mode: 0644]
app/assets/images/key/mapnik/motorway.png [deleted file]
app/assets/images/key/mapnik/rail.png [deleted file]
app/assets/images/key/mapnik/rail12.png [deleted file]
app/assets/images/key/mapnik/reef.png [new file with mode: 0644]
app/assets/images/key/mapnik/runway.png [deleted file]
app/assets/images/key/mapnik/runway11.svg [new file with mode: 0644]
app/assets/images/key/mapnik/runway12.svg [new file with mode: 0644]
app/assets/images/key/mapnik/runway13.svg [new file with mode: 0644]
app/assets/images/key/mapnik/runway14.svg [new file with mode: 0644]
app/assets/images/key/mapnik/school.png [deleted file]
app/assets/images/key/mapnik/school.svg [new file with mode: 0644]
app/assets/images/key/mapnik/station.png [deleted file]
app/assets/images/key/mapnik/subway.png [deleted file]
app/assets/images/key/mapnik/summit.png [deleted file]
app/assets/images/key/mapnik/summit.svg [new file with mode: 0644]
app/assets/images/key/mapnik/track.png [deleted file]
app/assets/images/key/mapnik/tram.png [deleted file]
app/assets/images/key/mapnik/tunnel.png [deleted file]
app/assets/images/key/mapnik/unclassified.png [deleted file]
app/assets/images/key/mapnik/unclassified13.png [deleted file]
app/assets/images/key/mapnik/wetland.png [new file with mode: 0644]
app/assets/images/key/opnvkarte/rail11.svg [deleted file]
app/assets/images/key/opnvkarte/rail15.svg [deleted file]
app/assets/images/sprite.png [deleted file]
app/assets/images/sprite.svg
app/assets/javascripts/index.js
app/assets/javascripts/index/note.js
app/assets/javascripts/leaflet.map.js
app/assets/javascripts/messages.js
app/assets/stylesheets/common.scss
app/controllers/diary_entries_controller.rb
app/controllers/messages_controller.rb
app/controllers/old_nodes_controller.rb [new file with mode: 0644]
app/controllers/old_relations_controller.rb [new file with mode: 0644]
app/controllers/old_ways_controller.rb [new file with mode: 0644]
app/controllers/site_controller.rb
app/controllers/user_blocks_controller.rb
app/controllers/user_mutes_controller.rb [new file with mode: 0644]
app/controllers/users_controller.rb
app/helpers/authorization_helper.rb [new file with mode: 0644]
app/helpers/browse_tags_helper.rb
app/helpers/svg_helper.rb [new file with mode: 0644]
app/mailers/user_mailer.rb
app/models/acl.rb
app/models/language.rb
app/models/message.rb
app/models/user.rb
app/models/user_mute.rb [new file with mode: 0644]
app/validators/normalized_uniqueness_validator.rb [new file with mode: 0644]
app/views/application/_settings_menu.html.erb
app/views/browse/_common_details.html.erb
app/views/browse/_node.html.erb
app/views/browse/_relation.html.erb
app/views/browse/_relation_member.html.erb
app/views/browse/_tag_details.html.erb
app/views/browse/_way.html.erb
app/views/browse/feature.html.erb
app/views/browse/history.html.erb
app/views/diary_entries/index.html.erb
app/views/issues/_comments.html.erb
app/views/issues/_reports.html.erb
app/views/issues/show.html.erb
app/views/layouts/map.html.erb
app/views/messages/_heading.html.erb [new file with mode: 0644]
app/views/messages/_inbox_count.html.erb [moved from app/views/messages/_message_count.html.erb with 91% similarity]
app/views/messages/_message_summary.html.erb
app/views/messages/_messages_table.html.erb [new file with mode: 0644]
app/views/messages/_muted_count.html.erb [new file with mode: 0644]
app/views/messages/_outbox_count.html.erb [new file with mode: 0644]
app/views/messages/destroy.json.jbuilder
app/views/messages/inbox.html.erb
app/views/messages/mark.json.jbuilder
app/views/messages/muted.html.erb [new file with mode: 0644]
app/views/messages/outbox.html.erb
app/views/messages/show.html.erb
app/views/notes/show.html.erb
app/views/oauth2_applications/_application.html.erb
app/views/oauth2_authorizations/new.html.erb
app/views/oauth2_authorized_applications/_application.html.erb
app/views/old_nodes/not_found.html.erb [new file with mode: 0644]
app/views/old_nodes/show.html.erb [new file with mode: 0644]
app/views/old_relations/not_found.html.erb [new file with mode: 0644]
app/views/old_relations/show.html.erb [new file with mode: 0644]
app/views/old_ways/not_found.html.erb [new file with mode: 0644]
app/views/old_ways/show.html.erb [new file with mode: 0644]
app/views/sessions/new.html.erb
app/views/shared/_markdown_help.html.erb
app/views/shared/_pagination.html.erb
app/views/site/key.html.erb
app/views/user_blocks/revoke_all.html.erb [new file with mode: 0644]
app/views/user_mailer/_gpx_description.html.erb
app/views/user_mailer/gpx_success.html.erb
app/views/user_mutes/index.html.erb [new file with mode: 0644]
app/views/users/show.html.erb
config/application.rb
config/initializers/secure_headers.rb
config/key.yml
config/locales/af.yml
config/locales/aln.yml
config/locales/ar.yml
config/locales/arz.yml
config/locales/ast.yml
config/locales/az.yml
config/locales/ba.yml
config/locales/be-Tarask.yml
config/locales/be.yml
config/locales/bg.yml
config/locales/bn.yml
config/locales/br.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/ce.yml
config/locales/cs.yml
config/locales/cy.yml
config/locales/da.yml
config/locales/de.yml
config/locales/diq.yml
config/locales/dsb.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/et.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fit.yml
config/locales/fr.yml
config/locales/fur.yml
config/locales/fy.yml
config/locales/ga.yml
config/locales/gcf.yml
config/locales/gd.yml
config/locales/gl.yml
config/locales/gsw.yml
config/locales/he.yml
config/locales/hi.yml
config/locales/hr.yml
config/locales/hsb.yml
config/locales/hu.yml
config/locales/ia.yml
config/locales/id.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ka.yml
config/locales/kab.yml
config/locales/kk-cyrl.yml
config/locales/km.yml
config/locales/kn.yml
config/locales/ko.yml
config/locales/ksh.yml
config/locales/ku-Latn.yml
config/locales/lb.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/mo.yml
config/locales/mr.yml
config/locales/ms.yml
config/locales/my.yml
config/locales/nb.yml
config/locales/nds.yml
config/locales/ne.yml
config/locales/nl.yml
config/locales/nn.yml
config/locales/nqo.yml
config/locales/oc.yml
config/locales/pa.yml
config/locales/pl.yml
config/locales/pnb.yml
config/locales/ps.yml
config/locales/pt-PT.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sat.yml
config/locales/sc.yml
config/locales/scn.yml
config/locales/sco.yml
config/locales/sh.yml
config/locales/sk.yml
config/locales/skr-arab.yml
config/locales/sl.yml
config/locales/sq.yml
config/locales/sr-Latn.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/ta.yml
config/locales/te.yml
config/locales/th.yml
config/locales/tl.yml
config/locales/tr.yml
config/locales/tt.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/yo.yml
config/locales/zh-CN.yml
config/locales/zh-HK.yml
config/locales/zh-TW.yml
config/openlayers.cfg [deleted file]
config/routes.rb
config/settings/test.yml
db/migrate/20231010201451_create_user_mutes.rb [new file with mode: 0644]
db/migrate/20231010203028_add_muted_flag_to_messages.rb [new file with mode: 0644]
db/migrate/20231213182102_add_canonical_user_index.rb [new file with mode: 0644]
db/migrate/20240117185445_drop_lowercase_user_index.rb [new file with mode: 0644]
db/structure.sql
lib/oauth.rb
script/deliver-message
test/application_system_test_case.rb
test/controllers/api/notes_controller_test.rb
test/controllers/api/old_nodes_controller_test.rb
test/controllers/api/old_relations_controller_test.rb
test/controllers/api/old_ways_controller_test.rb
test/controllers/browse_controller_test.rb
test/controllers/notes_controller_test.rb
test/controllers/old_nodes_controller_test.rb [new file with mode: 0644]
test/controllers/old_relations_controller_test.rb [new file with mode: 0644]
test/controllers/old_ways_controller_test.rb [new file with mode: 0644]
test/controllers/user_blocks_controller_test.rb
test/controllers/user_mutes_controller_test.rb [new file with mode: 0644]
test/factories/messages.rb
test/factories/notes.rb
test/factories/user_mute.rb [new file with mode: 0644]
test/helpers/asset_helper_test.rb
test/helpers/browse_tags_helper_test.rb
test/helpers/svg_helper_test.rb [new file with mode: 0644]
test/integration/user_creation_test.rb
test/lib/bounding_box_test.rb
test/lib/i18n_test.rb
test/mailers/user_mailer_test.rb
test/models/acl_test.rb
test/models/changeset_comment_test.rb
test/models/changeset_tag_test.rb
test/models/client_application_test.rb
test/models/issue_test.rb
test/models/language_test.rb
test/models/message_test.rb
test/models/node_tag_test.rb
test/models/note_comment_test.rb
test/models/note_test.rb
test/models/oauth_token_test.rb
test/models/old_node_tag_test.rb
test/models/old_relation_tag_test.rb
test/models/old_way_tag_test.rb
test/models/redaction_test.rb
test/models/relation_member_test.rb
test/models/relation_tag_test.rb
test/models/report_test.rb
test/models/request_token_test.rb
test/models/trace_test.rb
test/models/tracepoint_test.rb
test/models/user_mute_test.rb [new file with mode: 0644]
test/models/user_preference_test.rb
test/models/user_test.rb
test/models/way_tag_test.rb
test/system/account_deletion_test.rb
test/system/confirmation_resend_test.rb
test/system/diary_entry_test.rb
test/system/issues_test.rb
test/system/messages_test.rb [new file with mode: 0644]
test/system/note_comments_test.rb
test/system/oauth2_test.rb [new file with mode: 0644]
test/system/preferences_test.rb
test/system/report_diary_comment_test.rb
test/system/report_diary_entry_test.rb
test/system/report_note_test.rb
test/system/report_user_test.rb
test/system/user_blocks_test.rb [new file with mode: 0644]
test/system/user_logout_test.rb
test/system/user_muting_test.rb [new file with mode: 0644]
test/system/user_signup_test.rb
test/system/user_status_change_test.rb
test/system/view_communities_test.rb
test/test_helper.rb
test/validators/characters_validator_test.rb
test/validators/whitespace_validator_test.rb
yarn.lock

index 0608b699bdfdcc56bb6f3f10087762b3546e3140..9fc1320141d9f50d0ac19a5940bc48fdbe9dd87f 100644 (file)
@@ -50,7 +50,7 @@ jobs:
         rubygems: 3.4.10
         bundler-cache: true
     - name: Cache node modules
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
         path: node_modules
         key: yarn-${{ env.os }}-${{ hashFiles('yarn.lock') }}
index f2fa6763aa55a03af02acbfc6dc0f7fd42a3ca24..bfe456076df761798ec9a1e15e6674691b9f0e06 100644 (file)
@@ -26,7 +26,7 @@ jobs:
         rubygems: 3.4.10
         bundler-cache: true
     - name: Cache node modules
-      uses: actions/cache@v3
+      uses: actions/cache@v4
       with:
         path: node_modules
         key: yarn-ubuntu-${{ matrix.ubuntu }}-${{ hashFiles('yarn.lock') }}
index bd2f92309886c83b83e4dfdaecd5cc8153f23cc7..9874aa3793a18cb1e65b2e9f7374ce6eabeeaeee 100644 (file)
@@ -14,6 +14,11 @@ require:
   - rubocop-rails
   - rubocop-rake
 
+# Offense count: 11
+# Configuration parameters: Include, MaxAmount
+FactoryBot/ExcessiveCreateList:
+  MaxAmount: 200
+
 # Offense count: 557
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
@@ -61,12 +66,12 @@ Metrics/BlockNesting:
 # Offense count: 26
 # Configuration parameters: CountComments, CountAsOne.
 Metrics/ClassLength:
-  Max: 297
+  Max: 305
 
 # Offense count: 59
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 Metrics/CyclomaticComplexity:
-  Max: 26
+  Max: 29
 
 # Offense count: 753
 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
@@ -81,7 +86,7 @@ Metrics/ParameterLists:
 # Offense count: 56
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 Metrics/PerceivedComplexity:
-  Max: 29
+  Max: 30
 
 # Offense count: 2394
 # This cop supports safe autocorrection (--autocorrect).
index c4b9c25160101311077cb1c1ac539468d2778da5..8949abcbf89b9cb3e9744973d1377668a52548e3 100644 (file)
@@ -3,35 +3,35 @@ GEM
   specs:
     aasm (5.5.0)
       concurrent-ruby (~> 1.0)
-    actioncable (7.1.2)
-      actionpack (= 7.1.2)
-      activesupport (= 7.1.2)
+    actioncable (7.1.3)
+      actionpack (= 7.1.3)
+      activesupport (= 7.1.3)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
       zeitwerk (~> 2.6)
-    actionmailbox (7.1.2)
-      actionpack (= 7.1.2)
-      activejob (= 7.1.2)
-      activerecord (= 7.1.2)
-      activestorage (= 7.1.2)
-      activesupport (= 7.1.2)
+    actionmailbox (7.1.3)
+      actionpack (= 7.1.3)
+      activejob (= 7.1.3)
+      activerecord (= 7.1.3)
+      activestorage (= 7.1.3)
+      activesupport (= 7.1.3)
       mail (>= 2.7.1)
       net-imap
       net-pop
       net-smtp
-    actionmailer (7.1.2)
-      actionpack (= 7.1.2)
-      actionview (= 7.1.2)
-      activejob (= 7.1.2)
-      activesupport (= 7.1.2)
+    actionmailer (7.1.3)
+      actionpack (= 7.1.3)
+      actionview (= 7.1.3)
+      activejob (= 7.1.3)
+      activesupport (= 7.1.3)
       mail (~> 2.5, >= 2.5.4)
       net-imap
       net-pop
       net-smtp
       rails-dom-testing (~> 2.2)
-    actionpack (7.1.2)
-      actionview (= 7.1.2)
-      activesupport (= 7.1.2)
+    actionpack (7.1.3)
+      actionview (= 7.1.3)
+      activesupport (= 7.1.3)
       nokogiri (>= 1.8.5)
       racc
       rack (>= 2.2.4)
@@ -41,39 +41,39 @@ GEM
       rails-html-sanitizer (~> 1.6)
     actionpack-page_caching (1.2.4)
       actionpack (>= 4.0.0)
-    actiontext (7.1.2)
-      actionpack (= 7.1.2)
-      activerecord (= 7.1.2)
-      activestorage (= 7.1.2)
-      activesupport (= 7.1.2)
+    actiontext (7.1.3)
+      actionpack (= 7.1.3)
+      activerecord (= 7.1.3)
+      activestorage (= 7.1.3)
+      activesupport (= 7.1.3)
       globalid (>= 0.6.0)
       nokogiri (>= 1.8.5)
-    actionview (7.1.2)
-      activesupport (= 7.1.2)
+    actionview (7.1.3)
+      activesupport (= 7.1.3)
       builder (~> 3.1)
       erubi (~> 1.11)
       rails-dom-testing (~> 2.2)
       rails-html-sanitizer (~> 1.6)
     active_record_union (1.3.0)
       activerecord (>= 4.0)
-    activejob (7.1.2)
-      activesupport (= 7.1.2)
+    activejob (7.1.3)
+      activesupport (= 7.1.3)
       globalid (>= 0.3.6)
-    activemodel (7.1.2)
-      activesupport (= 7.1.2)
-    activerecord (7.1.2)
-      activemodel (= 7.1.2)
-      activesupport (= 7.1.2)
+    activemodel (7.1.3)
+      activesupport (= 7.1.3)
+    activerecord (7.1.3)
+      activemodel (= 7.1.3)
+      activesupport (= 7.1.3)
       timeout (>= 0.4.0)
     activerecord-import (1.5.1)
       activerecord (>= 4.2)
-    activestorage (7.1.2)
-      actionpack (= 7.1.2)
-      activejob (= 7.1.2)
-      activerecord (= 7.1.2)
-      activesupport (= 7.1.2)
+    activestorage (7.1.3)
+      actionpack (= 7.1.3)
+      activejob (= 7.1.3)
+      activerecord (= 7.1.3)
+      activesupport (= 7.1.3)
       marcel (~> 1.0)
-    activesupport (7.1.2)
+    activesupport (7.1.3)
       base64
       bigdecimal
       concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -83,7 +83,7 @@ GEM
       minitest (>= 5.1)
       mutex_m
       tzinfo (~> 2.0)
-    addressable (2.8.5)
+    addressable (2.8.6)
       public_suffix (>= 2.0.2, < 6.0)
     annotate (3.2.0)
       activerecord (>= 3.2, < 8.0)
@@ -95,16 +95,16 @@ GEM
     autoprefixer-rails (10.4.16.0)
       execjs (~> 2)
     aws-eventstream (1.3.0)
-    aws-partitions (1.863.0)
-    aws-sdk-core (3.190.0)
+    aws-partitions (1.883.0)
+    aws-sdk-core (3.190.3)
       aws-eventstream (~> 1, >= 1.3.0)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.8)
       jmespath (~> 1, >= 1.6.1)
-    aws-sdk-kms (1.74.0)
+    aws-sdk-kms (1.76.0)
       aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.141.0)
+    aws-sdk-s3 (1.142.0)
       aws-sdk-core (~> 3, >= 3.189.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.8)
@@ -122,10 +122,10 @@ GEM
       erubi (~> 1.4)
       parser (>= 2.4)
       smart_properties
-    bigdecimal (3.1.4)
+    bigdecimal (3.1.6)
     binding_of_caller (1.0.0)
       debug_inspector (>= 0.0.1)
-    bootsnap (1.17.0)
+    bootsnap (1.17.1)
       msgpack (~> 1.2)
     bootstrap (5.3.2)
       autoprefixer-rails (>= 9.1.0)
@@ -133,7 +133,8 @@ GEM
     bootstrap_form (5.4.0)
       actionpack (>= 6.1)
       activemodel (>= 6.1)
-    brakeman (6.1.0)
+    brakeman (6.1.1)
+      racc
     brotli (0.4.0)
     browser (5.3.1)
     builder (3.2.4)
@@ -151,8 +152,8 @@ GEM
       rack-test (>= 0.6.3)
       regexp_parser (>= 1.5, < 3.0)
       xpath (~> 3.2)
-    concurrent-ruby (1.2.2)
-    config (5.0.0)
+    concurrent-ruby (1.2.3)
+    config (5.1.0)
       deep_merge (~> 1.2, >= 1.2.1)
       dry-validation (~> 1.0, >= 1.0.0)
     connection_pool (2.4.1)
@@ -169,7 +170,7 @@ GEM
       sprockets-rails
       tilt
     date (3.3.4)
-    debug_inspector (1.1.0)
+    debug_inspector (1.2.0)
     deep_merge (1.2.2)
     delayed_job (4.1.11)
       activesupport (>= 3.0, < 8.0)
@@ -206,7 +207,8 @@ GEM
       dry-logic (>= 1.4, < 2)
       dry-types (>= 1.7, < 2)
       zeitwerk (~> 2.6)
-    dry-types (1.7.1)
+    dry-types (1.7.2)
+      bigdecimal (~> 3.0)
       concurrent-ruby (~> 1.0)
       dry-core (~> 1.0)
       dry-inflector (~> 1.0)
@@ -228,16 +230,15 @@ GEM
     erubi (1.12.0)
     execjs (2.9.1)
     exifr (1.4.0)
-    factory_bot (6.4.2)
+    factory_bot (6.4.5)
       activesupport (>= 5.0.0)
-    factory_bot_rails (6.4.2)
+    factory_bot_rails (6.4.3)
       factory_bot (~> 6.4)
       railties (>= 5.0.0)
-    faraday (2.7.12)
-      base64
-      faraday-net_http (>= 2.0, < 3.1)
-      ruby2_keywords (>= 0.0.4)
-    faraday-net_http (3.0.2)
+    faraday (2.9.0)
+      faraday-net_http (>= 2.0, < 3.2)
+    faraday-net_http (3.1.0)
+      net-http
     ffi (1.16.3)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
@@ -252,10 +253,10 @@ GEM
       ffi (>= 1.0.0)
     globalid (1.2.1)
       activesupport (>= 6.1)
-    google-protobuf (3.25.1)
-    hashdiff (1.0.1)
+    google-protobuf (3.25.2)
+    hashdiff (1.1.0)
     hashie (5.0.0)
-    highline (2.1.0)
+    highline (3.0.1)
     htmlentities (4.3.4)
     http_accept_language (2.1.1)
     i18n (1.14.1)
@@ -286,12 +287,12 @@ GEM
     image_processing (1.12.2)
       mini_magick (>= 4.9.5, < 5)
       ruby-vips (>= 2.0.17, < 3)
-    image_size (3.3.0)
+    image_size (3.4.0)
     in_threads (1.6.0)
-    io-console (0.6.0)
-    irb (1.10.1)
+    io-console (0.7.2)
+    irb (1.11.1)
       rdoc
-      reline (>= 0.3.8)
+      reline (>= 0.4.2)
     jbuilder (2.11.5)
       actionview (>= 5.0.0)
       activesupport (>= 5.0.0)
@@ -307,7 +308,7 @@ GEM
       rexml
     language_server-protocol (3.17.0.3)
     libv8-node (18.16.0.0)
-    libxml-ruby (4.1.2)
+    libxml-ruby (5.0.2)
     listen (3.8.0)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
@@ -330,22 +331,24 @@ GEM
     mini_portile2 (2.8.5)
     mini_racer (0.8.0)
       libv8-node (~> 18.16.0.0)
-    minitest (5.20.0)
+    minitest (5.21.2)
     msgpack (1.7.2)
     multi_json (1.15.0)
     multi_xml (0.6.0)
     mutex_m (0.2.0)
-    net-imap (0.4.7)
+    net-http (0.4.1)
+      uri
+    net-imap (0.4.9.1)
       date
       net-protocol
     net-pop (0.1.2)
       net-protocol
     net-protocol (0.2.2)
       timeout
-    net-smtp (0.4.0)
+    net-smtp (0.4.0.1)
       net-protocol
     nio4r (2.7.0)
-    nokogiri (1.15.5)
+    nokogiri (1.16.0)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     oauth (0.4.7)
@@ -378,7 +381,8 @@ GEM
     omniauth-mediawiki (0.0.4)
       jwt (~> 2.0)
       omniauth-oauth (~> 1.0)
-    omniauth-microsoft_graph (1.2.0)
+    omniauth-microsoft_graph (2.0.0)
+      jwt (~> 2.0)
       omniauth (~> 2.0)
       omniauth-oauth2 (~> 1.8.0)
     omniauth-oauth (1.2.0)
@@ -394,17 +398,17 @@ GEM
       actionpack (>= 4.2)
       omniauth (~> 2.0)
     openstreetmap-deadlock_retry (1.3.1)
-    parallel (1.23.0)
-    parser (3.2.2.4)
+    parallel (1.24.0)
+    parser (3.3.0.5)
       ast (~> 2.4.1)
       racc
     pg (1.5.4)
     popper_js (2.11.8)
     progress (3.6.0)
-    psych (5.1.1.1)
+    psych (5.1.2)
       stringio
     public_suffix (5.0.4)
-    puma (5.6.7)
+    puma (5.6.8)
       nio4r (~> 2.0)
     quad_tile (1.0.1)
     racc (1.7.3)
@@ -414,7 +418,8 @@ GEM
     rack-openid (1.4.2)
       rack (>= 1.1.0)
       ruby-openid (>= 2.1.8)
-    rack-protection (3.1.0)
+    rack-protection (3.2.0)
+      base64 (>= 0.1.0)
       rack (~> 2.2, >= 2.2.4)
     rack-session (1.0.2)
       rack (< 3)
@@ -424,20 +429,20 @@ GEM
     rackup (1.0.0)
       rack (< 3)
       webrick
-    rails (7.1.2)
-      actioncable (= 7.1.2)
-      actionmailbox (= 7.1.2)
-      actionmailer (= 7.1.2)
-      actionpack (= 7.1.2)
-      actiontext (= 7.1.2)
-      actionview (= 7.1.2)
-      activejob (= 7.1.2)
-      activemodel (= 7.1.2)
-      activerecord (= 7.1.2)
-      activestorage (= 7.1.2)
-      activesupport (= 7.1.2)
+    rails (7.1.3)
+      actioncable (= 7.1.3)
+      actionmailbox (= 7.1.3)
+      actionmailer (= 7.1.3)
+      actionpack (= 7.1.3)
+      actiontext (= 7.1.3)
+      actionview (= 7.1.3)
+      activejob (= 7.1.3)
+      activemodel (= 7.1.3)
+      activerecord (= 7.1.3)
+      activestorage (= 7.1.3)
+      activesupport (= 7.1.3)
       bundler (>= 1.15.0)
-      railties (= 7.1.2)
+      railties (= 7.1.3)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
       actionview (>= 5.0.1.rc1)
@@ -452,9 +457,9 @@ GEM
     rails-i18n (7.0.8)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 8)
-    railties (7.1.2)
-      actionpack (= 7.1.2)
-      activesupport (= 7.1.2)
+    railties (7.1.3)
+      actionpack (= 7.1.3)
+      activesupport (= 7.1.3)
       irb
       rackup (>= 1.0.0)
       rake (>= 12.2)
@@ -465,10 +470,10 @@ GEM
     rb-fsevent (0.11.2)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rdoc (6.6.1)
+    rdoc (6.6.2)
       psych (>= 4.0.0)
-    regexp_parser (2.8.3)
-    reline (0.4.1)
+    regexp_parser (2.9.0)
+    reline (0.4.2)
       io-console (~> 0.5)
     request_store (1.5.1)
       rack (>= 1.4)
@@ -478,11 +483,11 @@ GEM
     rouge (4.2.0)
     rtlcss (0.2.1)
       mini_racer (>= 0.6.3)
-    rubocop (1.58.0)
+    rubocop (1.60.1)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)
       parallel (~> 1.10)
-      parser (>= 3.2.2.4)
+      parser (>= 3.3.0.2)
       rainbow (>= 2.2.2, < 4.0)
       regexp_parser (>= 1.8, < 3.0)
       rexml (>= 3.2.5, < 4.0)
@@ -491,16 +496,17 @@ GEM
       unicode-display_width (>= 2.4.0, < 3.0)
     rubocop-ast (1.30.0)
       parser (>= 3.2.1.0)
-    rubocop-capybara (2.19.0)
+    rubocop-capybara (2.20.0)
       rubocop (~> 1.41)
-    rubocop-factory_bot (2.24.0)
-      rubocop (~> 1.33)
-    rubocop-minitest (0.33.0)
+    rubocop-factory_bot (2.25.1)
+      rubocop (~> 1.41)
+    rubocop-minitest (0.34.5)
       rubocop (>= 1.39, < 2.0)
-    rubocop-performance (1.19.1)
-      rubocop (>= 1.7.0, < 2.0)
-      rubocop-ast (>= 0.4.0)
-    rubocop-rails (2.22.2)
+      rubocop-ast (>= 1.30.0, < 2.0)
+    rubocop-performance (1.20.2)
+      rubocop (>= 1.48.1, < 2.0)
+      rubocop-ast (>= 1.30.0, < 2.0)
+    rubocop-rails (2.23.1)
       activesupport (>= 4.2.0)
       rack (>= 1.1)
       rubocop (>= 1.33.0, < 2.0)
@@ -520,7 +526,8 @@ GEM
       google-protobuf (~> 3.23)
       rake (>= 13.0.0)
     secure_headers (6.5.0)
-    selenium-webdriver (4.15.0)
+    selenium-webdriver (4.17.0)
+      base64 (~> 0.2)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
       websocket (~> 1.0)
@@ -546,11 +553,11 @@ GEM
       activesupport (>= 5.2)
       sprockets (>= 3.0.0)
     stringio (3.1.0)
-    strong_migrations (1.6.4)
+    strong_migrations (1.7.0)
       activerecord (>= 5.2)
     terminal-table (3.0.2)
       unicode-display_width (>= 1.1.1, < 3)
-    terser (1.1.20)
+    terser (1.2.0)
       execjs (>= 0.3.0, < 3)
     thor (1.3.0)
     tilt (2.3.0)
@@ -558,6 +565,7 @@ GEM
     tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
     unicode-display_width (2.5.0)
+    uri (0.13.0)
     validates_email_format_of (1.7.2)
       i18n
     vendorer (0.2.0)
index 59e924b9b86da2280fc2cfb4d6cb94abad782984..63aad6f1a267bd1a60c82f47fbd7e7e768ddcdfc 100644 (file)
@@ -23,7 +23,7 @@ of packages required before you can get the various gems installed.
 ## Minimum requirements
 
 * Ruby 3.0+
-* PostgreSQL 9.1+
+* PostgreSQL 13+
 * Bundler (see note below about [developer Ruby setup](#rbenv))
 * Javascript Runtime
 
@@ -226,11 +226,11 @@ After installing this software, you may need to carry out some [configuration st
 
 # Ruby development install and versions<a name="rbenv"></a> (optional)
 
-For simplicity, this document explains how to install all the website dependencies as "system" dependencies. While this is simpler, and usually faster, you might want more control over the process or the ability to install multiple different versions of software alongside eachother. For many developers, [`rbenv`](https://github.com/rbenv/rbenv) is the easiest way to manage multiple different Ruby versions on the same computer - with the added advantage that the installs are all in your home directory, so you don't need administrator permissions.
+For simplicity, this document explains how to install all the website dependencies as "system" dependencies. While this is simpler, and usually faster, you might want more control over the process or the ability to install multiple different versions of software alongside each other. For many developers, [`rbenv`](https://github.com/rbenv/rbenv) is the easiest way to manage multiple different Ruby versions on the same computer - with the added advantage that the installs are all in your home directory, so you don't need administrator permissions.
 
 If you choose to install Ruby and Bundler via `rbenv`, then you do not need to install the system libraries for Ruby:
 
-* For Ubuntu, you do not need to install the following packages: `ruby3.0 libruby3.0 ruby3.0-dev bundler`,
+* For Ubuntu, you do not need to install the following packages: `ruby ruby-dev ruby-bundler`,
 * For Fedora, you do not need to install the following packages: `ruby ruby-devel rubygem-rdoc rubygem-bundler rubygems`
 * For MacOSX, you do not need to `brew install ruby` - but make sure you've installed a version of Ruby using `rbenv` before running `gem install bundler`!
 
index f9348f68e707ae9897bd0a2e2690e7e4187573d0..4a4eee3901def8b8544719e0066e01a57117c8c4 100644 (file)
@@ -6,6 +6,9 @@ class Ability
   def initialize(user)
     can [:relation, :relation_history, :way, :way_history, :node, :node_history,
          :changeset, :query], :browse
+    can [:show], OldNode
+    can [:show], OldWay
+    can [:show], OldRelation
     can [:show, :new], Note
     can :search, :direction
     can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :communities, :preview, :copyright, :key, :id], :site
@@ -25,12 +28,6 @@ class Ability
       can [:index, :show, :data, :georss, :picture, :icon], Trace
       can [:terms, :new, :create, :save, :suspended, :show, :auth_success, :auth_failure], User
       can [:index, :show, :blocks_on, :blocks_by], UserBlock
-      can [:index, :show], Node
-      can [:index, :show, :full, :ways_for_node], Way
-      can [:index, :show, :full, :relations_for_node, :relations_for_way, :relations_for_relation], Relation
-      can [:history, :version], OldNode
-      can [:history, :version], OldWay
-      can [:history, :version], OldRelation
     end
 
     if user&.active?
@@ -47,20 +44,21 @@ class Ability
         can [:show], :dashboard
         can [:new, :create, :edit, :update, :comment, :subscribe, :unsubscribe], DiaryEntry
         can [:make_friend, :remove_friend], Friendship
-        can [:new, :create, :reply, :show, :inbox, :outbox, :mark, :destroy], Message
+        can [:new, :create, :reply, :show, :inbox, :outbox, :muted, :mark, :unmute, :destroy], Message
         can [:close, :reopen], Note
         can [:show, :edit, :update], :preference
         can [:edit, :update], :profile
         can [:new, :create], Report
         can [:mine, :new, :create, :edit, :update, :destroy], Trace
         can [:account, :go_public], User
+        can [:index, :create, :destroy], UserMute
 
         if user.moderator?
           can [:hide, :unhide, :hidecomment, :unhidecomment], DiaryEntry
           can [:index, :show, :resolve, :ignore, :reopen], Issue
           can :create, IssueComment
           can [:new, :create, :edit, :update, :destroy], Redaction
-          can [:new, :edit, :create, :update, :revoke], UserBlock
+          can [:new, :edit, :create, :update, :revoke, :revoke_all], UserBlock
         end
 
         if user.administrator?
index 4876380d0dd272e708f0180be8b3df13d3d9c88a..0eae46f824294aab6a703987cc80a3d2091c9768 100644 (file)
@@ -5,7 +5,6 @@ class ApiAbility
 
   def initialize(user)
     can :show, :capability
-    can :index, :change
     can :index, :map
     can :show, :permission
     can :show, :version
@@ -22,17 +21,9 @@ class ApiAbility
       can [:history, :version], OldWay
       can [:history, :version], OldRelation
       can [:show], UserBlock
-    end
-
-    if user&.active?
-      can :welcome, :site
-      can [:revoke, :authorize], :oauth
 
-      if Settings.status != "database_offline"
-        can [:index, :new, :create, :show, :edit, :update, :destroy], ClientApplication
-        can [:new, :create, :reply, :show, :inbox, :outbox, :mark, :destroy], Message
+      if user&.active?
         can [:comment, :close, :reopen], Note
-        can [:new, :create], Report
         can [:create, :show, :update, :destroy, :data], Trace
         can [:details, :gpx_files], User
         can [:index, :show, :update, :update_all, :destroy], UserPreference
index 8c52327cfe488cc0d4e0710d85c48625dd7a166d..95d7ab9ab92d2145b90f11373a69416aacc9f959 100644 (file)
@@ -32,9 +32,9 @@ class ApiCapability
           can [:destroy, :restore], ChangesetComment if scope?(token, :write_api)
           can :destroy, Note if scope?(token, :write_notes)
           if user&.terms_agreed?
-            can :redact, OldNode if scope?(token, :write_api)
-            can :redact, OldWay if scope?(token, :write_api)
-            can :redact, OldRelation if scope?(token, :write_api)
+            can :redact, OldNode if scope?(token, :write_api) || scope?(token, :write_redactions)
+            can :redact, OldWay if scope?(token, :write_api) || scope?(token, :write_redactions)
+            can :redact, OldRelation if scope?(token, :write_api) || scope?(token, :write_redactions)
           end
         end
       end
diff --git a/app/assets/images/key/cyclemap/beach.png b/app/assets/images/key/cyclemap/beach.png
new file mode 100644 (file)
index 0000000..256732b
Binary files /dev/null and b/app/assets/images/key/cyclemap/beach.png differ
index c900a449546dcf75d3463b6edacb66db22c4b8e1..e5a781d139fa3f4053413ffa2820a34ffd361781 100644 (file)
Binary files a/app/assets/images/key/cyclemap/bicycle_parking.png and b/app/assets/images/key/cyclemap/bicycle_parking.png differ
diff --git a/app/assets/images/key/cyclemap/bicycle_parking_small.svg b/app/assets/images/key/cyclemap/bicycle_parking_small.svg
new file mode 100644 (file)
index 0000000..753fab7
--- /dev/null
@@ -0,0 +1,3 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'>
+<rect x='.5' y='.5' width='7' height='7' rx='2' fill='#0087ff' stroke='#fefefe' />
+</svg>
diff --git a/app/assets/images/key/cyclemap/bicycle_rental.png b/app/assets/images/key/cyclemap/bicycle_rental.png
new file mode 100644 (file)
index 0000000..190e527
Binary files /dev/null and b/app/assets/images/key/cyclemap/bicycle_rental.png differ
diff --git a/app/assets/images/key/cyclemap/bicycle_rental_small.svg b/app/assets/images/key/cyclemap/bicycle_rental_small.svg
new file mode 100644 (file)
index 0000000..fa0399c
--- /dev/null
@@ -0,0 +1,3 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'>
+<rect x='.5' y='.5' width='7' height='7' rx='2' fill='#fbe500' stroke='#fefefe' />
+</svg>
diff --git a/app/assets/images/key/cyclemap/common.png b/app/assets/images/key/cyclemap/common.png
deleted file mode 100644 (file)
index 7c10815..0000000
Binary files a/app/assets/images/key/cyclemap/common.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway.png b/app/assets/images/key/cyclemap/cycleway.png
deleted file mode 100644 (file)
index 13bed4a..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway_local.png b/app/assets/images/key/cyclemap/cycleway_local.png
deleted file mode 100644 (file)
index 2a29331..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway_local.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway_local13.png b/app/assets/images/key/cyclemap/cycleway_local13.png
deleted file mode 100644 (file)
index 3f2c535..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway_local13.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway_national.png b/app/assets/images/key/cyclemap/cycleway_national.png
deleted file mode 100644 (file)
index 0f5455f..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway_national.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway_national13.png b/app/assets/images/key/cyclemap/cycleway_national13.png
deleted file mode 100644 (file)
index 252b07a..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway_national13.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway_regional.png b/app/assets/images/key/cyclemap/cycleway_regional.png
deleted file mode 100644 (file)
index 9224999..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway_regional.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/cycleway_regional13.png b/app/assets/images/key/cyclemap/cycleway_regional13.png
deleted file mode 100644 (file)
index 5195704..0000000
Binary files a/app/assets/images/key/cyclemap/cycleway_regional13.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/footway.png b/app/assets/images/key/cyclemap/footway.png
deleted file mode 100644 (file)
index c78756f..0000000
Binary files a/app/assets/images/key/cyclemap/footway.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/forest.png b/app/assets/images/key/cyclemap/forest.png
deleted file mode 100644 (file)
index a7ebe8e..0000000
Binary files a/app/assets/images/key/cyclemap/forest.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/lake.png b/app/assets/images/key/cyclemap/lake.png
deleted file mode 100644 (file)
index 918d496..0000000
Binary files a/app/assets/images/key/cyclemap/lake.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/motorway.png b/app/assets/images/key/cyclemap/motorway.png
deleted file mode 100644 (file)
index 296f176..0000000
Binary files a/app/assets/images/key/cyclemap/motorway.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/motorway12.png b/app/assets/images/key/cyclemap/motorway12.png
deleted file mode 100644 (file)
index 749493a..0000000
Binary files a/app/assets/images/key/cyclemap/motorway12.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/primary.png b/app/assets/images/key/cyclemap/primary.png
deleted file mode 100644 (file)
index 78ae0e4..0000000
Binary files a/app/assets/images/key/cyclemap/primary.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/primary12.png b/app/assets/images/key/cyclemap/primary12.png
deleted file mode 100644 (file)
index fed37d0..0000000
Binary files a/app/assets/images/key/cyclemap/primary12.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/rail.png b/app/assets/images/key/cyclemap/rail.png
deleted file mode 100644 (file)
index 0abf0c1..0000000
Binary files a/app/assets/images/key/cyclemap/rail.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/rail14.png b/app/assets/images/key/cyclemap/rail14.png
deleted file mode 100644 (file)
index 957f17c..0000000
Binary files a/app/assets/images/key/cyclemap/rail14.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/secondary.png b/app/assets/images/key/cyclemap/secondary.png
deleted file mode 100644 (file)
index 7928b18..0000000
Binary files a/app/assets/images/key/cyclemap/secondary.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/secondary12.png b/app/assets/images/key/cyclemap/secondary12.png
deleted file mode 100644 (file)
index cde0085..0000000
Binary files a/app/assets/images/key/cyclemap/secondary12.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/track.png b/app/assets/images/key/cyclemap/track.png
deleted file mode 100644 (file)
index f294edc..0000000
Binary files a/app/assets/images/key/cyclemap/track.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/trunk.png b/app/assets/images/key/cyclemap/trunk.png
deleted file mode 100644 (file)
index d312a65..0000000
Binary files a/app/assets/images/key/cyclemap/trunk.png and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/trunk12.png b/app/assets/images/key/cyclemap/trunk12.png
deleted file mode 100644 (file)
index 51230a0..0000000
Binary files a/app/assets/images/key/cyclemap/trunk12.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/apron.png b/app/assets/images/key/mapnik/apron.png
deleted file mode 100644 (file)
index bcea5e3..0000000
Binary files a/app/assets/images/key/mapnik/apron.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/bridge.png b/app/assets/images/key/mapnik/bridge.png
deleted file mode 100644 (file)
index d388d7b..0000000
Binary files a/app/assets/images/key/mapnik/bridge.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/bridleway.png b/app/assets/images/key/mapnik/bridleway.png
deleted file mode 100644 (file)
index 9aec1ad..0000000
Binary files a/app/assets/images/key/mapnik/bridleway.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/building.png b/app/assets/images/key/mapnik/building.png
deleted file mode 100644 (file)
index bc074fe..0000000
Binary files a/app/assets/images/key/mapnik/building.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/capital4.svg b/app/assets/images/key/mapnik/capital4.svg
new file mode 100644 (file)
index 0000000..712c904
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="6" height="6" viewBox="-3 -3 6 6">
+<circle r="2.5" fill="#fdfdfc" stroke="#222" />
+<circle r="1" fill="#222" />
+</svg>
diff --git a/app/assets/images/key/mapnik/capital7.svg b/app/assets/images/key/mapnik/capital7.svg
new file mode 100644 (file)
index 0000000..69011cf
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="-4 -4 8 8">
+<circle r="3.5" fill="#fdfdfc" stroke="#222" />
+<circle r="1.5" fill="#222" />
+</svg>
diff --git a/app/assets/images/key/mapnik/city4.svg b/app/assets/images/key/mapnik/city4.svg
new file mode 100644 (file)
index 0000000..542236c
--- /dev/null
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4" viewBox="-2 -2 4 4">
+<circle r="1.75" fill="#fdfdfc" stroke="#575749" stroke-width="0.5" />
+</svg>
diff --git a/app/assets/images/key/mapnik/city6.svg b/app/assets/images/key/mapnik/city6.svg
new file mode 100644 (file)
index 0000000..40fc3ae
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="17" height="6" viewBox="0 -3 17 6">
+<circle cx="3" r="2.6" fill="#f9f9f7" stroke="#6f6f5b" stroke-width="0.8" />
+<circle cx="14" r="1.75" fill="#fdfdfc" stroke="#424236" stroke-width="0.5" />
+</svg>
diff --git a/app/assets/images/key/mapnik/cycleway.png b/app/assets/images/key/mapnik/cycleway.png
deleted file mode 100644 (file)
index a1a16f1..0000000
Binary files a/app/assets/images/key/mapnik/cycleway.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/footway.png b/app/assets/images/key/mapnik/footway.png
deleted file mode 100644 (file)
index 4486119..0000000
Binary files a/app/assets/images/key/mapnik/footway.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/glacier10.svg b/app/assets/images/key/mapnik/glacier10.svg
deleted file mode 100644 (file)
index be79f23..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='26' height='10'>
-<rect x='.5' y='.5' width='25' height='9' fill='#ddecec' stroke='#9cf' stroke-dasharray='4 2' />
-</svg>
diff --git a/app/assets/images/key/mapnik/glacier5.svg b/app/assets/images/key/mapnik/glacier5.svg
deleted file mode 100644 (file)
index 8e6d368..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='26' height='10'>
-<rect x='.5' y='.5' width='25' height='9' fill='#ddecec' stroke='#9cf' />
-</svg>
diff --git a/app/assets/images/key/mapnik/intermittent_water.svg b/app/assets/images/key/mapnik/intermittent_water.svg
new file mode 100644 (file)
index 0000000..ab728ce
--- /dev/null
@@ -0,0 +1,8 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='26' height='10'>
+<defs>
+<pattern id='stripes' width='8' height='4' patternUnits='userSpaceOnUse'>
+<line x2='8' y1='1' y2='1' stroke='#aad3df' stroke-width='2' />
+</pattern>
+</defs>
+<rect width='100%' height='100%' fill='url(#stripes)' />
+</svg>
diff --git a/app/assets/images/key/mapnik/mainroad.png b/app/assets/images/key/mapnik/mainroad.png
deleted file mode 100644 (file)
index 269959b..0000000
Binary files a/app/assets/images/key/mapnik/mainroad.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/mainroad12.png b/app/assets/images/key/mapnik/mainroad12.png
deleted file mode 100644 (file)
index c289a3f..0000000
Binary files a/app/assets/images/key/mapnik/mainroad12.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/mainroad12.svg b/app/assets/images/key/mapnik/mainroad12.svg
new file mode 100644 (file)
index 0000000..6bf11d9
--- /dev/null
@@ -0,0 +1,5 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='17' stroke-width='0.5'>
+<rect x='-1' y='0.5' width='54' height='4' fill='#f9b29c' stroke='#c84e2f' />
+<rect x='-1' y='6.5' width='54' height='4' fill='#fcd6a4' stroke='#a06b00' />
+<rect x='-1' y='12.5' width='54' height='4' fill='#f7fabf' stroke='#707d05' />
+</svg>
diff --git a/app/assets/images/key/mapnik/mainroad15.svg b/app/assets/images/key/mapnik/mainroad15.svg
new file mode 100644 (file)
index 0000000..96796b8
--- /dev/null
@@ -0,0 +1,5 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='32'>
+<rect x='-1' y='0.5' width='54' height='9' fill='#f9b29c' stroke='#c84e2f' />
+<rect x='-1' y='11.5' width='54' height='9' fill='#fcd6a4' stroke='#a06b00' />
+<rect x='-1' y='22.5' width='54' height='9' fill='#f7fabf' stroke='#707d05' />
+</svg>
diff --git a/app/assets/images/key/mapnik/mainroad8.png b/app/assets/images/key/mapnik/mainroad8.png
deleted file mode 100644 (file)
index 05b4dac..0000000
Binary files a/app/assets/images/key/mapnik/mainroad8.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/mainroad8.svg b/app/assets/images/key/mapnik/mainroad8.svg
new file mode 100644 (file)
index 0000000..ab5ab3f
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='7' stroke-width='1.5'>
+<path d='M0,1.5 H52' stroke='#f6967a' />
+<path d='M0,5.5 H52' stroke='#f4c37d' />
+</svg>
diff --git a/app/assets/images/key/mapnik/mainroad9.svg b/app/assets/images/key/mapnik/mainroad9.svg
new file mode 100644 (file)
index 0000000..75195d9
--- /dev/null
@@ -0,0 +1,5 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='9'>
+<path d='M0,1 H52' stroke='#f6967a' stroke-width='2' />
+<path d='M0,5 H52' stroke='#f4c37d' stroke-width='2' />
+<path d='M0,8.5 H52' stroke='#bbb' />
+</svg>
diff --git a/app/assets/images/key/mapnik/motorway.png b/app/assets/images/key/mapnik/motorway.png
deleted file mode 100644 (file)
index 484fc9d..0000000
Binary files a/app/assets/images/key/mapnik/motorway.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/rail.png b/app/assets/images/key/mapnik/rail.png
deleted file mode 100644 (file)
index 0abf0c1..0000000
Binary files a/app/assets/images/key/mapnik/rail.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/rail12.png b/app/assets/images/key/mapnik/rail12.png
deleted file mode 100644 (file)
index 957f17c..0000000
Binary files a/app/assets/images/key/mapnik/rail12.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/reef.png b/app/assets/images/key/mapnik/reef.png
new file mode 100644 (file)
index 0000000..713ac86
Binary files /dev/null and b/app/assets/images/key/mapnik/reef.png differ
diff --git a/app/assets/images/key/mapnik/runway.png b/app/assets/images/key/mapnik/runway.png
deleted file mode 100644 (file)
index c656728..0000000
Binary files a/app/assets/images/key/mapnik/runway.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/runway11.svg b/app/assets/images/key/mapnik/runway11.svg
new file mode 100644 (file)
index 0000000..088893c
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='3'>
+<line x2='50%' y1='50%' y2='50%' stroke='#bbc' stroke-width='2' />
+<line x1='50%' x2='100%' y1='50%' y2='50%' stroke='#bbc' />
+</svg>
diff --git a/app/assets/images/key/mapnik/runway12.svg b/app/assets/images/key/mapnik/runway12.svg
new file mode 100644 (file)
index 0000000..205a18e
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='5'>
+<line x2='50%' y1='50%' y2='50%' stroke='#bbc' stroke-width='4' />
+<line x1='50%' x2='100%' y1='50%' y2='50%' stroke='#bbc' />
+</svg>
diff --git a/app/assets/images/key/mapnik/runway13.svg b/app/assets/images/key/mapnik/runway13.svg
new file mode 100644 (file)
index 0000000..e4d7127
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='6'>
+<line x2='50%' y1='50%' y2='50%' stroke='#bbc' stroke-width='6' />
+<line x1='50%' x2='100%' y1='50%' y2='50%' stroke='#bbc' stroke-width='2' />
+</svg>
diff --git a/app/assets/images/key/mapnik/runway14.svg b/app/assets/images/key/mapnik/runway14.svg
new file mode 100644 (file)
index 0000000..dc9958d
--- /dev/null
@@ -0,0 +1,4 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='52' height='12'>
+<line x2='50%' y1='50%' y2='50%' stroke='#bbc' stroke-width='12' />
+<line x1='50%' x2='100%' y1='50%' y2='50%' stroke='#bbc' stroke-width='4' />
+</svg>
diff --git a/app/assets/images/key/mapnik/school.png b/app/assets/images/key/mapnik/school.png
deleted file mode 100644 (file)
index 50f30a2..0000000
Binary files a/app/assets/images/key/mapnik/school.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/school.svg b/app/assets/images/key/mapnik/school.svg
new file mode 100644 (file)
index 0000000..b7600bf
--- /dev/null
@@ -0,0 +1,3 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='26' height='10'>
+<rect x='.5' y='.5' width='25' height='9' fill='#ffffe5' stroke='#fdfdb2' />
+</svg>
diff --git a/app/assets/images/key/mapnik/station.png b/app/assets/images/key/mapnik/station.png
deleted file mode 100644 (file)
index 6c36e3c..0000000
Binary files a/app/assets/images/key/mapnik/station.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/subway.png b/app/assets/images/key/mapnik/subway.png
deleted file mode 100644 (file)
index cb42ee2..0000000
Binary files a/app/assets/images/key/mapnik/subway.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/summit.png b/app/assets/images/key/mapnik/summit.png
deleted file mode 100644 (file)
index 9dbfcd3..0000000
Binary files a/app/assets/images/key/mapnik/summit.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/summit.svg b/app/assets/images/key/mapnik/summit.svg
new file mode 100644 (file)
index 0000000..e9c831c
--- /dev/null
@@ -0,0 +1,3 @@
+<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'>
+<path d='M4,1 0,8 8,8 z' fill='#d08f55' />
+</svg>
diff --git a/app/assets/images/key/mapnik/track.png b/app/assets/images/key/mapnik/track.png
deleted file mode 100644 (file)
index f294edc..0000000
Binary files a/app/assets/images/key/mapnik/track.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/tram.png b/app/assets/images/key/mapnik/tram.png
deleted file mode 100644 (file)
index 1c64b28..0000000
Binary files a/app/assets/images/key/mapnik/tram.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/tunnel.png b/app/assets/images/key/mapnik/tunnel.png
deleted file mode 100644 (file)
index 4c52ff4..0000000
Binary files a/app/assets/images/key/mapnik/tunnel.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/unclassified.png b/app/assets/images/key/mapnik/unclassified.png
deleted file mode 100644 (file)
index 3cdfb2d..0000000
Binary files a/app/assets/images/key/mapnik/unclassified.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/unclassified13.png b/app/assets/images/key/mapnik/unclassified13.png
deleted file mode 100644 (file)
index 1a87924..0000000
Binary files a/app/assets/images/key/mapnik/unclassified13.png and /dev/null differ
diff --git a/app/assets/images/key/mapnik/wetland.png b/app/assets/images/key/mapnik/wetland.png
new file mode 100644 (file)
index 0000000..d13748b
Binary files /dev/null and b/app/assets/images/key/mapnik/wetland.png differ
diff --git a/app/assets/images/key/opnvkarte/rail11.svg b/app/assets/images/key/opnvkarte/rail11.svg
deleted file mode 100644 (file)
index 849f5cf..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='52' height='3'>
-<rect width='100%' height='100%' fill='#868686' />
-<line x2='100%' y1='50%' y2='50%' stroke='#eeeeee' stroke-dasharray='10 10' stroke-dashoffset='9' />
-</svg>
diff --git a/app/assets/images/key/opnvkarte/rail15.svg b/app/assets/images/key/opnvkarte/rail15.svg
deleted file mode 100644 (file)
index efe7792..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<svg xmlns='http://www.w3.org/2000/svg' width='52' height='4'>
-<rect width='100%' height='100%' fill='#868686' />
-<line x2='100%' y1='50%' y2='50%' stroke='#eeeeee' stroke-dasharray='10 10' stroke-dashoffset='9' stroke-width='2' />
-</svg>
diff --git a/app/assets/images/sprite.png b/app/assets/images/sprite.png
deleted file mode 100644 (file)
index e256170..0000000
Binary files a/app/assets/images/sprite.png and /dev/null differ
index 382bc41fd079fefd47fb75ca0340f6d6ddfe9db5..ae2e03c6beb72886bb1c37dbfa222b665379296a 100644 (file)
@@ -1,68 +1,62 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="300" height="200" viewBox="0, 0, 300, 200">
-  <g id="background">
-    <path d="M0,0 L300,0 L300,200 L0,200 z" fill="#B3B3B3" id="rect6890" display="none"/>
-  </g>
-  <g id="Layer_1">
-    <g id="query">
-      <text transform="matrix(1, 0, 0, 1, 276.165, 12.5)" id="tspan3023">
-        <tspan x="-3.665" y="6.012" font-family="Helvetica, sans-serif" font-weight="Bold" font-size="12" fill="#FFFFFF">?</tspan>
-      </text>
-      <path d="M263,1 C263,1 272,8 272,8 C270.944,8.587 269.888,9.173 268.832,9.76 L271.863,16.375 C272.209,17.128 271.878,18.018 271.125,18.364 C270.372,18.709 269.482,18.378 269.136,17.625 L266.201,11.221 C265.134,11.814 264.067,12.407 263,13 L263,1 z" fill="#FFFFFF"/>
-    </g>
-    <g id="add-note-grey">
-      <path d="M242,31 L242,24 L243,23 L253,23 L254,24 L254,31 L253,32 L250,32 L248,35 L246,32 L243,32 z" fill="#CCCCCC" id="path3386"/>
-      <path d="M257,33 L257,35 L259,35 L259,37 L257,37 L257,39 L255,39 L255,37 L253,37 L253,35 L255,35 L255,33 L257,33 z" fill="#CCCCCC"/>
-    </g>
-    <g id="add-note">
-      <path d="M257,12 L257,14 L259,14 L259,16 L257,16 L257,18 L255,18 L255,16 L253,16 L253,14 L255,14 L255,12 L257,12 z" fill="#FFFFFF"/>
-      <path d="M242,11 L242,4 L243,3 L253,3 L254,4 L254,11 L253,12 L250,12 L248,15 L246,12 L243,12 z" fill="#FFFFFF" id="path11741"/>
-    </g>
-    <g id="check-green">
-      <path d="M224,28 L226,28 L229,31 L233.773,25 L236,25 L236,27 L231,33 L230,34 L228,34 L227,33 L224,30 z" fill="#70CD8F" id="path3361-4"/>
-    </g>
-    <g id="check">
-      <path d="M224,8 L226,8 L229,11 L233.773,5 L236,5 L236,7 L231,13 L230,14 L228,14 L227,13 L224,10 z" fill="#222222" id="path10883"/>
-    </g>
-    <g id="close-grey">
-      <path d="M205.938,25.156 L204.938,26.156 L204.938,27.156 L207.938,30.156 L204.938,33.156 L204.938,34.156 L205.938,35.156 L206.938,35.156 L209.938,32.156 L212.938,35.156 L213.938,35.156 L214.938,34.156 L214.938,33.156 L211.938,30.156 L214.938,27.156 L214.938,26.156 L213.938,25.156 L212.938,25.156 L209.938,28.156 L206.938,25.156 L205.938,25.156 z" fill="#999999" id="path3059"/>
-    </g>
-    <g id="close">
-      <path d="M206,5 L205,6 L205,7 L208,10 L205,13 L205,14 L206,15 L207,15 L210,12 L213,15 L214,15 L215,14 L215,13 L212,10 L215,7 L215,6 L214,5 L213,5 L210,8 L207,5 L206,5 z" fill="#CCCCCC" id="path10879"/>
-    </g>
-    <g id="link">
-      <path d="M185,6 L183,8 L183,12 L185,14 L187,14 L185,12 L185,8 L190,8 L190,11 L192,11 L192,8 L190,6 L187,6 L185,6 z M192,6 L194,8 L194,12 L189,12 L189,9 L187,9 L187,12 L189,14 L194,14 L196,12 L196,8 L194,6 L192,6 z" fill="#0000FF" id="path4118"/>
-    </g>
-    <g id="clipboard">
-      <path d="M170,1 L169,2 L169,3 L168,3 L167,4 L167,6 L174,6 L174,4 L173,3 L172,3 L172,2 L171,1 L170,1 z M165,4 L164,5 L164,16 L165,17 L176,17 L177,16 L177,5 L176,4 L175,4 L175,5 L175,7 L175,15 L166,15 L166,7 L166,5 L166,4 L165,4 z M168,8 L168,9 L173,9 L173,8 L168,8 z M168,10 L168,11 L173,11 L173,10 L168,10 z M168,12 L168,13 L171,13 L171,12 L168,12 z" fill="#FFFFFF" id="path6924"/>
-    </g>
-    <g id="export">
-      <path d="M155,2 L154,3 L154,5 L152,5 C146,5 146,12 146,12 C146,12 148,8 152,8 C152.667,8 153.333,8 154,8 L154,10 L155,11 L159,6.5 L155,2 z M142,6 L141,7 L141,16 L142,17 L152,17 L153,16 L153,14 L153,11 L153,10 L152,10 C151.68,10 151.34,10.073 151,10.188 L151,13 L151,15 L145.438,15 C145.139,15.069 144.829,15.069 144.531,15 L143,15 L143,13.375 C142.967,13.168 142.967,12.957 143,12.75 L143,10 L143,8 L144.531,8 C144.875,7.331 145.323,6.652 145.875,6 L145,6 L142,6 z" fill="#FFFFFF" id="path6920"/>
-    </g>
-    <g id="info">
-      <path d="M129,3 L128,4 L128,6 L129,7 L131,7 L132,6 L132,4 L131,3 z M129,9 L128,10 L128,16 L129,17 L131,17 L132,16 L132,10 L131,9 z" fill="#FFFFFF" id="path6912"/>
-    </g>
-    <g id="layers">
-      <path d="M109.5,3 L103,6 L103,7 L109.5,10 L110.5,10 L117,7 L117,6 L110.5,3 L109.5,3 z M104.094,9.5 L103,10 L103,11 L109.5,14 L110.5,14 L117,11 L117,10 L115.906,9.5 L110.5,12 L109.5,12 L104.094,9.5 z M104.094,13.5 L103,14 L103,15 L109.5,18 L110.5,18 L117,15 L117,14 L115.906,13.5 L110.5,16 L109.5,16 L104.094,13.5 z" fill="#FFFFFF" id="path6922"/>
-    </g>
-    <g id="locate-green">
-      <path d="M84,30 L84,28 L94,24 L96,24 L96,26 L92,36 L90,36 L90,30 z" fill="#70CD8F" id="path6918-2"/>
-    </g>
-    <g id="locate">
-      <path d="M84,10 L84,8 L94,4 L96,4 L96,6 L92,16 L90,16 L90,10 z" fill="#FFFFFF" id="path6918"/>
-    </g>
-    <g id="minus">
-      <path d="M65,8 L76,8 L77,9 L77,10 L76,11 L65,11 L64,10 L64,9 z" fill="#FFFFFF" id="path6916"/>
-    </g>
-    <g id="plus">
-      <path d="M57,9 L56,8 L52,8 L52,4 L51,3 L50,3 L49,4 L49,8 L45,8 L44,9 L44,10 L45,11 L49,11 L49,15 L50,16 L51,16 L52,15 L52,11 L56,11 L57,10 L57,9 z" fill="#FFFFFF" id="path6914"/>
-    </g>
-    <g id="heart">
-      <path d="M24,8 C24,6.172 25,4 27.75,4 C29.578,4 30.5,6 30.5,6 C30.5,6 31.422,4 33.25,4 C36,4 37,6.172 37,8 C37,13 30.5,16 30.5,16 C30.5,16 24,13 24,8 z" fill="#000000" id="path3843"/>
-    </g>
-    <g id="search">
-      <path d="M11.5,3 C14.538,3 17,5.462 17,8.5 C17,11.538 14.538,14 11.5,14 C10.494,14 9.561,13.722 8.75,13.25 L5,17 L4,17 L3,16 L3,15 L6.75,11.25 C6.278,10.439 6,9.506 6,8.5 C6,5.462 8.462,3 11.5,3 z M12,5 L11,5 L9,6 L8,8 L8,9 L9,11 L11,12 L12,12 L14,11 L15,9 L15,8 L14,6 L12,5 z" fill="#999999" id="path10739"/>
-    </g>
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="300" height="200">
+  <g id="query">
+    <text transform="matrix(1, 0, 0, 1, 276.165, 12.5)">
+      <tspan x="-3.665" y="6.012" font-family="Helvetica, sans-serif" font-weight="Bold" font-size="12" fill="#FFFFFF">?</tspan>
+    </text>
+    <path d="M263,1 C263,1 272,8 272,8 C270.944,8.587 269.888,9.173 268.832,9.76 L271.863,16.375 C272.209,17.128 271.878,18.018 271.125,18.364 C270.372,18.709 269.482,18.378 269.136,17.625 L266.201,11.221 C265.134,11.814 264.067,12.407 263,13 L263,1 z" fill="#FFFFFF"/>
+  </g>
+  <g id="add-note-grey">
+    <path d="M242,31 L242,24 L243,23 L253,23 L254,24 L254,31 L253,32 L250,32 L248,35 L246,32 L243,32 z" fill="#CCCCCC"/>
+    <path d="M257,33 L257,35 L259,35 L259,37 L257,37 L257,39 L255,39 L255,37 L253,37 L253,35 L255,35 L255,33 L257,33 z" fill="#CCCCCC"/>
+  </g>
+  <g id="add-note">
+    <path d="M257,12 L257,14 L259,14 L259,16 L257,16 L257,18 L255,18 L255,16 L253,16 L253,14 L255,14 L255,12 L257,12 z" fill="#FFFFFF"/>
+    <path d="M242,11 L242,4 L243,3 L253,3 L254,4 L254,11 L253,12 L250,12 L248,15 L246,12 L243,12 z" fill="#FFFFFF"/>
+  </g>
+  <g id="check-green">
+    <path d="M224,28 L226,28 L229,31 L233.773,25 L236,25 L236,27 L231,33 L230,34 L228,34 L227,33 L224,30 z" fill="#70CD8F"/>
+  </g>
+  <g id="check">
+    <path d="M224,8 L226,8 L229,11 L233.773,5 L236,5 L236,7 L231,13 L230,14 L228,14 L227,13 L224,10 z" fill="#222222"/>
+  </g>
+  <g id="close-grey">
+    <path d="M205.938,25.156 L204.938,26.156 L204.938,27.156 L207.938,30.156 L204.938,33.156 L204.938,34.156 L205.938,35.156 L206.938,35.156 L209.938,32.156 L212.938,35.156 L213.938,35.156 L214.938,34.156 L214.938,33.156 L211.938,30.156 L214.938,27.156 L214.938,26.156 L213.938,25.156 L212.938,25.156 L209.938,28.156 L206.938,25.156 L205.938,25.156 z" fill="#999999"/>
+  </g>
+  <g id="close">
+    <path d="M206,5 L205,6 L205,7 L208,10 L205,13 L205,14 L206,15 L207,15 L210,12 L213,15 L214,15 L215,14 L215,13 L212,10 L215,7 L215,6 L214,5 L213,5 L210,8 L207,5 L206,5 z" fill="#CCCCCC"/>
+  </g>
+  <g id="link">
+    <path d="M185,6 L183,8 L183,12 L185,14 L187,14 L185,12 L185,8 L190,8 L190,11 L192,11 L192,8 L190,6 L187,6 L185,6 z M192,6 L194,8 L194,12 L189,12 L189,9 L187,9 L187,12 L189,14 L194,14 L196,12 L196,8 L194,6 L192,6 z" fill="#0000FF"/>
+  </g>
+  <g id="clipboard">
+    <path d="M170,1 L169,2 L169,3 L168,3 L167,4 L167,6 L174,6 L174,4 L173,3 L172,3 L172,2 L171,1 L170,1 z M165,4 L164,5 L164,16 L165,17 L176,17 L177,16 L177,5 L176,4 L175,4 L175,5 L175,7 L175,15 L166,15 L166,7 L166,5 L166,4 L165,4 z M168,8 L168,9 L173,9 L173,8 L168,8 z M168,10 L168,11 L173,11 L173,10 L168,10 z M168,12 L168,13 L171,13 L171,12 L168,12 z" fill="#FFFFFF"/>
+  </g>
+  <g id="export">
+    <path d="M155,2 L154,3 L154,5 L152,5 C146,5 146,12 146,12 C146,12 148,8 152,8 C152.667,8 153.333,8 154,8 L154,10 L155,11 L159,6.5 L155,2 z M142,6 L141,7 L141,16 L142,17 L152,17 L153,16 L153,14 L153,11 L153,10 L152,10 C151.68,10 151.34,10.073 151,10.188 L151,13 L151,15 L145.438,15 C145.139,15.069 144.829,15.069 144.531,15 L143,15 L143,13.375 C142.967,13.168 142.967,12.957 143,12.75 L143,10 L143,8 L144.531,8 C144.875,7.331 145.323,6.652 145.875,6 L145,6 L142,6 z" fill="#FFFFFF"/>
+  </g>
+  <g id="info">
+    <path d="M129,3 L128,4 L128,6 L129,7 L131,7 L132,6 L132,4 L131,3 z M129,9 L128,10 L128,16 L129,17 L131,17 L132,16 L132,10 L131,9 z" fill="#FFFFFF"/>
+  </g>
+  <g id="layers">
+    <path d="M109.5,3 L103,6 L103,7 L109.5,10 L110.5,10 L117,7 L117,6 L110.5,3 L109.5,3 z M104.094,9.5 L103,10 L103,11 L109.5,14 L110.5,14 L117,11 L117,10 L115.906,9.5 L110.5,12 L109.5,12 L104.094,9.5 z M104.094,13.5 L103,14 L103,15 L109.5,18 L110.5,18 L117,15 L117,14 L115.906,13.5 L110.5,16 L109.5,16 L104.094,13.5 z" fill="#FFFFFF"/>
+  </g>
+  <g id="locate-green">
+    <path d="M84,30 L84,28 L94,24 L96,24 L96,26 L92,36 L90,36 L90,30 z" fill="#70CD8F"/>
+  </g>
+  <g id="locate">
+    <path d="M84,10 L84,8 L94,4 L96,4 L96,6 L92,16 L90,16 L90,10 z" fill="#FFFFFF"/>
+  </g>
+  <g id="minus">
+    <path d="M65,8 L76,8 L77,9 L77,10 L76,11 L65,11 L64,10 L64,9 z" fill="#FFFFFF"/>
+  </g>
+  <g id="plus">
+    <path d="M57,9 L56,8 L52,8 L52,4 L51,3 L50,3 L49,4 L49,8 L45,8 L44,9 L44,10 L45,11 L49,11 L49,15 L50,16 L51,16 L52,15 L52,11 L56,11 L57,10 L57,9 z" fill="#FFFFFF"/>
+  </g>
+  <g id="heart">
+    <path d="M24,8 C24,6.172 25,4 27.75,4 C29.578,4 30.5,6 30.5,6 C30.5,6 31.422,4 33.25,4 C36,4 37,6.172 37,8 C37,13 30.5,16 30.5,16 C30.5,16 24,13 24,8 z" fill="#000000"/>
+  </g>
+  <g id="search">
+    <path d="M11.5,3 C14.538,3 17,5.462 17,8.5 C17,11.538 14.538,14 11.5,14 C10.494,14 9.561,13.722 8.75,13.25 L5,17 L4,17 L3,16 L3,15 L6.75,11.25 C6.278,10.439 6,9.506 6,8.5 C6,5.462 8.462,3 11.5,3 z M12,5 L11,5 L9,6 L8,8 L8,9 L9,11 L11,12 L12,12 L14,11 L15,9 L15,8 L14,6 L12,5 z" fill="#999999"/>
   </g>
 </svg>
index e45d28321c859c52ff06a50a2893cec8e35f0920..8ffa05c53e41ebcf88b58acd19e77f36950cf334 100644 (file)
@@ -346,10 +346,6 @@ $(document).ready(function () {
           });
         }
       });
-
-      $(".colour-preview-box").each(function () {
-        $(this).css("background-color", $(this).data("colour"));
-      });
     }
 
     page.unload = function () {
@@ -359,6 +355,16 @@ $(document).ready(function () {
     return page;
   };
 
+  OSM.OldBrowse = function () {
+    var page = {};
+
+    page.pushstate = page.popstate = function (path) {
+      OSM.loadSidebarContent(path);
+    };
+
+    return page;
+  };
+
   var history = OSM.History(map);
 
   OSM.router = OSM.Router(map, {
@@ -373,8 +379,11 @@ $(document).ready(function () {
     "/user/:display_name/history": history,
     "/note/:id": OSM.Note(map),
     "/node/:id(/history)": OSM.Browse(map, "node"),
+    "/node/:id/history/:version": OSM.OldBrowse(),
     "/way/:id(/history)": OSM.Browse(map, "way"),
+    "/way/:id/history/:version": OSM.OldBrowse(),
     "/relation/:id(/history)": OSM.Browse(map, "relation"),
+    "/relation/:id/history/:version": OSM.OldBrowse(),
     "/changeset/:id": OSM.Changeset(map),
     "/query": OSM.Query(map)
   });
index e7790c904b111804f7332b46cc7a81bffcee654e..15fedb1d113b52bbd8d402427af3d38c8c7f23ed 100644 (file)
@@ -52,20 +52,18 @@ OSM.Note = function (map) {
           OSM.loadSidebarContent(path, function () {
             initialize(path, id, moveToNote);
           });
+        },
+        error: function (xhr) {
+          $(form).find("#comment-error")
+            .text(xhr.responseText)
+            .prop("hidden", false);
+          updateButtons(form);
         }
       });
     });
 
     content.find("textarea").on("input", function (e) {
-      var form = e.target.form;
-
-      if ($(e.target).val() === "") {
-        $(form.close).val($(form.close).data("defaultActionText"));
-        $(form.comment).prop("disabled", true);
-      } else {
-        $(form.close).val($(form.close).data("commentActionText"));
-        $(form.comment).prop("disabled", false);
-      }
+      updateButtons(e.target.form);
     });
 
     content.find("textarea").val("").trigger("input");
@@ -84,6 +82,17 @@ OSM.Note = function (map) {
     if (callback) callback();
   }
 
+  function updateButtons(form) {
+    $(form).find("input[type=submit]").prop("disabled", false);
+    if ($(form.text).val() === "") {
+      $(form.close).val($(form.close).data("defaultActionText"));
+      $(form.comment).prop("disabled", true);
+    } else {
+      $(form.close).val($(form.close).data("commentActionText"));
+      $(form.comment).prop("disabled", false);
+    }
+  }
+
   function moveToNote() {
     var data = $(".details").data();
     if (!data) return;
index e1e0e64fde0b58433a7cd204d570e50410c3ba27..d221ae208eba4880a707d8c82d9c9763961b9bd7 100644 (file)
@@ -58,13 +58,6 @@ L.OSM.Map = L.Map.extend({
     }).prop("outerHTML");
     var tracestrack = I18n.t("javascripts.map.tracestrack_credit", { tracestrack_link: tracestrack_link });
 
-    var memomaps_link = $("<a>", {
-      href: "https://memomaps.de/",
-      target: "_blank",
-      text: I18n.t("javascripts.map.memomaps")
-    }).prop("outerHTML");
-    var memomaps = I18n.t("javascripts.map.opnvkarte_credit", { memomaps_link: memomaps_link });
-
     var hotosm_link = $("<a>", {
       href: "https://www.hotosm.org/",
       target: "_blank",
@@ -116,13 +109,6 @@ L.OSM.Map = L.Map.extend({
       }));
     }
 
-    this.baseLayers.push(new L.OSM.OPNVKarte({
-      attribution: copyright + ". " + memomaps + ". " + terms,
-      code: "O",
-      keyid: "opnvkarte",
-      name: I18n.t("javascripts.map.base.opnvkarte")
-    }));
-
     this.baseLayers.push(new L.OSM.HOT({
       attribution: copyright + ". " + hotosm + ". " + terms,
       code: "H",
index 5accc1a6036fb94ec958eaf8f5c803832ecf3c09..cc86da05ea38365abaaa39a75f7dd25f94007dc6 100644 (file)
@@ -22,6 +22,8 @@ $(document).ready(function () {
     $(".user-button").before(data.inboxanchor);
 
     $("#inbox-count").replaceWith(data.inbox_count);
+    $("#outbox-count").replaceWith(data.outbox_count);
+    $("#muted-count").replaceWith(data.muted_count);
   }
 
   function updateReadState(target, isRead) {
index c3a31d834a51a841d7220b6334c33788e2c9d21b..f0746117d7b53dcd29010e509c1d2225b363835c 100644 (file)
@@ -37,8 +37,7 @@ time[title] {
   vertical-align: top;
   width: 20px;
   height: 20px;
-  background: transparent image-url("sprite.png") no-repeat 0 0;
-  background-image: image-url("sprite.svg");
+  background: transparent image-url("sprite.svg") no-repeat 0 0;
   text-indent: -9999px;
   overflow: hidden;
 }
@@ -563,16 +562,6 @@ header .search_forms,
   display: none;
 }
 
-/* Rules for the map key which appears in the popout sidebar */
-
-#mapkey {
- .mapkey-table-key img {
-    display: block;
-    margin-left: auto;
-    margin-right: auto;
-  }
-}
-
 /* Rules for search sidebar */
 
 #sidebar .search_results_entry {
@@ -656,12 +645,6 @@ tr.turn:hover {
     tr:last-child th, tr:last-child td {
       border-bottom: 0;
     }
-
-    .colour-preview-box {
-      width: 14px;
-      height: 14px;
-      // add color via inline css on element: background-color: <tag value>;
-    }
   }
 
   span.action-button:hover {
index 6db32797adffe5c582a381f8000781ae4090e97e..1f9574b9cbab8313e7cc0e9b7540c85ae5d9f3fe 100644 (file)
@@ -47,6 +47,8 @@ class DiaryEntriesController < ApplicationController
         @title = t ".in_language_title", :language => Language.find(params[:language]).english_name
         entries = entries.where(:language_code => params[:language])
       else
+        candidate_codes = preferred_languages.flat_map(&:candidates).uniq.map(&:to_s)
+        @languages = Language.where(:code => candidate_codes).in_order_of(:code, candidate_codes)
         @title = t ".title"
       end
     end
index adb53b43ba3842d8cd0b3faf5aaa898abde4b213..2ca86fc028dca2dbe9af4c0a8ec14b71665c3ca9 100644 (file)
@@ -47,7 +47,7 @@ class MessagesController < ApplicationController
       render :action => "new"
     elsif @message.save
       flash[:notice] = t ".message_sent"
-      UserMailer.message_notification(@message).deliver_later
+      UserMailer.message_notification(@message).deliver_later if @message.notify_recipient?
       redirect_to :action => :inbox
     else
       @title = t "messages.new.title"
@@ -107,6 +107,13 @@ class MessagesController < ApplicationController
     @title = t ".title"
   end
 
+  # Display the list of muted messages received by the user.
+  def muted
+    @title = t ".title"
+
+    redirect_to inbox_messages_path if current_user.muted_messages.none?
+  end
+
   # Set the message as being read or unread.
   def mark
     @message = Message.where(:recipient => current_user).or(Message.where(:sender => current_user)).find(params[:message_id])
@@ -127,6 +134,23 @@ class MessagesController < ApplicationController
     render :action => "no_such_message", :status => :not_found
   end
 
+  # Moves message into Inbox by unsetting the muted-flag
+  def unmute
+    message = current_user.muted_messages.find(params[:message_id])
+
+    if message.unmute
+      flash[:notice] = t(".notice")
+    else
+      flash[:error] = t(".error")
+    end
+
+    if current_user.muted_messages.none?
+      redirect_to inbox_messages_path
+    else
+      redirect_to muted_messages_path
+    end
+  end
+
   private
 
   ##
diff --git a/app/controllers/old_nodes_controller.rb b/app/controllers/old_nodes_controller.rb
new file mode 100644 (file)
index 0000000..a5b9cf5
--- /dev/null
@@ -0,0 +1,19 @@
+class OldNodesController < ApplicationController
+  layout :map_layout
+
+  before_action :authorize_web
+  before_action :set_locale
+  before_action -> { check_database_readable(:need_api => true) }
+  before_action :require_oauth
+
+  authorize_resource
+
+  around_action :web_timeout
+
+  def show
+    @type = "node"
+    @feature = OldNode.preload(:old_tags, :changeset => [:changeset_tags, :user]).find([params[:id], params[:version]])
+  rescue ActiveRecord::RecordNotFound
+    render :action => "not_found", :status => :not_found
+  end
+end
diff --git a/app/controllers/old_relations_controller.rb b/app/controllers/old_relations_controller.rb
new file mode 100644 (file)
index 0000000..9dda820
--- /dev/null
@@ -0,0 +1,19 @@
+class OldRelationsController < ApplicationController
+  layout :map_layout
+
+  before_action :authorize_web
+  before_action :set_locale
+  before_action -> { check_database_readable(:need_api => true) }
+  before_action :require_oauth
+
+  authorize_resource
+
+  around_action :web_timeout
+
+  def show
+    @type = "relation"
+    @feature = OldRelation.preload(:old_tags, :changeset => [:changeset_tags, :user], :old_members => :member).find([params[:id], params[:version]])
+  rescue ActiveRecord::RecordNotFound
+    render :action => "not_found", :status => :not_found
+  end
+end
diff --git a/app/controllers/old_ways_controller.rb b/app/controllers/old_ways_controller.rb
new file mode 100644 (file)
index 0000000..d18121e
--- /dev/null
@@ -0,0 +1,19 @@
+class OldWaysController < ApplicationController
+  layout :map_layout
+
+  before_action :authorize_web
+  before_action :set_locale
+  before_action -> { check_database_readable(:need_api => true) }
+  before_action :require_oauth
+
+  authorize_resource
+
+  around_action :web_timeout
+
+  def show
+    @type = "way"
+    @feature = OldWay.preload(:old_tags, :changeset => [:changeset_tags, :user], :old_nodes => { :node => [:node_tags, :ways] }).find([params[:id], params[:version]])
+  rescue ActiveRecord::RecordNotFound
+    render :action => "not_found", :status => :not_found
+  end
+end
index 862148b9223548bf1d1aa5a074b37dd21533bcca..3d830c63f7fab352aa47b893a7c3fdfa0d9a9e07 100644 (file)
@@ -50,6 +50,9 @@ class SiteController < ApplicationController
     expires_in 7.days, :public => true
     @key = YAML.load_file(Rails.root.join("config/key.yml"))
     @key.each_value do |layer_data|
+      layer_data.each do |entry|
+        entry["name"] = Array(entry["name"])
+      end
       layer_data.each_cons(2) do |entry, next_entry|
         entry["max_zoom"] = next_entry["min_zoom"] - 1 if entry["name"] == next_entry["name"] && !entry["max_zoom"] && next_entry["min_zoom"]
       end
index 546c8233c65a4d5f4eeb42d97cc76dc0558c1d28..07d0bc43c0bf2e64138a24ad2b0af41cbcf9bb2b 100644 (file)
@@ -8,11 +8,11 @@ class UserBlocksController < ApplicationController
 
   authorize_resource
 
-  before_action :lookup_user, :only => [:new, :create, :blocks_on, :blocks_by]
+  before_action :lookup_user, :only => [:new, :create, :revoke_all, :blocks_on, :blocks_by]
   before_action :lookup_user_block, :only => [:show, :edit, :update, :revoke]
   before_action :require_valid_params, :only => [:create, :update]
   before_action :check_database_readable
-  before_action :check_database_writable, :only => [:create, :update, :revoke]
+  before_action :check_database_writable, :only => [:create, :update, :revoke, :revoke_all]
 
   def index
     @params = params.permit
@@ -39,11 +39,13 @@ class UserBlocksController < ApplicationController
 
   def create
     if @valid_params
+      now = Time.now.utc
       @user_block = UserBlock.new(
         :user => @user,
         :creator => current_user,
         :reason => params[:user_block][:reason],
-        :ends_at => Time.now.utc + @block_period.hours,
+        :created_at => now,
+        :ends_at => now + @block_period.hours,
         :needs_view => params[:user_block][:needs_view]
       )
 
@@ -87,6 +89,16 @@ class UserBlocksController < ApplicationController
     end
   end
 
+  ##
+  # revokes all active blocks
+  def revoke_all
+    if request.post? && params[:confirm]
+      @user.blocks.active.each { |block| block.revoke!(current_user) }
+      flash[:notice] = t ".flash"
+      redirect_to user_blocks_on_path(@user)
+    end
+  end
+
   ##
   # shows a list of all the blocks on the given user
   def blocks_on
diff --git a/app/controllers/user_mutes_controller.rb b/app/controllers/user_mutes_controller.rb
new file mode 100644 (file)
index 0000000..2068ab6
--- /dev/null
@@ -0,0 +1,45 @@
+class UserMutesController < ApplicationController
+  include UserMethods
+
+  layout "site"
+
+  before_action :authorize_web
+  before_action :set_locale
+
+  authorize_resource
+
+  before_action :lookup_user, :only => [:create, :destroy]
+  before_action :check_database_readable
+  before_action :check_database_writable, :only => [:create, :destroy]
+
+  def index
+    @muted_users = current_user.muted_users
+    @title = t ".title"
+
+    redirect_to edit_account_path unless @muted_users.any?
+  end
+
+  def create
+    user_mute = current_user.mutes.build(:subject => @user)
+
+    if user_mute.save
+      flash[:notice] = t(".notice", :name => user_mute.subject.display_name)
+    else
+      flash[:error] = t(".error", :name => user_mute.subject.display_name, :full_message => user_mute.errors.full_messages.to_sentence.humanize)
+    end
+
+    redirect_back_or_to user_mutes_path(current_user)
+  end
+
+  def destroy
+    user_mute = current_user.mutes.find_by!(:subject => @user)
+
+    if user_mute.destroy
+      flash[:notice] = t(".notice", :name => user_mute.subject.display_name)
+    else
+      flash[:error] = t(".error")
+    end
+
+    redirect_back_or_to user_mutes_path(current_user)
+  end
+end
index f79c284e3e499bf6b70475b0380141034032e316..ab13f93bed402541f31e6d470419128b6b29e6d5 100644 (file)
@@ -104,11 +104,11 @@ class UsersController < ApplicationController
         render :action => "new"
       elsif current_user.auth_provider.present?
         # Verify external authenticator before moving on
-        session[:new_user] = current_user.attributes.slice("email", "display_name", "pass_crypt")
+        session[:new_user] = current_user.slice("email", "display_name", "pass_crypt", "pass_crypt_confirmation")
         redirect_to auth_url(current_user.auth_provider, current_user.auth_uid), :status => :temporary_redirect
       else
         # Save the user record
-        session[:new_user] = current_user.attributes.slice("email", "display_name", "pass_crypt")
+        session[:new_user] = current_user.slice("email", "display_name", "pass_crypt", "pass_crypt_confirmation")
         redirect_to :action => :terms
       end
     end
@@ -355,6 +355,8 @@ class UsersController < ApplicationController
                    domain_mx_servers(domain)
                  end
 
+    return true if Acl.allow_account_creation(request.remote_ip, :domain => domain, :mx => mx_servers)
+
     blocked = Acl.no_account_creation(request.remote_ip, :domain => domain, :mx => mx_servers)
 
     blocked ||= SIGNUP_IP_LIMITER && !SIGNUP_IP_LIMITER.allow?(request.remote_ip)
diff --git a/app/helpers/authorization_helper.rb b/app/helpers/authorization_helper.rb
new file mode 100644 (file)
index 0000000..11c8c29
--- /dev/null
@@ -0,0 +1,13 @@
+module AuthorizationHelper
+  include ActionView::Helpers::TranslationHelper
+
+  def authorization_scope(scope)
+    html = []
+    html << t("oauth.scopes.#{scope}")
+    if Oauth::MODERATOR_SCOPES.include? scope
+      html << " "
+      html << image_tag("roles/moderator.png", :srcset => image_path("roles/moderator.svg", :class => "align-text-bottom"), :size => "20x20")
+    end
+    safe_join(html)
+  end
+end
index ffb88b43f0a48b1b4bff5eaa53301be6309f2ea1..bbe4c63b14722793db32e963bb0d5449686695de 100644 (file)
@@ -34,9 +34,13 @@ module BrowseTagsHelper
       end
       safe_join(phones, "; ")
     elsif colour_value = colour_preview(key, value)
-      tag.span("", :class => "colour-preview-box float-end m-1 border border-dark border-opacity-10", :"data-colour" => colour_value, :title => t("browse.tag_details.colour_preview", :colour_value => colour_value)) + colour_value
+      svg = tag.svg :width => 14, :height => 14, :class => "float-end m-1" do
+        concat tag.title t("browse.tag_details.colour_preview", :colour_value => colour_value)
+        concat tag.rect :x => 0.5, :y => 0.5, :width => 13, :height => 13, :fill => colour_value, :stroke => "#2222"
+      end
+      svg + colour_value
     else
-      safe_join(value.split(";").map { |x| linkify(h(x)) }, ";")
+      safe_join(value.split(";", -1).map { |x| linkify(h(x)) }, ";")
     end
   end
 
diff --git a/app/helpers/svg_helper.rb b/app/helpers/svg_helper.rb
new file mode 100644 (file)
index 0000000..9c02fc1
--- /dev/null
@@ -0,0 +1,56 @@
+module SvgHelper
+  def previous_page_svg_tag(**options)
+    adjacent_page_svg_tag(dir == "rtl" ? 1 : -1, **options)
+  end
+
+  def next_page_svg_tag(**options)
+    adjacent_page_svg_tag(dir == "rtl" ? -1 : 1, **options)
+  end
+
+  def key_svg_tag(**options)
+    border_width = options["border"] ? (options["border-width"] || 1) : 0
+    rect_attrs = {
+      :width => "100%",
+      :height => "100%",
+      :fill => options["fill"] || "none"
+    }
+    if border_width.positive?
+      rect_attrs[:x] = rect_attrs[:y] = format("%g", 0.5 * border_width)
+      rect_attrs[:width] = options["width"] - border_width
+      rect_attrs[:height] = options["height"] - border_width
+    end
+    svg_attrs = options.slice("width", "height", "opacity", :class)
+
+    tag.svg(**svg_attrs) do
+      horizontal = "H#{options['width']}"
+      concat tag.rect(**rect_attrs, **stroke_attrs(options, "border")) if options["fill"] || options["border"]
+      if options["line"]
+        y_middle = format("%g", 0.5 * options["height"])
+        concat tag.path(:d => "M0,#{y_middle} #{horizontal}", **stroke_attrs(options, "line"))
+      end
+      if options["casing"]
+        casing_width = options["casing-width"] || 1
+        y_top = format("%g", 0.5 * casing_width)
+        y_bottom = format("%g", options["height"] - (0.5 * casing_width))
+        concat tag.path(:d => "M0,#{y_top} #{horizontal} M0,#{y_bottom} #{horizontal}", **stroke_attrs(options, "casing"))
+      end
+    end
+  end
+
+  private
+
+  # returns "<" shape if side == -1; ">" if side == 1
+  def adjacent_page_svg_tag(side, **options)
+    height = 15
+    pad = 2
+    segment = (0.5 * height) - pad
+    width = segment + (2 * pad)
+    path_data = "M#{side * (pad - (0.5 * width))},#{pad} l#{side * segment},#{segment} l#{-side * segment},#{segment}"
+    path_tag = tag.path :d => path_data, :fill => "none", :stroke => "currentColor", :"stroke-width" => 1.5
+    tag.svg path_tag, :width => width, :height => height, :viewBox => "-#{0.5 * width} 0 #{width} #{height}", :class => options[:class]
+  end
+
+  def stroke_attrs(attrs, prefix)
+    attrs.select { |key| key.start_with?(prefix) }.transform_keys { |key| key.delete_prefix(prefix).prepend("stroke") }
+  end
+end
index 8ca186aad92141dcc235c9d7f1b634b3e93c7c1d..d1ad60b2cad9c1d9aa2aa6ce150bd77999edc3ce 100644 (file)
@@ -44,11 +44,13 @@ class UserMailer < ApplicationMailer
   def gpx_success(trace, possible_points)
     with_recipient_locale trace.user do
       @to_user = trace.user.display_name
+      @trace_url = show_trace_url(trace.user, trace)
       @trace_name = trace.name
       @trace_points = trace.size
       @trace_description = trace.description
       @trace_tags = trace.tags
       @possible_points = possible_points
+      @my_traces_url = url_for(:controller => "traces", :action => "mine")
 
       mail :to => trace.user.email,
            :subject => t(".subject")
index a65c3a35ad68977fe1a1da5f6296c280006145a0..aa503f40c539647dfb9d66aea990b57e6f8c76c6 100644 (file)
@@ -41,6 +41,10 @@ class Acl < ApplicationRecord
     match(address, options).exists?(:k => "no_account_creation")
   end
 
+  def self.allow_account_creation(address, options = {})
+    match(address, options).exists?(:k => "allow_account_creation")
+  end
+
   def self.no_note_comment(address, domain = nil)
     match(address, :domain => domain).exists?(:k => "no_note_comment")
   end
index 8d3e4583fad137db074ed85614a27becdaeaf759..f1d40feeab109fc341c9aae48fa1ea184e63d494 100644 (file)
@@ -26,7 +26,7 @@ class Language < ApplicationRecord
 
   def name
     name = english_name
-    name += " (#{native_name})" unless native_name.nil?
+    name += " (#{native_name})" unless native_name.nil? || native_name == english_name
     name
   end
 end
index 7c12769d3a3e39f081caeb16dd0417a858a0ddc2..665e2d721376b897738691c73cf4a62c0bc3bd4b 100644 (file)
@@ -12,6 +12,7 @@
 #  to_user_visible   :boolean          default(TRUE), not null
 #  from_user_visible :boolean          default(TRUE), not null
 #  body_format       :enum             default("markdown"), not null
+#  muted             :boolean          default(FALSE), not null
 #
 # Indexes
 #
@@ -32,6 +33,10 @@ class Message < ApplicationRecord
   validates :body, :sent_on, :presence => true
   validates :title, :body, :characters => true
 
+  scope :muted, -> { where(:muted => true) }
+
+  before_create :set_muted
+
   def self.from_mail(mail, from, to)
     if mail.multipart?
       if mail.text_part
@@ -65,4 +70,18 @@ class Message < ApplicationRecord
     sha256 << id.to_s
     Base64.urlsafe_encode64(sha256.digest)[0, 8]
   end
+
+  def notify_recipient?
+    !muted?
+  end
+
+  def unmute
+    update(:muted => false)
+  end
+
+  private
+
+  def set_muted
+    self.muted ||= UserMute.active?(:owner => recipient, :subject => sender)
+  end
 end
index 1942a25cc237a784394b91f9ba64c844f36e3309..7faf748cd8afdb5866af50915e8dcd033a8dd2c2 100644 (file)
 #
 # Indexes
 #
-#  users_auth_idx                (auth_provider,auth_uid) UNIQUE
-#  users_display_name_idx        (display_name) UNIQUE
-#  users_display_name_lower_idx  (lower((display_name)::text))
-#  users_email_idx               (email) UNIQUE
-#  users_email_lower_idx         (lower((email)::text))
-#  users_home_idx                (home_tile)
+#  users_auth_idx                    (auth_provider,auth_uid) UNIQUE
+#  users_display_name_canonical_idx  (lower(NORMALIZE(display_name, NFKC)))
+#  users_display_name_idx            (display_name) UNIQUE
+#  users_email_idx                   (email) UNIQUE
+#  users_email_lower_idx             (lower((email)::text))
+#  users_home_idx                    (home_tile)
 #
 
 class User < ApplicationRecord
@@ -51,9 +51,10 @@ class User < ApplicationRecord
   has_many :diary_comments, -> { order(:created_at => :desc) }, :inverse_of => :user
   has_many :diary_entry_subscriptions, :class_name => "DiaryEntrySubscription"
   has_many :diary_subscriptions, :through => :diary_entry_subscriptions, :source => :diary_entry
-  has_many :messages, -> { where(:to_user_visible => true).order(:sent_on => :desc).preload(:sender, :recipient) }, :foreign_key => :to_user_id
-  has_many :new_messages, -> { where(:to_user_visible => true, :message_read => false).order(:sent_on => :desc) }, :class_name => "Message", :foreign_key => :to_user_id
+  has_many :messages, -> { where(:to_user_visible => true, :muted => false).order(:sent_on => :desc).preload(:sender, :recipient) }, :foreign_key => :to_user_id
+  has_many :new_messages, -> { where(:to_user_visible => true, :muted => false, :message_read => false).order(:sent_on => :desc) }, :class_name => "Message", :foreign_key => :to_user_id
   has_many :sent_messages, -> { where(:from_user_visible => true).order(:sent_on => :desc).preload(:sender, :recipient) }, :class_name => "Message", :foreign_key => :from_user_id
+  has_many :muted_messages, -> { where(:to_user_visible => true, :muted => true).order(:sent_on => :desc).preload(:sender, :recipient) }, :class_name => "Message", :foreign_key => :to_user_id
   has_many :friendships, -> { joins(:befriendee).where(:users => { :status => %w[active confirmed] }) }
   has_many :friends, :through => :friendships, :source => :befriendee
   has_many :tokens, :class_name => "UserToken", :dependent => :destroy
@@ -75,6 +76,9 @@ class User < ApplicationRecord
   has_many :blocks_created, :class_name => "UserBlock", :foreign_key => :creator_id, :inverse_of => :creator
   has_many :blocks_revoked, :class_name => "UserBlock", :foreign_key => :revoker_id, :inverse_of => :revoker
 
+  has_many :mutes, -> { order(:created_at => :desc) }, :class_name => "UserMute", :foreign_key => :owner_id, :inverse_of => :owner
+  has_many :muted_users, :through => :mutes, :source => :subject
+
   has_many :roles, :class_name => "UserRole"
 
   has_many :issues, :class_name => "Issue", :foreign_key => :reported_user_id, :inverse_of => :reported_user
@@ -91,10 +95,11 @@ class User < ApplicationRecord
   validates :display_name, :presence => true, :length => 3..255,
                            :exclusion => %w[new terms save confirm confirm-email go_public reset-password forgot-password suspended]
   validates :display_name, :if => proc { |u| u.display_name_changed? },
-                           :uniqueness => { :case_sensitive => false }
+                           :normalized_uniqueness => { :case_sensitive => false }
   validates :display_name, :if => proc { |u| u.display_name_changed? },
                            :characters => { :url_safe => true },
                            :whitespace => { :leading => false, :trailing => false }
+  validate :display_name_cannot_be_user_id_with_other_id, :if => proc { |u| u.display_name_changed? }
   validates :email, :presence => true, :confirmation => true, :characters => true
   validates :email, :if => proc { |u| u.email_changed? },
                     :uniqueness => { :case_sensitive => false }
@@ -115,11 +120,16 @@ class User < ApplicationRecord
 
   alias_attribute :created_at, :creation_time
 
-  after_initialize :encrypt_password
   before_save :encrypt_password
   before_save :update_tile
   after_save :spam_check
 
+  def display_name_cannot_be_user_id_with_other_id
+    display_name&.match(/^user_(\d+)$/i) do |m|
+      errors.add :display_name, I18n.t("activerecord.errors.messages.display_name_is_user_n") unless m[1].to_i == id
+    end
+  end
+
   def to_param
     display_name
   end
@@ -129,7 +139,7 @@ class User < ApplicationRecord
       user = find_by("email = ? OR display_name = ?", options[:username].strip, options[:username])
 
       if user.nil?
-        users = where("LOWER(email) = LOWER(?) OR LOWER(display_name) = LOWER(?)", options[:username].strip, options[:username])
+        users = where("LOWER(email) = LOWER(?) OR LOWER(NORMALIZE(display_name, NFKC)) = LOWER(NORMALIZE(?, NFKC))", options[:username].strip, options[:username])
 
         user = users.first if users.count == 1
       end
diff --git a/app/models/user_mute.rb b/app/models/user_mute.rb
new file mode 100644 (file)
index 0000000..9bee39b
--- /dev/null
@@ -0,0 +1,34 @@
+# == Schema Information
+#
+# Table name: user_mutes
+#
+#  id         :bigint(8)        not null, primary key
+#  owner_id   :bigint(8)        not null
+#  subject_id :bigint(8)        not null
+#  created_at :datetime         not null
+#  updated_at :datetime         not null
+#
+# Indexes
+#
+#  index_user_mutes_on_owner_id_and_subject_id  (owner_id,subject_id) UNIQUE
+#
+# Foreign Keys
+#
+#  fk_rails_...  (owner_id => users.id)
+#  fk_rails_...  (subject_id => users.id)
+#
+class UserMute < ApplicationRecord
+  belongs_to :owner, :class_name => "User"
+  belongs_to :subject, :class_name => "User"
+
+  validates :subject, :uniqueness => { :scope => :owner_id, :message => :is_already_muted }
+
+  def self.active?(owner:, subject:)
+    !subject.administrator? &&
+      !subject.moderator? &&
+      exists?(
+        :owner => owner,
+        :subject => subject
+      )
+  end
+end
diff --git a/app/validators/normalized_uniqueness_validator.rb b/app/validators/normalized_uniqueness_validator.rb
new file mode 100644 (file)
index 0000000..eb3600c
--- /dev/null
@@ -0,0 +1,18 @@
+class NormalizedUniquenessValidator < ActiveModel::EachValidator
+  def validate_each(record, attribute, value)
+    relation = if options.fetch(:case_sensitive, true)
+                 record.class.where("NORMALIZE(#{attribute}, NFKC) = NORMALIZE(?, NFKC)", value)
+               else
+                 record.class.where("LOWER(NORMALIZE(#{attribute}, NFKC)) = LOWER(NORMALIZE(?, NFKC))", value)
+               end
+
+    relation = relation.where.not(record.class.primary_key => [record.id_in_database]) if record.persisted?
+
+    if relation.exists?
+      error_options = options.except(:case_sensitive)
+      error_options[:value] = value
+
+      record.errors.add(attribute, :taken, **error_options)
+    end
+  end
+end
index 9ce9755a2c5f3e452e016f2ce0fb6e6551250c40..8477a11a05af10c542e3b9dd17433be9904d3f64 100644 (file)
     <li class="nav-item">
       <%= link_to t(".oauth2_authorizations"), oauth_authorized_applications_path, :class => "nav-link #{'active' if controller_name == 'oauth2_authorized_applications'}" %>
     </li>
+    <% if current_user.muted_users.any? %>
+      <li class="nav-item">
+        <%= link_to t(".muted_users"), user_mutes_path, :class => "nav-link #{'active' if controller_name == 'user_mutes'}" %>
+      </li>
+    <% end %>
   </ul>
 <% end %>
index 4726799e7342966a5c018d1fe93fbaba4f225825..7d3f8e829c672d3bc0c05ebc1acaf178cfda4e73 100644 (file)
@@ -1,6 +1,6 @@
 <h4>
   <%= t "browse.version" %>
-  #<%= common_details.version %>
+  #<%= link_to_unless_current common_details.version, :controller => "old_#{@type.pluralize}", :action => :show, :version => common_details.version %>
 </h4>
 
 <p class="fst-italic">
@@ -19,7 +19,7 @@
   </li>
   <li>
     <%= t "browse.in_changeset" %>
-    #<%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %>
+    #<%= link_to common_details.changeset_id, changeset_path(common_details.changeset) %>
   </li>
 
   <% if @type == "node" and common_details.visible? %>
@@ -33,4 +33,4 @@
   <% end %>
 </ul>
 
-<%= render :partial => "tag_details", :object => common_details.tags %>
+<%= render :partial => "browse/tag_details", :object => common_details.tags %>
index 152223ae751089822fec7a32395fc9e203af6132..cc8597292d058f3360daef8a77c23af97a2507ba 100644 (file)
@@ -8,7 +8,7 @@
   </div>
 <% else %>
   <div class="browse-section browse-node">
-    <%= render :partial => "common_details", :object => node %>
+    <%= render :partial => "browse/common_details", :object => node %>
 
     <% unless node.ways.empty? and node.containing_relation_members.empty? %>
       <h4><%= t "browse.part_of" %></h4>
@@ -17,7 +17,7 @@
           <summary><%= t "browse.part_of_ways", :count => node.ways.uniq.count %></summary>
           <ul class="list-unstyled">
             <% node.ways.uniq.each do |way| %>
-              <li><%= link_to printable_name(way), { :action => "way", :id => way.id.to_s }, { :class => link_class("way", way), :title => link_title(way) } %></li>
+              <li><%= link_to printable_name(way), way_path(way), { :class => link_class("way", way), :title => link_title(way) } %></li>
             <% end %>
           </ul>
         </details>
@@ -26,7 +26,7 @@
         <details <%= "open" if node.containing_relation_members.count < 10 %>>
           <summary><%= t "browse.part_of_relations", :count => node.containing_relation_members.uniq.count %></summary>
           <ul class="list-unstyled">
-            <%= render :partial => "containing_relation", :collection => node.containing_relation_members.uniq %>
+            <%= render :partial => "browse/containing_relation", :collection => node.containing_relation_members.uniq %>
           </ul>
         </details>
       <% end %>
index 8db40c8c74a954fc797eb9889eb6feac429a93a8..c513ea6d1eba6fd666dfea5c017e268341ec4513 100644 (file)
@@ -8,7 +8,7 @@
   </div>
 <% else %>
   <div class="browse-section browse-relation">
-    <%= render :partial => "common_details", :object => relation %>
+    <%= render :partial => "browse/common_details", :object => relation %>
 
     <% unless relation.containing_relation_members.empty? %>
       <h4><%= t "browse.part_of" %></h4>
@@ -25,7 +25,7 @@
       <details <%= "open" if relation.relation_members.count < 10 %>>
         <summary><%= t ".members_count", :count => relation.relation_members.count %></summary>
         <ul class="list-unstyled">
-          <%= render :partial => "relation_member", :collection => relation.relation_members %>
+          <%= render :partial => "browse/relation_member", :collection => relation.relation_members %>
         </ul>
       </details>
     <% end %>
index 5c96dadaf84d9a31e97cc61c112dcb52ebdf4ad5..5e52c04e89e269ba4183200627e767d79f527c01 100644 (file)
@@ -1,5 +1,5 @@
 <% member_class = link_class(relation_member.member_type.downcase, relation_member.member)
-   linked_name = link_to printable_name(relation_member.member), { :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :title => link_title(relation_member.member), :rel => link_follow(relation_member.member) }
+   linked_name = link_to printable_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :title => link_title(relation_member.member), :rel => link_follow(relation_member.member) }
    type_str = t ".type.#{relation_member.member_type.downcase}" %>
 <li class="<%= member_class %>">
   <%= if relation_member.member_role.blank?
index 9129ddaf5d23df457700f7adb63615340a1ca70f..cc08fe16af7fb76de94d39e6b86d10c2ce9e3f5c 100644 (file)
@@ -2,7 +2,7 @@
   <h4><%= t ".tags" %></h4>
   <div class='mb-3 border border-grey rounded overflow-hidden'>
     <table class='mb-0 browse-tag-list table align-middle text-break'>
-      <%= render :partial => "tag", :collection => tag_details.sort %>
+      <%= render :partial => "browse/tag", :collection => tag_details.sort %>
     </table>
   </div>
 <% end %>
index 4fdcd035ecf5c75296f624d124557531683ce952..26403f3fdcff27a52ed10664e67ac55929ec2320 100644 (file)
@@ -8,7 +8,7 @@
   </div>
 <% else %>
   <div class="browse-section browse-way">
-    <%= render :partial => "common_details", :object => way %>
+    <%= render :partial => "browse/common_details", :object => way %>
 
     <% unless way.containing_relation_members.empty? %>
       <h4><%= t "browse.part_of" %></h4>
         <ul class="list-unstyled">
           <% way.way_nodes.each do |wn| %>
             <li>
-              <%= link_to printable_name(wn.node), { :action => "node", :id => wn.node_id.to_s }, { :class => link_class("node", wn.node), :title => link_title(wn.node), :rel => link_follow(wn.node) } %>
+              <%= link_to printable_name(wn.node), node_path(wn.node), { :class => link_class("node", wn.node), :title => link_title(wn.node), :rel => link_follow(wn.node) } %>
               <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
               <% if related_ways.size > 0 then %>
-                (<%= t ".also_part_of_html", :count => related_ways.size, :related_ways => to_sentence(related_ways.map { |w| link_to(printable_name(w), { :action => "way", :id => w.id.to_s }, { :class => link_class("way", w), :title => link_title(w) }) }) %>)
+                (<%= t ".also_part_of_html", :count => related_ways.size, :related_ways => to_sentence(related_ways.map { |w| link_to(printable_name(w), way_path(w), { :class => link_class("way", w), :title => link_title(w) }) }) %>)
               <% end %>
             </li>
           <% end %>
index 86b9020a209e7b7823bb92361c7d63f666e8d644..3b7c64a8db6caa359e956b947b0c70b913573105 100644 (file)
@@ -4,10 +4,19 @@
 
 <%= render :partial => @type, :object => @feature %>
 
-<div class='secondary-actions'>
-  <% if @feature.visible? %>
+<% if @feature.visible? %>
+  <div class='secondary-actions'>
     <%= link_to(t("browse.download_xml"), :controller => "api/#{@type.pluralize}", :action => :show) %>
+  </div>
+<% end %>
+<div class='secondary-actions'>
+  <% if @feature.version > 1 %>
+    <%= link_to "<< #{t('browse.version')} #1", :controller => "old_#{@type.pluralize}", :action => :show, :version => 1 %>
+    &middot;
+  <% end %>
+    <%= link_to t("browse.view_history"), :action => "#{@type}_history" %>
+  <% if @feature.version > 1 %>
     &middot;
+    <%= link_to "#{t('browse.version')} ##{@feature.version} >>", :controller => "old_#{@type.pluralize}", :action => :show, :version => @feature.version %>
   <% end %>
-  <%= link_to(t("browse.view_history"), :action => "#{@type}_history") %>
 </div>
index ebf8bcb30ec524c9e44260c1ff52b74109b67720..fd1f5ffc5e1781c0dea5d671fe112cb01049bd19 100644 (file)
@@ -2,7 +2,7 @@
 
 <%= render "sidebar_header", :title => t("browse.#{@type}.history_title_html", :name => printable_name(@feature)) %>
 
-<%= render :partial => @type, :collection => @feature.send("old_#{@type}s").reverse %>
+<%= render :partial => @type, :collection => @feature.send(:"old_#{@type}s").reverse %>
 
 <div class='secondary-actions'>
   <%= link_to(t("browse.download_xml"), :controller => "api/old_#{@type.pluralize}", :action => "history") %>
index e464b99b4829d40758fcd7912d1b805c8393de64..78ac0dcf869976bf05d4a020172e1e2c0202b90e 100644 (file)
         <ul class="clearfix">
           <% unless params[:friends] or params[:nearby] -%>
             <li><%= rss_link_to :action => "rss", :language => params[:language] %></li>
-            <% end -%>
+          <% end -%>
 
-            <% if @user && @user == current_user || !@user && current_user %>
-              <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
-            <% end %>
+          <% @languages&.each do |language| %>
+            <li><%= link_to t(".in_language_title", :language => language.name), :action => "index", :language => language.code %></li>
+          <% end %>
 
-            <% if !@user && current_user %>
-              <li><%= link_to t(".my_diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %></li>
-            <% end %>
+          <% if !@user && current_user %>
+            <li><%= link_to t(".my_diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %></li>
+          <% end %>
+
+          <% if @user && @user == current_user || !@user && current_user %>
+            <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
+          <% end %>
         </ul>
       </nav>
     </div>
index 9c5695e0a88558c794a21ce94bb01aefb05e392a..7776d9ee398a89077a3899b1bbe9a79d83ece820 100644 (file)
@@ -7,7 +7,8 @@
       <div class="col">
         <p class="text-muted">
           <%= t ".comment_from_html", :user_link => link_to(comment.user.display_name, user_path(comment.user)),
-                                      :comment_created_at => l(comment.created_at.to_datetime, :format => :friendly) %>
+                                      :comment_created_at => tag.time(l(comment.created_at.to_datetime, :format => :friendly),
+                                                                      :datetime => comment.created_at.xmlschema) %>
         </p>
         <div class="richtext text-break"><%= comment.body.to_html %></div>
       </div>
index d11bca0a9d9c2a10174556276cdb242a0fbabd35..9ef28f1c29007c06664aed58894350b90fcc0081 100644 (file)
@@ -7,7 +7,8 @@
       <p class="text-muted">
         <%= t ".reported_by_html", :category => report.category,
                                    :user => link_to(report.user.display_name, user_path(report.user)),
-                                   :updated_at => l(report.updated_at.to_datetime, :format => :friendly) %>
+                                   :updated_at => tag.time(l(report.updated_at.to_datetime, :format => :friendly),
+                                                           :datetime => report.updated_at.xmlschema) %>
       </p>
       <div class="richtext text-break"><%= report.details.to_html %></div>
     </div>
index 62bd501b74afb2bba2a5aeb59331b9eb43f383e2..e2099f8e6878cab075faf7657940676d408bfb42 100644 (file)
@@ -9,9 +9,20 @@
     <% else %>
       | <%= t ".no_reports" %>
     <% end %>
-    | <%= t ".report_created_at", :datetime => l(@issue.created_at.to_datetime, :format => :friendly) %>
-    <%= " | #{t('.last_resolved_at', :datetime => l(@issue.resolved_at.to_datetime, :format => :friendly))}" if @issue.resolved_at? %>
-    <%= " | #{t('.last_updated_at', :datetime => l(@issue.updated_at.to_datetime, :format => :friendly), :displayname => @issue.user_updated.display_name)}" if @issue.user_updated %>
+      | <%= t ".report_created_at_html",
+              :datetime => tag.time(l(@issue.created_at.to_datetime, :format => :friendly),
+                                    :datetime => @issue.created_at.xmlschema) %>
+    <% if @issue.resolved_at? %>
+      | <%= t ".last_resolved_at_html",
+              :datetime => tag.time(l(@issue.resolved_at.to_datetime, :format => :friendly),
+                                    :datetime => @issue.resolved_at.xmlschema) %>
+    <% end %>
+    <% if @issue.user_updated %>
+      | <%= t ".last_updated_at_html",
+              :datetime => tag.time(l(@issue.updated_at.to_datetime, :format => :friendly),
+                                    :datetime => @issue.updated_at.xmlschema),
+              :displayname => link_to(@issue.user_updated.display_name, user_path(@issue.user_updated)) %>
+    <% end %>
   </small>
 </p>
 <nav class="secondary-actions">
index 55066f25f227e1bee738d23f7763c0895d1d298e..f6a7473a4f6f777d3977a4c4026a19de0efbb12d 100644 (file)
                                        :bytemark => link_to(t("layouts.partners_bytemark"), "https://www.bytemark.co.uk"),
                                        :partners => link_to(t("layouts.partners_partners"), "https://hardware.openstreetmap.org/thanks/") %>
         </p>
-        <div class="d-flex mx-n1">
-          <div class="w-50 px-1">
-            <a class="btn btn-primary w-100" href="<%= about_path %>"><%= t("layouts.learn_more") %></a>
-          </div>
-          <div class="w-50 px-1">
-            <a class="btn btn-primary w-100" href="<%= user_new_path %>"><%= t("layouts.start_mapping") %></a>
-          </div>
+        <div class="d-flex gap-2">
+          <a class="btn btn-primary w-100 d-flex align-items-center justify-content-center" href="<%= about_path %>"><%= t("layouts.learn_more") %></a>
+          <a class="btn btn-primary w-100 d-flex align-items-center justify-content-center" href="<%= user_new_path %>"><%= t("layouts.start_mapping") %></a>
         </div>
       </div>
     <% end %>
diff --git a/app/views/messages/_heading.html.erb b/app/views/messages/_heading.html.erb
new file mode 100644 (file)
index 0000000..90995ed
--- /dev/null
@@ -0,0 +1,18 @@
+<% content_for :heading_class, "pb-0" %>
+
+<% content_for :heading do %>
+  <h1><%= t("users.show.my messages") %></h1>
+  <ul class="nav nav-tabs">
+    <% { ".my_inbox" => inbox_messages_path, ".my_outbox" => outbox_messages_path, ".muted_messages" => muted_messages_path }.each do |i18n_key, path| %>
+    <% next if path == muted_messages_path && current_user.muted_messages.none? %>
+
+    <li class="nav-item">
+      <% if path == active_link_path %>
+        <a class="nav-link active"><%= t(i18n_key) %></a>
+      <% else %>
+        <%= link_to t(i18n_key), path, :class => "nav-link" %>
+      <% end %>
+    </li>
+    <% end %>
+  </ul>
+<% end %>
similarity index 91%
rename from app/views/messages/_message_count.html.erb
rename to app/views/messages/_inbox_count.html.erb
index 33a3b52f3917c400cb1bedbe16e44de4692e66ba..86bb2c474d8bf005e290ce7a5e80a47d3d31ad3d 100644 (file)
@@ -1,7 +1,7 @@
-<p id="inbox-count">
+<h4 id="inbox-count">
 <%= t "messages.inbox.messages",
       :new_messages => t("messages.inbox.new_messages",
                          :count => current_user.new_messages.size),
       :old_messages => t("messages.inbox.old_messages",
                          :count => current_user.messages.size - current_user.new_messages.size) %>
-</p>
+</h4>
index b2a1bc26868e82de84ee3cac44a0357c313a36b2..4a552e83e05479a7d6df58d9cd0f23311c3742ef 100644 (file)
@@ -6,5 +6,8 @@
     <%= button_to t(".unread_button"), message_mark_path(message_summary, :mark => "unread"), :remote => true, :class => "btn btn-sm btn-primary", :form => { :class => "inbox-mark-unread", :hidden => !message_summary.message_read? } %>
     <%= button_to t(".read_button"), message_mark_path(message_summary, :mark => "read"), :remote => true, :class => "btn btn-sm btn-primary", :form => { :class => "inbox-mark-read", :hidden => message_summary.message_read? } %>
     <%= button_to t(".destroy_button"), message_path(message_summary, :referer => request.fullpath), :method => :delete, :remote => true, :class => "btn btn-sm btn-danger", :form_class => "inbox-destroy" %>
+    <% if message_summary.muted? %>
+      <%= button_to t(".unmute_button"), message_unmute_path(message_summary), :method => :patch, :class => "btn btn-sm btn-secondary" %>
+    <% end %>
   </td>
 </tr>
diff --git a/app/views/messages/_messages_table.html.erb b/app/views/messages/_messages_table.html.erb
new file mode 100644 (file)
index 0000000..2e33962
--- /dev/null
@@ -0,0 +1,13 @@
+<table class="table table-sm align-middle">
+  <thead>
+    <tr>
+      <% columns.each do |column| %>
+      <th><%= t ".#{column}" %></th>
+      <% end %>
+      <th class="d-flex justify-content-end"><%= t ".actions" %></th>
+    </tr>
+  </thead>
+  <tbody>
+    <%= render :partial => inner_partial, :collection => messages %>
+  </tbody>
+</table>
diff --git a/app/views/messages/_muted_count.html.erb b/app/views/messages/_muted_count.html.erb
new file mode 100644 (file)
index 0000000..207973d
--- /dev/null
@@ -0,0 +1,3 @@
+<h4 id="muted-count">
+<%= t "messages.muted.messages", :count => current_user.muted_messages.size %>
+</h4>
diff --git a/app/views/messages/_outbox_count.html.erb b/app/views/messages/_outbox_count.html.erb
new file mode 100644 (file)
index 0000000..5b27f1d
--- /dev/null
@@ -0,0 +1,3 @@
+<h4 id="outbox-count">
+<%= t "messages.outbox.messages", :count => current_user.sent_messages.size %>
+</h4>
index 3403ac888e27210467629afc2dba0532c98e4c64..65bfd6a6b70a97d9c5e06107d0ee076ea4e86931 100644 (file)
@@ -1,2 +1,4 @@
 json.inboxanchor render(:partial => "layouts/inbox")
-json.inbox_count render(:partial => "message_count")
+json.inbox_count render(:partial => "inbox_count")
+json.outbox_count render(:partial => "outbox_count")
+json.muted_count render(:partial => "muted_count")
index 54089c34a65ba6cea80c625b0ed7b362b0e7cdcd..4d6be787b93fa5866404c8fc5721afe505382a12 100644 (file)
@@ -2,35 +2,12 @@
   <%= javascript_include_tag "messages" %>
 <% end %>
 
-<% content_for :heading_class, "pb-0" %>
+<%= render :partial => "heading", :locals => { :active_link_path => inbox_messages_path } %>
 
-<% content_for :heading do %>
-  <h1><%= t("users.show.my messages") %></h1>
-  <ul class="nav nav-tabs">
-    <li class="nav-item">
-      <a class="nav-link active"><%= t ".my_inbox" %></a>
-    </li>
-    <li class="nav-item">
-      <%= link_to t(".my_outbox"), outbox_messages_path, :class => "nav-link" %>
-    </li>
-  </ul>
-<% end %>
-
-  <h4><%= render :partial => "message_count" %></h4>
+<%= render :partial => "inbox_count" %>
 
 <% if current_user.messages.size > 0 %>
-  <table class="table table-sm align-middle">
-    <thead>
-      <tr>
-        <th><%= t ".from" %></th>
-        <th><%= t ".subject" %></th>
-        <th><%= t ".date" %></th>
-      </tr>
-    </thead>
-    <tbody>
-        <%= render :partial => "message_summary", :collection => current_user.messages %>
-    </tbody>
-  </table>
+  <%= render :partial => "messages_table", :locals => { :columns => %w[from subject date], :messages => current_user.messages, :inner_partial => "message_summary" } %>
 <% else %>
   <div><%= t(".no_messages_yet_html", :people_mapping_nearby_link => link_to(t(".people_mapping_nearby"), user_path(current_user))) %></div>
 <% end %>
index 3403ac888e27210467629afc2dba0532c98e4c64..65bfd6a6b70a97d9c5e06107d0ee076ea4e86931 100644 (file)
@@ -1,2 +1,4 @@
 json.inboxanchor render(:partial => "layouts/inbox")
-json.inbox_count render(:partial => "message_count")
+json.inbox_count render(:partial => "inbox_count")
+json.outbox_count render(:partial => "outbox_count")
+json.muted_count render(:partial => "muted_count")
diff --git a/app/views/messages/muted.html.erb b/app/views/messages/muted.html.erb
new file mode 100644 (file)
index 0000000..8e97abc
--- /dev/null
@@ -0,0 +1,9 @@
+<% content_for :head do %>
+  <%= javascript_include_tag "messages" %>
+<% end %>
+
+<%= render :partial => "heading", :locals => { :active_link_path => muted_messages_path } %>
+
+<%= render :partial => "muted_count" %>
+
+<%= render :partial => "messages_table", :locals => { :columns => %w[from subject date], :messages => current_user.muted_messages, :inner_partial => "message_summary" } %>
index e246f9292ebb8afaf0161e306b55fb812176f379..65fbaf3261c818aa79613e6b6a3c6b546b69a9b3 100644 (file)
@@ -2,36 +2,12 @@
   <%= javascript_include_tag "messages" %>
 <% end %>
 
-<% content_for :heading_class, "pb-0" %>
+<%= render :partial => "heading", :locals => { :active_link_path => outbox_messages_path } %>
 
-<% content_for :heading do %>
-  <h1><%= t("users.show.my messages") %></h1>
-
-  <ul class="nav nav-tabs">
-    <li class="nav-item">
-      <%= link_to t(".my_inbox"), inbox_messages_path, :class => "nav-link" %>
-    </li>
-    <li class="nav-item">
-      <a class="nav-link active"><%= t ".my_outbox" %></a>
-    </li>
-  </ul>
-<% end %>
-
-<h4><%= t ".messages", :count => current_user.sent_messages.size %></h4>
+<%= render :partial => "outbox_count" %>
 
 <% if current_user.sent_messages.size > 0 %>
-  <table class="table table-sm align-middle">
-    <thead>
-      <tr>
-        <th><%= t ".to" %></th>
-        <th><%= t ".subject" %></th>
-        <th><%= t ".date" %></th>
-      </tr>
-    </thead>
-    <tbody>
-      <%= render :partial => "sent_message_summary", :collection => current_user.sent_messages %>
-    </tbody>
-  </table>
+  <%= render :partial => "messages_table", :locals => { :columns => %w[to subject date], :messages => current_user.sent_messages, :inner_partial => "sent_message_summary" } %>
 <% else %>
   <div class="messages"><%= t(".no_sent_messages_html", :people_mapping_nearby_link => link_to(t(".people_mapping_nearby"), user_path(current_user))) %></div>
 <% end %>
index 4761aac60d95d4cd5de4dfa4f1481f85248e5a7f..f0742280f76e410cc5ebcdc8ab9c9830d7b5e32b 100644 (file)
@@ -22,9 +22,8 @@
     <%= link_to t(".reply_button"), message_reply_path(@message), :class => "btn btn-primary" %>
     <%= link_to t(".unread_button"), message_mark_path(@message, :mark => "unread"), :method => "post", :class => "btn btn-primary" %>
     <%= link_to t(".destroy_button"), message_path(@message), :method => "delete", :class => "btn btn-danger" %>
-    <%= link_to t(".back"), inbox_messages_path, :class => "btn btn-link" %>
   <% else %>
     <%= link_to t(".destroy_button"), message_path(@message), :method => "delete", :class => "btn btn-danger" %>
-    <%= link_to t(".back"), outbox_messages_path, :class => "btn btn-link" %>
   <% end %>
+  <%= link_to t(".back"), :back, :class => "btn btn-link" %>
 </div>
index fda8946b6b18378ce483c53c0bf267963d5f3df2..a7baccf856dec921056d6c40fd8da7a8c75ff685 100644 (file)
@@ -49,6 +49,8 @@
         <div class="mb-3">
           <textarea class="form-control" name="text" cols="40" rows="5" maxlength="2000"></textarea>
         </div>
+        <div id="comment-error" class="alert alert-danger p-2 mb-3" hidden>
+        </div>
         <div class="btn-wrapper">
           <% if current_user.moderator? -%>
             <%= submit_tag t(".hide"), :name => "hide", :class => "btn btn-light",
                                                    :url => comment_api_note_url(@note, "json") } %>
         </div>
       </form>
+    <% else -%>
+      <p>
+        <%= link_to t(".log_in_to_comment"), login_path(:referer => request.fullpath) %>
+      </p>
     <% end -%>
   <% else %>
     <form class="mb-3" action="#">
       <input type="hidden" name="text" value="" autocomplete="off">
+      <div id="comment-error" class="alert alert-danger p-2 mb-3" hidden>
+      </div>
       <div class="btn-wrapper">
         <% if @note.status != "hidden" and current_user and current_user.moderator? -%>
           <input type="submit" name="hide" value="<%= t(".hide") %>" class="btn btn-light" data-method="DELETE" data-url="<%= api_note_url(@note, "json") %>">
index 564fa81ebf33ad83ce07f55b2d8af173de932466..57e852182941301acd09cb75543270dc149a406b 100644 (file)
@@ -10,7 +10,7 @@
   <td class="align-middle">
     <ul class="list-unstyled mb-0">
       <% application.scopes.each do |scope| -%>
-        <li><%= t "oauth.scopes.#{scope}" %> <code class="text-muted">(<%= scope %>)</code></li>
+        <li><%= authorization_scope(scope) %> <code class="text-muted">(<%= scope %>)</code></li>
       <% end -%>
     </ul>
   </td>
index ac9c7c6c598404131f12fc790444d43b6b21fa36..8720bf05a6461bee51d96a9ec83ccc154e5dde24 100644 (file)
@@ -6,7 +6,7 @@
 
 <ul>
   <% @pre_auth.scopes.each do |scope| -%>
-    <li><%= t "oauth.scopes.#{scope}" %></li>
+    <li><%= authorization_scope(scope) %></li>
   <% end -%>
 </ul>
 
index 8abbb26ed8bb46e83e7830d7d2c97f3f979a96b8..28d048c4a098a727d7f289aec84c61ebce69cd6e 100644 (file)
@@ -5,7 +5,7 @@
   <td class="align-middle">
     <ul class="list-unstyled mb-0">
       <% application.authorized_scopes_for(current_user).each do |scope| -%>
-        <li><%= t "oauth.scopes.#{scope}" %></li>
+        <li><%= authorization_scope(scope) %></li>
       <% end -%>
     </ul>
   </td>
diff --git a/app/views/old_nodes/not_found.html.erb b/app/views/old_nodes/not_found.html.erb
new file mode 100644 (file)
index 0000000..1ee5d9d
--- /dev/null
@@ -0,0 +1,7 @@
+<% set_title(t("browse.not_found.title")) %>
+
+<%= render "sidebar_header", :title => t("browse.not_found.title") %>
+
+<div>
+  <p><%= t ".sorry", :id => params[:id], :version => params[:version] %></p>
+</div>
diff --git a/app/views/old_nodes/show.html.erb b/app/views/old_nodes/show.html.erb
new file mode 100644 (file)
index 0000000..b69c297
--- /dev/null
@@ -0,0 +1,25 @@
+<% set_title t("browse.node.title_html", :name => printable_name(@feature)) %>
+
+<%= render "sidebar_header", :title => t("browse.node.title_html", :name => printable_name(@feature)) %>
+
+<%= render :partial => "browse/node", :object => @feature %>
+
+<div class='secondary-actions'>
+  <% unless @feature.redacted? %>
+    <%= link_to t("browse.download_xml"), node_version_path(*@feature.id) %>
+    &middot;
+  <% end %>
+  <%= link_to t("browse.view_details"), node_path(@feature.node_id) %>
+</div>
+
+<div class='secondary-actions'>
+  <% if @feature.version > 1 %>
+    <%= link_to "<< #{t('browse.version')} ##{@feature.version - 1}", old_node_path(@feature.node_id, @feature.version - 1) %>
+    &middot;
+  <% end %>
+  <%= link_to t("browse.view_history"), node_history_path(@feature.node_id) %>
+  <% if @feature.version < @feature.current_node.version %>
+    &middot;
+    <%= link_to "#{t('browse.version')} ##{@feature.version + 1} >>", old_node_path(@feature.node_id, @feature.version + 1) %>
+  <% end %>
+</div>
diff --git a/app/views/old_relations/not_found.html.erb b/app/views/old_relations/not_found.html.erb
new file mode 100644 (file)
index 0000000..1ee5d9d
--- /dev/null
@@ -0,0 +1,7 @@
+<% set_title(t("browse.not_found.title")) %>
+
+<%= render "sidebar_header", :title => t("browse.not_found.title") %>
+
+<div>
+  <p><%= t ".sorry", :id => params[:id], :version => params[:version] %></p>
+</div>
diff --git a/app/views/old_relations/show.html.erb b/app/views/old_relations/show.html.erb
new file mode 100644 (file)
index 0000000..29d0b00
--- /dev/null
@@ -0,0 +1,25 @@
+<% set_title t("browse.relation.title_html", :name => printable_name(@feature)) %>
+
+<%= render "sidebar_header", :title => t("browse.relation.title_html", :name => printable_name(@feature)) %>
+
+<%= render :partial => "browse/relation", :object => @feature %>
+
+<div class='secondary-actions'>
+  <% unless @feature.redacted? %>
+    <%= link_to t("browse.download_xml"), relation_version_path(*@feature.id) %>
+    &middot;
+  <% end %>
+  <%= link_to t("browse.view_details"), relation_path(@feature.relation_id) %>
+</div>
+
+<div class='secondary-actions'>
+  <% if @feature.version > 1 %>
+    <%= link_to "<< #{t('browse.version')} ##{@feature.version - 1}", old_relation_path(@feature.relation_id, @feature.version - 1) %>
+    &middot;
+  <% end %>
+  <%= link_to t("browse.view_history"), relation_history_path(@feature.relation_id) %>
+  <% if @feature.version < @feature.current_relation.version %>
+    &middot;
+    <%= link_to "#{t('browse.version')} ##{@feature.version + 1} >>", old_relation_path(@feature.relation_id, @feature.version + 1) %>
+  <% end %>
+</div>
diff --git a/app/views/old_ways/not_found.html.erb b/app/views/old_ways/not_found.html.erb
new file mode 100644 (file)
index 0000000..1ee5d9d
--- /dev/null
@@ -0,0 +1,7 @@
+<% set_title(t("browse.not_found.title")) %>
+
+<%= render "sidebar_header", :title => t("browse.not_found.title") %>
+
+<div>
+  <p><%= t ".sorry", :id => params[:id], :version => params[:version] %></p>
+</div>
diff --git a/app/views/old_ways/show.html.erb b/app/views/old_ways/show.html.erb
new file mode 100644 (file)
index 0000000..e9976dd
--- /dev/null
@@ -0,0 +1,25 @@
+<% set_title t("browse.way.title_html", :name => printable_name(@feature)) %>
+
+<%= render "sidebar_header", :title => t("browse.way.title_html", :name => printable_name(@feature)) %>
+
+<%= render :partial => "browse/way", :object => @feature %>
+
+<div class='secondary-actions'>
+  <% unless @feature.redacted? %>
+    <%= link_to t("browse.download_xml"), way_version_path(*@feature.id) %>
+    &middot;
+  <% end %>
+  <%= link_to t("browse.view_details"), way_path(@feature.way_id) %>
+</div>
+
+<div class='secondary-actions'>
+  <% if @feature.version > 1 %>
+    <%= link_to "<< #{t('browse.version')} ##{@feature.version - 1}", old_way_path(@feature.way_id, @feature.version - 1) %>
+    &middot;
+  <% end %>
+  <%= link_to t("browse.view_history"), way_history_path(@feature.way_id) %>
+  <% if @feature.version < @feature.current_way.version %>
+    &middot;
+    <%= link_to "#{t('browse.version')} ##{@feature.version + 1} >>", old_way_path(@feature.way_id, @feature.version + 1) %>
+  <% end %>
+</div>
index 3bf4cde5f83e59d4323f6b9334ea1a88603639b9..f15430efa554627f3b9a9dcf708818a40b6ee656 100644 (file)
@@ -40,7 +40,7 @@
         <div id='login_openid_url' class="mb-3">
           <label for='openid_url' class="form-label"><%= t ".openid_html", :logo => openid_logo %></label>
           <%= hidden_field_tag("referer", params[:referer], :autocomplete => "off") %>
-          <%= text_field_tag("openid_url", "", :tabindex => 3, :autocomplete => "on", :class => "openid_url form-control") %>
+          <%= text_field_tag("openid_url", "", :tabindex => 5, :autocomplete => "on", :class => "openid_url form-control") %>
           <span class="form-text text-muted">(<a href="<%= t "accounts.edit.openid.link" %>" target="_new"><%= t "accounts.edit.openid.link text" %></a>)</span>
         </div>
 
index 9097c9d9174c162b55cfddea5f37bc95e2fb6bf7..d2576bfcc959d81580cac5730f3159d039104fa6 100644 (file)
@@ -18,4 +18,7 @@
 
   <dt><%= t ".image" %></dt>
   <dd>![<%= t ".alt" %>](<%= t ".url" %>)</dd>
+
+  <dt><%= t ".codeblock" %></dt>
+  <dd>~~~<br><%= t ".codeblock" %><br>~~~</dd>
 </dl>
index fbb9dcf43321ccfc11abbdbd4771732942c451be..3a60003626725b7c7ae8a88fc40f159c293d8089 100644 (file)
@@ -1,22 +1,31 @@
 <nav>
+  <% link_class = "page-link d-flex align-items-center gap-2 text-center" %>
   <ul class="pagination">
+    <% newer_link_content = capture do %>
+      <%= previous_page_svg_tag :class => "flex-shrink-0 d-none d-sm-block" %>
+      <%= t(newer_key) %>
+    <% end %>
     <% if newer_id -%>
-      <li class="page-item">
-        <%= link_to t(newer_key), @params.merge(:before => nil, :after => newer_id), :class => "page-link" %>
+      <li class="page-item d-flex">
+        <%= link_to newer_link_content, @params.merge(:before => nil, :after => newer_id), :class => link_class %>
       </li>
     <% else -%>
-      <li class="page-item disabled">
-        <span class="page-link"><%= t(newer_key) %></span>
+      <li class="page-item d-flex disabled">
+        <%= tag.span newer_link_content, :class => link_class %>
       </li>
     <% end -%>
 
+    <% older_link_content = capture do %>
+      <%= t(older_key) %>
+      <%= next_page_svg_tag :class => "flex-shrink-0 d-none d-sm-block" %>
+    <% end %>
     <% if older_id -%>
-      <li class="page-item">
-        <%= link_to t(older_key), @params.merge(:before => older_id, :after => nil), :class => "page-link" %>
+      <li class="page-item d-flex">
+        <%= link_to older_link_content, @params.merge(:before => older_id, :after => nil), :class => link_class %>
       </li>
     <% else -%>
-      <li class="page-item disabled">
-        <span class="page-link"><%= t(older_key) %></span>
+      <li class="page-item d-flex disabled">
+        <%= tag.span older_link_content, :class => link_class %>
       </li>
     <% end -%>
   </ul>
index 60eff9a445d6ace0a15af81cec00414575fd48d6..82105097e7b409eaffc16f7e1a9bb8f5e25f2784 100644 (file)
@@ -1,17 +1,17 @@
 <div id="mapkey">
-  <table class="table table-sm table-borderless mapkey-table mb-0">
+  <table class="table table-sm table-borderless mb-0 align-middle">
     <% @key.each do |layer_name, layer_data| %>
       <% layer_data.each do |entry| %>
         <%= tag.tr :class => "mapkey-table-entry", :data => { :layer => layer_name, :zoom_min => entry["min_zoom"], :zoom_max => entry["max_zoom"] } do %>
-          <td class="mapkey-table-key align-middle">
-            <% if entry["width"] && entry["height"] && entry["fill"] %>
-              <%= image_tag "data:image/svg+xml,#{u("<svg xmlns='http://www.w3.org/2000/svg' width='#{entry['width']}' height='#{entry['height']}'><rect width='100%' height='100%' fill='#{entry['fill']}' /></svg>")}" %>
+          <td>
+            <% if entry["image"] %>
+              <%= image_tag "key/#{layer_name}/#{entry['image']}", :class => "d-block mx-auto" %>
             <% else %>
-              <%= image_tag "key/#{layer_name}/#{entry['image']}" %>
+              <%= key_svg_tag :class => "d-block mx-auto", **entry %>
             <% end %>
           </td>
-          <td class="mapkey-table-value">
-            <%= Array(t(".table.entry.#{entry['name']}")).to_sentence %>
+          <td>
+            <%= entry["name"].map { |feature_name| t ".table.entry.#{feature_name}" }.join(" · ") %>
           </td>
         <% end %>
       <% end %>
diff --git a/app/views/user_blocks/revoke_all.html.erb b/app/views/user_blocks/revoke_all.html.erb
new file mode 100644 (file)
index 0000000..7fef69b
--- /dev/null
@@ -0,0 +1,27 @@
+<% @title = t ".title",
+              :block_on => @user.display_name %>
+
+<% content_for :heading do %>
+  <h1><%= t ".heading_html",
+            :block_on => link_to(@user.display_name,
+                                 user_path(@user)) %></h1>
+<% end %>
+
+<% unless @user.blocks.active.empty? %>
+
+  <%= bootstrap_form_for :revoke_all, :url => { :action => "revoke_all" } do |f| %>
+    <div class="mb-3">
+      <div class="form-check">
+        <%= check_box_tag "confirm", "yes", false, { :class => "form-check-input" } %>
+        <%= label_tag "confirm", t(".confirm",
+                                   :active_blocks => t(".active_blocks",
+                                                       :count => @user.blocks.active.count)), { :class => "form-check-label" } %>
+      </div>
+    </div>
+
+    <%= f.primary t(".revoke") %>
+  <% end %>
+
+<% else %>
+<p><%= t ".empty", :name => @user.display_name %></p>
+<% end %>
index 50fcd69600ff05d966de48f29318df88619113ae..85b4c7cae1c0e9f198a69d75128e722f42a09dac 100644 (file)
@@ -1,7 +1,8 @@
 <% trace_name = tag.strong(@trace_name) %>
+<% trace_name = link_to(trace_name, @trace_url) if @trace_url %>
 <% trace_description = tag.em(@trace_description) %>
 <% if @trace_tags.length > 0 %>
-  <% tags = @trace_tags.map(&:tag).join(" ") %>
+  <% tags = safe_join @trace_tags.map { |trace_tag| tag.em trace_tag.tag }, ", " %>
   <%= t ".description_with_tags_html", :trace_name => trace_name, :trace_description => trace_description, :tags => tags %>
 <% else %>
   <%= t ".description_with_no_tags_html", :trace_name => trace_name, :trace_description => trace_description %>
index ad60408bd8c2d68663a7d39ce37e0bc1ab58d2d1..4354db20afa708ca0e8753577e54bb83acf3cabd 100644 (file)
@@ -4,3 +4,7 @@
   <%= render :partial => "gpx_description" %>
   <%= t(".loaded", :trace_points => @trace_points, :count => @possible_points) %>
 </p>
+
+<p>
+  <%= t ".all_your_traces_html", :url => link_to(@my_traces_url, @my_traces_url) %>
+</p>
diff --git a/app/views/user_mutes/index.html.erb b/app/views/user_mutes/index.html.erb
new file mode 100644 (file)
index 0000000..cf9e7ed
--- /dev/null
@@ -0,0 +1,38 @@
+<% content_for :heading do %>
+  <h1><%= t ".my_muted_users" %></h1>
+<% end %>
+
+<%= render :partial => "settings_menu" %>
+
+<h4>
+  <%= t ".you_have_muted_n_users", :count => @muted_users.size %>
+</h4>
+<p>
+  <%= t ".user_mute_explainer" %>
+  <em><%= t ".user_mute_admins_and_moderators" %></em>
+</p>
+
+<% if @muted_users.any? %>
+  <table class="table">
+    <thead>
+      <tr>
+        <th><%= t ".table.thead.muted_user" %></th>
+        <th class="d-flex justify-content-end"><%= t ".table.thead.actions" %></th>
+      </tr>
+    </thead>
+    <tbody>
+      <% @muted_users.each do |user| %>
+        <tr>
+          <td>
+            <%= user_thumbnail_tiny user %>
+            <%= link_to user.display_name, user_path(user) %>
+          </td>
+          <td class="text-nowrap text-end">
+            <%= link_to t(".table.tbody.unmute"), user_mute_path(user), :method => :delete, :class => "btn btn-sm btn-primary" %>
+            <%= link_to t(".table.tbody.send_message"), new_message_path(user), :class => "btn btn-sm btn-secondary" %>
+          </td>
+        </tr>
+      <% end %>
+    </tbody>
+  </table>
+<% end %>
index 81fda926b7a081b333add6d07f6d3aaa87989668..253945b9b6d2529d1cbc344453c257f924dcdd7f 100644 (file)
               </li>
             <% end %>
 
+            <% if can?(:revoke_all, UserBlock) and @user.blocks.active.exists? %>
+              <li>
+                <%= link_to t(".revoke_all_blocks"), revoke_all_user_blocks_path(@user) %>
+              </li>
+            <% end %>
+
             <% if can?(:create, UserBlock) %>
               <li>
                 <%= link_to t(".create_block"), new_user_block_path(@user) %>
                 <%= report_link(t(".report"), @user) %>
               </li>
             <% end %>
+
+            <% if current_user and UserMute.exists?(owner: current_user, subject: @user) %>
+              <li>
+              <%= link_to t(".destroy_mute"), user_mute_path(@user), :method => :delete %>
+              </li>
+            <% elsif current_user %>
+              <li>
+              <%= link_to t(".create_mute"), user_mute_path(@user), :method => :post, :title => t("user_mutes.index.user_mute_explainer") %>
+              </li>
+            <% end %>
           </ul>
         </nav>
       <% end %>
index e568c854052cb177b6f3cf69537ed47df17bbb6a..4517e8adfb611d8d073041274321212ff95bf6e1 100644 (file)
@@ -35,6 +35,8 @@ module OpenStreetMap
     # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
     # the I18n.default_locale when a translation cannot be found).
     config.i18n.fallbacks = true
+    # Enables custom error message formats
+    config.active_model.i18n_customize_full_message = true
 
     # Use logstash for logging if required
     if Settings.key?(:logstash_path)
index 778b5b827aff877439565a0a322ddc1809f28678..60f155139f72f2c5310843fafeed24d707b1fe8f 100644 (file)
@@ -7,7 +7,7 @@ csp_policy = {
   :form_action => %w['self'],
   :frame_ancestors => %w['self'],
   :frame_src => %w['self'],
-  :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tileserver.memomaps.de tile.tracestrack.com *.openstreetmap.fr],
+  :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tile.tracestrack.com *.openstreetmap.fr],
   :manifest_src => %w['self'],
   :media_src => %w['none'],
   :object_src => %w['self'],
index 5ee24e9137428bdf3efc7c181a9a8d253f388e44..a78dbb282b482a28db3f4fd81fea6ec9430c3612 100644 (file)
 mapnik:
-  # transportation
-  - { min_zoom: 6, max_zoom: 19, name: motorway, image: motorway.png }
-  - { min_zoom: 6, max_zoom: 7, name: main_road, image: mainroad.png }
-  - { min_zoom: 8, max_zoom: 11, name: main_road, image: mainroad8.png }
-  - { min_zoom: 12, max_zoom: 19, name: main_road, image: mainroad12.png }
-  - { min_zoom: 13, max_zoom: 19, name: track, image: track.png }
-  - { min_zoom: 13, max_zoom: 19, name: bridleway, image: bridleway.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway, image: cycleway.png }
-  - { min_zoom: 13, max_zoom: 19, name: footway, image: footway.png }
-  - { min_zoom: 8, max_zoom: 11, name: rail, image: rail.png }
-  - { min_zoom: 12, max_zoom: 19, name: rail, image: rail12.png }
-  - { min_zoom: 13, max_zoom: 19, name: subway, image: subway.png }
-  - { min_zoom: 13, max_zoom: 19, name: tram, image: tram.png }
-  - { min_zoom: 12, max_zoom: 19, name: cable, image: cable.png }
-  - { min_zoom: 11, max_zoom: 19, name: runway, image: runway.png }
-  - { min_zoom: 12, max_zoom: 19, name: apron, image: apron.png }
+  # transportation: roads.mss
+  - { min_zoom:  6, name: motorway, width: 52, height:  1, line: "#e66e89", line-width: 1 }
+  - { min_zoom:  7, name: motorway, width: 52, height:  3, line: "#e66e89", line-width: 1.5 }
+  - { min_zoom:  9, name: motorway, width: 52, height:  2, line: "#e66e89", line-width: 2 }
+  - { min_zoom: 12, name: motorway, width: 52, height:  5, fill: "#e892a2", casing: "#dc2a67", casing-width: 0.5 }
+  - { min_zoom: 15, name: motorway, width: 52, height: 10, fill: "#e892a2", casing: "#dc2a67" }
+  - { min_zoom:  6, name: main_road, width: 52, height: 3, line: "#f6967a", line-width: 1 }
+  - { min_zoom:  7, name: main_road, width: 52, height: 3, line: "#f6967a", line-width: 1.25 }
+  - { min_zoom:  8, name: main_road, image: mainroad8.svg }
+  - { min_zoom:  9, name: main_road, image: mainroad9.svg }
+  - { min_zoom: 12, name: main_road, image: mainroad12.svg }
+  - { min_zoom: 15, name: main_road, image: mainroad15.svg }
+  - { min_zoom: 13, name: track, width: 52, height: 3, opacity: .8, line: "#996600", line-width: 1.5, line-dasharray: "6 5" }
+  - { min_zoom: 13, name: bridleway, width: 52, height: 3, line: green, line-width: 1.25, line-dasharray: "4 2" }
+  - { min_zoom: 13, name: cycleway, width: 52, height: 1, line: blue, line-dasharray: "3 3.5" }
+  - { min_zoom: 13, name: footway, width: 52, height: 3, line: salmon, line-width: 1.3, line-dasharray: "3 3.5" }
+  - { min_zoom:  8, name: rail, width: 52, height: 1, fill: "#787878" }
+  - { min_zoom: 12, name: rail, width: 52, height: 3, fill: "#707070", line: white, line-dasharray: 8, line-dashoffset: 2 }
+  - { min_zoom: 18, name: rail, width: 52, height: 4, fill: "#707070", line: white, line-dasharray: 8, line-dashoffset: 2, line-width: 2 }
+  - { min_zoom: 12, name: subway, width: 52, height: 2, fill: "#999" }
+  - { min_zoom:  8, name: light_rail, width: 52, height: 1, fill: "#ccc" }
+  - { min_zoom: 10, name: light_rail, width: 52, height: 1, fill: "#aaa" }
+  - { min_zoom: 13, name: light_rail, width: 52, height: 2, fill: "#666" }
+  - { min_zoom: 12, name: tram, width: 52, height: 1, line: "#6e6e6e", line-width: 0.75 }
+  - { min_zoom: 14, name: tram, width: 52, height: 3, line: "#6e6e6e", line-width: 1 }
+  - { min_zoom: 15, name: tram, width: 52, height: 3, line: "#6e6e6e", line-width: 1.5 }
+  - { min_zoom: 17, name: tram, width: 52, height: 2, line: "#6e6e6e", line-width: 2 }
+  - { min_zoom: 12, name: [cable_car, chair_lift], image: cable.png }
+  - { min_zoom: 11, name: [runway, taxiway], image: runway11.svg }
+  - { min_zoom: 12, name: [runway, taxiway], image: runway12.svg }
+  - { min_zoom: 13, name: [runway, taxiway], image: runway13.svg }
+  - { min_zoom: 14, name: [runway, taxiway], image: runway14.svg }
+  - { min_zoom: 11, name: apron, width: 26, height: 10, fill: "#dadae0" } # landcover.mss
   # administrative boundaries: admin.mss
   - { name: admin, width: 52, height: 2, fill: "#8d618b88" }
+  # places: placenames.mss
+  - { min_zoom: 4, max_zoom: 6, name: capital, image: capital4.svg }
+  - { min_zoom: 7, max_zoom: 7, name: capital, image: capital7.svg }
+  - { min_zoom: 4, max_zoom: 5, name: city, image: city4.svg }
+  - { min_zoom: 6, max_zoom: 7, name: city, image: city6.svg }
   # landcover z5: landcover.mss, water.mss
-  - { name: lake, width: 26, height: 10, fill: "#aad3df" }
-  - { min_zoom: 5, max_zoom: 9, name: glacier, image: glacier5.svg }
-  - { min_zoom: 10, name: glacier, image: glacier10.svg }
-  - { min_zoom: 5, max_zoom: 11, name: forest, width: 26, height: 10, fill: "#bddab1" }
-  - { min_zoom: 12, name: forest, width: 26, height: 10, fill: "#add19e" }
-  - { min_zoom: 5, max_zoom: 11, name: orchard, width: 26, height: 10, fill: "#bee5b5" }
-  - { min_zoom: 12, name: orchard, width: 26, height: 10, fill: "#aedfa3" }
-  - { min_zoom: 5, max_zoom: 11, name: grass, width: 26, height: 10, fill: "#d7efc0" }
-  - { min_zoom: 12, name: grass, width: 26, height: 10, fill: "#cdebb0" }
-  - { min_zoom: 5, max_zoom: 11, name: farmland, width: 26, height: 10, fill: "#f1f3dd" }
+  - { name: [lake, reservoir], width: 26, height: 10, fill: "#aad3df" }
+  - { name: intermittent_water, image: intermittent_water.svg }
+  - { min_zoom:  5, name: glacier, width: 26, height: 10, fill: "#ddecec", border: "#9cf" }
+  - { min_zoom: 10, name: glacier, width: 26, height: 10, fill: "#ddecec", border: "#9cf", border-dasharray: "4 2" }
+  - { min_zoom: 10, name: reef, image: reef.png }
+  - { min_zoom: 10, name: wetland, image: wetland.png }
+  - { min_zoom:  5, name: [forest, wood], width: 26, height: 10, fill: "#bddab1" }
+  - { min_zoom: 12, name: [forest, wood], width: 26, height: 10, fill: "#add19e" }
+  - { min_zoom:  5, name: [orchard, vineyard], width: 26, height: 10, fill: "#bee5b5" }
+  - { min_zoom: 12, name: [orchard, vineyard], width: 26, height: 10, fill: "#aedfa3" }
+  - { min_zoom:  5, name: [grass, meadow], width: 26, height: 10, fill: "#d7efc0" }
+  - { min_zoom: 12, name: [grass, meadow], width: 26, height: 10, fill: "#cdebb0" }
+  - { min_zoom:  5, name: farmland, width: 26, height: 10, fill: "#f1f3dd" }
   - { min_zoom: 12, name: farmland, width: 26, height: 10, fill: "#eef0d5" }
-  - { min_zoom: 5, max_zoom: 11, name: heathland, width: 26, height: 10, fill: "#dee1b2" }
+  - { min_zoom:  5, name: heathland, width: 26, height: 10, fill: "#dee1b2" }
   - { min_zoom: 12, name: heathland, width: 26, height: 10, fill: "#d6d99f" }
-  - { min_zoom: 5, max_zoom: 11, name: scrubland, width: 26, height: 10, fill: "#d3dfbc" }
+  - { min_zoom:  5, name: scrubland, width: 26, height: 10, fill: "#d3dfbc" }
   - { min_zoom: 12, name: scrubland, width: 26, height: 10, fill: "#c8d7ab" }
-  - { min_zoom: 5, max_zoom: 11, name: bare_rock, width: 26, height: 10, fill: "#f1eae3" }
+  - { min_zoom:  5, name: bare_rock, width: 26, height: 10, fill: "#f1eae3" }
   - { min_zoom: 12, name: bare_rock, width: 26, height: 10, fill: "#eee5dc" }
-  - { min_zoom: 5, max_zoom: 11, name: sand, width: 26, height: 10, fill: "#f7edd1" }
+  - { min_zoom:  5, name: sand, width: 26, height: 10, fill: "#f7edd1" }
   - { min_zoom: 12, name: sand, width: 26, height: 10, fill: "#f5e9c6" }
   # landuse z8, z10: landcover.mss
   - { min_zoom: 10, name: park, width: 26, height: 10, fill: "#c8facc" }
   - { min_zoom: 10, name: golf, width: 26, height: 10, fill: "#def6c0" }
-  - { min_zoom: 8, max_zoom: 11, name: built_up, width: 26, height: 10, fill: "#d9d9d9" }
+  - { min_zoom:  8, name: built_up, width: 26, height: 10, fill: "#d9d9d9" }
   - { min_zoom: 12, max_zoom: 12, name: built_up, width: 26, height: 10, fill: "#dddddd" }
   - { min_zoom: 13, name: resident, width: 26, height: 10, fill: "#e0dfdf" }
   - { min_zoom: 13, name: retail, width: 26, height: 10, fill: "#ffd6d1" }
   - { min_zoom: 13, name: commercial, width: 26, height: 10, fill: "#f2dad9" }
   - { min_zoom: 13, name: industrial, width: 26, height: 10, fill: "#ebdbe8" }
-  - { min_zoom: 10, max_zoom: 11, name: farm, width: 26, height: 10, fill: "#f7e3c8" }
+  - { min_zoom: 10, name: farm, width: 26, height: 10, fill: "#f7e3c8" }
   - { min_zoom: 12, name: farm, width: 26, height: 10, fill: "#f5dcba" }
-  - { min_zoom: 10, max_zoom: 11, name: brownfield, width: 26, height: 10, fill: "#d2d2c3" }
+  - { min_zoom: 10, name: brownfield, width: 26, height: 10, fill: "#d2d2c3" }
   - { min_zoom: 12, name: brownfield, width: 26, height: 10, fill: "#c7c7b4" }
-  - { min_zoom: 10, max_zoom: 11, name: cemetery, width: 26, height: 10, fill: "#bbd5be" }
+  - { min_zoom: 10, name: cemetery, width: 26, height: 10, fill: "#bbd5be" }
   - { min_zoom: 12, name: cemetery, width: 26, height: 10, fill: "#aacbaf" }
-  - { min_zoom: 10, max_zoom: 11, name: allotments, width: 26, height: 10, fill: "#d4e6cc" }
+  - { min_zoom: 10, name: allotments, width: 26, height: 10, fill: "#d4e6cc" }
   - { min_zoom: 12, name: allotments, width: 26, height: 10, fill: "#c9e1bf" }
   - { min_zoom: 11, name: pitch, width: 26, height: 10, fill: "#88e0be" }
   - { min_zoom: 11, name: centre, width: 26, height: 10, fill: "#dffce2" }
   - { min_zoom: 10, name: reserve, image: reserve.svg } # admin.mss
-  - { min_zoom: 8, name: military, image: military.svg }
+  - { min_zoom:  8, name: military, image: military.svg }
+  - { min_zoom: 13, name: [school, university, hospital], image: school.svg }
+  # buildings: buildings.mss
+  - { min_zoom: 14, name: building, width: 10, height: 10, fill: "#ab9793" }
+  - { min_zoom: 15, name: building, width: 10, height: 10, fill: "#b9a99c", border: "#a99a8d" }
+  - { min_zoom: 16, name: building, width: 10, height: 10, fill: "#c4b6ab", border: "#a99a8d" }
+  # stations: stations.mss
+  - { min_zoom: 12, name: station, width: 4, height: 4, fill: "#7981b0" }
+  - { min_zoom: 13, name: station, width: 6, height: 6, fill: "#7981b0" }
+  - { min_zoom: 15, name: station, width: 9, height: 9, fill: "#7981b0" }
   # other
-  - { min_zoom: 12, max_zoom: 19, name: school, image: school.png }
-  - { min_zoom: 12, max_zoom: 19, name: building, image: building.png }
-  - { min_zoom: 12, max_zoom: 19, name: station, image: station.png }
-  - { min_zoom: 11, max_zoom: 19, name: summit, image: summit.png }
-  - { min_zoom: 12, max_zoom: 19, name: tunnel, image: tunnel.png }
-  - { min_zoom: 13, max_zoom: 19, name: bridge, image: bridge.png }
-  - { min_zoom: 15, max_zoom: 19, name: private, image: private.png }
-  - { min_zoom: 15, max_zoom: 19, name: destination, image: destination.png }
-  - { min_zoom: 12, max_zoom: 19, name: construction, image: construction.png }
+  - { min_zoom: 11, name: [summit, peak], image: summit.svg } # amenity-points.mss
+  - { min_zoom: 13, name: tunnel, width: 50, height: 5, casing: grey, casing-dasharray: "4 2", casing-dashoffset: 1 } # roads.mss
+  - { min_zoom: 13, name: bridge, width: 50, height: 5, casing: black } # roads.mss
+  - { min_zoom: 15, name: private, image: private.png }
+  - { min_zoom: 15, name: destination, image: destination.png }
+  - { min_zoom: 12, name: construction, image: construction.png }
 cyclemap:
-  - { min_zoom: 0, max_zoom: 11, name: motorway, image: motorway.png }
-  - { min_zoom: 12, max_zoom: 19, name: motorway, image: motorway12.png }
-  - { min_zoom: 0, max_zoom: 11, name: trunk, image: trunk.png }
-  - { min_zoom: 12, max_zoom: 19, name: trunk, image: trunk12.png }
-  - { min_zoom: 7, max_zoom: 11, name: primary, image: primary.png }
-  - { min_zoom: 12, max_zoom: 19, name: primary, image: primary12.png }
-  - { min_zoom: 9, max_zoom: 11, name: secondary, image: secondary.png }
-  - { min_zoom: 12, max_zoom: 19, name: secondary, image: secondary12.png }
-  - { min_zoom: 13, max_zoom: 19, name: track, image: track.png }
-  - { min_zoom: 8, max_zoom: 19, name: cycleway, image: cycleway.png }
-  - { min_zoom: 5, max_zoom: 12, name: cycleway_national, image: cycleway_national.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway_national, image: cycleway_national13.png }
-  - { min_zoom: 5, max_zoom: 12, name: cycleway_regional, image: cycleway_regional.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway_regional, image: cycleway_regional13.png }
-  - { min_zoom: 8, max_zoom: 12, name: cycleway_local, image: cycleway_local.png }
-  - { min_zoom: 13, max_zoom: 19, name: cycleway_local, image: cycleway_local13.png }
-  - { min_zoom: 13, max_zoom: 19, name: footway, image: footway.png }
-  - { min_zoom: 7, max_zoom: 13, name: rail, image: rail.png }
-  - { min_zoom: 14, max_zoom: 19, name: rail, image: rail14.png }
-  - { min_zoom: 9, max_zoom: 19, name: forest, image: forest.png }
-  - { min_zoom: 10, max_zoom: 19, name: common, image: common.png }
-  - { min_zoom: 7, max_zoom: 19, name: lake, image: lake.png }
-  - { min_zoom: 14, max_zoom: 19, name: bicycle_shop, image: bicycle_shop.png }
-  - { min_zoom: 14, max_zoom: 19, name: bicycle_parking, image: bicycle_parking.png }
-  - { min_zoom: 16, max_zoom: 19, name: toilets, image: toilets.png }
+  - { min_zoom:  5, name: motorway, width: 50, height: 2, fill: "#9a9ab1" }
+  - { min_zoom:  9, name: motorway, width: 50, height: 3, fill: "#9a9ab1" }
+  - { min_zoom: 12, name: motorway, width: 50, height: 5, fill: "#bdbece", casing: "#8d95a7" }
+  - { min_zoom: 13, name: motorway, width: 50, height: 9, fill: "#bdbece", casing: "#8d95a7" }
+  - { min_zoom:  6, name: trunk, width: 50, height: 2, fill: "#c8d8c8" }
+  - { min_zoom: 12, name: trunk, width: 50, height: 4, fill: "#c8d8c8", casing: "#abb5a4" }
+  - { min_zoom: 13, name: trunk, width: 50, height: 8, fill: "#c8d8c8", casing: "#abb5a4" }
+  - { min_zoom:  8, name: primary, width: 50, height: 2, fill: "#d8c8c8" }
+  - { min_zoom: 12, name: primary, width: 50, height: 4, fill: "#f0e3e3", casing: "#d4b6b7" }
+  - { min_zoom: 13, name: primary, width: 50, height: 8, fill: "#f0e3e3", casing: "#d4b6b7" }
+  - { min_zoom: 10, name: secondary, width: 50, height: 1, fill: "#dadacc" }
+  - { min_zoom: 12, name: secondary, width: 50, height: 4, fill: "#ededc8", casing: "#c8b48a" }
+  - { min_zoom: 13, name: secondary, width: 50, height: 7, fill: "#ededc8", casing: "#c8b48a" }
+  - { min_zoom: 15, name: pedestrian, width: 50, height: 6, fill: "#e2e3e2", casing: "#9a9a9a" }
+  - { min_zoom: 13, name: track, width: 50, height: 3, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
+  - { min_zoom: 15, name: track, width: 50, height: 4, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
+  - { min_zoom: 17, name: track, width: 50, height: 5, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
+  - { min_zoom: 13, name: bridleway, width: 52, height: 3, line: green, line-width: 1.5, line-dasharray: "4 2" }
+  - { min_zoom:  8, name: cycleway, width: 50, height: 3, line: "#0100fe", line-width: 1.5, line-dasharray: "6 2" }
+  - { min_zoom:  5, name: cycleway_national, width: 50, height:  2, fill: "#fe0000" }
+  - { min_zoom: 12, name: cycleway_national, width: 50, height:  3, fill: "#fe0000" }
+  - { min_zoom: 13, name: cycleway_national, width: 50, height: 12, fill: "#ffb3b3" }
+  - { min_zoom:  7, name: cycleway_regional, width: 50, height:  2, fill: "#b638fb" }
+  - { min_zoom: 12, name: cycleway_regional, width: 50, height:  3, fill: "#b638fb" }
+  - { min_zoom: 13, name: cycleway_regional, width: 50, height: 10, fill: "#ddb5d9" }
+  - { min_zoom:  8, name: cycleway_local, width: 50, height: 2, fill: "#0100fe" }
+  - { min_zoom: 12, name: cycleway_local, width: 50, height: 3, fill: "#0100fe" }
+  - { min_zoom: 13, name: cycleway_local, width: 50, height: 8, fill: "#b2b2ff" }
+  - { min_zoom: 10, name: cycleway_mtb, width: 50, height: 2, fill: "#ff7b1c" }
+  - { min_zoom: 13, name: cycleway_mtb, width: 50, height: 6, fill: "#fbcaa3" }
+  - { min_zoom: 13, name: footway, width: 50, height: 3, line: "#bd6d6e", line-width: 1.5, line-dasharray: "6 2" }
+  - { min_zoom:  7, name: rail, width: 50, height: 3, line: "#999999", line-width: 1.5 }
+  - { min_zoom: 14, name: rail, width: 50, height: 4, fill: "#999999", line: white, line-dasharray: 4, line-width: 2 }
+  - { min_zoom:  1, name: [lake, reservoir], width: 26, height: 10, fill: "#addeff" }
+  - { min_zoom:  9, name: [forest, wood], width: 26, height: 10, fill: "#b3d6a4" }
+  - { min_zoom: 10, name: meadow, width: 26, height: 10, fill: "#c0de9c" }
+  - { min_zoom: 10, name: park, width: 26, height: 10, fill: "#cbe4c4" }
+  - { min_zoom: 10, name: common, width: 26, height: 10, fill: "#d4f0d1" }
+  - { min_zoom: 10, name: heathland, width: 26, height: 10, fill: "#eaf0d6" }
+  - { min_zoom: 11, max_zoom: 13, name: resident, width: 26, height: 10, fill: "#e2e2e2" }
+  - { min_zoom: 11, name: industrial, width: 26, height: 10, fill: "#f1dede" }
+  - { min_zoom: 11, name: allotments, width: 26, height: 10, fill: "#d7d7b1" }
+  - { min_zoom: 12, name: cemetery, width: 26, height: 10, fill: "#abcfb1" }
+  - { min_zoom: 12, name: pitch, width: 26, height: 10, fill: "#ade0c5" }
+  - { min_zoom: 13, name: centre, width: 26, height: 10, fill: "#b4e9cd" }
+  - { min_zoom: 13, name: beach, image: beach.png }
+  - { min_zoom: 13, name: [school, university], width: 26, height: 10, fill: "#f0f0d8" }
+  - { min_zoom: 14, name: bicycle_shop, image: bicycle_shop.png }
+  - { min_zoom: 15, name: bicycle_rental, image: bicycle_rental_small.svg }
+  - { min_zoom: 17, name: bicycle_rental, image: bicycle_rental.png }
+  - { min_zoom: 15, name: bicycle_parking, image: bicycle_parking.png }
+  - { min_zoom: 16, name: bicycle_parking_small, image: bicycle_parking_small.svg }
+  - { min_zoom: 16, name: toilets, image: toilets.png }
 opnvkarte:
   - { min_zoom:  6, name: rail, width: 52, height: 1, fill: "#868686" }
   - { min_zoom:  8, name: rail, width: 52, height: 2, fill: "#868686" }
-  - { min_zoom: 11, name: rail, image: rail11.svg }
-  - { min_zoom: 15, name: rail, image: rail15.svg }
+  - { min_zoom: 11, name: rail, width: 52, height: 3, fill: "#868686", line: "#eeeeee", line-dasharray: 10, line-dashoffset: 9 }
+  - { min_zoom: 15, name: rail, width: 52, height: 4, fill: "#868686", line: "#eeeeee", line-dasharray: 10, line-dashoffset: 9, line-width: 2 }
   - { min_zoom: 17, name: rail, image: rail17.svg }
   - { min_zoom:  6, name: train, width: 52, height:  2, fill: "#ffc366" }
   - { min_zoom: 10, name: train, width: 52, height:  3, fill: "#ffc366" }
@@ -109,10 +168,10 @@ opnvkarte:
   - { min_zoom: 12, name: light_rail, width: 52, height:  4, fill: "#66ff66" }
   - { min_zoom: 14, name: light_rail, width: 52, height:  8, fill: "#66ff66" }
   - { min_zoom: 16, name: light_rail, width: 52, height: 10, fill: "#66ff66" }
-  - { min_zoom: 10, name: tram_only, width: 52, height:  3, fill: "#3333fe" }
-  - { min_zoom: 12, name: tram_only, width: 52, height:  4, fill: "#3333fe" }
-  - { min_zoom: 14, name: tram_only, width: 52, height:  8, fill: "#3333fe" }
-  - { min_zoom: 16, name: tram_only, width: 52, height: 10, fill: "#3333fe" }
+  - { min_zoom: 10, name: tram, width: 52, height:  3, fill: "#3333fe" }
+  - { min_zoom: 12, name: tram, width: 52, height:  4, fill: "#3333fe" }
+  - { min_zoom: 14, name: tram, width: 52, height:  8, fill: "#3333fe" }
+  - { min_zoom: 16, name: tram, width: 52, height: 10, fill: "#3333fe" }
   - { min_zoom: 10, name: subway, width: 52, height:  3, fill: "#33339f" }
   - { min_zoom: 12, name: subway, width: 52, height:  4, fill: "#33339f" }
   - { min_zoom: 14, name: subway, width: 52, height:  8, fill: "#33339f" }
@@ -132,3 +191,19 @@ opnvkarte:
   - { min_zoom: 15, name: bus_stop, image: bus_stop15.svg }
   - { min_zoom: 13, name: stop, image: stop13.svg }
   - { min_zoom: 15, name: stop, image: stop15.svg }
+  - { min_zoom:  8, name: motorway, width: 52, height:  4, fill: "#dddddd", casing: "#6d6d6d" }
+  - { min_zoom: 13, name: motorway, width: 52, height:  8, fill: "#dddddd", casing: "#6d6d6d" }
+  - { min_zoom: 15, name: motorway, width: 52, height: 13, fill: "#dddddd", casing: "#6d6d6d", line: "#ffffff", line-dasharray: 12, line-dashoffset: 4 }
+  - { min_zoom: 17, name: motorway, width: 52, height: 17, fill: "#dddddd", casing: "#6d6d6d", line: "#ffffff", line-dasharray: 12, line-dashoffset: 4, casing-width: 2 }
+  - { min_zoom:  8, name: main_road, width: 52, height:  1, fill: "#5c6d6d88" }
+  - { min_zoom: 11, name: main_road, width: 52, height:  4, fill: "#dddddd", casing: "#a1968b" }
+  - { min_zoom: 13, name: main_road, width: 52, height:  8, fill: "#dddddd", casing: "#a1968b" }
+  - { min_zoom: 15, name: main_road, width: 52, height: 13, fill: "#dddddd", casing: "#a1968b" }
+  - { min_zoom: 17, name: main_road, width: 52, height: 17, fill: "#dddddd", casing: "#a1968b" }
+  # landcover
+  - { min_zoom:  0, name: [lake, reservoir], width: 26, height: 10, fill: "#a1cbea" }
+  - { min_zoom:  8, name: [lake, reservoir], width: 26, height: 10, fill: "#bfd3ef" }
+  - { min_zoom:  4, name: [forest, wood], width: 26, height: 10, fill: "#b9c5a3" }
+  - { min_zoom:  4, name: built_up, width: 26, height: 10, fill: "#d8d8d8" }
+  - { min_zoom:  9, name: farmland, width: 26, height: 10, fill: "#eae8d6" }
+  - { min_zoom: 12, name: [park, allotments], width: 26, height: 10, fill: "#c2d89a" }
index d3c6fc01b2da12ff174d812945c8c482c732e805..7c128bdd30cf6658fdfd557a86d05644759b6f60 100644 (file)
@@ -1306,9 +1306,9 @@ af:
         resolved: Opgelos
     show:
       title: '%{status} Probleem #%{issue_id}'
-      report_created_at: Eerste vermelding op %{datetime}
-      last_resolved_at: Laas geregmaak op %{datetime}
-      last_updated_at: Laaste opgedateer op %{datetime} deur %{displayname}
+      report_created_at_html: Eerste vermelding op %{datetime}
+      last_resolved_at_html: Laas geregmaak op %{datetime}
+      last_updated_at_html: Laaste opgedateer op %{datetime} deur %{displayname}
       resolve: Los op
       ignore: Ignoreer
       reopen: Heropen
@@ -1478,14 +1478,14 @@ af:
   messages:
     inbox:
       title: In-vakkie
-      my_inbox: My in-vakkie
-      my_outbox: My uit-vakkie
-      from: Van
-      subject: Onderwerp
-      date: Datum
       no_messages_yet_html: U het nog geen boodskappe nie. Waarom tree u nie met sommige
         van die %{people_mapping_nearby_link} in verbinding nie?
       people_mapping_nearby: nabygeleë karteerders
+    messages_table:
+      from: Van
+      to: Aan
+      subject: Onderwerp
+      date: Datum
     message_summary:
       unread_button: Merk as ongelees
       read_button: Merk as gelees
@@ -1502,11 +1502,6 @@ af:
       heading: Geen so 'n boodskap nie
     outbox:
       title: Uit-vakkie
-      my_inbox: My in-vakkie
-      my_outbox: My uit-vakkie
-      to: Aan
-      subject: Onderwerp
-      date: Datum
       no_sent_messages_html: U het nog geen boodskappe gestuur nie. Waarom tree u
         nie met sommige van die %{people_mapping_nearby_link} in verbinding nie?
       people_mapping_nearby: nabygeleë karteerders
@@ -1518,22 +1513,27 @@ af:
       back: Terug
     sent_message_summary:
       destroy_button: Skrap
+    heading:
+      my_inbox: My in-vakkie
+      my_outbox: My uit-vakkie
     mark:
       as_read: Boodskap as gelees gemerk
       as_unread: Boodskap as ongelees gemerk
     destroy:
       destroyed: Boodskap is verwyder
   passwords:
-    lost_password:
+    new:
       title: Wagwoord verloor
       heading: Wagwoord vergeet?
       email address: 'E-posadres:'
       new password button: Herstel wagwoord
+    create:
       notice email cannot find: E-posadres is ongelukkig onverkrygbaar, jammer.
-    reset_password:
+    edit:
       title: Herstel wagwoord
       heading: Herstel wagwoord vir %{user}
       reset: Herstel wagwoord
+    update:
       flash changed: U wagwoord is gewysig.
   preferences:
     show:
@@ -1639,12 +1639,7 @@ af:
       anon_edits_link_text: Lees waarom dit so is.
     export:
       title: Voer Uit
-      area_to_export: Area om uit te voer
       manually_select: Kies self 'n ander area
-      format_to_export: Formaat om uit te voer
-      osm_xml_data: OpenStreetMap XML-data
-      map_image: Kaartbeeld (wys standaardlaag)
-      embeddable_html: Versteekbare HTML-kode
       licence: Lisensie
       too_large:
         advice: 'As die uitvoering hierbo misluk, oorweeg gerus een van die volgende
@@ -1654,17 +1649,6 @@ af:
           hieronder aan om massas data af te laai.
         planet:
           title: Planeet OSM
-      options: Voorkeure
-      format: Formaat
-      scale: Skaal
-      max: maksimum
-      image_size: Beeldgrootte
-      zoom: Vergroot
-      add_marker: Plaas 'n merker op die kaart
-      latitude: 'Breedte:'
-      longitude: 'Lengte:'
-      output: Uitset
-      paste_html: Plak HTML om in die webblad te versteek
       export_button: Voer uit
     fixthemap:
       title: Rapporteer 'n probleem / Corrigeer die kaart
@@ -1719,34 +1703,24 @@ af:
           footway: Voetpad
           rail: Spoorweg
           subway: Ondergrondse spoorweg
-          tram:
-          - Ligte spoor
-          - trem
-          cable:
-          - Sweefspoor
-          - stoelhyser
-          runway:
-          - Aanloopbaan
-          - vliegtuigrybaan
-          apron:
-          - Lughaweplatform
-          - terminaal
+          cable_car: Sweefspoor
+          chair_lift: stoelhyser
+          runway: Aanloopbaan
+          taxiway: vliegtuigrybaan
+          apron: Lughaweplatform
           admin: Administratiewe grens
           forest: Woud
           wood: Bos
           golf: Gholfbaan
           park: Park
+          common: Gemeen
           resident: Woongebied
-          common:
-          - Gemeen
-          - weiland
           retail: Kleinhandel-gebied
           industrial: Nywerheidsgebied
           commercial: Handelsgebied
           heathland: Heide
-          lake:
-          - Meer
-          - reservoir
+          lake: Meer
+          reservoir: reservoir
           farm: Plaas
           brownfield: Braakveldterrein
           cemetery: Begraafplaas
@@ -1755,14 +1729,12 @@ af:
           centre: Sportsentrum
           reserve: Natuurreservaat
           military: Militêre gebied
-          school:
-          - Skool
-          - universiteit
+          school: Skool
+          university: universiteit
           building: Betekenisvolle gebou
           station: Spoorwegstasie
-          summit:
-          - Piek
-          - piek
+          summit: Piek
+          peak: piek
           tunnel: Strepieomhulsel = tonnel
           bridge: Swart omhulsel = brug
           private: Privaat toegang
index a367ef62eae643e5f809513b785aa5770323b316..bab97d647dc3e7a5bc2e6be86a3e63b6e38f4643 100644 (file)
@@ -723,13 +723,14 @@ aln:
   messages:
     inbox:
       title: Inbox
-      my_inbox: postë e mia
-      from: Prej
-      subject: Tema
-      date: Data
       no_messages_yet_html: Ju nuk keni asnjë mesazh. Pse nuk po llidheni me disa
         prej %{people_mapping_nearby_link}?
       people_mapping_nearby: njerëzit pranë hartës
+    messages_table:
+      from: Prej
+      to: Te
+      subject: Tema
+      date: Data
     message_summary:
       unread_button: Bone si të palexume
       read_button: Bone si të lexume
@@ -749,9 +750,6 @@ aln:
       body: Me na fal por nuk ka asnjë mesazh me at id.
     outbox:
       title: Dalje
-      to: Te
-      subject: Titulli
-      date: Data
       no_sent_messages_html: Ju nuk keni dërgu asnjë mesazh. Pse nuk po llidheni me
         disa prej %{people_mapping_nearby_link}?
       people_mapping_nearby: njerëzit pranë hartës
@@ -768,28 +766,32 @@ aln:
         atë mesazh.
     sent_message_summary:
       destroy_button: Fshij
+    heading:
+      my_inbox: postë e mia
     mark:
       as_read: Mesazhi u bo si i lexum
       as_unread: Mesazhi u bo si i palexum
     destroy:
       destroyed: Mesazhi u fshi
   passwords:
-    lost_password:
+    new:
       title: T'ka hup fjalkalimi
       heading: Ke harrue fjalkalimin?
       email address: 'Email Adresa:'
       new password button: Ndrysho fjalkalimin
       help_text: Shkrueje email adresen që je regjistrue me to, do t'ju deromi një
         lidhe rreth ksaj ku ju muni me ndrru fjalkalimin
+    create:
       notice email on way: Na vjen keq që e keni hup :-( po ni email ka me ju ardh
         së shpejti edhe muni me ricaktu.
       notice email cannot find: Smujtëm me gjet qat email adres, na vjen keq.
-    reset_password:
+    edit:
       title: Ricakto fjalëkalimin
       heading: Ricakto fjalëkalimin për %{user}
       reset: Ricakto Fjalëkalimin
-      flash changed: Fjalëkalimi juaj u ndryshua.
       flash token bad: Sun e gjetëm qat token, kontrolloje URL?
+    update:
+      flash changed: Fjalëkalimi juaj u ndryshua.
   profiles:
     edit:
       image: 'Imazhi:'
@@ -867,26 +869,11 @@ aln:
       user_page_link: faqe përdorues
       anon_edits_link_text: Find out pse kjo është e rastit.
     export:
-      area_to_export: Zona për Eksport
       manually_select: Manualisht zgedhe ni zon te ndryshme
-      format_to_export: Formati për Eksport
-      osm_xml_data: OpenStreetMap XML të dhana
-      embeddable_html: HTML e trupzueshme
       licence: Licensa
       too_large:
         body: Kjo zonë është shum e madhe që të eksportohet si XML në OpenStreetMap.
           Të lutna afroje ma ngat ose mere një zonë ma të vogel.
-      options: Opcionet
-      format: Formati
-      scale: Shkallë
-      max: maks
-      image_size: Madhsia e Imazhit
-      zoom: Zmadho
-      add_marker: Shto ni shenues en harte
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Outputi
-      paste_html: Fute HTML për me ngjit në web sajt
       export_button: Eksporto
     sidebar:
       search_results: Rezultatet e Kërkimit
@@ -910,34 +897,24 @@ aln:
           footway: Këmbësore
           rail: Hekurudhor
           subway: Metro
-          tram:
-          - hekurudhor Lehta
-          - tramvaj
-          cable:
-          - teleferik
-          - heqë karrige
-          runway:
-          - Aeroporti i pistës
-          - taxiway
-          apron:
-          - aeroportit Aeroporti
-          - terminal
+          cable_car: teleferik
+          chair_lift: heqë karrige
+          runway: Aeroporti i pistës
+          taxiway: taxiway
+          apron: aeroportit Aeroporti
           admin: kufitare administrative
           forest: Pyll
           wood: Druri
           golf: fushë e golfit
           park: Park
+          common: I përbashkët
           resident: Zonë Rezidenciale
-          common:
-          - I përbashkët
-          - livadh
           retail: zonë me pakicë
           industrial: Zonë Industriale
           commercial: Zona Tregtare
           heathland: Heathland
-          lake:
-          - Liqe
-          - rezervuar
+          lake: Liqe
+          reservoir: rezervuar
           farm: Ferm
           brownfield: site Brownfield
           cemetery: Varrezë
@@ -946,14 +923,12 @@ aln:
           centre: Qendër Sportive
           reserve: rezervë Natyra
           military: Zonë Ushtarake
-          school:
-          - Shkollë
-          - universitet
+          school: Shkollë
+          university: universitet
           building: ndërtimin e rëndësishme
           station: Stacion hekurudhor
-          summit:
-          - Samiti i
-          - pik
+          summit: Samiti i
+          peak: pik
           tunnel: tunel zorrë thye =
           bridge: Shtresë e jashtme e Zi = urë
           private: qasje privat
index 43196a2b5ef670de637c0fe9650fe22bb6cf2ffb..ebf499d961e1027ceec88792ed4c31ca77e6b02c 100644 (file)
@@ -17,6 +17,7 @@
 # Author: FiberAhmed
 # Author: Gravitystorm
 # Author: Grille chompa
+# Author: Hanzo64
 # Author: HitomiAkane
 # Author: Houcinee1
 # Author: Hubaishan
@@ -1480,9 +1481,9 @@ ar:
         few: '%{count} تقرير'
         many: '%{count} تقارير'
         other: '%{count} تقرير'
-      report_created_at: أول بلاغ تم في %{datetime}
-      last_resolved_at: آخر حل تم في %{datetime}
-      last_updated_at: آخر تحديث تم في %{datetime} بواسطة %{displayname}
+      report_created_at_html: أول بلاغ تم في %{datetime}
+      last_resolved_at_html: آخر حل تم في %{datetime}
+      last_updated_at_html: آخر تحديث تم في %{datetime} بواسطة %{displayname}
       resolve: حل
       ignore: تجاهل
       reopen: إعادة فتح
@@ -1750,8 +1751,6 @@ ar:
   messages:
     inbox:
       title: الوارد
-      my_inbox: الوارد
-      my_outbox: صندوق الصادر الخاص بي
       messages: لديك %{new_messages} و%{old_messages}
       new_messages:
         one: '%{count} رسالة جديدة'
@@ -1759,11 +1758,14 @@ ar:
       old_messages:
         one: '%{count} رسالة قديمة'
         other: '%{count} رسائل قديمة'
+      no_messages_yet_html: ليست لديك رسائل بعد، لماذا لا تقوم بالاتصال ببعض %{people_mapping_nearby_link}؟
+      people_mapping_nearby: مخططون في جواري
+    messages_table:
       from: من
+      to: إلى
       subject: الموضوع
       date: التاريخ
-      no_messages_yet_html: ليست لديك رسائل بعد، لماذا لا تقوم بالاتصال ببعض %{people_mapping_nearby_link}؟
-      people_mapping_nearby: مخططون في جواري
+      actions: الإجراءات
     message_summary:
       unread_button: التعليم كغير مقروءة
       read_button: التعليم كمقروءة
@@ -1783,17 +1785,15 @@ ar:
       body: عذرًا لا توجد رسالة بذلك المعرف.
     outbox:
       title: صندوق الصادر
-      my_inbox: صندوق البريد الوارد الخاص بي
-      my_outbox: صندوق البريد الصادر الخاص بي
+      actions: الإجراءات
       messages:
         one: لديك %{count} رسالة مبعوثة
         other: لديك %{count} رسائل مبعوثة
-      to: إلى
-      subject: الموضوع
-      date: التاريخ
       no_sent_messages_html: ليست لديك رسائل مرسلة بعد، لماذا لا تقوم بالاتصال ببعض
         %{people_mapping_nearby_link}؟
       people_mapping_nearby: مخططون في جواري
+    muted:
+      title: الرسائل المخفية
     reply:
       wrong_user: "\uFEFFأنت مسجل للدخول باسم '%{user}' ولكن الرسالة التي طلبت الرد
         عليها لم تكن مرسلة لذلك المستخدم؛ يُرجَى تسجيل الدخول كمستخدم صحيح للرد."
@@ -1807,28 +1807,35 @@ ar:
         لم تكن من أو إلى ذلك المستخدم؛ يُرجَى تسجيل الدخول كمستخدم صحيح للرد."
     sent_message_summary:
       destroy_button: حذف
+    heading:
+      my_inbox: الوارد
+      my_outbox: صندوق الصادر الخاص بي
     mark:
       as_read: عُلِّمت الرسالة كمقروءة
       as_unread: عُلِّمت الرسالة كغير مقروءة
+    unmute:
+      error: لم يتم نقل الرسالة إلى صندوق البريد
     destroy:
       destroyed: حُذِفت الرسالة
   passwords:
-    lost_password:
+    new:
       title: نسيان كلمة السر
       heading: أنسيت كلمة السر؟
       email address: 'عنوان البريد الإلكتروني:'
       new password button: أعد ضبط كلمة السر
       help_text: أدخل عنوان البريد الإلكتروني الذي استخدمته للتسجيل، وسوف نرسل عليه
         رابطا يمكنك استخدامه لإعادة تعيين كلمة المرور.
+    create:
       notice email on way: نأسف لأنك أضعتها :-( ولكن هناك رسالة إلكترونية في طريقها
         إليك ستمكنك من إعادة تعيينها قريبًا.
       notice email cannot find: معذرةً، تعذر إيجاد عنوان البريد الإلكتروني.
-    reset_password:
+    edit:
       title: إعادة ضبط كلمة السر
       heading: إعادة تعيين كلمة السر %{user}
       reset: أعد ضبط كلمة السر
-      flash changed: كلمة مرورك قد تغيرت.
       flash token bad: لم نجد هذا النموذج، تحقق من المسار ربما؟
+    update:
+      flash changed: كلمة مرورك قد تغيرت.
   preferences:
     show:
       title: تفضيلاتي
@@ -2087,12 +2094,7 @@ ar:
         الميزة.
     export:
       title: صدِّر
-      area_to_export: المنطقة المطلوب تصديرها
       manually_select: اختر يدويًا منطقة أخرى
-      format_to_export: الهيئة المطلوب تصديرها
-      osm_xml_data: بيانات خريطة الشارع المفتوحة بصيغة XML
-      map_image: صورة الخريطة (عرض الطبقة الإفتراضية)
-      embeddable_html: HTML مضمن
       licence: الرخصة
       too_large:
         advice: 'إذا فشل التصدير أعلاه، فكِّر من فضلك باستخدام أحد المصادر الموضَّحة
@@ -2112,17 +2114,6 @@ ar:
         other:
           title: مصادر أخرى
           description: مصادر إضافية مدرجة في الويكي خريطة الشارع المفتوحة
-      options: خيارات
-      format: الصيغة
-      scale: القياس
-      max: الأقصى
-      image_size: حجم الصورة
-      zoom: تكبير
-      add_marker: أضف علامة على الخريطة
-      latitude: 'خط العرض:'
-      longitude: 'خط الطول:'
-      output: الإخراج
-      paste_html: ألصق HTML لتضمينه في موقع ما
       export_button: صدِّر
     fixthemap:
       title: الإبلاغ عن مشكلة / إصلاح الخريطة
@@ -2194,6 +2185,7 @@ ar:
           primary: طريق رئيسي
           secondary: طريق ثانوي
           unclassified: طريق غير مصنّف
+          pedestrian: طريق للمشاة
           track: مسار
           bridleway: مسلك خيول
           cycleway: طريق دراجات
@@ -2202,57 +2194,50 @@ ar:
           cycleway_local: طريق الدراجات المحلي
           footway: طريق مشاة
           rail: سكة حديدية
+          train: قطار
           subway: قطار الأنفاق
-          tram:
-          - قطار خفيف
-          - ترام
-          cable:
-          - عربة أسلاك
-          - تلفريك
-          runway:
-          - مدرج مطار
-          - مدرج مطار لمناورات الطائرات
-          apron:
-          - ساحة مطار
-          - صالة مطار
+          ferry: عبارة
+          bus: حافلة
+          cable_car: عربة أسلاك
+          chair_lift: تلفريك
+          runway: مدرج مطار
+          taxiway: مدرج مطار لمناورات الطائرات
+          apron: ساحة مطار
           admin: حدود إدارية
+          city: مدينة
           forest: غابة
           wood: غابة
           golf: ملعب غولف
           park: منتزه
+          common: شائع
           resident: منطقة سكنية
-          common:
-          - شائع
-          - مرج
-          - حديقة
           retail: منطقة بيع بالمفرق
           industrial: منطقة صناعية
           commercial: منطقة تجارية
           heathland: أرض بور
-          lake:
-          - بحيرة
-          - خزان
+          lake: بحيرة
+          reservoir: خزان
           farm: مزرعة
           brownfield: موقع مخلفات
           cemetery: مقبرة
           allotments: حصص سكنية
           pitch: ملعب رياضي
           centre: مركز رياضي
+          beach: شاطئ
           reserve: محمية طبيعية
           military: منطقة عسكرية
-          school:
-          - مدرسة
-          - جامعة
+          school: مدرسة
+          university: جامعة
           building: مبنى كبير
           station: محطة قطار
-          summit:
-          - قمة
-          - ذروة
+          summit: قمة
+          peak: ذروة
           tunnel: غطاء متقطع = نفق
           bridge: غطاء أسود = جسر
           private: وصول خصوصي
           destination: وجهة الوصول
           construction: الطرق تحت الإنشاء
+          bus_stop: موقف حافلات
           bicycle_shop: متجر دراجات
           bicycle_parking: مرآب دراجات
           toilets: مرحاض
@@ -2702,6 +2687,21 @@ ar:
       showing_page: الصفحة %{page}
       next: التالي »
       previous: « السابق
+  user_mutes:
+    index:
+      title: المستخدمون الممنوعون
+      user_mute_admins_and_moderators: يمكنك أن تُخفي الرسائل من المديرين والمُديرين
+        لكن رسائلهم لن تُخفى
+      table:
+        thead:
+          actions: الإجراءات
+        tbody:
+          send_message: أرسل رسالة
+    create:
+      error: لا يمكن كتم صوت %{name}. %{full_message}.
+    destroy:
+      notice: لقد قمت بإلغاء كتم صوت %{name}.
+      error: لا يمكن أن يكون الصوت غير مكتوم. رجاءً حاول مرة أخرى
   notes:
     index:
       title: ملاحظات مقدمة أو علق عليها %{user}
index 762867a299808d8ae88a780ca4ab66d74192202f..70fa3d63a2e0c933a03ae53df19fea9790313ea4 100644 (file)
@@ -655,13 +655,14 @@ arz:
   messages:
     inbox:
       title: الوارد
-      my_inbox: الوارد
-      from: من
-      subject: الموضوع
-      date: التاريخ
       no_messages_yet_html: لا يوجد لديك رسائل بعد. لماذا لا تقوم بالاتصال مع بعض
         %{people_mapping_nearby_link}؟
       people_mapping_nearby: مخططون فى جواري
+    messages_table:
+      from: من
+      to: إلى
+      subject: الموضوع
+      date: التاريخ
     message_summary:
       unread_button: علّم كغير مقروءة
       read_button: علّم كمقروءة
@@ -677,9 +678,6 @@ arz:
         قبل أن تحاول إرسال المزيد.
     outbox:
       title: صندوق الصادر
-      to: إلى
-      subject: الموضوع
-      date: التاريخ
       no_sent_messages_html: لا يوجد لديك رسائل مرسله بعد. لماذا لا تقوم بالاتصال
         مع بعض %{people_mapping_nearby_link}؟
       people_mapping_nearby: مخططون فى جواري
@@ -689,28 +687,32 @@ arz:
       unread_button: علّم كغير مقروءة
     sent_message_summary:
       destroy_button: احذف
+    heading:
+      my_inbox: الوارد
     mark:
       as_read: عُلّمت الرساله مقروءة
       as_unread: عُلّمت الرساله كغير مقروءة
     destroy:
       destroyed: حُذفت الرسالة
   passwords:
-    lost_password:
+    new:
       title: نسيان كلمه المرور
       heading: أنسيت كلمه المرور؟
       email address: 'عنوان البريد الإلكتروني:'
       new password button: إعاده ضبط كلمه المرور
       help_text: أدخل عنوان البريد الإلكترونى الذى استخدمته للتسجيل ، وسوف نرسل عليه
         رابط يمكنك استخدامه لإعاده تعيين كلمه المرور.
+    create:
       notice email on way: نأسف لأنك أضعتها :-( ولكن هناك رساله إلكترونيه فى طريقها
         إليك ستمكنك من إعاده تعيينها قريبًا.
       notice email cannot find: تعذّر إيجاد عنوان البريد الإلكترونى، نحن آسفون.
-    reset_password:
+    edit:
       title: إعاده ضبط كلمه المرور
       heading: إعاده تعيين كلمه المرور %{user}
       reset: إعاده ضبط كلمه المرور
-      flash changed: كلمه المرور الخاصه بك قد تغيرت.
       flash token bad: لم تجد تلك المعلومات، تحقق من الرابط ربما؟
+    update:
+      flash changed: كلمه المرور الخاصه بك قد تغيرت.
   profiles:
     edit:
       home location: 'موقع المنزل:'
@@ -738,23 +740,8 @@ arz:
       user_page_link: صفحه مستخدم
       anon_edits_link_text: ابحث عن السبب لماذا هو هذا الحال.
     export:
-      area_to_export: المنطقه المطلوب تصديرها
       manually_select: اختر يدويًا منطقه أخرى
-      format_to_export: الهيئه المطلوب تصديرها
-      osm_xml_data: معطيات خريطه الطريق المفتوح بنسق إكس أم أل
-      embeddable_html: HTML مضمن
       licence: الرخصة
-      options: خيارات
-      format: الهيئة
-      scale: القياس
-      max: الأقصى
-      image_size: حجم الصورة
-      zoom: تكبير
-      add_marker: أضف علامه على الخريطة
-      latitude: 'خط العرض:'
-      longitude: 'خط الطول:'
-      output: الخرج
-      paste_html: ألصق HTML لتضمينه فى موقع ما
       export_button: صدِّر
     sidebar:
       search_results: نتائج البحث
@@ -778,30 +765,21 @@ arz:
           footway: طريق مشاة
           rail: سكه حديدية
           subway: قطار الأنفاق
-          tram:
-          - ترام
-          - ترام
-          runway:
-          - مدرج مطار للإقلاع/الهبوط
-          - مدرج مطار لمناورات الطائرات
-          apron:
-          - ساحه مطار
-          - صاله مطار
+          runway: مدرج مطار للإقلاع/الهبوط
+          taxiway: مدرج مطار لمناورات الطائرات
+          apron: ساحه مطار
           admin: حدود إدارية
           forest: غابة
           wood: غابة
           golf: ملعب غولف
           park: منتزه
+          common: شائع
           resident: منطقه سكنية
-          common:
-          - شائع
-          - مرج
           retail: منطقه بيع بالمفرق
           industrial: منطقه صناعية
           commercial: منطقه تجارية
-          lake:
-          - بحيرة
-          - خزان
+          lake: بحيرة
+          reservoir: خزان
           farm: أرض زراعية
           cemetery: مقبرة
           allotments: حصص سكنية
@@ -809,14 +787,12 @@ arz:
           centre: مركز رياضي
           reserve: محميه طبيعية
           military: منطقه عسكرية
-          school:
-          - مدرسة
-          - جامعة
+          school: مدرسة
+          university: جامعة
           building: مبنى كبير
           station: محطه قطار
-          summit:
-          - قمة
-          - ذروة
+          summit: قمة
+          peak: ذروة
           private: استخدام خصوصي
           construction: الطرق تحت الإنشاء
   traces:
index 730b482621667bd5f1ba77aba80de255cbc718e0..387fb1b2913b477a08fc52b9769cc8d12f99ecfc 100644 (file)
@@ -1136,9 +1136,9 @@ ast:
         zero: Nun hai informes
         one: 1 informe
         other: '%{count} informes'
-      report_created_at: Hora del primer informe %{datetime}
-      last_resolved_at: Hora de la última resolución %{datetime}
-      last_updated_at: Hora del últimu anovamientu %{datetime} por %{displayname}
+      report_created_at_html: Hora del primer informe %{datetime}
+      last_resolved_at_html: Hora de la última resolución %{datetime}
+      last_updated_at_html: Hora del últimu anovamientu %{datetime} por %{displayname}
       resolve: Resolver
       ignore: Inorar
       reopen: Reabrir
@@ -1359,7 +1359,6 @@ ast:
   messages:
     inbox:
       title: Buzón
-      my_inbox: El mio buzón
       messages: Tienes %{new_messages} y %{old_messages}
       new_messages:
         one: '%{count} mensaxe nuevu'
@@ -1367,12 +1366,14 @@ ast:
       old_messages:
         one: '%{count} mensaxe vieyu'
         other: '%{count} mensaxes vieyos'
-      from: De
-      subject: Asuntu
-      date: Data
       no_messages_yet_html: Inda nun tienes mensaxes. ¿Y si te pones en contautu con
         %{people_mapping_nearby_link}?
       people_mapping_nearby: xente que ta mapeando cerca
+    messages_table:
+      from: De
+      to: Pa
+      subject: Asuntu
+      date: Data
     message_summary:
       unread_button: Marcar como non lleíu
       read_button: Marcar como lleíu
@@ -1395,9 +1396,6 @@ ast:
       messages:
         one: Tienes %{count} mensaxe unviáu
         other: Tienes %{count} mensaxes unviaos
-      to: Pa
-      subject: Asuntu
-      date: Data
       no_sent_messages_html: Inda nun unviasti mensaxes. ¿Y si te pones en contautu
         con %{people_mapping_nearby_link}?
       people_mapping_nearby: xente que ta mapeando cerca
@@ -1414,28 +1412,32 @@ ast:
         por o a esi usuariu. Anicia sesión col usuariu correchu pa contestar.
     sent_message_summary:
       destroy_button: Desaniciar
+    heading:
+      my_inbox: El mio buzón
     mark:
       as_read: Mensaxe marcáu como lleíu
       as_unread: Mensaxe marcáu como non lleíu
     destroy:
       destroyed: Mensaxe desaniciáu
   passwords:
-    lost_password:
+    new:
       title: Contraseña perdida
       heading: ¿Escaecisti la contraseña?
       email address: 'Direición de corréu electrónicu:'
       new password button: Reestablecer contraseña
       help_text: Escribi les señes de corréu qu'usasti pa date d'alta, unviarémoste
         un enllaz que pues usar pa reestablecer la contraseña.
+    create:
       notice email on way: Sentimos que la perdieres :-( pero hai un corréu en camín
         pa que puedas reaniciala ceo.
       notice email cannot find: Nun s'alcontró esa direición de corréu.
-    reset_password:
+    edit:
       title: Reestablecer contraseña
       heading: Reestablecer la contraseña de %{user}
       reset: Reaniciar contraseña
-      flash changed: Cambióse la contraseña
       flash token bad: Nun s'alcontró esi token, ¿tendríes de comprobar la URL, seique?
+    update:
+      flash changed: Cambióse la contraseña
   preferences:
     show:
       edit_preferences: Editar les preferencies
@@ -1583,12 +1585,7 @@ ast:
         se necesiten pa esta carauterística.
     export:
       title: Esportar
-      area_to_export: Área a esportar
       manually_select: Seleiciona manualmente un área distinta
-      format_to_export: Formatu a esportar
-      osm_xml_data: Datos XML d'OpenStreetMap
-      map_image: Imaxe del mapa (amuesa la capa estándar)
-      embeddable_html: HTML pa embrivir
       licence: Llicencia
       too_large:
         advice: 'Si falla la esportación anterior, considera utilizar una de les fontes
@@ -1610,17 +1607,6 @@ ast:
         other:
           title: Otres fontes
           description: Otres fontes más qu'apaecen na wiki d'OpenStreetMap
-      options: Opciones
-      format: Formatu
-      scale: Escala
-      max: máx
-      image_size: Tamañu d'imaxe
-      zoom: Zoom
-      add_marker: Amestar un marcador al mapa
-      latitude: 'Llat:'
-      longitude: 'Llon:'
-      output: Salida
-      paste_html: Pegar el HTML pa embrivir nun sitiu web
       export_button: Esportar
     fixthemap:
       title: Informar d'un problema / iguar el mapa
@@ -1704,34 +1690,24 @@ ast:
           footway: Camín peatonal
           rail: Ferrocarril
           subway: Metro
-          tram:
-          - Ferrocarril llixeru
-          - tranvía
-          cable:
-          - Teleféricu
-          - telesilla
-          runway:
-          - Pista d'aeropuertu
-          - cai de rodaxe
-          apron:
-          - Aparcamientu d'aviones
-          - terminal
+          cable_car: Teleféricu
+          chair_lift: telesilla
+          runway: Pista d'aeropuertu
+          taxiway: cai de rodaxe
+          apron: Aparcamientu d'aviones
           admin: Llende alministrativa
           forest: Área forestal
           wood: Viesca
           golf: Campu de golf
           park: Parque
+          common: Espaciu comunal
           resident: Área residencial
-          common:
-          - Espaciu comunal
-          - prau
           retail: Área de tiendes
           industrial: Área industrial
           commercial: Área comercial
           heathland: Berezal
-          lake:
-          - Llagu
-          - banzáu
+          lake: Llagu
+          reservoir: banzáu
           farm: Casería
           brownfield: Terrén en derribu
           cemetery: Cementeriu
@@ -1740,14 +1716,12 @@ ast:
           centre: Centru deportivu
           reserve: Reserva natural
           military: Área militar
-          school:
-          - Escuela
-          - universidá
+          school: Escuela
+          university: universidá
           building: Edificiu destacáu
           station: Estación de tren
-          summit:
-          - Cume
-          - picu
+          summit: Cume
+          peak: picu
           tunnel: Borde de rayes = túnel
           bridge: Borde prietu = ponte
           private: Accesu priváu
index 8fc3dd0cc0b685d53a853379fc208ff3f3d35b3e..11da2b7701925d9ef8f26c6b6b335ef6f28dd435 100644 (file)
@@ -841,7 +841,6 @@ az:
   messages:
     inbox:
       title: Gələnlər
-      my_inbox: Mənim gələnlər
       messages: 'Sizin varınızdır: %{new_messages} və %{old_messages}.'
       new_messages:
         one: '%{count} yeni mesaj'
@@ -849,12 +848,14 @@ az:
       old_messages:
         one: '%{count} köhnə mesaj'
         other: '%{count} köhnə mesaj'
-      from: Kimdən
-      subject: Mövzu
-      date: Tarix
       no_messages_yet_html: Sizin hələdə mesajınız yoxdur. Niyə də ki, %{people_mapping_nearby_link}
         danışmırsınız?
       people_mapping_nearby: yaxınlıqdakı istifadəçilərlə
+    messages_table:
+      from: Kimdən
+      to: Kimə
+      subject: Mövzu
+      date: Tarix
     message_summary:
       unread_button: Oxunulmamış kimi işarələ
       read_button: Oxunulmuş kimi işarələ
@@ -874,9 +875,6 @@ az:
       body: Bağışlayın, amma belə ID ilə mesaj yoxdur.
     outbox:
       title: Göndərilənlər
-      to: Kimə
-      subject: Mövzu
-      date: Tarix
       people_mapping_nearby: yaxınlıqdakı istifadəçilərlə
     show:
       title: Mesajı oxu
@@ -884,21 +882,24 @@ az:
       unread_button: Oxunulmamış kimi işarələ
     sent_message_summary:
       destroy_button: Sil
+    heading:
+      my_inbox: Mənim gələnlər
     mark:
       as_read: Mesaj oxunulmuş kimi işarələndi
       as_unread: Mesaj oxunulmamış kimi işarələndi
     destroy:
       destroyed: Mesaj silindi
   passwords:
-    lost_password:
+    new:
       title: İtirilmiş parol
       heading: Parolu unutmusan?
       email address: 'E-poçt ünvanları:'
       new password button: Parolu yenilə
-    reset_password:
+    edit:
       title: Parolu yenilə
       heading: '%{user} üçün parolu yenilə'
       reset: Parolu Yenilə
+    update:
       flash changed: Parolun indi dəyişildi.
   profiles:
     edit:
@@ -944,24 +945,8 @@ az:
     edit:
       user_page_link: istifadəçi səhifəsi
     export:
-      area_to_export: İxrac üçün Ərazi
       manually_select: Digər ərazini seçmək
-      format_to_export: İxracın forması
-      osm_xml_data: OpenStreetMap XML formasında məlumatlar
-      map_image: Xəritənin Şəkili (standart qatı göstərir)
-      embeddable_html: Quraşdırılan HTML
       licence: Lisenziya
-      options: Nizamlamalar
-      format: Format
-      scale: Miqyas
-      max: maks
-      image_size: Şəkil ölçüsü
-      zoom: Yaxınlaşdır
-      add_marker: Xəritəyə marker əlavə etmək
-      latitude: 'En:'
-      longitude: 'Uz:'
-      output: Nəticə
-      paste_html: Veb sayta quraşdırmaq üçün HTML kod
       export_button: İxrac etmək
     help:
       beginners_guide:
@@ -985,37 +970,27 @@ az:
           footway: Piyada yolu
           rail: Dəmir yolu
           subway: Metro
-          tram:
-            1: tramvay
-          runway:
-          - Aeroport uçuş-enmə zolağı
-          apron:
-            1: terminal
+          runway: Aeroport uçuş-enmə zolağı
           admin: Administrativ sərhəd
           forest: Meşə
           park: Park
           resident: Yaşayış sahəsi
-          common:
-            1: çəmənlik
           retail: Ticarət sahəsi
           industrial: Sənaye sahəsi
           commercial: Ticarət sahəsi
-          lake:
-          - Göl
-          - su anbarı
+          lake: Göl
+          reservoir: su anbarı
           farm: Ferma
           cemetery: Məzarlıq
           centre: İdman mərkəzi
           reserve: Təbiət Qoruğu
           military: Hərbi ərazi
-          school:
-          - Məktəb
-          - universitet
+          school: Məktəb
+          university: universitet
           building: Əhəmiyyətli bina
           station: Dəmiryol stansiyası
-          summit:
-          - Zirvə
-          - pik
+          summit: Zirvə
+          peak: pik
           private: Xüsusi giriş
   traces:
     new:
index d68b720304e13c7886f6beabccf56060e5a84239..94e4f97602727dabcb69289eeb684786be53d258 100644 (file)
@@ -964,22 +964,11 @@ ba:
   site:
     export:
       title: Сығарырға
-      area_to_export: Сығарыу яланы
       manually_select: Башҡа өлкәне ҡулдан һайларға
-      format_to_export: Сығарыу форматы
-      osm_xml_data: Биремдең OpenStreetMap XML форматы
-      map_image: Карта һүрәте (стандарт ҡатламды күрһәтә)
-      embeddable_html: Ҡуйылған HTML
       licence: Лицензия
       too_large:
         planet:
           title: OSM планетаһы
-      max: макс.
-      image_size: Һүрәт ҙурлығы
-      add_marker: Картаға билдә ҡуйыу
-      latitude: 'Киңлек:'
-      longitude: 'Оҙонлоҡ:'
-      paste_html: Сайтҡа индереп ҡуйыу өсөн HTML-код
   notes:
     show:
       title: ' %{id} искәрмәһе'
index 7dafad6eff49fb103c38c5c18aaf673c132d75cc..a400a2f3cacd39204ca78f21b8b24d461a61ef00 100644 (file)
@@ -961,7 +961,6 @@ be-Tarask:
   messages:
     inbox:
       title: Уваходзячыя
-      my_inbox: Мае ўваходзячыя
       messages: Вы маеце %{new_messages} і %{old_messages}
       new_messages:
         one: '%{count} новае паведамленьне'
@@ -971,12 +970,14 @@ be-Tarask:
         one: '%{count} старое паведамленьне'
         few: '%{count} старыя паведамленьні'
         other: '%{count} старых паведамленьняў'
-      from: Ад
-      subject: Тэма
-      date: Дата
       no_messages_yet_html: Вы яшчэ ня маеце паведамленьняў. Чаму б не зьвязацца з
         %{people_mapping_nearby_link}?
       people_mapping_nearby: людзьмі, якія жывуць каля Вас
+    messages_table:
+      from: Ад
+      to: Да
+      subject: Тэма
+      date: Дата
     message_summary:
       unread_button: Пазначыць як непрачытанае
       read_button: Пазначыць як прачытанае
@@ -1000,9 +1001,6 @@ be-Tarask:
         one: Вы маеце %{count} дасланае паведамленьне
         few: Вы маеце %{count} дасланыя паведамленьні
         other: Вы маеце %{count} дасланых паведамленьняў
-      to: Да
-      subject: Тэма
-      date: Дата
       no_sent_messages_html: Вы яшчэ не даслалі паведамленьне. Чаму б не зьвязацца
         з %{people_mapping_nearby_link}?
       people_mapping_nearby: людзьмі, якія жывуць каля Вас
@@ -1019,29 +1017,33 @@ be-Tarask:
         як карыстальнік, адпаведна запыту, каб прачытаць.
     sent_message_summary:
       destroy_button: Выдаліць
+    heading:
+      my_inbox: Мае ўваходзячыя
     mark:
       as_read: Паведамленьне пазначанае як прачытанае
       as_unread: Паведамленьне пазначанае як непрачытанае
     destroy:
       destroyed: Паведамленьне выдаленае
   passwords:
-    lost_password:
+    new:
       title: Згублены пароль
       heading: Забылі пароль?
       email address: 'Адрас электроннай пошты:'
       new password button: Ачысьціць пароль
       help_text: Увядзіце адрас электроннай пошты, які Вы выкарыстоўвалі пры рэгістрацыі,
         і мы вышлем Вам спасылку, якую Вы зможаце выкарыстаць для зьмены паролю.
+    create:
       notice email on way: Шкада, што Вы яго згубілі, але электронны ліст ужо дасланы,
         таму Вы хутка зможаце яго зьмяніць.
       notice email cannot find: Прабачце, не атрымалася знайсьці такога адрасу электроннай
         пошты.
-    reset_password:
+    edit:
       title: Ачысьціць пароль
       heading: Скінуць пароль для %{user}
       reset: Ачысьціць пароль
-      flash changed: Ваш пароль быў зьменены.
       flash token bad: Немагчыма знайсьці такі ключ, можа праверце URL-адрас?
+    update:
+      flash changed: Ваш пароль быў зьменены.
   profiles:
     edit:
       image: Выява
@@ -1117,12 +1119,7 @@ be-Tarask:
       no_iframe_support: Ваш браўзэр не падтрымлівае рамкі HTML, якія зьяўляюцца неабходнымі
         для гэтай магчымасьці.
     export:
-      area_to_export: Абшар для экспарту
       manually_select: Выбраць іншы абшар
-      format_to_export: Фармат экспарту
-      osm_xml_data: Зьвесткі OpenStreetMap у фармаце XML
-      map_image: Выява мапы (паказвае стандартны слой)
-      embeddable_html: HTML-код для ўстаўкі
       licence: Ліцэнзія
       too_large:
         body: 'Гэты абшар занадта вялікі для экспарту ў фармаце XML OpenStreetMap.
@@ -1130,17 +1127,6 @@ be-Tarask:
           з наступных крыніцаў для пакетнай запампоўкі зьвестак:'
         planet:
           title: Плянэта OSM
-      options: Устаноўкі
-      format: Фармат
-      scale: Маштаб
-      max: максымум
-      image_size: 'Памер выявы:'
-      zoom: Маштаб
-      add_marker: Дадаць маркер на мапу
-      latitude: 'Шырата:'
-      longitude: 'Даўгата:'
-      output: Вывад
-      paste_html: HTML-код для ўстаўкі ў вэб-сайт
       export_button: Экспартаваць
     any_questions:
       title: Маеце пытаньні?
@@ -1167,34 +1153,24 @@ be-Tarask:
           footway: Пешаходная дарога
           rail: Чыгунка
           subway: Мэтро
-          tram:
-          - Лінія для лёгкага чыгуначнага транспарту
-          - трамвай
-          cable:
-          - Канатная дарога
-          - крэславы пад’ёмнік
-          runway:
-          - Узьлётная паласа
-          - рулёжная дарога
-          apron:
-          - Пэрон аэрапорта
-          - тэрмінал
+          cable_car: Канатная дарога
+          chair_lift: крэславы пад’ёмнік
+          runway: Узьлётная паласа
+          taxiway: рулёжная дарога
+          apron: Пэрон аэрапорта
           admin: Адміністрацыйная мяжа
           forest: Лес
           wood: Пушча
           golf: Поле для гольфу
           park: Парк
+          common: Грамадзкая зямля
           resident: Жылы раён
-          common:
-          - Грамадзкая зямля
-          - луг
           retail: Гандлёвы раён
           industrial: Прамысловы раён
           commercial: Камэрцыйны раён
           heathland: Пусташ
-          lake:
-          - Возера
-          - вадасховішча
+          lake: Возера
+          reservoir: вадасховішча
           farm: Фэрма
           brownfield: Закінутая тэрыторыя
           cemetery: Могілкі
@@ -1203,14 +1179,12 @@ be-Tarask:
           centre: Спартовы цэнтар
           reserve: Запаведнік
           military: Вайсковая тэрыторыя
-          school:
-          - Школа
-          - унівэрсытэт
+          school: Школа
+          university: унівэрсытэт
           building: Значны будынак
           station: Чыгуначная станцыя
-          summit:
-          - Вяршыня
-          - пік
+          summit: Вяршыня
+          peak: пік
           tunnel: Пункцір = тунэль
           bridge: Чорная лінія = мост
           private: Прыватны доступ
index ac84d783a84c79a02cf4cd9c19bc286ee80c2815..6568da07a63328caed320482550ff14a05c182d5 100644 (file)
@@ -1155,9 +1155,9 @@ be:
         zero: Няма паведамленняў
         one: 1 паведамленне
         other: '%{count} паведамленняў'
-      report_created_at: Упершыню паведамлена %{datetime}
-      last_resolved_at: Апошні раз вырашана %{datetime}
-      last_updated_at: Апошняе абнаўленне %{datetime} карыстальнікам %{displayname}
+      report_created_at_html: Упершыню паведамлена %{datetime}
+      last_resolved_at_html: Апошні раз вырашана %{datetime}
+      last_updated_at_html: Апошняе абнаўленне %{datetime} карыстальнікам %{displayname}
       resolve: Вырашыць
       ignore: Ігнараваць
       reopen: Пераадчыніць
@@ -1380,7 +1380,6 @@ be:
   messages:
     inbox:
       title: Уваходныя
-      my_inbox: Мае уваходныя
       messages: У вас %{new_messages} і %{old_messages}
       new_messages:
         one: '%{count} новае паведамленне'
@@ -1388,12 +1387,14 @@ be:
       old_messages:
         one: '%{count} старое паведамленне'
         other: '%{count} старых паведамленняў'
-      from: Ад
-      subject: Тэма
-      date: Дата
       no_messages_yet_html: У вас пакуль няма паведамленняў. Чаму б не зкаардынавацца
         з  %{people_mapping_nearby_link}?
       people_mapping_nearby: людзьмі, што жывуць непадалёку
+    messages_table:
+      from: Ад
+      to: Каму
+      subject: Тэма
+      date: Дата
     message_summary:
       unread_button: Адзначыць як нечытанае
       read_button: Адзначыць як прачытанае
@@ -1416,9 +1417,6 @@ be:
       messages:
         one: Вы адаслалі %{count} паведамленне
         other: Вы адаслалі %{count} паведамленняў
-      to: Каму
-      subject: Тэма
-      date: Дата
       no_sent_messages_html: У вас пакуль няма дасланых паведамленняў. Чаму б не зкаардынавацца
         з %{people_mapping_nearby_link}?
       people_mapping_nearby: людзьмі, што жывуць непадалёку
@@ -1437,28 +1435,32 @@ be:
         як карыстальнік, адпаведна запыту, каб прачытаць.
     sent_message_summary:
       destroy_button: Выдаліць
+    heading:
+      my_inbox: Мае уваходныя
     mark:
       as_read: Паведамленне адмечана прачытаным
       as_unread: Паведамленне адмечана нечытаным
     destroy:
       destroyed: Паведамленне выдалена
   passwords:
-    lost_password:
+    new:
       title: згублены пароль
       heading: Забылі пароль?
       email address: 'Паштовы адрас:'
       new password button: Выслаць мне новы пароль
       help_text: Увядзіце адрас электроннай пошты, які Вы выкарыстоўвалі пры рэгістрацыі,
         і мы вышлем Вам спасылку, якую Вы зможаце выкарыстаць для змены паролю.
+    create:
       notice email on way: Жаль, што вы яго згубілі :-( але ліст ужо адпраўлены, і
         вы хутка зможаце яго скінуць.
       notice email cannot find: Немагчыма знайсці гэтакі паштовы адрас, прабачце.
-    reset_password:
+    edit:
       title: скінуць пароль
       heading: Скінуць пароль для %{user}
       reset: 'Скінуць пароль:'
-      flash changed: Ваш пароль быў зменены.
       flash token bad: Не знайшоў такі токен, можа, праверце URL?
+    update:
+      flash changed: Ваш пароль быў зменены.
   profiles:
     edit:
       image: 'Выява:'
@@ -1600,12 +1602,7 @@ be:
         для гэтай функцыі.
     export:
       title: Экспарт
-      area_to_export: Экспартаваць мясцовасць
       manually_select: Выбраць іншую мясцовасць
-      format_to_export: Фармат для экспарту
-      osm_xml_data: OpenStreetMap XML
-      map_image: Выява карты (паказвае стандартны слой)
-      embeddable_html: HTML-код
       licence: Ліцэнзія
       too_large:
         advice: 'Калі экспарт вышэй не атрымаўся, то разгледзьце магчымасць выкарыстання
@@ -1627,17 +1624,6 @@ be:
         other:
           title: Іншыя крыніцы
           description: Дадатковыя крыніцы, пералічаныя на Вікі OpenStreetMap
-      options: Параметры
-      format: Фармат
-      scale: Маштаб
-      max: макс
-      image_size: Памер выявы
-      zoom: Павелічэнне
-      add_marker: Дадаць маркер на карту
-      latitude: 'Шыр:'
-      longitude: 'Даў:'
-      output: Вывад
-      paste_html: Уставіць HTML-код у вэб-сайт
       export_button: Экспарт
     fixthemap:
       title: Паведаміць аб праблеме / Выправіць карту
@@ -1718,35 +1704,29 @@ be:
           cycleway_local: Веладарожка мясцовага значэння
           footway: Пешаходная дарожка
           rail: Чыгунка
+          train: Цягнік
           subway: Метро
-          tram:
-          - Хуткасны трамвай
-          - трамвай
-          cable:
-          - Канатная дарога
-          - Крэсельны пад'ёмнік
-          runway:
-          - Узлетна-пасадачная паласа
-          - рулёжная дарожка
-          apron:
-          - Перон аэрапорта
-          - тэрмінал
+          trolleybus: Тралейбус
+          bus: Аўтобус
+          cable_car: Канатная дарога
+          chair_lift: Крэсельны пад'ёмнік
+          runway: Узлетна-пасадачная паласа
+          taxiway: рулёжная дарожка
+          apron: Перон аэрапорта
           admin: Адміністрацыйная мяжа
           forest: Лес
-          wood: Ð\9fушча
+          wood: Ð¿ушча
           golf: Поле для гольфа
           park: Парк
+          common: Агульныя
           resident: Жылы раён
-          common:
-          - Агульныя
-          - луг
           retail: Гандлевая плошча
           industrial: Прамысловая зона
           commercial: Камерцыйная зона
           heathland: Пустка
-          lake:
-          - Возера
-          - вадасховішча
+          lake: Возера
+          reservoir: вадасховішча
+          glacier: Ляднік
           farm: Ферма
           brownfield: Ачышчаная пляцоўка для забудовы
           cemetery: Могілкі
@@ -1755,14 +1735,12 @@ be:
           centre: Спартыўны цэнтр
           reserve: Запаведнік
           military: Ваенная зона
-          school:
-          - Школа
-          - універсітэт
+          school: Школа
+          university: універсітэт
           building: Значны будынак
           station: Чыгуначны вакзал
-          summit:
-          - Вяршыня
-          - пік
+          summit: Вяршыня
+          peak: пік
           tunnel: Тунэль (пункцірам)
           bridge: Мост (суцэльная лінія)
           private: Прыватны доступ
index e782ec22b0804f74c35f039c9c6d17f7cbd62651..62c07a643af6e959ed6309a32e631bbd36f375b7 100644 (file)
@@ -205,7 +205,7 @@ bg:
       description: iD (браузърен редактор)
     remote:
       name: дистанционно управление
-      description: Ð\94истанционно управление (JOSM, Potlatch или Merkaartor)
+      description: Ð´истанционно управление (JOSM, Potlatch или Merkaartor)
   auth:
     providers:
       none: Нищо
@@ -261,6 +261,8 @@ bg:
         retain_changeset_discussions: Обсъжданията на списъци от промени, ако има
           такива, ще бъдат запазени.
         retain_email: Вашият имейл адрес ще бъде запазен.
+        recent_editing_html: Тъй като сте редактирали наскоро, Вашият акаунт в момента
+          не може да бъде изтрит. Изтриването ще бъде възможно след %{time}.
         confirm_delete: Сигурни ли сте?
         cancel: Отказ
   accounts:
@@ -296,6 +298,8 @@ bg:
     closed: Затворена
     closed_ago_html: Затворен %{time_ago}
     created_ago_by_html: Създаден %{time_ago} от %{user}
+    closed_ago_by_html: Затворен %{time_ago} от %{user}
+    edited_ago_by_html: Редактирано %{time_ago} от %{user}
     version: Версия
     in_changeset: Списък с промени
     anonymous: анонимен
@@ -704,7 +708,7 @@ bg:
           winery: Винарна
           "yes": Работилница
         emergency:
-          access_point: Тчока за достъп
+          access_point: Точка за достъп
           ambulance_station: Станция за линейки
           defibrillator: Дефибрилатор
           fire_extinguisher: Пожарогасител
@@ -1129,9 +1133,9 @@ bg:
       reports:
         one: '%{count} доклад'
         other: '%{count} доклада'
-      report_created_at: Първоначално докладван на %{datetime}
-      last_resolved_at: Последно решена на %{datetime}
-      last_updated_at: Последно актуализиран на %{datetime} от %{displayname}
+      report_created_at_html: Първоначално докладван на %{datetime}
+      last_resolved_at_html: Последно решена на %{datetime}
+      last_updated_at_html: Последно актуализиран на %{datetime} от %{displayname}
       resolve: Решаване
       ignore: Пропусни
       reopen: Отново отвори
@@ -1316,8 +1320,6 @@ bg:
   messages:
     inbox:
       title: Входящи
-      my_inbox: Входяща кутия
-      my_outbox: Изходяща кутия
       messages: Имате %{new_messages} и %{old_messages}
       new_messages:
         one: '%{count} ново съобщение'
@@ -1325,12 +1327,15 @@ bg:
       old_messages:
         one: '%{count} прочетено съобщение'
         other: '%{count} прочетени съобщения'
-      from: От
-      subject: Тема
-      date: Дата
       no_messages_yet_html: Все още нямате никакви съобщения. Не искате ли да се свържете
         с други %{people_mapping_nearby_link}?
       people_mapping_nearby: картографи в близост
+    messages_table:
+      from: От
+      to: До
+      subject: Тема
+      date: Дата
+      actions: Действия
     message_summary:
       unread_button: Отбелязване като непрочетено
       read_button: Отбелязване като прочетено
@@ -1348,14 +1353,10 @@ bg:
       body: Съжаляваме но няма съобщение със това id.
     outbox:
       title: Изходящи
-      my_inbox: Входящи
-      my_outbox: Изходяща кутия
+      actions: Действия
       messages:
         one: Изпратили сте %{count} съобщение
         other: Изпратили сте %{count} съобщения
-      to: До
-      subject: Тема
-      date: Дата
       no_sent_messages_html: Все още нямате никакви съобщения. Не искате ли да се
         свържете с други %{people_mapping_nearby_link}?
       people_mapping_nearby: картографи в близост
@@ -1371,13 +1372,16 @@ bg:
       back: Назад
     sent_message_summary:
       destroy_button: Изтриване
+    heading:
+      my_inbox: Входяща кутия
+      my_outbox: Изходяща кутия
     mark:
       as_read: Съобщението е отбелязано като прочетено
       as_unread: Съобщението е отбелязано като непрочетено
     destroy:
       destroyed: Съобщението беше изтрито
   passwords:
-    lost_password:
+    new:
       title: Възстановяване на парола
       heading: Забравена парола?
       email address: 'Електронна поща:'
@@ -1385,11 +1389,13 @@ bg:
       help_text: Въведете имейл адреса, който сте използвали при регистрацията, и
         ние ще Ви изпратим връзка, която можете да използвате, за да промените паролата
         си.
+    create:
       notice email cannot find: Съжаляваме, но този електронен адрес не е намерен.
-    reset_password:
+    edit:
       title: Възстановяване на парола
       heading: Смени Парола за %{user}
       reset: Нулиране на парола
+    update:
       flash changed: Паролата е променена успешно.
   preferences:
     show:
@@ -1402,6 +1408,7 @@ bg:
       cancel: Отказ
   profiles:
     edit:
+      title: Редактиране на профила
       cancel: Отказ
       image: Изображение
       gravatar:
@@ -1495,6 +1502,7 @@ bg:
         работници, които картографират райони, засегнати от бедствия, и много други.
         За да научите повече за общността, вижте %{osm_blog_link}, %{user_diaries_link},
         %{community_blogs_link} и %{osm_foundation_link}.
+      community_driven_user_diaries: потребителските дневници
       community_driven_community_blogs: блогове на общността
       open_data_title: Отворени данни
       open_data_1_html: 'OpenStreetMap е %{open_data}: Вие сте свободни да я използвате
@@ -1545,11 +1553,7 @@ bg:
       id_not_configured: iD не е настроен
     export:
       title: Експортиране
-      area_to_export: Зона за експортиране
       manually_select: Ръчно избиране на друга област
-      format_to_export: Формат за експортиране
-      osm_xml_data: OpenStreetMap XML данни
-      embeddable_html: HTML-код за вграждане
       licence: Лиценз
       too_large:
         advice: 'Ако експортирането по-горе не сработи, моля, използвайте един от
@@ -1562,17 +1566,6 @@ bg:
           title: Geofabrik Downloads
         other:
           title: Други източници
-      options: Настройки
-      format: Формат
-      scale: Мащаб
-      max: макс.
-      image_size: Размер на изображението
-      zoom: Мащабиране
-      add_marker: Добавяне на маркер на картата
-      latitude: 'Геогр. шир:'
-      longitude: 'Геогр. дълж:'
-      output: Изход
-      paste_html: Копирайте HTML за вграждане в интернет страница
       export_button: Експортиране
     fixthemap:
       title: Докладвай проблем/Коригирай картата
@@ -1657,34 +1650,24 @@ bg:
           footway: Пътека
           rail: Железен път
           subway: Метро
-          tram:
-          - Бърз трамвай
-          - трамвай
-          cable:
-          - Кабинков лифт
-          - седалков лифт
-          runway:
-          - Летищна писта
-          - път за рулиране
-          apron:
-          - Летищен перон
-          - терминал
+          cable_car: Кабинков лифт
+          chair_lift: седалков лифт
+          runway: Летищна писта
+          taxiway: път за рулиране
+          apron: Летищен перон
           admin: Административна граница
           forest: Гора
           wood: Дървета
           golf: Игрище за голф
           park: Парк
+          common: Обща
           resident: Жилищна зона
-          common:
-          - Обща
-          - ливада
           retail: Търговска зона
           industrial: Промишлена зона
           commercial: Търговска зона
           heathland: Пустош
-          lake:
-          - Езеро
-          - язовир
+          lake: Езеро
+          reservoir: язовир
           farm: Ферма
           brownfield: Място за строеж
           cemetery: Гробище
@@ -1693,14 +1676,12 @@ bg:
           centre: Спортен център
           reserve: Природен резерват
           military: Военна зона
-          school:
-          - Училище
-          - университет
+          school: Училище
+          university: Университет
           building: Значима сграда
           station: Железопътна гара
-          summit:
-          - Било
-          - връх
+          summit: Било
+          peak: връх
           tunnel: Тунел (пунктирана линия)
           bridge: Мост (плътна линия)
           private: Частен достъп
@@ -1857,7 +1838,7 @@ bg:
       allow_read_gpx: прочети вашите лични GPS следи.
       allow_write_gpx: Качване на GPS следи.
       allow_write_notes: променяне на бележки.
-      grant_access: Ð\9fозволи Ð\94остъп
+      grant_access: Ð\9fозволи Ð´остъп
     authorize_success:
       title: Искането за достъп е разрешено
       allowed_html: Вие позволихте на приложение %{app_name} достъп до вашия профил.
@@ -1930,6 +1911,8 @@ bg:
       my_preferences: Предпочитания
       blocks on me: Блокирани от мен
       blocks by me: Блокирани от мен
+      create_mute: Заглушаване на потребителя
+      edit_profile: Редактиране на профила
       send message: Изпратете съобщение
       diary: Дневник
       edits: Промени
@@ -1986,6 +1969,8 @@ bg:
     edit:
       title: Промяна на блокирането на %{name}
       heading_html: Промяна на блокирането на %{name}
+    filter:
+      block_expired: Блокирането вече е изтекло и не може да се редактира.
     revoke:
       revoke: Анулиране!
     helper:
@@ -2025,6 +2010,11 @@ bg:
       showing_page: Страница %{page}
       next: Следваща »
       previous: « Предишна
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Действия
   notes:
     index:
       title: Бележки създадени или с коментар от %{user}
@@ -2135,6 +2125,9 @@ bg:
         graphhopper_bicycle: Велосипед (GraphHopper)
         graphhopper_car: Автомобил (GraphHopper)
         graphhopper_foot: Пеша (GraphHopper)
+        fossgis_valhalla_bicycle: Велосипед (Valhalla)
+        fossgis_valhalla_car: Автомобил (Valhalla)
+        fossgis_valhalla_foot: Пеша (Valhalla)
       descend: Спускане
       directions: Упътване
       distance: Разстояние
index 6390710480c5bd6c3d08b1cf48c97d31d645e3f1..4fc7440d6179c41f2807693f2e82b4e8caef9f3e 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Anupamdutta73
 # Author: Bellayet
 # Author: Bodhisattwa
+# Author: Borhan
 # Author: Ehsanulhb
 # Author: Elias Ahmmad
 # Author: Greatder
@@ -347,7 +348,7 @@ bn:
     version: সংস্করণ
     in_changeset: পরিবর্তনসমূহ
     anonymous: নামহীন
-    no_comment: (কোন মন্তব্য নেই)
+    no_comment: (কোন মন্তব্য নেই)
     part_of: অংশ
     part_of_relations:
       one: '%{count}টি সম্পর্ক'
@@ -549,7 +550,7 @@ bn:
       login_to_leave_a_comment_html: মন্তব্য করতে %{login_link} করুন
       login: প্রবেশ
     no_such_entry:
-      title: এমন কোন দিনলিপির ভুক্তি নেই
+      title: এমন কোন দিনলিপির ভুক্তি নেই
       heading: '%{id} এই আইডি থেকে কোনও ভুক্তি নেই'
       body: দুঃখিত, %{id} এই আইডি থেকে কোনও দিনলিপির ভুক্তি অথবা মন্তব্য নেই। দয়া
         করে আপনার বানান যাচাই করুন, অথবা হতে পারে আপনি যে লিংকটিতে ক্লিক করেছেন তা
@@ -615,7 +616,7 @@ bn:
       title: নিষিদ্ধ
     internal_server_error:
       title: অ্যাপ্লিকেশন ত্রুটি
-      description: ওপেনস্ট্রিটম্যাপ সার্ভার কোন অপ্রত্যাশিত অবস্থার সম্মুখীন হয়েছে
+      description: ওপেনস্ট্রিটম্যাপ সার্ভার কোন অপ্রত্যাশিত অবস্থার সম্মুখীন হয়েছে
         যার ফলে অনুরোধ পূরণ করা যাচ্ছে না (HTTP ৫০০)
     not_found:
       title: ফাইল পাওয়া যায়নি
@@ -1445,8 +1446,6 @@ bn:
   messages:
     inbox:
       title: ইনবক্স
-      my_inbox: আমার ইনবক্স
-      my_outbox: আমার আউটবক্স
       messages: আপনার %{new_messages} ও %{old_messages} রয়েছে
       new_messages:
         one: '%{count}টি নতুন বার্তা'
@@ -1454,39 +1453,37 @@ bn:
       old_messages:
         one: '%{count}টি পুরনো বার্তা'
         other: '%{count}টি পুরনো বার্তা'
-      from: প্রেরক
-      subject: বিষয়
-      date: তারিখ
       no_messages_yet_html: আপনার কাছে এখনো কোনো বার্তা নেই। কেন কিছু %{people_mapping_nearby_link}-এর
         সাথে যোগাযোগ করবেন না?
       people_mapping_nearby: কাছাকাছি অবদানকারী
+    messages_table:
+      from: প্রেরক
+      to: প্রাপক
+      subject: বিষয়
+      date: তারিখ
     message_summary:
       unread_button: অপঠিত হিসেবে চিহ্নিত করুন
       read_button: পঠিত হিসেবে চিহ্নিত করুন
       reply_button: প্রত্যুত্তর
       destroy_button: মুছুন
+      unmute_button: ইনবক্সে সরান
     new:
       title: বার্তা পাঠান
       send_message_to_html: '%{name}কে একটি নতুন বার্তা পাঠান'
       back_to_inbox: ইনবক্সে ফিরে যান
     create:
       message_sent: বার্তা পাঠানো হয়েছে
-      limit_exceeded: সাম্প্রতিক আপনি একগুচ্ছ বার্তা পাঠিয়েছেন। আর কোন বার্তা পাঠানোর
+      limit_exceeded: সাম্প্রতিক আপনি একগুচ্ছ বার্তা পাঠিয়েছেন। আর কোন বার্তা পাঠানোর
         পূর্বে দয়া করে কিছুক্ষণ অপেক্ষা করুন।
     no_such_message:
-      title: কোন বার্তা নেই
-      heading: কোন বার্তা নেই
+      title: কোন বার্তা নেই
+      heading: কোন বার্তা নেই
       body: এই আইডির সাথে কোনও বার্তালাপ নেই।
     outbox:
       title: বহির্বাক্স
-      my_inbox: আমার ইনবক্স
-      my_outbox: আমার আউটবক্স
       messages:
         one: আপনি %{count}টি বার্তা পাঠিয়েছেন
         other: আপনি %{count}টি বার্তা পাঠিয়েছেন
-      to: প্রাপক
-      subject: বিষয়
-      date: তারিখ
       people_mapping_nearby: কাছাকাছি মানচিত্রকার
     show:
       title: বার্তা পড়ুন
@@ -1496,23 +1493,27 @@ bn:
       back: পিছনে
     sent_message_summary:
       destroy_button: অপসারণ
+    heading:
+      my_inbox: আমার ইনবক্স
+      my_outbox: আমার আউটবক্স
     mark:
       as_read: বার্তা পঠিত হিসেবে চিহ্নিত করুন
       as_unread: বার্তা অপঠিত হিসেবে চিহ্নিত করুন
     destroy:
       destroyed: বার্তা মোছা হয়েছে
   passwords:
-    lost_password:
+    new:
       title: পাসওয়ার্ড ভুলে গেছেন
       heading: পাসওয়ার্ড ভুলে গেছেন?
-      email address: 'ইমেইল ঠিকানা:'
+      email address: ইমেইল ঠিকানা
       new password button: পাসওয়ার্ড পুনঃনির্ধারণ
       help_text: নিবন্ধনের সময় ব্যবহৃত আপনার ইমেইল ঠিকানাটি লিখুন, ইমেইলের মাধ্যমে
         আমরা একটি লিঙ্ক পাঠাবো যার মাধ্যমে আপনি পাসওয়ার্ড পরিবর্তন করতে পারবেন।
-    reset_password:
+    edit:
       title: পাসওয়ার্ড পুনঃনির্ধারণ
       heading: '%{user} এর পাসওয়ার্ড পুনর্বদল করুন'
       reset: পাসওয়ার্ড পুনঃনির্ধারণ
+    update:
       flash changed: আপনার পাসওয়ার্ড পরিবর্তন করা হয়েছে।
   preferences:
     show:
@@ -1543,8 +1544,8 @@ bn:
     new:
       title: প্রবেশ
       heading: প্রবেশ
-      email or username: ইমেইল ঠিকানা অথবা ব্যবহারকারীনাম
-      password: 'পাসওয়ার্ড:'
+      email or username: ইমেইল ঠিকানা অথবা ব্যবহারকারী নাম
+      password: পাসওয়ার্ড
       remember: আমাকে মনে রাখো
       lost password link: পাসওয়ার্ড ভুলে গেছেন?
       login_button: প্রবেশ
@@ -1584,6 +1585,7 @@ bn:
       image: ছবি
       alt: বিকল্প পাঠ্য
       url: ইউআরএল
+      codeblock: কোড ব্লক
     richtext_field:
       edit: সম্পাদনা
       preview: প্রাকদর্শন
@@ -1648,15 +1650,10 @@ bn:
       user_page_link: ব্যবহারকারীর পাতা
     export:
       title: রপ্তানি
-      area_to_export: রপ্তানির এলাকা
       manually_select: ম্যানুয়ালি একটি ভিন্ন জায়গা নির্বাচন করুন
-      format_to_export: রপ্তানির বিন্যাস
-      osm_xml_data: ওপেনস্ট্রিটম্যাপ এক্সএমএল উপাত্ত
-      map_image: মানচিত্র ছবি (মান্য স্তর দেখাও)
-      embeddable_html: অভ্যন্তরীণ HTML
       licence: লাইসেন্স
       too_large:
-        advice: 'যদি à¦\89পরà§\87র à¦°à¦ªà§\8dতানি à¦¬à§\8dযরà§\8dথ à¦¹à¦¯à¦¼, à¦¦à¦¯à¦¼à¦¾ à¦\95রà§\87 à¦¨à§\80à¦\9aà§\87 à¦¤à¦¾à¦²à¦¿à¦\95াভà§\81à¦\95à§\8dত à¦\89à§\8eসà§\87র à¦\95à§\8bন
+        advice: 'যদি à¦\89পরà§\87র à¦°à¦ªà§\8dতানি à¦¬à§\8dযরà§\8dথ à¦¹à¦¯à¦¼, à¦¦à¦¯à¦¼à¦¾ à¦\95রà§\87 à¦¨à¦¿à¦\9aà§\87 à¦¤à¦¾à¦²à¦¿à¦\95াভà§\81à¦\95à§\8dত à¦\89à§\8eসà§\87র à¦\95à§\8bনà§\8b
           একটি ব্যবহারের জন্য বিবেচনা করুন:'
         planet:
           title: ওএসএম জগৎ
@@ -1668,17 +1665,6 @@ bn:
         other:
           title: অন্যান্য উৎস
           description: ওপেনস্ট্রিটম্যাপ উইকিতে অতিরিক্ত সূত্র তালিকাভুক্ত রয়েছে
-      options: বিকল্প
-      format: বিন্যাস
-      scale: স্কেল
-      max: সর্বোচ্চ
-      image_size: চিত্রের আকার
-      zoom: জুম
-      add_marker: মানচিত্রে একটি চিহ্নিতকারী যোগ করুন
-      latitude: 'অক্ষাংশ:'
-      longitude: 'দ্রাঘিমাংশ:'
-      output: আউটপুট
-      paste_html: তথ্যক্ষেত্রে HTML নিহিত করতে প্রতিলেপন করুন
       export_button: রপ্তানি
     fixthemap:
       title: সমস্যা জানান / মানচিত্র ঠিক করুন
@@ -1737,37 +1723,42 @@ bn:
           cycleway_local: স্থানীয় সাইকেলের রাস্তা
           footway: ফুটপাথ
           rail: রেলপথ
+          train: রেলগাড়ি
           subway: ভূগর্ভস্থ পথ
-          tram:
-            1: ট্রাম
-          cable:
-          - ক্যাবল কার
-          apron:
-            1: টার্মিনাল
+          ferry: ফেরি
+          tram: ট্রাম
+          bus: বাস
+          cable_car: ক্যাবল কার
           admin: প্রশাসনিক সীমানা
+          orchard: ফলবাগিচা
+          vineyard: আঙুর খেত
           forest: অরণ্য
-          wood: বন
+          wood: কাঠ
+          farmland: কৃষিজমি
+          meadow: তৃণভূমি
+          sand: বালু
           golf: গল্ফ মাঠ
           park: উদ্যান
+          common: সাধারণ
           resident: আবাসিক এলাকা
-          common:
-          - সাধারণ
           industrial: শিল্পাঞ্চল
           commercial: বাণিজ্যিক এলাকা
-          lake:
-          - হ্রদ
-          - জলাধার
+          lake: হ্রদ
+          reservoir: জলাধার
+          glacier: হিমবাহ
           farm: খামার
           cemetery: কবরস্থান
           centre: ক্রীড়া কেন্দ্র
           military: সামরিক এলাকা
-          school:
-          বিদ্যালয়
-          - বিশ্ববিদ্যালয়
+          school: বিদ্যালয়
+          university: বিশ্ববিদ্যালয়
+          hospital: হাসপাতাল
           station: রেল স্টেশন
-          summit:
-            1: শৃঙ্গ
+          peak: শৃঙ্গ
+          bus_stop: বাস স্টপ
+          stop: স্টপ
           bicycle_shop: সাইকেলের দোকান
+          bicycle_rental: সাইকেল ভাড়া
           bicycle_parking: সাইকেল পার্কিং
           toilets: পায়খানা
     welcome:
@@ -1923,9 +1914,9 @@ bn:
         সিদ্ধান্ত নিয়েছেন। আরও তথ্যের জন্য, অনুগ্রহ করে %{terms_declined_link} দেখুন।
       terms_declined_link: এই উইকি পাতা
     no_such_user:
-      title: এরকম কোন ব্যবহারকারী নেই
+      title: এরকম কোন ব্যবহারকারী নেই
       heading: ব্যবহারকারী %{user} বিদ্যমান নয়
-      body: দুঃখিত, %{user} নামের কোন ব্যবহারকারী নেই। অনুগ্রহ করে আপনার বানান পরীক্ষা
+      body: দুঃখিত, %{user} নামের কোন ব্যবহারকারী নেই। অনুগ্রহ করে আপনার বানান পরীক্ষা
         করুন, অথবা হয়ত আপনি যে সংযোগটিতে টোকা দিয়েছেন সেটি ভুল।
       deleted: অপসারিত
     show:
@@ -1979,7 +1970,7 @@ bn:
       summary_no_ip_html: '%{date}-এ %{name} তৈরি হয়েছে'
       confirm: নির্বাচিত ব্যবহারকারীদের নিশ্চিত করুন
       hide: নির্বাচিত ব্যবহারকারীদের লুকান
-      empty: কোন সাদৃশ্যপূর্ণ ব্যবহারকারী পাওয়া যায়নি
+      empty: কোন সাদৃশ্যপূর্ণ ব্যবহারকারী পাওয়া যায়নি
     suspended:
       title: অ্যাকাউন্ট স্থগিত করা হয়েছে
       heading: অ্যাকাউন্ট স্থগিত করা হয়েছে
@@ -2000,7 +1991,7 @@ bn:
         যুক্ত করুন।
   user_role:
     filter:
-      not_a_role: উক্ত `%{role}' টি কোন সঠিক দায়িত্ব নয়।
+      not_a_role: উক্ত `%{role}' টি কোন সঠিক দায়িত্ব নয়।
       already_has_role: এই ব্যবহারকারী %{role} দায়িত্বটি এখনো আছে।
       doesnt_have_role: এই ব্যবহারকারীর %{role} দায়িত্বটি নেই।
       not_revoke_admin_current_user: বর্তমান ব্যবহারকারীর থেকে প্রশাসকের ভূমিকা প্রত্যাহার
@@ -2029,6 +2020,8 @@ bn:
     revoke:
       revoke: প্রত্যাহার!
       flash: এই অবরোধ প্রত্যাহার করা হয়েছে।
+    revoke_all:
+      revoke: প্রত্যাহার!
     helper:
       block_duration:
         hours:
@@ -2048,6 +2041,11 @@ bn:
       display_name: বাধাপ্রাপ্ত ব্যবহারকারী
       next: পরবর্তী »
       previous: « পূর্ববর্তী
+  user_mutes:
+    index:
+      table:
+        tbody:
+          send_message: বার্তা পাঠান
   notes:
     show:
       title: 'টীকা: %{id}'
index 1a313b0652d304447ab69d720c0ecfcc918c10db..f0b3194b5b60a1b8a24ae7b4752f9dee86846fcc 100644 (file)
@@ -15,6 +15,7 @@
 # Author: McDutchie
 # Author: Nemo bis
 # Author: Shirayuki
+# Author: Troer56
 # Author: Y-M D
 ---
 br:
@@ -56,6 +57,9 @@ br:
       messages:
         invalid_email_address: ne ziskouez ket bezañ ur chomlec'h postel mat
         email_address_not_routable: n'haller ket routañ
+      models:
+        user_mute:
+          is_already_muted: a zo bet kuzhet dija
     models:
       acl: Listenn kontroll moned
       changeset: Hollad cheñchamantoù
@@ -1478,9 +1482,9 @@ br:
         many: '%{count} danevell'
         other: '%{count} danevell'
       no_reports: Danevell ebet
-      report_created_at: Disklêriet evit ar wech kentañ %{datetime}
-      last_resolved_at: Diskêriadur diwezhañ d'an %{datetime}
-      last_updated_at: Diskêriadur diwezhañ d'an %{datetime} gant %{displayname}
+      report_created_at_html: Disklêriet evit ar wech kentañ %{datetime}
+      last_resolved_at_html: Diskêriadur diwezhañ d'an %{datetime}
+      last_updated_at_html: Diskêriadur diwezhañ d'an %{datetime} gant %{displayname}
       resolve: Diskoulmañ
       ignore: Lezel a-gostez
       reopen: Addigeriñ
@@ -1752,8 +1756,6 @@ br:
   messages:
     inbox:
       title: Boest resev
-      my_inbox: Ma boest resev
-      my_outbox: Ma boest kas
       messages: '%{new_messages} ha %{old_messages} zo evidoc''h'
       new_messages:
         one: '%{count} gemennadenn nevez'
@@ -1761,17 +1763,21 @@ br:
       old_messages:
         one: '%{count} gemennadenn gozh'
         other: '%{count} kemennadenn gozh'
-      from: A-berzh
-      subject: Danvez
-      date: Deiziad
       no_messages_yet_html: N'hoc'h eus kemennadenn ebet c'hoazh. Ha ma'z afec'h e
         darempred gant darn eus an %{people_mapping_nearby_link}?
       people_mapping_nearby: tud o kartennañ en ardremez
+    messages_table:
+      from: A-berzh
+      to: Da
+      subject: Danvez
+      date: Deiziad
+      actions: Oberoù
     message_summary:
       unread_button: Merkañ evel anlennet
       read_button: Merkañ evel lennet
       reply_button: Respont
       destroy_button: Dilemel
+      unmute_button: Dilec'hiañ d'ar voest resev
     new:
       title: Kas ur gemennadenn
       send_message_to_html: Kas ur gemennadenn nevez da %{name}
@@ -1786,17 +1792,15 @@ br:
       body: Ho tigarez, n'eus kemennadenn ebet gant an id-se.
     outbox:
       title: Boest kas
-      my_inbox: Ma boest degemer
-      my_outbox: Ma boest kas
+      actions: Oberoù
       messages:
         one: Kaset hoc'h eus %{count} gemennadenn
         other: Kaset hoc'h eus %{count} kemennadenn
-      to: Da
-      subject: Danvez
-      date: Deiziad
       no_sent_messages_html: N'hoc'h eus kaset kemennadenn ebet c'hoazh. Ha ma'z afec'h
         a darempred gant darn eus an %{people_mapping_nearby_link}?
       people_mapping_nearby: tud o kartennañ en ardremez
+    muted:
+      title: Kemennadennoù kuzhet
     reply:
       wrong_user: Kevreet oc'h evel "%{user}", met ar gemennadenn a fell deoc'h respont
         outi n'eo ket bet kaset d'an implijer-se. Mar plij kevreit gant ar gont reizh
@@ -1812,28 +1816,38 @@ br:
         reizh evit gellout lenn anezhi.
     sent_message_summary:
       destroy_button: Dilemel
+    heading:
+      my_inbox: Ma boest resev
+      my_outbox: Ma boest kas
+      muted_messages: Kemennadennoù kuzhet
     mark:
       as_read: Kemennadenn merket evel lennet
       as_unread: Merkañ evel anlennet
+    unmute:
+      notice: Dilec'hiet eo bet ar gemennadenn d'ar voest resev
+      error: Ne c'haller ket dilec'hiañ ar gemennadenn d'ar voest resev.
     destroy:
       destroyed: Kemennadenn dilamet
   passwords:
-    lost_password:
+    new:
       title: Ger-tremen kollet
       heading: Ankouaet hoc'h eus ho ker-tremen ?
-      email address: 'Chomlec''h postel :'
+      email address: Chomlec'h postel
       new password button: Adderaouekaat ar ger-tremen
       help_text: Ebarzhit ar chomlec'h postel ho poa implijet evit en em enskrivañ,
         kaset e vo deoc'h ul liamm a c'hallot implijout evit adderaouekaat ho ker-tremen.
+    create:
       notice email on way: Kaset ez eus bet ur postel deoc'h evit adderaouekaat ho
         ker-tremen.
       notice email cannot find: Ho tigarez, n'eo ket bet kavet ar chomlec'h postel-se.
-    reset_password:
+    edit:
       title: Adderaouekaat ar ger-tremen
       heading: Adderaouekaat ar ger-tremen evit %{user}
       reset: Adderaouekaat ar ger-tremen
-      flash changed: Cheñchet eo bet ho ker-tremen.
       flash token bad: N'eo ket bet kavet ar jedouer-se, gwiriañ an URL marteze ?
+    update:
+      flash changed: Cheñchet eo bet ho ker-tremen.
+      flash token bad: N'eo ket bet kavet ar jedouer-se, gwiriit an URL mar plij.
   preferences:
     show:
       title: Ma fenndibaboù
@@ -1879,8 +1893,8 @@ br:
     new:
       title: Kevreañ
       heading: Kevreañ
-      email or username: 'Chomlec''h postel pe anv implijer :'
-      password: 'Ger-tremen :'
+      email or username: Chomlec'h postel pe anv implijer
+      password: Ger-tremen
       openid_html: '%{logo} OpenID :'
       remember: Derc'hel soñj ac'hanon
       lost password link: Ankouaet ho ker-tremen ganeoc'h ?
@@ -2066,6 +2080,7 @@ br:
           Degas a reomp da soñj da genlabourerien OSM ne zleont morse lakaat roadennoù a zeu
           eus mammennoù dindan wirioù (da sk. : Google Maps pe kartennoù moullet) hep aotre
           ezpleg ar re zo ar gwirioù-aozer ganto.
+        infringement_2_1_online_filing_page: pajenn danevelliñ enlinenn
         trademarks_title: Merkoù marilhet
         trademarks_1_1_trademark_policy: Politikerezh e-keñver ar merkoù
     index:
@@ -2092,12 +2107,7 @@ br:
         zo eus ar re-se evit an arc'hweladur-mañ.
     export:
       title: Ezporzhiañ
-      area_to_export: Takad da ezporzhiañ
       manually_select: Diuzañ un takad disheñvel gant an dorn
-      format_to_export: Furmad da ezporzhiañ
-      osm_xml_data: Roadennoù XML OpenStreetMap
-      map_image: Skeudenn gartenn (diskouez ur gwiskad boutin)
-      embeddable_html: HTML enkorfadus
       licence: Aotre-implijout
       licence_details_html: Roadennoù OpenStreetMap a zo dindan an aotre-implijout
         %{odbl_link} (ODbL).
@@ -2121,17 +2131,6 @@ br:
         other:
           title: Tarzhioù all
           description: Mammennoù all a gaver o roll er wiki OpenStreetMap
-      options: Dibarzhioù
-      format: Furmad
-      scale: Skeuliad
-      max: d'ar muiañ
-      image_size: Ment ar skeudenn
-      zoom: Zoum
-      add_marker: Ouzhpennañ ur merker d'ar gartenn
-      latitude: 'Led. :'
-      longitude: 'Hed. :'
-      output: Er-maez
-      paste_html: Pegañ HTML evit bezañ enkorfet en ul lec'hienn web
       export_button: Ezporzhiañ
     fixthemap:
       title: ' Diskouez ez eus ur gudenn / Reizhañ ar gartenn'
@@ -2216,67 +2215,82 @@ br:
           primary: Hent bras
           secondary: Hent bihan
           unclassified: Hent n'eo ket rummet
+          pedestrian: Hent evit an dud war-droad
           track: Roudenn
           bridleway: Hent evit kezeg
           cycleway: Roudenn divrodegoù
           cycleway_national: roudenn vroadel evit an divrodegoù
           cycleway_regional: Roudenn divrodegoù rannvroel
           cycleway_local: roudenn lec'hel evit an divrodegoù
+          cycleway_mtb: Hent MTB
           footway: Hent evit an dud war droad
           rail: Hent-houarn
+          train: Tren
           subway: Linenn vetro
-          tram:
-          - tramgarr
-          - tramgarr
-          cable:
-          - Teleferik
-          - fungador
-          runway:
-          - Roudenn evit an taksioù
-          - Roudenn evit an taksioù
-          apron:
-          - Roudenn aerborzh
-          - termenva
+          ferry: Karrlistri
+          light_rail: Metro skañv
+          tram: Tramgarr
+          trolleybus: Trollebus
+          bus: Karr-boutin
+          cable_car: Teleferik
+          chair_lift: Fungador
+          runway: Roudenn evit an taksioù
+          taxiway: Hent evit an taksioù
+          apron: Roudenn aerborzh
           admin: Bevenn velestradurel
+          capital: Kêr-benn
+          city: Kêr
+          orchard: Gwerje
+          vineyard: Gwinieg
           forest: Koad
           wood: Koad
+          farmland: Tachenn labour-douar
+          grass: Geot
+          meadow: Prad
+          bare_rock: Roc'h noazh
+          sand: Traezh
           golf: Tachenn golf
           park: Park
+          common: prad
+          built_up: Takad savet
           resident: Takad annez
-          common:
-          - prad
-          - prad
-          - liorzh
           retail: Takad kenwerzh
           industrial: Takad greantel
           commercial: Takad kenwerzhel
           heathland: Lanneier
-          lake:
-          - Lenn
-          - mirlec'h
+          scrubland: Strouezheg
+          lake: Lenn
+          reservoir: Mirlenn
+          glacier: Skorneg
+          reef: Karreg
+          wetland: Takad gleborek
           farm: Ti-feurm
           brownfield: Takad greanterezh
           cemetery: Bered
           allotments: Lodennaouegoù
           pitch: Tachenn sport
           centre: Kreizenn sport
+          beach: Traezhenn
           reserve: Gwarezva natur
           military: Takad milourel
-          school:
-          - Skol
-          - skol-veur
+          school: Skol
+          university: Skol-veur
+          hospital: Ospital
           building: Savadur pouezus
           station: Porzh-houarn
-          summit:
-          - Lein
-          - pikern
+          summit: Lein
+          peak: Pikern
           tunnel: Bord poentoùigoù = riboul
           bridge: Bord du = pont
           private: Moned prevez
           destination: Moned d'ar pal
           construction: Hentoù war ar stern
+          bus_stop: Arsav karr-boutin
+          stop: Arsav
           bicycle_shop: Stal varc'hoù-houarn
+          bicycle_rental: Stal feurmiñ marc'hoù-houarn
           bicycle_parking: Parklec'h belioù
+          bicycle_parking_small: Parklec'h marc'hoù-houarn bihan
           toilets: Privezioù
     welcome:
       title: Deuet-mat oc'h !
@@ -2285,6 +2299,10 @@ br:
         Setu amañ un nebeud displegadennoù diwar-benn an traoù pouezusañ da c'houzout.
       whats_on_the_map:
         title: Petra zo war ar gartenn
+        on_the_map_html: |-
+          OpenStreetMap zo ul lec'h evit kartennaouiñ traoù %{real_and_current} war un dro
+          -
+          Ennañ ez eus milionoù a savadurioù, a hentoù, hag a vunudoù all diwar-benn lec'hioù. Gallout a rit kartennaouiñ forzh peseurt tra eus ar bed gwirion hag a zedenn ac'hanoc'h.
         real_and_current: gwir hag a-vremañ
         off_the_map_html: Ar pezh %{doesnt} avat eo ar roadennoù evit notennoù roet
           gant an dud, elfennoù istorel pe martezeüs, hag ar roadennoù a zo dindan
@@ -2311,6 +2329,7 @@ br:
         imports: Enporzhiadurioù
         automated_edits: Kemmoù emgefre
       start_mapping: Kregiñ da gartennaouiñ
+      continue_authorization: Kenderc'hel gant an aotre
       add_a_note:
         title: N'ho peus ket amzer da aozañ ? Ouzhpennit un notenn !
         para_1: Ma fell deoc'h ober ur reizhadennig hepken ha ma n'ho peus ket amzer
@@ -2454,6 +2473,7 @@ br:
       oauth1_settings: Arventennoù OAuth 1
       oauth2_applications: Arloadoù OAuth 2
       oauth2_authorizations: Aotreoù OAuth 2
+      muted_users: Implijerien kuzhet
   oauth:
     authorize:
       title: Aotren mont d'ho kont
@@ -2560,6 +2580,7 @@ br:
   oauth2_authorizations:
     new:
       title: Rekis eo bezañ aotreet
+      introduction: Aotren %{application} da haeziñ ho kont gant an aotreoù-se?
       authorize: Aotren
       deny: Nac'hañ
     error:
@@ -2627,18 +2648,20 @@ br:
         mat, pe marteze hoc'h eus kliket war ul liamm fall.
       deleted: dilamet
     show:
-      my diary: ma deizlevr
-      my edits: ma aozadenn
-      my traces: ma roudoù
-      my notes: ma notennoù
+      my diary: Ma deizlevr
+      my edits: Ma c'hemm
+      my traces: Ma roudoù
+      my notes: Ma notennoù
       my messages: Ma c'hemennadennoù
       my profile: Ma frofil
       my settings: Ma arventennoù
-      my comments: ma evezhiadennoù
+      my comments: Ma evezhiadennoù
       my_preferences: Ma fenndibaboù
       my_dashboard: Ma zaolenn-vourzh
       blocks on me: Stankadurioù evidon
       blocks by me: stankadurioù graet ganin
+      create_mute: Kuzhat an implijer-mañ
+      destroy_mute: Diguzhat an implijer-mañ
       edit_profile: Aozañ ar profil
       send message: Kas ur gemennadenn
       diary: deizlevr
@@ -2659,12 +2682,15 @@ br:
       role:
         administrator: Ur merour eo an implijer-mañ
         moderator: Un habaskaer eo an implijer-mañ
+        importer: Un enporzhier/ez eo an implijer/ez-mañ
         grant:
           administrator: Reiñ ar moned merour
           moderator: Reiñ ar moned habaskaer
+          importer: Grataat gwirioù enporzhiañ
         revoke:
           administrator: Disteurel ar moned merour
           moderator: Disteurel ar moned habaskaer
+          importer: Lemel ar gwirioù enporzhiañ
       block_history: stankadurioù oberiant
       moderator_history: Stankadurioù roet
       comments: evezhiadennoù
@@ -2777,6 +2803,8 @@ br:
       confirm: Ha sur oc'h hoc'h eus c'hoant da derriñ ar stankadur-mañ ?
       revoke: Disteuler !
       flash: Torret eo bet ar stankadur-mañ.
+    revoke_all:
+      revoke: Disteuler!
     helper:
       time_future_html: Echuiñ a ray a-benn %{time}.
       until_login: Oberiant betek ma kevre an implijer.
@@ -2850,6 +2878,27 @@ br:
       showing_page: Page %{page}
       next: ↓War-lerc'h »
       previous: ↓« Kent
+  user_mutes:
+    index:
+      title: Implijerien kuzhet
+      my_muted_users: Ma implijerien kuzhet
+      you_have_muted_n_users:
+        one: Kuzhet ho peus %{count} implijer·ez
+        two: Kuzhet ho peus %{count} implijer·ez
+        few: Kuzhet ho peus %{count} implijer·ez
+        many: Kuzhet ho peus %{count} implijer·ez
+        other: Kuzhet ho peus %{count} implijer·ez
+      user_mute_explainer: Kemennadennoù an implijerien kuzhet a zo kaset d'ur voest-resev
+        disheñvel ha n'ho po kemenn ebet a-zivout o fosteloù.
+      table:
+        thead:
+          muted_user: Implijer·ez kuzhet
+          actions: Oberoù
+        tbody:
+          send_message: Kas ur gemennadenn
+    create:
+      notice: Kuzhet ho peus %{name}.
+      error: Ne c'haller ket kuzhat %{name}. %{full_message}.
   notes:
     index:
       title: Notennoù kaset pe addispleget gant %{user}
index 9d3df0ec2ad599cb74be4a50b0f76f7020d9065e..4a6edbf7810cf352142c6a155f9a1ef5142837e6 100644 (file)
@@ -955,7 +955,6 @@ bs:
   messages:
     inbox:
       title: Dolazna pošta
-      my_inbox: Moja dolazna pošta
       messages: Imate %{new_messages} i %{old_messages}
       new_messages:
         one: '%{count} nova poruka'
@@ -963,12 +962,14 @@ bs:
       old_messages:
         one: '%{count} stara poruka'
         other: '%{count} stare poruke'
-      from: Od
-      subject: Predmet
-      date: Datum
       no_messages_yet_html: Još uvijek nemate poruka. Zašto nebi stupili u kontakt
         s nekim ljudima iz okoline %{people_mapping_nearby_link}?
       people_mapping_nearby: osobe koje uređuju kartu blizu Vas
+    messages_table:
+      from: Od
+      to: Za
+      subject: Predmet
+      date: Datum
     message_summary:
       unread_button: Označiti kao nepročitano
       read_button: Označiti kao pročitano
@@ -991,9 +992,6 @@ bs:
       messages:
         one: Poslali ste %{count} poruku
         other: Poslali ste %{count} poruke/a
-      to: Za
-      subject: Predmet
-      date: Datum
       no_sent_messages_html: Još uvijek nemate poslanih poruka. Zašto nebi stupili
         u kontakt s nekim ljudima iz okoline %{people_mapping_nearby_link}?
       people_mapping_nearby: osobe koje uređuju kartu blizu Vas
@@ -1011,28 +1009,32 @@ bs:
         kao ispravan korisnik kako bi ste je pročitali.'
     sent_message_summary:
       destroy_button: Izbrisati
+    heading:
+      my_inbox: Moja dolazna pošta
     mark:
       as_read: Poruka označena kao pročitana
       as_unread: Poruka označena kao nepročitana
     destroy:
       destroyed: Poruka izbrisana
   passwords:
-    lost_password:
+    new:
       title: Izgubljena lozinka
       heading: Zaboravljena lozinka?
       email address: 'Adresa e-pošte:'
       new password button: Ponovno postavljanje lozinke
       help_text: Unesite e-mail adresu koju ste koristili za otvaranje računa i poslaćemo
         Vam link kojim možete ponovo postaviti lozinku.
+    create:
       notice email on way: Žao mi je što ste je izgubili :-( ali e-mail je na putu
         tako da je možete pononvo postaviti uskoro.
       notice email cannot find: Ne možemo pronaći tu e-mail adresu, žao nam je.
-    reset_password:
+    edit:
       title: Ponovno postavljanje lozinke
       heading: Ponovno postavljanje lozinke za %{user}
       reset: Ponovno postavljanje lozinke
-      flash changed: Vaša lozinka je promjenjena.
       flash token bad: Niste pronašli tz značku, možda da provjerite URL?
+    update:
+      flash changed: Vaša lozinka je promjenjena.
   profiles:
     edit:
       image: 'Slika:'
@@ -1127,12 +1129,7 @@ bs:
         za ovu značajku.
     export:
       title: Izvezi
-      area_to_export: Područje za izvoz
       manually_select: Ručno izabrati drukčije područje
-      format_to_export: Format za izvoz
-      osm_xml_data: OpenStreetMap XML podaci
-      map_image: Slika karte (prikazuje standardni sloj)
-      embeddable_html: HTML kod sa mogućnošću za umetanje
       licence: Dozvola
       too_large:
         body: Ovo područje je preveliko da bi se izvezlo kao OpenStreetMap XML podaci.
@@ -1141,17 +1138,6 @@ bs:
         other:
           title: Drugi izvori
           description: Dodatni izvori ponuđeni na OpenStreetMap wiki
-      options: Opcije
-      format: Format
-      scale: Skala
-      max: najviše
-      image_size: Veličina slike
-      zoom: Uvećanje
-      add_marker: Dodati marker na kartu
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Izlaz
-      paste_html: Zalijepiti HTML za umetanje na web stranicu
       export_button: Izvoz
     fixthemap:
       how_to_help:
@@ -1194,34 +1180,24 @@ bs:
           footway: Pješačka staza
           rail: Željeznica
           subway: Podzemna željeznica
-          tram:
-          - Lahka željeznica
-          - tramvaj
-          cable:
-          - Kabinska žičara
-          - Uspinjača sa naslonjačem
-          runway:
-          - Aerodromska pista
-          - Aerodromska rulna staza
-          apron:
-          - Parking za avione
-          - terminal
+          cable_car: Kabinska žičara
+          chair_lift: Uspinjača sa naslonjačem
+          runway: Aerodromska pista
+          taxiway: Aerodromska rulna staza
+          apron: Parking za avione
           admin: Administrativna granica
           forest: Šume (održavane, od šumarije)
           wood: Šume (prirodne, neodržavane)
           golf: Golf teren
           park: Park
+          common: Travnjaci
           resident: Stambeno područje
-          common:
-          - Travnjaci
-          - Livada
           retail: Maloprodajno područje
           industrial: Industrijsko područje
           commercial: Poslovno područje
           heathland: Stepa
-          lake:
-          - Jezero
-          - Rezervoar
+          lake: Jezero
+          reservoir: Rezervoar
           farm: Polja, farme, njive
           brownfield: Gradilište
           cemetery: Groblje
@@ -1230,14 +1206,12 @@ bs:
           centre: Sportski centar
           reserve: Rezervat prirode
           military: Vojno područje
-          school:
-          - Škola
-          - Univerzitet
+          school: Škola
+          university: Univerzitet
           building: Značajna zgrada
           station: Željeznička stanica
-          summit:
-          - Vrh
-          - Kota
+          summit: Vrh
+          peak: Kota
           tunnel: Iscrtkani rubovi = tunel
           bridge: Crni rubovi = most
           private: Privatni pristup
index 03219768c1a4603b6add84c00bf9da5386fb4231..da328fa0d069b3557b2df19e990faf80831333b5 100644 (file)
@@ -1474,9 +1474,9 @@ ca:
         one: '%{count} informe'
         other: '%{count} informes'
       no_reports: Cap informe
-      report_created_at: Denunciat per primer cop a %{datetime}
-      last_resolved_at: Resolt per darrer cop a %{datetime}
-      last_updated_at: Actualitzat per darrer cop a %{datetime} per %{displayname}
+      report_created_at_html: Denunciat per primer cop a %{datetime}
+      last_resolved_at_html: Resolt per darrer cop a %{datetime}
+      last_updated_at_html: Actualitzat per darrer cop a %{datetime} per %{displayname}
       resolve: Resol
       ignore: Ignora
       reopen: Torna a obrir
@@ -1760,8 +1760,6 @@ ca:
   messages:
     inbox:
       title: Safata d'entrada
-      my_inbox: La meva safata d'entrada
-      my_outbox: La meva safata de sortida
       messages: Teniu %{new_messages} i %{old_messages}
       new_messages:
         one: '%{count} missatge nou'
@@ -1769,16 +1767,20 @@ ca:
       old_messages:
         one: '%{count} missatge antic'
         other: '%{count} missatges antics'
+      no_messages_yet_html: No teniu cap missatge. Per què no contacteu amb %{people_mapping_nearby_link}?
+      people_mapping_nearby: gent que cartografia a prop
+    messages_table:
       from: De
+      to: Per a
       subject: Assumpte
       date: Data
-      no_messages_yet_html: No teniu cap missatge. Per què no contacteu amb %{people_mapping_nearby_link}?
-      people_mapping_nearby: gent que cartografia a prop
+      actions: Accions
     message_summary:
       unread_button: Marca com a no llegit
       read_button: Marca com a llegit
       reply_button: Respon
       destroy_button: Suprimeix
+      unmute_button: Mou a la safata d'entrada
     new:
       title: Envia un missatge
       send_message_to_html: Envia un missatge nou a %{name}
@@ -1793,17 +1795,15 @@ ca:
       body: No hi ha cap missatge amb aquesta id.
     outbox:
       title: Safata de sortida
-      my_inbox: La meva safata d'entrada
-      my_outbox: La meva safata de sortida
+      actions: Accions
       messages:
         one: Teniu %{count} missatge enviat
         other: Teniu %{count} missatges enviats
-      to: Per a
-      subject: Assumpte
-      date: Data
       no_sent_messages_html: Encara no heu enviat cap missatge. Per què no contacteu
         amb algunes de les %{people_mapping_nearby_link}?
       people_mapping_nearby: gent que cartografia a prop
+    muted:
+      title: Missatges silenciats
     reply:
       wrong_user: Heu iniciat la sessió com a "%{user}", però el missatge que voleu
         respondre no s'ha enviat a aquest usuari. Per a poder respondre, inicieu la
@@ -1819,28 +1819,37 @@ ca:
         la sessió amb l'usuari correcte.
     sent_message_summary:
       destroy_button: Suprimeix
+    heading:
+      my_inbox: La meva safata d'entrada
+      my_outbox: La meva safata de sortida
+      muted_messages: Missatges silenciats
     mark:
       as_read: Missatge marcat com a llegit
       as_unread: Missatge marcat com a no llegit
+    unmute:
+      notice: El missatge s'ha mogut a la safata d'entrada
+      error: No s'ha pogut moure el missatge a la safata d'entrada.
     destroy:
       destroyed: Missatge suprimit
   passwords:
-    lost_password:
+    new:
       title: Contrasenya perduda
       heading: Heu oblidat la contrasenya?
       email address: 'Adreça de correu electrònic:'
       new password button: Restableix la contrasenya
       help_text: Introduïu l'adreça de correu electrònic que vau utilitzar per registrar-vos;
         us hi enviarem un enllaç per a restablir la contrasenya.
+    create:
       notice email on way: Lamentem que l'hàgiu perdut :-( però ja us hem enviat un
         correu i la podreu restablir ben aviat.
       notice email cannot find: No s'ha trobat aquesta adreça de correu.
-    reset_password:
+    edit:
       title: Restableix la contrasenya
       heading: Restableix la contrasenya per a %{user}
       reset: Restableix la contrasenya
-      flash changed: S'ha canviat la contrasenya.
       flash token bad: No s'ha trobat el testimoni. Comproveu l'URL.
+    update:
+      flash changed: S'ha canviat la contrasenya.
   preferences:
     show:
       title: Les meves preferències
@@ -2063,6 +2072,9 @@ ca:
         contributors_at_cc_by_at_with_amendments: CC BY AT amb esmenes
         contributors_au_australia: Austràlia
         contributors_ca_canada: Canadà
+        contributors_cz_czechia: Txèquia
+        contributors_cz_cc_licence: Llicència Creative Commons Reconeixement 4.0 Internacional
+          (CC BY 4.0)
         contributors_fi_finland: Finlàndia
         contributors_fr_credit_html: '%{france}: Conté dades d''origen de la «Direction
           Générale des Impôts».'
@@ -2136,12 +2148,7 @@ ca:
         són necessàries per a aquesta funcionalitat.
     export:
       title: Exporta
-      area_to_export: Àrea a exportar
       manually_select: Selecciona manualment una àrea diferent
-      format_to_export: Format d'exportació
-      osm_xml_data: Dades XML d'OpenStreetMap
-      map_image: Imatge de mapa (mostra una capa estàndard)
-      embeddable_html: HTML incrustable
       licence: Llicència
       licence_details_html: Les dades d'OpenStreetMap estan sota la llicència %{odbl_link}
         (ODbL).
@@ -2167,17 +2174,6 @@ ca:
         other:
           title: Altres fonts
           description: Fonts addicionals llistades al wiki d'OpenStreetMap
-      options: Opcions
-      format: Format
-      scale: Escala
-      max: màx
-      image_size: Mida de la imatge
-      zoom: Zoom
-      add_marker: Afegeix un marcador en el mapa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Sortida
-      paste_html: Enganxa HTML per incrustar-lo al lloc web
       export_button: Exporta
     fixthemap:
       title: Informeu d'un problema / Corregiu el mapa
@@ -2279,6 +2275,7 @@ ca:
           primary: Carretera principal
           secondary: Carretera secundària
           unclassified: Carretera sense classificar
+          pedestrian: Via per a vianants
           track: Pista - Camí
           bridleway: Camí de ferradura
           cycleway: Carril bici
@@ -2287,36 +2284,44 @@ ca:
           cycleway_local: Carril bici local
           footway: Via de vianants
           rail: Ferrocarril
+          train: Tren
           subway: Metro
-          tram:
-          - Tren lleuger
-          - tramvia
-          cable:
-          - Telefèric
-          - telecadira
-          runway:
-          - Pista d'aeroport
-          - carrer de rodatge
-          apron:
-          - Estacionament d'avions
-          - terminal
+          ferry: Ferri
+          light_rail: Ferrocarril lleuger
+          tram: Tramvia
+          trolleybus: Troleibús
+          bus: Autobús
+          cable_car: Telefèric
+          chair_lift: Telecadira
+          runway: Pista d'aeroport
+          taxiway: Carrer de rodatge
+          apron: Estacionament d'avions
           admin: Límit administratiu
+          orchard: Hort
+          vineyard: Vinya
           forest: Bosc
-          wood: Fusta
+          wood: Arbreda
+          farmland: Terra de conreu
+          grass: Gespa
+          meadow: Prada
+          bare_rock: Roca pelada
+          sand: Sorra
           golf: Camp de golf
           park: Parc
+          common: Àrea comunal
+          built_up: Zona edificada
           resident: Zona residencial
-          common:
-          - Àrea comunal
-          - prat
-          - jardí
           retail: Àrea comercial
           industrial: Zona industrial
           commercial: Zona comercial
           heathland: Bruguerar
-          lake:
-          - Llac
-          - bassa
+          scrubland: Matolls
+          lake: Llac
+          reservoir: Embassament
+          intermittent_water: Cos d'aigua intermitent
+          glacier: Glacera
+          reef: Escull
+          wetland: Aiguamoll
           farm: Granja
           brownfield: Àrea industrial abandonada
           cemetery: Cementiri
@@ -2325,19 +2330,19 @@ ca:
           centre: Centre esportiu
           reserve: Reserva natural
           military: Àrea militar
-          school:
-          - Escola - Institut
-          - Universitat
+          school: Escola - Institut
+          university: Universitat
+          hospital: Hospital
           building: Edifici significatiu
           station: Estació de tren
-          summit:
-          - Cim
-          - pic
+          summit: Cim
+          peak: Cim
           tunnel: Línia discontínua = túnel
           bridge: Línia negra = pont
           private: Accés privat
           destination: Servitud de pas
           construction: Carreteres en construcció
+          bus_stop: Parada d'autobús
           bicycle_shop: Botiga de bicicletes
           bicycle_parking: Aparcament de bicicletes
           toilets: Lavabos
index 7073f6b085dd74096b9d9c91b0dd8cbf795d7d80..14455d1a3c04fbdbf417f838f3ded49b740f9167 100644 (file)
@@ -738,7 +738,9 @@ ce:
   messages:
     inbox:
       title: ЧуйогӀурш
+    messages_table:
       from: Хьаьнгара
+      to: Хьаьнга
       subject: Тема
       date: Терахь
     message_summary:
@@ -748,9 +750,6 @@ ce:
       back_to_inbox: ЧубогӀучаьрга йуханехьа
     outbox:
       title: ДӀайохьуьйтурш
-      to: Хьаьнга
-      subject: Тема
-      date: Терахь
     show:
       title: Хаамашка хьажар
       reply_button: Жоп ло
@@ -760,15 +759,16 @@ ce:
     sent_message_summary:
       destroy_button: ДӀайаккха
   passwords:
-    lost_password:
+    new:
       title: Пароль меттахӀоттор
       heading: Йицйелла пароль?
       email address: 'Электронан поштан адрес:'
       new password button: Керла пароль кхосса соьга
-    reset_password:
+    edit:
       title: Йуха а йазйе пароль
       heading: Йуха а йазйе пароль %{user}
       reset: ХӀоттайе пароль
+    update:
       flash changed: Хьан пароль хийцина.
   profiles:
     edit:
@@ -803,12 +803,7 @@ ce:
         infringement_title_html: Авторийн бакъонаш талхор
     export:
       title: Экспорт йан
-      area_to_export: Экспорт йаран меттиг
       manually_select: Билгале кхин меттиг
-      format_to_export: Экспортан формат
-      osm_xml_data: OpenStreetMap XML форматехь хаамаш
-      map_image: Картан сурт (гайта стандартан гӀатт)
-      embeddable_html: Нисйан луш йолу HTML
       licence: Лицензи
       too_large:
         planet:
@@ -819,16 +814,6 @@ ce:
           title: Чуйолурш Geofabrik
         other:
           title: Кхин хьосташ
-      options: Параметраш
-      format: Формат
-      scale: Гар
-      max: макс.
-      image_size: 'Суьртан барам:'
-      zoom: Улле йалайе
-      add_marker: Картан тӀе маркер йилла
-      latitude: 'Шоралла:'
-      longitude: 'Дохалла:'
-      output: Хилам
       export_button: Экспорт йан
     fixthemap:
       title: Хаамбе гӀалатах лаце / нийсде карта
index 5323b908973dbe96c698163b185c22672132c4b9..32b874f7a5b42c94ccf9b9d4e30b1c258fed29a5 100644 (file)
@@ -883,7 +883,7 @@ cs:
           "yes": Most
         building:
           apartment: Apartmán
-          apartments: Apartmány
+          apartments: Bytový dům
           barn: Stodola
           bungalow: Bungalov
           cabin: Chatka
@@ -1542,9 +1542,9 @@ cs:
         many: '%{count} hlášení'
         other: '%{count} hlášení'
       no_reports: Žádná hlášení
-      report_created_at: První hlášení v %{datetime}
-      last_resolved_at: Naposledy vyřešeno v %{datetime}
-      last_updated_at: Poslední aktualizace v %{datetime} od %{displayname}
+      report_created_at_html: První hlášení v %{datetime}
+      last_resolved_at_html: Naposledy vyřešeno v %{datetime}
+      last_updated_at_html: Poslední aktualizace v %{datetime} od %{displayname}
       resolve: Vyřešit
       ignore: Ignorovat
       reopen: Znovu otevřít
@@ -1827,8 +1827,6 @@ cs:
   messages:
     inbox:
       title: Doručená pošta
-      my_inbox: Má doručená pošta
-      my_outbox: Moje odchozí
       messages: Máte %{new_messages} a %{old_messages}
       new_messages:
         few: '%{count} nové zprávy'
@@ -1838,12 +1836,14 @@ cs:
         few: '%{count} staré zprávy'
         one: '%{count} starou zprávu'
         other: '%{count} starých zpráv'
-      from: Od
-      subject: Předmět
-      date: Datum
       no_messages_yet_html: Zatím nemáte žádné zprávy. Co třeba kontaktovat nějaké
         %{people_mapping_nearby_link}?
       people_mapping_nearby: uživatele poblíž
+    messages_table:
+      from: Od
+      to: Komu
+      subject: Předmět
+      date: Datum
     message_summary:
       unread_button: Označit jako nepřečtené
       read_button: Označit jako přečtené
@@ -1863,15 +1863,10 @@ cs:
       body: Je mi líto, ale žádná zpráva s tímto ID neexistuje.
     outbox:
       title: Odeslaná pošta
-      my_inbox: Moje příchozí
-      my_outbox: Moje odchozí
       messages:
         few: Máte %{count} odeslané zprávy
         one: Máte %{count} odeslanou zprávu
         other: Máte %{count} odeslaných zpráv
-      to: Komu
-      subject: Předmět
-      date: Datum
       no_sent_messages_html: Nemáte žádné odeslané zprávy. Co třeba kontaktovat nějaké
         %{people_mapping_nearby_link}?
       people_mapping_nearby: uživatele poblíž
@@ -1890,28 +1885,33 @@ cs:
         se pod správným účtem.
     sent_message_summary:
       destroy_button: Smazat
+    heading:
+      my_inbox: Má doručená pošta
+      my_outbox: Moje odchozí
     mark:
       as_read: Zpráva označena jako přečtená
       as_unread: Zpráva označena jako nepřečtená
     destroy:
       destroyed: Zpráva smazána
   passwords:
-    lost_password:
+    new:
       title: Ztracené heslo
       heading: Zapomněli jste heslo?
       email address: 'E-mailová adresa:'
       new password button: Resetovat heslo
       help_text: Zadejte e-mailovou adresu, pod kterou jste se zaregistrovali, my
         vám na ni pošleme odkaz, pomocí kterého si nastavíte nové heslo.
+    create:
       notice email on way: Škoda zapomenutého hesla :-( e-mail už je na cestě, takže
         si budete brzy moci zvolit nové.
       notice email cannot find: Je mi líto, ale nemohu najít tuto e-mailovou adresu.
-    reset_password:
+    edit:
       title: Obnovit heslo
       heading: Resetovat heslo pro %{user}
       reset: Resetovat heslo
-      flash changed: Vaše heslo bylo změněno.
       flash token bad: Odpovídající kód nebyl nalezen, možná zkontrolujte URL?
+    update:
+      flash changed: Vaše heslo bylo změněno.
   preferences:
     show:
       title: Moje preference
@@ -2247,12 +2247,7 @@ cs:
         jsou pro tuto funkci nezbytné.
     export:
       title: Export
-      area_to_export: Oblast k exportu
       manually_select: Ručně vybrat jinou oblast
-      format_to_export: Formát exportu
-      osm_xml_data: Data OpenStreetMap XML
-      map_image: Obrázek mapy (zobrazuje standardní vrstvu)
-      embeddable_html: Vkládatelné HTML
       licence: Licence
       licence_details_html: Data OpenStreetMap jsou licencována pod %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -2275,17 +2270,6 @@ cs:
         other:
           title: Další zdroje
           description: Další zdroje uvedené na wiki OpenStreetMap
-      options: Možnosti
-      format: Formát
-      scale: Měřítko
-      max: max.
-      image_size: Velikost obrázku
-      zoom: Zoom
-      add_marker: Přidat do mapy značku
-      latitude: 'Šířka:'
-      longitude: 'Délka:'
-      output: Výstup
-      paste_html: Ke vložení na stránku použijte toto HTML
       export_button: Export
     fixthemap:
       title: Nahlásit problém / opravit mapu
@@ -2393,35 +2377,24 @@ cs:
           footway: Pěší cesta
           rail: Železnice
           subway: Metro
-          tram:
-          - Rychlodráha
-          - tramvaj
-          cable:
-          - Lanovka
-          - sedačková lanovka
-          runway:
-          - Vzletová a přistávací dráha
-          - pojezdová dráha
-          apron:
-          - Letištní odbavovací plocha
-          - terminál
+          cable_car: Lanovka
+          chair_lift: sedačková lanovka
+          runway: Vzletová a přistávací dráha
+          taxiway: pojezdová dráha
+          apron: Letištní odbavovací plocha
           admin: Administrativní hranice
           forest: Les
           wood: Les
           golf: Golfové hřiště
           park: Park
+          common: Pastvina
           resident: Obytná oblast
-          common:
-          - Pastvina
-          - louka
-          - zahrada
           retail: Nákupní oblast
           industrial: Průmyslová oblast
           commercial: Kancelářská oblast
           heathland: Vřesoviště
-          lake:
-          - Jezero
-          - nádrž
+          lake: Jezero
+          reservoir: nádrž
           farm: Farma
           brownfield: Zbořeniště
           cemetery: Hřbitov
@@ -2430,14 +2403,12 @@ cs:
           centre: Sportovní centrum
           reserve: Přírodní rezervace
           military: Vojenský prostor
-          school:
-          - Škola
-          - univerzita
+          school: Škola
+          university: univerzita
           building: Významná budova
           station: Nádraží
-          summit:
-          - Vrchol
-          - hora
+          summit: Vrchol
+          peak: hora
           tunnel: Čárkované obrysy = tunel
           bridge: Černé obrysy = most
           private: Soukromý pozemek
index aa673f8315f443f783e7f25072e09668fb928c03..7f12593697471d791e5493152449d5104703d682 100644 (file)
@@ -819,11 +819,15 @@ cy:
           college: Adeilad Coleg
           commercial: Adeilad Masnachol
           construction: Adeilad yn cael ei Adeiladu
+          detached: Tŷ Datgysylltiedig
           dormitory: Dorm
+          duplex: Tŷ Deublyg
           farm: Ffermdy
+          farm_auxiliary: Tŷ Fferm Ategol
           garage: Garej
           garages: Garejis
           greenhouse: Tŷ Gwydr
+          hangar: Hangar
           hospital: Adeilad Ysbyty
           hotel: Adeilad Gwesty
           house: Tŷ
@@ -831,11 +835,13 @@ cy:
           hut: Cwt
           industrial: Adeilad Diwydiannol
           kindergarten: Adeilad Meithrinfa
+          manufacture: Adeilad Gweithgynhyrchu
           office: Adeilad Swyddfa
           public: Adeilad Cyhoeddus
           residential: Adeilad Preswyl
           retail: Adeilad Adwerthu
           roof: To
+          ruins: Adeilad Adfeiliedig
           school: Adeilad Ysgol
           shed: Sied
           stable: Stabl
@@ -1387,14 +1393,16 @@ cy:
         many: '%{count} adroddiad'
         other: '%{count} adroddiad'
       no_reports: Dim adroddiadau
-      report_created_at: Adroddwyd gyntaf am %{datetime}
-      last_resolved_at: Datryswyd ddiwethaf am %{datetime}
-      last_updated_at: Diweddarwyd ddiwethaf am %{datetime} gan %{displayname}
+      report_created_at_html: Adroddwyd gyntaf am %{datetime}
+      last_resolved_at_html: Datryswyd ddiwethaf am %{datetime}
+      last_updated_at_html: Diweddarwyd ddiwethaf am %{datetime} gan %{displayname}
       resolve: Datrys
       ignore: Anwybyddu
       reopen: Ailagor
       read_reports: Darllen Adroddiadau
       new_reports: Adroddiadau Newydd
+    comments:
+      comment_from_html: Sylw gan %{user_link} ar %{comment_created_at}
     reports:
       reported_by_html: Adroddwyd fel %{category} gan %{user} ar %{updated_at}
     helper:
@@ -1454,10 +1462,12 @@ cy:
     intro_text: Mae OpenStreetMap yn fap o'r byd, wedi'i greu gan bobl fel chi ac
       sydd ar gael i'w ddefnyddio am ddim a dan drwydded rydd.
     intro_2_create_account: Creu cyfrif defnyddiwr
+    hosting_partners_html: Cefnogir y gynhaliaeth gan %{ucl}, %{fastly}, %{bytemark}
+      a %{partners} eraill
     partners_ucl: UCL
     partners_fastly: Fastly
     partners_bytemark: Bytemark Hosting
-    partners_partners: partneriaid
+    partners_partners: phartneriaid
     tou: Telerau Gwasanaeth
     osm_offline: Mae cronfa ddata OpenStreetMap all-lein ar hyn o bryd er mwyn gwaith
       cynnal a chadw hanfodol.
@@ -1524,12 +1534,15 @@ cy:
       hi: Helo %{to_user},
       greeting: Helo,
       commented:
+        subject_own: '[OpenStreetMap] Gwnaeth %{commenter} sylw ar un o''ch grwpiau
+          newid'
         partial_changeset_with_comment: gyda sylw '%{changeset_comment}'
         partial_changeset_with_comment_html: gyda sylw '%{changeset_comment}'
         partial_changeset_without_comment: dim sylw
   confirmations:
     confirm:
       heading: Gwiriwch eich e-byst!
+      introduction_1: Rydym wedi anfon e-bost cadarnhau atoch.
       button: Cadarnhau
       click_here: cliciwch yma
     confirm_resend:
@@ -1542,8 +1555,6 @@ cy:
   messages:
     inbox:
       title: Mewnflwch
-      my_inbox: Fy Mewnflwch
-      my_outbox: Fy Mlwch Allan
       messages: Mae gennych %{new_messages} a %{old_messages}
       new_messages:
         zero: '%{count} neges newydd'
@@ -1559,15 +1570,19 @@ cy:
         few: '%{count} hen neges'
         many: '%{count} hen neges'
         other: '%{count} hen neges'
+      people_mapping_nearby: person yn mapio gerllaw
+    messages_table:
       from: Gan
+      to: I
       subject: Pwnc
       date: Dyddiad
-      people_mapping_nearby: person yn mapio gerllaw
+      actions: Gweithredoedd
     message_summary:
       unread_button: Marcio fel heb ei ddarllen
       read_button: Marcio fel wedi'i ddarllen
       reply_button: Ateb
       destroy_button: Dileu
+      unmute_button: Symud i'r Mewnflwch
     new:
       title: Anfon neges
       send_message_to_html: Anfon neges newydd at %{name}
@@ -1582,14 +1597,10 @@ cy:
       body: Sori, nid oes neges gyda'r id yno.
     outbox:
       title: Blwch Allan
-      my_inbox: Fy Mewnflwch
-      my_outbox: Fy Mlwch Allan
+      actions: Gweithredoedd
       messages:
         one: Mae gennych %{count} neges wedi ei anfon
         other: Mae gennych %{count} neges wedi eu hanfon
-      to: I
-      subject: Pwnc
-      date: Dyddiad
       people_mapping_nearby: pobl yn mapio gerllaw
     show:
       title: Darllen neges
@@ -1599,22 +1610,27 @@ cy:
       back: Yn ôl
     sent_message_summary:
       destroy_button: Dileu
+    heading:
+      my_inbox: Fy Mewnflwch
+      my_outbox: Fy Mlwch Allan
     mark:
       as_read: Nodwyd fod y neges wedi ei ddarllen
       as_unread: Nodwyd nad yw'r neges wedi ei ddarllen
     destroy:
       destroyed: Neges wedi'i dileu
   passwords:
-    lost_password:
+    new:
       title: Ailosod cyfrinair
       heading: Wedi anghofio'ch cyfrinair?
       email address: 'Cyfeiriad e-bost:'
       new password button: Ailosod cyfrinair
+    create:
       notice email cannot find: Methwyd dod o hyd i'r cyfeiriad ebost yno.
-    reset_password:
+    edit:
       title: Ailosod cyfrinair
       heading: Ailosod cyfrinair ar gyfer %{user}
       reset: Ailosod cyfrinair
+    update:
       flash changed: Mae eich cyfrinair wedi'i newid.
   preferences:
     show:
@@ -1710,6 +1726,7 @@ cy:
       image: Delwedd
       alt: Testun amgen
       url: URL
+      codeblock: Bloc cod
     richtext_field:
       edit: Golygu
       preview: Rhagolwg
@@ -1822,12 +1839,7 @@ cy:
       id_not_configured: iD heb ei ffurfweddu
     export:
       title: Allforio
-      area_to_export: Ardal i'w Hallforio
       manually_select: Dewiswch ardal wahanol â llaw
-      format_to_export: Fformatiwch i'w Hallforio
-      osm_xml_data: Data XML OpenStreetMap
-      map_image: Delwedd y Map (dangoser yr haen safonol)
-      embeddable_html: Mewnosod HTML
       licence: Trwydded
       licence_details_html: Trwyddedir data OpenStreetMap o dan y %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -1842,16 +1854,6 @@ cy:
         other:
           title: Ffynonellau eraill
           description: Ffynonellau ychwanegol a nodir ar wici OpenStreetMap
-      options: Dewisiadau
-      format: Fformat
-      scale: Graddfa
-      max: uchafswm
-      image_size: Maint y ddelwedd
-      zoom: Chwyddo
-      add_marker: Ychwanegwch bin ar y map
-      latitude: 'Lledred:'
-      longitude: 'Hydred:'
-      output: Allbwn
       export_button: Allforio
     fixthemap:
       title: Adrodd am broblem / Cywiro map
@@ -1874,7 +1876,7 @@ cy:
       help:
         title: Fforwm Cymorth
       mailing_lists:
-        title: Rhestr Gohebiaeth
+        title: Rhestrau Post
       community:
         title: Fforwm Cymunedol
       irc:
@@ -1924,36 +1926,45 @@ cy:
           cycleway_local: Llwybr beiciau lleol
           footway: Troedffordd
           rail: Rheilffordd
+          train: Trên
           subway: Trenau tanddaear
-          tram:
-          - Rheilffordd ysgafn
-          - dram
-          cable:
-          - Car cebl
-          - lifft cadair
-          runway:
-          - Llwybr glanio
-          - thacsiffordd maes awyr
-          apron:
-          - Llain
-          - therminws maes awyr
+          ferry: Fferi
+          light_rail: Rheilffordd ysgafn
+          tram: Tram
+          trolleybus: Bws Drydan
+          bus: Bws
+          cable_car: Car cebl
+          chair_lift: Cadair godi
+          runway: Llwybr glanio
+          taxiway: Tacsiffordd
+          apron: Llain
           admin: Ffin gweinyddol
+          capital: Prifddinas
+          city: Dinas
+          orchard: Perllan
+          vineyard: Gwinllan
           forest: Coedwig
           wood: Coedlan
+          farmland: Tir Ffermio
+          grass: Gwair
+          meadow: Gwaun
+          bare_rock: Carreg Plaen
+          sand: Tywod
           golf: Maes golff
           park: Parc
+          common: Comin
+          built_up: Ardal Adeiledig
           resident: Ardal breswyl
-          common:
-          - Comin
-          - gwaun
-          - gardd
           retail: Ardal adwerthu
           industrial: Ardal ddiwydiannol
           commercial: Ardal fasnachol
           heathland: Rhos
-          lake:
-          - Llyn
-          - chronfa ddŵr
+          scrubland: Prysgoed
+          lake: Llyn
+          reservoir: Cronfa Ddŵr
+          glacier: Rhewlif
+          reef: Riff
+          wetland: Gwlyptir
           farm: Fferm
           brownfield: Safle tir llwyd
           cemetery: Mynwent
@@ -1962,19 +1973,20 @@ cy:
           centre: Canolfan chwaraeon
           reserve: Gwarchodfa natur
           military: Ardal filwrol
-          school:
-          - Ysgol
-          - phrifysgol
+          school: Ysgol
+          university: Prifysgol
+          hospital: Ysbyty
           building: Adeilad arwyddocâol
           station: Gorsaf drên
-          summit:
-          - Copa
-          - chrib
+          summit: Copa
+          peak: Copa
           tunnel: Border toredig = twnnel
           bridge: Border du = pont
           private: Mynediad preifat
           destination: Mynediad cyrchfan
           construction: Ffyrdd yn cael eu hadeiladu
+          bus_stop: Safle Bws
+          stop: Safle
           bicycle_shop: Siop feiciau
           bicycle_parking: Man parcio beiciau
           toilets: Toiledau
@@ -2146,6 +2158,7 @@ cy:
       read_gpx: Darllen arllwybrau GPS preifat
       write_gpx: Uwchlwytho arllwybrau GPS
       write_notes: Addasu nodiadau
+      write_redactions: Gorchuddio data map
       read_email: Darllen cyfeiriad e-bost defnyddwyr
       skip_authorization: Cymeradwyo cais yn awtomatig
   oauth_clients:
@@ -2206,6 +2219,7 @@ cy:
         header: Rhydd ac agored
       display name description: Eich enw defnyddiwr cyhoeddus. Gallwch newid hyn yn
         nes ymlaen yn eich dewisiadau.
+      external auth: 'Dilysu Trydydd Parti:'
       use external auth: Fel arall, defnyddiwch drydydd parti i fewngofnodi
       continue: Cofrestru
       terms accepted: Diolch am dderbyn telerau newydd cyfranwyr!
@@ -2244,6 +2258,8 @@ cy:
       my_dashboard: Dangosfwrdd
       blocks on me: Blociau arnaf i
       blocks by me: Blociau gennyf i
+      create_mute: Anwybyddu'r Defnyddiwr hwn
+      destroy_mute: Dad-anwybyddu'r Defnyddiwr hwn
       edit_profile: Golygu Proffil
       send message: Anfon Neges
       diary: Dyddiadur
@@ -2264,6 +2280,15 @@ cy:
       role:
         administrator: Mae'r defnyddiwr hwn yn weinyddwr.
         moderator: Mae'r defnyddiwr hwn yn gymedrolwr.
+        importer: Mae'r defnyddiwr hwn yn fewnforiwr
+        grant:
+          administrator: Rhoi statws gweinyddwr
+          moderator: Rhoi statws cymedrolwr
+          importer: Rhoi statws mewnforiwr
+        revoke:
+          administrator: Tynnu statws gweinyddwr
+          moderator: Tynnu statws cymedrolwr
+          importer: Tynnu statws mewnforiwr
       block_history: Blociau Gweithredol
       moderator_history: Blociau a roddwyd
       comments: Sylwadau
@@ -2385,6 +2410,15 @@ cy:
       showing_page: Tudalen %{page}
       next: Nesaf »
       previous: « Blaenorol
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Gweithredoedd
+        tbody:
+          send_message: Anfon neges
+    create:
+      notice: Rydych chi wedi anwybyddu %{name}.
   notes:
     index:
       heading: Nodiadau %{user}
@@ -2452,6 +2486,7 @@ cy:
       short_url: URL Byr
       include_marker: Cynnwys marciwr
       center_marker: Canoli'r map ar y marciwr
+      view_larger_map: Gweld Map Mawr
     embed:
       report_problem: Adrodd am broblem
     key:
index bc01d8f6e0ffdda8980e5c76b521bdf3927029d3..a46e357a823e871eda5995bcb7ddc74fded03142 100644 (file)
@@ -74,6 +74,9 @@ da:
       messages:
         invalid_email_address: ser ikke ud til at være en gyldig e-mailadresse
         email_address_not_routable: kan ikke rutes
+      models:
+        user_mute:
+          is_already_muted: er allerede gjort stille
     models:
       acl: Adgangskontrolliste
       changeset: Ændringssæt
@@ -1490,9 +1493,9 @@ da:
         one: '%{count} rapport'
         other: '%{count} rapporter'
       no_reports: Ingen rapporter
-      report_created_at: Rapporteret første gang %{datetime}
-      last_resolved_at: Sidst løst %{datetime}
-      last_updated_at: Sidst opdateret %{datetime} af %{displayname}
+      report_created_at_html: Rapporteret første gang %{datetime}
+      last_resolved_at_html: Sidst løst %{datetime}
+      last_updated_at_html: Sidst opdateret %{datetime} af %{displayname}
       resolve: Løs
       ignore: Ignorér
       reopen: Genåbn
@@ -1773,8 +1776,6 @@ da:
   messages:
     inbox:
       title: Indbakke
-      my_inbox: Min indbakke
-      my_outbox: Min udbakke
       messages: Du har %{new_messages} og %{old_messages}
       new_messages:
         one: '%{count} nye besked'
@@ -1782,17 +1783,21 @@ da:
       old_messages:
         one: '%{count} gammel besked'
         other: '%{count} gamle beskeder'
-      from: Fra
-      subject: Emne
-      date: Dato
       no_messages_yet_html: Du har ingen beskeder endnu. Hvorfor ikke komme i kontakt
         med nogle af de %{people_mapping_nearby_link}?
       people_mapping_nearby: folk som kortlægger i nærheden
+    messages_table:
+      from: Fra
+      to: Til
+      subject: Emne
+      date: Dato
+      actions: Handlinger
     message_summary:
       unread_button: Marker som ulæst
       read_button: Marker som læst
       reply_button: Svar
       destroy_button: Slet
+      unmute_button: Flyt til Indbakke
     new:
       title: Send besked
       send_message_to_html: Send en ny besked til %{name}
@@ -1807,17 +1812,18 @@ da:
       body: Beklager, der er ingen besked med det id.
     outbox:
       title: Udbakke
-      my_inbox: Min indbakke
-      my_outbox: Min udbakke
+      actions: Handlinger
       messages:
         one: Du har %{count} sendt besked
         other: Du har %{count} sendte beskeder
-      to: Til
-      subject: Emne
-      date: Dato
       no_sent_messages_html: Du har ingen sendte beskeder endnu. Hvorfor ikke komme
         i kontakt med nogle af de %{people_mapping_nearby_link}?
       people_mapping_nearby: folk som kortlægger i nærheden
+    muted:
+      title: Stillegjorte beskeder
+      messages:
+        one: '%{count} stillegjort besked'
+        other: Du har  %{count} stillegjorte beskeder
     reply:
       wrong_user: Du er logget på som '%{user}', men den besked du har bedt om at
         svare på blev ikke sendt til den bruger. Log venligst på som den korrekte
@@ -1833,28 +1839,39 @@ da:
         den korrekte bruger for at svare.
     sent_message_summary:
       destroy_button: Slet
+    heading:
+      my_inbox: Min indbakke
+      my_outbox: Min udbakke
+      muted_messages: Stillegjorte beskeder
     mark:
       as_read: Besked markeret som læst
       as_unread: Besked markeret som ulæst
+    unmute:
+      notice: Beskeden er flyttet til Indbakke
+      error: Beskeden kunne ikke flyttes til Indbakke.
     destroy:
       destroyed: Besked slettet
   passwords:
-    lost_password:
+    new:
       title: Glemt adgangskode
       heading: Glemt adgangskode?
       email address: 'E-mailadresse:'
       new password button: Nulstil adgangskode
       help_text: Indtast e-mailadressen du brugte da du oprettede kontoen. Vi sender
         et link til den som du kan bruge til at nulstille din adgangskode.
+    create:
       notice email on way: Synd du har glemt den, men en e-mail er på vej så du kan
         snart indstille en ny.
       notice email cannot find: Kunne ikke finde den e-mailadresse, beklager.
-    reset_password:
+    edit:
       title: Nulstil adgangskode
       heading: Nulstil adgangskode for %{user}
       reset: Nulstil adgangskode
-      flash changed: Din adgangskode er ændret.
       flash token bad: Kunne ikke finde denne nøgle, prøv at kontrollere URL'en?
+    update:
+      flash changed: Din adgangskode er ændret.
+      flash token bad: Fandt ikke den der nøgle. Kunne du måske prøve på at tjekke
+        URL'en?
   preferences:
     show:
       title: Mine præferencer
@@ -1959,6 +1976,7 @@ da:
       image: Billede
       alt: Alt-tekst
       url: URL
+      codeblock: Kodeblok
     richtext_field:
       edit: Rediger
       preview: Forhåndsvisning
@@ -2096,6 +2114,10 @@ da:
           %{canada}: Indeholder data fra GeoBase&reg;, GeoGratis (&copy; Department of Natural Resources Canada), CanVec (&copy; Department of Natural
           Resources Canada) og StatCan (Geography Division, Statistics Canada).
         contributors_ca_canada: Canada
+        contributors_cz_credit_html: |-
+          %{czechia}: Indeholder data fra State Administration of Land Surveying
+          and Cadastre licenseret under %{cc_licence_link}
+        contributors_cz_czechia: Tjekkiet
         contributors_fi_credit_html: '%{finland}: Indeholder data fra National Land
           Survey af Finlands topografiske database og andre datasæt under %{nlsfi_license_link}.'
         contributors_fi_finland: Finland
@@ -2182,12 +2204,7 @@ da:
         for denne funktion.
     export:
       title: Eksportér
-      area_to_export: Område som skal eksporteres
       manually_select: Vælg et andet område manuelt
-      format_to_export: Format for eksport
-      osm_xml_data: OpenStreetMap XML-data
-      map_image: Kort billede (viser standard lag)
-      embeddable_html: HTML der kan indlejres
       licence: Licens
       licence_details_html: OpenStreetMap-data er licenseret under %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -2211,17 +2228,6 @@ da:
         other:
           title: Andre kilder
           description: Yderligere kilder er anført på OpenStreetMap-wiki
-      options: Indstillinger
-      format: Format
-      scale: Skala
-      max: maks
-      image_size: Billedstørrelse
-      zoom: Zoom
-      add_marker: Tilføj en markør på kortet
-      latitude: 'Bredde:'
-      longitude: 'Længde:'
-      output: Output
-      paste_html: Indsæt HTML som skal indlejres i siden
       export_button: Eksportér
     fixthemap:
       title: Rapportér et problem / Ret kortet
@@ -2322,44 +2328,56 @@ da:
           primary: Hovedvej (primærrute)
           secondary: Hovedvej (sekundærrute)
           unclassified: Anden vej
+          pedestrian: Gågade
           track: Hjulspor
           bridleway: Ridesti
           cycleway: Cykelsti
           cycleway_national: National cykelsti
           cycleway_regional: Regional cykelsti
           cycleway_local: Lokal cykelsti
+          cycleway_mtb: Mountainbikerute
           footway: Gangsti
           rail: Jernbane
+          train: Tog
           subway: Undergrundsbane
-          tram:
-          - Letbane
-          - sporvogn
-          cable:
-          - Kabelvogn
-          - stolelift
-          runway:
-          - Landingsbane
-          - taxibane
-          apron:
-          - Lufthavnsforplads
-          - terminal
+          ferry: Færge
+          light_rail: Letbane
+          tram: Sporvogn
+          trolleybus: Trolleybus
+          bus: Bus
+          cable_car: Kabelvogn
+          chair_lift: Stolelift
+          runway: Landingsbane
+          taxiway: Rullevej
+          apron: Lufthavnsforplads
           admin: Administrativ grænse
+          capital: Hovedstad
+          city: By
+          orchard: Plantage
+          vineyard: Vingård
           forest: Skov
-          wood: Skov
+          wood: Træ
+          farmland: Landbrugsjord
+          grass: Græs
+          meadow: Eng
+          bare_rock: Blottet klippe
+          sand: Sand
           golf: Golfbane
           park: Park
+          common: Fælled
+          built_up: Bebygget område
           resident: Boligområde
-          common:
-          - Fælled
-          - eng
-          - have
           retail: Detailhandelsområde
           industrial: Industriområde
           commercial: Erhvervsområde
           heathland: Hede
-          lake:
-          - Sø
-          - reservoir
+          scrubland: Buskads
+          lake: Sø
+          reservoir: Reservoir
+          intermittent_water: Periodisk vandmasse
+          glacier: Gletsjer
+          reef: Rev
+          wetland: Vådområde
           farm: Gård
           brownfield: Tidligere industriområde
           cemetery: Begravelsesplads
@@ -2368,19 +2386,20 @@ da:
           centre: Sportscenter
           reserve: Naturreservat
           military: Militært område
-          school:
-          - Skole
-          - universitet
+          school: Skole
+          university: Universitet
+          hospital: Sygehus
           building: Vigtig bygning
           station: Togstation
-          summit:
-          - Bjergtop
-          - højdepunkt
+          summit: Bjergtop
+          peak: Højdepunkt
           tunnel: Stiplet kant = tunnel
           bridge: Sort kant = bro
           private: Privat adgang
           destination: Ærindekørsel tilladt
           construction: Veje under konstruktion
+          bus_stop: Busstop
+          stop: Stop
           bicycle_shop: Cykelhandler
           bicycle_parking: Cykelparkering
           toilets: Toiletter
@@ -2425,6 +2444,7 @@ da:
         imports: Importering
         automated_edits: Automatiske Redigeringer
       start_mapping: Begynd at kortlægge
+      continue_authorization: Fortsæt autorisation
       add_a_note:
         title: Ikke tid til redigering? Tilføj en bemærkning!
         para_1: Hvis du bare vil have en lille detalje rettet, men ikke har tid til
@@ -2582,6 +2602,7 @@ da:
       oauth1_settings: OAuth 1-indstillinger
       oauth2_applications: OAuth 2-applikationer
       oauth2_authorizations: OAuth 2-autorisationer
+      muted_users: Stillegjorte Brugere
   oauth:
     authorize:
       title: Tillad adgang til din konto
@@ -2618,6 +2639,7 @@ da:
       read_gpx: Læse private GPS-spor
       write_gpx: Overføre GPS-spor
       write_notes: Ændre bemærkninger
+      write_redactions: Rediger kortdata
       read_email: Læse brugerens e-mailadresse
       skip_authorization: Godkend applikation automatisk
   oauth_clients:
@@ -2789,6 +2811,8 @@ da:
       my_dashboard: Mit kontrolpanel
       blocks on me: Mine blokeringer
       blocks by me: Blokeringer udført af mig
+      create_mute: Stillegør denne bruger
+      destroy_mute: Fjern stillegørelse fra denne bruger
       edit_profile: Rediger profil
       send message: Send besked
       diary: Blog
@@ -2809,14 +2833,18 @@ da:
       role:
         administrator: Denne bruger er en administrator
         moderator: Denne bruger er en moderator
+        importer: Denne bruger er en importør
         grant:
           administrator: Giv administrator-adgang
           moderator: Giv moderator-adgang
+          importer: Tildel adgang til at importere
         revoke:
           administrator: Fjern administrator-adgang
           moderator: Fjern moderator-adgang
+          importer: Tilbagetræk adgang til at importere
       block_history: Aktive blokeringer
       moderator_history: Uddelte blokeringer
+      revoke_all_blocks: Træk blokering tilbage
       comments: Kommentarer
       create_block: Blokér denne bruger
       activate_user: Aktivér denne bruger
@@ -2929,6 +2957,16 @@ da:
       confirm: Er du sikker på du vil tilbagekalde denne blokering?
       revoke: Tilbagekald!
       flash: Denne blokering er blevet tilbagekaldt.
+    revoke_all:
+      title: Træk alle blokeringer på %{block_on} tilbage
+      heading_html: Fjerner alle blokeringer på %{block_on}
+      empty: '%{name} har ingen aktive blokeringer.'
+      confirm: Er du sikker på at du vil trække %{active_blocks}?
+      active_blocks:
+        one: '%{count} aktiv blokering'
+        other: '%{count} aktive blokringer'
+      revoke: Træk tilbage!
+      flash: Alle aktive blokeringer er blevet tilbagetrukket.
     helper:
       time_future_html: Slutter om %{time}.
       until_login: Aktiv, indtil brugeren logger på.
@@ -2987,6 +3025,29 @@ da:
       showing_page: Side %{page}
       next: Næste »
       previous: « Forrige
+  user_mutes:
+    index:
+      title: Stillegjorte Brugere
+      my_muted_users: Mine stillegjorte brugere
+      you_have_muted_n_users: '{{PLURAL|one=Du har gjort %{count} bruger stille|Du
+        har gjort %{count} brugere stille.'
+      user_mute_explainer: Beskeder fra stillegjorte brugere flyttes ind i en separat
+        Indbox og du modtager ikke længere email notifikationer.
+      user_mute_admins_and_moderators: Du kan stillegøre Administratorer og Moderatorer,
+        men deres beskeder kan ikke stillegøres.
+      table:
+        thead:
+          muted_user: Stillegjort Bruger
+          actions: Handlinger
+        tbody:
+          unmute: Fjern stillegørelse
+          send_message: Din besked
+    create:
+      notice: Du stillegjorde %{name}.
+      error: '%{name} kunne ikke stillegøres. %{full_message}'
+    destroy:
+      notice: Du fjernede stillegørelsen fra %{name}
+      error: Brugeren kunne ikke stillegøres. Prøv venligst igen.
   notes:
     index:
       title: Bemærkninger indsendt eller kommenteret af %{user}
@@ -3023,6 +3084,7 @@ da:
       reactivate: Genaktiver
       comment_and_resolve: Kommentere på og løse
       comment: Kommenter
+      log_in_to_comment: Log ind for at kommentere på denne note
       report_link_html: Hvis denne bemærkning indeholder følsomme oplysninger, der
         skal fjernes, kan du %{link}.
       other_problems_resolve: For alle andre problemer med bemærkningen, bedes du
index 7dbbc0465bf86443eb8eb370cdf65938f58d3012..4f7df13b71da621adec51cbbeb90748b7ff2ab84 100644 (file)
@@ -16,6 +16,7 @@
 # Author: Bxalber
 # Author: Campmaster
 # Author: Candid Dauth
+# Author: Caro
 # Author: CarstenG
 # Author: ChrisiPK
 # Author: ChristianSW
@@ -59,6 +60,7 @@
 # Author: Kerosin
 # Author: Kghbln
 # Author: Killarnee
+# Author: KimKelting
 # Author: Kjon
 # Author: Lonvia
 # Author: MGChecker
@@ -96,7 +98,9 @@
 # Author: The Evil IP address
 # Author: ThePiscin
 # Author: Thomas Bohn
+# Author: Til
 # Author: Timonade
+# Author: Twistqj
 # Author: Umherirrender
 # Author: Unkn0wnCat
 # Author: Vrifox
@@ -143,6 +147,10 @@ de:
       messages:
         invalid_email_address: scheint keine gültige E-Mail-Adresse zu sein
         email_address_not_routable: ist nicht routingfähig
+        display_name_is_user_n: kann nicht user_n sein, es sei denn, n ist deine Benutzer-ID
+      models:
+        user_mute:
+          is_already_muted: ist bereits stummgeschaltet
     models:
       acl: Zugriffssteuerungsliste
       changeset: Änderungssatz
@@ -369,6 +377,8 @@ de:
         retain_changeset_discussions: Die Diskussionen über deine Änderungssätze,
           sofern vorhanden, werden beibehalten.
         retain_email: Deine E-Mail-Adresse wird beibehalten.
+        recent_editing_html: Da du dein Konto kürzlich bearbeitet hast, kann es derzeit
+          nicht gelöscht werden. Das Löschen ist in %{time} möglich.
         confirm_delete: Bist du sicher?
         cancel: Abbrechen
   accounts:
@@ -705,10 +715,18 @@ de:
             Konfiguration Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
           reauthenticate_resource_owner_not_configured: Fehler aufgrund fehlender
             Konfiguration Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: Fehler aufgrund fehlender
+            Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token-Konfiguration.
+          select_account_for_resource_owner_not_configured: Fehler aufgrund fehlender
+            Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner-Konfiguration.
+          subject_not_configured: Die Generierung des ID-Tokens ist aufgrund der fehlenden
+            Konfiguration von Doorkeeper::OpenidConnect.configure.subject fehlgeschlagen.
     scopes:
       address: Physische Adresse anzeigen
       email: E-Mail-Adresse anzeigen
       openid: Account authentifizieren
+      phone: Sieh dir deine Telefonnummer an
+      profile: Sieh dir deine Profilinformationen an
   errors:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/DE:Kommunikationskan%C3%A4le
@@ -1556,9 +1574,9 @@ de:
         one: Eine Meldung
         other: '%{count} Meldungen'
       no_reports: Keine Berichte
-      report_created_at: Zuerst gemeldet am %{datetime}
-      last_resolved_at: Zuletzt erledigt am %{datetime}
-      last_updated_at: Zuletzt aktualisiert am %{datetime} von %{displayname}
+      report_created_at_html: Zuerst gemeldet am %{datetime}
+      last_resolved_at_html: Zuletzt erledigt am %{datetime}
+      last_updated_at_html: Zuletzt aktualisiert am %{datetime} von %{displayname}
       resolve: Erledigen
       ignore: Ignorieren
       reopen: Erneut öffnen
@@ -1722,6 +1740,8 @@ de:
       loaded:
         one: mit %{trace_points} von einem möglichen Punkt erfolgreich geladen.
         other: mit %{trace_points} von %{count} möglichen Punkten erfolgreich geladen.
+      all_your_traces_html: Alle deiner erfolgreich hochgeladenen GPX-Traces findest
+        du unter %{url}.
       subject: '[OpenStreetMap] GPX-Import erfolgreich'
     signup_confirm:
       subject: '[OpenStreetMap] Willkommen bei OpenStreetMap'
@@ -1850,8 +1870,6 @@ de:
   messages:
     inbox:
       title: Posteingang
-      my_inbox: Posteingang
-      my_outbox: Mein Postausgang
       messages: Du hast %{new_messages} und %{old_messages}
       new_messages:
         one: '%{count} ungelesene Nachricht'
@@ -1859,17 +1877,21 @@ de:
       old_messages:
         one: '%{count} gelesene Nachricht'
         other: '%{count} gelesene Nachrichten'
-      from: Absender
-      subject: Betreff
-      date: Datum
       no_messages_yet_html: Du hast noch keine Nachrichten. Möchtest du mit %{people_mapping_nearby_link}
         Kontakt aufnehmen?
       people_mapping_nearby: Mappern in deiner Nähe
+    messages_table:
+      from: Absender
+      to: An
+      subject: Betreff
+      date: Datum
+      actions: Aktionen
     message_summary:
       unread_button: Als ungelesen markieren
       read_button: Als gelesen markieren
       reply_button: Antworten
       destroy_button: Löschen
+      unmute_button: In den Posteingang verschieben
     new:
       title: Nachricht senden
       send_message_to_html: Eine Nachricht an %{name} senden
@@ -1884,17 +1906,18 @@ de:
       body: Leider gibt es keine Nachricht mit dieser ID.
     outbox:
       title: Gesendet
-      my_inbox: Mein Posteingang
-      my_outbox: Mein Postausgang
+      actions: Aktionen
       messages:
         one: Du hast %{count} Nachricht gesendet
         other: Du hast %{count} Nachrichten gesendet
-      to: An
-      subject: Betreff
-      date: Datum
       no_sent_messages_html: Du hast noch keine Nachrichten versendet. Möchtest du
         mit  %{people_mapping_nearby_link} Kontakt aufnehmen?
       people_mapping_nearby: Mappern in deiner Nähe
+    muted:
+      title: Stummgeschaltete Nachrichten
+      messages:
+        one: '%{count} stummgeschatete Nachricht'
+        other: '%{count} stummgeschatete Nachrichten'
     reply:
       wrong_user: Du bist angemeldet als '%{user}', aber die Nachricht, auf die du
         antworten wolltest, wurde an einen anderen Benutzer geschickt. Bitte melde
@@ -1910,13 +1933,20 @@ de:
         Lesen mit dem richtigen Benutzer an.
     sent_message_summary:
       destroy_button: Löschen
+    heading:
+      my_inbox: Posteingang
+      my_outbox: Mein Postausgang
+      muted_messages: Stummgeschaltete Nachrichten
     mark:
       as_read: Nachricht als gelesen markiert
       as_unread: Nachricht als ungelesen markiert
+    unmute:
+      notice: Die Nachricht wurde in den Posteingang verschoben
+      error: Die Nachricht konnte nicht in den Posteingang verschoben werden.
     destroy:
       destroyed: Nachricht gelöscht
   passwords:
-    lost_password:
+    new:
       title: Passwort vergessen
       heading: Passwort vergessen?
       email address: 'E-Mail-Adresse:'
@@ -1924,17 +1954,21 @@ de:
       help_text: Bitte gib deine E-Mail-Adresse ein, mit der du dich angemeldet hast.
         Wir werden dir dann einen Link schicken, mit dem du dein Passwort zurücksetzen
         kannst.
+    create:
       notice email on way: Eine E-Mail mit Hinweisen zum Zurücksetzen des Passworts
         wurde an dich versandt.
       notice email cannot find: Wir konnten die E-Mail-Adresse nicht finden. Du hast
         dich möglicherweise vertippt oder mit einer anderen E-Mail-Adresse angemeldet.
-    reset_password:
+    edit:
       title: Passwort zurücksetzen
       heading: Passwort für %{user} zurücksetzen
       reset: Passwort zurücksetzen
-      flash changed: Dein Passwort wurde geändert.
       flash token bad: Wir konnten dieses Kürzel leider nicht finden. Du hast dich
         möglicherweise vertippt oder du bist einem ungültigem Link gefolgt.
+    update:
+      flash changed: Dein Passwort wurde geändert.
+      flash token bad: Das Token konnte nicht gefundenw werden, überprüfe bitte die
+        URL.
   preferences:
     show:
       title: Benutzereinstellungen
@@ -2039,6 +2073,7 @@ de:
       image: Bild
       alt: Alternativer Text
       url: URL
+      codeblock: Code-Block
     richtext_field:
       edit: Bearbeiten
       preview: Vorschau
@@ -2137,6 +2172,12 @@ de:
           anzeigst.
         credit_2_2: Mache deutlich, dass die Daten unter der Open Database-Lizenz
           verfügbar sind.
+        credit_3_html: Für den Urheberrechts-Hinweis haben wir unterschiedliche Anforderungen,
+          wie dieser angezeigt werden soll, je nachdem, wie du unsere Daten verwendest.
+          Beispielsweise gelten unterschiedliche Regeln für die Anzeige des Urheberrechtshinweises,
+          je nachdem, ob du eine durchsuchbare Karte, eine gedruckte Karte oder ein
+          statisches Bild erstellt hast. Ausführliche Informationen zu den Anforderungen
+          findest du unter %{attribution_guidelines_link}.
         credit_3_attribution_guidelines: Richtlinien für Namensnennungen
         credit_4_1_html: Um klarzustellen, dass die Daten unter der Open Database
           License verfügbar sind, kannst Du auf %{this_copyright_page_link} verlinken.
@@ -2146,10 +2187,13 @@ de:
           openstreetmap.org (vielleicht durch das Erweitern von 'OpenStreetMap' auf
           diese vollständige Adresse) und auf opendatacommons.org zu verweisen. In
           diesem Beispiel erscheint der Hinweis in der Ecke der Karte.
+        credit_4_1_this_copyright_page: diese Copyright-Seite
         attribution_example:
           alt: Beispiel, wie man auf OpenStreetMap auf einer Webseite hinweist
           title: Namensnennung-Beispiel
         more_title_html: Weitere Informationen
+        more_1_1_html: Weitere Informationen zur Nutzung unserer Daten und zur Gutschrift
+          findest du unter %{osmf_licence_page_link}.
         more_1_1_osmf_licence_page: OSMF-Lizenzseite
         more_2_1_html: |-
           Obwohl es sich bei OpenStreetMap um offene Daten handelt, können wir keine kostenlose Karten-API für Dritte bereitstellen.
@@ -2161,6 +2205,9 @@ de:
         contributors_intro_html: 'Unsere Mitwirkenden sind tausende einzelne Menschen.
           Wir beziehen auch offen lizenzierte Daten von nationalen Kartenagenturen
           und anderen Quellen ein, darunter:'
+        contributors_at_credit_html: |-
+          %{austria}: Enthält Daten aus %{stadt_wien_link} (unter %{cc_by_link}), %{land_vorarlberg_link}
+          und dem Land Tirol (unter %{cc_by_at_with_amendments_link}).
         contributors_at_austria: Österreich
         contributors_at_stadt_wien: Stadt Wien
         contributors_at_cc_by: CC BY
@@ -2180,6 +2227,12 @@ de:
           Resources Canada) und StatCan (Geography Division,
           Statistics). Kanada).
         contributors_ca_canada: Kanada
+        contributors_cz_credit_html: |-
+          %{czechia}: Enthält Daten der staatlichen Verwaltung für Landvermessung
+          und Kataster, lizenziert unter %{cc_licence_link}
+        contributors_cz_czechia: Tschechien
+        contributors_cz_cc_licence: Creative Commons Namensnennung 4.0 Internationale
+          Lizenz (CC BY 4.0)
         contributors_fi_credit_html: |-
           %{finland}: Enthält Daten aus der
           Nationalen Landvermessung der Topografischen Datenbank Finnlands
@@ -2230,6 +2283,7 @@ de:
         contributors_2_html: Weitere Einzelheiten zu diesen und anderen Quellen, die
           zur Verbesserung von OpenStreetMap verwendet wurden, findest du unter %{contributors_page_link}
           im OpenStreetMap-Wiki.
+        contributors_2_contributors_page: Seite der Benutzers
         contributors_footer_2_html: Die Einbeziehung von Daten bei OpenStreetMap bedeutet
           nicht, dass der ursprüngliche Datenlieferant OpenStreetMap unterstützt,
           Gewährleistung dafür gibt oder die Haftung dafür übernimmt.
@@ -2238,6 +2292,10 @@ de:
           hin, dass keinesfalls Daten aus urheberrechtlich geschützten Quellen verwendet
           werden dürfen (z. B. Google Maps oder gedruckte Kartenwerke), ohne vorher
           die ausdrückliche Erlaubnis des Rechteinhabers erhalten zu haben.
+        infringement_2_1_html: Wenn du glaubst, dass urheberrechtlich geschütztes
+          Material unangemessen zur OpenStreetMap-Datenbank oder dieser Website hinzugefügt
+          wurde, lies bitte %{takedown_procedure_link} oder reiche die Beschwerde
+          direkt bei über %{online_filing_page_link} ein.
         infringement_2_1_takedown_procedure: Takedown-Verfahren
         infringement_2_1_online_filing_page: Online-Einreichungsseite
         trademarks_title: Warenzeichen
@@ -2269,12 +2327,7 @@ de:
         die für diese Funktion notwendig sind.
     export:
       title: Exportieren
-      area_to_export: Bereich für den Export
       manually_select: Einen anderen Bereich manuell auswählen
-      format_to_export: Format für den Export
-      osm_xml_data: OpenStreetMap-XML-Daten
-      map_image: Karte (zeigt die Standardebene)
-      embeddable_html: HTML zum Einbinden
       licence: Lizenz
       licence_details_html: OpenStreetMap-Daten sind unter %{odbl_link} (ODbL) lizenziert.
       odbl: Open Data Commons Open Database-Lizenz
@@ -2298,17 +2351,6 @@ de:
         other:
           title: Andere Quellen
           description: Zusätzliche Quellen sind im OpenStreetMap-Wiki gelistet
-      options: Optionen
-      format: 'Format:'
-      scale: Maßstab
-      max: max.
-      image_size: 'Bildgröße:'
-      zoom: Zoom
-      add_marker: Markierung zur Karte hinzufügen
-      latitude: 'Breitengrad:'
-      longitude: 'Längengrad:'
-      output: Ausgabe
-      paste_html: HTML zur Einbettung in eine Webseite kopieren
       export_button: Export
     fixthemap:
       title: Ein Problem melden / Die Karte korrigieren
@@ -2319,8 +2361,17 @@ de:
           explanation_html: |-
             Falls du bei unseren Kartendaten ein Problem bemerkt hast wie das Fehlen einer Straße oder deiner Adresse,
             ist der beste Weg zum Weitermachen der Beitritt zur OpenStreetMap-Gemeinschaft und das Beheben der Daten durch dich selbst.
+        add_a_note:
+          instructions_1_html: |-
+            Klicke einfach auf %{note_icon} oder das gleiche Symbol in der Kartenanzeige.
+            Dadurch wird der Karte eine Markierung hinzugefügt, die du durch Ziehen verschieben kannst. Füge deine Nachricht hinzu und klicke dann auf Speichern. Andere Mapper werden sich dann um die Untersuchung kümmern.
       other_concerns:
         title: Andere Anliegen
+        concerns_html: "Wenn du Bedenken hinsichtlich der Verwendung unserer Daten
+          oder der Inhalte hast, konsultiere bitte unsere Seite \n%{copyright_link}
+          für weitere rechtliche Informationen oder wende dich an die entsprechende
+          %{working_group_link}."
+        copyright: Copyright-Seite
         working_group: OSMF-Arbeitsgruppe
     help:
       title: Hilfe erhalten
@@ -2368,6 +2419,9 @@ de:
         Nutzung im Browser verfügbar.
       desktop_application_html: Du kannst Potlatch von %{download_link} weiterhin
         verwenden.
+      download: Herunterladen der Desktop-Anwendung für Mac und Windows
+      id_editor_html: Alternativ kannst du deinen Standardeditor auf iD einstellen,
+        der wie zuvor Potlatch in deinem Webbrowser ausgeführt wird. %{change_preferences_link}.
       change_preferences: Einstellungen hier ändern
     any_questions:
       title: Fragen?
@@ -2400,67 +2454,83 @@ de:
           primary: Bundesstraße
           secondary: Landes-, Kreisstraße
           unclassified: Straße
+          pedestrian: Fußgängerzone
           track: Wald-, Feldweg
           bridleway: Reitweg
           cycleway: Radweg
           cycleway_national: Nationaler Radweg
           cycleway_regional: Regionaler Radweg
           cycleway_local: Lokaler Radweg
+          cycleway_mtb: Mountainbike-Route
           footway: Fußweg
           rail: Eisenbahn
+          train: Zug
           subway: U-Bahn
-          tram:
-          - Stadtbahn
-          - Straßenbahn
-          cable:
-          - Seilbahn
-          - Sessellift
-          runway:
-          - Start- und Landebahn
-          - Rollbahn
-          apron:
-          - Flughafenvorfeld
-          - Terminal
+          ferry: Fähre
+          light_rail: Stadtbahn
+          tram: Straßenbahn
+          trolleybus: Oberleitungsbus
+          bus: Bus
+          cable_car: Seilbahn
+          chair_lift: Sessellift
+          runway: Start- und Landebahn
+          taxiway: Rollbahn
+          apron: Flughafenvorfeld
           admin: Landesgrenzen, sonstige Grenzen
+          capital: Hauptstadt
+          city: Stadt
+          orchard: Obstplantage
+          vineyard: Weinberg
           forest: Wald
           wood: Wald
+          farmland: Ackerland
+          grass: Gras
+          meadow: Wiese
+          bare_rock: Nackter Fels
+          sand: Sand
           golf: Golfplatz
           park: Park
+          common: öffentliche Grünfläche (brit.)
+          built_up: Bebautes Gebiet
           resident: Wohngebiet
-          common:
-          - öffentliche Grünfläche (brit.)
-          - Wiese
-          - Garten
           retail: Einkaufszentrum
           industrial: Industriegebiet
           commercial: Gewerbegebiet
           heathland: Heide
-          lake:
-          - See
-          - Stausee
+          scrubland: Buschland
+          lake: See
+          reservoir: Reservoir
+          intermittent_water: Intermittierender Gewässer
+          glacier: Gletscher
+          reef: Riff
+          wetland: Feuchtgebiet
           farm: Landwirtschaft
           brownfield: Brachfläche
           cemetery: Friedhof
           allotments: Kleingartenanlage
           pitch: Spielfeld
           centre: Sportzentrum
+          beach: Strand
           reserve: Naturschutzgebiet
           military: Militärgebiet
-          school:
-          - Schule
-          - Universität
+          school: Schule, Universität
+          university: Universität
+          hospital: Krankenhaus
           building: Bedeutendes Gebäude
           station: Bahnhof
-          summit:
-          - Gipfel
-          - Bergspitze
+          summit: Gipfel
+          peak: Gipfel
           tunnel: Gestrichelter Rand = Tunnel
           bridge: Schwarzer Rand = Brücke
           private: Privater Zugang
           destination: Nur für Anrainer
           construction: Straßen im Bau
+          bus_stop: Bushaltestelle
+          stop: Stop
           bicycle_shop: Fahrradladen
+          bicycle_rental: Fahrradverleih
           bicycle_parking: Fahrradparkplatz
+          bicycle_parking_small: Kleiner Fahrradabstellplatz
           toilets: Toiletten
     welcome:
       title: Willkommen!
@@ -2473,19 +2543,37 @@ de:
           %{real_and_current} sind. Hier findest Du Millionen von Gebäuden, Straßen
           und anderen Details über Orte. Du kannst diejenigen Merkmale kartieren,
           die für Dich interessant sind.
+        real_and_current: real und aktuell
+        off_the_map_html: Was es %{doesnt} enthält, sind Meinungsdaten wie Bewertungen,
+          historische oder hypothetische Merkmale und Daten aus urheberrechtlich geschützten
+          Quellen. Kopiere nicht von Online- oder Papierkarten, es sei denn, du haben
+          eine Sondergenehmigung.
+        doesnt: nicht
       basic_terms:
         title: Grundbegriffe fürs Mapping
         paragraph_1: OpenStreetMap nutzt ein paar spezifische Begriffe. Hier sind
           ein paar davon, die nützlich sein dürften.
+        an_editor_html: Ein %{editor} ist ein Programm oder eine Website, mit der
+          du die Karte bearbeiten kannst.
+        a_node_html: Ein %{node} ist ein Punkt auf der Karte, wie ein einzelnes Restaurant
+          oder ein Baum.
+        a_way_html: Ein %{way} ist eine Linie oder Fläche, wie eine Straße, ein Bach,
+          ein See oder ein Gebäude.
+        a_tag_html: Ein %{tag} ist ein Datenstück über einen Knoten oder Weg, etwa
+          der Name eines Restaurants oder die Geschwindigkeitsbegrenzung einer Straße.
         editor: Bearbeiter
         node: Knoten
         way: Weg
         tag: Etikett
       rules:
         title: Regeln!
+        para_1_html: |-
+          OpenStreetMap hat nur wenige formale Regeln, aber wir erwarten von allen Teilnehmern, dass sie mit der Community zusammenarbeiten und kommunizieren. Wenn du andere Aktivitäten als die manuelle Bearbeitung in Betracht ziehst, lies und befolge bitte die Richtlinien zu
+          %{imports_link} und %{automated_edits_link}.
         imports: Importe
         automated_edits: Automatisierte Bearbeitungen
       start_mapping: Beginne mit dem Bearbeiten der Karte
+      continue_authorization: Autorisierung fortsetzen
       add_a_note:
         title: Keine Zeit? Dann füge einen Hinweis ein!
         para_1: Falls du nur eine Kleinigkeit korrigieren möchtest und dir die Zeit
@@ -2515,6 +2603,9 @@ de:
         list_text: 'Folgende Gemeinschaften sind offiziell als lokale Verbände eingetragen:'
       other_groups:
         title: Andere Gruppen
+        other_groups_html: |-
+          Es besteht keine Notwendigkeit, eine Gruppe im gleichen Umfang wie die Local Chapters offiziell zu gründen.
+          Tatsächlich existieren viele Gruppen sehr erfolgreich als informelle Zusammenkunft von Menschen oder als Community-Gruppe. Jeder kann diese gründen oder beitreten. Lies mehr im %{communities_wiki_link}.
         communities_wiki: Community-Wiki-Seite
   traces:
     visibility:
@@ -2646,6 +2737,7 @@ de:
       oauth1_settings: OAuth 1-Einstellungen
       oauth2_applications: OAuth 2-Anwendungen
       oauth2_authorizations: OAuth 2-Berechtigungen
+      muted_users: Stummgeschaltete Benutzer
   oauth:
     authorize:
       title: Zugriff auf dein Benutzerkonto autorisieren
@@ -2684,6 +2776,7 @@ de:
       read_gpx: Private GPS-Tracks lesen
       write_gpx: GPS-Tracks hochladen
       write_notes: Notizen bearbeiten
+      write_redactions: Kartendaten redigieren
       read_email: Lesen der Benutzer-E-Mail-Adresse
       skip_authorization: Antrag automatisch genehmigen
   oauth_clients:
@@ -2709,7 +2802,7 @@ de:
       list_tokens: 'Die folgenden Token wurde an Anwendungen in Ihrem Namen vergeben:'
       application: Anwendungsname
       issued_at: Ausgestellt am
-      revoke: Widerrufen!
+      revoke: Aufheben!
       my_apps: Meine Client-Anwendungen
       no_apps_html: Wenn du mit einer Anwendung den %{oauth}-Standard verwenden möchtest,
         musst du sie hier registrieren.
@@ -2809,9 +2902,9 @@ de:
       title: Bedingungen
       heading: Bedingungen
       heading_ct: Bedingungen für Mitwirkende
-      read and accept with tou: Lese bitte die Bedingungen für Mitwirkende, wie auch
-        unsere Nutzngsbedingungen und bestätige dies jeweils mit einem Häkchen und
-        klicke dann auf den "Weiter"-Knopf.
+      read and accept with tou: Lies bitte die Bedingungen für Mitwirkende und die
+        Nutzungsbedingungen, bestätige dies jeweils mit einem Häkchen und klicke dann
+        auf den "Weiter"-Knopf.
       contributor_terms_explain: Diese Vereinbarung definiert die Bedingungen für
         deine bestehenden und zukünftigen Beiträge.
       read_ct: Ich habe obige Bedingungen für Mitwirkende gelesen und stimme ihnen
@@ -2863,6 +2956,8 @@ de:
       my_dashboard: Meine Übersichtsseite
       blocks on me: Erhaltene Sperren
       blocks by me: Vergebene Sperren
+      create_mute: Diesen Benutzer stummschalten
+      destroy_mute: Hebe die Stummschaltung dieses Benutzers auf
       edit_profile: Profil bearbeiten
       send message: Nachricht senden
       diary: Blog
@@ -2883,14 +2978,18 @@ de:
       role:
         administrator: Dieser Benutzer ist ein Administrator
         moderator: Dieser Benutzer ist ein Moderator
+        importer: Dieser Benutzer ist ein Importeur
         grant:
           administrator: Administrator-Rechte vergeben
           moderator: Moderator-Rechte vergeben
+          importer: Importeurzugriff genehmigne
         revoke:
           administrator: Administrator-Rechte entziehen
           moderator: Moderator-Rechte entziehen
+          importer: Importeurzugriff aufheben
       block_history: Aktive Sperren
       moderator_history: Vergebene Sperren
+      revoke_all_blocks: Alle Sperren aufheben
       comments: Kommentare
       create_block: Benutzer sperren
       activate_user: Benutzer aktivieren
@@ -3009,6 +3108,16 @@ de:
       confirm: Bist du sicher, dass du diese Sperre aufheben möchtest?
       revoke: Aufheben
       flash: Die Sperre wurde aufgehoben.
+    revoke_all:
+      title: Alle Sperren auf %{block_on} aufheben
+      heading_html: Alle Sperren auf %{block_on} aufheben
+      empty: '%{name} hat keine aktiven Sperren.'
+      confirm: Bist du sicher, dass du %{active_blocks} aufheben möchtest?
+      active_blocks:
+        one: '%{count} aktive Sperre'
+        other: '%{count} aktive Sperren'
+      revoke: Aufheben!
+      flash: Alle aktiven Sperren wurden aufgehoben.
     helper:
       time_future_html: Endet in %{time}.
       until_login: Aktiv, bis der Benutzer sich anmeldet.
@@ -3068,6 +3177,31 @@ de:
       showing_page: Seite %{page}
       next: Nächste »
       previous: « Vorige
+  user_mutes:
+    index:
+      title: Stummgeschaltete Benutzer
+      my_muted_users: Meine stummgeschalteten Benutzer
+      you_have_muted_n_users:
+        one: Du hast %{count} Benutzer stummgeschaltet
+        other: Du hast %{count} Benutzer stummgeschaltet
+      user_mute_explainer: Nachrichten stummgeschalteter Benutzer werden in einen
+        separaten Posteingang verschoben und du erhältst keine E-Mail-Benachrichtigungen.
+      user_mute_admins_and_moderators: Du kannst Administratoren und Moderatoren stummschalten,
+        ihre Nachrichten werden jedoch nicht stummgeschaltet.
+      table:
+        thead:
+          muted_user: Stummgeschalteter Benutzer
+          actions: Aktionen
+        tbody:
+          unmute: Stummschaltung aufheben
+          send_message: Nachricht senden
+    create:
+      notice: Du hast %{name} stummgeschaltet.
+      error: '%{name} konnte nicht stummgeschaltet werden. %{full_message}.'
+    destroy:
+      notice: Du hast die Stummschaltung von %{name} aufgehoben.
+      error: Die Stummschaltung des Benutzers konnte nicht aufgehoben werden. Bitte
+        versuche es erneut.
   notes:
     index:
       title: Hinweise/Fehler erstellt oder kommentiert von %{user}
@@ -3104,6 +3238,7 @@ de:
       reactivate: Reaktivieren
       comment_and_resolve: Kommentieren & Erledigen
       comment: Kommentieren
+      log_in_to_comment: Melden dich an, um diesen Hinweis zu kommentieren
       report_link_html: Wenn diese Notiz sensible Informationen enthält, die entfernt
         werden müssen, kannst du %{link}.
       other_problems_resolve: Für alle anderen Probleme mit dem Hinweis, erledige
@@ -3198,6 +3333,7 @@ de:
       map_data_zoom_in_tooltip: Vergrößere die Karte, um die Daten zu sehen.
       queryfeature_tooltip: Objektabfrage
       queryfeature_disabled_tooltip: Für Objektabfrage vergrößern
+      embed_html_disabled: Für diese Kartenebene ist keine HTML-Einbettung verfügbar
     changesets:
       show:
         comment: Kommentieren
index 0081b009abf0a2cb306d4c25da02ac42f2126dcf..545c5ac4336c163d502dcf02430fb7cab3b0b82e 100644 (file)
@@ -805,8 +805,9 @@ diq:
   messages:
     inbox:
       title: Ameyan
-      my_inbox: Amayenê mı
+    messages_table:
       from: Rıştoğ
+      to: Gırewtoğ
       subject: Mewzu
       date: Tarix
     message_summary:
@@ -816,9 +817,6 @@ diq:
       title: Mesac bırışê
     outbox:
       title: Şıyenan
-      to: Gırewtoğ
-      subject: Mewzu
-      date: Tarix
     show:
       title: Mesaci bıwane
       reply_button: Cewab bıde
@@ -826,13 +824,15 @@ diq:
       back: Peyser
     sent_message_summary:
       destroy_button: Bestere
+    heading:
+      my_inbox: Amayenê mı
   passwords:
-    lost_password:
+    new:
       title: Parolaya vınibyayi
       heading: To parola ke xo vira?
       email address: 'Adresa e-postey:'
       new password button: Parola reset ke
-    reset_password:
+    edit:
       title: Parola reset ke
       heading: Parolay %{user} reset ke
       reset: Parola reset ke
@@ -873,10 +873,7 @@ diq:
       user_page_link: pela karberi
     export:
       title: Teberdayış
-      area_to_export: Cayo ke cıra bıvciyo
       manually_select: Be desti ra yew cayo bin weçıne
-      format_to_export: Formatê teberi ra eştışi
-      osm_xml_data: OpenStreetMap XML Data
       licence: Lisans
       too_large:
         planet:
@@ -885,16 +882,6 @@ diq:
           title: Overpass API
         other:
           title: Çemê bini
-      options: Weçinegi
-      format: Format
-      scale: Sence
-      max: maks
-      image_size: Gırdiya Resimi
-      zoom: Nezdı fi
-      add_marker: Xeriter rê yew nışan berz
-      latitude: 'Verıniye:'
-      longitude: 'Derganiye:'
-      output: Vıcyaen
       export_button: Teberdayış
     sidebar:
       search_results: Peyniya cıgeyrayışi
@@ -910,25 +897,19 @@ diq:
           track: Raya Herın
           bridleway: Raya Ancınıştan
           cycleway: Raya Bisiklet
-          apron:
-            1: terminal
           forest: Mêşe
           wood: Meşe
           golf: Saxay Golfi
           park: Perk
-          common:
-          - Çimen
-          lake:
-          - Gol
+          common: Çimen
+          lake: Gol
           farm: Cıtinin
           cemetery: Mezlaser
           allotments: Bostan
-          school:
-          - Wendxane
-          - Uniwersita
-          summit:
-          - Sersıq
-          - Ko
+          school: Wendxane
+          university: Uniwersita
+          summit: Sersıq
+          peak: Ko
     welcome:
       title: Xeyr amey!
   traces:
index 6c054f3383b3b4bf4ca0e863794b7156f366bb9a..2d319c4f2de7e15858eb612cdb8369c187794fef 100644 (file)
@@ -990,7 +990,6 @@ dsb:
   messages:
     inbox:
       title: Post
-      my_inbox: Mój post
       messages: Maš %{new_messages} a %{old_messages}
       new_messages:
         few: '%{count} nowe powěsći'
@@ -1002,12 +1001,14 @@ dsb:
         one: '%{count} stara powěsć'
         two: '%{count} starej powěsći'
         other: '%{count} starych powěsćow'
-      from: Wót
-      subject: Temowe nadpismo
-      date: Datum
       no_messages_yet_html: Hyšći njamaš powěsći. Cogodla njestajaš se z %{people_mapping_nearby_link}
         do zwiska?
       people_mapping_nearby: Luźe, kótarež kartěruju w bliskosći
+    messages_table:
+      from: Wót
+      to: Komu
+      subject: Temowe nadpismo
+      date: Datum
     message_summary:
       unread_button: Ako njepśecytany markěrowaś
       read_button: Ako pśecytany markěrowaś
@@ -1032,9 +1033,6 @@ dsb:
         one: Sy %{count} powěsć pósłał
         two: Sy %{count} powěsći pósłał
         other: Sy %{count} powěsćow pósłał
-      to: Komu
-      subject: Temowe nadpismo
-      date: Datum
       no_sent_messages_html: Hyšći njejsy powěsći rozpósłał. Cogodla njestajaš se
         z jadnym z %{people_mapping_nearby_link}, do zwiska?
       people_mapping_nearby: luźe, kótarež kartěruju w bliskosći
@@ -1052,28 +1050,32 @@ dsb:
         se ako korektny wužywaŕ, aby ju cytał.
     sent_message_summary:
       destroy_button: Lašowaś
+    heading:
+      my_inbox: Mój post
     mark:
       as_read: Powěsć jo se markěrowała ako pśecytana
       as_unread: Powěsć jo se markěrowała ako njepśecytana
     destroy:
       destroyed: Powěsć wulašowana
   passwords:
-    lost_password:
+    new:
       title: Zabyte gronidło
       heading: Sy gronidło zabył?
       email address: 'E-mailowa adresa:'
       new password button: Gronidło slědk stajiś
       help_text: Zapódaj e-mailowu adresu, kótaruž sy za registrěrowanje wužył, pósćelomy
         wótkaz na nju, kótaryž móžoš wužywaś, aby swójo gronidło slědk stajił.
+    create:
       notice email on way: Bóžko sy jo zabył :-(, ale e-mail jo k tebje ducy, tak
         až móžoš jo skóro slědk stajiś.
       notice email cannot find: Bóžko ta e-mailowa adresa njejo se namakała.
-    reset_password:
+    edit:
       title: Gronidło slědk stajiś
       heading: Gronidło za %{user} slědk stajiś
       reset: Gronidło slědk stajiś
-      flash changed: Twójo gronidło jo se změniło.
       flash token bad: Njejo móžno było ten token namakaś, pšosym pśekontrolěruj URL.
+    update:
+      flash changed: Twójo gronidło jo se změniło.
   profiles:
     edit:
       image: 'Wobraz:'
@@ -1173,12 +1175,7 @@ dsb:
         su trěbne za toś tu funkciju.
     export:
       title: Eksportěrowaś
-      area_to_export: Wurězk za eksport
       manually_select: Drugi wurězk manuelnje wubraś
-      format_to_export: Format za eksport
-      osm_xml_data: XML-daty OpenStreetMap
-      map_image: Kórtowy wobraz (pokazujo standardnu rowninu)
-      embeddable_html: Zasajźujobny HTML
       licence: Licenca
       too_large:
         advice: 'Jolic górni eksport se njeraźi, pšosym rozwaž, lěc wužywaš jadnu
@@ -1201,17 +1198,6 @@ dsb:
         other:
           title: Druge žrědła
           description: Pśidatne žrědła nalicone wikiju OpenStreetMap
-      options: Opcije
-      format: 'Format:'
-      scale: Měritko
-      max: maks.
-      image_size: 'Wobrazowa wjelikosć:'
-      zoom: Skalěrowanje
-      add_marker: Kórśe marku pśidaś
-      latitude: 'Šyrina:'
-      longitude: 'Dlinina:'
-      output: Wudaśe
-      paste_html: HTML kopěrowaś, aby se zasajźił do websedła
       export_button: Eksport
     fixthemap:
       title: Problem k wěsći daś / Kórtu pópšawiś
@@ -1265,34 +1251,24 @@ dsb:
           footway: Drožka
           rail: Zeleznica
           subway: Pódzemska
-          tram:
-          - Měsćańska zeleznica
-          - elektriska
-          cable:
-          - Kablowa elektriska
-          - sedłowy lift
-          runway:
-          - Pśizemjeńska cera
-          - lětadłowa cera
-          apron:
-          - Pśedpólo lětanišća
-          - terminal
+          cable_car: Kablowa elektriska
+          chair_lift: sedłowy lift
+          runway: Pśizemjeńska cera
+          taxiway: lětadłowa cera
+          apron: Pśedpólo lětanišća
           admin: Zastojnstwowa granica
           forest: Góla
           wood: Lěs
           golf: Golfowišćo
           park: Park
+          common: Powšykny
           resident: Bydleński wobcerk
-          common:
-          - Powšykny
-          - łuka
           retail: Nakupowanišćo
           industrial: Industrijowy wobcerk
           commercial: Źěłarstwowy wobcerk
           heathland: Wrjosate strony
-          lake:
-          - Jazor
-          - gaśeński jazor
+          lake: Jazor
+          reservoir: gaśeński jazor
           farm: Farma
           brownfield: Industrijowe lědo
           cemetery: Kjarchob
@@ -1301,14 +1277,12 @@ dsb:
           centre: Sportowy centrum
           reserve: Strony šćitaneje pśirody
           military: Militarny wobcerk
-          school:
-          - Šula
-          - uniwersita
+          school: Šula
+          university: uniwersita
           building: Pśesegajuce twarjenje
           station: Dwórnišćo, zeleznicowa stacija
-          summit:
-          - Wjerch
-          - špica
+          summit: Wjerch
+          peak: špica
           tunnel: Smužkowane wobcerjenje = tunel
           bridge: Carne wobcerjenje = móst
           private: Priwatny pśistup
index ea8f011e9ebbffc12f63a38e33a716e8b8f0f6d7..eceb4cc1b5f04fdac27bbd7696e88a4d2da5d970 100644 (file)
@@ -80,6 +80,11 @@ el:
       messages:
         invalid_email_address: δεν φαίνεται να είναι έγκυρη διεύθυνση ηλ. ταχυδρομείου
         email_address_not_routable: δεν είναι δρομολογητέο
+        display_name_is_user_n: δεν μπορεί να είναι user_n εκτός αν το n είναι το
+          αναγνωριστικό χρήστη σας
+      models:
+        user_mute:
+          is_already_muted: είναι ήδη σε σίγαση
     models:
       acl: Λίστα ελέγχου πρόσβασης
       changeset: Ομάδα αλλαγών
@@ -201,7 +206,7 @@ el:
           γι' αυτό προσπαθήστε να χρησιμοποιήσετε απλούς και κατανοητούς όρους.
         needs_view: Πρέπει ο χρήστης να συνδεθεί προτού εκκαθαριστεί αυτή η φραγή;
       user:
-        new_email: (να Î¼Î·ν εμφανίζεται ποτέ δημόσια)
+        new_email: (δεν εμφανίζεται ποτέ δημόσια)
   datetime:
     distance_in_words_ago:
       about_x_hours:
@@ -499,7 +504,7 @@ el:
       area: Περιοχή
     index:
       title: Αλλαγές
-      title_user: Αλλαγές από τον %{user}
+      title_user: Αλλαγές από %{user}
       title_user_link_html: Ομάδες αλλαγών από %{user_link}
       title_friend: Αλλαγές από τους φίλους μου
       title_nearby: Αλλαγές από κοντινούς χρήστες
@@ -558,7 +563,7 @@ el:
       title: Ημερολόγια χρηστών
       title_friends: Ημερολόγια φίλων
       title_nearby: Ημερολόγια κοντινών χρηστών
-      user_title: Ημερολόγιο του/των %{user}
+      user_title: Ημερολόγιο του χρήστη %{user}
       in_language_title: Καταχωρήσεις ημερολογίων στα %{language}
       new: Νέα καταχώρηση ημερολογίου
       new_title: Σύνταξη νέας καταχώρησης στο ημερολόγιό μου
@@ -571,8 +576,8 @@ el:
       title: Επεξεργασία καταχώρισης ημερολογίου
       marker_text: Τοποθεσία καταχώρησης ημερολογίου
     show:
-      title: το ημερολόγιο του %{user} | %{title}
-      user_title: το ημερολόγιο του %{user}
+      title: Ημερολόγιο του χρήστη %{user} | %{title}
+      user_title: Ημερολόγιο του χρήστη %{user}
       leave_a_comment: Αφήστε σχόλιο
       login_to_leave_a_comment_html: '%{login_link} για να αφήσετε ένα σχόλιο'
       login: Συνδεθείτε
@@ -583,7 +588,8 @@ el:
         %{id}. Είναι πιθανό να υπάρχουν ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος
         μέσω του οποίου φτάσατε σε αυτήν την σελίδα.
     diary_entry:
-      posted_by_html: Δημοσιεύτηκε από τον %{link_user} στις %{created} στα %{language_link}.
+      posted_by_html: Δημοσιεύτηκε από τον χρήστη %{link_user} στις %{created} στα
+        %{language_link}.
       updated_at_html: Τελευταία ενημέρωση στις %{updated}.
       comment_link: Σχολιάστε την καταχώρηση
       reply_link: Αποστολή μηνύματος στον συγγραφέα
@@ -597,7 +603,7 @@ el:
       confirm: Επιβεβαίωση
       report: Αναφορά καταχώρησης
     diary_comment:
-      comment_from_html: Σχόλιο από τον %{link_user} στις %{comment_created_at}
+      comment_from_html: Σχόλιο από τον χρήστη %{link_user} στις %{comment_created_at}
       hide_link: Απόκρυψη σχολίου
       unhide_link: Επανεμφάνιση σχολίου
       confirm: Επιβεβαίωση
@@ -618,9 +624,9 @@ el:
         title: Καταχωρήσεις ημερολογίου OpenStreetMap
         description: Πρόσφατες καταχωρήσεις ημερολογίου από χρήστες του OpenStreetMap
     comments:
-      title: Î Ï\81οÏ\83Ï\84έθηκαν Ï\83Ï\87Ï\8cλια Î·Î¼ÎµÏ\81ολογίοÏ\85 από τον χρήστη %{user}
+      title: Î£Ï\87Ï\8cλια Î·Î¼ÎµÏ\81ολογίοÏ\85 Ï\80οÏ\85 Ï\80Ï\81οÏ\83Ï\84έθηκαν από τον χρήστη %{user}
       heading: Σχόλια Ημερολογίου %{user}
-      subheading_html: Î Ï\81οÏ\83Ï\84έθηκαν Ï\83Ï\87Ï\8cλια Î·Î¼ÎµÏ\81ολογίοÏ\85 από τον χρήστη %{user}
+      subheading_html: Î£Ï\87Ï\8cλια Î·Î¼ÎµÏ\81ολογίοÏ\85 Ï\80οÏ\85 Ï\80Ï\81οÏ\83Ï\84έθηκαν από τον χρήστη %{user}
       no_comments: Χωρίς σχόλια ημερολογίου
       post: Καταχώρηση
       when: Πότε
@@ -1513,9 +1519,10 @@ el:
         one: '%{count} αναφορά'
         other: '%{count} αναφορές'
       no_reports: Καμία αναφορά
-      report_created_at: Αναφέρθηκε για πρώτη φορά στις %{datetime}
-      last_resolved_at: Επιλύθηκε για τελευταία φορά στις %{datetime}
-      last_updated_at: Ενημερώθηκε για τελευταία φορά στις %{datetime} από τον %{displayname}
+      report_created_at_html: Αναφέρθηκε για πρώτη φορά στις %{datetime}
+      last_resolved_at_html: Επιλύθηκε για τελευταία φορά στις %{datetime}
+      last_updated_at_html: Ενημερώθηκε για τελευταία φορά στις %{datetime} από τον
+        %{displayname}
       resolve: Επίλυση
       ignore: Αγνόηση
       reopen: Ξανάνοιγμα
@@ -1673,6 +1680,11 @@ el:
       subject: '[OpenStreetMap] Η εισαγωγή GPX απέτυχε'
     gpx_success:
       hi: Γεια σας %{to_user},
+      loaded:
+        one: φορτώθηκε επιτυχώς με %{trace_points} από πιθανό %{count} σημείο.
+        other: φορτώθηκε επιτυχώς με %{trace_points} από πιθανά %{count} σημεία.
+      all_your_traces_html: Όλα τα ίχνη GPX που ανεβάσατε με επιτυχία μπορούν να βρεθούν
+        στη διεύθυνση %{url}.
       subject: '[OpenStreetMap] Η εισαγωγή GPX πέτυχε'
     signup_confirm:
       subject: '[OpenStreetMap] Καλώς ήλθατε στο OpenStreetMap'
@@ -1806,8 +1818,6 @@ el:
   messages:
     inbox:
       title: Εισερχόμενα
-      my_inbox: Τα εισερχόμενα μου
-      my_outbox: Τα εξερχόμενα μου
       messages: Έχετε %{new_messages} και %{old_messages}
       new_messages:
         one: '%{count} νέο μήνυμα'
@@ -1815,17 +1825,21 @@ el:
       old_messages:
         one: '%{count} παλιό μήνυμα'
         other: '%{count} παλιά μηνύματα'
-      from: Από
-      subject: Θέμα
-      date: Ημερομηνία
       no_messages_yet_html: Δεν έχετε μηνύματα ακόμα. Γιατί δεν έρχεστε σε επαφή με
         μερικά από τα %{people_mapping_nearby_link}?
       people_mapping_nearby: άτομα που χαρτογραφούν κοντά σας
+    messages_table:
+      from: Από
+      to: Προς
+      subject: Θέμα
+      date: Ημερομηνία
+      actions: Ενέργειες
     message_summary:
       unread_button: Σήμανση ως αδιάβαστο
       read_button: Σήμανση ως διαβασμένο
       reply_button: Απάντηση
       destroy_button: Διαγραφή
+      unmute_button: Μετακίνηση στα Εισερχόμενα
     new:
       title: Αποστολή μηνύματος
       send_message_to_html: Αποστολή νέου μηνύματος προς %{name}
@@ -1840,17 +1854,18 @@ el:
       body: Λυπάμαι δεν υπάρχει μήνυμα με αυτό το αναγνωριστικό.
     outbox:
       title: Εξερχόμενα
-      my_inbox: Τα εισερχόμενα μου
-      my_outbox: Τα εξερχόμενα μου
+      actions: Ενέργειες
       messages:
         one: Έχετε %{count} απεσταλμένο μήνυμα
         other: Έχετε %{count} απεσταλμένα μηνύματα
-      to: Προς
-      subject: Θέμα
-      date: Ημερομηνία
       no_sent_messages_html: Δεν έχετε στείλει κανένα μήνυμα ακόμα. Γιατί δεν έρχεστε
         σε επαφή με μερικά %{people_mapping_nearby_link}?
       people_mapping_nearby: άτομα που χαρτογραφούν κοντά σας
+    muted:
+      title: Μηνύματα σε Σίγαση
+      messages:
+        one: '%{count} μήνυμα σε σίγαση'
+        other: Έχετε %{count} μηνύματα σε σίγαση
     reply:
       wrong_user: Έχετε συνδεθεί ως «%{user}» αλλά το μήνυμα που ζητάτε να απαντήσετε
         δεν έχει σταλεί σε αυτόν το χρήστη. Παρακαλούμε συνδεθείτε με το σωστό όνομα
@@ -1866,13 +1881,20 @@ el:
         χρήστη ώστε να μπορέσετε να το διαβάσετε.
     sent_message_summary:
       destroy_button: Διαγραφή
+    heading:
+      my_inbox: Τα εισερχόμενα μου
+      my_outbox: Τα εξερχόμενα μου
+      muted_messages: Μηνύματα σε Σίγαση
     mark:
       as_read: Το μήνυμα σημειώθηκε ως αναγνωσμένο
       as_unread: Το μήνυμα σημειώθηκε ως μη αναγνωσμένο
+    unmute:
+      notice: Το μήνυμα μετακινήθηκε στα Εισερχόμενα
+      error: Δεν ήταν δυνατή η μετακίνηση του μηνύματος στα Εισερχόμενα.
     destroy:
       destroyed: Το μήνυμα διαγράφηκε
   passwords:
-    lost_password:
+    new:
       title: Χάσατε το συνθηματικό σας
       heading: Ξεχάσατε το συνθηματικό σας;
       email address: 'Διεύθυνση ηλεκτρονικού ταχυδρομείου:'
@@ -1880,16 +1902,19 @@ el:
       help_text: Πληκτρολογήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποιήσατε
         για να εγγραφείτε. Θα στείλουμε έναν σύνδεσμο τον οποίον μπορείτε να χρησιμοποιήσετε
         για να επαναφέρετε το συνθηματικό σας.
+    create:
       notice email on way: Λυπούμαστε που το χάσατε :-(, αλλά ένα μήνυμα ηλεκτρονικού
         ταχυδρομείου εστάλη, ώστε να μπορέσετε να το επαναφέρετε σύντομα.
       notice email cannot find: Λυπούμαστε, δεν βρέθηκε αυτή η διεύθυνση ηλεκτρονικού
         ταχυδρομείου.
-    reset_password:
+    edit:
       title: Επαναφορά συνθηματικού
       heading: Επαναφορά συνθηματικού για τον χρήστη %{user}
       reset: Επαναφορά συνθηματικού
-      flash changed: Το συνθηματικό σας άλλαξε!
       flash token bad: Δεν βρήκατε αυτό το κομμάτι, μήπως πρέπει να ελέγξετε το URL;
+    update:
+      flash changed: Το συνθηματικό σας άλλαξε!
+      flash token bad: Δεν βρέθηκε αυτό το token, ελέγξτε ίσως τη διεύθυνση URL;
   preferences:
     show:
       title: Οι προτιμήσεις μου
@@ -1982,9 +2007,9 @@ el:
       support: υποστήριξη
   shared:
     markdown_help:
-      heading_html: Î\91ναλÏ\8dθηκε με %{kramdown_link}
+      heading_html: Î\91ναλÏ\85μμένο με %{kramdown_link}
       headings: Επικεφαλίδες
-      heading: Î\9aαφαλίδα
+      heading: Î\9aεφαλίδα
       subheading: Υποκεφαλίδα
       unordered: Αταξινόμητη λίστα
       ordered: Ταξινομημένη λίστα
@@ -1995,6 +2020,7 @@ el:
       image: Εικόνα
       alt: Εναλ. κείμενο
       url: URL
+      codeblock: Μπλοκ κώδικα
     richtext_field:
       edit: Επεξεργασία
       preview: Προεπισκόπηση
@@ -2039,6 +2065,8 @@ el:
         Παρακαλούμε %{contact_the_osmf_link}
         εάν έχετε ερωτήσεις για αδειοδότηση, πνευματικά δικαιώματα ή άλλα νομικά.
       legal_2_1_contact_the_osmf: επικοινωνήστε με το OSMF
+      legal_2_2_html: Το OpenStreetMap, το λογότυπο με τον μεγεθυντικό φακό και το
+        State of the Map είναι %{registered_trademarks_link}.
       legal_2_2_registered_trademarks: εγγεγραμμένα εμπορικά σήματα του OSMF
       partners_title: Συνεργάτες
     copyright:
@@ -2063,6 +2091,8 @@ el:
         introduction_1_odc_odbl: Open Data Commons Άδεια Ανοικτής Βάσης Δεδομένων
         introduction_1_osm_foundation: Ίδρυμα OpenStreetMap
         introduction_2_legal_code: νομικός κώδικας
+        introduction_3_html: Η τεκμηρίωση μας αδειοδοτείται βάσει της άδειας %{creative_commons_link}
+          (CC BY-SA 2.0).
         introduction_3_creative_commons: Creative Commons Αναφορά Δημιουργού-Παρόμοια
           Διανομή 2.0
         credit_title_html: Πως να κάνετε αναφορά δημιουργού προς το OpenStreetMap
@@ -2091,6 +2121,9 @@ el:
         contributors_intro_html: 'Οι συνεισφέροντες μας είναι χιλιάδες άτομα. Επίσης
           έχουμε περιλάβει δεδομένα ανοικτής άδειας από εθνικές υπηρεσίες χαρτογράφησης
           και άλλες πηγές, μεταξύ αυτών:'
+        contributors_at_credit_html: |-
+          %{austria}: Περιέχει δεδομένα από %{stadt_wien_link} (under %{cc_by_link}), %{land_vorarlberg_link}
+          και Land Tirol (under %{cc_by_at_with_amendments_link}).
         contributors_at_austria: Αυστρία
         contributors_at_stadt_wien: Stadt Wien
         contributors_at_cc_by: CC BY
@@ -2146,6 +2179,9 @@ el:
           %{united_kingdom}: Περιέχει δεδομένα Χαρτογραφικής Υπηρεσίας &copy; Crown πνευματικά δικαιώματα και δικαιώματα βάσης δεδομένων
           2010-2023.
         contributors_gb_united_kingdom: Ηνωμένο Βασίλειο
+        contributors_2_html: Για περισσότερες λεπτομέρειες για αυτές, και άλλες πηγές
+          που έχουν χρησιμοποιηθεί για να βοηθήσουν στην βελτίωση του OpenStreetMap,
+          παρακαλούμε δείτε την %{contributors_page_link} στο OpenStreetMap Wiki.
         contributors_2_contributors_page: Σελίδα συνεισφερόντων
         contributors_footer_2_html: Η συμπερίληψη δεδομένων στο OpenStreetMap δεν
           συνεπάγεται ότι ο αρχικός πάροχος δεδομένων εγκρίνει το OpenStreetMap, παρέχει
@@ -2162,6 +2198,10 @@ el:
         infringement_2_1_takedown_procedure: διαδικασία αφαίρεσης
         infringement_2_1_online_filing_page: ηλεκτρονική φόρμα
         trademarks_title: Εμπορικά σήματα
+        trademarks_1_1_html: Το OpenStreetMap, το λογότυπο με τον μεγεθυντικό φακό
+          και το State of the Map είναι σήματα κατατεθέντα του Ιδρύματος OpenStreetMap.
+          Αν έχετε ερωτήσεις σχετικά με την χρήση σας αυτών των σημάτων, παρακαλούμε
+          δείτε την %{trademark_policy_link}.
         trademarks_1_1_trademark_policy: Πολιτική Εμπορικών Σημάτων
     index:
       js_1: Είτε χρησιμοποιείτε πρόγραμμα περιήγησης που δεν υποστηρίζει JavaScript
@@ -2186,12 +2226,7 @@ el:
         που είναι απαραίτητο για αυτήν την λειτουργία.
     export:
       title: Εξαγωγή
-      area_to_export: Περιοχή προς εξαγωγή
       manually_select: Χειροκίνητη επιλογή διαφορετικής περιοχής
-      format_to_export: Μορφή προς εξαγωγή
-      osm_xml_data: Δεδομένα OpenStreetMap σε μορφή XML
-      map_image: Εικόνα χάρτη (δείχνει τυπικό στρώμα)
-      embeddable_html: Ενσωματούμενη HTML
       licence: Άδεια
       licence_details_html: Τα δεδομένα OpenStreetMap αδειοδοτούνται με %{odbl_link}
         (ODbL).
@@ -2217,17 +2252,6 @@ el:
         other:
           title: Άλλες πηγές
           description: Επιπλέον πηγές απαριθμούνται στο wiki του OpenStreetMap
-      options: Επιλογές
-      format: Μορφοποίηση
-      scale: Κλίμακα
-      max: μέγιστο
-      image_size: Μέγεθος εικόνας
-      zoom: Εστίαση
-      add_marker: Προσθέστε ένα δείκτη στο χάρτη
-      latitude: 'Γεω. Πλ:'
-      longitude: 'Γεω. Μη.:'
-      output: Απόδοση
-      paste_html: Επικόλληση HTML για ενσωμάτωση στην ιστοσελίδα
       export_button: Εξαγωγή
     fixthemap:
       title: Αναφέρετε πρόβλημα / Διορθώστε τον χάρτη
@@ -2328,67 +2352,83 @@ el:
           primary: Κύρια Οδός
           secondary: Δευτερεύουσα Οδός
           unclassified: Αταξινόμητη Οδός
+          pedestrian: Πεζόδρομος
           track: Αγροτικός / Δασικός δρόμος
           bridleway: Μονοπάτι για Άλογα
           cycleway: Ποδηλατόδρομος
           cycleway_national: Εθνικός ποδηλατόδρομος
           cycleway_regional: Περιφερειακός ποδηλατόδρομος
           cycleway_local: Τοπικός ποδηλατόδρομος
+          cycleway_mtb: Ορεινή ποδηλατική διαδρομή
           footway: Μονοπάτι
           rail: Σιδηρόδρομος
+          train: Τρένο
           subway: Υπόγειος Σιδηρόδρομος
-          tram:
-          - Προαστιακός
-          - τραμ
-          cable:
-          - Τελεφερίκ
-          - τελεφερίκ με καθίσματα
-          runway:
-          - Διάδρομος Αεροδρομίου
-          - τροχόδρομος
-          apron:
-          - Πίστα προσγείωσης αεροδρομίου
-          - τερματικός σταθμός
+          ferry: Πορθμείο
+          light_rail: Ελαφρύς σιδηρόδρομος
+          tram: Τραμ
+          trolleybus: Τρόλεϊ
+          bus: Λεωφορείο
+          cable_car: Τελεφερίκ
+          chair_lift: Αναβατήρας
+          runway: Διάδρομος Αεροδρομίου
+          taxiway: Τροχόδρομος
+          apron: Πίστα προσγείωσης αεροδρομίου
           admin: Διοικητικό όριο
+          capital: Πρωτεύουσα
+          city: Πόλη
+          orchard: Περιβόλι
+          vineyard: Αμπελώνας
           forest: Δάσος
           wood: Φυσικό δάσος
+          farmland: Καλλιεργήσιμη έκταση
+          grass: Γρασίδι
+          meadow: Λιβάδι
+          bare_rock: Γυμνός βράχος
+          sand: Άμμος
           golf: Γήπεδο γκολφ
           park: Πάρκο
+          common: Κοινόχρηστο
+          built_up: Δομημένη περιοχή
           resident: Κατοικημένη περιοχή
-          common:
-          - Κοινόχρηστο
-          - λιβάδι
-          - κήπος
           retail: Περιοχή λιανικού εμπορίου
           industrial: Βιομηχανική περιοχή
           commercial: Εμπορική περιοχή
           heathland: Φρυγανότοπος
-          lake:
-          - Λίμνη
-          - ταμιευτήρας
+          scrubland: Θαμνότοπος
+          lake: Λίμνη
+          reservoir: Ταμιευτήρας
+          intermittent_water: Σώμα νερού με διαλείπουσα ροή
+          glacier: Παγετώνας
+          reef: Ύφαλος
+          wetland: Έλος
           farm: Αγρόκτημα
           brownfield: Πρώην βιομηχανική περιοχή
           cemetery: Κοιμητήριο
           allotments: Παραχώρηση γης
           pitch: Γήπεδο αθλήματος
           centre: Αθλητικό κέντρο
+          beach: Παραλία
           reserve: Φυσικό καταφύγιο
           military: Στρατιωτική περιοχή
-          school:
-          - Σχολείο
-          - πανεπιστήμιο
+          school: Σχολείο
+          university: Πανεπιστήμιο
+          hospital: Νοσοκομείο
           building: Σημαντικό κτήριο
           station: Σιδηροδρομικός σταθμός
-          summit:
-          - Κορυφή
-          - κορυφή
+          summit: Κορυφή
+          peak: Κορυφή
           tunnel: Διακεκομμένο περίβλημα = σήραγγα
           bridge: Μαύρο περίβλημα = γέφυρα
           private: Ιδιωτική πρόσβαση
           destination: Πρόσβαση προορισμού
           construction: Δρόμοι υπό κατασκευή
+          bus_stop: Στάση λεωφορείου
+          stop: Στάση
           bicycle_shop: Κατάστημα ποδηλάτων
+          bicycle_rental: Ενοικίαση ποδηλάτων
           bicycle_parking: Χώρος στάθμευσης ποδηλάτων
+          bicycle_parking_small: Μικρό πάρκινγκ ποδηλάτων
           toilets: Τουαλέτες
     welcome:
       title: Καλώς ήρθατε!
@@ -2434,6 +2474,7 @@ el:
         imports: Εισαγωγές
         automated_edits: Αυτοματοποιημένες Επεξεργασίες
       start_mapping: Ξεκινήστε τη Χαρτογράφηση
+      continue_authorization: Συνέχιση Εξουσιοδότησης
       add_a_note:
         title: Δεν έχετε χρόνο για χαρτογράφηση; Προσθέστε μια σημείωση!
         para_1: Εάν θέλετε κάτι μικρό να διορθωθεί και δεν έχετε χρόνο να εγγραφείτε
@@ -2542,7 +2583,7 @@ el:
       my_gps_traces: Τα ίχνη GPS μου
       public_traces_from: Δημόσια ίχνη GPS από τον %{user}
       description: Προβολή πρόσφατων μεταφορτωμένων ιχνών GPS
-      tagged_with: χαρακτηρίστηκαν με %{tags}
+      tagged_with: ' με ετικέτα %{tags}'
       empty_title: Τίποτα εδώ ακόμα
       empty_upload_html: '%{upload_link} ή μάθετε περισσότερα για την ανίχνευση GPS
         στο %{wiki_link}.'
@@ -2592,6 +2633,7 @@ el:
       oauth1_settings: Ρυθμίσεις OAuth 1
       oauth2_applications: Εφαρμογές OAuth 2
       oauth2_authorizations: Εξουσιοδοτήσεις OAuth 2
+      muted_users: Χρήστες σε Σίγαση
   oauth:
     authorize:
       title: Επιτρέψτε την πρόσβαση στο λογαριασμό σας
@@ -2631,6 +2673,7 @@ el:
       read_gpx: Ανάγνωση προσωπικών ιχνών GPS
       write_gpx: Μεταφόρτωση ιχνών GPS
       write_notes: Τροποποίηση σημειώσεων
+      write_redactions: Αφαίρεση και απόκρυψη δεδομένων χάρτη
       read_email: Διαβάζει τη διεύθυνση email χρήστη
       skip_authorization: Αυτόματη έγκριση εφαρμογής
   oauth_clients:
@@ -2717,7 +2760,7 @@ el:
   oauth2_authorized_applications:
     index:
       title: Οι Εξουσιοδοτημένες Εφαρμογές μου
-      application: Î\95Ï\86αÏ\81μογέÏ\82
+      application: Î\95Ï\86αÏ\81μογή
       permissions: Άδειες
       no_applications_html: Δεν έχετε εξουσιοδοτήσει ακόμη %{oauth2} εφαρμογές.
     application:
@@ -2806,6 +2849,8 @@ el:
       my_dashboard: Το ταμπλό μου
       blocks on me: Φραγές σε Εμένα
       blocks by me: Φραγές από Εμένα
+      create_mute: Σίγαση αυτού του χρήστη
+      destroy_mute: Κατάργηση σίγασης αυτού του χρήστη
       edit_profile: Επεξεργασία προφίλ
       send message: Αποστολή Μηνύματος
       diary: Ημερολόγιο
@@ -2837,6 +2882,7 @@ el:
           importer: Ανάκληση πρόσβασης εισαγωγέα
       block_history: Ενεργές Φραγές
       moderator_history: Φραγές που Επιβλήθηκαν
+      revoke_all_blocks: Ανάκληση όλων των φραγών
       comments: Σχόλια
       create_block: Φραγή αυτού του Χρήστη
       activate_user: Ενεργοποίηση αυτού του λογαριασμού Χρήστη
@@ -2950,6 +2996,16 @@ el:
       confirm: Είστε σίγουρος πως επιθυμείτε να ανακαλέσετε αυτή τη φραγή;
       revoke: Ανακαλέστε!
       flash: Αυτή η φραγή έχει ανακληθεί.
+    revoke_all:
+      title: Ανάκληση όλων των φραγών σε %{block_on}
+      heading_html: Ανάκληση όλων των φραγών σε %{block_on}
+      empty: Ο χρήστης %{name} δεν έχει ενεργές φραγές.
+      confirm: Είστε σίγουροι ότι θέλετε να ανακαλέσετε %{active_blocks};
+      active_blocks:
+        one: '%{count} ενεργή φραγή'
+        other: '%{count} ενεργές φραγές'
+      revoke: Ανάκληση!
+      flash: Όλες οι ενεργές φραγές έχουν ανακληθεί.
     helper:
       time_future_html: Τελειώνει σε %{time}.
       until_login: Ενεργό έως ότου ο χρήστης συνδεθεί.
@@ -3008,11 +3064,36 @@ el:
       showing_page: Σελίδα %{page}
       next: Επόμενη »
       previous: « Προηγούμενη
+  user_mutes:
+    index:
+      title: Χρήστες σε Σίγαση
+      my_muted_users: Οι χρήστες μου σε σίγαση
+      you_have_muted_n_users:
+        one: Έχετε θέσει σε σίγαση %{count} χρήστη
+        other: Έχετε θέσει σε σίγαση %{count} χρήστες
+      user_mute_explainer: Τα μηνύματα των χρηστών σε σίγαση μετακινούνται σε ξεχωριστά
+        Εισερχόμενα και δεν θα λαμβάνετε ειδοποιήσεις μέσω email.
+      user_mute_admins_and_moderators: Μπορείτε να θέσετε σε σίγαση τους Διαχειριστές
+        και τους Συντονιστές αλλά δεν θα γίνει σίγαση των μηνυμάτων τους.
+      table:
+        thead:
+          muted_user: Χρήστης σε Σίγαση
+          actions: Ενέργειες
+        tbody:
+          unmute: Κατάργηση σίγασης
+          send_message: Αποστολή μηνύματος
+    create:
+      notice: Θέσατε σε σίγαση τον χρήστη %{name}.
+      error: Ο χρήστης %{name} δεν μπόρεσε να τεθεί σε σίγαση. %{full_message}.
+    destroy:
+      notice: Καταργήσατε τη σίγαση του χρήστη %{name}.
+      error: Δεν ήταν δυνατή η κατάργηση της σίγασης του χρήστη. Παρακαλούμε προσπαθήστε
+        ξανά.
   notes:
     index:
-      title: Σημειώσεις που υποβλήθηκαν ή σχολιάστηκαν από τον %{user}
-      heading: σημειώσεις του %{user}
-      subheading_html: Σημειώσεις που %{submitted} ή %{commented} από τον %{user}
+      title: Σημειώσεις που υποβλήθηκαν ή σχολιάστηκαν από τον χρήστη %{user}
+      heading: Σημειώσεις του χρήστη %{user}
+      subheading_html: Σημειώσεις που %{submitted} ή %{commented} από τον χρήστη %{user}
       subheading_submitted: υποβλήθηκε
       subheading_commented: σχολιάστηκε
       no_notes: Χωρίς σημειώσεις
@@ -3044,6 +3125,7 @@ el:
       reactivate: Επανενεργοποίηση
       comment_and_resolve: Σχολιάστε και Επιλύστε
       comment: Σχολιάζω
+      log_in_to_comment: Συνδεθείτε για να σχολιάσετε σε αυτή την σημείωση
       report_link_html: Εάν αυτή η σημείωση περιέχει ευαίσθητες πληροφορίες που πρέπει
         να αφαιρεθούν, μπορείτε %{link}.
       other_problems_resolve: Για όλα τα άλλα προβλήματα με τη σημείωση, επιλύστε
index 5858dd57c7aa018d2760f847d7d9f9721f00da4e..3da8d38ab6ed607a9de27463dbfbf9c994077ac4 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Alefar
 # Author: Andibing
 # Author: BEANS
+# Author: Back ache
 # Author: Bjh21
 # Author: Bpfhjquevaps
 # Author: Bruce89
@@ -507,6 +508,14 @@ en-GB:
       comment: Comment
       newer_comments: Newer Comments
       older_comments: Older Comments
+  doorkeeper:
+    errors:
+      messages:
+        account_selection_required: The authorisation server requires end-user account
+          selection
+        consent_required: The authorisation server requires end-user consent
+        interaction_required: The authorisation server requires end-user interaction
+        login_required: The authorisation server requires end-user authentication
   friendships:
     make_friend:
       heading: Add %{user} as a friend?
@@ -1265,7 +1274,6 @@ en-GB:
   messages:
     inbox:
       title: Inbox
-      my_inbox: My Inbox
       messages: You have %{new_messages} and %{old_messages}
       new_messages:
         one: '%{count} new message'
@@ -1273,12 +1281,14 @@ en-GB:
       old_messages:
         one: '%{count} old message'
         other: '%{count} old messages'
-      from: From
-      subject: Subject
-      date: Date
       no_messages_yet_html: You have no messages yet. Why not get in touch with some
         of the %{people_mapping_nearby_link}?
       people_mapping_nearby: people mapping nearby
+    messages_table:
+      from: From
+      to: To
+      subject: Subject
+      date: Date
     message_summary:
       unread_button: Mark as unread
       read_button: Mark as read
@@ -1301,9 +1311,6 @@ en-GB:
       messages:
         one: You have %{count} sent message
         other: You have %{count} sent messages
-      to: To
-      subject: Subject
-      date: Date
       no_sent_messages_html: You have no sent messages yet. Why not get in touch with
         some of the %{people_mapping_nearby_link}?
       people_mapping_nearby: people mapping nearby
@@ -1322,28 +1329,32 @@ en-GB:
         order to read it.
     sent_message_summary:
       destroy_button: Delete
+    heading:
+      my_inbox: My Inbox
     mark:
       as_read: Message marked as read
       as_unread: Message marked as unread
     destroy:
       destroyed: Message deleted
   passwords:
-    lost_password:
+    new:
       title: Lost password
       heading: Forgotten Password?
       email address: E-mail address
       new password button: Reset password
       help_text: Enter the e-mail address you used to sign up, we will send a link
         to it that you can use to reset your password.
+    create:
       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: Could not find that email address, sorry.
-    reset_password:
+    edit:
       title: Reset password
       heading: Reset Password for %{user}
       reset: Reset Password
-      flash changed: Your password has been changed.
       flash token bad: Did not find that token, check the URL maybe?
+    update:
+      flash changed: Your password has been changed.
   profiles:
     edit:
       image: Image
@@ -1471,12 +1482,7 @@ en-GB:
         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
       too_large:
         advice: 'If the above export fails, please consider using one of the sources
@@ -1498,17 +1504,6 @@ en-GB:
         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
@@ -1584,34 +1579,24 @@ en-GB:
           footway: Footway
           rail: Railway
           subway: Subway
-          tram:
-          - Light rail
-          - tram
-          cable:
-          - Cable car
-          - chairlift
-          runway:
-          - Airport Runway
-          - taxiway
-          apron:
-          - Airport apron
-          - terminal
+          cable_car: Cable car
+          chair_lift: chairlift
+          runway: Airport Runway
+          taxiway: taxiway
+          apron: Airport apron
           admin: Administrative boundary
           forest: Forest
           wood: Wood
           golf: Golf course
           park: Park
+          common: Common
           resident: Residential area
-          common:
-          - Common
-          - meadow
           retail: Retail area
           industrial: Industrial area
           commercial: Commercial area
           heathland: Heathland
-          lake:
-          - Lake
-          - reservoir
+          lake: Lake
+          reservoir: reservoir
           farm: Farm
           brownfield: Brownfield site
           cemetery: Cemetery
@@ -1620,14 +1605,12 @@ en-GB:
           centre: Sports centre
           reserve: Nature reserve
           military: Military area
-          school:
-          - School
-          - university
+          school: School
+          university: university
           building: Significant building
           station: Railway station
-          summit:
-          - Summit
-          - peak
+          summit: Summit
+          peak: peak
           tunnel: Dashed casing = tunnel
           bridge: Black casing = bridge
           private: Private access
index 9c6dbc3bdea9701e840de58ba9adb15dda72d1a8..c7325e64f117652d13e92d51a37c51aff4fb940d 100644 (file)
@@ -40,6 +40,13 @@ en:
       messages:
         invalid_email_address: does not appear to be a valid e-mail address
         email_address_not_routable: is not routable
+        display_name_is_user_n: can't be user_n unless n is your user id
+      models:
+        user_mute:
+          attributes:
+            subject:
+              format: "%{message}"
+          is_already_muted: "is already muted"
     # Translates all the model names, which is used in error handling on the website
     models:
       acl: "Access Control List"
@@ -421,6 +428,15 @@ en:
       introduction: "Click on the map to find nearby features."
       nearby: "Nearby features"
       enclosing: "Enclosing features"
+  old_nodes:
+    not_found:
+      sorry: "Sorry, node #%{id} version %{version} could not be found."
+  old_ways:
+    not_found:
+      sorry: "Sorry, way #%{id} version %{version} could not be found."
+  old_relations:
+    not_found:
+      sorry: "Sorry, relation #%{id} version %{version} could not be found."
   changesets:
     changeset_paging_nav:
       showing_page: "Page %{page}"
@@ -1433,9 +1449,9 @@ en:
         one: "%{count} report"
         other: "%{count} reports"
       no_reports: No reports
-      report_created_at: "First reported at %{datetime}"
-      last_resolved_at: "Last resolved at %{datetime}"
-      last_updated_at: "Last updated at %{datetime} by %{displayname}"
+      report_created_at_html: "First reported at %{datetime}"
+      last_resolved_at_html: "Last resolved at %{datetime}"
+      last_updated_at_html: "Last updated at %{datetime} by %{displayname}"
       resolve: Resolve
       ignore: Ignore
       reopen: Reopen
@@ -1584,6 +1600,7 @@ en:
       loaded:
         one: "loaded successfully with %{trace_points} out of a possible %{count} point."
         other: "loaded successfully with %{trace_points} out of a possible %{count} points."
+      all_your_traces_html: "All your successfully uploaded GPX traces can be found at %{url}."
       subject: "[OpenStreetMap] GPX Import success"
     signup_confirm:
       subject: "[OpenStreetMap] Welcome to OpenStreetMap"
@@ -1673,8 +1690,6 @@ en:
   messages:
     inbox:
       title: "Inbox"
-      my_inbox: "My Inbox"
-      my_outbox: "My Outbox"
       messages: "You have %{new_messages} and %{old_messages}"
       new_messages:
         one: "%{count} new message"
@@ -1682,16 +1697,20 @@ en:
       old_messages:
         one: "%{count} old message"
         other: "%{count} old messages"
+      no_messages_yet_html: "You have no messages yet. Why not get in touch with some of the %{people_mapping_nearby_link}?"
+      people_mapping_nearby: "people mapping nearby"
+    messages_table:
       from: "From"
+      to: "To"
       subject: "Subject"
       date: "Date"
-      no_messages_yet_html: "You have no messages yet. Why not get in touch with some of the %{people_mapping_nearby_link}?"
-      people_mapping_nearby: "people mapping nearby"
+      actions: "Actions"
     message_summary:
       unread_button: "Mark as unread"
       read_button: "Mark as read"
       reply_button: "Reply"
       destroy_button: "Delete"
+      unmute_button: "Move to Inbox"
     new:
       title: "Send message"
       send_message_to_html: "Send a new message to %{name}"
@@ -1705,16 +1724,17 @@ en:
       body: "Sorry there is no message with that id."
     outbox:
       title: "Outbox"
-      my_inbox: "My Inbox"
-      my_outbox: "My Outbox"
+      actions: "Actions"
       messages:
         one: "You have %{count} sent message"
         other: "You have %{count} sent messages"
-      to: "To"
-      subject: "Subject"
-      date: "Date"
       no_sent_messages_html: "You have no sent messages yet. Why not get in touch with some of the %{people_mapping_nearby_link}?"
       people_mapping_nearby: "people mapping nearby"
+    muted:
+      title: "Muted Messages"
+      messages:
+        one: "%{count} muted message"
+        other: "You have %{count} muted messages"
     reply:
       wrong_user: "You are logged in as `%{user}' but the message you have asked to reply to was not sent to that user. Please login as the correct user in order to reply."
     show:
@@ -1726,16 +1746,23 @@ en:
       wrong_user: "You are logged in as `%{user}' but the message you have asked to read was not sent by or to that user. Please login as the correct user in order to read it."
     sent_message_summary:
       destroy_button: "Delete"
+    heading: 
+      my_inbox: "My Inbox"
+      my_outbox: "My Outbox"
+      muted_messages: "Muted messages"
     mark:
       as_read: "Message marked as read"
       as_unread: "Message marked as unread"
+    unmute:
+      notice: "Message has been moved to Inbox"
+      error: "The message could not be moved to the Inbox."
     destroy:
       destroyed: "Message deleted"
   passwords:
     new:
       title: "Lost password"
       heading: "Forgotten Password?"
-      email address: "Email Address:"
+      email address: "Email Address"
       new password button: "Reset password"
       help_text: "Enter the email address you used to sign up, we will send a link to it that you can use to reset your password."
     create:
@@ -1793,9 +1820,9 @@ en:
     new:
       title: "Login"
       heading: "Login"
-      email or username: "Email Address or Username:"
-      password: "Password:"
-      openid_html: "%{logo} OpenID:"
+      email or username: "Email Address or Username"
+      password: "Password"
+      openid_html: "%{logo} OpenID"
       remember: "Remember me"
       lost password link: "Lost your password?"
       login_button: "Login"
@@ -1854,6 +1881,7 @@ en:
       image: Image
       alt: Alt text
       url: URL
+      codeblock: Code block
     richtext_field:
       edit: Edit
       preview: Preview
@@ -2144,12 +2172,7 @@ en:
       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"
       licence_details_html: OpenStreetMap data is licensed under the %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -2169,17 +2192,6 @@ en:
         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
@@ -2282,52 +2294,43 @@ en:
           primary: "Primary road"
           secondary: "Secondary road"
           unclassified: "Unclassified road"
+          pedestrian: "Pedestrian way"
           track: "Track"
           bridleway: "Bridleway"
           cycleway: "Cycleway"
           cycleway_national: "National cycleway"
           cycleway_regional: "Regional cycleway"
           cycleway_local: "Local cycleway"
+          cycleway_mtb: "Mountain bike route"
           footway: "Footway"
           rail: "Railway"
           train: "Train"
           subway: "Subway"
           ferry: "Ferry"
-          tram:
-            - Light rail
-            - tram
           light_rail: "Light rail"
-          tram_only: "Tram"
+          tram: "Tram"
           trolleybus: "Trolleybus"
           bus: "Bus"
-          cable:
-            - Cable car
-            - chair lift
-          runway:
-            - Airport Runway
-            - taxiway
-          apron:
-            - Airport apron
-            - terminal
+          cable_car: "Cable car"
+          chair_lift: "Chair lift"
+          runway: "Airport Runway"
+          taxiway: "Taxiway"
+          apron: "Airport apron"
           admin: "Administrative boundary"
-          orchard:
-            - Orchard
-            - vineyard
-          forest:
-            - Forest
-            - wood
+          capital: "Capital"
+          city: "City"
+          orchard: "Orchard"
+          vineyard: "Vineyard"
+          forest: "Forest"
+          wood: "Wood"
           farmland: "Farmland"
-          grass:
-            - Grass
-            - meadow
+          grass: "Grass"
+          meadow: "Meadow"
           bare_rock: "Bare rock"
           sand: "Sand"
           golf: "Golf course"
           park: "Park"
-          common:
-            - Common
-            - meadow
-            - garden
+          common: "Common"
           built_up: "Built-up area"
           resident: "Residential area"
           retail: "Retail area"
@@ -2335,26 +2338,28 @@ en:
           commercial: "Commercial area"
           heathland: "Heathland"
           scrubland: "Scrubland"
-          lake:
-            - Lake
-            - reservoir
+          lake: "Lake"
+          reservoir: "Reservoir"
+          intermittent_water: "Intermittent waterbody"
           glacier: "Glacier"
+          reef: "Reef"
+          wetland: "Wetland"
           farm: "Farm"
           brownfield: "Brownfield site"
           cemetery: "Cemetery"
           allotments: "Allotments"
           pitch: "Sports pitch"
           centre: "Sports centre"
+          beach: "Beach"
           reserve: "Nature reserve"
           military: "Military area"
-          school:
-            - School
-            - university
+          school: "School"
+          university: "University"
+          hospital: "Hospital"
           building: "Significant building"
           station: "Railway station"
-          summit:
-            - Summit
-            - peak
+          summit: "Summit"
+          peak: "Peak"
           tunnel: "Dashed casing = tunnel"
           bridge: "Black casing = bridge"
           private: "Private access"
@@ -2363,7 +2368,9 @@ en:
           bus_stop: "Bus stop"
           stop: "Stop"
           bicycle_shop: "Bicycle shop"
+          bicycle_rental: "Bicycle rental"
           bicycle_parking: "Bicycle parking"
+          bicycle_parking_small: "Small bicycle parking"
           toilets: "Toilets"
     welcome:
       title: Welcome!
@@ -2558,6 +2565,7 @@ en:
       oauth1_settings: OAuth 1 settings
       oauth2_applications: OAuth 2 applications
       oauth2_authorizations: OAuth 2 authorizations
+      muted_users: Muted Users
   oauth:
     authorize:
       title: "Authorize access to your account"
@@ -2592,6 +2600,7 @@ en:
       read_gpx: Read private GPS traces
       write_gpx: Upload GPS traces
       write_notes: Modify notes
+      write_redactions: Redact map data
       read_email: Read user email address
       skip_authorization: Auto approve application
   oauth_clients:
@@ -2676,6 +2685,7 @@ en:
       application: "Application"
       permissions: "Permissions"
       no_applications_html: "You have not yet authorized any %{oauth2} applications."
+      oauth_2: "OAuth 2"
     application:
       revoke: "Revoke Access"
       confirm_revoke: "Revoke access for this application?"
@@ -2745,6 +2755,8 @@ en:
       my_dashboard: My Dashboard
       blocks on me: Blocks on Me
       blocks by me: Blocks by Me
+      create_mute: Mute this User
+      destroy_mute: Unmute this User
       edit_profile: Edit Profile
       send message: Send Message
       diary: Diary
@@ -2776,6 +2788,7 @@ en:
           importer: "Revoke importer access"
       block_history: "Active Blocks"
       moderator_history: "Blocks Given"
+      revoke_all_blocks: "Revoke all blocks"
       comments: "Comments"
       create_block: "Block this User"
       activate_user: "Activate this User"
@@ -2878,6 +2891,16 @@ en:
       confirm: "Are you sure you wish to revoke this block?"
       revoke: "Revoke!"
       flash: "This block has been revoked."
+    revoke_all:
+      title: "Revoking all blocks on %{block_on}"
+      heading_html: "Revoking all blocks on %{block_on}"
+      empty: "%{name} has no active blocks."
+      confirm: "Are you sure you wish to revoke %{active_blocks}?"
+      active_blocks:
+        one: "%{count} active block"
+        other: "%{count} active blocks"
+      revoke: "Revoke!"
+      flash: "All active blocks have been revoked."
     helper:
       time_future_html: "Ends in %{time}."
       until_login: "Active until the user logs in."
@@ -2935,6 +2958,29 @@ en:
       showing_page: "Page %{page}"
       next: "Next »"
       previous: "« Previous"
+  user_mutes:
+    index:
+      title: "Muted Users"
+      my_muted_users: "My muted users"
+      you_have_muted_n_users:
+        one: "You have muted %{count} User"
+        other: "You have muted %{count} users"
+      user_mute_explainer: "Messages of muted users are moved into a separate Inbox and you won't receive email notifications."
+      user_mute_admins_and_moderators: "You can mute Admins and Moderators but their messages will not be muted."
+      table:
+        thead:
+          muted_user: "Muted User"
+          actions: "Actions"
+        tbody:
+          unmute: "Unmute"
+          send_message: "Send message"
+
+    create:
+      notice: "You muted %{name}."
+      error: "%{name} could not be muted. %{full_message}."
+    destroy:
+      notice: "You unmuted %{name}."
+      error: "User could not be unmuted. Please try again."
   notes:
     index:
       title: "Notes submitted or commented on by %{user}"
@@ -2971,6 +3017,7 @@ en:
       reactivate: Reactivate
       comment_and_resolve: Comment & Resolve
       comment: Comment
+      log_in_to_comment: "Log in to comment on this note"
       report_link_html: "If this note contains sensitive information that needs to be removed, you can %{link}."
       other_problems_resolve: "For all other problems with the note, please resolve it yourself with a comment."
       other_problems_resolved: "For all other problems, resolving is sufficient."
@@ -3027,7 +3074,6 @@ en:
         transport_map: Transport Map
         tracestracktop_topo: Tracestrack Topo
         hot: Humanitarian
-        opnvkarte: ÖPNVKarte
       layers:
         header: Map Layers
         notes: Map Notes
@@ -3044,8 +3090,6 @@ en:
       osm_france: OpenStreetMap France
       thunderforest_credit: "Tiles courtesy of %{thunderforest_link}"
       andy_allan: Andy Allan
-      opnvkarte_credit: "Tiles courtesy of %{memomaps_link}"
-      memomaps: MeMoMaps
       tracestrack_credit: "Tiles courtesy of %{tracestrack_link}"
       tracestrack: Tracestrack
       hotosm_credit: "Tiles style by %{hotosm_link} hosted by %{osm_france_link}"
index b9b108e17592edb8e9ded772e000064a6b1fc995..22025511c0484811a09ebd4eb44ccc670349d8d9 100644 (file)
@@ -65,6 +65,9 @@ eo:
       messages:
         invalid_email_address: ŝajnas ne estas ĝusta retpoŝta adreso
         email_address_not_routable: ne estas enkursigebla
+      models:
+        user_mute:
+          is_already_muted: jam estas silentigita
     models:
       acl: Listo de kontrolo de akiroj
       changeset: Ŝanĝaro
@@ -918,7 +921,7 @@ eo:
           construction: Vojo konstruata
           corridor: Koridoro
           crossing: Trapasejo
-          cycleway: Bicikovojo
+          cycleway: Bicikla vojo
           elevator: Lifto
           emergency_access_point: Vivsava rekonebla signo
           emergency_bay: Kriokaza strat-golfo
@@ -1477,9 +1480,9 @@ eo:
         one: '%{count} raporto'
         other: '%{count} raportoj'
       no_reports: Neniu raporto
-      report_created_at: Unue raportita je %{datetime}
-      last_resolved_at: Laste solvita je %{datetime}
-      last_updated_at: Laste aktualigita je %{datetime} de %{displayname}
+      report_created_at_html: Unue raportita je %{datetime}
+      last_resolved_at_html: Laste solvita je %{datetime}
+      last_updated_at_html: Laste aktualigita je %{datetime} de %{displayname}
       resolve: Solvi
       ignore: Ignori
       reopen: Remalfermi
@@ -1636,6 +1639,7 @@ eo:
       loaded:
         one: estas sukcese enlegita kun %{trace_points} el ebla %{count} punkto.
         other: estas sukcese enlegita kun %{trace_points} el eblaj %{count} punktoj.
+      all_your_traces_html: Ĉiuj viaj sukcese alŝutitaj GPX-spuroj troveblas ĉe %{url}.
       subject: '[OpenStreetMap] GPX-dosiero enportita sukcese'
     signup_confirm:
       subject: '[OpenStreetMap] Bonvenon al OpenStreetMap'
@@ -1745,8 +1749,6 @@ eo:
   messages:
     inbox:
       title: Ricevujo
-      my_inbox: Ricevujo
-      my_outbox: Senditujo
       messages: Vi havas %{new_messages} kaj %{old_messages}
       new_messages:
         one: '%{count} novan mesaĝon'
@@ -1754,17 +1756,21 @@ eo:
       old_messages:
         one: '%{count} malnovan mesaĝon'
         other: '%{count} malnovajn mesaĝojn'
-      from: De
-      subject: Temo
-      date: Dato
       no_messages_yet_html: Vi ankoraŭ ne havas iun mesaĝon. Eble kontaktu kun iu
         el %{people_mapping_nearby_link}?
       people_mapping_nearby: proksimaj mapigistoj
+    messages_table:
+      from: De
+      to: Al
+      subject: Temo
+      date: Dato
+      actions: Agoj
     message_summary:
       unread_button: Marki kiel nelegitan
       read_button: Marki kiel legitan
       reply_button: Respondi
       destroy_button: Forigi
+      unmute_button: Movi al ricevujo
     new:
       title: Sendi mesaĝon
       send_message_to_html: Sendi novan mesaĝon al %{name}
@@ -1778,18 +1784,19 @@ eo:
       heading: Tiu ĉi mesaĝo ne ekzistas
       body: Bedaŭrinde ne ekzistas mesaĝo kun tiu ĉi identigilo.
     outbox:
-      title: Elirkesto
-      my_inbox: Ricevujo
-      my_outbox: Senditujo
+      title: Senditujo
+      actions: Agoj
       messages:
         one: Vi havas %{count} senditan mesaĝon
         other: Vi havas %{count} senditajn mesaĝojn
-      to: Al
-      subject: Temo
-      date: Dato
       no_sent_messages_html: Vi ankoraŭ ne sendis iun mesaĝon. Eble kontaktu kun iu
         el %{people_mapping_nearby_link}?
       people_mapping_nearby: proksimaj mapigistoj
+    muted:
+      title: Silentigitaj mesaĝoj
+      messages:
+        one: Vi havas %{count} silentigitan mesaĝon
+        other: Vi havas %{count} silentigitajn mesaĝojn
     reply:
       wrong_user: Vi estas ensalutinta kiel '%{user}', sed la mesaĝo, kiun vi volas
         respondi, ne estas sendita al tiu uzanto. Bonvolu ensaluti kiel propra uzanto
@@ -1805,28 +1812,38 @@ eo:
         legi ĝin.
     sent_message_summary:
       destroy_button: Forigi
+    heading:
+      my_inbox: Ricevujo
+      my_outbox: Senditujo
+      muted_messages: Silentigitaj mesaĝoj
     mark:
       as_read: Mesaĝo markita kiel legitan
       as_unread: Mesaĝo markita kiel nelegitan
+    unmute:
+      notice: Movis mesaĝon al ricevujo
+      error: La mesaĝo ne povis esti movita al la ricevujo.
     destroy:
       destroyed: Mesaĝo forigita
   passwords:
-    lost_password:
+    new:
       title: Perdita pasvorto
       heading: Forgesis vian pasvorton ?
       email address: 'Retpoŝtadreso:'
       new password button: Nuligi pasvorton
       help_text: Entajpu la retpoŝtan adreson kiun vi uzis por ensaluto, ni sendos
         al vi ligilon, kiun vi povos uzi por restarigi vian pasvorton.
+    create:
       notice email on way: Bedaŭras, ke vi perdis ĝin :-( sed baldaŭ vi ricevos retleteron,
         kiun vi uzos por restarigi ĝin.
       notice email cannot find: Bedaŭrinde, tiu retadreso ne troveblas.
-    reset_password:
+    edit:
       title: Nuligi pasvorton
       heading: Nuligi Pasvorton por %{user}
       reset: Nuligi pasvorton
-      flash changed: Via pasvorto estis ŝanĝita.
       flash token bad: Netrovebla ĵetono, bonvolu kontroli la URLon.
+    update:
+      flash changed: Via pasvorto estis ŝanĝita.
+      flash token bad: Ne povas trovi ĵetonon. Provu kontroli la retadreson.
   preferences:
     show:
       title: Miaj preferoj
@@ -1931,6 +1948,7 @@ eo:
       image: Bildo
       alt: Kromteksto
       url: Retadreso
+      codeblock: Bloko de kodo
     richtext_field:
       edit: Redakti
       preview: Antaŭvidi
@@ -2158,12 +2176,7 @@ eo:
         por tiu ĉi eblo.
     export:
       title: Elporti
-      area_to_export: Elportonta areo
       manually_select: Permane elektu alian areon.
-      format_to_export: Elport-formo
-      osm_xml_data: XML datumoj de OpenStreetMap
-      map_image: Bildo de mapo (norma tavolo)
-      embeddable_html: Enkorpigebla HTML
       licence: Permesilo
       licence_details_html: OpenStreetMap estas publikigata laŭ la permesilo %{odbl_link}
         (ODbL).
@@ -2186,17 +2199,6 @@ eo:
         other:
           title: Aliaj fontoj
           description: Aliaj fontoj enlistigitaj ĉe OpenStreetMap-vikio
-      options: Elektebloj
-      format: Formo
-      scale: Skalo
-      max: maks
-      image_size: Bildamplekso
-      zoom: Pligrandigi
-      add_marker: Aldoni markon al la mapo
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Eliro
-      paste_html: Engluu HTML-kodon al via retpaĝo
       export_button: Elporti
     fixthemap:
       title: Raporti problemon / Korekti mapon
@@ -2295,67 +2297,83 @@ eo:
           primary: Vojo unua-ranga
           secondary: Vojo dua-ranga
           unclassified: Vojo kvara-ranga
+          pedestrian: Piedirada strato
           track: Vojo kampa
           bridleway: Ĉevalvojo
           cycleway: Bicikla vojo
-          cycleway_national: Bicikla vojo ŝtata
-          cycleway_regional: Bicikla vojo regiona
-          cycleway_local: Bicikla vojo loka
+          cycleway_national: Bicikla kurso ŝtata
+          cycleway_regional: Bicikla kurso regiona
+          cycleway_local: Bicikla kurso loka
+          cycleway_mtb: Montbicikla kurso
           footway: Trotuaro
           rail: Fervojo
+          train: Vagonaro
           subway: Metroo
-          tram:
-          - Fervojo malpeza
-          - tramo
-          cable:
-          - Kablovojo
-          - seĝtelfero
-          runway:
-          - Avia dromo
-          - aŭtokur-strato
-          apron:
-          - Aviadil-parkumejo
-          - flugstacio
+          ferry: Pramo
+          light_rail: Malpeza vagonaro
+          tram: Tramo
+          trolleybus: Trolebuso
+          bus: Aŭtobuso
+          cable_car: Kablovojo
+          chair_lift: Telfero seĝa
+          runway: Avia dromo
+          taxiway: Aŭtokur-strato
+          apron: Aviadil-parkumejo
           admin: Administra limo
+          capital: Ĉefurbo
+          city: Urbo
+          orchard: Fruktoĝardeno
+          vineyard: Vinberĝardeno
           forest: Kultiv-arbaro
           wood: Arbaro
+          farmland: Agrokultura tereno
+          grass: Herbotapiŝo
+          meadow: Herbejo
+          bare_rock: Roka areo
+          sand: Sabla tereno
           golf: Golfejo
           park: Parko
+          common: Publika ripoza tereno
+          built_up: Konstruaĵ-kovrita tereno
           resident: Privatdoma tereno
-          common:
-          - Publika ripoza tereno
-          - herbejo
-          - ĝardeno
           retail: Komercejo
           industrial: Industria areo
           commercial: Oficeja tereno
           heathland: Erikejo
-          lake:
-          - Lago
-          - akvorezervujo
+          scrubland: Arbustaro
+          lake: Lago
+          reservoir: Lago artefarita
+          intermittent_water: Sezona akvujo
+          glacier: Glacirivero
+          reef: Rifo
+          wetland: Malsekejo
           farm: Farmobieno
           brownfield: Antaŭ-konstruejo (post-malkonstruado)
           cemetery: Tombejo
           allotments: Familiaj ĝardenoj
           pitch: Ludkampo
           centre: Sporta centro
+          beach: Sablobordo
           reserve: Naturrezervejo
           military: Armea tereno
-          school:
-          - Lernejo
-          - universitato
+          school: Lernejo
+          university: Universitato
+          hospital: Malsanulejo
           building: Grava konstruaĵo
           station: Stacidomo
-          summit:
-          - Montosupro
-          - montpinto
+          summit: Montosupro
+          peak: Montpinto
           tunnel: Strekumita konturo - tunelo
           bridge: Nigra konturo - ponto
           private: Privata aliro
           destination: Aliro nur al celo
           construction: Vojoj konstruataj
+          bus_stop: Haltejo aŭtobusa
+          stop: Haltejo
           bicycle_shop: Bicikl-vendejo
+          bicycle_rental: Bicikl-pruntejo
           bicycle_parking: Parkumejo bicikla
+          bicycle_parking_small: Malgranda parkumejo bicikla
           toilets: Necesejo
     welcome:
       title: Bonvenon!
@@ -2486,8 +2504,8 @@ eo:
       visibility: 'Videbleco:'
       confirm_delete: Ĉu forigi tiun ĉi spuron?
     trace_paging_nav:
-      older: Antaŭaj spuroj
-      newer: Postaj spuroj
+      older: Pli malnovaj spuroj
+      newer: Pli novaj spuroj
     trace:
       pending: OKAZONTA
       count_points:
@@ -2554,6 +2572,7 @@ eo:
       oauth1_settings: Agordoj OAuth 1
       oauth2_applications: Aplikaĵoj OAuth 2
       oauth2_authorizations: Rajtigoj OAuth 2
+      muted_users: Silentigitaj uzantoj
   oauth:
     authorize:
       title: Rajtigi aliron al via konto
@@ -2590,6 +2609,7 @@ eo:
       read_gpx: legi privatajn GPS-spurojn
       write_gpx: alŝuti GPS-spurojn
       write_notes: modifi rimarkojn
+      write_redactions: Redakti map-datumojn
       read_email: legi retpoŝtan adreson de uzanto
       skip_authorization: Aŭtomate akcepti aplikaĵojn
   oauth_clients:
@@ -2760,8 +2780,10 @@ eo:
       my comments: Miaj komentoj
       my_preferences: Preferoj
       my_dashboard: Panelo
-      blocks on me: Blokas min
+      blocks on me: Ricevitaj blokadoj
       blocks by me: Blokitaj de mi
+      create_mute: Silentigi tiun ĉi uzanton
+      destroy_mute: Malsilentigi tiun ĉi uzanton
       edit_profile: Redakti profilon
       send message: Sendi mesaĝon
       diary: Taglibro
@@ -2793,6 +2815,7 @@ eo:
           importer: Nuligi aliron de enportisto
       block_history: Blokadoj aktivaj
       moderator_history: Blokadoj eldonitaj
+      revoke_all_blocks: Nuligi ĉiujn blokadojn
       comments: Komentoj
       create_block: Bloki ĉi tiun uzanton
       activate_user: Aktivigi tiun ĉi uzanton
@@ -2898,6 +2921,14 @@ eo:
       confirm: Ĉu vi certe volas nuligi ĉi tiun blokadon?
       revoke: Malbloki!
       flash: Ĉi tiu blokado estas nuligita.
+    revoke_all:
+      title: Nuligado de ĉiujn blokojn por %{block_on}
+      heading_html: Nuligado de ĉiujn blokojn por %{block_on}
+      empty: '%{name} ne havas aktivajn blokadojn.'
+      confirm: Ĉu vi volas nuligi %{active_blocks}?
+      active_blocks: '{{PLURAL|one=%{count} aktivan blokadon|%{count} aktivajn blokadojn}'
+      revoke: Malbloki!
+      flash: Ĉiuj aktivaj blokoj estas nuligitaj.
     helper:
       time_future_html: Finiĝos post %{time}.
       until_login: Aktiva ĝis la uzanto ensalutos.
@@ -2955,6 +2986,30 @@ eo:
       showing_page: Paĝo %{page}
       next: Sekva »
       previous: « Antaŭa
+  user_mutes:
+    index:
+      title: Silentigitaj uzantoj
+      my_muted_users: Miaj silentigitaj uzantoj
+      you_have_muted_n_users:
+        one: Vi silentigis %{count} uzanton
+        other: Vi silentigis %{count} uzantojn
+      user_mute_explainer: Mesaĝoj de silentigitaj uzantoj estos movitaj al aparta
+        mesaĝujo kaj vi ne ricevos retpoŝtajn sciigojn pri ili.
+      user_mute_admins_and_moderators: Vi povas silentigi administrantojn kaj kontrolantojn,
+        tamen iliaj mesaĝoj ne estos silentigitaj.
+      table:
+        thead:
+          muted_user: Silentigita uzanto
+          actions: Agoj
+        tbody:
+          unmute: Malsilentigi
+          send_message: Sendi mesaĝon
+    create:
+      notice: Vi silentigis la uzanton %{name}.
+      error: Uzanto %{name} ne povas esti silentigita. %{full_message}.
+    destroy:
+      notice: Vi malsilentigis la uzanton %{name}.
+      error: Ne povis malsilentigi la uzanton. Reprovu.
   notes:
     index:
       title: Rimarkoj kreitaj aŭ komentitaj de %{user}
@@ -2992,6 +3047,7 @@ eo:
       reactivate: Remalfermi
       comment_and_resolve: Komenti kaj solvi
       comment: Komenti
+      log_in_to_comment: Ensalutu por komenti tiun ĉi rimarkon
       report_link_html: Se tiu ĉi rimarko enhavas privatajn informojn, kiuj ne devas
         esti publikigitaj, vi povas %{link}.
       other_problems_resolve: Koncerne al ĉiuj aliaj problemoj pri la rimarko, solvu
index 95905c01bb8a2e25c864fd27fc27c227cc6bae21..ee6e3a3a244a5e62ba1417fb81da34c1e164a202 100644 (file)
@@ -47,6 +47,7 @@
 # Author: Javiersanp
 # Author: Jelou
 # Author: Jlrb+
+# Author: Jmabel
 # Author: Joanmp17
 # Author: Johnarupire
 # Author: Josuert
@@ -133,6 +134,10 @@ es:
       messages:
         invalid_email_address: no parece ser una dirección de correo electrónico válida
         email_address_not_routable: no es enrutable
+        display_name_is_user_n: no puedes ser user_n a menos que n sea tu ID de usuario
+      models:
+        user_mute:
+          is_already_muted: ya esta silenciado
     models:
       acl: Lista de control de acceso
       changeset: Conjunto de cambios
@@ -616,7 +621,7 @@ es:
       user_title: Diario de %{user}
       in_language_title: Entradas de diario en %{language}
       new: Nueva entrada de diario
-      new_title: Redactar una nueva entrada en mi diario de usuario
+      new_title: Escribir una nueva entrada en mi diario de usuario
       my_diary: Mi diario
       no_entries: No hay entradas en el diario
       recent_entries: Entradas recientes en el diario
@@ -1564,9 +1569,9 @@ es:
         one: '%{count} reporte'
         other: '%{count} reportes'
       no_reports: Sin reportes
-      report_created_at: Denunciado por primera vez el %{datetime}
-      last_resolved_at: Resuelto por última vez el %{datetime}
-      last_updated_at: Actualizado por última vez el %{datetime} por %{displayname}
+      report_created_at_html: Denunciado por primera vez el %{datetime}
+      last_resolved_at_html: Resuelto por última vez el %{datetime}
+      last_updated_at_html: Actualizado por última vez el %{datetime} por %{displayname}
       resolve: Resolver
       ignore: Ignorar
       reopen: Reabrir
@@ -1728,6 +1733,8 @@ es:
       loaded:
         one: se cargó correctamente, con %{trace_points} de %{count} puntos posibles.
         other: se cargaron correctamente, con %{trace_points} de %{count} puntos posibles.
+      all_your_traces_html: Todas los trazas GPX cargadas correctamente se pueden
+        encontrar en %{url}.
       subject: '[OpenStreetMap] Éxito al importar GPX'
     signup_confirm:
       subject: '[OpenStreetMap] OpenStreetMap te da la bienvenida'
@@ -1849,8 +1856,6 @@ es:
   messages:
     inbox:
       title: Buzón de entrada
-      my_inbox: Mi buzón
-      my_outbox: Mi buzón de salida
       messages: Tienes %{new_messages} y %{old_messages}
       new_messages:
         one: '%{count} nuevo mensaje'
@@ -1858,17 +1863,21 @@ es:
       old_messages:
         one: '%{count} mensaje antiguo'
         other: '%{count} mensajes antiguos'
-      from: De
-      subject: Asunto
-      date: Fecha
       no_messages_yet_html: Aún no tienes mensajes. ¿Por qué no ponerte en contacto
         con algunas de las %{people_mapping_nearby_link}?
       people_mapping_nearby: gente mapeando cerca
+    messages_table:
+      from: De
+      to: Para
+      subject: Asunto
+      date: Fecha
+      actions: Acciones
     message_summary:
       unread_button: Marcar como no leído
       read_button: Marcar como leí­do
       reply_button: Responder
       destroy_button: Eliminar
+      unmute_button: Trasladar a la bandeja de entrada
     new:
       title: Enviar mensaje
       send_message_to_html: Enviar un mensaje nuevo a %{name}
@@ -1883,17 +1892,18 @@ es:
       body: Lo sentimos, no hay mensaje alguno con este identificador.
     outbox:
       title: Bandeja de salida
-      my_inbox: Mi Bandeja de entrada
-      my_outbox: Mi Bandeja de salida
+      actions: Acciones
       messages:
         one: Tiene %{count} mensaje enviado
         other: Tiene %{count} mensajes enviados
-      to: Para
-      subject: Asunto
-      date: Fecha
       no_sent_messages_html: Aún no tienes mensajes enviados. ¿Por qué no ponerte
         en contacto con algunas de las %{people_mapping_nearby_link}?
       people_mapping_nearby: personas mapeando cerca
+    muted:
+      title: Mensajes silenciados
+      messages:
+        one: '%{count} mensaje silenciado'
+        other: Tienes %{count} mensajes silenciados
     reply:
       wrong_user: Estás conectado como `%{user}' pero el mensaje que quieres responder
         no se ha enviado a dicho usuario. Por favor, inicia sesión con el usuario
@@ -1909,29 +1919,40 @@ es:
         correcto para leer el mensaje.
     sent_message_summary:
       destroy_button: Eliminar
+    heading:
+      my_inbox: Mi buzón
+      my_outbox: Mi buzón de salida
+      muted_messages: Mensajes silenciados
     mark:
       as_read: Mensaje marcado como leído
       as_unread: Mensaje marcado como no leído
+    unmute:
+      notice: El mensaje se ha trasladado a la bandeja de entrada
+      error: No se pudo trasladar el mensaje a la bandeja de entrada.
     destroy:
       destroyed: Mensaje eliminado
   passwords:
-    lost_password:
+    new:
       title: Contraseña perdida
       heading: ¿Contraseña olvidada?
-      email address: 'Dirección de correo electrónico:'
+      email address: Dirección de correo electrónico
       new password button: Restablecer contraseña
       help_text: Escribe la dirección de correo electrónico con la que te registraste,
         te enviaremos un enlace a esa dirección que podrás utilizar para restablecer
         tu contraseña.
+    create:
       notice email on way: Sentimos que la hayas perdido :-( pero ya va de camino
         un mensaje de correo electrónico que te servirá para restablecer tu contraseña
         enseguida.
       notice email cannot find: Lo sentimos, no se pudo encontrar esa dirección de
         correo electrónico.
-    reset_password:
+    edit:
       title: Restablecer contraseña
       heading: Restablecer contraseña para %{user}
       reset: Restablecer contraseña
+      flash token bad: No se ha encontrado este token, ¿Quizá deberías comprobar la
+        URL?
+    update:
       flash changed: Tu contraseña ha sido cambiada.
       flash token bad: No se ha encontrado este token, ¿Quizá deberías comprobar la
         URL?
@@ -1981,7 +2002,7 @@ es:
       title: Iniciar sesión
       heading: Iniciar sesión
       email or username: 'Dirección de correo electrónico o nombre de usuario:'
-      password: 'Contraseña:'
+      password: Contraseña
       openid_html: '%{logo} OpenID:'
       remember: Recordarme
       lost password link: ¿Has perdido tu contraseña?
@@ -2041,6 +2062,7 @@ es:
       image: Imagen
       alt: Texto alternativo
       url: URL
+      codeblock: Bloque de código
     richtext_field:
       edit: Editar
       preview: Previsualizar
@@ -2281,12 +2303,7 @@ es:
         para esta funcionalidad.
     export:
       title: Exportar
-      area_to_export: Área a exportar
       manually_select: Seleccionar manualmente un área diferente
-      format_to_export: Formato de exportación
-      osm_xml_data: Datos de OpenStreetMap en formato XML
-      map_image: Imagen de mapa (muestra la capa estándar)
-      embeddable_html: HTML integrable
       licence: Licencia
       licence_details_html: Los datos de OpenStreetMap están registrados bajo %{odbl_link}
         (ODbL).
@@ -2312,17 +2329,6 @@ es:
         other:
           title: Otras fuentes
           description: Fuentes adicionales enumeradas en la wiki de OpenStreetMap
-      options: Opciones
-      format: Formato
-      scale: Escala
-      max: máx.
-      image_size: Tamaño de la imagen
-      zoom: Acercar
-      add_marker: Añadir un marcador al mapa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Resultado
-      paste_html: Pegar HTML para insertar en sitio web
       export_button: Exportar
     fixthemap:
       title: Reportar un problema / corregir el mapa
@@ -2425,67 +2431,83 @@ es:
           primary: Vía primaria
           secondary: Vía secundaria
           unclassified: Vía de menos nivel
+          pedestrian: Vía peatonal
           track: Pista
           bridleway: Vía ecuestre
           cycleway: Ciclovía
           cycleway_national: Ciclovía nacional
           cycleway_regional: Ciclovía regional
           cycleway_local: Ciclovía local
+          cycleway_mtb: Ruta de bicicleta de montaña
           footway: Vía peatonal
           rail: Ferrocarril
+          train: Tren
           subway: Metro
-          tram:
-          - Metro ligero
-          - tranvía
-          cable:
-          - Telecabina
-          - Telesilla
-          runway:
-          - Pista de aeropuerto
-          - Calle de rodaje
-          apron:
-          - Rampa aeroportuaria
-          - terminal
+          ferry: Ferry
+          light_rail: Tren Ligero
+          tram: Tranvía
+          trolleybus: Trolebús
+          bus: Autobús
+          cable_car: Telecabina
+          chair_lift: Telesilla
+          runway: Pista de aeropuerto
+          taxiway: Calle de rodaje
+          apron: Rampa aeroportuaria
           admin: Límite administrativo
+          capital: Capital
+          city: Ciudad
+          orchard: Huerta
+          vineyard: Viñedo
           forest: Bosque
-          wood: Bosque
+          wood: Bosque maderable
+          farmland: Tierras de cultivo
+          grass: Césped
+          meadow: Pradera
+          bare_rock: Roca desnuda
+          sand: Arena
           golf: Campo de golf
           park: Parque
+          common: Común
+          built_up: Área construida
           resident: Zona residencial
-          common:
-          - Común
-          - pradera
-          - jardín
           retail: Zona de comercios
           industrial: Zona industrial
           commercial: Zona comercial
           heathland: Brezal
-          lake:
-          - Lago
-          - embalse
+          scrubland: Matorral
+          lake: Lago
+          reservoir: Embalse
+          intermittent_water: Cuerpo de agua intermitente
+          glacier: Glaciar
+          reef: Arrecife
+          wetland: Pantano
           farm: Granja
           brownfield: Sitio baldío
           cemetery: Cementerio
           allotments: Huertos de ocio
           pitch: Campo de juego
           centre: Centro deportivo
+          beach: Playa
           reserve: Reserva natural
           military: Área militar
-          school:
-          - Escuela
-          - universidad
+          school: Escuela
+          university: Universidad
+          hospital: Hospital
           building: Edificio significativo
           station: Estación de tren
-          summit:
-          - Cumbre
-          - pico
+          summit: Cumbre
+          peak: Pico
           tunnel: Borde a rayas = túnel
           bridge: Borde negro = puente
           private: Acceso privado
           destination: Acceso a destino
           construction: Vías en construcción
+          bus_stop: Parada de autobuses
+          stop: Parada
           bicycle_shop: Tienda de bicicletas
+          bicycle_rental: Alquiler de bicicletas
           bicycle_parking: Estacionamiento de bicicletas
+          bicycle_parking_small: Pequeño aparcamiento para bicicletas
           toilets: Baños
     welcome:
       title: ¡Bienvenido!
@@ -2695,6 +2717,7 @@ es:
       oauth1_settings: Otras configuraciones
       oauth2_applications: Aplicaciones de OAuth 2
       oauth2_authorizations: Autorizaciones de OAuth 2
+      muted_users: Usuarios silenciados
   oauth:
     authorize:
       title: Autorizar el acceso a tu cuenta
@@ -2731,6 +2754,7 @@ es:
       read_gpx: Leer trazas de GPS privadas
       write_gpx: Subir trazas de GPS
       write_notes: Modifica notas
+      write_redactions: Censurar datos del mapa
       read_email: Leer dirección de correo electrónico del usuario
       skip_authorization: Auto aprobar aplicación
   oauth_clients:
@@ -2780,7 +2804,6 @@ es:
       no_applications_html: ¿Tienes una aplicación que te gustaría registrar para
         usar con nosotros utilizando el estándar %{oauth2}? Debes registrar tu aplicación
         antes de que pueda hacer solicitudes OAuth a este servicio.
-      oauth_2: OAuth 2
       new: Registra tu aplicación
       name: Nombre
       permissions: Permisos
@@ -2906,6 +2929,8 @@ es:
       my_dashboard: Mi tablero
       blocks on me: Bloqueos sobre mí
       blocks by me: Bloqueados por mí
+      create_mute: Silenciar a este usuario
+      destroy_mute: Dejar de silenciar a este usuario
       edit_profile: Editar perfil
       send message: Enviar mensaje
       diary: Diario
@@ -2937,6 +2962,7 @@ es:
           importer: Revocar el acceso importador
       block_history: Bloqueos activos
       moderator_history: Bloqueos impuestos
+      revoke_all_blocks: Revocar todos los bloqueos
       comments: Comentarios
       create_block: Bloquear a este usuario
       activate_user: Activar este usuario
@@ -3051,6 +3077,16 @@ es:
       confirm: ¿Estás seguro de que deseas revocar este bloqueo?
       revoke: ¡Revocar!
       flash: Este bloqueo ha sido revocado.
+    revoke_all:
+      title: Revocando todos los bloqueos en %{block_on}
+      heading_html: Revocando todos los bloqueos en %{block_on}
+      empty: '%{name} no tiene bloqueos activos.'
+      confirm: ¿Estás seguro de que deseas revocar %{active_blocks}?
+      active_blocks:
+        one: '%{count} bloqueo activo'
+        other: '%{count} bloqueos activos'
+      revoke: ¡Revocar!
+      flash: Todos los bloqueos activos han sido revocados.
     helper:
       time_future_html: Termina en %{time}.
       until_login: Activo hasta que el usuario acceda.
@@ -3110,6 +3146,30 @@ es:
       showing_page: Página %{page}
       next: Siguiente »
       previous: « Anterior
+  user_mutes:
+    index:
+      title: Usuarios silenciados
+      my_muted_users: Mis usuarios silenciados
+      you_have_muted_n_users:
+        one: Has silenciado %{count} usuario
+        other: Has silenciado %{count} usuarios
+      user_mute_explainer: Los mensajes de los usuarios silenciados se trasladan a
+        una bandeja de entrada separada y no recibirás notificaciones por correo electrónico.
+      user_mute_admins_and_moderators: Puedes silenciar a los administradores y moderadores
+        pero sus mensajes no serán silenciados.
+      table:
+        thead:
+          muted_user: Usuario silenciado
+          actions: Acciones
+        tbody:
+          unmute: Dejar de silenciar
+          send_message: Enviar mensaje
+    create:
+      notice: Has silenciado a %{name}.
+      error: '%{name} no pudo ser silenciado. %{full_message}.'
+    destroy:
+      notice: Has dejado de silenciar a %{name}.
+      error: No se pudo quitar el silenciado del usuario. Inténtalo de nuevo.
   notes:
     index:
       title: Notas creadas o comentadas por %{user}
@@ -3146,6 +3206,7 @@ es:
       reactivate: Reactivar
       comment_and_resolve: Comentar y resolver
       comment: Comentar
+      log_in_to_comment: Inicia sesión para comentar esta nota
       report_link_html: Si esta nota contiene información sensible que debe eliminarse,
         puedes %{link}.
       other_problems_resolve: Para todos los demás problemas con la nota, resuélvelo
@@ -3370,7 +3431,7 @@ es:
       heading: Lista de censuras
       title: Lista de censuras
     new:
-      heading: Introduzca la información de la nueva censura
+      heading: Introduce la información de la nueva censura
       title: Creando nueva censura
     show:
       description: 'Descripción:'
@@ -3381,13 +3442,13 @@ es:
       destroy: Eliminar esta censura
       confirm: ¿Está seguro?
     create:
-      flash: Se creó la censura.
+      flash: Censura creada.
     update:
       flash: Cambios guardados.
     destroy:
       not_empty: La censura no está vacía. Elimina todas las versiones previas pertenecientes
         a esta censura antes de destruirla.
-      flash: Redacción destruida.
+      flash: Censura destruida.
       error: Se produjo un error al destruir esta censura.
   validations:
     leading_whitespace: tiene espacio en blanco delantero
index 59866c7a166f0248ce3bd08dd1971e628f4ca15f..5fb170c07b6a222238b37c12994805c37a3193ed 100644 (file)
@@ -34,8 +34,8 @@ et:
         create: Registreeri
         update: Uuenda
       redaction:
-        create: Loo redaktsioon
-        update: Salvesta redaktsioon
+        create: Loo kinnikatmine
+        update: Salvesta kinnikatmine
       trace:
         create: Laadi üles
         update: Salvesta muudatused
@@ -387,9 +387,9 @@ et:
         changeset: muudatuskogumi
         note: märkuse
     redacted:
-      redaction: Redaktsioon %{id}
-      message_html: Selle %{type} versiooni %{version} ei saa kuvada, sest seda on
-        muudetud. Palun vaata üksikasju %{redaction_link}.
+      redaction: '%{id}. kinnikatmise'
+      message_html: Selle %{type} versiooni %{version} ei saa näidata, sest see on
+        kinni kaetud. Palun vaata %{redaction_link} üksikasju.
       type:
         node: sõlme
         way: joone
@@ -1260,8 +1260,6 @@ et:
   messages:
     inbox:
       title: Saabunud sõnumid
-      my_inbox: Saabunud sõnumid
-      my_outbox: Saadetud sõnumid
       messages: Sul on %{new_messages} ja %{old_messages}.
       new_messages:
         one: '%{count} uus sõnum'
@@ -1269,17 +1267,21 @@ et:
       old_messages:
         one: '%{count} vana sõnum'
         other: '%{count} vana sõnumit'
-      from: Saatja
-      subject: Teema
-      date: Kuupäev
       no_messages_yet_html: Sul ei ole veel sõnumeid. Miks mitte kontakteeruda mõne
         %{people_mapping_nearby_link}?
       people_mapping_nearby: lähedaloleva kaardistajaga
+    messages_table:
+      from: Saatja
+      to: Kellele
+      subject: Teema
+      date: Kuupäev
+      actions: Toimingud
     message_summary:
       unread_button: Märgi mitteloetuks
       read_button: Märgi loetuks
       reply_button: Vasta
       destroy_button: Kustuta
+      unmute_button: Teisalda postkasti
     new:
       title: Saada sõnum
       send_message_to_html: Sõnumi saatmine kasutajale %{name}
@@ -1294,17 +1296,18 @@ et:
       body: Vabandust, kuid sellise ID-ga sõnum puudub.
     outbox:
       title: Saadetud sõnumid
-      my_inbox: Saabunud sõnumid
-      my_outbox: Saadetud sõnumid
+      actions: Toimingud
       messages:
         one: Sul on %{count} saadetud sõnum.
         other: Sul on %{count} saadetud sõnumit.
-      to: Kellele
-      subject: Teema
-      date: Kuupäev
       no_sent_messages_html: Sul ei ole veel saadetud sõnumeid. Miks mitte kontakteeruda
         mõne %{people_mapping_nearby_link}?
       people_mapping_nearby: lähedaloleva kaardistajaga
+    muted:
+      title: Vaigistatud sõnumid
+      messages:
+        one: Üks vaigistatud sõnum.
+        other: Sul on %{count} vaigistatud sõnumit.
     reply:
       wrong_user: Oled sisse loginud kui "%{user}" aga sõnum, millele soovid vastata
         ei olnud sellele kasutajale saadetud. Vastamiseks palun logi sisse õige kasutajana.
@@ -1319,28 +1322,37 @@ et:
         palun logi sisse õige kasutajana.
     sent_message_summary:
       destroy_button: Kustuta
+    heading:
+      my_inbox: Saabunud sõnumid
+      my_outbox: Saadetud sõnumid
+      muted_messages: Vaigistatud sõnumid
     mark:
       as_read: Sõnum on märgitud loetud sõnumiks.
       as_unread: Sõnum on märgitud lugemata sõnumiks.
+    unmute:
+      notice: Sõnum on teisaldatud postkasti.
+      error: Sõnumit ei õnnestunud postkasti teisaldada.
     destroy:
       destroyed: Sõnum kustutatud.
   passwords:
-    lost_password:
+    new:
       title: Unustatud parool
       heading: Parool ununenud?
       email address: 'E-posti aadress:'
       new password button: Lähtesta parool
       help_text: Sisesta e-posti aadress, mida kasutasid registreerumisel. Saadame
         sinna lingi, mida saad kasutada parooli lähtestamiseks.
+    create:
       notice email on way: Kahju, et parooli kaotasid, kuid ära muretse. Peagi saad
         e-kirja, mille abil saad parooli lähtestada.
       notice email cannot find: Seda e-posti aadressi ei leitud.
-    reset_password:
+    edit:
       title: Lähtesta parool
       heading: Kasutaja %{user} parooli lähtestamine
       reset: Lähtesta parool
-      flash changed: Sinu parool on muudetud.
       flash token bad: Ei leitud sellist kinnituskoodi. Kontrolli URL-i.
+    update:
+      flash changed: Sinu parool on muudetud.
   preferences:
     show:
       title: Minu eelistused
@@ -1438,6 +1450,7 @@ et:
       text: Tekst
       image: Pilt
       alt: Asendustekst
+      codeblock: Koodiplokk
     richtext_field:
       edit: Muuda
       preview: Eelvaade
@@ -1669,12 +1682,7 @@ et:
         on vajalik selle režiimi toimimiseks.
     export:
       title: Eksportimine
-      area_to_export: Eksporditav ala
       manually_select: Vali käsitsi teine ala
-      format_to_export: Eksporditav vorming
-      osm_xml_data: OpenStreetMapi andmed XML-kujul
-      map_image: Kaardi pilt (kuvab tavakaardi)
-      embeddable_html: Põimitav HTML
       licence: Litsents
       licence_details_html: OpenStreetMapi andmed on avaldatud Open Data Commonsi
         litsentsi %{odbl_link} (ODbL) tingimustel.
@@ -1698,17 +1706,6 @@ et:
         other:
           title: Muud allikad
           description: Täiendavad allikad on välja toodud OpenStreetMapi vikis.
-      options: Sätted
-      format: 'Vorming:'
-      scale: Mõõtkava
-      max: maks.
-      image_size: Pildi suurus
-      zoom: Suurendus
-      add_marker: Lisa kaardile kohamärk
-      latitude: 'Laius:'
-      longitude: 'Pikkus:'
-      output: Väljund
-      paste_html: Kopeeri ja lisa see HTML-kood oma veebilehele.
       export_button: Ekspordi
     fixthemap:
       title: Probleemist teatamine / kaardi parandamine
@@ -1805,34 +1802,24 @@ et:
           footway: Jalgtee
           rail: Raudtee
           subway: Metroo
-          tram:
-          - Trammitee
-          - tramm
-          cable:
-          - Köisraudtee
-          - toolilift
-          runway:
-          - Lennurada
-          - ruleerimistee
-          apron:
-          - Lennujaama perroon
-          - terminal
+          cable_car: Köisraudtee
+          chair_lift: Toolilift
+          runway: Lennurada
+          taxiway: Ruleerimistee
+          apron: Lennujaama perroon
           admin: Halduspiir
           forest: Tulundusmets
           wood: Mets
           golf: Golfiväljak
           park: Park
+          common: Heinamaa
           resident: Elamurajoon
-          common:
-          - Heinamaa
-          - luht
           retail: Kaubanduspiirkond
           industrial: Tööstuspiirkond
           commercial: Äripiirkond
           heathland: Nõmm
-          lake:
-          - Järv
-          - veehoidla
+          lake: Järv
+          reservoir: Veehoidla
           farm: Põllumajanduslik maa
           brownfield: Ehitusmaa
           cemetery: Surnuaed
@@ -1841,14 +1828,12 @@ et:
           centre: Spordikeskus
           reserve: Looduskaitseala
           military: Sõjaväe kasutuses
-          school:
-          - Kool
-          - ülikool
+          school: Kool
+          university: Ülikool
           building: Märkimisväärne hoone
           station: Raudteejaam
-          summit:
-          - Mägi
-          - tipp
+          summit: Mägi
+          peak: Tipp
           tunnel: Katkendlik ümbris = tunnel
           bridge: Must ümbris = sild
           private: Üksnes omanikule
@@ -2052,6 +2037,7 @@ et:
       read_gpx: Lugeda isiklikke GPS-radu
       write_gpx: Laadida üles GPS-radu
       write_notes: Muuta märkusi
+      write_redactions: Katta kaardiandmed kinni
       read_email: Lugeda kasutaja e-posti aadressi
       skip_authorization: Kiita rakendus heaks automaatselt
   oauth_clients:
@@ -2202,6 +2188,8 @@ et:
       my_dashboard: Minu andmelaud
       blocks on me: Saadud blokeeringud
       blocks by me: Minu seatud blokeeringud
+      create_mute: Vaigista see kasutaja
+      destroy_mute: Tühista selle kasutaja vaigistamine
       edit_profile: Muuda profiili
       send message: Saada sõnum
       diary: Päevik
@@ -2387,6 +2375,30 @@ et:
       showing_page: Leht %{page}
       next: Järgmine »
       previous: « Eelmine
+  user_mutes:
+    index:
+      title: Vaigistatud kasutajad
+      my_muted_users: Minu vaigistatud kasutajad
+      you_have_muted_n_users:
+        one: Oled vaigistanud ühe kasutaja.
+        other: Oled vaigistanud %{count} kasutajat.
+      user_mute_explainer: Vaigistatud kasutajate sõnumid viiakse eraldi postkasti
+        ja sa ei saa e-posti teavitusi.
+      user_mute_admins_and_moderators: Saad vaigistada administraatoreid ja moderaatoreid,
+        aga nende sõnumeid ei vaigistata.
+      table:
+        thead:
+          muted_user: Vaigistatud kasutaja
+          actions: Toimingud
+        tbody:
+          unmute: Tühista vaigistamine
+          send_message: Saada sõnum
+    create:
+      notice: Vaigistasid kasutaja %{name}.
+      error: Kasutajat %{name} ei õnnestunud vaigistada. %{full_message}.
+    destroy:
+      notice: Tühistasid kasutaja %{name} vaigistamise.
+      error: Kasutaja vaigistamist ei õnnestunud tühistada. Palun proovi uuesti.
   notes:
     index:
       title: Kasutaja %{user} loodud või kommenteeritud märkused
@@ -2547,30 +2559,30 @@ et:
       centre_map: Kuva kaardi keskel
   redactions:
     edit:
-      heading: Redigeeri redaktsiooni
-      title: Redigeeri redaktsiooni
+      heading: Redigeeri kinnikatmist
+      title: Redigeeri kinnikatmist
     index:
-      empty: Redaktsioone pole näidata.
-      heading: Redaktsioonide loend
-      title: Redaktsioonide loend
+      empty: Pole ühtegi kinnikatmist, mida näidata.
+      heading: Kinnikatmiste loend
+      title: Kinnikatmiste loend
     new:
-      heading: Sisesta teave uue redaktsiooni kohta
-      title: Uue redaktsiooni loomine
+      heading: Sisesta teave uue kinnikatmise kohta
+      title: Uue kinnikatmise loomine
     show:
       description: 'Kirjeldus:'
-      heading: Näidatakse redaktsiooni "%{title}"
-      title: Nähtaval redaktsioon
+      heading: Kinnikatmine "%{title}"
+      title: Kinnikatmine
       user: 'Looja:'
-      edit: Muuda seda redaktsiooni
-      destroy: Kustuta see redaktsioon
+      edit: Muuda seda kinnikatmist
+      destroy: Eemalda see kinnikatmine
       confirm: Kas oled kindel?
     create:
-      flash: Redaktsioon on loodud.
+      flash: Kinnikatmine on loodud.
     update:
       flash: Salvestati muudatused.
     destroy:
-      not_empty: Redaktsioon ei ole tühi. Palun eemalda enne redaktsiooni hävitamist
-        kõik versioonid, mis selle alla kuuluvad.
-      flash: Redaktsioon hävitatud.
-      error: Viga selle redaktsiooni hävitamisel.
+      not_empty: Kinnikatmine ei ole tühi. Palun tühista kõigi sellesse kinnikatmisesse
+        kuuluvate versioonide kinnikatmine enne kui selle hävitad.
+      flash: Kinnikatmine hävitatud.
+      error: Viga selle kinnikatmise hävitamisel.
 ...
index a626cb41d0b2eabc06b3be35f9ce964712606f90..659a88876f33780c517e14e1f50d6ccbe5aaf783 100644 (file)
@@ -1446,9 +1446,9 @@ eu:
         one: '%{count} report'
         other: '%{count} jakinarazpen'
       no_reports: Ez dago txostenik
-      report_created_at: Lehenengoz %{datetime} egunean berri emanda
-      last_resolved_at: Azkenekoz %{datetime} egunean konponduta
-      last_updated_at: Azkenekoz %{displayname}-(e)k %{datetime} egunean eguneratua
+      report_created_at_html: Lehenengoz %{datetime} egunean berri emanda
+      last_resolved_at_html: Azkenekoz %{datetime} egunean konponduta
+      last_updated_at_html: Azkenekoz %{displayname}-(e)k %{datetime} egunean eguneratua
       resolve: Konpondu
       ignore: Ezikusi
       reopen: Berrireki
@@ -1728,8 +1728,6 @@ eu:
   messages:
     inbox:
       title: Sarrera-ontzia
-      my_inbox: Nire sarrera-ontzia
-      my_outbox: Nire Irteera-Ontzia
       messages: '%{new_messages} eta %{old_messages} dituzu'
       new_messages:
         one: '%Mezu berri {count}'
@@ -1737,12 +1735,14 @@ eu:
       old_messages:
         one: mezu zahar %{count}
         other: '%{count} mezu zahar'
-      from: Igorlea
-      subject: Gaia
-      date: Data
       no_messages_yet_html: Ez duzu mezurik jaso oraindik. Zergatik ez konektatuan
         jarri %{people_mapping_nearby_link} batzuekin?
       people_mapping_nearby: kartografiatzen ari diren hurbileko pertsonak
+    messages_table:
+      from: Igorlea
+      to: Hartzailea
+      subject: Gaia
+      date: Data
     message_summary:
       unread_button: Markatu irakurri gabekotzat
       read_button: Markatu irakurritzat
@@ -1762,14 +1762,9 @@ eu:
       body: Barkatu baina id horrekin ez dago mezurik.
     outbox:
       title: Irteerako ontzia
-      my_inbox: Nire sarrera-ontzia
-      my_outbox: Nire Irteera-Ontzia
       messages:
         one: '%{count} Mezua bidali duzu'
         other: ' %{count} Mezuak bidali dituzu'
-      to: Hartzailea
-      subject: Gaia
-      date: Data
       no_sent_messages_html: Ez duzu mezurik bidali oraindik. Zergatik ez konektatuan
         jarri %{people_mapping_nearby_link} batzuekin?
       people_mapping_nearby: kartografiatzen ari diren hurbileko pertsonak
@@ -1788,28 +1783,33 @@ eu:
         zuzenarekin irakurtzeko.'
     sent_message_summary:
       destroy_button: Ezabatu
+    heading:
+      my_inbox: Nire sarrera-ontzia
+      my_outbox: Nire Irteera-Ontzia
     mark:
       as_read: Mezua irakurrita gisa markatu da
       as_unread: Mezua irakurri gabe gisa markatu da
     destroy:
       destroyed: Mezua ezabatuta
   passwords:
-    lost_password:
+    new:
       title: Ahaztutako pasahitza
       heading: Pasahitza ahaztuta?
       email address: 'Eposta helbidea:'
       new password button: Pasahitza berrezarri
       help_text: Sartu saioa hastean erabiltzen zenuen helbide elektronikoa, zure
         pasahitza berrezarri ahal izateko erabil dezakezu bidaliko dizugun esteka.
+    create:
       notice email on way: Sentitzen duzu hau galdu izatea :-( baina posta elektronikoa
         bidaltzen ari zaizu laster berrabiarazi dezakezun.
       notice email cannot find: Eposta helbide hori ezin izan dugu aurkitu, barkatu.
-    reset_password:
+    edit:
       title: Pasahitza berrezarri
       heading: '%{user}-ren pasahitza berrezarri'
       reset: Pasahitza berrezarri
-      flash changed: Zure pasahitza aldatu da.
       flash token bad: Token hori ez da aurkitu, URL egiaztatu beharbada?
+    update:
+      flash changed: Zure pasahitza aldatu da.
   preferences:
     show:
       title: Nire hobespenak
@@ -2066,12 +2066,7 @@ eu:
         honetarako ezinbestekoak direnak.
     export:
       title: Esportatu
-      area_to_export: Esportatu beharreko eremua
       manually_select: Aukeratu eskuz eremu ezberdin bat
-      format_to_export: Esportatzeko formatua
-      osm_xml_data: OpenStreetMap XML Datuak
-      map_image: Maparen irudia (geruza estandarra erakusten du)
-      embeddable_html: HTML kapsulagarria
       licence: Lizentzia
       licence_details_html: OpenStreetMap datuak %{odbl_link} (ODbL) lizentziapean
         daude.
@@ -2096,17 +2091,6 @@ eu:
         other:
           title: Bestelako Iturriak
           description: OpenStreetMap wikian zerrendatutako iturri osagarriak
-      options: Aukerak
-      format: Formatua
-      scale: Eskala
-      max: max
-      image_size: Irudiaren tamaina
-      zoom: Zooma
-      add_marker: Mapari markatzailea gehitu
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Irteera
-      paste_html: Itsatsi HTMLa webgunean kapsulatzeko
       export_button: Esportatu
     fixthemap:
       title: Arazo baten berri eman / Mapa zuzendu
@@ -2206,35 +2190,24 @@ eu:
           footway: Oinezkoen bidea
           rail: Trenbidea
           subway: Metroa
-          tram:
-          - Tren arina
-          - tranbia
-          cable:
-          - Funikularra
-          - teleaulkia
-          runway:
-          - Aireportuko Pista
-          - taxi bidea
-          apron:
-          - Aireportu plataforma
-          - terminala
+          cable_car: Funikularra
+          chair_lift: teleaulkia
+          runway: Aireportuko Pista
+          taxiway: taxi bidea
+          apron: Aireportu plataforma
           admin: Muga administratiboa
           forest: Baso
           wood: Basoa
           golf: Golf-zelai
           park: Parke
+          common: Arrunta
           resident: Etxebizitza ingurua
-          common:
-          - Arrunta
-          - belardia
-          - lorategia
           retail: Txikizkako azalera
           industrial: Industrialdea
           commercial: Merkataritza eremua
           heathland: Txilardia
-          lake:
-          - Aintzira
-          - urtegia
+          lake: Aintzira
+          reservoir: urtegia
           farm: Baserria
           brownfield: Landarik gabeko gunea
           cemetery: Hilerri
@@ -2243,14 +2216,12 @@ eu:
           centre: Kiroldegi
           reserve: Natura-erreserba
           military: Eremu militarra
-          school:
-          - Eskola
-          - unibertsitate
+          school: Eskola
+          university: unibertsitate
           building: Eraikin garrantzitsua
           station: Tren geltokia
-          summit:
-          - Tontorra
-          - gailurra
+          summit: Tontorra
+          peak: gailurra
           tunnel: Marratxodun estalkia = tunela
           bridge: Estalki beltza = zubia
           private: Sarbide pribatua
index b37387776de8d1af4fd9fb6925352d90587c9ae4..6fa9f36ef7850020d9cb13f6a888d9e4618a5d6c 100644 (file)
@@ -1398,9 +1398,9 @@ fa:
         one: '%{count} گزارش'
         other: '%{count} گزارش'
       no_reports: گزارشی پیدا نشد
-      report_created_at: اولین بار %{datetime} گزارش شد
-      last_resolved_at: آخرین بار %{datetime} حل شد
-      last_updated_at: آخرین روزآمدسازی در %{datetime} به دست %{displayname}
+      report_created_at_html: اولین بار %{datetime} گزارش شد
+      last_resolved_at_html: آخرین بار %{datetime} حل شد
+      last_updated_at_html: آخرین روزآمدسازی در %{datetime} به دست %{displayname}
       resolve: حل شد
       ignore: نادیده‌گیری
       reopen: بازگشایی
@@ -1696,8 +1696,6 @@ fa:
   messages:
     inbox:
       title: صندوق دریافت
-      my_inbox: صندوق دریافت
-      my_outbox: صندوق ارسال
       messages: '%{new_messages} و %{old_messages} دارید'
       new_messages:
         one: '%{count} پیام تازه'
@@ -1705,12 +1703,14 @@ fa:
       old_messages:
         one: '%{count} پیام قدیمی'
         other: '%{count} پیام قدیمی'
-      from: از
-      subject: عنوان
-      date: تاریخ
       no_messages_yet_html: هنوز پیامی ندارید. چطور است با چند نفر از %{people_mapping_nearby_link}
         تماس بگیرید؟
       people_mapping_nearby: کسانی که نزدیک شما نقشه می‌کشند
+    messages_table:
+      from: از
+      to: به
+      subject: عنوان
+      date: تاریخ
     message_summary:
       unread_button: نشان بزن نخواندم
       read_button: نشان بزن که خواندم
@@ -1730,14 +1730,9 @@ fa:
       body: متأسفانه هیچ پیامی با این شناسه وجود ندارد.
     outbox:
       title: صندوق ارسال
-      my_inbox: صندوق دریافت
-      my_outbox: صندوق ارسال
       messages:
         one: '%{count} پیام ارسالی دارید'
         other: '%{count} پیام ارسالی دارید'
-      to: به
-      subject: موضوع
-      date: تاریخ
       no_sent_messages_html: هنوز پیامی نفرستاده‌اید. چطور است با چند نفر از %{people_mapping_nearby_link}
         تماس بگیرید؟
       people_mapping_nearby: کسانی که نزدیک شما نقشه می‌کشند
@@ -1756,28 +1751,33 @@ fa:
         وارد سامانه شوید تا بتوانید آن را بخوانید.
     sent_message_summary:
       destroy_button: حذف
+    heading:
+      my_inbox: صندوق دریافت
+      my_outbox: صندوق ارسال
     mark:
       as_read: پیام به‌عنوان خوانده علامت‌گذاری شد
       as_unread: پیام به عنوان نخوانده علامت‌گذاری شد
     destroy:
       destroyed: پیام حذف شد
   passwords:
-    lost_password:
+    new:
       title: فراموشی رمز عبور
       heading: رمز عبور خودتان را فراموش کرده‌اید؟
       email address: 'نشانی رایانامه:'
       new password button: بازنشانی رمز عبور
       help_text: رایانامه‌ای که با آن نام‌نویسی کرده‌اید را وارد کنید. ما پیوندی به
         آن می‌فرستیم تا بتوانید به وسیلهٔ آن گذرواژه‌تان را بازنشانی کنید.
+    create:
       notice email on way: متأسفیم که آن را گم کرده‌اید :-( اما رایانامه‌ای در راه
         است که می‌توانید به‌زودی آن را مجدد تنظیم کنید.
       notice email cannot find: چنین رایانامه‌ای پیدا نشد، متأسفیم.
-    reset_password:
+    edit:
       title: بازنشانی رمز عبور
       heading: بازنشانی رمز عبور برای %{user}
       reset: بازنشانی رمز عبور
-      flash changed: رمز عبورتان عوض شد.
       flash token bad: توکن را نیافتید؟ نشانی را بررسی کنید شاید بیابید.
+    update:
+      flash changed: رمز عبورتان عوض شد.
   preferences:
     show:
       title: ترجیحات من
@@ -1812,6 +1812,7 @@ fa:
       no home location: شما محل خانهٔ خودتان را وارد نکرده‌اید.
       update home location on click: وقتی روی نقشه کلیک می‌کنم موقعیت خانه روزآمد
         شود.
+      delete: حذف
     update:
       success: نمایه ذخیره شد.
       failure: ذخیره‌سازی نمایه انجام نشد.
@@ -1980,12 +1981,7 @@ fa:
         پشتیبانی نمی‌کند.
     export:
       title: برون‌ریزی
-      area_to_export: محدوده برای برون‌ریزی
       manually_select: به‌صورت دستی منطقهٔ دیگری انتخاب کنید
-      format_to_export: قالب برون‌ریزی
-      osm_xml_data: OpenStreetMap XML Data
-      map_image: تصویر نقشه (لایهٔ استاندارد را نشان می‌دهد)
-      embeddable_html: HTML توکار
       licence: پروانه
       too_large:
         advice: 'اگر برون‌ریزی بالا انجام نشد، لطفاً یکی از منابع زیر را استفاده کنید:'
@@ -2006,17 +2002,6 @@ fa:
         other:
           title: سایر منابع
           description: منابع بیشتر در ویکی OpenStreetMap ذکر شده است
-      options: گزینه‌ها
-      format: قالب
-      scale: مقیاس
-      max: حداکثر
-      image_size: اندازهٔ تصویر
-      zoom: بزگ‌نمایی
-      add_marker: افزودن نشانگر به نقشه
-      latitude: 'عرض:'
-      longitude: 'طول:'
-      output: خروجی
-      paste_html: برای استفادهٔ توکار در وبگاه، HTML را جایگذاری کنید
       export_button: برون‌ریزی
     fixthemap:
       title: گزارش مشکل / اصلاح نقشه
@@ -2096,34 +2081,24 @@ fa:
           footway: راه پیاده
           rail: راه‌آهن
           subway: مترو
-          tram:
-          - راه‌آهن سبک
-          - قطار برقی
-          cable:
-          - تله‌فریک
-          - صندلی بالابر
-          runway:
-          - باند فرودگاه
-          - خزش‌راه
-          apron:
-          - پیشگاه فرودگاه
-          - پایانه
+          cable_car: تله‌فریک
+          chair_lift: صندلی بالابر
+          runway: باند فرودگاه
+          taxiway: خزش‌راه
+          apron: پیشگاه فرودگاه
           admin: مرز اداری
           forest: جنگل
           wood: چوب
           golf: زمین گلف
           park: پارک
+          common: مشاع
           resident: منطقهٔ مسکونی
-          common:
-          - مشاع
-          - علفزار
           retail: منطقه خرده فروشی
           industrial: منطقه صنعتی
           commercial: منطقه تجاری
           heathland: Heathland
-          lake:
-          - دریاچه
-          - مخزن
+          lake: دریاچه
+          reservoir: مخزن
           farm: مزرعه
           brownfield: سایت قهوه‌ای
           cemetery: گورستان
@@ -2132,14 +2107,12 @@ fa:
           centre: مرکز ورزشی
           reserve: طبیعت حفاظت شده
           military: منطقه نظامی
-          school:
-          - مدرسه
-          - دانشگاه
+          school: مدرسه
+          university: دانشگاه
           building: ساختمان مهم
           station: ایستگاه راه آهن
-          summit:
-          - چکاد
-          - قله
+          summit: چکاد
+          peak: قله
           tunnel: لبهٔ خط‌چین‌دار = تونل
           bridge: لبهٔ سیاه = پل
           private: دسترسی شخصی
index 21b1bf5f60f632119866a7870b8a236a3ae2ebc6..b362cdfe5b44b01c9d110ef4edfefb26f03f3012 100644 (file)
@@ -1450,9 +1450,9 @@ fi:
         one: '%{count} ilmianto'
         other: '%{count} ilmiantoa'
       no_reports: Ei ilmiantoja
-      report_created_at: Ilmoitettu ensimmäisen kerran %{datetime}
-      last_resolved_at: Ratkaistu %{datetime}
-      last_updated_at: Viimeisin käsittelijä %{displayname} %{datetime}
+      report_created_at_html: Ilmoitettu ensimmäisen kerran %{datetime}
+      last_resolved_at_html: Ratkaistu %{datetime}
+      last_updated_at_html: Viimeisin käsittelijä %{displayname} %{datetime}
       resolve: Ratkaise
       ignore: Merkitse aiheettomaksi
       reopen: Avaa uudelleen
@@ -1709,8 +1709,6 @@ fi:
   messages:
     inbox:
       title: Saapuneet
-      my_inbox: Saapuneet
-      my_outbox: Lähetetyt
       messages: Kansiossa on %{new_messages} ja %{old_messages}.
       new_messages:
         one: '%{count} lukematon viesti'
@@ -1718,11 +1716,13 @@ fi:
       old_messages:
         one: '%{count} luettu viesti'
         other: '%{count} luettua viestiä'
+      no_messages_yet_html: Ei viestejä. %{people_mapping_nearby_link}
+      people_mapping_nearby: Lähiseudun kartoittajat
+    messages_table:
       from: Lähettäjä
+      to: Vastaanottaja
       subject: Otsikko
       date: Päiväys
-      no_messages_yet_html: Ei viestejä. %{people_mapping_nearby_link}
-      people_mapping_nearby: Lähiseudun kartoittajat
     message_summary:
       unread_button: Merkitse lukemattomaksi
       read_button: Merkitse luetuksi
@@ -1742,14 +1742,9 @@ fi:
       body: Valitettavasti tällä ID-tunnuksella ei ole viestiä.
     outbox:
       title: Lähetetyt
-      my_inbox: Saapuneet
-      my_outbox: Lähetetyt
       messages:
         one: Kansiossa on %{count} lähetetty viesti.
         other: Kansiossa on %{count} lähetettyä viestiä.
-      to: Vastaanottaja
-      subject: Otsikko
-      date: Päiväys
       no_sent_messages_html: Et ole lähettänyt vielä viestejä. Miksi et ottaisi yhteyttä
         joihinkin %{people_mapping_nearby_link}?
       people_mapping_nearby: lähellä kartoittaviin käyttäjiin
@@ -1768,27 +1763,32 @@ fi:
         sisään oikealla käyttäjätunnukselle lukeaksesi sen.
     sent_message_summary:
       destroy_button: Poista
+    heading:
+      my_inbox: Saapuneet
+      my_outbox: Lähetetyt
     mark:
       as_read: Viesti on merkitty luetuksi.
       as_unread: Viesti on merkitty lukemattomaksi.
     destroy:
       destroyed: Viesti on poistettu.
   passwords:
-    lost_password:
+    new:
       title: Unohtunut salasana
       heading: Unohditko salasanasi?
       email address: 'Sähköpostiosoite:'
       new password button: Lähetä salasanan palautusohjeet
       help_text: Kirjoita alapuolelle kirjautumissähköpostiosoitteesi. Osoitteeseen
         lähetetään salasanan palautusohjeet.
+    create:
       notice email on way: Salasanan palautusohjeet on lähetetty annettuun sähköpostiosoitteeseen.
       notice email cannot find: Annettu sähköpostiosoite ei ole käytössä.
-    reset_password:
+    edit:
       title: Salasanan vaihto
       heading: Vaihda käyttäjän %{user} salasana
       reset: Vaihda salasana
-      flash changed: Salasanasi on vaihdettu.
       flash token bad: Tuntematon tunniste. Tarkista että URL on sama kuin postissasi.
+    update:
+      flash changed: Salasanasi on vaihdettu.
   preferences:
     show:
       title: Asetukset
@@ -2074,12 +2074,7 @@ fi:
         tämän toiminnon käyttämiseen.
     export:
       title: Alueen vienti
-      area_to_export: Vietävä alue
       manually_select: Valitse pienempi alue
-      format_to_export: Vientimuoto
-      osm_xml_data: OpenStreetMapin XML-muoto
-      map_image: Karttakuva (näyttää standarditason)
-      embeddable_html: HTML-koodi
       licence: Lisenssi
       odbl: Open Data Commons Open Database -lisenssillä
       too_large:
@@ -2100,17 +2095,6 @@ fi:
         other:
           title: Muut lähteet
           description: Muut lähteet ovat esillä OpenStreetMap-wikissä
-      options: Asetukset
-      format: 'Tiedostomuoto:'
-      scale: Mittakaava
-      max: enintään
-      image_size: Kuvan koko
-      zoom: Suurennostaso
-      add_marker: Lisää vietävään kartaan kohdemerkki
-      latitude: 'Lev:'
-      longitude: 'Pit:'
-      output: Tulos
-      paste_html: Kopioi ja liitä tämä HTML-koodi verkkosivullesi
       export_button: Vie
     fixthemap:
       title: Ilmoita ongelmasta / Korjaa karttaa
@@ -2205,35 +2189,24 @@ fi:
           footway: Jalkakäytävä
           rail: Junarata
           subway: Metro
-          tram:
-          - Pikaraitiotie
-          - raitiotie
-          cable:
-          - Köysirata
-          - tuolihissi
-          runway:
-          - Lentokentän kiitotie
-          - rullaustie
-          apron:
-          - Lentokentän asemataso
-          - terminaali
+          cable_car: Köysirata
+          chair_lift: tuolihissi
+          runway: Lentokentän kiitotie
+          taxiway: rullaustie
+          apron: Lentokentän asemataso
           admin: Hallinnollinen raja
           forest: Talousmetsä
           wood: Metsä
           golf: Golfkenttä
           park: Puisto
+          common: Niitty
           resident: Asuinalue
-          common:
-          - Niitty
-          - keto
-          - puutarha
           retail: Kaupallinen alue
           industrial: Teollisuusalue
           commercial: Toimistoalue
           heathland: Kanervikko
-          lake:
-          - Järvi
-          - tekojärvi
+          lake: Järvi
+          reservoir: tekojärvi
           farm: Maatila
           brownfield: Purettujen rakennusten alue
           cemetery: Hautausmaa
@@ -2242,14 +2215,12 @@ fi:
           centre: Urheilukeskus
           reserve: Luonnonsuojelualue
           military: Sotilasalue
-          school:
-          - Koulu
-          - yliopisto
+          school: Koulu
+          university: yliopisto
           building: Merkittävä rakennus
           station: Rautatieasema
-          summit:
-          - Vuorenhuippu
-          - huippu
+          summit: Vuorenhuippu
+          peak: huippu
           tunnel: Katkoviivallinen kehys = tunneli
           bridge: Musta kehys = silta
           private: Yksityinen
index ba2382b3428922ae38b920fb9b0f2716801a2f58..894428501fab0a9fc956aaa675d93c9ebb91b2a6 100644 (file)
@@ -521,9 +521,9 @@ fit:
         zero: Ei ilmiantoa
         one: Yksi ilmianto
         other: '%{count} ilmiantoa'
-      report_created_at: Ilmotettu ensimmäisen kerran %{datetime}
-      last_resolved_at: Ratkastu %{datetime}
-      last_updated_at: Viimeisin käsittelijä %{displayname} %{datetime}
+      report_created_at_html: Ilmotettu ensimmäisen kerran %{datetime}
+      last_resolved_at_html: Ratkastu %{datetime}
+      last_updated_at_html: Viimeisin käsittelijä %{displayname} %{datetime}
       resolve: Ratkase
       ignore: Merkitte aiheettomaksi
       reopen: Aukase uuesti
@@ -636,7 +636,6 @@ fit:
   messages:
     inbox:
       title: Saapuneet
-      my_inbox: Saapuneet
       messages: Kansiossa oon %{new_messages} ja %{old_messages}.
       new_messages:
         one: '%{count} lukematon viesti'
@@ -644,11 +643,13 @@ fit:
       old_messages:
         one: '%{count} luettu viesti'
         other: '%{count} luettua viestiä'
+      no_messages_yet_html: Ei viestejä. %{people_mapping_nearby_link}
+      people_mapping_nearby: Lähiseudun kartoittajat
+    messages_table:
       from: Lähättäjä
+      to: Vastaanottaja
       subject: Otsikko
       date: Taatumi
-      no_messages_yet_html: Ei viestejä. %{people_mapping_nearby_link}
-      people_mapping_nearby: Lähiseudun kartoittajat
     message_summary:
       unread_button: Markeeraa lukemattomaksi
       read_button: Markeeraa luetuksi
@@ -670,9 +671,6 @@ fit:
       messages:
         one: Kansiossa oon %{count} lähätetty viesti.
         other: Kansiossa oon %{count} lähätettyä viestiä.
-      to: Vastaanottaja
-      subject: Otsikko
-      date: Taatumi
       no_sent_messages_html: Et ole lähettänyt vielä viestejä. Miksi et ottaisi yhteyttä
         joihinkin %{people_mapping_nearby_link}?
       people_mapping_nearby: lähellä kartoittaviin käyttäjiin
@@ -688,13 +686,15 @@ fit:
       back: Takashiin
     sent_message_summary:
       destroy_button: Ota poies
+    heading:
+      my_inbox: Saapuneet
     mark:
       as_read: Viesti markeerattu luetuksi.
       as_unread: Viesti markeerattu lukemattomaksi.
     destroy:
       destroyed: Viesti otettu poies
   passwords:
-    lost_password:
+    new:
       title: Unohtunut salasana
       heading: Unohditko salasanasi?
       email address: 'E-postiatressi:'
@@ -777,10 +777,6 @@ fit:
       user_page_link: käyttäjätieot
     export:
       title: Alueen eksporteeraus
-      area_to_export: Eksporteerattava alue
-      format_to_export: Eksporteerausmuoto
-      osm_xml_data: OpenStreetMap XML-taatta
-      embeddable_html: HTML-kooti
       licence: Lisensi
       too_large:
         planet:
@@ -790,17 +786,6 @@ fit:
         other:
           title: Muut läheet
           description: Muut läheet ovat esillä OpenStreetMap-wikissä
-      options: Inställninkit
-      format: 'Fiilimuoto:'
-      scale: Mittakaava
-      max: eninthään
-      image_size: Kuvan koko
-      zoom: Suurennostaso
-      add_marker: Lissää vietävään kartaan kohemerkki
-      latitude: 'Lev:'
-      longitude: 'Pit:'
-      output: Tulos
-      paste_html: Jäljennä ja liitä tämä HTML-kooti verkkosivulesi
       export_button: Eksporteeraa
     fixthemap:
       title: Ilmota prupleemasta / Korjaa karttaa
@@ -830,8 +815,7 @@ fit:
     key:
       table:
         entry:
-          school:
-            1: yniversiteetti
+          university: yniversiteetti
     welcome:
       title: Tervetuloa!
       add_a_note:
index 8e8ac8620d24c9fe1c26f12a3975ed7b8c91439b..eef299dc3460806379c95386258800b10bc4f34e 100644 (file)
@@ -2,6 +2,7 @@
 # Exported from translatewiki.net
 # Export driver: phpyaml
 # Author: 0x010C
+# Author: 2NumForIce
 # Author: Adriendelucca
 # Author: Ajeje Brazorf
 # Author: Alno
@@ -9,6 +10,7 @@
 # Author: Antimuonium
 # Author: BlueCamille
 # Author: Boniface
+# Author: CKali
 # Author: Cantons-de-l'Est
 # Author: Cquoi
 # Author: Crochet.david
 # Author: Frigory
 # Author: Fylip22
 # Author: Gaspard
+# Author: GeorgeKaplan
 # Author: Gileri
 # Author: Gomoko
 # Author: Gravitystorm
 # Author: Guilhelma
 # Author: Hashar
 # Author: IAlex
+# Author: Iketsi
 # Author: JB
 # Author: Jean-Frédéric
 # Author: JenyxGym
+# Author: Jg45
 # Author: Jiremek
 # Author: Jlrb+
 # Author: Koreller
@@ -89,6 +94,7 @@
 # Author: Vcalame
 # Author: Vega
 # Author: Verdy p
+# Author: Vikoula5
 # Author: Windes
 # Author: Wladek92
 # Author: Yodaspirine
@@ -135,6 +141,9 @@ fr:
       messages:
         invalid_email_address: ne semble pas être une adresse de courriel valide
         email_address_not_routable: n’est pas routable
+      models:
+        user_mute:
+          is_already_muted: est déjà en sourdine
     models:
       acl: Liste de contrôle d’accès
       changeset: Groupe de modifications
@@ -781,7 +790,7 @@ fr:
           drag_lift: Téléski
           gondola: Télécabine
           magic_carpet: Tapis roulant élévateur
-          platter: Monte-plat
+          platter: Téléski à plateau
           pylon: Pylône
           station: Gare de télécabine
           t-bar: Monte-barre en T
@@ -1124,7 +1133,7 @@ fr:
           military: Zone militaire
           mine: Mine
           orchard: Verger
-          plant_nursery: Crèche d’usine
+          plant_nursery: Pépinière
           quarry: Carrière
           railway: Voie ferrée
           recreation_ground: Aire de jeux
@@ -1581,9 +1590,9 @@ fr:
         one: '%{count} rapport'
         other: '%{count} rapports'
       no_reports: Aucun rapport
-      report_created_at: Signalé la première fois à %{datetime}
-      last_resolved_at: Dernière résolution à %{datetime}
-      last_updated_at: Dernière mise à jour à %{datetime} par %{displayname}
+      report_created_at_html: Signalé la première fois à %{datetime}
+      last_resolved_at_html: Dernière résolution à %{datetime}
+      last_updated_at_html: Dernière mise à jour à %{datetime} par %{displayname}
       resolve: Résoudre
       ignore: Ignorer
       reopen: Rouvrir
@@ -1872,8 +1881,6 @@ fr:
   messages:
     inbox:
       title: Boîte de réception
-      my_inbox: Ma boîte de réception
-      my_outbox: Ma boîte d’envoi
       messages: Vous avez %{new_messages} et %{old_messages}
       new_messages:
         zero: zéro nouveau message
@@ -1883,17 +1890,21 @@ fr:
         zero: aucun ancien message
         one: un ancien message
         other: '%{count} anciens messages'
-      from: De
-      subject: Objet
-      date: Date
       no_messages_yet_html: Vous n’avez actuellement aucun message. Pourquoi ne pas
         entrer en contact avec quelques %{people_mapping_nearby_link} ?
       people_mapping_nearby: personnes qui cartographient aux alentours
+    messages_table:
+      from: De
+      to: À
+      subject: Objet
+      date: Date
+      actions: Actions
     message_summary:
       unread_button: Marquer comme non lu
       read_button: Marquer comme lu
       reply_button: Répondre
       destroy_button: Supprimer
+      unmute_button: Déplacer vers la boîte de réception
     new:
       title: Envoyer un message
       send_message_to_html: Envoyer un nouveau message à %{name}
@@ -1908,17 +1919,15 @@ fr:
       body: Désolé, il n’y a aucun message avec cet identifiant.
     outbox:
       title: Boîte d’envoi
-      my_inbox: Ma boîte de réception
-      my_outbox: Ma boîte d’envoi
+      actions: Actions
       messages:
         one: Vous n’avez aucun message envoyé
         other: Vous avez %{count} messages envoyés
-      to: À
-      subject: Objet
-      date: Date
       no_sent_messages_html: Vous n’avez encore envoyé aucun message. Pourquoi ne
         pas entrer en contact avec quelques %{people_mapping_nearby_link} ?
       people_mapping_nearby: personnes proche de vous
+    muted:
+      title: Messages en sourdine
     reply:
       wrong_user: Vous êtes identifié(e) comme « %{user} » mais le message auquel
         vous souhaitez répondre n’a pas été envoyé à cet utilisateur. Veuillez vous
@@ -1934,13 +1943,20 @@ fr:
         vous connecter avec l’identifiant correct pour pouvoir le lire.
     sent_message_summary:
       destroy_button: Supprimer
+    heading:
+      my_inbox: Ma boîte de réception
+      my_outbox: Ma boîte d’envoi
+      muted_messages: Messages mis en sourdine
     mark:
       as_read: Message marqué comme lu
       as_unread: Message marqué comme non lu
+    unmute:
+      notice: Le message a été déplacé dans la boîte de réception
+      error: Le message n'a pas pu être déplacé vers la boîte de réception.
     destroy:
       destroyed: Message supprimé
   passwords:
-    lost_password:
+    new:
       title: Mot de passe perdu
       heading: Vous avez perdu votre mot de passe ?
       email address: 'Adresse de courriel :'
@@ -1948,13 +1964,16 @@ fr:
       help_text: Entrez l’adresse de courriel que vous avez utilisée à votre inscription,
         nous enverrons à cette adresse un lien que vous pourrez utiliser pour réinitialiser
         votre mot de passe.
+    create:
       notice email on way: Désolé que vous ayez perdu votre mot de passe :-( Un courriel
         vous a été envoyé pour que vous puissiez vite le réinitialiser.
       notice email cannot find: Cette adresse de courriel est introuvable, désolé.
-    reset_password:
+    edit:
       title: Réinitialiser le mot de passe
       heading: Réinitialiser le mot de passe de %{user}
       reset: Réinitialiser le mot de passe
+      flash token bad: Ce jeton est introuvable, veuillez vérifier l’URL.
+    update:
       flash changed: Votre mot de passe a été modifié.
       flash token bad: Ce jeton est introuvable, veuillez vérifier l’URL.
   preferences:
@@ -2064,6 +2083,7 @@ fr:
       image: Image
       alt: Texte alternatif
       url: URL
+      codeblock: Bloc de code
     richtext_field:
       edit: Modifier
       preview: Aperçu
@@ -2319,12 +2339,7 @@ fr:
         qui sont nécessaires pour cette fonctionnalité.
     export:
       title: Exporter
-      area_to_export: Zone à exporter
       manually_select: Sélectionner manuellement une autre zone
-      format_to_export: Format d’export
-      osm_xml_data: Données XML OpenStreetMap
-      map_image: Image de la carte (affiche le calque standard)
-      embeddable_html: HTML incorporable.
       licence: Licence
       licence_details_html: Les données OpenStreetMap sont sous licence %{odbl_link}
         (ODbL).
@@ -2350,17 +2365,6 @@ fr:
         other:
           title: Autres sources
           description: Sources supplémentaires listées sur le wiki d’OpenStreetMap
-      options: Options
-      format: Format
-      scale: Échelle
-      max: max
-      image_size: Taille de l’image
-      zoom: Zoom
-      add_marker: Ajouter un marqueur sur la carte
-      latitude: 'Lat. :'
-      longitude: 'Lon. :'
-      output: Sortie
-      paste_html: Copier le code HTML à intégrer dans un site web
       export_button: Exporter
     fixthemap:
       title: Signaler un problème / Corriger la carte
@@ -2466,67 +2470,83 @@ fr:
           primary: Route principale
           secondary: Route secondaire
           unclassified: Route non classifiée
+          pedestrian: Rue piétonne
           track: Piste
           bridleway: Sentier équestre
           cycleway: Piste cyclable
           cycleway_national: Itinéraire cyclable national
           cycleway_regional: Itinéraire cyclable régional
           cycleway_local: Itinéraire cyclable local
+          cycleway_mtb: Chemin de vélo de montagne
           footway: Chemin piéton
           rail: Voie de chemin de fer
+          train: Train
           subway: Ligne de métro
-          tram:
-          - Voie ferrée légère
-          - tramway
-          cable:
-          - Téléphérique
-          - télésiège
-          runway:
-          - Piste d’aéroport
-          - piste de circulation d’un aéroport
-          apron:
-          - Stationnement d’avions
-          - terminal
+          ferry: Ferry
+          light_rail: Voie ferrée légère
+          tram: Tramway
+          trolleybus: Trolleybus
+          bus: Bus
+          cable_car: Téléphérique
+          chair_lift: Télésiège
+          runway: Piste d’aéroport
+          taxiway: Piste de circulation d'un aéroport
+          apron: Stationnement d’avions
           admin: Limite administrative
+          capital: Capitale
+          city: Ville
+          orchard: Verger
+          vineyard: Vignoble
           forest: Forêt
           wood: Bois
+          farmland: Terres agricoles
+          grass: Pelouse
+          meadow: Prairie
+          bare_rock: Roche nue
+          sand: Sable
           golf: Parcours de golf
           park: Parc
+          common: Espace commun
+          built_up: Zone bâtie
           resident: Zone résidentielle
-          common:
-          - Espace commun
-          - prairie
-          - jardin
           retail: Zone de commerce
           industrial: Zone industrielle
           commercial: Zone tertiaire
           heathland: Lande
-          lake:
-          - Lac
-          - bassin de retenue
+          scrubland: Fruticée
+          lake: Lac
+          reservoir: Réservoir
+          intermittent_water: plan d’eau intermittent
+          glacier: Glacier
+          reef: Récif
+          wetland: Zone humide
           farm: Zone agricole
           brownfield: Zone de démolition
           cemetery: Cimetière
           allotments: Jardins familiaux
           pitch: Terrain de sport
           centre: Centre sportif
+          beach: Plage
           reserve: Réserve naturelle
           military: Zone militaire
-          school:
-          - École
-          - université
+          school: École
+          university: Université
+          hospital: Hôpital
           building: Bâtiment important
           station: Gare ferroviaire
-          summit:
-          - Sommet
-          - pic
+          summit: Sommet
+          peak: Pic
           tunnel: Bordure pointillée = tunnel
           bridge: Bord noir = pont
           private: Accès privé
           destination: Accès réservé aux riverains
           construction: Routes en construction
+          bus_stop: Arrêt de bus
+          stop: Arrêter
           bicycle_shop: Magasin de vélos
+          bicycle_rental: Location de vélos
           bicycle_parking: Parking à vélos
+          bicycle_parking_small: Petit parking à vélos
           toilets: Toilettes
     welcome:
       title: Bienvenue !
@@ -2740,6 +2760,7 @@ fr:
       oauth1_settings: Paramètres OAuth 1
       oauth2_applications: Applications OAuth 2
       oauth2_authorizations: Droits OAuth 2
+      muted_users: Utilisateurs silencieux
   oauth:
     authorize:
       title: Autoriser l’accès à votre compte
@@ -3163,6 +3184,13 @@ fr:
       showing_page: Page %{page}
       next: Suivant »
       previous: ◂ Précédent
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Actions
+        tbody:
+          send_message: Envoyer un message
   notes:
     index:
       title: Notes soumises ou commentées par « %{user} »
@@ -3200,6 +3228,7 @@ fr:
       reactivate: Réactiver
       comment_and_resolve: Commenter et résoudre
       comment: Commenter
+      log_in_to_comment: Connectez-vous pour commenter cette note
       report_link_html: Si cette note contient des informations sensibles qui doivent
         être supprimées, vous pouvez %{link}.
       other_problems_resolve: Pour tout autre problème avec la note, veuillez le résoudre
index e29af0f601a575d73bf9452461a790f54b92bced..d30991d992e4e94e3af4535127d732655a76bd27 100644 (file)
@@ -146,41 +146,41 @@ fur:
   datetime:
     distance_in_words_ago:
       about_x_hours:
-        one: cirche 1 ore indaûr
+        one: cirche %{count} ore indaûr
         other: cirche %{count} oris indaûr
       about_x_months:
-        one: cirche 1 mês indaûr
+        one: cirche %{count} mês indaûr
         other: cirche %{count} mês indaûr
       about_x_years:
-        one: cirche 1 an indaûr
+        one: cirche %{count} an indaûr
         other: cirche %{count} agns indaûr
       almost_x_years:
-        one: scuasit 1 an indaûr
+        one: scuasit %{count} an indaûr
         other: scuasit %{count} agns indaûr
       half_a_minute: mieç minût indaûr
       less_than_x_seconds:
-        one: mancul di 1 secont indaûr
+        one: mancul di %{count} secont indaûr
         other: mancul di %{count} seconts indaûr
       less_than_x_minutes:
-        one: mancul di 1 minût indaûr
+        one: mancul di %{count} minût indaûr
         other: mancul di %{count} minûts indaûr
       over_x_years:
-        one: plui di 1 an indaûr
+        one: plui di %{count} an indaûr
         other: plui di %{count} agns indaûr
       x_seconds:
-        one: 1 secont indaûr
+        one: '%{count} secont indaûr'
         other: '%{count} seconts indaûr'
       x_minutes:
-        one: 1 minût indaûr
+        one: '%{count} minût indaûr'
         other: '%{count} minûts indaûr'
       x_days:
-        one: 1 zornade indaûr
+        one: '%{count} zornade indaûr'
         other: '%{count} zornadis indaûr'
       x_months:
-        one: 1 mês indaûr
+        one: '%{count} mês indaûr'
         other: '%{count} mês indaûr'
       x_years:
-        one: 1 an indaûr
+        one: '%{count} an indaûr'
         other: '%{count} agns indaûr'
   editor:
     default: Predeterminât (par cumò %{name})
@@ -196,6 +196,7 @@ fur:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Vichipedie
   api:
@@ -266,16 +267,22 @@ fur:
   browse:
     created: Creât
     closed: Sierât
+    created_ago_html: Creât %{time_ago}
+    closed_ago_html: Sierât %{time_ago}
+    created_ago_by_html: Creât di %{user} %{time_ago}
+    closed_ago_by_html: Sierât di %{user} %{time_ago}
+    deleted_ago_by_html: Eliminât di %{user} %{time_ago}
+    edited_ago_by_html: Modificât di %{user} %{time_ago}
     version: Version
     in_changeset: Grup di cambiaments
     anonymous: anonim
     no_comment: (nissun coment)
     part_of: Part di
     part_of_relations:
-      one: 1 relazion
+      one: '%{count} relazion'
       other: '%{count} relazions'
     part_of_ways:
-      one: 1 vie
+      one: '%{count} vie'
       other: '%{count} viis'
     download_xml: Discjame XML
     view_history: Cjale il storic
@@ -291,6 +298,8 @@ fur:
       relation: Relazions (%{count})
       relation_paginated: Relazions (%{x}-%{y} su %{count})
       comment: Coments (%{count})
+      hidden_comment_by_html: Coment platât di %{user} %{time_ago}
+      comment_by_html: Comentât di %{user} %{time_ago}
       changesetxml: Grup di cambiaments XML
       osmchangexml: XML in formât osmChange
       feed:
@@ -306,7 +315,7 @@ fur:
       history_title_html: 'Storic de vie: %{name}'
       nodes: Grops
       nodes_count:
-        one: 1 grop
+        one: '%{count} grop'
         other: '%{count} grops'
       also_part_of_html:
         one: part de vie %{related_ways}
@@ -316,7 +325,7 @@ fur:
       history_title_html: 'Storic de relazion: %{name}'
       members: Membris
       members_count:
-        one: 1 membri
+        one: '%{count} membri'
         other: '%{count} membris'
     relation_member:
       entry_role_html: '%{type} %{name} come %{role}'
@@ -471,8 +480,9 @@ fur:
       comment_link: Scrîf un coment su cheste vôs
       reply_link: Mande un messaç al autôr
       comment_count:
-        one: 1 coment
+        one: '%{count} coment'
         other: '%{count} coments'
+      no_comments: Nissun coment
       edit_link: Cambie cheste vôs
       hide_link: Plate cheste vôs
       confirm: Conferme
@@ -511,6 +521,11 @@ fur:
       applications:
         create:
           notice: Aplicazion regjistrade.
+  errors:
+    forbidden:
+      title: Proibît
+    not_found:
+      title: File no cjatât
   friendships:
     make_friend:
       heading: Zontâ %{user} ai amîs?
@@ -523,9 +538,14 @@ fur:
       success: '%{name} al è stât gjavât dai tiei amîs.'
       not_a_friend: '%{name} nol è un dai tiei amîs.'
   geocoder:
+    search:
+      title:
+        results_from_html: Risultâts di %{results_link}
+        latlon: Interni
     search_osm_nominatim:
       prefix:
         aerialway:
+          cable_car: Funivie
           pylon: Pilon
         aeroway:
           gate: Puarte di aeropuart
@@ -539,6 +559,7 @@ fur:
           bench: Bancjute
           bicycle_parking: Parc pes bicicletis
           bicycle_rental: Nauli di bicicletis
+          brothel: Bordel
           bureau_de_change: Ufizi di cambi
           bus_station: Stazion des corieris
           car_rental: Nauli di machinis
@@ -567,6 +588,7 @@ fur:
           kindergarten: Scuelute
           language_school: Scuele di lenghis
           library: Biblioteche
+          monastery: Monastîr
           music_school: Scuele di musiche
           nightclub: Club noturni
           parking: Parcament
@@ -595,6 +617,7 @@ fur:
           veterinary: Veterinari
           village_hall: Centri civic
           waste_basket: Scovacere
+          weighbridge: Pese
         boundary:
           administrative: Confin aministratîf
           national_park: Parc nazionâl
@@ -644,6 +667,7 @@ fur:
           shoemaker: Cjaliâr
           tailor: Sartôr
         emergency:
+          fire_extinguisher: Estintôr
           phone: Telefon di emergjence
         highway:
           bus_stop: Fermade autobus
@@ -651,6 +675,7 @@ fur:
           cycleway: Percors ciclabil
           emergency_access_point: Pont di acès di emergjence
           footway: Percors pedonâl
+          give_way: Cartel di precedenze
           motorway: Autostrade
           motorway_junction: Svincul autostradâl
           motorway_link: Autostrade
@@ -683,6 +708,8 @@ fur:
           battlefield: Cjamp di bataie
           boundary_stone: Piere di confin
           building: Edifici storic
+          bunker: Bunker
+          cannon: Canon storic
           castle: Cjiscjel
           church: Glesie
           city_gate: Puarte de citât
@@ -721,6 +748,7 @@ fur:
           vineyard: Vigne
         leisure:
           common: Comugnâi (UK)
+          dog_park: Parc pai cjans
           fishing: Riserve par pescjâ
           garden: Zardin
           golf_course: Troi di golf
@@ -728,6 +756,7 @@ fur:
           miniature_golf: Minigolf
           nature_reserve: Riserve naturâl
           park: Parc
+          picnic_table: Taule pal picnic
           pitch: Cjamp sportîf
           sauna: Saune
           sports_centre: Centri sportîf
@@ -739,7 +768,9 @@ fur:
           bridge: Puint
           bunker_silo: Bunker
           tower: Tor
+          water_tower: Tor pe aghe
           water_well: Poç
+          works: Fabriche
         military:
           airfield: Cjamp di aviazion militâr
           barracks: Caserme
@@ -763,18 +794,29 @@ fur:
           peak: Pic
           peninsula: Penisule
           point: Pont
+          sand: Savalon
+          strait: Stret
           tree: Arbul
+          tree_row: Rie di arbui
           valley: Val
           volcano: Vulcan
           water: Aghe
           "yes": Element naturâl
         office:
           architect: Architet
+          association: Associazion
+          company: Aziende
+          diplomatic: Ufici diplomatic
           employment_agency: Agjenzie di ocupazion
           estate_agent: Agjent imobiliâr
+          financial: Ufici finanziari
           government: Ufizi governatîf
           insurance: Agjenzie di assicurazions
+          it: Ufici informatic
           lawyer: Avocat
+          logistics: Ufici di logjistiche
+          newspaper: Ufici di gjornâl
+          notary: Nodâr
           travel_agent: Agjenzie di viaçs
           "yes": Ufizi
         place:
@@ -826,6 +868,7 @@ fur:
           hairdresser: Piruchîr o barbîr
           jewelry: Buteghe dal oresin
           laundry: Lavandarie
+          massage: Massaç
           newsagent: Buteghe dai gjornâi
           optician: Otic
           pet: Buteghe di animâi
@@ -833,6 +876,7 @@ fur:
           shoes: Buteghe di scarpis
           sports: Buteghe di articui sportîfs
           supermarket: Supermarcjât
+          tailor: Sartôr
           toys: Negozi di zugatui
           travel_agency: Agjenzie di viaçs
           "yes": Buteghe
@@ -876,7 +920,7 @@ fur:
       reports: Segnalazions
       link_to_reports: Viôt lis segnalazions
       reports_count:
-        one: 1 segnalazion
+        one: '%{count} segnalazion'
         other: '%{count} segnalazions'
       states:
         ignored: Ignorât
@@ -884,7 +928,7 @@ fur:
         resolved: Risolt
     show:
       reports:
-        one: 1 segnalazion
+        one: '%{count} segnalazion'
         other: '%{count} segnalazions'
       resolve: Risolf
       ignore: Ignore
@@ -999,8 +1043,6 @@ fur:
   messages:
     inbox:
       title: In jentrade
-      my_inbox: I miei messaçs in jentrade
-      my_outbox: I miei messaçs in jessude
       messages: Tu âs %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} messaç gnûf'
@@ -1008,12 +1050,15 @@ fur:
       old_messages:
         one: '%{count} messaç vieli'
         other: '%{count} messaçs vielis'
-      from: Di
-      subject: Sogjet
-      date: Date
       no_messages_yet_html: No tu âs ancjemò nissun messaç. Parcè no tu contatis cualchidun
         de %{people_mapping_nearby_link}?
       people_mapping_nearby: int che e je daûr a mapâ dongje di te
+    messages_table:
+      from: Di
+      to: A
+      subject: Sogjet
+      date: Date
+      actions: Azions
     message_summary:
       unread_button: Segne come no let
       read_button: Segne come let
@@ -1030,14 +1075,10 @@ fur:
       heading: Messaç no cjatât
     outbox:
       title: In jessude
-      my_inbox: I miei messaçs in jentrade
-      my_outbox: I miei messaçs in jessude
+      actions: Azions
       messages:
         one: Tu âs %{count} messaç in jessude
         other: Tu âs %{count} messaçs in jessude
-      to: A
-      subject: Sogjet
-      date: Date
       no_sent_messages_html: No tu âs ancjemò mandât nissun messaç. Parcè no tu contatis
         cualchidun de %{people_mapping_nearby_link}?
       people_mapping_nearby: int che e je daûr a mapâ dongje di te
@@ -1049,24 +1090,29 @@ fur:
       back: Indaûr
     sent_message_summary:
       destroy_button: Elimine
+    heading:
+      my_inbox: I miei messaçs in jentrade
+      my_outbox: I miei messaçs in jessude
     mark:
       as_read: Messaç segnât come za let
       as_unread: Messaç segnât come di lei
     destroy:
       destroyed: Messaç eliminât
   passwords:
-    lost_password:
+    new:
       title: Password pierdude
       heading: Âstu pierdût la password?
       email address: 'Direzion di pueste:'
       new password button: Azere la password
       help_text: Scrîf la direzion di pueste eletroniche che tu âs doprât par iscrivîti
         e ti mandarin un leam par tornâ a impuestâ la tô password.
+    create:
       notice email cannot find: No vin podût cjatâ la tô direzion di pueste, nus displâs.
-    reset_password:
+    edit:
       title: Azere la password
       heading: Azere la password par %{user}
       reset: Azere la password
+    update:
       flash changed: La tô password e je stade cambiade.
   preferences:
     show:
@@ -1098,6 +1144,8 @@ fur:
       no home location: No tu âs configurât il lûc iniziâl.
       update home location on click: Aio di inzornâ il lûc iniziâl cuant che o frachi
         parsore de mape?
+      show: Mostre
+      delete: Elimine
     update:
       success: Profîl inzornât
   sessions:
@@ -1125,8 +1173,8 @@ fur:
           title: Jentre cun Facebook
           alt: Jentre cuntun un cont Facebook
         microsoft:
-          title: Jentre cun Windows Live
-          alt: Jentre cuntun cont di Windows Live
+          title: Jentre cun Microsoft
+          alt: Jentre cuntun cont di Microsoft
         github:
           title: Jentre cun GitHub
           alt: Jentre cuntun cont GitHub
@@ -1143,6 +1191,8 @@ fur:
       title: Jes
       heading: Va fûr di OpenStreetMap
       logout_button: Jes
+    suspended_flash:
+      support: assistence
   shared:
     markdown_help:
       link: Leam
@@ -1157,7 +1207,15 @@ fur:
     about:
       next: Prossim
       local_knowledge_title: Cognossince locâl
+      community_driven_osm_blog: Blog di OpenStreetMap
+      community_driven_user_diaries: diaris dai utents
+      community_driven_community_blogs: Blogs de comunitât
+      community_driven_osm_foundation: Fondazion OSM
       open_data_title: Dâts vierts
+      open_data_open_data: dâts vierts
+      legal_title: Legâl
+      legal_1_1_terms_of_use: Cundizions pal ûs
+      legal_2_1_contact_the_osmf: contate il OSMF
       partners_title: Associâts
     copyright:
       foreign:
@@ -1171,6 +1229,13 @@ fur:
           title: Esempli di atribuzion
         more_title_html: Par savênt di plui
         contributors_title_html: Nestris colaboradôrs
+        contributors_at_austria: Austrie
+        contributors_au_australia: Australie
+        contributors_fr_france: France
+        contributors_nz_new_zealand: Gnove Zelande
+        contributors_si_slovenia: Slovenie
+        contributors_es_spain: Spagne
+        contributors_gb_united_kingdom: Ream Unît
     index:
       js_1: Tu stâs doprant un sgarfadôr che nol supuarte JavaScript o ben JavaScript
         al è stât disativât.
@@ -1193,10 +1258,7 @@ fur:
         par cheste funzion.
     export:
       title: Espuarte
-      area_to_export: Aree di espuartâ
       manually_select: Sielç a man une aree divierse
-      format_to_export: Formât di espuartâ
-      osm_xml_data: Dâts XML di OpenStreetMap
       licence: Licence
       too_large:
         body: Cheste aree e je masse grande par espuartâle come dâts XML di OpenStreetMap.
@@ -1207,17 +1269,6 @@ fur:
         other:
           title: Altris sorzints
           description: Altris sorzints elencadis su la wiki di OpenStreetMap
-      options: Opzions
-      format: 'Formât:'
-      scale: Scjale
-      max: max
-      image_size: 'Dimensions figure:'
-      zoom: Ingrandiment
-      add_marker: Zonte un segnalut ae mape
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Jessude
-      paste_html: Tache l'HTML par inserîlu tal to sît web
       export_button: Espuarte
     fixthemap:
       title: Segnale un probleme / Comede la mape
@@ -1242,6 +1293,8 @@ fur:
         title: Pe organizazions
       wiki:
         title: OpenStreetMap Wiki
+    potlatch:
+      change_preferences: Cambie lis tôs preferences culì
     any_questions:
       title: Domandis?
     sidebar:
@@ -1266,52 +1319,62 @@ fur:
           primary: Strade primarie
           secondary: Strade secondarie
           unclassified: Strade no classificade
+          pedestrian: Strade pedonâl
+          track: Piste
           rail: Ferade
           subway: Metropolitane
-          tram:
-          - Metropolitana leggera
-          - tram
-          runway:
-          - Piste dal aeropuart
-          apron:
-            1: terminâl
+          ferry: Traghet
+          tram: Tram
+          runway: Piste dal aeropuart
           admin: Confin aministratîf
           forest: Bosc
+          grass: Prât
+          meadow: Prâts
+          sand: Savalon
           golf: Troi di golf
           park: Parc
+          common: Comugnâi
           resident: Zone residenziâl
-          common:
-          - Comugnâi
-          - prâts
           retail: Zone di buteghis
           industrial: Zone industriâl
           commercial: Aree comerciâl
-          lake:
-          - Lâc
+          lake: Lâc
           cemetery: Simiteri
           pitch: Cjamp sportîf
           centre: Centri sportîf
           reserve: Riserve naturâl
           military: Zone militâr
-          school:
-          - Scuele
-          - universitât
+          school: Scuele
+          university: Universitât
+          hospital: Ospedâl
           station: stazion de ferade
           tunnel: Rie a trats = galarie
           bridge: Rie nere = puint
           private: Acès privât
           construction: Stradis in costruzion
+          bus_stop: Fermade autobus
+          stop: Fermade
+          bicycle_shop: Buteghe di bicicletis
     welcome:
       title: Benvignût!
       whats_on_the_map:
         title: Ce ch'al è su la mape
+      basic_terms:
+        node: grop
+        way: vie
+        tag: etichete
+      rules:
+        title: Regulis!
       start_mapping: Scomence a mapâ
       add_a_note:
         title: No tu âs timp par fâ i cambiaments? Zonte une note!
     communities:
       title: Comunitâts
+      other_groups:
+        title: Altris grups
   traces:
     new:
+      upload_trace: Cjame percors GPS
       visibility_help: ce vuelial dî?
       help: Jutori
     create:
@@ -1337,6 +1400,7 @@ fur:
       uploaded: 'Cjamât ai:'
       points: 'Ponts:'
       start_coordinates: 'Coordenadis iniziâls:'
+      coordinates_html: '%{latitude}; %{longitude}'
       map: mape
       edit: cambie
       owner: 'Paron:'
@@ -1354,7 +1418,7 @@ fur:
     trace:
       pending: IN SPIETE
       count_points:
-        one: 1 pont
+        one: '%{count} pont'
         other: '%{count} ponts'
       more: plui
       trace_details: Cjale i detais dal percors
@@ -1367,9 +1431,12 @@ fur:
       in: in
     index:
       public_traces: Percors GPS publics
+      my_gps_traces: I miei percors GPS
       public_traces_from: Percors GPS publics di %{user}
       description: Viôt i percors GPS cjamâts sù tai ultins timps
       tagged_with: ' etichetât cun %{tags}'
+      empty_title: Ancjemò nuie par culì
+      upload_new: Cjame un gnûf percors
       upload_trace: Cjame un percors
       all_traces: Ducj i percors
       my_traces: I miei percors
@@ -1455,6 +1522,9 @@ fur:
     show:
       edit: Cambie
       delete: Elimine
+      confirm_delete: Vuelistu eliminâ cheste aplicazion?
+      client_id: ID dal client
+      client_secret: Segret dal client
       permissions: Permès
   oauth2_authorizations:
     new:
@@ -1596,7 +1666,7 @@ fur:
       time_past_html: Finît %{time} indaûr.
       block_duration:
         hours:
-          one: 1 ore
+          one: '%{count} ore'
           other: '%{count} oris'
     blocks_on:
       title: Blocs su %{name}
@@ -1633,11 +1703,20 @@ fur:
       showing_page: Pagjine %{page}
       next: Sucessîf »
       previous: « Precedent
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Azions
+        tbody:
+          send_message: Mande messaç
   notes:
     index:
       title: Note inseride o comentade di %{user}
       heading: Lis notis di %{user}
-      subheading_html: Lis notis inseridis o comentadis di %{user}
+      subheading_html: Lis notis %{submitted} o %{commented} di %{user}
+      subheading_submitted: inseridis
+      subheading_commented: comentadis
       no_notes: Nissune note
       id: Identificatîf
       creator: Creadôr
@@ -1650,6 +1729,15 @@ fur:
       open_title: 'Note no risolte #%{note_name}'
       closed_title: 'Note risolte #%{note_name}'
       hidden_title: 'Note platade #%{note_name}'
+      event_opened_by_html: Creât di %{user} %{time_ago}
+      event_opened_by_anonymous_html: Creât di un anonim %{time_ago}
+      event_commented_by_html: Comentât di %{user} %{time_ago}
+      event_commented_by_anonymous_html: Comentât di un anonim %{time_ago}
+      event_closed_by_html: Risolt di %{user} %{time_ago}
+      event_closed_by_anonymous_html: Risolt di un anonim %{time_ago}
+      event_reopened_by_html: Tornât a ativâ di %{user}%{time_ago}
+      event_reopened_by_anonymous_html: Tornât a ativâ di un anonim %{time_ago}
+      event_hidden_by_html: Platât di %{user} %{time_ago}
       report: segnale cheste note
       anonymous_warning: Cheste note e inclût coments di utents anonims che a varessin
         di jessi verificâts in mût indipendent.
@@ -1698,6 +1786,12 @@ fur:
         out: Diminuìs zoom
       locate:
         title: Mostre la mê posizion
+        metersPopup:
+          one: Tu sês a mancul di %{count} metri di chest pont
+          other: Tu sês a mancul di %{count} metris di chest pont
+        feetPopup:
+          one: Tu sês a mancul di %{count} pît di chest pont
+          other: Tu sês a mancul di %{count} pîts di chest pont
       base:
         standard: Standard
         cycle_map: Cycle Map
@@ -1710,6 +1804,17 @@ fur:
         gps: Percors GPS publics
         overlays: Ative i nivei utii par risolvi i problemis de mape
         title: Nivei
+      make_a_donation: Done alc
+      website_and_api_terms: Tiermins di ûs dal sît e des APIs
+      cyclosm_credit: Stîl dai tassei di %{cyclosm_link} ospitât di %{osm_france_link}
+      osm_france: OpenStreetMap France
+      thunderforest_credit: Tassei par gentîl concession di %{thunderforest_link}
+      andy_allan: Andy Allan
+      opnvkarte_credit: Tassei par gentîl concession di %{memomaps_link}
+      memomaps: MeMoMaps
+      tracestrack_credit: Tassei par gentîl concession di %{tracestrack_link}
+      hotosm_credit: Stîl dai tassei di %{hotosm_link} ospitât di %{osm_france_link}
+      hotosm_name: La clape umanitare di OpenStreetMap
     site:
       edit_tooltip: Cambie la mape
       edit_disabled_tooltip: Cres il zoom par cambiâ la mape
@@ -1733,13 +1838,18 @@ fur:
       engines:
         fossgis_osrm_bike: Biciclete (OSRM)
         fossgis_osrm_car: Machine (OSRM)
-        fossgis_osrm_foot: A pit (OSRM)
+        fossgis_osrm_foot: A pît (OSRM)
         graphhopper_bicycle: Biciclete (OSRM)
         graphhopper_car: Machine (GraphHopper)
-        graphhopper_foot: A pit (GraphHopper)
+        graphhopper_foot: A pît (GraphHopper)
+        fossgis_valhalla_bicycle: Biciclete (Valhalla)
+        fossgis_valhalla_car: Machine (Valhalla)
+        fossgis_valhalla_foot: A pît (Valhalla)
       descend: Disnivel negatîf
       directions: Indicazions
       distance: Distance
+      distance_m: '%{distance}m'
+      distance_km: '%{distance}km'
       errors:
         no_route: No si à rivât a cjatâ une strade tra chescj doi puescj.
         no_place: No si à rivât a cjatâ "%{place}".
index 00a26d0db6a477e9189aebcd55d7845877f4a37e..f270dd74206488f6ee798abd0eb054e47751c989 100644 (file)
@@ -1378,9 +1378,9 @@ fy:
       reports:
         one: 1 melding
         other: '%{count} meldings'
-      report_created_at: Earst meld op %{datetime}
-      last_resolved_at: Lêst oplost op %{datetime}
-      last_updated_at: Lêst bywurke op %{datetime} troch %{displayname}
+      report_created_at_html: Earst meld op %{datetime}
+      last_resolved_at_html: Lêst oplost op %{datetime}
+      last_updated_at_html: Lêst bywurke op %{datetime} troch %{displayname}
       resolve: Oplosse
       ignore: Negearje
       reopen: Weriepenje
@@ -1657,8 +1657,6 @@ fy:
   messages:
     inbox:
       title: Ynfek
-      my_inbox: Myn ynfek
-      my_outbox: Myn útfek
       messages: Jo hawwe %{new_messages} en %{old_messages}
       new_messages:
         one: '%{count} nij berjocht'
@@ -1666,12 +1664,14 @@ fy:
       old_messages:
         one: '%{count} âld berjocht'
         other: '%{count} âlde berjochten'
-      from: Fan
-      subject: Underwerp
-      date: Datum
       no_messages_yet_html: Jo hawwe noch gjin berjochten. Kom ris yn 'e kunde mei
         in pear %{people_mapping_nearby_link}.
       people_mapping_nearby: kaartmakkers yn 'e omkriten
+    messages_table:
+      from: Fan
+      to: Oan
+      subject: Underwerp
+      date: Datum
     message_summary:
       unread_button: As net-lêzen oanmerke
       read_button: As lêzen oanmerke
@@ -1691,14 +1691,9 @@ fy:
       body: Spitich, der is gjin berjocht mei dy ID.
     outbox:
       title: Utfek
-      my_inbox: Myn ynfek
-      my_outbox: Myn útfek
       messages:
         one: Jo hawwe %{count} ferstjoerd berjocht
         other: Jo hawwe %{count} ferstjoerde berjochten
-      to: Oan
-      subject: Underwerp
-      date: Datum
       no_sent_messages_html: Jo hawwe noch gjin berjochten ferstjoerd. Kom ris yn
         'e kunde mei in pear %{people_mapping_nearby_link}.
       people_mapping_nearby: kaartmakkers yn 'e omkriten
@@ -1717,13 +1712,16 @@ fy:
         om it lêze te kinnen.
     sent_message_summary:
       destroy_button: Wiskje
+    heading:
+      my_inbox: Myn ynfek
+      my_outbox: Myn útfek
     mark:
       as_read: Berjocht as lêzen oanmurken
       as_unread: Berjocht as net-lêzen oanmurken
     destroy:
       destroyed: Berjocht wiske
   passwords:
-    lost_password:
+    new:
       title: Wachtwurd kwyt
       heading: Wachtwurd fergetten?
       email address: 'E-mailadres:'
@@ -1731,15 +1729,17 @@ fy:
       help_text: Folje it e-mailadres yn dat jo by it ynskriuwen brûkt hawwe. Wy stjoere
         der dan in keppeling hinne dy't jo brûke kinne om jo wachtwurd op 'e nij yn
         te stellen.
+    create:
       notice email on way: Spitich dat jo 'm kwyt binne :-( mar in e-mail is ûnderweis,
         dat jo kinne gau in nijenien ynstelle.
       notice email cannot find: Koe dat e-mailadres net fine, spitich.
-    reset_password:
+    edit:
       title: Nij wachtwurd
       heading: Wachtwurd op 'e nij ynstelle foar %{user}
       reset: Nij wachtwurd
-      flash changed: Jo wachtwurd is feroare.
       flash token bad: Haw dy kaai net fûn, de URL efkes neisjen?
+    update:
+      flash changed: Jo wachtwurd is feroare.
   preferences:
     show:
       title: Myn foarkarren
@@ -1911,12 +1911,7 @@ fy:
         foar dizze funksje.
     export:
       title: Eksportearje
-      area_to_export: Eksportgebiet
       manually_select: Mei de hân in oar gebiet selektearje
-      format_to_export: Bestânsfoarm
-      osm_xml_data: OpenStreetMap-XML-data
-      map_image: Kaartôfbylding (toant standertlaach)
-      embeddable_html: Ynbou-HTML
       licence: Lisinsje
       too_large:
         advice: |-
@@ -1938,17 +1933,6 @@ fy:
         other:
           title: Oare boarnen
           description: Fierders noch boarnen dy't op 'e OpenStreetMap-wiki steane
-      options: Opsjes
-      format: 'Foarm:'
-      scale: Skaal
-      max: maks.
-      image_size: 'Ofbyldgrutte:'
-      zoom: Sûm
-      add_marker: Markearder oan 'e kaart tafoegje
-      latitude: 'Bgr.:'
-      longitude: 'Lgr.:'
-      output: Utfier
-      paste_html: HTML op te nimmen yn in webstee
       export_button: Eksportearje
     fixthemap:
       title: Probleem melde / Kaart ferbetterje
@@ -2034,35 +2018,24 @@ fy:
           footway: Fuotpaad
           rail: Spoarwei
           subway: Metrospoar
-          tram:
-          - Sneltrem
-          - trem
-          cable:
-          - Kabelbaan
-          - stuoltsjelift
-          runway:
-          - Start-/lânings-
-          - taksybaan lofthaven
-          apron:
-          - Platfoarm
-          - passazjiershal lofth.
+          cable_car: Kabelbaan
+          chair_lift: stuoltsjelift
+          runway: Start-/lânings-
+          taxiway: taksybaan lofthaven
+          apron: Platfoarm
           admin: Bestjoerlike grins
           forest: Bosk
           wood: Wâld
           golf: Golfbaan
           park: Park
+          common: Miente
           resident: Wengebiet
-          common:
-          - Miente
-          - greide
-          - tún
           retail: Winkelgebiet
           industrial: Yndustrygebiet
           commercial: Kommersjeel gebiet
           heathland: Heidelân
-          lake:
-          - Mar
-          - opslachmar
+          lake: Mar
+          reservoir: opslachmar
           farm: Boerepleats
           brownfield: Braaklân
           cemetery: Begraafplak
@@ -2071,14 +2044,12 @@ fy:
           centre: Sportsintrum
           reserve: Natuerreservaat
           military: Militêr terrein
-          school:
-          - Skoalle
-          - universiteit
+          school: Skoalle
+          university: universiteit
           building: Wichtich gebou
           station: Spoarweistasjon
-          summit:
-          - Top
-          - pyk
+          summit: Top
+          peak: pyk
           tunnel: Streekte râne = tunnel
           bridge: Swarte râne = brêge
           private: Tagong privee
index 7b89a21798b2bb92eac6787c3c4faa34bf4e0167..ee738451801b2a62ca620287163b8e47ae30c9dc 100644 (file)
@@ -1005,9 +1005,9 @@ ga:
         zero: Tuairisc ar bith
         one: Tuairisc amháin
         other: '%{count} tuairisc'
-      report_created_at: Tuairiscíodh den chéad uair ag %{datetime}
-      last_resolved_at: Réitithe den uair dheirineach ag %{datetime}
-      last_updated_at: Rinne %{displayname} an nuashonrú is déanaí ag %{datetime}
+      report_created_at_html: Tuairiscíodh den chéad uair ag %{datetime}
+      last_resolved_at_html: Réitithe den uair dheirineach ag %{datetime}
+      last_updated_at_html: Rinne %{displayname} an nuashonrú is déanaí ag %{datetime}
       resolve: Réitigh
       ignore: Tabhair neamhaird air
       reopen: Athoscail
@@ -1227,7 +1227,6 @@ ga:
   messages:
     inbox:
       title: Bosca isteach
-      my_inbox: Mo Bhosca Isteach
       messages: Tá %{new_messages} agus %{old_messages} agat.
       new_messages:
         one: '%{count} theachtaireacht amháin'
@@ -1239,12 +1238,14 @@ ga:
         few: '%{count} seanteachtaireacht'
         many: '%{count} seanteachtaireacht nua'
         other: '%{count} seanteachtaireacht'
-      from: Ó
-      subject: Ábhar
-      date: Dáta
       no_messages_yet_html: Níl aon teachtaireacht agat fós. Nach smaoineofá ar theagmháil
         a dhéanamh le roinnt de na %{people_mapping_nearby_link}?
       people_mapping_nearby: daoine atá i mbun léarscáilithe in aice láimhe
+    messages_table:
+      from: Ó
+      to: Chuig
+      subject: Ábhar
+      date: Dáta
     message_summary:
       unread_button: Marcáil neamhléite
       read_button: Marcáil léite
@@ -1267,9 +1268,6 @@ ga:
       messages:
         one: Tá %{count} teachtaireacht seolta amháin agat
         other: Tá %{count} teachtaireacht seolta agat
-      to: Chuig
-      subject: Ábhar
-      date: Dáta
       no_sent_messages_html: Níl aon teachtaireacht seolta agat fós. Nach smaoineofá
         ar theagmháil a dhéanamh le roinnt de na %{people_mapping_nearby_link}?
       people_mapping_nearby: daoine atá i mbun léarscáilithe in aice láimhe
@@ -1288,30 +1286,34 @@ ga:
         oiread. Logáil isteach mar an t-úsáideoir ceart chun é a léamh.
     sent_message_summary:
       destroy_button: Scrios
+    heading:
+      my_inbox: Mo Bhosca Isteach
     mark:
       as_read: Teachtaireacht marcáilte mar léite
       as_unread: Teachtaireacht marcáilte mar neamhléite
     destroy:
       destroyed: Teachtaireacht scriosta
   passwords:
-    lost_password:
+    new:
       title: Focal faire caillte
       heading: Focal Faire Caillte?
       email address: 'Seoladh ríomhphoist:'
       new password button: Athshocraigh an focal faire
       help_text: Iontráil an seoladh ríomhphoist a d'úsáid tú le clárú, agus seolfaimid
         nasc chugat a bheidh tú in ann a úsáid chun do phasfhocal a athshocrú.
+    create:
       notice email on way: Is oth linn gur chaill tú é :-( ach tá ríomhphost ar an
         mbealach chugat le go mbeidh tú in ann é a athshocrú go luath.
       notice email cannot find: Níorbh fhéidir an seoladh ríomhphoist sin a aimsiú,
         ár leithscéil faoi sin.
-    reset_password:
+    edit:
       title: Focal faire a athshocrú
       heading: Focal Faire le haghaidh %{user} a Athshocrú
       reset: Athshocraigh an Focal Faire
-      flash changed: Athraíodh d'fhocal faire.
       flash token bad: Níor aimsíodh an ceadchomhartha sin, seiceáil an bhfuil an
         URL cruinn?
+    update:
+      flash changed: Athraíodh d'fhocal faire.
   profiles:
     edit:
       image: Íomhá
@@ -1430,12 +1432,7 @@ ga:
         HTML, rud atá riachtanach don ghné seo.
     export:
       title: Easportáil
-      area_to_export: Limistéar la hEaspórtáil
       manually_select: Roghnaigh limistéar eile de láimh
-      format_to_export: Formáid le hEaspórtáil
-      osm_xml_data: Sonraí XML OpenStreetMap
-      map_image: Íomhá den Léarscáil (taispeántar an tsraith chaighdeánach)
-      embeddable_html: HTML inleabaithe
       licence: Ceadúnas
       too_large:
         advice: 'Má theipeann ar an easpórtáil thuas, smaoinigh ar cheann de na foinsí
@@ -1458,17 +1455,6 @@ ga:
         other:
           title: Foinsí Eile
           description: Tá liosta de na foinsí breise ar vicí OpenStreetMap
-      options: Roghanna
-      format: Formáid
-      scale: Scála
-      max: uasta
-      image_size: Méid na hÍomhá
-      zoom: Zúmáil
-      add_marker: Cuir marcóir leis an léarscáil
-      latitude: 'D-lthd:'
-      longitude: 'D-fhad:'
-      output: Aschur
-      paste_html: Greamaigh HTML le leabú i suíomh gréasáil
       export_button: Easportáil
     fixthemap:
       title: Fadhb a thuairisciú / An léarscáil a dheisiú
@@ -1541,34 +1527,24 @@ ga:
           footway: Cosán
           rail: Iarnród
           subway: Meitreo
-          tram:
-          - Iarnród Éadrom
-          - tram
-          cable:
-          - Carr cábla
-          - cathaoir chábla
-          runway:
-          - Rúidbhealach Aerfoirt
-          - bealach innealta
-          apron:
-          - Naprún Aerfoirt
-          - críochfort
+          cable_car: Carr cábla
+          chair_lift: cathaoir chábla
+          runway: Rúidbhealach Aerfoirt
+          taxiway: bealach innealta
+          apron: Naprún Aerfoirt
           admin: Teorainn riaracháin
           forest: Foraois
           wood: Coill
           golf: Galfchúrsa
           park: Páirc
+          common: Coimín
           resident: Ceantar cónaithe
-          common:
-          - Coimín
-          - móinéar
           retail: Limistéar miondíola
           industrial: Limistéar tionsclaíoch
           commercial: Limistéar tráchtála
           heathland: Móinteach/fraochmhá
-          lake:
-          - Loch
-          - taiscumar
+          lake: Loch
+          reservoir: taiscumar
           farm: Feirm
           brownfield: Láithreán athfhorbraíochta
           cemetery: Reilig
@@ -1577,14 +1553,12 @@ ga:
           centre: Ionad spóirt
           reserve: Tearmann dúlra
           military: Limistéar míleata
-          school:
-          - Scoil
-          - ollscoil
+          school: Scoil
+          university: ollscoil
           building: Foirgneamh suntasach
           station: Stáisiún Iarnróid
-          summit:
-          - Mullach
-          - binn
+          summit: Mullach
+          peak: binn
           tunnel: Líne bhriste = tollán
           bridge: Líne dhubh = droichead
           private: Rochtain phríobháideach
index 0d026348379bcf9a79bf1d12e0aaf1e014dcbfad..5f9d14cf5496385fa720ebdc65a50061774ce011 100644 (file)
-# Messages for kréyòl Gwadloup (kréyòl Gwadloup)
+# Messages for Guadeloupean Creole (kréyòl Gwadloup)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: Istwalezanti
 # Author: Léon973
 ---
 gcf:
+  helpers:
+    submit:
+      diary_comment:
+        create: Komantasyon
+      diary_entry:
+        create: Voyé
+      issue_comment:
+        create: Jouté komantasyon
+      message:
+        create: Voyé
   activerecord:
+    models:
+      country: Péyi
+      friend: Zanmi
+      language: Lang
+      message: Mésaj
+      user: Itilizatè
+      user_preference: Sa itilizatè-la simyé
     attributes:
+      client_application:
+        allow_write_api: Modifyé kat-la
+      diary_entry:
+        user: Itilizatè
+        latitude: latitid
+        longitude: lonjitid
+        language_code: Lang
+      friend:
+        user: Itilizatè
+        friend: Sendika
+      trace:
+        user: Itilizatè
+        latitude: Latitid
+        longitude: Lonjitid
       user:
         home_lat: 'Latitid:'
-        home_lon: 'Longitid:'
+        home_lon: 'Lonjitid:'
+        languages: Lang ou simyé
+        pass_crypt: Kòd a-w
+        pass_crypt_confirmation: Konfimé kòd a-w la
     help:
       user:
         new_email: (Pa janmen maké piblikman)
+  auth:
+    providers:
+      wikipedia: Wikipédya
+  api:
+    notes:
+      entry:
+        comment: Komantasyon
+  account:
+    deletions:
+      show:
+        title: Néyantizé kont a-w la
+        warning: Penga! Si-w ka néyantizé kont a-w, ou ka pèdi-y poubon é ou pé ké
+          pésa woutini-y ankò.
+        delete_account: Néyantizé on kont
+        delete_introduction: |-
+          Ou pé NÉYANTIZÉ kont OpenStreetMap a-w èvè bouton-la.
+          Kanmensa ou pou sav sa:
+        delete_display_name: Tinon a-w la ké néyantizé, é nenpòt kimoun ké pé sèvi
+          épi-y èvè on dòt kont.
+        retain_caveats: 'Kanmenmsa, OpenStreetMap ké woutyenn dotwa kamo asi-w, menmsi
+          sé aprédavwa ou néyantizé kont a-w la:'
+        retain_email: Nou ké chonjé email a-w la.
+        recent_editing_html: |-
+          Davwa ou sòti modifyé biten, nou pé pa néyantizé kont a-w ankò.
+          Nou ké pé fè-y adan %{time}
+        confirm_delete: Ès ou sèkten?
   accounts:
     edit:
+      title: Modifyé kont a-w la
       my settings: Mes options
+      openid:
+        link text: Ka sa yé?
       public editing:
         enabled: Aktif. Y pa anonnim, y pé édité doné.
         enabled link text: Ka sa yé?
         disabled: Inaktif y pé pa édité doné ; tout édision pasé anonim.
-        disabled link text: Poukwa an pé pa édité?
+        disabled link text: Pouki an pé pa modifyé?
+      contributor terms:
+        link text: Ka sa yé?
       save changes button: Enrèjisré tout chanjman
+      delete_account: Néyantizé kont a-w...
     go_public:
-      heading: 'Édision piblik:'
+      heading: 'Édisyon piblik:'
+      currently_not_public: Konyéla, Ponmoun pa konnèt aki-w lè ou ka modifyé on biten,
+        larèstan itilizatè pa sav voyé-w mésaj é yo pé pa sav ola ou yé. Pou montré
+        sa ou modifyé é kité larèstan itilizatè palé ba-w asi twèl-la, Pijé asi bouton-la.
       make_edits_public_button: Mèt tou sa an fè piblik
     update:
       success_confirm_needed: Enfowmasion asi itilisatè la bien anrèjistré. Gadé bwet
         imél aw pou konfirmé adres nouvo imél aw
       success: Efowmasion asi itilisatè la bien anrejistré.
+    destroy:
+      success: Kont néyantizé.
   browse:
+    no_comment: (pon komantasyon)
+    download_xml: Chantyé XML
+    location: 'Ki koté:'
     changeset:
+      comment: Komantasyon (%{count})
+      hidden_comment_by_html: Komantasyon ou dévwè a %{user} %{time_ago}
+      comment_by_html: Komantasyon a %{user} %{time_ago}
       changesetxml: Niméwo Chanjeman XML
       osmchangexml: osmChanjeman XML
+      join_discussion: Konèkté-w pou jwenn bokantaj-la
+      discussion: Bokantaj
     containing_relation:
       entry_html: Rèlasion %{relation_name}
       entry_role_html: Rèlasion %{relation_name} (adan wol %{relation_role})
@@ -40,92 +120,375 @@ gcf:
     start_rjs:
       load_data: Chajé sé doné la
       loading: Y ka chajé...
+    tag_details:
+      wikipedia_link: Kotéfèy %{page} asi Wikipégya
+      telephone_link: Kriyé %{phone_number}
+    query:
+      introduction: Pijé asi kat-la pou jwenn biten toupréla.
+      nearby: Biten pa lwen
+  changesets:
+    changeset_paging_nav:
+      showing_page: Kotéfèy %{page}
+      previous: Pwochenn
+    changesets:
+      comment: Komantasyon
   dashboards:
     contact:
       km away: '%{count} km'
     popup:
       your location: Koté ou yé
       nearby mapper: Arpantè owa aw
+      friend: Zanmi
     show:
+      my friends: Zanmi a-w
       no friends: Ou poko ni pon zanmi
-      nearby users: 'Itilizatè owa aw :'
-      no nearby users: Ou poko ni itilizatè owa aw.
+      nearby users: 'Itilizatè owa a-w :'
+      no nearby users: Ou poko ni itilizatè owa a-w.
   diary_entries:
     new:
       title: Nouvel nèf an jounal la
     form:
       location: 'Ki koté:'
-      use_map_link: Sèvi èvè kat la
+      use_map_link: Sèvi èvè kat-la
     index:
       new: Nouvel nèf an jounal la
-      new_title: Mèt on nouvel nèf an jounal aw
-      no_entries: Pa ni nouvel an jounal aw
+      new_title: Mèt on nouvèl nèf an jounal a-w
+      my_diary: Jounal a-w la
+      no_entries: Pa ni nouvèl an jounal a-w
       recent_entries: 'Nouvel fré:'
-      older_entries: Nouvel rasi
-      newer_entries: Nouvel pi fré
+      older_entries: Nouvèl rasi
+      newer_entries: Nouvèl pi fré
     edit:
       marker_text: Ola jounal la ka koumansé
+    show:
+      leave_a_comment: Kité on komantasyon
     no_such_entry:
-      heading: 'Pa ti ni nouvel èvè niméwo la sa : %{id}'
-      body: Woy, pa ti ni pon nouvel adan jounal la ouben komantè èvè niméwo la sa
-        %{id}. Kontrolé lòtograf la ouben lien la ou kliké asiy la pa bon.
+      heading: 'Pa tini nouvel èvè niméwo-lasa : %{id}'
+      body: Woy, pa tini pon nouvèl adan jounal la ouben komantè èvè niméwo lasa %{id}.
+        Kontwolé lòtograf la ouben lyen la ou kliké asiy la pa bon.
     diary_entry:
       posted_by_html: Sé %{link_user} ki voyé sa , koté %{created} i maké an %{language_link}
-      comment_link: Palé asi nouvel la sa
-      reply_link: Réponn nouvel la sa
+      comment_link: Palé asi nouvèl-lasa
+      reply_link: Réponn nouvèl-lasa
       comment_count:
         one: On Komantè
         other: '%{count} Komantè'
-      edit_link: Modifié nouvel la sa
+      no_comments: Pa ni komantasyon
+      edit_link: Modifyé nouvèl-lasa
     diary_comment:
       comment_from_html: Komantè a %{link_user} koté %{comment_created_at}
+      hide_link: Dévwè komantasyon-lasa
+    location:
+      view: Vwè
+    comments:
+      comment: Komantasyon
+      older_comments: Pli vyé komantasyon
+  doorkeeper:
+    scopes:
+      phone: Vwè liméwo a téléfòn a-w
+  errors:
+    forbidden:
+      title: Défandi
+  friendships:
+    make_friend:
+      heading: Mèt %{user} adan sé zanmi a-w la?
+      button: Jouté on zanmi
+      success: Alè-la %{name} sé sendika a-w la!
+      failed: Malérèzsò, Zingchap toupannan joutaj a %{name} adan sé zanmi a-w la
+      already_a_friend: '%{name} ja zanmi a-w'
+      limit_exceeded: |-
+        Pa ni enpé tan ou jwenn zanmi kon tilili.
+        Atann tibwen avan ou ka séyé trapé dòt ankò.
+    remove_friend:
+      heading: Kasé-lo èvè %{user}?
+      button: Woté on zanmi
+      success: '%{name} pa zanmi a-w ankò.'
+      not_a_friend: '%{name} pa zanmi a-w'
+  geocoder:
+    search_osm_nominatim:
+      prefix:
+        aerialway:
+          chair_lift: Sizé a kab
+        aeroway:
+          aerodrome: Layodwòm
+          runway: Pis a dékolaj
+          taxiway: Koulwa a avyon
+          terminal: Tèminal a layopò
+        amenity:
+          bench: ban-fennyan
+          bicycle_rental: Lwéyaj a biskèt
+          boat_rental: Lwéyaj a bato
+          brothel: Kaz a bòbò
+          bus_station: Istòp a bis
+          cinema: Siléma
+          clock: Lòlòj
+          dentist: Dòktè a dan
+          doctors: Dòktè
+          hospital: Lopital
+          kindergarten: Tipoulayé
+          language_school: Lékòl a lang
+          library: Kaz a Liv
+          music_school: Lékòl a mizik
+          nightclub: Bwat
+          parking: Ga
+          pharmacy: Fanmasi
+          police: Manblo
+          prison: Lajòl
+          school: Lékòl
+          townhall: Lanméri
+          waste_basket: Bwètazòdi
+        bridge:
+          "yes": Pon
+        building:
+          chapel: Chapèl
+          church: Batiman a Légliz
+          hospital: Batiman a lopital
+          hotel: Batiman a Lotèl
+          house: Kaz
+          kindergarten: Batiman a tipoulayé
+          roof: Fètay
+          ruins: Batiman Kanni
+          school: Batiman lékòl
+          "yes": Batiman
+        emergency:
+          defibrillator: Bouwèkyè
+          siren: Kòn
+        highway:
+          cycleway: Chimen a biskèt
+          motorway: Lotowout
+          motorway_junction: Britèl lotowout
+          motorway_link: Lotowout
+          primary: Chimen a gouvèlman
+          primary_link: Chimen a gouvèlman
+          road: Chimen
+          speed_camera: Rada
+          street_lamp: Révèbè
+          traffic_mirror: Glas a lari
+          trunk: Wokad
+          trunk_link: Wokad
+          unclassified: Chimen san kad
+          "yes": Wout
+        historic:
+          aircraft: Vyé avyon
+          bomb_crater: Tou a dyab fèt parapòt a bonm
+          cannon: Kannon
+          castle: Chato
+          church: Légliz
+          house: Kaz
+          railway: Chimen fè a listwa
+          ruins: Rèstan
+          tower: Tou
+          "yes": Vi a listwa
+        junction:
+          "yes": Fouchèt a Chimen
+        landuse:
+          cemetery: Simityè
+          forest: Granbwa
+          grass: Zèb
+          railway: Chimen fè
+          reservoir: Rézèvwa
+        leisure:
+          garden: Haden
+          stadium: Istad
+        man_made:
+          bridge: Pon
+          flagpole: lakomèt
+          snow_cannon: Kannon a lannèj
+          storage_tank: Sitèn
+          tower: Tou
+          windmill: Moulen
+          works: Lizin
+        natural:
+          bay: Lans
+          beach: Bòdlanmè
+          cliff: Falèz
+          crater: Tou a dyab
+          forest: Granbwa
+          geyser: Tijaj
+          hill: Mòn
+          island: Lilèt
+          mud: Labou
+          peninsula: Pwent
+          rock: Wòch
+          sand: Sab
+          scrub: Zèb-razyé
+          shingle: Wòch-galèt
+          spring: Sous
+          tree: Pyébwa
+          valley: Koulé
+          volcano: Vòlkan
+          water: Glo
+        office:
+          lawyer: Avoka
+        place:
+          archipelago: bann-zil
+          city: Vil prensipal
+          country: Péyi
+          house: Kaz
+          island: Lilèt
+          islet: Tililèt
+          locality: Koté
+          sea: Lanmè
+          town: Vil
+          village: Vilaj
+          "yes": Koté
+        railway:
+          construction: Chimen fè yo ka konstwi
+          halt: Laga
+          junction: Fouchèt a chimen fè
+          level_crossing: Janbaj féwovyè
+          rail: Chimen fè
+        shop:
+          bicycle: Boutik a bisiklèt
+          books: Boutik a liv
+          cheese: Boutik a fomaj
+          clothes: Boutik a lenj
+          florist: Boutik a flè
+          mall: bann-boutik
+          massage: Fòtman
+          optician: Boutik a linèt
+          perfumery: Boutik a losyon
+          seafood: Manjé lannè
+          shoes: Boutik a Soulyé
+          ticket: Boutik a bon
+          "yes": Lolo
+        tourism:
+          hotel: Lotèl
+          information: Kamo
+          museum: Mizé
+        tunnel:
+          "yes": Tinèl
+        waterway:
+          canal: Kannal
+          drain: Dalo
+          river: Rivyè
+          stream: Ravin
+          waterfall: Sodo
+      admin_levels:
+        level8: Lizyè a konmin
+        level9: Lizyè a vilaj
+        level10: Lizyè a sèksyon
+      types:
+        cities: Vil prensipal
+        towns: Vil
+    results:
+      no_results: Yo pa jwenn p'on rézilta
+  issues:
+    index:
+      search: Chaché
+      states:
+        open: Ouvè
+    show:
+      ignore: Dévwè
+  reports:
+    new:
+      categories:
+        diary_entry:
+          other_label: Dòt
+        diary_comment:
+          other_label: Dòt
+        user:
+          other_label: Dòt
+        note:
+          other_label: Dòt
   layouts:
+    home: Ay akaz
     logout: Chapé
     log_in: Rantré
-    sign_up: Enskriw
+    sign_up: Enskri-w
+    start_mapping: Koumansé kataj-la
     edit: Modifié
     history: Istwa sa ou fè
     export: Voyé déwò
     gps_traces: Chimen GPS
     user_diaries: Jounal
     tag_line: Lyannaj pou kat lib
+    intro_header: Kontan vwè-w asi OpenStreetMap!
+    intro_text: Openstreetmap, sé on kat a lèmonn-la ki fèt parapòt a moun kon-w é
+      lib pou sèvi épi-y évè on lisans lib.
     osm_offline: Base a doné a OpenStreetMap dékonekté atchelman ; Yo ka fè on gwo
       travay enpòtan asi-y pou-y maché bien.
     osm_read_only: Atchelman ou pé li selamn base a doné a OpenStreetMap ; Yo ka fè
       on gwo travay enpòtan asi-y pou-y maché bien.
     donate: Ba OpenStreetMap on Fòs, %{link} Pou fè matériel la vansé.
+    help: Anmwé
     make_a_donation:
       text: Ba OpenStreetMap On Fòs
+    more: Plis
+  user_mailer:
+    note_comment_notification:
+      commented:
+        subject_own: '[OpenStreetMap] %{commenter} voyé on komantasyon asi on biten
+          ou maké'
+        subject_other: '[OpenStreetMap] %{commenter} voyé on komantasyon asi on maké
+          ki ka kriyé-w'
+        your_note: '%{commenter} kité on komantasyon asi on biten ou maké asi kat-la
+          ora a %{place}'
+        your_note_html: '%{commenter} lésé on komantasyon asi on biten ou maké asi
+          kat-la pasi %{place}'
+        commented_note_html: '%{commenter} kité on komantasyon anlè on maké a kat
+          ou konmanté. Maké-la ora a %{place}.'
+    changeset_comment_notification:
+      commented:
+        subject_own: '[OpenStreetMap] %{commenter} voyé on komantasyon asi yonn a
+          krèy a modifikasyon a-w'
+        subject_other: '[OpenStreetMap] %{commenter} voyé on komantasyon asi on modifikasyon
+          i ka kriyé-w'
   confirmations:
     confirm:
       heading: Konfirmé kont a itilizatè la
       press confirm button: Apiyé asi bouton la ki an ba pou konfirmé kont aw aktif
         menm.
       button: Konfirmé
+      click_here: pijé kotésit
     confirm_email:
       heading: Konfirmé chanjman a adres imél aw
       press confirm button: Apiyé asi bouton la ki an ba pou konfirmé nouvo adres
         imél aw.
       button: Konfirmé
+  messages:
+    new:
+      send_message_to_html: Voyé on dòt mésaj ba %{name}
   passwords:
-    lost_password:
+    new:
       heading: Ou pèd kòd aw?
       email address: 'Adres imél aw :'
       new password button: Voyé on nouvo kòd
+  preferences:
+    show:
+      title: Sa ou simyé
+      preferred_languages: Lang ou pisimyé
   profiles:
     edit:
+      gravatar:
+        gravatar: Sèvi épi Gravatar
+        what_is_gravatar: Ka ki Gravatar?
+        disabled: Yo étenn Gravatar.
       home location: 'La ou ka rété :'
       no home location: Ou po ko mèt la ou ka rété.
       update home location on click: Eskè y fo modifié la ou ka rété lè ou ka kliké
         asi kat la?
   sessions:
     new:
+      title: Konèkté-w
       heading: Konekté
       email or username: 'Adres imél ouben nom itilizaté aw :'
       password: 'Kòd aw:'
-      lost password link: Ou pèd kòd aw?
+      lost password link: Ou pèd kòd a-w?
       login_button: Konektéw
+      auth_providers:
+        wikipedia:
+          title: Konèkté-w épi Wikipédya
   site:
+    copyright:
+      native:
+        mapping_link: koumansé kataj-la
+      legal_babble:
+        contributors_ca_canada: Kanada
+        contributors_fi_finland: Fenlann
+        contributors_fr_france: Frans
+        contributors_nl_netherlands: Nédèlann
+        contributors_es_spain: Èspany
     index:
       js_1: Ou ka sèvi èvè on navigatè ki pa ka sipòté Javascript ouben Javascript
         éten.
@@ -137,6 +500,12 @@ gcf:
         rann édision aw piblik asi %{user_page}.
       user_page_link: paj_itilizatè
       anon_edits_link_text: Ka y ni la.
+    fixthemap:
+      how_to_help:
+        title: Kijan pou ba on pal
+    help:
+      welcome:
+        title: Kontan vwè-w asi OpenStreetMap
     sidebar:
       search_results: Rézilta a chèché aw
       close: Fèmé
@@ -144,9 +513,42 @@ gcf:
       search: Chèché
       where_am_i: Ki moun an yé?
       submit_text: Voyé
+    key:
+      table:
+        entry:
+          motorway: Lotowout
+          trunk: Wokad
+          primary: Chimen a gouvèlman
+          train: Tren
+          taxiway: Koulwa a avyon
+          city: Vil prensipal
+          forest: Granbwa
+          grass: Zèb
+          sand: Sab
+          reservoir: Rézèvwa
+          cemetery: Simityè
+          beach: Bòdlanmè
+          school: Lékòl
+          hospital: Lopital
+    welcome:
+      rules:
+        title: Larèl-la!
+      add_a_note:
+        the_map: Kat-la
+  traces:
+    new:
+      help: Anmwé
+  oauth_clients:
+    show:
+      confirm: Ès ou sèkten?
   users:
     new:
       no_auto_account_create: Malérezman, alè kilé, nou pé pa ouvè kont automatikman.
+    terms:
+      legale_names:
+        france: Frans
+        italy: Itali
+        rest_of_world: Larèstan a lèmonn-la
     no_such_user:
       body: Malérezman, pa ti ni pon itilisatè èvè non la sa %{user}. Kontrolé lòtograf
         la ouben lien la ou kliké asiy la pa bon.
@@ -154,7 +556,9 @@ gcf:
       my diary: Jounal an mwen
       my edits: Édision an mwen
       my traces: Chimen an mwen
+      my messages: Sé mésaj a-w la
       my settings: Opsion an mwen
+      my_preferences: Sa ou simyé
       send message: Voyé on mésaj
       diary: Jounal
       edits: Édision
@@ -164,4 +568,33 @@ gcf:
       mapper since: 'Arpantè dèpi:'
     go_public:
       flash success: Tou sa ou fè jis alè ki lé piblik ou pa otorizé édité.
+  user_blocks:
+    show:
+      confirm: Ès ou sèkten?
+  notes:
+    index:
+      last_changed: Dènyé lèwvwè yo modifyé-y
+  javascripts:
+    share:
+      title: Simé
+    map:
+      locate:
+        title: Montré la ou yé
+    site:
+      edit_tooltip: Modifyé kat-la
+      createnote_tooltip: Jouté on komantasyon asi kat-la
+    changesets:
+      show:
+        comment: Komantasyon
+    directions:
+      engines:
+        fossgis_valhalla_bicycle: biskèt (Valhalla)
+      errors:
+        no_place: Malérèzsò, yo pa sav ola '%{place}' yé.
+      instructions:
+        continue_without_exit: Kontinyé asi %{name}
+        slight_right_without_exit: Touné tibwen an dwèt a-w asi %{name}
+  redactions:
+    show:
+      confirm: Ès ou sèkten?
 ...
index eb6f77f98d952026eb8857be828c6a8aebf22883..9d8be73317f5739fbbc34887b874aeae1738a979 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: Akerbeltz
 # Author: Amire80
+# Author: Dimitar
 # Author: GunChleoc
 # Author: Macofe
 ---
@@ -1072,18 +1073,19 @@ gd:
   messages:
     inbox:
       title: Am bogsa a-steach
-      my_inbox: Am bogsa a-steach agam
       messages: Tha %{new_messages} agus %{old_messages} agad
       new_messages:
         other: '%{count} teachdaireachd ùr'
       old_messages:
         other: '%{count} teachdaireachd shean'
-      from: O
-      subject: Cuspair
-      date: Ceann-là
       no_messages_yet_html: Chan eil teachdaireachd agad fhathast. Nach tòisich thu
         conaltradh le %{people_mapping_nearby_link}?
       people_mapping_nearby: daoine a nì obair-mhapa faisg ort
+    messages_table:
+      from: O
+      to: Gu
+      subject: Cuspair
+      date: Ceann-là
     message_summary:
       unread_button: Cuir comharra nach deach a leughadh
       read_button: Cuir comharra gun deach a leughadh
@@ -1105,9 +1107,6 @@ gd:
       title: Am bogsa a-mach
       messages:
         other: Tha %{count} teachdaireachd chuirte agad
-      to: Gu
-      subject: Cuspair
-      date: Ceann-là
       no_sent_messages_html: Cha do chuir thu teachdaireachd fhathast. Nach tòisich
         thu conaltradh le %{people_mapping_nearby_link}?
       people_mapping_nearby: daoine a nì obair-mhapa faisg ort
@@ -1125,13 +1124,15 @@ gd:
         an clàraich thu a-steach 'na chleachdaiche a bu chòir airson a leughadh.
     sent_message_summary:
       destroy_button: Sguab às
+    heading:
+      my_inbox: Am bogsa a-steach agam
     mark:
       as_read: Chuir thu comharra gun deach an teachdaireachd a leughadh
       as_unread: Chuir thu comharra nach deach an teachdaireachd a leughadh
     destroy:
       destroyed: Chaidh an teachdaireachd a sguabadh às
   passwords:
-    lost_password:
+    new:
       title: Facal-faire air chall
       heading: Na chaill thu am facal-faire agad?
       email address: 'Seòladh puist-d:'
@@ -1139,17 +1140,19 @@ gd:
       help_text: Cuir a-steach an seòladh puist-d a chleachd thu gus an cunntas agad
         a chlàradh agus cuiridh sinn post-d dha as urrainn dhut cleachdadh gus am
         facal-faire agad ath-shuidheachadh.
+    create:
       notice email on way: Tha sinn duilich gun do chaill thu e :-( ach tha post-d
         gu bhith tighinn thugad ach an urrainn dhut ath-shuidheachadh a dh'aithghearr.
       notice email cannot find: Duilich ach cha do rinn sinn lorg air an t-seòladh
         puist-d ud.
-    reset_password:
+    edit:
       title: Ath-shuidhich am facal-faire
       heading: Ath-shuidhich am facal-faire aig %{user}
       reset: Ath-shuidhich am facal-faire
-      flash changed: Chaidh am facal-faire agad atharrachadh.
       flash token bad: Cha do rinn sinn lorg air an tòcan ud, an toir thu sùil air
         an URL?
+    update:
+      flash changed: Chaidh am facal-faire agad atharrachadh.
   profiles:
     edit:
       image: 'Dealbh:'
@@ -1287,12 +1290,7 @@ gd:
         airson an fhearta seo.
     export:
       title: Às-phortaich
-      area_to_export: An raon ri às-phortadh
       manually_select: Tagh raon eile a làimh
-      format_to_export: Fòrmat an às-phortaidh
-      osm_xml_data: Dàta XML OpenStreetMap
-      map_image: Dealbh a' mhapa (seallaidh seo a' bhreath stannardach)
-      embeddable_html: HTML a ghabhas leabachadh
       licence: Ceadachas
       too_large:
         advice: 'Ma dh''fhàilligeas leis an às-phortadh gu h-àrd, feuch an cleachd
@@ -1315,17 +1313,6 @@ gd:
         other:
           title: Tùsan eile
           description: Gheibh thu tùsan a bharrachd air an uicidh aig OpenStreetMap
-      options: Roghainnean
-      format: Fòrmat
-      scale: Sgèile
-      max: as motha
-      image_size: Meud an deilbh
-      zoom: Sùm
-      add_marker: Cuir comharra ris a' mhapa
-      latitude: 'D-leud:'
-      longitude: 'D-fhad:'
-      output: Às-chur
-      paste_html: Cuir ann HTML gus a leabachadh ann an làrach-lìn eile
       export_button: Às-phortaich
     fixthemap:
       title: Innis dhuinn mu dhuilgheadas / Càraich am mapa
@@ -1395,34 +1382,24 @@ gd:
           footway: Àrainn-choisichean
           rail: Rèile
           subway: Meatro
-          tram:
-          - Rèile aotrom
-          - Trama
-          cable:
-          - Carbad-càbaill
-          - Lioft-sèitheir
-          runway:
-          - Raon-laighe puirt-adhair
-          - Raon-cuairteachaidh
-          apron:
-          - Aparan puirt-adhair
-          - Tèirmineal
+          cable_car: Carbad-càbaill
+          chair_lift: Lioft-sèitheir
+          runway: Raon-laighe puirt-adhair
+          taxiway: Raon-cuairteachaidh
+          apron: Aparan puirt-adhair
           admin: Crìoch rianachd
           forest: Coille
           wood: Coille
           golf: Raon goilf
           park: Pàirc
+          common: Coitcheann
           resident: Raon-còmhnaidh
-          common:
-          - Coitcheann
-          - Faiche
           retail: Raon bhuitean
           industrial: Raon gnìomhachais
           commercial: Raon malairt
           heathland: Aonach
-          lake:
-          - Loch
-          - Loch-tasgaidh
+          lake: Loch
+          reservoir: Loch-tasgaidh
           farm: Tuathanas
           brownfield: Fearann fàs
           cemetery: Cladh
@@ -1431,14 +1408,12 @@ gd:
           centre: Ionad-spòrs
           reserve: Tèarmann nàdair
           military: Raon an airm
-          school:
-          - Sgoil
-          - Oilthigh
+          school: Sgoil
+          university: Oilthigh
           building: Togalach cudromach
           station: Stèisean-rèile
-          summit:
-          - Mullach
-          - Sgurr
+          summit: Mullach
+          peak: Sgurr
           tunnel: Oir-strìochagan = tunail
           bridge: Oir-loidhnichean = drochaid
           private: Cead-inntrigidh prìobhaideach
@@ -1658,7 +1633,7 @@ gd:
       consider_pd: A bharrachd air an aonta gu h-àrd, aontaichidh mi gun dèid na bheir
         mi dhuibh 'nam cho-thabhartaiche a chur sa Public Domain
       consider_pd_why: Dè th`ann?
-      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+      consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
       decline: Cha ghabh mi ris
       you need to accept or decline: Feuch an leugh thu teirmichean ùra a' chom-pàirtiche
         agus an uairsin aontaich no nach gabh riutha mus lean thu air adhart.
index dd0a9b2f5fe4766de74c33d40d60286ef404a59a..3411ce22487307583ba20dea762ea43d25fc2d2f 100644 (file)
@@ -9,6 +9,7 @@
 # Author: Fitoschido
 # Author: Gallaecio
 # Author: Iváns
+# Author: MAGHOI
 # Author: Macofe
 # Author: Maria zaos
 # Author: McDutchie
@@ -44,8 +45,8 @@ gl:
         create: Rexistrarse
         update: Actualizar
       redaction:
-        create: Crear a redacción
-        update: Gardar a redacción
+        create: Crear a censura
+        update: Gardar a censura
       trace:
         create: Subir
         update: Gardar as modificacións
@@ -57,6 +58,9 @@ gl:
       messages:
         invalid_email_address: non semella ser un enderezo de correo electrónico válido
         email_address_not_routable: non é atinxíbel
+      models:
+        user_mute:
+          is_already_muted: xa está silenciado
     models:
       acl: Listaxe do control de acceso
       changeset: Conxunto de modificacións
@@ -426,9 +430,10 @@ gl:
         changeset: conxunto de modificacións
         note: nota
     redacted:
-      redaction: Redacción %{id}
-      message_html: A versión %{version} deste %{type} non se pode amosar tal como
-        foi redactada. Consulte %{redaction_link} para obter máis detalles.
+      redaction: Censura %{id}
+      message_html: A versión %{version} deste elemento de tipo "%{type}" non se pode
+        amosar tal como foi censurada. Consulta a %{redaction_link} para obter máis
+        detalles.
       type:
         node: nó
         way: vía
@@ -1482,9 +1487,9 @@ gl:
         one: '%{count} denuncia'
         other: '%{count} denuncias'
       no_reports: Sen denuncias
-      report_created_at: Primeira incidencia o %{datetime}
-      last_resolved_at: Resolto por derradeira vez o %{datetime}
-      last_updated_at: Última actualización o %{datetime} por %{displayname}
+      report_created_at_html: Primeira incidencia o %{datetime}
+      last_resolved_at_html: Resolto por derradeira vez o %{datetime}
+      last_updated_at_html: Última actualización o %{datetime} por %{displayname}
       resolve: Resolver
       ignore: Ignorar
       reopen: Reabrir
@@ -1633,18 +1638,19 @@ gl:
       description_with_no_tags_html: Parece o teu ficheiro GPX %{trace_name} coa descrición
         %{trace_description} e sen etiquetas
     gpx_failure:
-      hi: Ola %{to_user},
+      hi: 'Ola %{to_user}:'
       failed_to_import: 'erro ao importar. Velaquí atópase o erro:'
       more_info_html: Máis información sobre os erros de importación de GPX e como
         evitalos en %{url}.
       subject: '[OpenStreetMap] Importación GPX errónea'
     gpx_success:
-      hi: Ola %{to_user},
+      hi: 'Ola %{to_user}:'
       loaded:
         one: cargouse correctamente con %{trace_points} de entre un %{count} punto
           posible.
         other: cargouse correctamente con %{trace_points} de entre %{count} puntos
           posibles.
+      all_your_traces_html: Podes atopar todas as pistas GPX que subiches en %{url}.
       subject: '[OpenStreetMap] Importación GPX correcta'
     signup_confirm:
       subject: '[OpenStreetMap] Dámoslle a benvida ao OpenStreetMap'
@@ -1767,8 +1773,6 @@ gl:
   messages:
     inbox:
       title: Caixa de entrada
-      my_inbox: A miña caixa de entrada
-      my_outbox: Caixa de saída
       messages: Ten %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} mensaxe nova'
@@ -1776,17 +1780,21 @@ gl:
       old_messages:
         one: '%{count} mensaxe vella'
         other: '%{count} mensaxes vellas'
-      from: De
-      subject: Asunto
-      date: Data
       no_messages_yet_html: Aínda non ten ningunha mensaxe. Por que non se pon en
         contacto con algunhas das %{people_mapping_nearby_link}?
       people_mapping_nearby: persoas preto de ti
+    messages_table:
+      from: De
+      to: Para
+      subject: Asunto
+      date: Data
+      actions: Accións
     message_summary:
       unread_button: Marcar como non lido
       read_button: Marcar como lido
       reply_button: Responder
       destroy_button: Eliminar
+      unmute_button: Mover á caixa de entrada
     new:
       title: Enviar unha mensaxe
       send_message_to_html: Enviarlle unha nova mensaxe a %{name}
@@ -1801,20 +1809,21 @@ gl:
       body: Non hai ningunha mensaxe con esa ID.
     outbox:
       title: Caixa de saída
-      my_inbox: Caixa de entrada
-      my_outbox: Caixa de saída
+      actions: Accións
       messages:
         one: Enviaches %{count} mensaxe
         other: Enviaches %{count} mensaxes
-      to: Para
-      subject: Asunto
-      date: Data
       no_sent_messages_html: Aínda non enviou ningunha mensaxe. Por que non se pon
         en contacto con algunhas das %{people_mapping_nearby_link}?
       people_mapping_nearby: persoas preto de ti
+    muted:
+      title: Mensaxes silenciadas
+      messages:
+        one: '%{count} mensaxe silenciada'
+        other: Tes %{count} mensaxes silenciadas
     reply:
-      wrong_user: Accedeu ó sistema coma "%{user}", pero a mensaxe que pediu respostar
-        non lla enviou a ese usuario. Acceda co usuario correcto para redactar a resposta.
+      wrong_user: Accediches ó sistema coma "%{user}", pero a mensaxe que pediu responder
+        non lla enviou a ese usuario. Accede co usuario correcto para redactar a resposta.
     show:
       title: Ler a mensaxe
       reply_button: Responder
@@ -1826,13 +1835,20 @@ gl:
         correcto para ler a resposta.
     sent_message_summary:
       destroy_button: Eliminar
+    heading:
+      my_inbox: A miña caixa de entrada
+      my_outbox: Caixa de saída
+      muted_messages: Mensaxes silenciadas
     mark:
       as_read: Mensaxe marcada coma lida
       as_unread: Mensaxe marcada coma non lida
+    unmute:
+      notice: A mensaxe moveuse á caixa de entrada
+      error: Non se puido mover a mensaxe á caixa de entrada.
     destroy:
       destroyed: Mensaxe eliminada
   passwords:
-    lost_password:
+    new:
       title: Contrasinal perdido
       heading: Esqueciches o contrasinal?
       email address: 'Enderezo de correo electrónico:'
@@ -1840,16 +1856,20 @@ gl:
       help_text: Escribe o enderezo de correo electrónico que empregaches para te
         rexistrares. Enviarémosche unha ligazón que poderás empregar para restablecer
         o teu contrasinal.
+    create:
       notice email on way: Por desgraza perdeuno, pero hai en camiño unha mensaxe
         de correo electrónico ca que o poderá restabelecelo axiña.
       notice email cannot find: Non se puido atopar o enderezo de correo electrónico.
-    reset_password:
+    edit:
       title: Restablecer o contrasinal
       heading: Restablecer o contrasinal de %{user}
       reset: Restablecer o contrasinal
-      flash changed: Mudouse o teu contrasinal.
       flash token bad: Non se atopou o pase. Quizabes tería que comprobar o enderezo
         URL.
+    update:
+      flash changed: Mudouse o teu contrasinal.
+      flash token bad: Non se atopou o pase. Quizais deberías comprobar o enderezo
+        URL.
   preferences:
     show:
       title: As miñas preferencias
@@ -1954,6 +1974,7 @@ gl:
       image: Imaxe
       alt: Texto alternativo
       url: URL
+      codeblock: Segmento de código
     richtext_field:
       edit: Editar
       preview: Vista previa
@@ -2207,12 +2228,7 @@ gl:
         este elemento.
     export:
       title: Exportar
-      area_to_export: Zona a exportar
       manually_select: Seleccionar de xeito manual outra zona
-      format_to_export: Formato de exportación
-      osm_xml_data: Datos XML do OpenStreetMap
-      map_image: Imaxe do mapa (amosa unha capa normal)
-      embeddable_html: HTML embebíbel
       licence: Licenza
       licence_details_html: Os datos do OpenStreetMap atópanse baixo a %{odbl_link}
         (ODbL).
@@ -2237,17 +2253,6 @@ gl:
         other:
           title: Outras fontes
           description: Fontes adicionais listadas no wiki do OpenStreetMap
-      options: Opcións
-      format: Formato
-      scale: Escala
-      max: máx.
-      image_size: Tamaño da imaxe
-      zoom: Zoom
-      add_marker: Engadir un marcador ao mapa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Saída
-      paste_html: Pegue o código HTML para incluílo na páxina web
       export_button: Exportar
     fixthemap:
       title: Denunciar un problema / Corrixir o mapa
@@ -2348,67 +2353,83 @@ gl:
           primary: Estrada primaria
           secondary: Estrada secundaria
           unclassified: Estrada sen clasificar
+          pedestrian: Camiño peonil
           track: Pista
           bridleway: Pista de cabalos
           cycleway: Senda ciclista
           cycleway_national: Carril bici nacional
           cycleway_regional: Carril bici rexional
           cycleway_local: Carril bici local
+          cycleway_mtb: Ruta de bicicleta de montaña
           footway: Senda peonil
           rail: Ferrocarril
+          train: Tren
           subway: Metro
-          tram:
-          - Metro lixeiro
-          - tranvía
-          cable:
-          - Teleférico
-          - telecadeira
-          runway:
-          - Pista do aeroporto
-          - vía de circulación do aeroporto
-          apron:
-          - Plataforma do aeroporto
-          - terminal
+          ferry: Transbordador
+          light_rail: Metro lixeiro
+          tram: Tranvía
+          trolleybus: Trolebús
+          bus: Autobús
+          cable_car: Teleférico
+          chair_lift: Telecadeira
+          runway: Pista do aeroporto
+          taxiway: Vía de circulación do aeroporto
+          apron: Plataforma do aeroporto
           admin: Límite administrativo
+          capital: Capital
+          city: Cidade
+          orchard: Horta
+          vineyard: Viñedo
           forest: Bosque
           wood: Bosque
+          farmland: Terra de labranza
+          grass: Herba
+          meadow: Pradaría
+          bare_rock: Rocha núa
+          sand: Area
           golf: Campo de golf
           park: Parque
+          common: Espazo común
+          built_up: Zona edificada
           resident: Zona residencial
-          common:
-          - Espazo común
-          - pradaría
-          - xardín
           retail: Zona comercial
           industrial: Zona industrial
           commercial: Zona de oficinas
           heathland: Breixeira
-          lake:
-          - Lagoa
-          - encoro
+          scrubland: Matogueira
+          lake: Lagoa
+          reservoir: Encoro
+          intermittent_water: Masa de auga intermitente
+          glacier: Glaciar
+          reef: Arrecife
+          wetland: Pantano
           farm: Granxa
           brownfield: Lugar baldío
           cemetery: Cemiterio
           allotments: Hortas
           pitch: Cancha deportiva
           centre: Centro deportivo
+          beach: Praia
           reserve: Reserva natural
           military: Zona militar
-          school:
-          - Escola
-          - universidade
+          school: Escola
+          university: Universidade
+          hospital: Hospital
           building: Edificio significativo
           station: Estación de ferrocarrís
-          summit:
-          - Cumio
-          - cume
+          summit: Cumio
+          peak: Cume
           tunnel: Bordo a raias = túnel
           bridge: Bordo negro = ponte
           private: Acceso privado
           destination: Acceso a destino
           construction: Estradas baixo construción
+          bus_stop: Parada de bus
+          stop: Parada
           bicycle_shop: Tenda de bicicletas
+          bicycle_rental: Alugueiro de bicicletas
           bicycle_parking: Aparcadoiro de bicicletas
+          bicycle_parking_small: Aparcadoiro de bicicletas pequeno
           toilets: Servizos
     welcome:
       title: Reciba a nosa benvida!
@@ -2609,6 +2630,7 @@ gl:
       oauth1_settings: Axustes OAuth 1
       oauth2_applications: Aplicacións OAuth 2
       oauth2_authorizations: Autorizacións OAuth 2
+      muted_users: Usuarios silenciados
   oauth:
     authorize:
       title: Autorizar o acceso á túa conta
@@ -2645,6 +2667,7 @@ gl:
       read_gpx: Ler pistas GPS privadas
       write_gpx: Subir pistas GPS
       write_notes: Modificar notas
+      write_redactions: Censurar datos do mapa
       read_email: Ver os enderezos de correo electrónico dos usuarios
       skip_authorization: Aprobar automaticamente aplicacións
   oauth_clients:
@@ -2656,7 +2679,7 @@ gl:
       title: Detalles OAuth para %{app_name}
       key: 'Chave ou clave do consumidor:'
       secret: 'Pregunta secreta do consumidor:'
-      url: 'Solicitar unha URL de pase:'
+      url: 'URL do pase da solicitude:'
       access_url: 'Acceder á URL do pase:'
       authorize_url: 'Autorizar a URL:'
       support_notice: Soportamos HMAC-SHA1 (recomendado) e sinaturas RSA-SHA1.
@@ -2818,6 +2841,8 @@ gl:
       my_dashboard: O meu panel de control
       blocks on me: Os meus bloqueos
       blocks by me: Bloqueos efectuados
+      create_mute: Silenciar este usuario
+      destroy_mute: Deixar de silenciar este usuario
       edit_profile: Editar perfil
       send message: Enviar unha mensaxe
       diary: Diario
@@ -2849,6 +2874,7 @@ gl:
           importer: Revogar o acceso de importador
       block_history: Bloqueos activos
       moderator_history: Bloqueos impostos
+      revoke_all_blocks: Revogar todos os bloqueos
       comments: Comentarios
       create_block: Bloquear este usuario
       activate_user: Activar este usuario
@@ -2958,6 +2984,16 @@ gl:
       confirm: Ten a certeza de querer revogar este bloqueo?
       revoke: Revogar!
       flash: Revogouse o bloqueo.
+    revoke_all:
+      title: Revogando todos os bloqueos en %{block_on}
+      heading_html: Revogando todos os bloqueos en %{block_on}
+      empty: '%{name} non ten bloqueos activos.'
+      confirm: Ten a certeza de querer revogar %{active_blocks}?
+      active_blocks:
+        one: '%{count} bloqueo activo'
+        other: '%{count} bloqueos activos'
+      revoke: Revogar!
+      flash: Revogáronse todos os bloqueos activos.
     helper:
       time_future_html: Remata en %{time}.
       until_login: Activo até que o usuario inicie sesión.
@@ -3017,6 +3053,30 @@ gl:
       showing_page: Páxina %{page}
       next: Seguinte »
       previous: « Anterior
+  user_mutes:
+    index:
+      title: Usuarios silenciados
+      my_muted_users: Os meus usuarios silenciados
+      you_have_muted_n_users:
+        one: Silenciaches %{count} usuario
+        other: Silenciaches %{count} usuarios
+      user_mute_explainer: As mensaxes dos usuarios silenciados móvense a unha caixa
+        de entrada independente e non recibirás notificacións por correo electrónico.
+      user_mute_admins_and_moderators: Podes silenciar os administradores e moderadores,
+        pero as súas mensaxes non se silenciarán.
+      table:
+        thead:
+          muted_user: Usuario silenciado
+          actions: Accións
+        tbody:
+          unmute: Deixar de silenciar
+          send_message: Enviar unha mensaxe
+    create:
+      notice: Silenciaches a %{name}.
+      error: Non se puido silenciar a %{name}. %{full_message}.
+    destroy:
+      notice: Deixaches de silenciar a %{name}.
+      error: Non se puido deixar de silenciar o usuario. Por favor, inténtao de novo.
   notes:
     index:
       title: Notas enviadas ou comentadas por %{user}
@@ -3053,6 +3113,7 @@ gl:
       reactivate: Reactivar
       comment_and_resolve: Comentar e resolver
       comment: Comentar
+      log_in_to_comment: Accede para comentar esta nota
       report_link_html: Se esta nota contén información confidencial que debe eliminarse,
         podes %{link}.
       other_problems_resolve: Para calquera outro problema coa nota, resólveo ti cun
@@ -3174,71 +3235,70 @@ gl:
       distance_km: '%{distance} km'
       errors:
         no_route: Non se puido atopar unha ruta entre eses dous lugares.
-        no_place: Sentímolo - non foi posíbel atopar '%{place}'.
+        no_place: Sentímolo, non foi posíbel atopar "%{place}".
       instructions:
-        continue_without_exit: Continuar en %{name}
-        slight_right_without_exit: Xire un pouco cara á dereita en %{name}
-        offramp_right: Colla a rampla da dereita
-        offramp_right_with_exit: Tome a saída %{exit} cara á dereita
-        offramp_right_with_exit_name: Tome a saída %{exit} á dereita cara %{name}
-        offramp_right_with_exit_directions: Tome a saída %{exit} cara á dereita, en
-          dirección a %{directions}
-        offramp_right_with_exit_name_directions: Tome a saída %{exit} á dereita cara
-          %{name}, en dirección a %{directions}
-        offramp_right_with_name: Colla a rampla á dereita en %{name}
-        offramp_right_with_directions: Tome a vía de acceso cara á dereita en dirección
+        continue_without_exit: Continúa en %{name}
+        slight_right_without_exit: Xira lixeiramente á dereita cara a %{name}
+        offramp_right: Toma a rampla á dereita
+        offramp_right_with_exit: Toma a saída %{exit} á dereita
+        offramp_right_with_exit_name: Toma a saída %{exit} á dereita cara a %{name}
+        offramp_right_with_exit_directions: Toma a saída %{exit} á dereita, en dirección
           a %{directions}
-        offramp_right_with_name_directions: Tome a vía de acceso á dereita cara %{name},
+        offramp_right_with_exit_name_directions: Toma a saída %{exit} á dereita cara
+          a %{name}, en dirección a %{directions}
+        offramp_right_with_name: Toma a rampla á dereita cara a %{name}
+        offramp_right_with_directions: Toma a rampla á dereita en dirección a %{directions}
+        offramp_right_with_name_directions: Toma a rampla á dereita cara a %{name},
           en dirección a %{directions}
-        onramp_right_without_exit: Xire á dereita na rampla en %{name}
-        onramp_right_with_directions: Xire á dereita, cara á rampla en dirección a
+        onramp_right_without_exit: Xira á dereita na rampla cara a %{name}
+        onramp_right_with_directions: Xira á dereita, cara á rampla en dirección a
           %{directions}
-        onramp_right_with_name_directions: Xire á dereita na rampla cara %{name},
+        onramp_right_with_name_directions: Xira á dereita na rampla cara a %{name},
           en dirección a %{directions}
-        onramp_right_without_directions: Xire á dereita cara a rampla
-        onramp_right: Xire á dereita cara a rampla
-        endofroad_right_without_exit: Ó final da estrada xire á dereita en %{name}
-        merge_right_without_exit: Únase á dereita en %{name}
-        fork_right_without_exit: Na bifurcación xire á dereita en %{name}
-        turn_right_without_exit: Xire á dereita en %{name}
-        sharp_right_without_exit: Xiro brusco á dereita en %{name}
+        onramp_right_without_directions: Xira á dereita cara a rampla
+        onramp_right: Xira á dereita cara a rampla
+        endofroad_right_without_exit: Ó final da estrada xira á dereita cara a %{name}
+        merge_right_without_exit: Incorpórate á dereita cara a %{name}
+        fork_right_without_exit: Na bifurcación xira á dereita cara a %{name}
+        turn_right_without_exit: Xira á dereita cara a %{name}
+        sharp_right_without_exit: Xiro brusco á dereita cara a %{name}
         uturn_without_exit: Cambio de sentido en %{name}
-        sharp_left_without_exit: Xiro brusco á esquerda en %{name}
-        turn_left_without_exit: Xire á esquerda cara %{name}
-        offramp_left: Tome a rampla á esquerda
-        offramp_left_with_exit: Tome a saída %{exit} á esquerda
-        offramp_left_with_exit_name: Tome a saída %{exit} á esquerda cara %{name}
-        offramp_left_with_exit_directions: Tome a saída %{exit} á esquerda en dirección
+        sharp_left_without_exit: Xiro brusco á esquerda cara a %{name}
+        turn_left_without_exit: Xira á esquerda cara a %{name}
+        offramp_left: Toma a rampla á esquerda
+        offramp_left_with_exit: Toma a saída %{exit} á esquerda
+        offramp_left_with_exit_name: Toma a saída %{exit} á esquerda cara a %{name}
+        offramp_left_with_exit_directions: Toma a saída %{exit} á esquerda en dirección
           a %{directions}
-        offramp_left_with_exit_name_directions: Tome a saída %{exit} á esquerda cara
-          %{name}, en dirección a %{directions}
-        offramp_left_with_name: Colla a rampla á esquerda en %{name}
-        offramp_left_with_directions: Tome a rampla á esquerda en dirección a %{directions}
-        offramp_left_with_name_directions: Tome a rampla á esquerda cara %{name},
+        offramp_left_with_exit_name_directions: Toma a saída %{exit} á esquerda cara
+          %{name}, en dirección a %{directions}
+        offramp_left_with_name: Toma a rampla á esquerda cara a %{name}
+        offramp_left_with_directions: Toma a rampla á esquerda en dirección a %{directions}
+        offramp_left_with_name_directions: Toma a rampla á esquerda cara a %{name},
           en dirección a %{directions}
-        onramp_left_without_exit: Xire á esquerda na rampla en %{name}
-        onramp_left_with_directions: Xire á esquerda na rampla en dirección a %{directions}
-        onramp_left_with_name_directions: Xire á esquerda na rampla cara %{name},
+        onramp_left_without_exit: Xira á esquerda na rampla cara a %{name}
+        onramp_left_with_directions: Xira á esquerda na rampla en dirección a %{directions}
+        onramp_left_with_name_directions: Xira á esquerda na rampla cara a %{name},
           en dirección a %{directions}
-        onramp_left_without_directions: Xire á esquerda cara a rampla
-        onramp_left: Xire á esquerda cara a rampla
-        endofroad_left_without_exit: Ó final da estrada xire á esquerda en %{name}
-        merge_left_without_exit: Únase á esquerda en %{name}
-        fork_left_without_exit: Na bifurcación xire á esquerda en %{name}
-        slight_left_without_exit: Xire un pouco cara á esquerda en %{name}
+        onramp_left_without_directions: Xira á esquerda cara a rampla
+        onramp_left: Xira á esquerda cara a rampla
+        endofroad_left_without_exit: Ó final da estrada xira á esquerda cara a %{name}
+        merge_left_without_exit: Incorpórate á esquerda cara a %{name}
+        fork_left_without_exit: Na bifurcación xira á esquerda cara a %{name}
+        slight_left_without_exit: Xira lixeiramente á esquerda cara a %{name}
         via_point_without_exit: (punto intermedio)
-        follow_without_exit: Siga %{name}
-        roundabout_without_exit: Na rotonda, tome a saída cara a %{name}
-        leave_roundabout_without_exit: Saír da rotonda - %{name}
-        stay_roundabout_without_exit: Permanecer na rotonda - %{name}
-        start_without_exit: Comezar en %{name}
-        destination_without_exit: Chegada ó destino
-        against_oneway_without_exit: Ir en contra dun só sentido en %{name}
+        follow_without_exit: Sigue %{name}
+        roundabout_without_exit: Na rotonda, toma a saída cara a %{name}
+        leave_roundabout_without_exit: Sae da rotonda - %{name}
+        stay_roundabout_without_exit: Permanece na rotonda - %{name}
+        start_without_exit: Comeza en %{name}
+        destination_without_exit: Chega ó destino
+        against_oneway_without_exit: Vai en contra do sentido en %{name}
         end_oneway_without_exit: Final dun só sentido en %{name}
-        roundabout_with_exit: Na rotonda coller saída %{exit} en %{name}
-        roundabout_with_exit_ordinal: Na rotonda coller saída %{exit} cara %{name}
-        exit_roundabout: Saír da rotonda cara %{name}
-        unnamed: sen nome
+        roundabout_with_exit: Na rotonda, toma a saída %{exit} cara a %{name}
+        roundabout_with_exit_ordinal: Na rotonda, toma a saída %{exit} cara a %{name}
+        exit_roundabout: Sae da rotonda cara a %{name}
+        unnamed: estrada sen nome
         courtesy: Indicacións cortesía de %{link}
         exit_counts:
           first: 1.ª
@@ -3257,8 +3317,8 @@ gl:
       way: Vía
       relation: Relación
       nothing_found: Non se atoparon elementos
-      error: 'Erro ó contactar a %{server}: %{error}'
-      timeout: Tempo de agarde esgotado ó contactar a %{server}
+      error: 'Erro ó contactar con %{server}: %{error}'
+      timeout: Tempo de agarda esgotado ó contactar con %{server}
     context:
       directions_from: Indicacións dende aquí
       directions_to: Indicacións até aquí
@@ -3268,32 +3328,32 @@ gl:
       centre_map: Centrar o mapa aquí
   redactions:
     edit:
-      heading: Editar a redacción
-      title: Editar a redacción
+      heading: Editar a censura
+      title: Editar a censura
     index:
-      empty: Non hai ningunha redacción que amosar.
-      heading: Listaxe das redaccións
-      title: Listaxe das redaccións
+      empty: Non hai ningunha censura que amosar.
+      heading: Listaxe de censuras
+      title: Listaxe de censuras
     new:
-      heading: Escriba a información da nova redacción
-      title: Creando unha nova redacción
+      heading: Escriba a información da nova censura
+      title: Creando unha nova censura
     show:
       description: 'Descrición:'
-      heading: Amosando a redacción "%{title}"
-      title: Amosando a redacción
+      heading: Amosando a censura "%{title}"
+      title: Amosando a censura
       user: 'Creador:'
-      edit: Editar esta redacción
-      destroy: Eliminar esta redacción
+      edit: Editar esta censura
+      destroy: Eliminar esta censura
       confirm: Queres continuar?
     create:
-      flash: Redacción creada.
+      flash: Censura creada.
     update:
       flash: Gardáronse as modificacións.
     destroy:
-      not_empty: A redacción non está baleira. Elimine tódalas versións previas pertencentes
-        a esta redacción antes de destruíla.
-      flash: Redacción destruída.
-      error: Houbo un erro ó destruír esta redacción.
+      not_empty: A censura non está baleira. Elimina tódalas versións previas pertencentes
+        a esta censura antes de destruíla.
+      flash: Censura destruída.
+      error: Houbo un erro ó destruír esta censura.
   validations:
     leading_whitespace: ten espazos no inicio
     trailing_whitespace: ten espazos ó final
index ac44d7f59f06954676e245ce86cdd2b3d234d444..c5475f3d654894a6606d44b895d6828e014234b7 100644 (file)
@@ -185,12 +185,13 @@ gsw:
       success: Dyy E-Mail-Adräss isch bstetigt wore, dankschen fir s Regischtriere!
       failure: E E-Mail-Adräss isch scho mit däm Link bstetigt wore.
   passwords:
-    reset_password:
+    edit:
       title: Passwort zrucksetze
       heading: Passwort fir %{user} zrucksetze
       reset: Passwort zrucksetze
-      flash changed: Dyy Passwort isch gänderet wore.
       flash token bad: Mir hän des Chirzel leider nit chenne finde. Iberprief d URL.
+    update:
+      flash changed: Dyy Passwort isch gänderet wore.
   traces:
     visibility:
       private: Privat (nume as anonymi, nit sortierti Pinkt ohni Zytstämpfel aazeigt)
index e5a7c2e03574ec61278d829a37d93e5372d8a646..ab32d78fdcf461166eb75743316f74998b8b4624 100644 (file)
@@ -79,6 +79,11 @@ he:
       messages:
         invalid_email_address: זאת אינה כתובת דוא״ל תקנית
         email_address_not_routable: לא בר־ניתוב
+        display_name_is_user_n: זה לא יכול להיות user_n אלא אם כן n הוא מזהה המשתמש
+          שלך
+      models:
+        user_mute:
+          is_already_muted: כבר מושתק
     models:
       acl: רשימת בקרת גישה
       changeset: ערכת שינויים
@@ -266,7 +271,7 @@ he:
       description: iD (עורך בתוך הדפדפן)
     remote:
       name: שליטה מרחוק
-      description: שליטה מרחוק (JOSM, Potlatch או Merkaartor)
+      description: שליטה מרחוק (JOSM, Potlatch או Merkaartor)
   auth:
     providers:
       none: ללא
@@ -313,7 +318,7 @@ he:
         retain_caveats: 'אבל חלק מהמידע עליך יישמר ב־OpenStreetMap, אפילו אחרי מחיקת
           חשבונך:'
         retain_edits: העריכות שלך לבסיס הנתונים של המפה, אם קיימות, יישמרו.
-        retain_traces: ההקלטות (traces) שהעליתם, יישמרו.
+        retain_traces: ההקלטות שהעליתם, אם יש כאלו, יישמרו.
         retain_diary_entries: יומן הכניסות ויומן התגובות שלך, אם קיימים, יישמרו, אך
           לא ניתן יהיה לצפות בהם.
         retain_notes: הערות המפה ותגובות להערות, אם יש כאלה, יישמרו, אבל יוסתרו.
@@ -361,8 +366,8 @@ he:
         כברירת מחדל.
       make_edits_public_button: להפוך את כל עריכותיי לציבוריות
     update:
-      success_confirm_needed: מידע על המשתמש עודכן בהצלחה. נא לבדוק את תיבת הדוא"ל
-        כדי לאמת את הדוא"ל החדש.
+      success_confirm_needed: מידע על המשתמש עודכן בהצלחה. נא לבדוק את תיבת הדוא״ל
+        כדי לאמת את הדוא״ל החדש.
       success: פרטי המשתמש עודכנו בהצלחה.
     destroy:
       success: חשבון נמחק.
@@ -1183,7 +1188,7 @@ he:
           fjord: פיורד
           forest: יער
           geyser: גייזר
-          glacier: קרחון
+          glacier: קרחון יבשתי
           grassland: ערבה
           heath: בתה
           hill: גבעה
@@ -1518,9 +1523,9 @@ he:
         many: '%{count} דו״חות'
         other: '%{count} דו״חות'
       no_reports: אין דיווחים
-      report_created_at: דיווח ראשון ב־%{datetime}
-      last_resolved_at: נפתר לאחרונה ב־%{datetime}
-      last_updated_at: עדכון אחרון ב־%{datetime} על־ידי %{displayname}
+      report_created_at_html: דיווח ראשון ב־%{datetime}
+      last_resolved_at_html: נפתר לאחרונה ב־%{datetime}
+      last_updated_at_html: עדכון אחרון ב־%{datetime} על־ידי %{displayname}
       resolve: לפתור
       ignore: התעלמות
       reopen: פתיחה מחדש
@@ -1570,10 +1575,10 @@ he:
           threat_label: הערה זו ביומן מכילה איום
           other_label: אחר
         user:
-          spam_label: ×¤×¨×\95פ×\99×\9c ×\9eשת×\9eש ×\96×\94 ×\94×\95×\90\9e×\9b×\99×\9c ×¡×¤×\90×\9d
-          offensive_label: ×¤×¨×\95פ×\99×\9c ×\9eשת×\9eש ×\96×\94 ×\91×\95×\98×\94/פוגעני
-          threat_label: ×¤×¨×\95פ×\99×\9c ×\9eשת×\9eש זה מכיל איום
-          vandal_label: ×\9eשת×\9eש ×\96×\94 משחית
+          spam_label: ×¤×¨×\95פ×\99×\9c ×\94×\9eשת×\9eש ×\94×\96×\94 ×\94×\95×\90 ×¡×¤×\90×\9d (×\90×\95 ×\9e×\9b×\99×\9c ×¡×¤×\90×\9d)
+          offensive_label: ×¤×¨×\95פ×\99×\9c ×\94×\9eשת×\9eש ×\94×\96×\94 ×\91×\95×\98×\94 ×\90×\95 פוגעני
+          threat_label: ×¤×¨×\95פ×\99×\9c ×\94×\9eשת×\9eש ×\94זה מכיל איום
+          vandal_label: ×\94×\9eשת×\9eש ×\94×\96×\94 ×\94×\95×\90 משחית
           other_label: אחר
         note:
           spam_label: הערה זו היא זבל
@@ -1764,7 +1769,7 @@ he:
       success: חשבונך אושר, תודה שנרשמת!
       already active: החשבון הזה כבר אושר.
       unknown token: נראה שקוד האישור הזה פג או שאינו קיים.
-      resend_html: אם צריך שנשלח לך שוב את דוא"ל האישור, %{reconfirm_link}.
+      resend_html: אם צריך שנשלח לך שוב את דוא״ל האישור, %{reconfirm_link}.
       click_here: נא ללחוץ כאן
     confirm_resend:
       failure: משתמש %{name} לא נמצא.
@@ -1784,8 +1789,6 @@ he:
   messages:
     inbox:
       title: תיבת דואר נכנס
-      my_inbox: תיבת הדואר הנכנס שלי
-      my_outbox: תיבת הדואר היוצא שלי
       messages: יש לך %{new_messages} ועוד %{old_messages}
       new_messages:
         one: הודעה חדשה אחת
@@ -1793,16 +1796,20 @@ he:
       old_messages:
         one: הודעה ישנה אחת
         other: '%{count} הודעות ישנות'
+      no_messages_yet_html: אין לך הודעות חדשות עדיין. מה דעתך ליצור קשר עם %{people_mapping_nearby_link}?
+      people_mapping_nearby: אנשים ממפים בקרבת מקום
+    messages_table:
       from: מאת
+      to: אל
       subject: נושא
       date: תאריך
-      no_messages_yet_html: אין לך הודעות חדשות עדיין. מה דעתך ליצור קשר עם %{people_mapping_nearby_link}?
-      people_mapping_nearby: אנשים ממפים בקרבת מקום
+      actions: פעולות
     message_summary:
       unread_button: סימון כ„לא נקרא”
       read_button: סימון כ„נקרא”
       reply_button: להשיב
       destroy_button: מחיקה
+      unmute_button: העברה לדואר הנכנס
     new:
       title: שליחת הודעה
       send_message_to_html: לשליחת הודעה חדשה אל %{name}
@@ -1813,19 +1820,22 @@ he:
     no_such_message:
       title: אין הודעה כזאת
       heading: אין הודעה כזאת
-      body: ×\90× ×\95 ×\9eצ×\98ער×\99×\9d, ×\90×\99×\9f ×\94×\95×\93×¢×\94 ×¢×\9d ×\9e×\96×\94×\94 זה.
+      body: ×\90× ×\95 ×\9eצ×\98ער×\99×\9d, ×\90×\99×\9f ×\94×\95×\93×¢×\94 ×¢×\9d ×\94×\9e×\96×\94×\94 ×\94זה.
     outbox:
       title: תיבת דואר יוצא
-      my_inbox: תיבת הדואר הנכנס שלי
-      my_outbox: תיבת הדואר היוצא שלי
+      actions: פעולות
       messages:
         one: יש לך הודעה אחת שנשלחה
         other: יש לך %{count} הודעות שנשלחו
-      to: אל
-      subject: נושא
-      date: תאריך
       no_sent_messages_html: אין לך הודעות נשלחו עד כה. מה דעתך ליצור קשר עם %{people_mapping_nearby_link}?
       people_mapping_nearby: משתתפים הממפים בקרבת מקום
+    muted:
+      title: הודעות מושתקות
+      messages:
+        one: הודעה מושתקת
+        two: יש לך שתי הודעות מושתקות
+        many: יש לך %{count} הודעות מושתקות
+        other: יש לך %{count} הודעות מושתקות
     reply:
       wrong_user: נכנסת בשם „%{user}”, אבל ההודעה שביקשת להשיב עליה לא נשלחה לאותו
         המשתמש. נא להיכנס בחשבון הנכון כדי להשיב.
@@ -1839,28 +1849,38 @@ he:
         נא להיכנס בחשבון הנכון כדי ללקרוא אותה.
     sent_message_summary:
       destroy_button: מחיקה
+    heading:
+      my_inbox: תיבת הדואר הנכנס שלי
+      my_outbox: תיבת הדואר היוצא שלי
+      muted_messages: הודעות מושתקות
     mark:
       as_read: ההודעה סומנה כהודעה שנקראה
       as_unread: ההודעה סומנה כהודעה שלא נקראה
+    unmute:
+      notice: הודעה הועברה לדואר הנכנס
+      error: אי־אפשר להעביר את ההודעה לדואר הנכנס.
     destroy:
       destroyed: ההודעה נמחקה
   passwords:
-    lost_password:
+    new:
       title: הסיסמה הלכה לאיבוד
       heading: שכחת סיסמה?
       email address: 'כתובת דוא״ל:'
       new password button: נא לשלוח לי סיסמה חדשה
       help_text: נא להזין את כתובת הדוא״ל שהשתמשת בה כדי להירשם. אנו נשלח אליה קישור
         שאפשר להשתמש בו כדי לאפס את סיסמתך.
+    create:
       notice email on way: אנו מצטערים לשמוע שאיבדת אותה :-( אבל נשלח לדואר האלקטרוני
         שלך מכתב שבאמצעותו אפשר לאפס אותה.
       notice email cannot find: סליחה, הכתובת הזאת לא נמצאה.
-    reset_password:
+    edit:
       title: איפוס סיסמה
       heading: איפוס הסיסמה עבור %{user}
       reset: איפוס הסיסמה
-      flash changed: סיסמתך שונתה.
       flash token bad: לא מצאנו את האסימון ההוא, אולי בדיקת הכתובת תעזור?
+    update:
+      flash changed: סיסמתך שונתה.
+      flash token bad: האסימון לא נמצא, אולי משהו עם הכתובת?
   preferences:
     show:
       title: ההעדפות שלי
@@ -1963,6 +1983,7 @@ he:
       image: תמונה
       alt: טקסט חלופי
       url: כתובת URL
+      codeblock: קטע קוד
     richtext_field:
       edit: עריכה
       preview: תצוגה מקדימה
@@ -2018,12 +2039,12 @@ he:
       partners_title: שותפים
     copyright:
       foreign:
-        title: ×\90×\95×\93×\95ת ×ª×¨×\92×\95×\9d זה
+        title: ×\90×\95×\93×\95ת ×\94תר×\92×\95×\9d ×\94זה
         html: במקרה של חוסר תאימות בין הדף המתורגם הזה לבין %{english_original_link},
           הדף באנגלית הוא הקובע
         english_link: המקור באנגלית
       native:
-        title: ×\90×\95×\93×\95ת ×\93×£ זה
+        title: ×\90×\95×\93×\95ת ×\94×\93×£ ×\94זה
         html: זהו דף זכויות היוצרים בגרסתו באנגלית. אפשר לחזור ל%{native_link} של
           הדף הזה, ואפשר גם להפסיק לקרוא על זכויות יוצרים ו%{mapping_link}.
         native_link: גרסה העברית
@@ -2062,9 +2083,9 @@ he:
         credit_3_attribution_guidelines: הנחיות ייחוס
         credit_4_1_html: |-
           כדי להבהיר שהנתונים זמינים לפי תנאי רישיון מסד הנתונים הפתוח, באפשרותך לקשר ל%{this_copyright_page_link}.
-          ×\9c×\97×\9c×\95פ×\99×\9f, ×\95×\9b×\93ר×\99ש×\94 ×\90×\9d OSM ×\9e×\95פץ ×¢×\9cÖ¾×\99×\93×\99×\9a ×\91צ×\95רת × ×ª×\95× ×\99×\9d, ×\91×\90פשר×\95ת×\9a ×\9cתת שם ולקשר ישירות לרישיון (או רישיונות). באמצעי אחסון שבהם קישורים אינם אפשריים (למשל עבודות מודפסות), אנו מציעים לך להפנות את הקוראים שלך לאתר openstreetmap.org (אולי על‏‏־ידי הרחבת
-          "OpenStreetMap" לכתובת המלאה הזאת) ולאתר opendatacommons.org.
-          ×\91×\93×\95×\92×\9e×\94 ×\94×\96×\90ת, ×\94קר×\93×\99×\98 ×\9e×\95פ×\99×¢ בפינת המפה.
+          ×\9c×\97×\9c×\95פ×\99×\9f, ×\95×\9b×\93ר×\99ש×\94 ×\90×\9d OSM ×\9e×\95פץ ×¢×\9cÖ¾×\99×\93×\99×\9a ×\91צ×\95רת × ×ª×\95× ×\99×\9d, ×\90פשר ×\9cספק שם ולקשר ישירות לרישיון (או רישיונות). באמצעי אחסון שבהם קישורים אינם אפשריים (למשל עבודות מודפסות), אנו מציעים לך להפנות את הקוראים שלך לאתר openstreetmap.org (אולי על‏‏־ידי הרחבת
+          ‚OpenStreetMap’ לכתובת המלאה הזאת) ולאתר opendatacommons.org.
+          ×\91×\93×\95×\92×\9e×\94 ×\94×\96×\90ת, ×\94ת×\95×\93×\95ת ×\9e×\95פ×\99×¢×\95ת בפינת המפה.
         credit_4_1_this_copyright_page: דף זכויות היוצרים הזה
         attribution_example:
           alt: דוגמה לצורה הנכונה לתת ייחוס ל־OpenStreetMap באתר האינטרנט
@@ -2095,8 +2116,8 @@ he:
         contributors_at_cc_by_at_with_amendments: קריאייטיב קומונז ייחוס אוסטריה עם
           תיקונים
         contributors_au_credit_html: |-
-          %{australia}: ×\9eש×\9c×\91ת ×\90×\95 ×¤×\95ת×\97×\94 ×\91×\90×\9eצע×\95ת ×\92×\91×\95×\9c×\95ת × ×\99×\94×\95×\9c×\99×\99×\9d &copy; %{geoscape_australia_link}
-          ×\91ר×\99ש×\99×\95×\9f הקהילייה של אוסטרליה תחת %{cc_licence_link}.
+          %{australia}: ×\9eש×\9c×\91ת ×\90×\95 ×\9eפ×\95ת×\97ת ×\91×\90×\9eצע×\95ת Administrative Boundariesâ\80\8f &copy;â\80\8f %{geoscape_australia_link}
+          ×\95×\94ר×\99ש×\99×\95×\9f × ×\99ת×\9f ×¢×\9cÖ¾×\99×\93×\99 הקהילייה של אוסטרליה תחת %{cc_licence_link}.
         contributors_au_australia: אוסטרליה
         contributors_au_geoscape_australia: Geoscape אוסטרליה
         contributors_au_cc_licence: רישיון קריאייטיב קומונז ייחוס 4.0 בין־לאומי (CC
@@ -2209,12 +2230,7 @@ he:
         הזאת.
     export:
       title: יצוא
-      area_to_export: האזור לייצוא
       manually_select: בחירה ידנית של אזור אחר
-      format_to_export: תסדיר לייצוא
-      osm_xml_data: נתוני XML של OpenStreetMap
-      map_image: תמונת מפה (תצוגת שכבה תקנית)
-      embeddable_html: HTML שניתן להטמעה
       licence: רישיון
       licence_details_html: נתוני OpenStreetMap מתפרסמים עכשיו לפי רישיון %{odbl_link}
         (ODbL).
@@ -2236,17 +2252,6 @@ he:
         other:
           title: מקורות אחרים
           description: מקורות נוספים רשומים בוויקי של OpenStreetMap
-      options: אפשרויות
-      format: תסדיר
-      scale: קנה מידה
-      max: לכל היותר
-      image_size: גודל התמונה
-      zoom: מרחק מתצוגה
-      add_marker: הוספת סמן למפה
-      latitude: 'קווי אורך:'
-      longitude: 'קווי רוחב:'
-      output: פלט
-      paste_html: להדביק HTML להטמעה באתר
       export_button: יצוא
     fixthemap:
       title: לדווח על בעיה / לתקן את המפה
@@ -2342,67 +2347,83 @@ he:
           primary: כביש ראשי
           secondary: כביש משני
           unclassified: דרך לא מסווגת
+          pedestrian: דרך להולכי רגל
           track: מסלול
           bridleway: מסלול לרכיבת סוסים
           cycleway: דרך לאופניים
           cycleway_national: מסלול אופניים לאומי
           cycleway_regional: מסלול אופניים אזורי
           cycleway_local: מסלול אופניים מקומי
+          cycleway_mtb: מסלול אופני הרים
           footway: שביל להולכי רגל
           rail: מסילת ברזל
+          train: רכבת
           subway: רכבת תחתית
-          tram:
-          - רכבת קלה
-          - חשמלית
-          cable:
-          - רכבל
-          - מעלית סקי
-          runway:
-          - מסלול נחיתה
-          - דרך למוניות
-          apron:
-          - רחבת חניה למטוסים
-          - מסוף
+          ferry: מעבורת
+          light_rail: רכבת קלה
+          tram: חשמלית
+          trolleybus: טרוליבוס
+          bus: אוטובוס
+          cable_car: רכבל
+          chair_lift: רכבל מושבים
+          runway: מסלול נחיתה
+          taxiway: מסלול הסעה
+          apron: רחבת חניה למטוסים
           admin: גבול שטח שיפוט
+          capital: בירה
+          city: עיר
+          orchard: מטע
+          vineyard: כרם
           forest: יער
           wood: חורשה
+          farmland: שטח חקלאי
+          grass: דשא
+          meadow: אחו
+          bare_rock: סלע חשוף
+          sand: חול
           golf: מסלול גולף
           park: פארק
+          common: מרעה
+          built_up: שטח בנוי
           resident: אזור מגורים
-          common:
-          - מרעה
-          - מרעה
-          - גן
           retail: אזור קמעונאי
           industrial: אזור תעשייה
           commercial: אזור מסחרי
           heathland: שדה פרא
-          lake:
-          - אגם
-          - מאגר
+          scrubland: בתה
+          lake: אגם
+          reservoir: מאגר
+          intermittent_water: גוף מים תקופתי
+          glacier: קרחון יבשתי
+          reef: שונית
+          wetland: ביצה
           farm: חווה
           brownfield: אזור תעשייה נטוש
           cemetery: בית עלמין
           allotments: שטחים חקלאיים
           pitch: מגרש ספורט
           centre: מרכז ספורט
+          beach: חוף
           reserve: שמורת טבע
           military: שטח צבאי
-          school:
-          - בית ספר
-          - אוניברסיטה
+          school: בית ספר
+          university: אוניברסיטה
+          hospital: בית חולים
           building: בניין בעל חשיבות
           station: תחנת רכבת
-          summit:
-          - פסגה
-          - פסגה
+          summit: פסגה
+          peak: פסגה
           tunnel: קו מקווקו = מנהרה
           bridge: קו שחור = גשר
           private: גישה פרטית
           destination: גישה ליעד
           construction: דרכים בבנייה
+          bus_stop: תחנת אוטובוס
+          stop: עצירה
           bicycle_shop: חנות אופניים
+          bicycle_rental: השכרת אופניים
           bicycle_parking: חניית אופניים
+          bicycle_parking_small: חניית אופניים קטנה
           toilets: שירותים
     welcome:
       title: ברוך בואך!
@@ -2415,10 +2436,10 @@ he:
           הוא מכיל מיליוני מבנים, דרכים ופרטים אחרים על מקומות. אפשר למפות כל ישות
           מהעולם האמיתי שמעניינת אותך.
         real_and_current: אמיתיים ונוכחיים
-        off_the_map_html: ×\9e×\94 ×©%{doesnt} ×¤×\94 ×\96×\94 מידע דעתני כמו דירוגים, מקומות היסטוריים
+        off_the_map_html: ×\9e×\94 ×©%{doesnt} ×¤×\94 ×\94×\95×\90 מידע דעתני כמו דירוגים, מקומות היסטוריים
           או היפותטיים ונתונים ומקורות שמוגבלים בזכויות יוצרים. אנו דורשים ממך לא
           להוסיף מידע ממפות מקוונות או מודפסות אלא אם יש לך אישור מיוחד לכך.
-        doesnt: ×\90×\99× ×\95
+        doesnt: ×\9c×\90 × ×\9eצ×\90
       basic_terms:
         title: מונחים בסיסיים למיפוי
         paragraph_1: למיזם OpenStreetMap יש עגה משלו. הינה כמה מילות מפתח שיהיו שימושיות.
@@ -2554,7 +2575,7 @@ he:
       upload_trace: העלאת מסלול
       all_traces: כל המסלולים
       my_traces: המסלולים שלי
-      traces_from: מסלולים ציבוריים מ-%{user}
+      traces_from: מסלולים ציבוריים מאת %{user}
       remove_tag_filter: הסרת סינון לפי תג
     destroy:
       scheduled_for_deletion: מסלול מיועד למחיקה
@@ -2590,6 +2611,7 @@ he:
       oauth1_settings: הגדרות OAuth 1
       oauth2_applications: יישומי OAuth 2
       oauth2_authorizations: אישורי OAuth 2
+      muted_users: משתמשים מושתקים
   oauth:
     authorize:
       title: אישור הגישה לחשבון שלך
@@ -2626,6 +2648,7 @@ he:
       read_gpx: לקרוא את מסלולי ה־GPS הפרטיים שלך
       write_gpx: להעלות מסלולי GPS
       write_notes: לשנות הערות
+      write_redactions: שינוי נתוני המפה
       read_email: לקרוא את כתובת הדוא"ל של המשתמש
       skip_authorization: לאשר את היישום אוטומטית
   oauth_clients:
@@ -2730,7 +2753,7 @@ he:
       display name description: שם המשתמש שלך, שמוצג בפומבי. אפשר לשנות את זה בהעדפות
         שלך.
       external auth: 'אימות עם צד שלישי:'
-      use external auth: '×\9c×\97×\9c×\95פ×\99×\9f, ×\94שת×\9eש×\95 ×\91צד שלישי כדי להיכנס:'
+      use external auth: '×\9c×\97×\9c×\95פ×\99×\9f, ×\90פשר ×\9c×\94שת×\9eש ×\91×\92×\95ר×\9e×\99 צד שלישי כדי להיכנס:'
       auth no password: עם אימות צד שלישי אין צורך בסיסמה, אבל כלים נוספים או שרת
         יכולים להזדקק לכזה.
       continue: הרשמה
@@ -2738,15 +2761,16 @@ he:
       email_confirmation_help_html: הכתובת שלך אינה מוצגת בפומבי, ר' את %{privacy_policy_link}
         שלנו למידע נוסף.
       privacy_policy: מדיניות הפרטיות
-      privacy_policy_title: מדיניות הפרטיות של OSMF כולל סעיף על כתובות דוא"ל
+      privacy_policy_title: מדיניות הפרטיות של OSMF כוללת סעיף על כתובות דוא״ל
     terms:
       title: תנאים
       heading: תנאים
       heading_ct: תנאי התנדבות
       read and accept with tou: נא לקרוא את הסכם המתנדבים ואת תנאי השימוש, יש לסמן
         את שתי התיבות עם הסיום ואז ללחוץ על כפתור ההמשך.
-      contributor_terms_explain: הסכם זה מאגד את תנאי התרומות הקיימות והעתידיות שלך.
-      read_ct: קראתי את תנאי התורמים לעיל ואני מסכימ/ה לתנאים אלו
+      contributor_terms_explain: ההסכם הזה מגדיר את התנאים של התרומות הקיימות והעתידיות
+        שלך.
+      read_ct: קראתי את תנאי התורמים לעיל והסכמתי איתם
       tou_explain_html: '%{tou_link} האלה מאגדים את תנאי השימוש באתר ובתשתית נוספת
         שמסופקת על־ידי ה־OSMF. נא ללחוץ על הקישור, לקרוא ולהסכים לטקסט.'
       read_tou: קראתי את תנאי השימוש ואני מסכימ/ה לתנאים אלו
@@ -2790,6 +2814,8 @@ he:
       my_dashboard: לוח הבקרה שלי
       blocks on me: מתי חסמו אותי
       blocks by me: מתי חסמתי
+      create_mute: השתקת המשתמש הזה
+      destroy_mute: ביטול השתקת המשתמש הזה
       edit_profile: עריכת פרופיל
       send message: שליחת הודעה
       diary: יומן
@@ -2808,28 +2834,29 @@ he:
       status: 'מצב:'
       spam score: 'דירוג זיבול:'
       role:
-        administrator: ×\9c×\97ש×\91×\95×\9f ×\94×\96×\94 ×\99ש ×\94רש×\90×\95ת ×\9eפע×\99ל
-        moderator: ×\96×\94×\95 ×\97ש×\91×\95×\9f ×\9e× ×\94×\9c
-        importer: ×\94×\9eשת×\9eש ×\94×\96×\94 ×\94×\95×\90 מייבא
+        administrator: ×\9c×\97ש×\91×\95×\9f ×\94×\96×\94 ×\99ש ×\94רש×\90×\95ת ×\9e× ×\94ל
+        moderator: ×\96×\94×\95 ×\97ש×\91×\95×\9f ×\9eפק×\97
+        importer: ×\96×\94×\95 ×\97ש×\91×\95×\9f מייבא
         grant:
-          administrator: ×\94ענקת ×\94רש×\90×\95ת ×\9eפע×\99ל
-          moderator: ×\94ענקת ×\94רש×\90×\95ת ×\9e× ×\94×\9c
-          importer: ×\94ענקת ×\92×\99שת מייבא
+          administrator: ×\94ענקת ×\94רש×\90×\95ת ×\9e× ×\94ל
+          moderator: ×\94ענקת ×\94רש×\90×\95ת ×\9eפק×\97
+          importer: ×\94ענקת ×\94רש×\90×\95ת מייבא
         revoke:
-          administrator: ×©×\9c×\99×\9cת ×\94רש×\90×\95ת ×\9eפע×\99ל
-          moderator: ×©×\9c×\99×\9cת ×\94רש×\90×\95ת ×\9e× ×\94×\9c
-          importer: ×©×\9c×\99×\9cת ×\92×\99שת מייבא
+          administrator: ×©×\9c×\99×\9cת ×\94רש×\90×\95ת ×\9e× ×\94ל
+          moderator: ×©×\9c×\99×\9cת ×\94רש×\90×\95ת ×\9eפק×\97
+          importer: ×©×\9c×\99×\9cת ×\94רש×\90×\95ת מייבא
       block_history: חסימות פעילות
       moderator_history: חסימות שניתנו
+      revoke_all_blocks: ביטול כל החסימות
       comments: הערות
-      create_block: ×\97ס×\99×\9eת ×\9eשת×\9eש זה
-      activate_user: ×\94פע×\9cת ×\9eשת×\9eש זה
-      confirm_user: ×\90×\99ש×\95ר ×\9eשת×\9eש זה
+      create_block: ×\97ס×\99×\9eת ×\94×\9eשת×\9eש ×\94זה
+      activate_user: ×\94פע×\9cת ×\94×\9eשת×\9eש ×\94זה
+      confirm_user: ×\90×\99ש×\95ר ×\94×\9eשת×\9eש ×\94זה
       unconfirm_user: ביטול אישור המשתמש הזה
       unsuspend_user: ביטול השעיית המשתמש הזה
-      hide_user: ×\94סתרת ×\9eשת×\9eש זה
-      unhide_user: ×\91×\99×\98×\95×\9c ×\94סתרת ×\9eשת×\9eש זה
-      delete_user: ×\9e×\97×\99קת ×\9eשת×\9eש זה
+      hide_user: ×\94סתרת ×\94×\9eשת×\9eש ×\94זה
+      unhide_user: ×\91×\99×\98×\95×\9c ×\94סתרת ×\94×\9eשת×\9eש ×\94זה
+      delete_user: ×\9e×\97×\99קת ×\94×\9eשת×\9eש ×\94זה
       confirm: אישור
       report: דיווח על המשתמש
     go_public:
@@ -2870,7 +2897,7 @@ he:
       not_a_role: המחרוזת „%{role}” אינה תפקיד תקין.
       already_has_role: למשתמש כבר יש תפקיד %{role}.
       doesnt_have_role: למשתמש אין תפקיד %{role}.
-      not_revoke_admin_current_user: ×\9c×\90 × ×\99ת×\9f ×\9cש×\9c×\95×\9c ×\94רש×\90×\95ת ×\9eפע×\99ל מהמשתמש הנוכחי.
+      not_revoke_admin_current_user: ×\9c×\90 × ×\99ת×\9f ×\9cש×\9c×\95×\9c ×\94רש×\90×\95ת ×\9e× ×\94ל מהמשתמש הנוכחי.
     grant:
       title: לאשר הענקת תפקיד
       heading: לאשר הענקת תפקיד
@@ -2887,8 +2914,8 @@ he:
         תקינים.
   user_blocks:
     model:
-      non_moderator_update: ×¦×¨×\99×\9a ×\9c×\94×\99×\95ת ×\9e× ×\94×\9c כדי ליצור או לעדכן חסימה.
-      non_moderator_revoke: ×¦×¨×\99×\9a ×\9c×\94×\99×\95ת ×\9e× ×\94×\9c כדי לבטל חסימה.
+      non_moderator_update: ×¦×¨×\99×\9a ×\9c×\94×\99×\95ת ×\9eפק×\97 כדי ליצור או לעדכן חסימה.
+      non_moderator_revoke: ×¦×¨×\99×\9a ×\9c×\94×\99×\95ת ×\9eפק×\97 כדי לבטל חסימה.
     not_found:
       sorry: סליחה, החסימה עם המזהה %{id} לא נמצאה.
       back: חזרה למפתח
@@ -2909,7 +2936,7 @@ he:
     create:
       flash: נוצרה חסימה על חשבון %{name}
     update:
-      only_creator_can_edit: ×¨×§ ×\94×\9e× ×\94×\9c שיצר את החסימה הזאת יכול לערוך אותה.
+      only_creator_can_edit: ×¨×§ ×\94×\9eפק×\97 שיצר את החסימה הזאת יכול לערוך אותה.
       success: החסימה עודכנה.
     index:
       title: חסימות משתמש
@@ -2923,6 +2950,18 @@ he:
       confirm: האם ברצונך לבטל את החסימה הזאת?
       revoke: לבטל!
       flash: החסימה הזאת בוטלה.
+    revoke_all:
+      title: הסרת כל החסימות של %{block_on}
+      heading_html: הסרת כל החסימות של %{block_on}
+      empty: אין חסימות של %{name}.
+      confirm: האם ברצונך להסיר %{active_blocks}?
+      active_blocks:
+        one: חסימה פעילה
+        two: שתי חסימות פעילות
+        many: '%{count} חסימות פעילות'
+        other: '%{count} חסימות פעילות'
+      revoke: להסיר!
+      flash: כל החסימות הפעילות הוסרו.
     helper:
       time_future_html: תסתיים בעוד %{time}
       until_login: פעילה עד שהמשתמש ייכנס לחשבון.
@@ -2990,6 +3029,32 @@ he:
       showing_page: הדף %{page}
       next: הבא »
       previous: « הקודם
+  user_mutes:
+    index:
+      title: משתמשים מושתקים
+      my_muted_users: המשתמשים המושתקים שלי
+      you_have_muted_n_users:
+        one: השתקת משתמש אחד
+        two: השתקת שני משתמשים
+        many: השתקת %{count} משתמשים
+        other: השתקת %{count} משתמשים
+      user_mute_explainer: הודעות של משתמשים מושתקים מועברות לתיבת דואר נפרדת ולא
+        תישלחנה אליך התראות בדוא״ל.
+      user_mute_admins_and_moderators: אפשר להשתיק מנהלים ומפקחים אבל ההודעות שלהם
+        לא יושתקו.
+      table:
+        thead:
+          muted_user: משתמש מושתק
+          actions: פעולות
+        tbody:
+          unmute: ביטול השתקה
+          send_message: שליחת הודעה
+    create:
+      notice: השתקת את %{name}.
+      error: לא היה אפשר להשתיק את %{name}.‏ %{full_message}
+    destroy:
+      notice: ביטלת את ההשתקה של %{name}.
+      error: לא היה אפשר לבטל את השתקת המשתמש. נא לנסות שוב.
   notes:
     index:
       title: הערות ותגובות של %{user}
@@ -3026,6 +3091,7 @@ he:
       reactivate: הפעלה מחדש
       comment_and_resolve: להגיב ולפתור
       comment: להגיב
+      log_in_to_comment: יש להיכנס כדי להגיב על ההערה הזאת
       report_link_html: אם ההערה הזאת מכילה מידע רגיש שיש להסיר, אפשר %{link}.
       other_problems_resolve: עבור כל שאר הבעיות עם ההערה, נא לפתור אותה בעצמך באמצעות
         הערה.
@@ -3113,10 +3179,10 @@ he:
       edit_disabled_tooltip: להתקרב כדי לערוך את המפה
       createnote_tooltip: הוספת הערה למפה
       createnote_disabled_tooltip: נא להתקרב כדי להוסיף הערה למפה
-      map_notes_zoom_in_tooltip: ×\94תקר×\91×\95ת כדי לראות הערות על המפה
-      map_data_zoom_in_tooltip: ×\99ש ×\9cקר×\91 ×\90ת ×\94×\9eפ×\94 כדי לראות נתוני מפה
+      map_notes_zoom_in_tooltip: ×\99ש ×\9c×\94תקר×\91 כדי לראות הערות על המפה
+      map_data_zoom_in_tooltip: ×\99ש ×\9c×\94תקר×\91 כדי לראות נתוני מפה
       queryfeature_tooltip: שאילתת ישויות
-      queryfeature_disabled_tooltip: ×ª×§×¨×\99ב כדי להריץ שאילתת ישויות
+      queryfeature_disabled_tooltip: ×\99ש ×\9c×\94תקרב כדי להריץ שאילתת ישויות
       embed_html_disabled: הטבעת HTML אינה זמינה בשכבת המפה הזאת
     changesets:
       show:
index b9ade646979523abb22ba43f2e5d78d29a48399c..3d457f3ce88559bc08ffee9f8dc8c8f22da0c995 100644 (file)
@@ -930,10 +930,10 @@ hi:
     destroy:
       destroyed: संदेश खात्मा
   passwords:
-    lost_password:
+    new:
       title: lost password
       new password button: Send me a new password
-    reset_password:
+    edit:
       title: reset password
   profiles:
     edit:
@@ -954,9 +954,7 @@ hi:
         contributors_title_html: हमारे योगदानकर्ता
         contributors_rs_serbia: सर्बिया
     export:
-      area_to_export: क्षेत्र निर्यात करने के लिए
       manually_select: कृपया, आप एक अलग क्षेत्र चुनिए
-      format_to_export: स्वरूप निर्यात करने के लिए
       licence: लाइसेंस
     fixthemap:
       how_to_help:
@@ -983,26 +981,27 @@ hi:
           footway: पगडंडी
           rail: रेलवे
           subway: उपमार्ग
-          cable:
-          - केबल कार
-          runway:
-          - एयरपोर्ट रनवे
+          bus: बस
+          cable_car: केबल कार
+          runway: एयरपोर्ट रनवे
           forest: वन
           wood: लकड़ी
+          grass: घास
+          sand: रेत
           golf: गोल्फ मैदान
           park: पार्क
           resident: रिहायशी क्षेत्र
           industrial: औद्योगिक क्षेत्र
-          lake:
-          - झील
+          lake: झील
           farm: खेत
           cemetery: कब्रिस्तान
           allotments: आवंटन
-          school:
-          - पाठशाला
-          - विश्वविद्यालय
+          school: पाठशाला
+          university: विश्वविद्यालय
+          hospital: अस्पताल
           building: महत्वपूर्ण भवन
           station: रेलवे स्टेशन
+          stop: रोकें
   traces:
     new:
       visibility_help: इसका क्या मतलब है?
index c497084f0e8d5f29a851742ffc712ad825663c4a..b6d934a7a96991d796c8ba98d088707afe3a1469 100644 (file)
@@ -1135,7 +1135,6 @@ hr:
   messages:
     inbox:
       title: Dolazna pošta
-      my_inbox: Dolazna pošta
       messages: Imate %{new_messages} i %{old_messages}
       new_messages:
         one: '%{count} nova poruka'
@@ -1143,12 +1142,14 @@ hr:
       old_messages:
         one: '%{count} stara poruka'
         other: '%{count} stare poruke'
-      from: Od
-      subject: Tema
-      date: Datum
       no_messages_yet_html: Još nemate poruka. Zašto nebi stupili u kontakt s nekim
         ljudima iz okolice %{people_mapping_nearby_link}?
       people_mapping_nearby: obližnji ljudi koji mapiraju
+    messages_table:
+      from: Od
+      to: Za
+      subject: Tema
+      date: Datum
     message_summary:
       unread_button: Označi kao nepročitano
       read_button: Označi kao pročitano
@@ -1171,9 +1172,6 @@ hr:
       messages:
         one: Imate %{count} poslanu poruku
         other: Imate %{count} poslane poruke
-      to: Za
-      subject: Tema
-      date: Datum
       no_sent_messages_html: Još niste poslali ni jednu poruku. Zašto ne biste stupili
         u kontakt s %{people_mapping_nearby_link}?
       people_mapping_nearby: obližnji ljudi koji mapiraju
@@ -1192,28 +1190,32 @@ hr:
         kao ispravan korisnik kako bi ste pročitali.'
     sent_message_summary:
       destroy_button: Obriši
+    heading:
+      my_inbox: Dolazna pošta
     mark:
       as_read: Poruka označena pročitanom
       as_unread: Poruka označena nepročitanom
     destroy:
       destroyed: Poruka obrisana
   passwords:
-    lost_password:
+    new:
       title: Izgubljena zaporka
       heading: Zaboravljena zaporka?
       email address: 'Email adresa:'
       new password button: Reset lozinke
       help_text: Unesite email adresu koju ste koristili za otvaranje računa i poslati
         ćemo vam poveznicu kojom možete resetirati zaporku.
+    create:
       notice email on way: Žao mi je što ste je izgubili :-( ali email je na putu
         tako da je možete resetirati uskoro.
       notice email cannot find: Ne mogu pronaći email adresu.
-    reset_password:
+    edit:
       title: Reset lozinke
       heading: Reset lozinke za %{user}
       reset: Reset lozinke
-      flash changed: Vaša lozinka je promjenjena.
       flash token bad: Nije pronađen takav token, provjeri URL?
+    update:
+      flash changed: Vaša lozinka je promjenjena.
   profiles:
     edit:
       image: 'Slika:'
@@ -1343,12 +1345,7 @@ hr:
         ovu mogućnost.
     export:
       title: Izvoz
-      area_to_export: Područje za izvoz
       manually_select: Ručno izaberi drukčije područje
-      format_to_export: Format za izvoz
-      osm_xml_data: OpenStreetMap XML podaci
-      map_image: Slika karte (prikazuje standardni sloj)
-      embeddable_html: HTML kod za umetanje
       licence: Dozvola
       too_large:
         advice: 'Ako gornji izvoz podataka ne uspije, molim pokušaj sa nekim od izvora
@@ -1370,17 +1367,6 @@ hr:
         other:
           title: Drugi izvori
           description: Dodatni izvori su navedeni na wiki stranici OpenStreetMap-a
-      options: Opcije
-      format: Format
-      scale: Mjerilo
-      max: max
-      image_size: Veličina slike
-      zoom: Približenje
-      add_marker: Dodaj marker na kartu
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Izlaz
-      paste_html: Zalijepi HTML za ugrađivanje na web stranicu
       export_button: Export
     help:
       welcome:
@@ -1423,34 +1409,24 @@ hr:
           footway: Pješačka staza
           rail: Željeznica
           subway: Podzemna željeznica
-          tram:
-          - Laka željeznica
-          - tramvaj
-          cable:
-          - Kabinska žičara
-          - sedežnica
-          runway:
-          - Aerodromska pista
-          - aerodromske ceste (za avione)
-          apron:
-          - Parking za avione (apron)
-          - terminal
+          cable_car: Kabinska žičara
+          chair_lift: sedežnica
+          runway: Aerodromska pista
+          taxiway: aerodromske ceste (za avione)
+          apron: Parking za avione (apron)
           admin: Administrativna granica
           forest: Šuma (održavane, od šumarije)
           wood: Šume (prirodne, neodržavane)
           golf: Golf teren
           park: Park
+          common: Travnjaci
           resident: Stambeno područje
-          common:
-          - Travnjaci
-          - livade
           retail: Maloprodajno područje
           industrial: Industrijsko područje
           commercial: Poslovno područje
           heathland: Gustiš, makija, grmlje
-          lake:
-          - Jezero
-          - rezervoar
+          lake: Jezero
+          reservoir: rezervoar
           farm: Polja, farme, njive
           brownfield: Gradilište
           cemetery: Groblje
@@ -1459,14 +1435,12 @@ hr:
           centre: Sportski  centar
           reserve: Rezervat prirode
           military: Vojno područje
-          school:
-          - Škola
-          - Sveučilište
+          school: Škola
+          university: Sveučilište
           building: Zgrada
           station: Željeznički kolodvor
-          summit:
-          - Vrh
-          - vrhunac
+          summit: Vrh
+          peak: vrhunac
           tunnel: Iscrtkani rubovi = tunel
           bridge: Crni rubovi = most
           private: Privatni pristup
index caa9f52768c988c3cc57f2478e08e3d24f772215..14887dc76e8eadb8f0fda5e5d68fde03a909e853 100644 (file)
@@ -1363,9 +1363,9 @@ hsb:
         zero: Žane rozprawy
         one: Jedna rozprawa
         other: '%{count} rozprawje'
-      report_created_at: Prěni raz rozprawjene dnja %{datetime}
-      last_resolved_at: Posledni raz rozrisany dnja %{datetime}
-      last_updated_at: Posledni raz aktualizowany dnja %{datetime} wot %{displayname}
+      report_created_at_html: Prěni raz rozprawjene dnja %{datetime}
+      last_resolved_at_html: Posledni raz rozrisany dnja %{datetime}
+      last_updated_at_html: Posledni raz aktualizowany dnja %{datetime} wot %{displayname}
       resolve: Rozrisać
       ignore: Ignorować
       reopen: Zaso wočinić
@@ -1635,8 +1635,6 @@ hsb:
   messages:
     inbox:
       title: Póštowy kašćik
-      my_inbox: Moja póšta
-      my_outbox: Mój póstowy wuchad
       messages: Maš %{new_messages} a %{old_messages}
       new_messages:
         few: '%{count} nowe powěsće'
@@ -1648,12 +1646,14 @@ hsb:
         one: '%{count} staru powěsć'
         two: '%{count} starej powěsći'
         other: '%{count} starych powěsćow'
-      from: Wot
-      subject: Tema
-      date: Datum
       no_messages_yet_html: Hišće nimaš powěsće. Chceš z %{people_mapping_nearby_link}
         styki nawjazać?
       people_mapping_nearby: ludźimi, kotřiž w bliskosći kartěruja
+    messages_table:
+      from: Wot
+      to: Komu
+      subject: Tema
+      date: Datum
     message_summary:
       unread_button: Jako njepřečitanu markěrować
       read_button: Jako přečitanu markěrować
@@ -1673,16 +1673,11 @@ hsb:
       body: Bohužel njeje powěsć z tutej ID.
     outbox:
       title: Pósłane
-      my_inbox: Mój póstowy dochad
-      my_outbox: Mój póstowy wuchad
       messages:
         few: Sy %{count} powěsće pósłał(a)
         one: Sy %{count} powěsć pósłał(a)
         two: Sy %{count} powěsći pósłał(a)
         other: Sy  %{count} powěsćow pósłał(a)
-      to: Komu
-      subject: Tema
-      date: Datum
       no_sent_messages_html: Hišće njejsy žane powěsće pósłał(a). Chceš z %{people_mapping_nearby_link}
         styki nawjazać?
       people_mapping_nearby: ludźimi, kotřiž w bliskosći kartěruja
@@ -1699,28 +1694,33 @@ hsb:
         na druheho wužiwarja pósłana. Prošu přizjew so z prawym kontom, zo by ju čitał(a).
     sent_message_summary:
       destroy_button: Wotstronić
+    heading:
+      my_inbox: Moja póšta
+      my_outbox: Mój póstowy wuchad
     mark:
       as_read: Powěsć jako přečitanu markěrowana
       as_unread: Powěsć jako njepřečitanu markěrowana
     destroy:
       destroyed: Powěsć wotstronjena
   passwords:
-    lost_password:
+    new:
       title: Hesło zabyte
       heading: Sy hesło zabył?
       email address: 'E-mejlowa adresa:'
       new password button: Hesło wróćo stajić
       help_text: Zapódaj mejlowu adresu, kotruž sy za registrowanje wužił, pósćelemy
         wotkaz na nju, kotryž móžeš za wróćostajenje hesła wužić.
+    create:
       notice email on way: Sy jo zabył :-(, ale e-mejl je po puću, zo by móhł jo borze
         wróćo stajić.
       notice email cannot find: Wodaj, ale njemóžachmy tutu e-mejlowu adresu namakać.
-    reset_password:
+    edit:
       title: Hesło wróćo stajić
       heading: Hesło za wužiwarja %{user} wróćo stajić
       reset: Hesło wróćo stajić
-      flash changed: Twoje hesło je so změniło.
       flash token bad: Njemóžachmy tutón kod namakać, prošu přepruwuj URL.
+    update:
+      flash changed: Twoje hesło je so změniło.
   preferences:
     show:
       title: Moje nastajenja
@@ -1889,12 +1889,7 @@ hsb:
         tutu funkciju trěbne.
     export:
       title: Eksportować
-      area_to_export: Wobłuk za eksport
       manually_select: Druhi wobłuk manuelnje wubrać
-      format_to_export: Format za eksport
-      osm_xml_data: OpenStreetMap XML-daty
-      map_image: Kartowy wobraz (pokazuje standardnu runinu)
-      embeddable_html: Zasadźujomny HTML
       licence: Licenca
       too_large:
         advice: 'Jeli horni eksport so njeradźi, prošu wuwaž, hač wužiwaš jednu ze
@@ -1917,17 +1912,6 @@ hsb:
         other:
           title: Druhe žórła
           description: Přidatne žórła nalistowane na wikiju OpenStreetMap
-      options: Opcije
-      format: 'Format:'
-      scale: Měritko
-      max: maks.
-      image_size: 'Wobrazowa wulkosć:'
-      zoom: Skalowanje
-      add_marker: Marku karće přidać
-      latitude: 'Šěrokostnik:'
-      longitude: 'Dołhostnik:'
-      output: Wudaće
-      paste_html: HTML-kod kopěrować, zo by so do websydła zasunył
       export_button: Eksport
     fixthemap:
       title: Problem zdźělić / Kartu poprawić
@@ -2007,34 +1991,24 @@ hsb:
           footway: Chódnik
           rail: Železnica
           subway: Podzemska železnica
-          tram:
-          - Měšćanska železnica
-          - nadróžna
-          cable:
-          - Kablowa nadróžna
-          - sydłowy lift
-          runway:
-          - Přizemišćo
-          - lětadłowa jězdnja
-          apron:
-          - Lětanišćowe předpolo
-          - terminal
+          cable_car: Kablowa nadróžna
+          chair_lift: sydłowy lift
+          runway: Přizemišćo
+          taxiway: lětadłowa jězdnja
+          apron: Lětanišćowe předpolo
           admin: Zarjadniska hranica
           forest: Hajina
           wood: Lěs
           golf: Golfownišćo
           park: Park
+          common: Powšitkowny
           resident: Bydlenski wobwod
-          common:
-          - Powšitkowny
-          - łuka
           retail: Nakupowanišćo
           industrial: Industrijowa kónčina
           commercial: Přemysłowa kónčina
           heathland: Hola
-          lake:
-          - Jězor
-          - spjaty jězor
+          lake: Jězor
+          reservoir: spjaty jězor
           farm: Farma
           brownfield: Industrijowe lado
           cemetery: Kěrchow
@@ -2043,14 +2017,12 @@ hsb:
           centre: Sportowy centrum
           reserve: Přirodoškitne pasmo
           military: Wojerske pasmo
-          school:
-          - Šula
-          - uniwersita
+          school: Šula
+          university: uniwersita
           building: Wuznamne twarjenje
           station: Dwórnišćo
-          summit:
-          - Wjeršk
-          - kónčk hory
+          summit: Wjeršk
+          peak: kónčk hory
           tunnel: Smužkowana kroma = tunl
           bridge: Čorna kroma = móst
           private: Priwatny přistup
index c87f3904f0fef872e4d8d78c00fbc2097e8eb9c7..1aa9661f5a0d1212eb2ededd90df398111b2ee86 100644 (file)
@@ -73,6 +73,9 @@ hu:
       messages:
         invalid_email_address: nem tűnik érvényes e-mail-címnek
         email_address_not_routable: nem irányítható
+      models:
+        user_mute:
+          is_already_muted: már el van némítva
     models:
       acl: Hozzáférés-szabályzási lista
       changeset: Módosításcsomag
@@ -1468,9 +1471,9 @@ hu:
         one: '%{count} bejelentés'
         other: '%{count} bejelentés'
       no_reports: Nincs bejelentés
-      report_created_at: Először bejelentve %{datetime} időpontban
-      last_resolved_at: Utoljára megoldva %{datetime} időpontban
-      last_updated_at: Utoljára frissítve %{displayname} által %{datetime} időpontban
+      report_created_at_html: Először bejelentve %{datetime} időpontban
+      last_resolved_at_html: Utoljára megoldva %{datetime} időpontban
+      last_updated_at_html: Utoljára frissítve %{displayname} által %{datetime} időpontban
       resolve: Megoldás
       ignore: Figyelmen kívül hagyás
       reopen: Újramegnyitás
@@ -1746,8 +1749,6 @@ hu:
   messages:
     inbox:
       title: Beérkezett üzenetek
-      my_inbox: Beérkezett üzenetek
-      my_outbox: Elküldött üzenetek
       messages: '%{new_messages} és %{old_messages} van'
       new_messages:
         one: 1 új üzeneted
@@ -1755,17 +1756,21 @@ hu:
       old_messages:
         one: 1 régi üzeneted
         other: '%{count} régi üzeneted'
-      from: Feladó
-      subject: Tárgy
-      date: Érkezett
       no_messages_yet_html: Nincs még üzeneted. Miért nem veszed fel a kapcsolatot
         néhány %{people_mapping_nearby_link}vel?
       people_mapping_nearby: közeli térképszerkesztő
+    messages_table:
+      from: Feladó
+      to: Címzett
+      subject: Tárgy
+      date: Érkezett
+      actions: Műveletek
     message_summary:
       unread_button: Jelölés olvasatlanként
       read_button: Jelölés olvasottként
       reply_button: Válasz
       destroy_button: Törlés
+      unmute_button: Áthelyezés a Beérkezett üzenetek mappába
     new:
       title: Üzenet küldése
       send_message_to_html: 'Új üzenet küldése neki: %{name}'
@@ -1780,17 +1785,15 @@ hu:
       body: Sajnáljuk, nincs ilyen azonosítójú üzenet.
     outbox:
       title: Elküldött üzenetek
-      my_inbox: Beérkezett üzenetek
-      my_outbox: Elküldött üzenetek
+      actions: Műveletek
       messages:
         one: Egy elküldött üzeneted van
         other: '%{count} elküldött üzeneted van'
-      to: Címzett
-      subject: Tárgy
-      date: Elküldve
       no_sent_messages_html: Nincs még elküldött üzeneted. Miért nem veszed fel a
         kapcsolatot néhány %{people_mapping_nearby_link}vel?
       people_mapping_nearby: közeli térképszerkesztő
+    muted:
+      title: Elnémított üzenetek
     reply:
       wrong_user: „%{user}” néven jelentkeztél be, de azt az üzenetet, amelyre válaszolni
         szeretnél, nem ez a felhasználó kapta. A válaszadáshoz jelentkezz be a helyes
@@ -1806,28 +1809,36 @@ hu:
         be a helyes felhasználónévvel.
     sent_message_summary:
       destroy_button: Törlés
+    heading:
+      my_inbox: Beérkezett üzenetek
+      my_outbox: Elküldött üzenetek
+      muted_messages: Elnémított üzenetek
     mark:
       as_read: Üzenet megjelölve olvasottként
       as_unread: Üzenet megjelölve olvasatlanként
+    unmute:
+      notice: Az üzenet átkerült a Beérkezett üzenetek mappába
     destroy:
       destroyed: Üzenet törölve
   passwords:
-    lost_password:
+    new:
       title: Elvesztett jelszó
       heading: Elfelejtetted jelszavad?
       email address: 'E-mail-cím:'
       new password button: Jelszó alaphelyzetbe állítása
       help_text: Add meg az e-mail-címed, amellyel regisztráltál. Küldeni fogunk egy
         hivatkozást, amellyel visszaállíthatod a jelszavad.
+    create:
       notice email on way: Sajnáljuk, hogy elvesztetted :-( de már úton van egy e-mail,
         így nemsokára alaphelyzetbe állíthatod.
       notice email cannot find: Sajnáljuk, az e-mail-cím nem található.
-    reset_password:
+    edit:
       title: Jelszó alaphelyzetbe állítása
       heading: '%{user} jelszavának alaphelyzetbe állítása'
       reset: Jelszó alaphelyzetbe állítása
-      flash changed: Jelszavad megváltozott.
       flash token bad: Nem találtad meg a tokent? Esetleg ellenőrizd az URL-t.
+    update:
+      flash changed: Jelszavad megváltozott.
   preferences:
     show:
       title: Megjelenési beállítások
@@ -1862,6 +1873,7 @@ hu:
       no home location: Nem adtad meg az otthonod helyét.
       update home location on click: Frissüljön-e az otthonom helye, amikor a térképre
         kattintok?
+      show: Megjelenítés
       delete: Törlés
       undelete: Törlés visszavonása
     update:
@@ -2062,9 +2074,17 @@ hu:
         contributors_au_australia: Ausztrália
         contributors_au_geoscape_australia: Geoscape Australia
         contributors_ca_canada: Kanada
+        contributors_cz_czechia: Csehország
+        contributors_fi_finland: Finnország
+        contributors_fr_france: Franciaország
+        contributors_nl_netherlands: Hollandia
+        contributors_nz_new_zealand: Új-Zéland
+        contributors_rs_serbia: Szerbia
         contributors_si_slovenia: Szlovénia
+        contributors_si_mkgp: Mezőgazdasági, Erdészeti és Élelmiszerügyi Minisztérium
         contributors_es_spain: Spanyolország
         contributors_es_cc_by: CC BY 4.0
+        contributors_za_south_africa: Dél-Afrika
         contributors_gb_united_kingdom: Egyesült Királyság
         contributors_footer_2_html: Az adatok befoglalása az OpenStreetMapbe nem jelenti
           azt, hogy az eredeti adatszolgáltató támogatja az OpenStreetMapet, garanciát
@@ -2074,6 +2094,7 @@ hu:
           ne adjanak hozzá adatokat egyetlen szerzői jogvédett forrásból se (pl. Google
           Térkép vagy nyomtatott térképek) a szerzői jog tulajdonosának kifejezett
           engedélye nélkül.
+        trademarks_title: Védjegyek
     index:
       js_1: Vagy egy olyan böngészőt használsz, amely nem támogatja a JavaScriptet,
         vagy letiltottad a JavaScriptet.
@@ -2096,12 +2117,7 @@ hu:
         funkcióhoz szükséges.
     export:
       title: Exportálás
-      area_to_export: Exportálandó terület
       manually_select: Más terület kézi kijelölése
-      format_to_export: Exportálás formátuma
-      osm_xml_data: OpenStreetMap XML adatok
-      map_image: Térkép képe (az alapréteget jeleníti meg)
-      embeddable_html: Beágyazható HTML
       licence: Licenc
       licence_details_html: Az OpenStreetMap adatokra az %{odbl_link} (ODbL) licenc
         vonatkozik.
@@ -2126,17 +2142,6 @@ hu:
         other:
           title: Más források
           description: További források az OpenStreetMap wiki oldalán találhatók
-      options: Beállítások
-      format: 'Formátum:'
-      scale: Méretarány
-      max: max.
-      image_size: Képméret
-      zoom: Nagyítási szint
-      add_marker: Jelölő hozzáadása a térképhez
-      latitude: 'Földrajzi szélesség:'
-      longitude: 'Földrajzi hosszúság:'
-      output: Kimenet
-      paste_html: Webhelyekbe való beágyazáshoz illeszd be a HTML kódot
       export_button: Exportálás
     fixthemap:
       title: Probléma bejelentése / Térkép javítása
@@ -2149,6 +2154,7 @@ hu:
             és kijavítod az adatot saját magad.
       other_concerns:
         title: Egyéb aggályok
+        copyright: szerzői jogi oldal
     help:
       title: Segítségkérés
       introduction: Az OpenStreetMap számos anyagot kínál fel ahhoz, hogy ismerkedj
@@ -2191,6 +2197,7 @@ hu:
     potlatch:
       removed: Az alapértelmezett szerkesztőd a Potlatch. Mivel az Adobe Flash Playert
         visszavonták, a Potlatch webböngészőben már nem futtatható.
+      change_preferences: Itt módosíthatja beállításait
     any_questions:
       title: Kérdésed van?
       paragraph_1_html: |-
@@ -2221,67 +2228,83 @@ hu:
           primary: Főút
           secondary: Összekötő út
           unclassified: Egyéb út
+          pedestrian: Sétálóutca
           track: Mezőgazdasági/erdészeti út
           bridleway: Lovaglóút
           cycleway: Kerékpárút
           cycleway_national: Országos kerékpárút
           cycleway_regional: Regionális kerékpárút
           cycleway_local: Helyi kerékpárút
+          cycleway_mtb: Hegyikerékpáros útvonal
           footway: Gyalogút
           rail: Vasút
+          train: Vonat
           subway: Metró
-          tram:
-          - HÉV
-          - villamos
-          cable:
-          - Nagykabinos felvonó
-          - függőszékes felvonó
-          runway:
-          - Kifutópálya
-          - gurulóút
-          apron:
-          - Forgalmi előtér
-          - utasterminál
+          ferry: Komp
+          light_rail: HÉV
+          tram: Villamos
+          trolleybus: Trolibusz
+          bus: Busz
+          cable_car: Nagykabinos felvonó
+          chair_lift: Ülőlift
+          runway: Kifutópálya
+          taxiway: Gurulóút
+          apron: Forgalmi előtér
           admin: Közigazgatási határ
+          capital: Főváros
+          city: Nagyváros
+          orchard: Gyümölcsös
+          vineyard: Szőlő
           forest: Erdő
-          wood: Erdő
+          wood: Természetes erdő
+          farmland: Mezőgazdasági terület
+          grass: Fű
+          meadow: Rét
+          bare_rock: Csupasz szikla
+          sand: Homok
           golf: Golfpálya
           park: Park
+          common: Füves terület
+          built_up: Beépített terület
           resident: Gyalogos övezet
-          common:
-          - Füves terület
-          - rét
-          - kert
           retail: Kereskedelmi terület
           industrial: Ipari terület
           commercial: Kereskedelmi terület
           heathland: Fenyér
-          lake:
-          - Tó
-          - víztározó
+          scrubland: Bozót
+          lake: Tó
+          reservoir: Víztározó
+          intermittent_water: Időszakos víztest
+          glacier: Gleccser
+          reef: Zátony
+          wetland: Vizenyős terület
           farm: Tanya
           brownfield: Bontási terület
           cemetery: Temető
           allotments: Kiskertek
           pitch: Sportpálya
           centre: Sportközpont
+          beach: Természetes strand
           reserve: Természetvédelmi terület
           military: Katonai terület
-          school:
-          - Iskola
-          - egyetem
+          school: Iskola; egyetem
+          university: Egyetem
+          hospital: Kórház
           building: Fontosabb épület
           station: Vasútállomás
-          summit:
-          - Hegycsúcs
-          - magaslat
+          summit: Hegycsúcs
+          peak: Hegycsúcs
           tunnel: Szaggatott szegély = alagút
           bridge: Fekete szegély = híd
           private: Behajtás csak engedéllyel
           destination: Csak célforgalom
           construction: Épülő utak
+          bus_stop: Buszmegálló
+          stop: Megálló
           bicycle_shop: Kerékpárbolt
+          bicycle_rental: Kerékpárkölcsönzés
           bicycle_parking: Kerékpártároló
+          bicycle_parking_small: Kis kerékpártároló
           toilets: WC
     welcome:
       title: Üdvözlünk!
@@ -2323,6 +2346,7 @@ hu:
         imports: Importálások
         automated_edits: automatizált szerkesztések
       start_mapping: Térképezés indítása
+      continue_authorization: Engedélyezés folytatása
       add_a_note:
         title: Nincs időd szerkeszteni? Küldj be jegyzetet!
         para_1: Ha valami apróságot szeretnél kijavíttatni és nincs időd regisztrálni
@@ -2350,6 +2374,7 @@ hu:
         list_text: 'A következő közösségek hivatalosan is Helyi Csoportként működnek:'
       other_groups:
         title: Más csoportok
+        communities_wiki: Közösségek wikioldala
   traces:
     visibility:
       private: Magán (megosztva csak névtelenül, rendezetlen pontok)
@@ -2471,6 +2496,7 @@ hu:
       oauth1_settings: OAuth 1 beállítások
       oauth2_applications: OAuth 2 alkalmazások
       oauth2_authorizations: OAuth 2 engedélyek
+      muted_users: Elnémított felhasználók
   oauth:
     authorize:
       title: A fiókodhoz való hozzáférés engedélyezése
@@ -2669,6 +2695,8 @@ hu:
       my_dashboard: Irányítópult
       blocks on me: Engem sújtó blokkolások
       blocks by me: Általam kiosztott blokkolások
+      create_mute: Felhasználó elnémítása
+      destroy_mute: Felhasználó elnémításának feloldása
       edit_profile: Profil szerkesztése
       send message: Üzenet küldése
       diary: Napló
@@ -2678,6 +2706,7 @@ hu:
       remove as friend: Ismerős eltávolítása
       add as friend: Felvétel ismerősnek
       mapper since: 'Térképszerkesztő ezóta:'
+      uid: 'Felhasználói azonosító:'
       ct status: 'Hozzájárulási feltételek:'
       ct undecided: Nem eldöntött
       ct declined: Elutasítva
@@ -2688,12 +2717,15 @@ hu:
       role:
         administrator: Ez a felhasználó adminisztrátor
         moderator: Ez a felhasználó moderátor
+        importer: Ez a felhasználó importálhat
         grant:
           administrator: Adminisztrátori hozzáférés megadása
           moderator: Moderátori hozzáférés megadása
+          importer: Importálási jog megadása
         revoke:
           administrator: Adminisztrátori hozzáférés visszavonása
           moderator: Moderátori hozzáférés viszzavonása
+          importer: Importálási hozzáférés visszavonása
       block_history: Aktív blokkolások
       moderator_history: Kiosztott blokkolások
       comments: Hozzászólások
@@ -2861,6 +2893,19 @@ hu:
       showing_page: '%{page}. oldal'
       next: Következő »
       previous: « Előző
+  user_mutes:
+    index:
+      title: Elnémított felhasználók
+      my_muted_users: Elnémított felhasználóim
+      table:
+        thead:
+          muted_user: Elnémított felhasználó
+          actions: Műveletek
+        tbody:
+          unmute: Némítás feloldása
+          send_message: Üzenet küldése
+    create:
+      notice: 'Elnémítottad őt: %{name}.'
   notes:
     index:
       title: '%{user} által beküldött vagy kommentált jegyzetek'
@@ -2974,6 +3019,7 @@ hu:
       map_data_zoom_in_tooltip: Nagyítsd fel a térképet a térképadatok megjelenítéséhez
       queryfeature_tooltip: Objektumok lekérdezése
       queryfeature_disabled_tooltip: Objektumok lekérdezéséhez nagyíts a térképre
+      embed_html_disabled: Ezen a térképrétegen nem lehet HTML-t beágyazni
     changesets:
       show:
         comment: Hozzászólás
index 5281dd4ab9db1be483e675ea68119b7e147866af..3493cc9b11c9d5ca2353e56b33b459712566d1ab 100644 (file)
@@ -1468,9 +1468,9 @@ ia:
         one: '%{count} reporto'
         other: '%{count} reportos'
       no_reports: Nulle reporto
-      report_created_at: 'Prime reporto: %{datetime}'
-      last_resolved_at: 'Ultime resolution: %{datetime}'
-      last_updated_at: 'Ultime actualisation: %{datetime} per %{displayname}'
+      report_created_at_html: 'Prime reporto: %{datetime}'
+      last_resolved_at_html: 'Ultime resolution: %{datetime}'
+      last_updated_at_html: 'Ultime actualisation: %{datetime} per %{displayname}'
       resolve: Resolver
       ignore: Ignorar
       reopen: Reaperir
@@ -1758,8 +1758,6 @@ ia:
   messages:
     inbox:
       title: Cassa de entrata
-      my_inbox: Mi cassa de entrata
-      my_outbox: Mi cassa de exito
       messages: Tu ha %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} nove message'
@@ -1767,12 +1765,14 @@ ia:
       old_messages:
         one: '%{count} ancian message'
         other: '%{count} ancian messages'
-      from: De
-      subject: Subjecto
-      date: Data
       no_messages_yet_html: Tu non ha ancora messages. Proque non contactar alcun
         %{people_mapping_nearby_link}?
       people_mapping_nearby: cartographos vicin
+    messages_table:
+      from: De
+      to: A
+      subject: Subjecto
+      date: Data
     message_summary:
       unread_button: Marcar como non legite
       read_button: Marcar como legite
@@ -1792,14 +1792,9 @@ ia:
       body: Non existe un message con iste ID.
     outbox:
       title: Cassa de exito
-      my_inbox: Mi cassa de entrata
-      my_outbox: Mi cassa de exito
       messages:
         one: Tu ha %{count} message inviate
         other: Tu ha %{count} messages inviate
-      to: A
-      subject: Subjecto
-      date: Data
       no_sent_messages_html: Tu non ha ancora inviate alcun message. Proque non contactar
         alcun %{people_mapping_nearby_link}?
       people_mapping_nearby: cartographos vicin
@@ -1818,26 +1813,32 @@ ia:
         le usator correcte pro poter leger lo.
     sent_message_summary:
       destroy_button: Deler
+    heading:
+      my_inbox: Mi cassa de entrata
+      my_outbox: Mi cassa de exito
     mark:
       as_read: Message marcate como legite
       as_unread: Message marcate como non legite
     destroy:
       destroyed: Message delite
   passwords:
-    lost_password:
+    new:
       title: Contrasigno perdite
       heading: Contrasigno oblidate?
       email address: 'Adresse de e-mail:'
       new password button: Reinitialisar contrasigno
       help_text: Entra le adresse de e-mail que tu usava pro inscriber te, e nos te
         inviara un ligamine que tu pote usar pro reinitialisar tu contrasigno.
+    create:
       notice email on way: Es infortunate que tu lo perdeva :-( ma nos te ha inviate
         un e-mail que te permittera de reinitialisar lo.
       notice email cannot find: Non poteva trovar iste adresse de e-mail, pardono.
-    reset_password:
+    edit:
       title: Reinitialisar contrasigno
       heading: Reinitialisar le contrasigno de %{user}
       reset: Reinitialisar contrasigno
+      flash token bad: Token non trovate. Verifica le URL.
+    update:
       flash changed: Tu contrasigno ha essite cambiate.
       flash token bad: Token non trovate. Verifica le URL.
   preferences:
@@ -2180,12 +2181,7 @@ ia:
         iste functionalitate.
     export:
       title: Exportar
-      area_to_export: Area a exportar
       manually_select: Seliger manualmente un altere area
-      format_to_export: Formato de exportation
-      osm_xml_data: Datos XML de OpenStreetMap
-      map_image: Imagine de carta (monstra le strato standard)
-      embeddable_html: HTML incorporabile
       licence: Licentia
       licence_details_html: Le datos de OpenStreetMap data es sub licentia %{odbl_link}
         (ODbL).
@@ -2211,17 +2207,6 @@ ia:
         other:
           title: Altere fontes
           description: Fontes additional listate in le wiki de OpenStreetMap
-      options: Optiones
-      format: 'Formato:'
-      scale: Scala
-      max: max
-      image_size: 'Dimension del imagine:'
-      zoom: Zoom
-      add_marker: Adder un marcator al carta
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Resultato
-      paste_html: Colla HTML pro incorporar in sito web
       export_button: Exportar
     fixthemap:
       title: Reportar un problema / Corriger le carta
@@ -2330,36 +2315,44 @@ ia:
           cycleway_local: Pista cyclabile local
           footway: Sentiero pro pedones
           rail: Ferrovia
+          train: Traino
           subway: Metro
-          tram:
-          - Ferrovia legier
-          - tram
-          cable:
-          - Telepherico
-          - Telesedia
-          runway:
-          - Pista de aeroporto
-          - via de circulation pro aviones
-          apron:
-          - Platteforma pro aviones
-          - terminal
+          ferry: Ferry-boat
+          light_rail: Ferrovia legier
+          tram: Tram
+          trolleybus: Trolleybus
+          bus: Autobus
+          cable_car: Telepherico
+          chair_lift: Telesedia
+          runway: Pista de aeroporto
+          taxiway: Via de circulation pro aviones
+          apron: Platteforma pro aviones
           admin: Limite administrative
+          orchard: Verdiero
+          vineyard: Vinia
           forest: Foreste
           wood: Bosco
+          farmland: Terra agricole
+          grass: Herba
+          meadow: Prato
+          bare_rock: Rocca nude
+          sand: Sablo
           golf: Percurso de golf
           park: Parco
+          common: Commun
+          built_up: Area edificate
           resident: Area residential
-          common:
-          - Commun
-          - prato
-          - jardin
           retail: Zona de commercio al detalio
           industrial: Area industrial
           commercial: Area commercial
           heathland: Landa
-          lake:
-          - Laco
-          - bassino
+          scrubland: Terreno de brossas
+          lake: Laco
+          reservoir: Reservoir
+          intermittent_water: Massa de aqua intermittente
+          glacier: Glaciero
+          reef: Scolio
+          wetland: Terra humide
           farm: Ferma
           brownfield: Terra in reposo
           cemetery: Cemeterio
@@ -2368,19 +2361,20 @@ ia:
           centre: Centro de sport
           reserve: Reserva natural
           military: Area militar
-          school:
-          - Schola
-          - universitate
+          school: Schola
+          university: Universitate
+          hospital: Hospital
           building: Edificio significante
           station: Station ferroviari
-          summit:
-          - Summitate
-          - picco
+          summit: Summitate
+          peak: Picco
           tunnel: Bordo a lineettas = tunnel
           bridge: Bordo nigre = ponte
           private: Accesso private
           destination: Traffico local
           construction: Vias in construction
+          bus_stop: Halto de autobus
+          stop: Halto
           bicycle_shop: Magazin de bicyclettas
           bicycle_parking: Parcamento de bicyclettas
           toilets: Toilettes
@@ -2424,6 +2418,7 @@ ia:
         imports: Importationes
         automated_edits: Modificationes automatisate
       start_mapping: comenciar le cartographia
+      continue_authorization: Continuar autorisation
       add_a_note:
         title: Non ha tempore pro modificar? Adde un nota!
         para_1: Si tu vole meliorar un micre cosa e non ha le tempore pro crear un
@@ -3117,6 +3112,8 @@ ia:
       map_data_zoom_in_tooltip: Face zoom avante pro vider le datos del carta
       queryfeature_tooltip: Cercar objectos
       queryfeature_disabled_tooltip: Face zoom avante pro cercar objectos
+      embed_html_disabled: Le incastration de HTML non es disponibile pro iste strato
+        cartographic
     changesets:
       show:
         comment: Commento
index 14b3308371ffc257cba9afc2d441ba7782ed9b0b..b1be472c65c0bacc5ebe4ca399baf97e0f340db4 100644 (file)
@@ -1461,9 +1461,9 @@ id:
         zero: Tak ada
         one: satu
         other: '%{count} laporan'
-      report_created_at: Pertama dilaporkan pada %{datetime}
-      last_resolved_at: Terakhir diselesaikan pada %{datetime}
-      last_updated_at: Terakhir diubah pada %{datetime} oleh %{displayname}
+      report_created_at_html: Pertama dilaporkan pada %{datetime}
+      last_resolved_at_html: Terakhir diselesaikan pada %{datetime}
+      last_updated_at_html: Terakhir diubah pada %{datetime} oleh %{displayname}
       resolve: Selesaikan
       ignore: Abaikan
       reopen: Buka lagi
@@ -1744,8 +1744,6 @@ id:
   messages:
     inbox:
       title: Kotak Masuk
-      my_inbox: Kotak Masuk Saya
-      my_outbox: Kotak Keluar Saya
       messages: Anda memiliki %{new_messages} dan %{old_messages}
       new_messages:
         one: '%{count} pesan baru'
@@ -1753,12 +1751,14 @@ id:
       old_messages:
         one: '%{count} pesan lama'
         other: '%{count} pesan lama'
-      from: Dari
-      subject: Subyek
-      date: Tanggal
       no_messages_yet_html: Anda belum memiliki pesan. Mengapa tidak  berhubungan
         dengan beberapa %{people_mapping_nearby_link}?
       people_mapping_nearby: orang-orang disekitar Anda yang melakukan pemetaan
+    messages_table:
+      from: Dari
+      to: Kepada
+      subject: Subyek
+      date: Tanggal
     message_summary:
       unread_button: Tandai belum dibaca
       read_button: Tandai sudah dibaca
@@ -1778,14 +1778,9 @@ id:
       body: Maaf tidak ada pesan dengan id tersebut.
     outbox:
       title: Kotak keluar
-      my_inbox: Kotak Masuk Saya
-      my_outbox: Kotak Keluar Saya
       messages:
         one: Anda memiliki %{count} pesan terkirim
         other: Anda memiliki %{count} pesan terkirim
-      to: Kepada
-      subject: Subjek
-      date: Tanggal
       no_sent_messages_html: Anda belum memiliki pesan. Mengapa tidak  berhubungan
         dengan beberapa %{people_mapping_nearby_link}?
       people_mapping_nearby: orang-orang disekitar Anda yang melakukan pemetaan
@@ -1803,13 +1798,16 @@ id:
         yang benar untuk membacanya.
     sent_message_summary:
       destroy_button: Hapus
+    heading:
+      my_inbox: Kotak Masuk Saya
+      my_outbox: Kotak Keluar Saya
     mark:
       as_read: Pesan ditandai sebagai telah dibaca
       as_unread: Pesan ditandai sebagai belum dibaca
     destroy:
       destroyed: Pesan dihapus
   passwords:
-    lost_password:
+    new:
       title: Kehilangan kata sandi
       heading: Lupa Kata Sandi?
       email address: 'Alamat Email:'
@@ -1817,15 +1815,17 @@ id:
       help_text: Masukkan alamat email yang Anda gunakan untuk mendaftar, kami akan
         mengirim link ke alamat tersebut yang dapat Anda gunakan untuk menyetel ulang
         kata sandi Anda.
+    create:
       notice email on way: Maaf sudah hilang :-( namun sebuah email telah dikirimkan
         agar Anda dapat segera mengatur ulang.
       notice email cannot find: Tidak dapat menemukan alamat email tersebut, maaf.
-    reset_password:
+    edit:
       title: Setel ulang kata sandi
       heading: Setel ulang kata sandi untuk %{user}
       reset: Setel Ulang Kata Sandi
-      flash changed: Kata sandi Anda telah diubah.
       flash token bad: Tidak dapat menemukan token tersebut, cek URL nya mungkin?
+    update:
+      flash changed: Kata sandi Anda telah diubah.
   preferences:
     show:
       title: Preferensi Saya
@@ -2142,12 +2142,7 @@ id:
         untuk fitur ini.
     export:
       title: Ekspor
-      area_to_export: Wilayah untuk diekspor
       manually_select: Pilih wilayah berbeda secara manual
-      format_to_export: Format untuk diekspor
-      osm_xml_data: Data XML OpenStreetMap
-      map_image: Gambar Peta (menunjukkan layer standar)
-      embeddable_html: HTML yang terkait
       licence: Lisensi
       licence_details_html: Data OpenStreetMap dilindungi oleh lisensi %{odbl_link}
         (ODbL).
@@ -2172,17 +2167,6 @@ id:
         other:
           title: Sumber Lain
           description: Sumber-sumber tambahan yang tercantum di wiki OpenStreetMap
-      options: Pilihan
-      format: Format
-      scale: Skala
-      max: Maks
-      image_size: Ukuran gambar
-      zoom: Perbesar
-      add_marker: Tambahkan penanda ke peta
-      latitude: 'Lintang:'
-      longitude: 'Bujur:'
-      output: Hasil
-      paste_html: Salin HTML untuk menyimpan di website
       export_button: Ekspor
     fixthemap:
       title: Laporkan kesalahan / Perbaiki peta
@@ -2291,35 +2275,24 @@ id:
           footway: Jalan Setapak
           rail: Rel Kereta
           subway: Kereta bawah tanah
-          tram:
-          - Kereta listrik
-          - trem
-          cable:
-          - Kereta Kabel
-          - Kereta Gantung
-          runway:
-          - Landasan bandara
-          - landas hubung
-          apron:
-          - Tempat Parkir Pesawat
-          - terminal
+          cable_car: Kereta Kabel
+          chair_lift: Kereta Gantung
+          runway: Landasan bandara
+          taxiway: landas hubung
+          apron: Tempat Parkir Pesawat
           admin: Batas administrasi
           forest: Hutan
           wood: Kayu
           golf: Lapangan Golf
           park: Taman
+          common: Umum
           resident: Area Permukiman
-          common:
-          - Umum
-          - Padang rumput
-          - kebun
           retail: Area pertokoan
           industrial: Kawasan industri
           commercial: Area komersial
           heathland: Semak
-          lake:
-          - Danau
-          - Wilayah Serapan (Reservoir)
+          lake: Danau
+          reservoir: Wilayah Serapan (Reservoir)
           farm: Pertanian
           brownfield: Lahan kosong
           cemetery: Pemakaman
@@ -2328,14 +2301,12 @@ id:
           centre: Pusat Olahraga
           reserve: Cagar Alam
           military: Kawasan militer
-          school:
-          - Sekolah
-          - universitas
+          school: Sekolah
+          university: universitas
           building: Bangunan Penting
           station: Stasiun Kereta Api
-          summit:
-          - Puncak
-          - puncak
+          summit: Puncak
+          peak: puncak
           tunnel: Dashed Casing = terowongan
           bridge: Black casing = jembatan
           private: Akses pribadi
index 638a1e31b74b4a9b447a5e50b097278334b32023..3b49cc15a47e72565b4d02f77e19964955fb2179 100644 (file)
@@ -1459,9 +1459,9 @@ is:
         one: '%{count} skýrsla'
         other: '%{count} skýrslur'
       no_reports: Engar skýrslur
-      report_created_at: Fyrst tilkynnt %{datetime}
-      last_resolved_at: Síðast leyst %{datetime}
-      last_updated_at: Síðast uppfært %{datetime} af %{displayname}
+      report_created_at_html: Fyrst tilkynnt %{datetime}
+      last_resolved_at_html: Síðast leyst %{datetime}
+      last_updated_at_html: Síðast uppfært %{datetime} af %{displayname}
       resolve: Leysa
       ignore: Hunsa
       reopen: Enduropna
@@ -1751,8 +1751,6 @@ is:
   messages:
     inbox:
       title: Innhólf
-      my_inbox: Innhólfið mitt
-      my_outbox: Úthólfið mitt
       messages: Þú átt %{new_messages} og %{old_messages}
       new_messages:
         one: '%{count} ný skilaboð'
@@ -1760,12 +1758,14 @@ is:
       old_messages:
         one: '%{count} eldri skilaboð'
         other: '%{count} eldri skilaboð'
-      from: Frá
-      subject: Viðfangsefni
-      date: Dagsetning
       no_messages_yet_html: Þú hefur ekki fengið nein skilboð. Hví ekki að hafa samband
         við einhverja %{people_mapping_nearby_link}?
       people_mapping_nearby: nálæga notendur
+    messages_table:
+      from: Frá
+      to: Til
+      subject: Viðfangsefni
+      date: Dagsetning
     message_summary:
       unread_button: Merkja sem ólesin
       read_button: Merkja sem lesin
@@ -1785,14 +1785,9 @@ is:
       body: Því miður er ekkert skilaboð með þetta auðkenni.
     outbox:
       title: Úthólf
-      my_inbox: Innhólfið mitt
-      my_outbox: Úthólfið mitt
       messages:
         one: Þú hefur sent %{count} skilaboð
         other: Þú hefur sent %{count} skilaboð
-      to: Til
-      subject: Viðfangsefni
-      date: Dags
       no_sent_messages_html: Þú hefur enn ekki seint nein skilaboð, því ekki að hafa
         samband við einhverja %{people_mapping_nearby_link}?
       people_mapping_nearby: nálæga notendur
@@ -1811,27 +1806,32 @@ is:
         notanda til að geta svarað.
     sent_message_summary:
       destroy_button: Eyða
+    heading:
+      my_inbox: Innhólfið mitt
+      my_outbox: Úthólfið mitt
     mark:
       as_read: Skilaboðin voru merkt sem lesin
       as_unread: Skilaboðin voru merkt sem ólesin
     destroy:
       destroyed: Skilaboðunum var eytt
   passwords:
-    lost_password:
+    new:
       title: Glatað lykilorð
       heading: Gleymt lykilorð?
       email address: 'Tölvupóstfang:'
       new password button: Endurstilla lykilorð
       help_text: Sláðu inn netfangið sem þú skráðir þig með, við munum senda tengil
         á það sem þú getur notað til að breyta lykilorðinu þínu.
+    create:
       notice email on way: Nýtt lykilorð er á leiðinni í innhólfið þitt.
       notice email cannot find: Þetta netfang fannst ekki.
-    reset_password:
+    edit:
       title: Endurstilla lykilorð
       heading: Endurstilla lykilorð fyrir %{user}
       reset: Endurstilla lykilorð
-      flash changed: Lykilorðinu þínu hefur verið breytt
       flash token bad: Þessi leynistrengur fannst ekki, kannski er slóðin röng?
+    update:
+      flash changed: Lykilorðinu þínu hefur verið breytt
   preferences:
     show:
       title: Kjörstillingar
@@ -2212,12 +2212,7 @@ is:
         ef nota á þennan eiginleika.
     export:
       title: Flytja út
-      area_to_export: Svæði til útflutnings
       manually_select: Veldu annað svæði handvirkt
-      format_to_export: Skráasnið
-      osm_xml_data: OpenStreetMap XML gögn
-      map_image: Kortamynd (sýnir staðallagið)
-      embeddable_html: HTML til að bæta á vefsíðu
       licence: Leyfi
       licence_details_html: OpenStreetMap gögnin eru með %{odbl_link}.
       odbl: Open Data Commons Open Database License (ODbL) notkunarleyfi
@@ -2240,17 +2235,6 @@ is:
         other:
           title: Aðrar heimildir
           description: Aðrir gagnagjafar sem taldir eru upp á kviku/wiki OpenStreetMap
-      options: Valmöguleikar
-      format: Snið
-      scale: Kvarði
-      max: hámark
-      image_size: Stærð myndar
-      zoom: Aðdráttur
-      add_marker: Bæta kortamerki á kortið
-      latitude: 'Lengd:'
-      longitude: 'Breidd:'
-      output: Úttak
-      paste_html: Notaðu þennan HTML kóða til að bæta kortinu á vefsíðu
       export_button: Flytja út
     fixthemap:
       title: Tilkynna vandamál / Laga kortið
@@ -2367,35 +2351,24 @@ is:
           footway: Gönguleið
           rail: Lestarteinar
           subway: Neðanjarðarlest
-          tram:
-          - Léttlest
-          - sporvagn
-          cable:
-          - Kláflyfta
-          - stólalyfta
-          runway:
-          - Flugbraut
-          - akstursbraut
-          apron:
-          - Flughlað
-          - flugstöð
+          cable_car: Kláflyfta
+          chair_lift: stólalyfta
+          runway: Flugbraut
+          taxiway: akstursbraut
+          apron: Flughlað
           admin: Stjórnsýslumörk
           forest: Ræktaður skógur
           wood: Náttúrulegur skógur
           golf: Golfvöllur
           park: Almenningsgarður
+          common: Almenningur
           resident: Íbúðasvæði
-          common:
-          - Almenningur
-          - lundur
-          - garður
           retail: Smásölusvæði
           industrial: Iðnaðarsvæði
           commercial: Verslunarsvæði
           heathland: Heiðalönd
-          lake:
-          - Vatn
-          - uppistöðulón
+          lake: Vatn
+          reservoir: uppistöðulón
           farm: Bóndabær
           brownfield: Nýbyggingarsvæði
           cemetery: Grafreitur
@@ -2404,14 +2377,12 @@ is:
           centre: Íþróttamiðstöð
           reserve: Náttúruverndarsvæði
           military: Hersvæði
-          school:
-          - Skóli
-          - Háskóli
+          school: Skóli
+          university: Háskóli
           building: Merkisbygging
           station: Lestarstöð
-          summit:
-          - Fjallstindur
-          - tindur
+          summit: Fjallstindur
+          peak: tindur
           tunnel: Umkringt punktalínum = göng
           bridge: Umkringt svartri línu = brú
           private: Einkaaðgangur
@@ -2715,7 +2686,6 @@ is:
       no_applications_html: Ert þú að nota forrit sem þú myndir vilja skrá til notkunar
         hjá okkur með %{oauth2} staðlinum? Þú verður að skrá vefforritið áður en það
         fer að senda OAuth-beiðnir á þessa þjónustu.
-      oauth_2: OAuth 2
       new: Skrá nýtt forrit
       name: Nafn
       permissions: Heimildir
index 049a556ab362ed9a1a818fa6466b9aee6204e1b7..67f12f23ce92f208f172a18ec525c22baaca5b68 100644 (file)
@@ -98,6 +98,9 @@ it:
       messages:
         invalid_email_address: non sembra essere un indirizzo e-mail valido
         email_address_not_routable: non è instradabile
+      models:
+        user_mute:
+          is_already_muted: è già silenziato
     models:
       acl: Lista di controllo degli accessi
       changeset: Gruppo di modifiche
@@ -324,6 +327,9 @@ it:
         retain_changeset_discussions: Le discussioni su tuoi gruppi di modifiche e
           i commenti inseriti su altri gruppi di modifiche, se presenti, saranno mantenute.
         retain_email: Il tuo indirizzo e-mail sarà conservato.
+        recent_editing_html: Dato che hai effettuato delle modifiche di recente, al
+          momento la tua utenza non può essere eliminata. Sarà possibile farlo tra
+          %{time}.
         confirm_delete: Sei sicuro?
         cancel: Annulla
   accounts:
@@ -1522,9 +1528,9 @@ it:
         one: '%{count} segnalazione'
         other: '%{count} segnalazioni'
       no_reports: Nessuna segnalazione
-      report_created_at: Segnalato per la prima volta il %{datetime}
-      last_resolved_at: Risolto per l’ultima volta il %{datetime}
-      last_updated_at: Aggiornato per l’ultima volta il %{datetime} da %{displayname}
+      report_created_at_html: Segnalato per la prima volta il %{datetime}
+      last_resolved_at_html: Risolto per l’ultima volta il %{datetime}
+      last_updated_at_html: Aggiornato per l’ultima volta il %{datetime} da %{displayname}
       resolve: Risolvi
       ignore: Ignora
       reopen: Riapri
@@ -1810,8 +1816,6 @@ it:
   messages:
     inbox:
       title: Posta in arrivo
-      my_inbox: Posta in arrivo
-      my_outbox: Posta in uscita
       messages: Hai %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} nuovo messaggio'
@@ -1819,17 +1823,21 @@ it:
       old_messages:
         one: '%{count} vecchio messaggio'
         other: '%{count} messaggi vecchi'
-      from: Da
-      subject: Oggetto
-      date: Data
       no_messages_yet_html: Non ci sono ancora messaggi. Perché non contatti qualcuna
         di queste %{people_mapping_nearby_link}?
       people_mapping_nearby: persone che mappano nelle vicinanze
+    messages_table:
+      from: Da
+      to: A
+      subject: Oggetto
+      date: Data
+      actions: Azioni
     message_summary:
       unread_button: Segna come non letto
       read_button: Segna come già letto
       reply_button: Rispondi
       destroy_button: Cancella
+      unmute_button: Sposta nella Posta in arrivo
     new:
       title: Invia messaggio
       send_message_to_html: Spedisci un nuovo messaggio a %{name}
@@ -1844,17 +1852,18 @@ it:
       body: Siamo spiacenti, non ci sono messaggi con l'id indicato.
     outbox:
       title: Posta in uscita
-      my_inbox: Posta in arrivo
-      my_outbox: Posta in uscita
+      actions: Azioni
       messages:
         one: Hai %{count} messaggio inviato
         other: Hai %{count} messaggi inviati
-      to: A
-      subject: Oggetto
-      date: Data
       no_sent_messages_html: Non ci sono ancora messaggi inviati. Perché non contatti
         qualcuno di questi %{people_mapping_nearby_link}?
       people_mapping_nearby: persone che mappano nelle vicinanze
+    muted:
+      title: Messaggi silenziati
+      messages:
+        one: '%{count} messaggio silenziato'
+        other: Hai %{count} messaggi silenziati
     reply:
       wrong_user: Hai effettuato l'accesso come '%{user}', ma il messaggio al quale
         hai chiesto di rispondere non era diretto a quell'utente. Se vuoi rispondere,
@@ -1870,31 +1879,41 @@ it:
         accedi con l'utenza interessata.
     sent_message_summary:
       destroy_button: Cancella
+    heading:
+      my_inbox: Posta in arrivo
+      my_outbox: Posta in uscita
+      muted_messages: Messaggi silenziati
     mark:
       as_read: Messaggio marcato come già letto
       as_unread: Messaggio marcato come non letto
+    unmute:
+      notice: Il messaggio è stato spostato nella Posta in arrivo
+      error: Non è stato possibile spostare il messaggio nella Posta in arrivo.
     destroy:
       destroyed: Messaggio eliminato
   passwords:
-    lost_password:
+    new:
       title: password persa
       heading: Password dimenticata?
-      email address: 'Indirizzo email:'
+      email address: Indirizzo email
       new password button: Reimposta password
       help_text: Inserire l'indirizzo email che si è utilizzato per l'iscrizione,
         a cui verrà inviato un collegamento che permetterà la reimpostazione della
         propria password.
+    create:
       notice email on way: Siamo spiacenti che tu l'abbia persa :-( ma una email ti
         è stata spedita in modo che tu la possa presto reimpostare.
       notice email cannot find: Spiacenti, ma non è possibile trovare l'indirizzo
         email.
-    reset_password:
+    edit:
       title: Reimposta password
       heading: Reimposta password per %{user}
       reset: Reimposta password
-      flash changed: La propria password è stata modificata.
       flash token bad: Non è stato possibile trovare il codice. Controllare l'indirizzo
         URL.
+    update:
+      flash changed: La propria password è stata modificata.
+      flash token bad: Non è stato trovato quel token, controlla l'URL forse?
   preferences:
     show:
       title: Preferenze
@@ -1938,8 +1957,8 @@ it:
     new:
       title: Entra
       heading: Entra
-      email or username: 'Indirizzo email o nome utente:'
-      password: 'Password:'
+      email or username: Indirizzo e-mail o nome utente
+      password: Password
       openid_html: '%{logo} OpenID:'
       remember: Ricordati di me
       lost password link: Persa la password?
@@ -1998,6 +2017,7 @@ it:
       image: Immagine
       alt: Testo alternativo
       url: URL
+      codeblock: Blocco di codice
     richtext_field:
       edit: Modifica
       preview: Anteprima
@@ -2134,6 +2154,10 @@ it:
           Resources Canada), e della StatCan (Geography Division,
           Statistics Canada).
         contributors_ca_canada: Canada
+        contributors_cz_credit_html: '%{czechia}: contiene dati dell''Amministrazione
+          statale dei rilevamenti topografici e del Catasto pubblicati con licenza
+          %{cc_licence_link}'
+        contributors_cz_czechia: Repubblica Ceca
         contributors_cz_cc_licence: Licenza internazionale Creative Commons Attribuzione
           4.0 (CC BY 4.0)
         contributors_cz_cc_licence_url: https://creativecommons.org/licenses/by/4.0/deed.it
@@ -2227,12 +2251,7 @@ it:
         per questa funzionalità.
     export:
       title: Esporta
-      area_to_export: Area da esportare
       manually_select: Seleziona manualmente un'area differente
-      format_to_export: Formato di esportazione
-      osm_xml_data: Dati XML OpenStreetMap
-      map_image: Immagine Mappa (mostra livello standard)
-      embeddable_html: HTML incapsulabile
       licence: Licenza
       licence_details_html: I dati OpenStreetMap sono rilasciati con licenza %{odbl_link}
         (ODbL).
@@ -2257,17 +2276,6 @@ it:
         other:
           title: Altre fonti
           description: Ulteriori fonti elencate sul wiki di OpenStreetMap
-      options: Opzioni
-      format: Formato
-      scale: Scala
-      max: max
-      image_size: Dimensione immagine
-      zoom: Ingrandimento
-      add_marker: Aggiungi un marcatore alla mappa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Risultato
-      paste_html: Incolla l'HTML per incapsulare nel sito web
       export_button: Esporta
     fixthemap:
       title: Segnala un problema / Correggi la mappa
@@ -2367,66 +2375,80 @@ it:
           primary: Strada primaria
           secondary: Strada secondaria
           unclassified: Strada non classificata
+          pedestrian: Percorso pedonale
           track: Strada forestale o agricola
           bridleway: Percorso per equitazione
           cycleway: Pista ciclabile
           cycleway_national: Pista ciclabile nazionale
           cycleway_regional: Pista ciclabile regionale
           cycleway_local: Pista ciclabile locale
+          cycleway_mtb: Percorso in mountain bike
           footway: Percorso pedonale
           rail: Ferrovia
+          train: Treno
           subway: Metropolitana
-          tram:
-          - Metropolitana leggera
-          - tram
-          cable:
-          - Funivia
-          - seggiovia
-          runway:
-          - Pista di decollo/atterraggio
-          - pista di rullaggio
-          apron:
-          - Area di parcheggio aeroportuale
-          - terminal
+          ferry: Traghetto
+          light_rail: Metropolitana leggera
+          tram: Tram
+          trolleybus: Filobus
+          bus: Autobus
+          cable_car: Funivia
+          chair_lift: Seggiovia
+          runway: Pista di decollo/atterraggio
+          taxiway: Pista di rullaggio
+          apron: Area di parcheggio aeroportuale
           admin: Confine amministrativo
+          capital: Capitale
+          city: Città
+          orchard: Frutteto
+          vineyard: Vigneto
           forest: Foresta
           wood: Bosco
+          farmland: Terreno agricolo
+          grass: Prato
+          meadow: Prato
+          bare_rock: Roccia nuda
+          sand: Sabbia
           golf: Campo da golf
           park: Parco
+          common: Area comune
           resident: Zona residenziale
-          common:
-          - Area comune
-          - prato
-          - giardino
           retail: Zona con negozi
           industrial: Zona industriale
           commercial: Zona di uffici
           heathland: Brughiera
-          lake:
-          - Lago
-          - riserva d'acqua
+          scrubland: Macchia
+          lake: Lago
+          reservoir: Riserva idrica
+          intermittent_water: Corpo idrico intermittente
+          glacier: Ghiacciaio
+          reef: Scogliera
+          wetland: Zona umida
           farm: Azienda agricola
           brownfield: Area soggetta ad interventi di ridestinazione d'uso
           cemetery: Cimitero
           allotments: Area comune orti casalinghi
           pitch: Campo sportivo
           centre: Centro sportivo
+          beach: Spiaggia
           reserve: Riserva naturale
           military: Area militare
-          school:
-          - Scuola
-          - università
+          school: Scuola
+          university: Università
+          hospital: Ospedale
           building: Edificio significativo
           station: Stazione ferroviaria
-          summit:
-          - Vetta
-          - picco montuoso
+          summit: Vetta
+          peak: Picco montuoso
           tunnel: Linea tratteggiata = tunnel
           bridge: Quadrettatura nera = ponte
           private: Accesso privato
           destination: Servitù di passaggio
           construction: Strade in costruzione
+          bus_stop: Fermata dell'autobus
+          stop: Fermata
           bicycle_shop: Negozio di biciclette
+          bicycle_rental: Noleggio biciclette
           bicycle_parking: Parcheggio per biciclette
           toilets: Bagni pubblici
     welcome:
@@ -2471,6 +2493,7 @@ it:
         imports: Importazioni
         automated_edits: Contributi automatici
       start_mapping: Inizia a mappare
+      continue_authorization: Continua l'autorizzazione
       add_a_note:
         title: Non hai tempo per editare? Aggiungi una nota!
         para_1: Se vuoi fare solo una piccola correzione, ma non hai abbastanza tempo
@@ -2638,6 +2661,7 @@ it:
       oauth1_settings: Impostazioni OAuth
       oauth2_applications: Applicazioni OAuth 2
       oauth2_authorizations: Autorizzazioni OAuth 2
+      muted_users: Utenti silenziati
   oauth:
     authorize:
       title: Autorizzare l'accesso al tuo account
@@ -2847,6 +2871,8 @@ it:
       my_dashboard: La mia dashboard
       blocks on me: Blocchi su di me
       blocks by me: Blocchi applicati da me
+      create_mute: Silenzia questo utente
+      destroy_mute: Non silenziare più questo utente
       edit_profile: Modifica profilo
       send message: Invia messaggio
       diary: Diario
@@ -2878,6 +2904,7 @@ it:
           importer: Revoca l'accesso come importatore
       block_history: Blocchi attivi
       moderator_history: Blocchi applicati
+      revoke_all_blocks: Revoca tutti i blocchi
       comments: Commenti
       create_block: Blocca questo utente
       activate_user: Attiva questo utente
@@ -2987,6 +3014,16 @@ it:
       confirm: Sei sicuro di voler revocare questo blocco?
       revoke: Revoca!
       flash: Questo blocco è stato revocato.
+    revoke_all:
+      title: Revoca tutti i blocchi su %{block_on}
+      heading_html: Revoca tutti i blocchi su %{block_on}
+      empty: '%{name} non ha blocchi attivi.'
+      confirm: Sei sicuro di voler revocare %{active_blocks}?
+      active_blocks:
+        one: '%{count} blocco attivo'
+        other: '%{count} blocchi attivi'
+      revoke: Revoca!
+      flash: Tutti i blocchi attivi sono stati revocati.
     helper:
       time_future_html: Termina fra %{time}.
       until_login: Attivo finché l'utente non si collega.
@@ -3045,6 +3082,31 @@ it:
       showing_page: Pagina %{page}
       next: Successivo »
       previous: « Precedente
+  user_mutes:
+    index:
+      title: Utenti silenziati
+      my_muted_users: I miei utenti silenziati
+      you_have_muted_n_users:
+        one: Hai silenziato %{count} utente
+        other: Hai silenziato %{count} utenti
+      user_mute_explainer: I messaggi degli utenti silenziati vengono spostati in
+        una Posta in arrivo separata e non riceverai le notifiche via e-mail.
+      user_mute_admins_and_moderators: Puoi silenziare amministratori e moderatori
+        ma i loro messaggi non saranno silenziati.
+      table:
+        thead:
+          muted_user: Utente silenziato
+          actions: Azioni
+        tbody:
+          unmute: Non silenziare
+          send_message: Invia messaggio
+    create:
+      notice: Hai silenziato %{name}.
+      error: Non è stato possibile silenziare %{name}. %{full_message}.
+    destroy:
+      notice: Non rimosso %{name} dagli utenti silenziati.
+      error: Non è stato possibile rimuovere dagli utenti silenziati. Riprova più
+        tardi.
   notes:
     index:
       title: Note inserite o commentate da %{user}
@@ -3081,6 +3143,7 @@ it:
       reactivate: Riattiva
       comment_and_resolve: Commenta e chiudi
       comment: Commenta
+      log_in_to_comment: Accedi per commentare questa nota
       report_link_html: Se questa nota contiene informazioni sensibili che devono
         essere rimosse, puoi %{link}.
       other_problems_resolve: Per tutti gli altri problemi con la nota, risolvilo
@@ -3172,6 +3235,8 @@ it:
       map_data_zoom_in_tooltip: Zooma per vedere i dati della mappa
       queryfeature_tooltip: Ricerca di elementi
       queryfeature_disabled_tooltip: Ingrandisci per ricercare elementi
+      embed_html_disabled: L'incorporamento HTML non è disponibile per questo livello
+        mappa
     changesets:
       show:
         comment: Commenta
index 71b055ca0e22950351bc80b97f660a09f8ec096d..5c5e9a665d2619e228f032e8339e493bd4742c94 100644 (file)
@@ -12,6 +12,7 @@
 # Author: Ffff23
 # Author: Foomin10
 # Author: Fryed-peach
+# Author: Great ones
 # Author: Hayashi
 # Author: Higa4
 # Author: Hiro884
@@ -274,6 +275,7 @@ ja:
         reopened_at_by_html: '%{user}さんが%{when}に再開'
       rss:
         title: OpenStreetMap メモ
+        description_all: 報告されたメモ、コメントされたメモ、または閉じられたメモのリスト
         description_area: あなたのエリア [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
           に関する注記で報告済みまたはコメント付きあるいは解決済みの一覧
         description_item: メモ %{id} の RSS フィード
@@ -300,6 +302,7 @@ ja:
         retain_notes: 日記のエントリと日記のコメントがある場合は保持されますが、表示されません。
         retain_changeset_discussions: 変更セットのディスカッションがあれば、保持されます。
         retain_email: メールアドレスは保持されます。
+        recent_editing_html: 最近編集したため、現在アカウントを削除できません。 %{time}以内に削除可能になります。
         confirm_delete: 本当によろしいですか?
         cancel: キャンセル
   accounts:
@@ -329,7 +332,12 @@ ja:
       delete_account: アカウントを削除
     go_public:
       heading: 公開編集
+      currently_not_public: 現在、あなたの編集内容は匿名であり、他の人があなたにメッセージを送ったり、あなたの位置情報を確認したりすることはできません。編集内容を表示し、Web
+        サイトを通じて他の人があなたに連絡できるようにするには、下のボタンをクリックしてください。
+      only_public_can_edit: 0.6 API 変更以来,地図データを公開ユーザーだけが編集できます.
       find_out_why: 理由を明らかにする
+      email_not_revealed: あなたのメールアドレスが公開されることはありません
+      not_reversible: このアクションを元に戻すことはできず、すべての新規ユーザーはデフォルトで公開になります。
       make_edits_public_button: 自分の編集をすべて公開する
     update:
       success_confirm_needed: 利用者情報を更新しました。新着メールを確認して新しいメール アドレスを検証してください。
@@ -1419,9 +1427,9 @@ ja:
       reports:
         other: '%{count}件のレポート'
       no_reports: 報告はありません
-      report_created_at: 最初の通報は%{datetime}です
-      last_resolved_at: 最近の更新は%{datetime}です
-      last_updated_at: 最近の更新は%{displayname}による%{datetime}の版です
+      report_created_at_html: 最初の通報は%{datetime}です
+      last_resolved_at_html: 最近の更新は%{datetime}です
+      last_updated_at_html: 最近の更新は%{displayname}による%{datetime}の版です
       resolve: 解決
       ignore: 無視
       reopen: 再開
@@ -1647,18 +1655,18 @@ ja:
   messages:
     inbox:
       title: 受信箱
-      my_inbox: 自分の受信箱
-      my_outbox: 自分の送信ボックス
       messages: '%{new_messages}、%{old_messages}があります'
       new_messages:
         other: '%{count} 件の新着メッセージ'
       old_messages:
         other: '%{count} 件の古いメッセージ'
+      no_messages_yet_html: まだメッセージがありません。%{people_mapping_nearby_link}とお近づきになってはいかがですか?
+      people_mapping_nearby: 近所でマッピングしている人々
+    messages_table:
       from: 差出人
+      to: 宛先
       subject: 件名
       date: 日付
-      no_messages_yet_html: まだメッセージがありません。%{people_mapping_nearby_link}とお近づきになってはいかがですか?
-      people_mapping_nearby: 近所でマッピングしている人々
     message_summary:
       unread_button: 未読にする
       read_button: 既読にする
@@ -1677,13 +1685,8 @@ ja:
       body: 申し訳ありませんが、この ID のメッセージはありません。
     outbox:
       title: 送信箱
-      my_inbox: 自分の受信箱
-      my_outbox: 自分の送信ボックス
       messages:
         other: '%{count} 件の送信済みメッセージがあります'
-      to: 宛先
-      subject: 件名
-      date: 日付
       no_sent_messages_html: 送信したメッセージはまだありません。%{people_mapping_nearby_link}とお近づきになってはいかがですか?
       people_mapping_nearby: 近所でマッピングしている人々
     reply:
@@ -1697,26 +1700,31 @@ ja:
       wrong_user: あなたは「%{user}」としてログインしていますが、閲覧しようとしたメッセージは、この利用者が送信したものでも、この利用者宛てのものでもありません。メッセージを閲覧するには、正しいユーザーとしてログインしてください。
     sent_message_summary:
       destroy_button: 削除
+    heading:
+      my_inbox: 自分の受信箱
+      my_outbox: 自分の送信ボックス
     mark:
       as_read: 既読メッセージ
       as_unread: 未読メッセージ
     destroy:
       destroyed: メッセージを削除しました
   passwords:
-    lost_password:
+    new:
       title: パスワードを忘れた
       heading: パスワードを忘れた場合はこちら
-      email address: 'メール アドレス:'
+      email address: 'メールアドレス:'
       new password button: パスワードを再設定
       help_text: ユーザー登録に使用したメール アドレスを入力してください。そのアドレス宛に、パスワードを再設定するためのリンクをお送りします。
+    create:
       notice email on way: すみません。紛失してしまいました :-( しかし、メールをお送りしたので、すぐにリセットできるでしょう。
       notice email cannot find: 申し訳ありませんが、このメール アドレスは見つかりません。
-    reset_password:
+    edit:
       title: パスワードの再設定
       heading: '%{user} のパスワードのリセット'
       reset: パスワードを初期化
-      flash changed: あなたのパスワードは変更されました。
       flash token bad: キーワードが見つかりません。URL を確認してください。
+    update:
+      flash changed: あなたのパスワードは変更されました。
   preferences:
     show:
       title: 個人設定
@@ -1758,7 +1766,7 @@ ja:
     new:
       title: ログイン
       heading: ログイン
-      email or username: 'メール アドレスまたは利用者名:'
+      email or username: 'メールアドレスまたは利用者名:'
       password: 'パスワード:'
       openid_html: '%{logo} OpenID:'
       remember: ログイン状態を保持
@@ -1902,12 +1910,7 @@ ja:
       no_iframe_support: あなたのブラウザーは、この機能に必須の HTML iframe に未対応です。
     export:
       title: エクスポート
-      area_to_export: エクスポートする領域
       manually_select: ドラッグして別の領域を選択
-      format_to_export: エクスポートするファイル形式
-      osm_xml_data: OpenStreetMap XML データ
-      map_image: 地図画像 (標準レイヤーを表示)
-      embeddable_html: 埋め込み HTML
       licence: ライセンス
       too_large:
         advice: '上のエクスポートが失敗した場合は、以下に列挙した情報源のいずれかの使用を検討してください:'
@@ -1924,17 +1927,6 @@ ja:
         other:
           title: 他の情報源
           description: OpenStreetMap ウィキに記載されている追加の情報源
-      options: オプション
-      format: ファイル形式
-      scale: 縮尺
-      max: 最大
-      image_size: 画像サイズ
-      zoom: ズーム
-      add_marker: マーカーを地図に追加
-      latitude: '緯度:'
-      longitude: '経度:'
-      output: 出力
-      paste_html: 以下の HTML をあなたのサイトに貼り付けてください
       export_button: エクスポート
     fixthemap:
       title: 問題点の報告 / 地図の修正
@@ -2017,35 +2009,24 @@ ja:
           footway: 歩道
           rail: 鉄道
           subway: 地下鉄
-          tram:
-          - 軽便鉄道
-          - 路面電車
-          cable:
-          - 交走式ロープウェイ
-          - チェアリフト
-          runway:
-          - 空港滑走路
-          - 空港誘導路
-          apron:
-          - 空港ビル
-          - 空港ターミナル
+          cable_car: 交走式ロープウェイ
+          chair_lift: チェアリフト
+          runway: 空港滑走路
+          taxiway: 空港誘導路
+          apron: 空港ビル
           admin: 行政境界
           forest: 森
           wood: 森林
           golf: ゴルフ場
           park: 公園
+          common: 共有地
           resident: 住宅地
-          common:
-          - 共有地
-          - 牧草地
-          - 庭園
           retail: 小売業地域
           industrial: 工業地域
           commercial: オフィス地域
           heathland: 荒地
-          lake:
-          - 湖
-          - 溜池
+          lake: 湖
+          reservoir: 溜池
           farm: 農牧場
           brownfield: 褐色地
           cemetery: 墓地
@@ -2054,14 +2035,12 @@ ja:
           centre: スポーツセンター
           reserve: 自然保護区
           military: 軍用地域
-          school:
-          - 学校
-          - 大学
+          school: 学校
+          university: 大学
           building: 重要建造物
           station: 鉄道駅
-          summit:
-          - 山脈
-          - 山頂
+          summit: 山脈
+          peak: 山頂
           tunnel: 点線の枠 = トンネル
           bridge: 黒枠 = 橋梁
           private: 私的通行
@@ -2391,6 +2370,7 @@ ja:
       my_dashboard: 私のダッシュボード
       blocks on me: 自分に与えられたブロック
       blocks by me: 自分が実行したブロック
+      create_mute: この利用者をミュートする
       edit_profile: プロフィールを編集
       send message: メッセージを送信
       diary: 日記
index da1e87d99bf5897f33517e7df1cb294bcda352fc..4b2b25057f446ee412b78ea6b00c7ea86829d198 100644 (file)
@@ -795,7 +795,6 @@ ka:
   messages:
     inbox:
       title: მიღებული
-      my_inbox: ჩემი მიღებული
       messages: თქვენ გაქვთ %{new_messages} და %{old_messages}
       new_messages:
         one: '%{count} ახალი შეტყობინება'
@@ -803,12 +802,14 @@ ka:
       old_messages:
         one: '%{count} ძველი შეტყობინება'
         other: '%{count} ძველი შეტყობინება'
-      from: გამომგზავნი
-      subject: თემა
-      date: თარიღი
       no_messages_yet_html: თქვენ ჯერ არ გაქვთ შეტყობინებები. რატომ არ უნდა გავესაუბრო
         ვინმეს %{people_mapping_nearby_link}?
       people_mapping_nearby: ახლოს მყოფი ხალხი
+    messages_table:
+      from: გამომგზავნი
+      to: ვის
+      subject: თემა
+      date: თარიღი
     message_summary:
       unread_button: მონიშნეთ როგორც წაუკითხავი
       read_button: მონიშნეთ როგორც წაკითხული
@@ -831,9 +832,6 @@ ka:
       messages:
         one: თქვენ გაქვთ %{count} გაგზავნილი შეტყობინება
         other: თქვენ გაქვთ %{count} გაგზავნილი შეტყობინება
-      to: ვის
-      subject: თემა
-      date: თარიღი
       no_sent_messages_html: თქვენ ჯერ არ გაქვთ გაგზავნილი შეტყობინებები. რატომ არ
         უნდა გავესაუბრო ვინმეს %{people_mapping_nearby_link}?
       people_mapping_nearby: ახლოს მყოფი ხალხი
@@ -850,17 +848,19 @@ ka:
         როგორც შესაბამისი მომხმარებელი, რათა წაიკითხოთ ის.
     sent_message_summary:
       destroy_button: წაშლა
+    heading:
+      my_inbox: ჩემი მიღებული
     mark:
       as_read: შეტყობინება მონიშნულია როგორც წაკითხული
       as_unread: შეტყობინება მონიშნულია როგორც წაუკითხავი
     destroy:
       destroyed: შეტყობინება წაშლილია
   passwords:
-    lost_password:
+    new:
       title: პაროლის აღდგენა
       heading: დაგავიწყდათ პაროლი?
       email address: 'ელ. ფოსტის მისამართი:'
-    reset_password:
+    update:
       flash changed: თქვენი პაროლი შეიცვალა.
   profiles:
     edit:
@@ -902,25 +902,11 @@ ka:
       user_page_link: მომხმარებლის გვერდი
     export:
       title: ექსპორტი
-      area_to_export: ტერიტორია ექსპორტისათვის
       manually_select: სხვა რეგიონის გამოყოფა ხელით
-      format_to_export: ექსპორტის ფორმატი
-      osm_xml_data: OpenStreetMap XML–ის მონაცემები
-      map_image: რუკის სურათი (სტანდარტული ფენის ჩვენება)
       licence: ლიცენზია
       too_large:
         planet:
           title: პლანეტა OSM
-      options: პარამეტრები
-      format: ფორმატი
-      scale: მასშტაბი
-      max: მაქს.
-      image_size: გამოსახულების ზომა
-      zoom: გადიდება
-      add_marker: რუკაზე ნიშნულის დასმა
-      latitude: 'განედი:'
-      longitude: 'გრძედი:'
-      output: შედეგი
       export_button: ექსპორტი
     sidebar:
       search_results: ძიების შედეგები
@@ -942,14 +928,8 @@ ka:
           footway: საფეხმავლო გზა
           rail: რკინიგზა
           subway: მეტრო
-          tram:
-            1: ტრამვაი
-          cable:
-          - საბაგირო გზა
-          runway:
-          - აეროპორტის ასაფრენ-დასაფრენი ბილიკი
-          apron:
-            1: ტერმინალი
+          cable_car: საბაგირო გზა
+          runway: აეროპორტის ასაფრენ-დასაფრენი ბილიკი
           admin: ადმინისტრაციული საზღვარი
           forest: ტყე
           wood: ტყე
@@ -957,22 +937,19 @@ ka:
           park: პარკი
           resident: საცხოვრებელი ტერიტორია
           commercial: კომერციული ტერიტორია
-          lake:
-          - ტბა
-          - წყალსაცავი
+          lake: ტბა
+          reservoir: წყალსაცავი
           farm: ფერმა
           cemetery: სასაფლაო
           pitch: სპორტული მოედანი
           centre: სპორტული ცენტრი
           reserve: ნაკრძალი
           military: სამხედრო ტერიტორია
-          school:
-          - სკოლა
-          - უნივერსიტეტი
+          school: სკოლა
+          university: უნივერსიტეტი
           station: რკინიგზის სადგური
-          summit:
-          - მწვერვალი
-          - პიკი
+          summit: მწვერვალი
+          peak: პიკი
   traces:
     new:
       visibility_help: ეს რას ნიშნავს?
index 434ed18f3bc1e14e6cd6abede0cbd1235052ca2f..f170bc8e5eacfdd9d23d2ce83f3748481ab95d0a 100644 (file)
@@ -903,9 +903,10 @@ kab:
   messages:
     inbox:
       title: Tanaka n urmas
-      my_inbox: Tanaka-iw n urmas
       messages: Ɣur-k %{new_messages} akked %{old_messages}
+    messages_table:
       from: Seg
+      to: I
       subject: Asentel
       date: Azemz
     message_summary:
@@ -923,9 +924,6 @@ kab:
       body: Suref-aɣ, ulac izen s usulay-agi.
     outbox:
       title: Tanaka n tuzna
-      to: I
-      subject: Asentel
-      date: Azemz
     show:
       title: Ɣeṛ izen
       reply_button: Err
@@ -934,23 +932,26 @@ kab:
       back: Uɣal
     sent_message_summary:
       destroy_button: Kkes
+    heading:
+      my_inbox: Tanaka-iw n urmas
     mark:
       as_read: Izen yettwacred yettwaɣra
       as_unread: Izen yettwacred ur yettwaɣra ara
     destroy:
       destroyed: Izen yettwakkes
   passwords:
-    lost_password:
+    new:
       title: Awal uffir iṛuḥ
       heading: Tettuḍ awal uffir?
       email address: 'Tansa imayl:'
       new password button: Ales awennez n wawal uffir
-    reset_password:
+    edit:
       title: Ales awennez n wawal uffir
       heading: Ales awennez n wawal uffir i %{user}
       reset: Ales awennez n wawal uffir
-      flash changed: Awal-ik uffir ibeddel.
       flash token bad: Ajiṭun-agi ulac-it, ahat tuccḍa di tansa URL?
+    update:
+      flash changed: Awal-ik uffir ibeddel.
   profiles:
     edit:
       image: 'Tugna:'
@@ -1036,12 +1037,7 @@ kab:
       user_page_link: asebter n useqdac
     export:
       title: Sifeḍ
-      area_to_export: Tamnaḍt n usifeḍ
       manually_select: Fren s ufus tamnadt-nniḍen
-      format_to_export: Amasal n usifeḍ
-      osm_xml_data: Isefka XML OpenStreetMap
-      map_image: Tugna n tkarḍa (ad tesken akalku n tegnut)
-      embeddable_html: HTML yettwaslaɣen
       licence: Turagt
       too_large:
         advice: 'Ma yella asifed ddaw-a yeɣli, seqdec ma ulac aɣilif tiɣbula yettwabedren
@@ -1062,17 +1058,6 @@ kab:
         other:
           title: Iɣbula-nniḍen
           description: Ibula-nniḍen yettwabedren deug uwiki OpenStreetMap
-      options: Iɣewwaṛen
-      format: Amasal
-      scale: Sellum
-      max: afellay
-      image_size: Teɣzi n tugna
-      zoom: Semɣeṛ
-      add_marker: Rnu taṛekkizt ɣef tkarḍa
-      latitude: 'Tarrut:'
-      longitude: 'Tazegrart:'
-      output: Tuffɣa
-      paste_html: Senteḍ tangalt HTML deg usmel Web
       export_button: Sifeḍ
     fixthemap:
       how_to_help:
@@ -1120,11 +1105,9 @@ kab:
       table:
         entry:
           forest: Tiẓgi
-          lake:
-          - Amdun
-          school:
-          - Aɣerbaz
-          - Tasdawit
+          lake: Amdun
+          school: Aɣerbaz
+          university: Tasdawit
     welcome:
       title: Anṣuf!
       whats_on_the_map:
index 9a7569784c77e2777ff004e2f75389aa42836543..b42373947ed913521898310ca29519a5daa17dd1 100644 (file)
@@ -852,7 +852,7 @@ kk-cyrl:
     lost_password:
       subject: '[OpenStreetMap] Құпиясөзді арылту сұранысы'
   messages:
-    inbox:
+    messages_table:
       subject: Тақырып
     message_summary:
       unread_button: Оқылмаған деп белгілеу
@@ -866,10 +866,11 @@ kk-cyrl:
     sent_message_summary:
       destroy_button: Жою
   passwords:
-    lost_password:
+    new:
       email address: 'Е-пошта мекенжайы:'
-    reset_password:
+    edit:
       title: Құпиясөзді арылту
+    update:
       flash changed: Құпия сөзіңіз өзгертілді.
   preferences:
     show:
@@ -937,7 +938,6 @@ kk-cyrl:
           title: OSM ғаламшары
         overpass:
           title: Overpass API
-      image_size: 'Сурет өлшемі:'
       export_button: Экспорттау
     fixthemap:
       how_to_help:
@@ -971,36 +971,26 @@ kk-cyrl:
           unclassified: Жергілікті жол
           rail: Темір жол
           subway: Метро
-          tram:
-          - Жеңіл рельсті көлік
-          apron:
-          - Әуежай перроны
-          - терминал
+          apron: Әуежай перроны
           admin: Әкімшілік шекара
           forest: Орман
           golf: Гольф алаңы
           park: Саябақ
           resident: Тұрғын аудан
-          common:
-            1: шабындық
-            2: бақ
           retail: Сауда аймағы
           industrial: Өнеркәсіп аймағы
-          lake:
-          - Көл
+          lake: Көл
           farm: Ферма
           cemetery: Зират
           allotments: Саяжайлар
           pitch: Спорт алаңы
           centre: Спорт орталығы
           military: Әскери аймақ
-          school:
-          - Мектеп
-          - университет
+          school: Мектеп
+          university: университет
           building: Елеулі ғимарат
           station: Темір жол бекеті
-          summit:
-            1: шың
+          peak: шың
           bicycle_shop: Велосипед дүкені
           toilets: Дәретхана
     welcome:
index d32001d7b5675f6a0fd5b3549671c8291e2ad8eb..b6a7d62fc4c54801e87a7880c26bfb45e36c1ebc 100644 (file)
@@ -650,16 +650,13 @@ km:
       button: បញ្ជាក់​
       success: បានបញ្ជាក់អាសយដ្ឋានអ៊ីមែលរបស់អ្នករូចរាល់ហើយ!
   messages:
-    inbox:
+    messages_table:
       from: ពី​
+      to: ទៅ​
       subject: ប្រធានបទ​
       date: កាលបរិច្ឆេទ​
     new:
       back_to_inbox: ត្រឡប់ទៅប្រអប់សំបុត្រ​
-    outbox:
-      to: ទៅ​
-      subject: ប្រធានបទ​
-      date: កាលបរិច្ឆេទ​
   sessions:
     new:
       title: កត់ឈ្មោះចូល
@@ -694,20 +691,10 @@ km:
       not_public: អ្នកមិនបានកំណត់​កំណែប្រែរបស់អ្នកជាសាធារណៈ​។
       user_page_link: ទំព័រអ្នកប្រើប្រាស់​
     export:
-      area_to_export: ផ្ទៃដើម្បីនាំចេញ​
       licence: អាជ្ញាបណ្ណ
       too_large:
         planet:
           title: Planet OSM
-      options: ជម្រើស
-      format: ទម្រង់
-      scale: រង្វាស់​
-      max: អតិ.
-      image_size: ទំហំ​រូបភាព​
-      zoom: ពង្រីកចូលឬបង្រួមចេញ
-      add_marker: បន្ថែមសញ្ញាសម្គាល់ទៅលើផែនទី
-      latitude: រយៈទទឹង៖
-      longitude: រយៈបណ្ដោយ៖
       export_button: នាំចេញ​
     sidebar:
       search_results: លទ្ធផលនៃការស្វែងរក​
@@ -726,17 +713,14 @@ km:
           cycleway_local: ផ្លូវទោចក្រយានតំបន់
           rail: ផ្លូវដែក
           subway: ផ្លូវដែកក្រោមដី
-          tram:
-          - ផ្លូវដែកធុនស្រាល
           admin: ព្រំដែនរដ្ឋបាល
           forest: ព្រៃឈើ​
           park: ឧទ្យាន​
           industrial: តំបន់ឧស្សាហកម្ម​
           farm: កសិដ្ឋាន​
           centre: មជ្ឈមណ្ឌល​កីឡា​
-          school:
-          - សាលារៀន​
-          - សាកលវិទ្យាល័យ​
+          school: សាលារៀន​
+          university: សាកលវិទ្យាល័យ​
           station: ស្ថានីយ៍ផ្លូវដែក
   traces:
     new:
index 21f4cd062a1c6894919d0344f3d2eb8154539990..87394bf2eec4b47212572064542ff16c9bffe12b 100644 (file)
@@ -715,8 +715,9 @@ kn:
     confirm_email:
       button: ಧೃಡಪಡಿಸಿ
   messages:
-    inbox:
+    messages_table:
       from: ಇಂದ
+      to: ಗೆ
       subject: ವಿಷಯ
       date: ದಿನಾಂಕ
     message_summary:
@@ -729,9 +730,6 @@ kn:
       title: ಅಂತಹ ಯಾವುದೇ ಸಂದೇಶವಿಲ್ಲ
       heading: ಅಂತಹ ಯಾವುದೇ ಸಂದೇಶವಿಲ್ಲ
     outbox:
-      to: ಗೆ
-      subject: ವಿಷಯ
-      date: ದಿನಾಂಕ
       people_mapping_nearby: ನಿಮ್ಮ ಹತ್ತಿರವಿರುವ ಬಳಕೆದಾರರು
     show:
       title: ಸಂದೇಶವನ್ನು ಓದಿ
@@ -747,9 +745,9 @@ kn:
     destroy:
       destroyed: ಸಂದೇಶವನ್ನು ಅಳಿಸಿ ಹಾಕಲಾಗಿದೆ
   passwords:
-    lost_password:
+    new:
       email address: 'ಮಿಂಚಂಚೆ ವಿಳಾಸ:'
-    reset_password:
+    update:
       flash changed: ನಿಮ್ಮ ಪ್ರವೇಶಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ.
   preferences:
     show:
@@ -830,11 +828,6 @@ kn:
     export:
       title: ರಫ್ತು ಮಾಡು
       licence: ಪರವಾನಗಿ
-      options: ಆಯ್ಕೆಗಳು
-      scale: ಮಾಪಕ
-      latitude: 'ಅಕ್ಷಾಂಶ:'
-      longitude: 'ರೇಖಾಂಶ:'
-      output: ಔಟ್‌ಪುಟ್
       export_button: ರಫ್ತು ಮಾಡು
     fixthemap:
       title: ಸಮಸ್ಯೆಯನ್ನು ವರದಿ ಮಾಡಿ / ನಕ್ಷೆಯನ್ನು ಸರಿಪಡಿಸಿ
@@ -873,14 +866,12 @@ kn:
           forest: ಅರಣ್ಯ
           park: ಉದ್ಯಾನ
           resident: ವಾಸ ಮಾಡುವ ಸ್ಥಳ
-          lake:
-          - ಕೆರೆ
-          - ಅಣೆಕಟ್ಟು
+          lake: ಕೆರೆ
+          reservoir: ಅಣೆಕಟ್ಟು
           farm: ಒಕ್ಕಲು ಜಮೀನು
           cemetery: ಸ್ಮಾಶಾಣ
-          school:
-          - ಪಾಠಶಾಲೆ
-          - ವಿಶ್ವವಿದ್ಯಾಲಯ
+          school: ಪಾಠಶಾಲೆ
+          university: ವಿಶ್ವವಿದ್ಯಾಲಯ
           station: ರೈಲು ನಿಲ್ದಾಣ
     welcome:
       title: ಸುಸ್ವಾಗತ!
index 62ccce407c1555db3954adc4220207735cf05ff1..71151740ba2257c61e68904dbb5e2434edf6fb6d 100644 (file)
@@ -1406,9 +1406,9 @@ ko:
       reports:
         other: 신고 %{count}건
       no_reports: 보고서 없음
-      report_created_at: '%{datetime}에 처음 보고됨'
-      last_resolved_at: '%{datetime}에 마지막으로 해결됨'
-      last_updated_at: '%{displayname}에 의해 %{datetime}에 마지막으로 갱신됨'
+      report_created_at_html: '%{datetime}에 처음 보고됨'
+      last_resolved_at_html: '%{datetime}에 마지막으로 해결됨'
+      last_updated_at_html: '%{displayname}에 의해 %{datetime}에 마지막으로 갱신됨'
       resolve: 해결
       ignore: 무시
       reopen: 다시 열림
@@ -1649,8 +1649,6 @@ ko:
   messages:
     inbox:
       title: 받은 쪽지함
-      my_inbox: 받은 쪽지함
-      my_outbox: 보낸 쪽지함
       messages: '%{new_messages}와 %{old_messages}가 있습니다'
       new_messages:
         one: 새 메시지 %{count}개
@@ -1658,12 +1656,14 @@ ko:
       old_messages:
         one: 오래된 메시지 %{count}개
         other: 오래된 메시지 %{count}개
-      from: 보낸 사람
-      subject: 제목
-      date: 날짜
       no_messages_yet_html: 아직 메시지가 없습니다. %{people_mapping_nearby_link}에서 마음에 드는 친구를
         찾아보는 것은 어떨까요?
       people_mapping_nearby: 근처에 매핑한 사람
+    messages_table:
+      from: 보낸 사람
+      to: 받는이
+      subject: 제목
+      date: 날짜
     message_summary:
       unread_button: 읽지 않음으로 표시
       read_button: 읽음으로 표시
@@ -1682,14 +1682,9 @@ ko:
       body: 죄송합니다 해당 id로 된 메시지가 없습니다.
     outbox:
       title: 보낸 쪽지함
-      my_inbox: 받은 쪽지함
-      my_outbox: 보낸 쪽지함
       messages:
         one: 메시지 %{count}개를 보냈습니다
         other: 메시지 %{count}개를 보냈습니다
-      to: 받는이
-      subject: 제목
-      date: 날짜
       no_sent_messages_html: 아직 보낸 메시지가 없습니다. %{people_mapping_nearby_link}에서 마음에
         드는 친구를 찾아보는 것은 어떨까요?
       people_mapping_nearby: 근처에 매핑한 사람
@@ -1706,26 +1701,31 @@ ko:
         올바른 사용자로 로그인하세요.'
     sent_message_summary:
       destroy_button: 삭제
+    heading:
+      my_inbox: 받은 쪽지함
+      my_outbox: 보낸 쪽지함
     mark:
       as_read: 메시지를 읽은 것으로 표시
       as_unread: 메시지를 읽지 않은 것으로 표시
     destroy:
       destroyed: 메시지가 삭제됨
   passwords:
-    lost_password:
+    new:
       title: 잊어버린 비밀번호
       heading: 비밀번호를 잊으셨나요?
       email address: '이메일 주소:'
       new password button: 비밀번호 재설정
       help_text: 가입할 때 사용한 이메일 주소를 입력하세요, 비밀번호를 재설정하여 사용할 수 있는 링크를 보내드립니다.
+    create:
       notice email on way: 비밀번호를 잊었다니, 안타깝습니다 :-( 비밀번호 재설정을 할 수 있도록 이메일이 발송되었습니다.
       notice email cannot find: 이메일 주소를 찾지 못해 죄송합니다.
-    reset_password:
+    edit:
       title: 비밀번호 재설정
       heading: '%{user}의 비밀번호 재설정'
       reset: 비밀번호 재설정
-      flash changed: 비밀번호가 바뀌었습니다.
       flash token bad: 토큰을 찾지 못했습니다. URL을 확인했습니까?
+    update:
+      flash changed: 비밀번호가 바뀌었습니다.
   preferences:
     show:
       title: 내 환경 설정
@@ -1828,6 +1828,7 @@ ko:
       image: 이미지
       alt: 대체 텍스트
       url: URL
+      codeblock: 코드 블록
     richtext_field:
       edit: 편집
       preview: 미리 보기
@@ -2019,12 +2020,7 @@ ko:
       no_iframe_support: 브라우저가 이 기능에 필요한 HTML iframe을 지원하지 않습니다.
     export:
       title: 내보내기
-      area_to_export: 지역 내보내기
       manually_select: 수동으로 다른 지역 선택
-      format_to_export: 내보내기 형식
-      osm_xml_data: 오픈스트리트맵 XML 데이터
-      map_image: 지도 그림 (표준 레이어 보이기)
-      embeddable_html: 내장된 HTML
       licence: 라이선스
       licence_details_html: OpenStreetMap 데이터의 라이선스는 %{odbl_link} (ODbL)를 따릅니다.
       odbl: 오픈 데이터 커먼즈 오픈 데이터베이스 라이선스
@@ -2044,17 +2040,6 @@ ko:
         other:
           title: 다른 원본
           description: OpenStreetMap 위키에 나와있는 추가 원본
-      options: 옵션
-      format: 형식
-      scale: 축척
-      max: 최대
-      image_size: 그림 크기
-      zoom: 확대/축소
-      add_marker: 지도에 표시 추가
-      latitude: '위도:'
-      longitude: '경도:'
-      output: 출력
-      paste_html: HTML을 붙여 넣어 웹사이트에 포함시키세요
       export_button: 내보내기
     fixthemap:
       title: 문제 보고 / 지도 수정
@@ -2155,35 +2140,24 @@ ko:
           footway: 보도
           rail: 철도
           subway: 지하철
-          tram:
-          - 경전철
-          - 노면 전차
-          cable:
-          - 케이블 카
-          - 체어 리프트
-          runway:
-          - 공항 활주로
-          - 공항 유도로
-          apron:
-          - 공항 계류장
-          - 터미널
+          cable_car: 케이블 카
+          chair_lift: 체어 리프트
+          runway: 공항 활주로
+          taxiway: 공항 유도로
+          apron: 공항 계류장
           admin: 행정 구역 경계
           forest: 숲
           wood: 산림
           golf: 골프장
           park: 공원
+          common: 공유지
           resident: 주거 지역
-          common:
-          - 공유지
-          - 목초지
-          - 정원
           retail: 소매 지역
           industrial: 산업 지역
           commercial: 상업/관공서 지역
           heathland: 황무지
-          lake:
-          - 호수
-          - 저수지
+          lake: 호수
+          reservoir: 저수지
           farm: 농장
           brownfield: 재개발지역
           cemetery: 묘역
@@ -2192,14 +2166,12 @@ ko:
           centre: 스포츠 센터
           reserve: 자연 보호구역
           military: 군사 지역
-          school:
-          - 학교
-          - 대학
+          school: 학교
+          university: 대학
           building: 주요 건물
           station: 철도역
-          summit:
-          - 산꼭대기
-          - 봉우리
+          summit: 산꼭대기
+          peak: 봉우리
           tunnel: 점선 테두리 = 터널
           bridge: 검은 테두리 = 다리
           private: 개인 통행
index 3cf67f7b5c98e144885fc98c11d752d0b49ce011..0cbe9713c293f9a8afa5d70c79d6ec47410269e9 100644 (file)
@@ -190,12 +190,13 @@ ksh:
       heading: Donn en neue Adräß för de e-mail beschtäätejje
   messages:
     inbox:
-      from: Vum
-      subject: Theema
-      date: Et Dattum
       no_messages_yet_html: Do häs noch kein Nohreeschte krääje. Woröm deihs De nit
         ens met dä Lück kalle, di %{people_mapping_nearby_link}?
       people_mapping_nearby: en Dinge Nöhde och am Kaate maache sin
+    messages_table:
+      from: Vum
+      subject: Theema
+      date: Et Dattum
     outbox:
       no_sent_messages_html: Do häs noch kein Nohreeschte verscheck. Woröm deihs De
         nit ens met dä Lück kalle, di %{people_mapping_nearby_link}?
@@ -204,14 +205,15 @@ ksh:
     sent_message_summary:
       destroy_button: Fottschmiiße
   passwords:
-    lost_password:
+    new:
       title: Verloore Paßwoot
       heading: Paßwoot verjäße?
       email address: 'De Adräß för de e-mail:'
       new password button: Paßwoot neu säze
-    reset_password:
+    edit:
       title: Paßwoot neu säze
       reset: Paßwoot neu säze
+    update:
       flash changed: Ding Paßwoot es jeändert.
   sessions:
     new:
@@ -248,9 +250,6 @@ ksh:
         title: Övver di Sigg heh
     edit:
       anon_edits_link_text: Fengk eruß, woröm dadd esu es.
-    export:
-      osm_xml_data: OpenStreetMap sing XML Daate
-      options: Ennschtällonge
     help:
       beginners_guide:
         title: Aanleidong för Aanfänger
@@ -277,34 +276,24 @@ ksh:
           footway: Fohßwääsch udder Päddsche
           rail: Eiserbahn
           subway: U-Bahn
-          tram:
-          - Klëijnbahn
-          - Strohßebahn
-          cable:
-          - Seilbahn
-          - Sässelbahn
-          runway:
-          - Startbahn, Landebahn
-          - Rollwääsch om Fluchhaaven
-          apron:
-          - Halldepläz om Fluchveäld
-          - Terminal em Fluchhaaven
+          cable_car: Seilbahn
+          chair_lift: Sässelbahn
+          runway: Startbahn, Landebahn
+          taxiway: Rollwääsch om Fluchhaaven
+          apron: Halldepläz om Fluchveäld
           admin: Verwalldongsjränz
           forest: Wald, Bösch
           wood: Urwald
           golf: Jolfplaz
           park: Park
+          common: öffentlesch Land
           resident: Wohnjebeet
-          common:
-          - öffentlesch Land
-          - Wiß
           retail: Einkaufszentrum
           industrial: Industriejebeet
           commercial: Jewerbejebeet
           heathland: Heed
-          lake:
-          - See, Wejer
-          - Stausee
+          lake: See, Wejer
+          reservoir: Stausee
           farm: Buurehoff
           brownfield: Industriebrachland
           cemetery: Friedhoff
@@ -313,14 +302,12 @@ ksh:
           centre: Schpochtzäntom
           reserve: Naturschozjebeet
           military: Jebeet vum Kammiß
-          school:
-          - Scholl
-          - Univäsität
+          school: Scholl
+          university: Univäsität
           building: Weeschtesch Bouwärk
           station: Bahnhoff
-          summit:
-          - Bärschspez
-          - Bärschspez
+          summit: Bärschspez
+          peak: Bärschspez
           tunnel: Rand jeschtreschelt = Tunnell
           bridge: Fätte Rand = Bröck
           private: Der Zohjang es prėvaat
index 5e53c06d12798c83c4ed63b72948ec307a45ecab..43eee1b8da203bb5a88096ec4431bfee5d74035d 100644 (file)
@@ -47,6 +47,9 @@ ku-Latn:
       messages:
         invalid_email_address: ne weke navnîşaneke e-peyamê ya derbasdar e
         email_address_not_routable: nikare were alîkirin
+      models:
+        user_mute:
+          is_already_muted: jixwe bêdengkirî ne
     models:
       acl: Lîsteya kontrola têketinan
       changeset: Qeyda guhartinan
@@ -237,6 +240,7 @@ ku-Latn:
         reopened_at_by_html: '%{when} ji aliyê %{user} ve jinûve hate aktîvkirin'
       rss:
         title: Notên OpenStreetMapê
+        description_all: Lîsteyeke notên gilîkirî, şîrovekirî an girtî
         description_area: Lîsteya notên herêma te yên ku hatine raporkirin, şirovekirin
           an jî girtin [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Ji bo nota %{id} xwedîkirina rss'ê
@@ -271,6 +275,8 @@ ku-Latn:
         retain_changeset_discussions: Gotûbêjên te yên qeyda guhartinan, ger hebin,
           wê bêne muhafezekirin.
         retain_email: Adresa te ya epeyamê wê were muhafezekirin.
+        recent_editing_html: Ji ber ku te hesabê xwe vê talîyê guherandîye, vê gavê
+          nayê jêbirin. Jêbirin wê di %{time} de mimkin be.
         confirm_delete: Tu piştrast î?
         cancel: Betal bike
   accounts:
@@ -301,6 +307,9 @@ ku-Latn:
       delete_account: Hesabê Jê bibe...
     go_public:
       heading: Guherandina ji her kesê re vekirî
+      currently_not_public: Vê gavê guhertinên te anonîm in û însan nikarin mesaj
+        bişînin te an lokasyona te bibînin. Ji bo nîşandan guhertinên te kirî û îzin
+        bidî însanan ku bi rêya malperê bi te re îrtîbat deynin, li bûtona jêrî bitikîne.
       make_edits_public_button: Hemû guherandinên min bila ji her kesê re vekirî be
     update:
       success_confirm_needed: Agahiyên bikarhêner bi awayekî serkeftî hate nûkirin.
@@ -1423,10 +1432,10 @@ ku-Latn:
         one: '%{count} rapor'
         other: '%{count} raporan'
       no_reports: Ti raporekî tine
-      report_created_at: Pêşî di %{datetime} de hatiye raporkirin
-      last_resolved_at: Herî dawî di %{datetime} de hat çareserkirin
-      last_updated_at: Ji aliyê %{displayname} ve herî dawî di %{datetime} de hat
-        rojanekirin
+      report_created_at_html: Pêşî di %{datetime} de hatiye raporkirin
+      last_resolved_at_html: Herî dawî di %{datetime} de hat çareserkirin
+      last_updated_at_html: Ji aliyê %{displayname} ve herî dawî di %{datetime} de
+        hat rojanekirin
       resolve: Çareser bike
       ignore: Guh nedê
       reopen: Dîsa veke
@@ -1715,8 +1724,6 @@ ku-Latn:
   messages:
     inbox:
       title: Qutiya hatiyan
-      my_inbox: Qutiya min a hatiyan
-      my_outbox: Çûdanka min
       messages: '%{new_messages} û %{old_messages} hene.'
       new_messages:
         one: '%{count} peyama nû'
@@ -1724,12 +1731,14 @@ ku-Latn:
       old_messages:
         one: '%{count} peyama kevin'
         other: '%{count} peyamên kevin'
-      from: Ji
-      subject: Mijar
-      date: Dîrok
       no_messages_yet_html: Hêj peyama te tine ye. Çima ji ser %{people_mapping_nearby_link}
         bi kesên nêzîkê xwe re nakevî îrtîbatê?
       people_mapping_nearby: lînka nexşesazên li derdorên nêzîk
+    messages_table:
+      from: Ji
+      to: Ji bo
+      subject: Mijar
+      date: Dîrok
     message_summary:
       unread_button: Wek nexwendî nîşan bide
       read_button: Wek xwendî nîşan bide
@@ -1749,14 +1758,9 @@ ku-Latn:
       body: Li me bibore, bi vê id-yê ti peyam tine ye.
     outbox:
       title: Qutiya min a çûyiyan
-      my_inbox: Hatdanka min
-      my_outbox: Çûdanka min
       messages:
         one: Te %{count} peyam şand
         other: Te %{count} peyaman şand
-      to: Ji bo
-      subject: Mijar
-      date: Dîrok
       no_sent_messages_html: Te hêj ji kesî re peyam neşandiye. Çima ji ser %{people_mapping_nearby_link}
         bi hinek kesên nêzîkê xwe re nakevî îrtîbatê?
       people_mapping_nearby: lînka nexşesazên li derdorên nêzîk
@@ -1775,29 +1779,34 @@ ku-Latn:
         Xêra xwe ji bo xwendinê wekî bikarhênerê rast têbikeve.
     sent_message_summary:
       destroy_button: Jê bibe
+    heading:
+      my_inbox: Qutiya min a hatiyan
+      my_outbox: Çûdanka min
     mark:
       as_read: Peyam wek xwendî hate nîşankirin
       as_unread: Peyam wek nexwendî hate nîşankirin
     destroy:
       destroyed: Payam hate jêbirin
   passwords:
-    lost_password:
+    new:
       title: Şîfreya wenda
       heading: Te şîfreya xwe ji bîr kir?
       email address: 'Navnîşana E-peyamê:'
       new password button: Şîfreyê nû bike
       help_text: E-peyama ku te pê xwe qeydkiribû binivîse, em ê ji te re lînkek bişînin
         tu yê bi wê lînkê bikaribî şîfreya xwe nû bikî.
+    create:
       notice email on way: Bibore, te wê wenda kir :-( lê belê e-peyamekî nû di rê
         de ye. Lewma tu dikarî di nêz de wê nû bikî.
       notice email cannot find: Bibore, ev adrêsa e-peyamê nehate dîtin.
-    reset_password:
+    edit:
       title: Şîfreyê nû bike
       heading: Şîfreyê nû bike ji bo %{user}
       reset: Şîfreyê nû bike
-      flash changed: Şîfreya te hate guhartin.
       flash token bad: Eger te vê sembolê nedîtibe, belkî jî divê tu URLyê kontrol
         bikî?
+    update:
+      flash changed: Şîfreya te hate guhartin.
   preferences:
     show:
       title: Tercîhên min
@@ -1982,12 +1991,7 @@ ku-Latn:
         vê taybetmendiyê lazim e.
     export:
       title: Derxîne
-      area_to_export: Cihê ku wê were derxistin
       manually_select: Bi destê xwe cihekî din bibijêre
-      format_to_export: Awayê derxistinê
-      osm_xml_data: Daneyên OpenStreetMapê a bi şiklê XML'yê
-      map_image: Risma Xerîteyê (tebeqeya standart nîşan dide)
-      embeddable_html: HTML'a ku dikare were pêvekirin
       licence: Lîsans
       too_large:
         advice: Eger hûn ji yê jor nikaribin eksport bikin, xêra xwe yek ji van çavkaniyên
@@ -2011,17 +2015,6 @@ ku-Latn:
           title: Çavkaniyên din
           description: Çavkaniyên îlawe yên ku li ser wîkiya OpenStreetMapê hatine
             lîstekirin
-      options: Vebijêrk
-      format: Format
-      scale: Pîvan (miqyas)
-      max: maksîmum
-      image_size: Mezinahiya Rismê
-      zoom: Nêzîk bike
-      add_marker: Nîşankereke îlawe bike xerîteyê
-      latitude: Hêlîpanː
-      longitude: Hêlîlarː
-      output: Encam
-      paste_html: Vê koda HTML'yê dikarî bi ser malperra xwe ve kopî bikî
       export_button: Derxîne
     fixthemap:
       title: Pirgirêkek rabigihîne / Nexşeyê sererast bike
@@ -2110,35 +2103,24 @@ ku-Latn:
           footway: Rêya peyayan
           rail: Rêhesin
           subway: Metro
-          tram:
-          - Rêya trênê yê bi xeta teng
-          - tramway
-          cable:
-          - Teleferîk
-          - teleferîk
-          runway:
-          - Pîsta balafirgehê
-          - rêya balafirgehê yê çûnûhatinê
-          apron:
-          - Aprona balafirgehê
-          - termînal
+          cable_car: Teleferîk
+          chair_lift: Teleferîk
+          runway: Pîsta balafirgehê
+          taxiway: Rêya balafirgehê yê çûnûhatinê
+          apron: Aprona balafirgehê
           admin: Sînorê îdarî
           forest: Daristan
-          wood: Daristan
+          wood: Daristan (bêçavdêrî, wek-xwe-hêlayî)
           golf: Cihê golfê
           park: Park
+          common: Erda mişterek
           resident: Cihê îkametê
-          common:
-          - Erda mişterek
-          - mêrg
-          - bexçe
           retail: Saheya Perakendeyê (Maxazayan)
           industrial: Cihê endustriyê
           commercial: Herêma bazirganiyê
           heathland: Erdê qeraç
-          lake:
-          - Gol
-          - mexzen
+          lake: Gol
+          reservoir: Gola sûnî
           farm: Cotgeh
           brownfield: Erdê vala
           cemetery: Gorristan
@@ -2147,14 +2129,12 @@ ku-Latn:
           centre: Navenda sporê
           reserve: Herêma muhefezekirî ya tebîetê
           military: Qada eskerî
-          school:
-          - Dibistan
-          - zanîngeh
+          school: Dibistan
+          university: Unîversîte
           building: Avahiya girîng
           station: Stasyona trênê
-          summit:
-          - Lûtke
-          - lûtke
+          summit: Lûtke
+          peak: Lûtke
           tunnel: Xeta qutqutî = tûnel
           bridge: Xeta reş = pir
           private: Têketina taybet
@@ -2258,8 +2238,8 @@ ku-Latn:
     trace:
       pending: LI BENDÊ YE
       count_points:
-        one: Nuqteyekê
-        other: '%{count} nuqte'
+        one: Niqteyekê
+        other: '%{count} niqte'
       more: dêtay
       trace_details: Dêtayên Şopê Bibîne
       view_map: Nexşeyê bibîne
index e23c73132b2c1cf1b5f6bdc036a509968105fa25..2780f657794db486954f42a36eccd5a2218f3f6d 100644 (file)
@@ -1401,9 +1401,9 @@ lb:
       reports:
         one: '%{count} Meldung'
         other: '%{count} Meldungen'
-      report_created_at: Fir d'éischt gemellt den %{datetime}
-      last_resolved_at: Fir d'lescht erleedegt den %{datetime}
-      last_updated_at: Fir d'lescht aktualiséiert den %{datetime} vun %{displayname}
+      report_created_at_html: Fir d'éischt gemellt den %{datetime}
+      last_resolved_at_html: Fir d'lescht erleedegt den %{datetime}
+      last_updated_at_html: Fir d'lescht aktualiséiert den %{datetime} vun %{displayname}
       resolve: Léisen
       ignore: Ignoréieren
       reopen: Nees opmaachen
@@ -1691,8 +1691,6 @@ lb:
   messages:
     inbox:
       title: Postagang
-      my_inbox: Mäi Postagang
-      my_outbox: Mäi Postausgang
       messages: Dir hutt %{new_messages} a(n) %{old_messages}
       new_messages:
         one: '%{count} neie mMssage'
@@ -1700,12 +1698,15 @@ lb:
       old_messages:
         one: '%{count} ale Message'
         other: '%{count} al Messagen'
-      from: Vu(n)
-      subject: Sujet
-      date: Datum
       no_messages_yet_html: Du hues nach keng Noriichte versent. Wëlls de mat %{people_mapping_nearby_link}
         Kontakt ophuelen?
       people_mapping_nearby: Mapperen an der Noperschaft
+    messages_table:
+      from: Vu(n)
+      to: Un
+      subject: Sujet
+      date: Datum
+      actions: Aktiounen
     message_summary:
       unread_button: Als net gelies markéieren
       read_button: Als gelies markéieren
@@ -1725,14 +1726,10 @@ lb:
       body: Leider gëtt et kee Message mat där ID.
     outbox:
       title: Outbox
-      my_inbox: Mäi Postagang
-      my_outbox: Mäi Postausgang
+      actions: Aktiounen
       messages:
         one: Du hues %{count} Noriicht gesent
         other: Du hues %{count} Noriichte gesent
-      to: Un
-      subject: Sujet
-      date: Datum
       no_sent_messages_html: Du hues nach keng Noriichte versent. Wëlls de mat %{people_mapping_nearby_link}
         Kontakt ophuelen?
       people_mapping_nearby: Mapperen an der Noperschaft
@@ -1751,30 +1748,35 @@ lb:
         mat dem richtege Benotzer un.
     sent_message_summary:
       destroy_button: Läschen
+    heading:
+      my_inbox: Mäi Postagang
+      my_outbox: Mäi Postausgang
     mark:
       as_read: Message als gelies markéiert
       as_unread: Message als net gelies markéiert
     destroy:
       destroyed: Message geläscht
   passwords:
-    lost_password:
+    new:
       title: Passwuert vergiess
       heading: Passwuert vergiess?
-      email address: 'E-Mail-Adress:'
+      email address: E-Mail-Adress
       new password button: Passwuert zrécksetzen
       help_text: Wannechgelift gëff deng E-Mail-Adress an, mat däers du dech ugemellt
         has. Mir wäerten dir dann e Link schécken, mat dems du däi Passwuert zerécksetze
         kanns.
+    create:
       notice email on way: Eng E-Mail mat Hiweiser fir d'Zerécksetze vum Passwuert
         gouf un dech versent.
       notice email cannot find: Déi E-Mail-Adress konnt net fonnt ginn, pardon.
-    reset_password:
+    edit:
       title: Passwuert zrécksetzen
       heading: Passwuert fir %{user} zrécksetzen
       reset: Passwuert zrécksetzen
-      flash changed: Äert Passwuert gouf geännert.
       flash token bad: Mir konnten dëst Kierzel leider net fannen. Du hues dech méiglecherweis
         vertippt oder du hues en ongëltege Link opgemaach.
+    update:
+      flash changed: Äert Passwuert gouf geännert.
   preferences:
     show:
       title: Meng Benotzerastellungen
@@ -1820,8 +1822,8 @@ lb:
     new:
       title: Umellen
       heading: Umellen
-      email or username: 'E-Mail-Adress oder Benotzernumm:'
-      password: 'Passwuert:'
+      email or username: E-Mail-Adress oder Benotzernumm
+      password: Passwuert
       openid_html: '%{logo} OpenID:'
       remember: Sech u mech erënneren
       lost password link: Hutt Dir Äert Passwuert vergiess?
@@ -1896,6 +1898,7 @@ lb:
       community_driven_title: Communautéitsbedriwwen
       open_data_title: Open Data
       legal_title: Rechtlech Hiweiser
+      legal_1_1_privacy_policy: Dateschutzrichtlinnen
       partners_title: Partneren
     copyright:
       foreign:
@@ -1948,11 +1951,7 @@ lb:
       anon_edits_link_text: Fannt eraus firwat dat de Fall ass.
     export:
       title: Exportéieren
-      area_to_export: Beräich fir den Export
       manually_select: Sicht manuell eng aner Géigend eraus
-      format_to_export: Format fir z'exportéieren
-      osm_xml_data: OpenStreetMap-XML-Daten
-      embeddable_html: HTML fir anzebannen
       licence: Lizenz
       too_large:
         body: Dëse Beräich ass ze grouss, fir als OpenStreetMap-XML-Donnéeën exportéiert
@@ -1967,17 +1966,6 @@ lb:
         other:
           title: Aner Quellen
           description: Zousätzlech Quelle stinn an der OpenStreetMap Wiki
-      options: Optiounen
-      format: Format
-      scale: Maassstab
-      max: max
-      image_size: Gréisst vum Bild
-      zoom: Zoom
-      add_marker: Eng Markéierung op der Kaart bäifügen
-      latitude: 'Geographesch Breet:'
-      longitude: 'Geographesch Längt:'
-      output: Resultat
-      paste_html: HTML-Code kopéieren, fir en an eng Websäit anzefügen
       export_button: Exportéieren
     fixthemap:
       title: E Probleem mellen / D'Kaart verbesseren
@@ -2023,6 +2011,7 @@ lb:
           main_road: Haaptstrooss
           secondary: Niewestrooss
           unclassified: Net klasséiert Strooss
+          pedestrian: Foussgängerwee
           track: Spuer
           bridleway: Wee fir Päerd
           cycleway: Vëlospiste
@@ -2031,32 +2020,33 @@ lb:
           cycleway_local: Lokale Vëloswee
           footway: Fousswee
           rail: Eisebunn
+          train: Zuch
           subway: Metro
-          tram:
-            1: Tram
-          cable:
-          - Seelbunn
-          - Sessellift
-          runway:
-          - Start- a Landebunn
-          - Rullbunn
-          apron:
-            1: Terminal
+          ferry: Fär
+          tram: Tram
+          bus: Bus
+          cable_car: Seelbunn
+          chair_lift: Sessellift
+          runway: Start- a Landebunn
+          taxiway: Rullbunn
           admin: Verwaltungsgrenz
+          capital: Haaptstad
+          city: Stad
+          orchard: Bongert
+          vineyard: Wéngert
           forest: Bësch
           wood: Bësch
+          grass: Wiss
+          sand: Sand
           golf: Golfterrain
           park: Park
-          common:
-          - ëffentlech Gréngfläch (brit.)
-          - Wiss
-          - Gaart
+          common: ëffentlech Gréngfläch (brit.)
           retail: Akaafszentrum
           industrial: Industriezone
           commercial: Commercëgebitt
           heathland: Heed
-          lake:
-          - Séi
+          lake: Séi
+          glacier: Gletscher
           farm: Bauerenhaff
           brownfield: Broochland
           cemetery: Kierfecht
@@ -2065,16 +2055,16 @@ lb:
           centre: Sportszenter
           reserve: Naturschutzgebitt
           military: Militärgebitt
-          school:
-          - Schoul
-          - Universitéit
+          school: Schoul
+          university: Universitéit
+          hospital: Spidol
           building: Bedeitend Gebai
           station: Gare (Eisebunn)
-          summit:
-          - Spëtzt
+          summit: Spëtzt
           private: Privaten Terrain
           destination: Nëmme fir Leit mat Uleies
           construction: Stroossen am Bau
+          bus_stop: Busarrêt
           bicycle_shop: Vëlosgeschäft
           bicycle_parking: Vëlosparking
           toilets: Toiletten
@@ -2247,6 +2237,7 @@ lb:
       display name description: Däin ëffentlech ugewisene Benotzernumm. E ka spéider
         an den Astellunge geännert ginn.
       continue: Mellt Iech un
+      privacy_policy: Dateschutzrichtlinnen
     terms:
       heading: Bedingungen
       consider_pd: Zousätzlech zu den uewe genannte Konditioune betruechten ech meng
@@ -2406,6 +2397,13 @@ lb:
       showing_page: Säit %{page}
       next: Nächst »
       previous: « Vireg
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Aktiounen
+        tbody:
+          send_message: Message schécken
   notes:
     index:
       no_notes: Keng Notizen
index a47ba27dbc52669cd9c3c5207c7c0969f7e1048b..cd71732cb9b110a55ce51f9d4521e98343398fdb 100644 (file)
@@ -1382,9 +1382,9 @@ lt:
         many: '{%count} pranešimas'
         other: '%{count} pranešimų'
       no_reports: Jokių ataskaitų
-      report_created_at: Pirmą kartą pranešta %{datetime}
-      last_resolved_at: Paskutinį kartą išspręsta %{datetime}
-      last_updated_at: Paskutinį kartą atnaujinta %{datetime} naudotojo %{displayname}
+      report_created_at_html: Pirmą kartą pranešta %{datetime}
+      last_resolved_at_html: Paskutinį kartą išspręsta %{datetime}
+      last_updated_at_html: Paskutinį kartą atnaujinta %{datetime} naudotojo %{displayname}
       resolve: Išspręsti
       ignore: Ignoruoti
       reopen: Iš naujo atidaryti
@@ -1659,8 +1659,6 @@ lt:
   messages:
     inbox:
       title: Gautieji
-      my_inbox: Mano gauti
-      my_outbox: Išsiųsti
       messages: Jūs turite %{new_messages} ir %{old_messages}
       new_messages:
         one: '%{count} naujas pranešimas'
@@ -1668,12 +1666,14 @@ lt:
       old_messages:
         one: '%{count} senas pranešimas'
         other: '%{count} seni pranešimai'
-      from: Nuo
-      subject: Tema
-      date: Data
       no_messages_yet_html: Jūs dar negavote nei vienos žinutės. Kodėl gi nesusisiekus
         su %{people_mapping_nearby_link}?
       people_mapping_nearby: netoliese žyminčiais naudotojais
+    messages_table:
+      from: Nuo
+      to: Kam
+      subject: Tema
+      date: Data
     message_summary:
       unread_button: Žymėti neskaitytu
       read_button: Žymėti skaitytu
@@ -1693,14 +1693,9 @@ lt:
       body: Gaila, bet žinutės su tokiu id nėra.
     outbox:
       title: Išsiųstieji
-      my_inbox: Gautieji
-      my_outbox: Išsiųsti
       messages:
         one: Jūs %{count} nusiųstą pranešimą
         other: Jūs %{count} nusiųstus(-ų) pranešimus(-ų)
-      to: Kam
-      subject: Tema
-      date: Data
       no_sent_messages_html: Jūs dar negavote nei vienos žinutės. Kodėl gi nesusisiekus
         su %{people_mapping_nearby_link}?
       people_mapping_nearby: netoliese žyminčiais naudotojais
@@ -1719,13 +1714,16 @@ lt:
         naudotojo paskyros, jei norite tai perskaityti.
     sent_message_summary:
       destroy_button: Ištrinti
+    heading:
+      my_inbox: Mano gauti
+      my_outbox: Išsiųsti
     mark:
       as_read: Pranešimas pažymėtas kaip skaitytas
       as_unread: Pranešimas pažymėtas kaip neskaitytas
     destroy:
       destroyed: Pranešimas ištrintas
   passwords:
-    lost_password:
+    new:
       title: Pamiršau slaptažodį
       heading: Pamiršote slaptažodį?
       email address: 'E-pašto adresas:'
@@ -1733,15 +1731,17 @@ lt:
       help_text: Įveskite elektroninio pašto adresą, kurį naudojote užsiregistruodami.
         Mes atsiųsime nuorodą į elektroninį paštą, kurią galėsite naudoti norėdami
         iš naujo nustatyti slaptažodį.
+    create:
       notice email on way: Apgailestaujame, kad praradote slaptažodį :-( bet elektroninis
         laiškas jau išsiųstas, tad greitai slaptažodį atstatysite.
       notice email cannot find: Gaila, bet toks e-pašto adresas nerastas.
-    reset_password:
+    edit:
       title: Iš naujo nustatyti slaptažodį
       heading: Iš naujo nustatyti naudotojo %{user} slaptažodį
       reset: Iš naujo nustatyti slaptažodį
-      flash changed: Jūsų slaptažodis sėkmingai pakeistas.
       flash token bad: Ženklas nerastas, galbūt bloga nuoroda?
+    update:
+      flash changed: Jūsų slaptažodis sėkmingai pakeistas.
   preferences:
     show:
       title: Mano parinktys
@@ -1941,12 +1941,7 @@ lt:
         būtini.
     export:
       title: Eksportuoti
-      area_to_export: Eksportuotinas plotas
       manually_select: Rankiniu būdu parinkti kitą sritį
-      format_to_export: Eksporto formatas
-      osm_xml_data: OpenStreetMap XML duomenys
-      map_image: Žemėlapio vaizdas (rodo standartinį sluoksnį)
-      embeddable_html: Pritaikomas HTML
       licence: Licencija
       licence_details_html: OpenStreetMap duomenys yra licencijuoti pagal %{odbl_link}
         (ODbL).
@@ -1971,17 +1966,6 @@ lt:
         other:
           title: Kiti šaltiniai
           description: Papildomi šaltiniai išvardinti OpenStreetMap wiki
-      options: Parinktys
-      format: Formatas
-      scale: Mastelis
-      max: maksimalus
-      image_size: Žemėlapio dydis
-      zoom: Padidinti
-      add_marker: Pridėti žymeklį žemėlapyje
-      latitude: 'Plat:'
-      longitude: 'Ilg:'
-      output: Rezultatas
-      paste_html: Įkelkite šį HTML į svetainę
       export_button: Eksportuoti
     fixthemap:
       title: Pranešti apie problemą / taisyti žemėlapį
@@ -2078,34 +2062,24 @@ lt:
           footway: Pėsčiųjų takas
           rail: Geležinkelis
           subway: Metropoliteno linija
-          tram:
-          - Lengvasis geležinkelis
-          - tramvajus
-          cable:
-          - Lyno keltuvas
-          - keltuvas
-          runway:
-          - Kilimo takas
-          - Riedėjimo takas
-          apron:
-          - Oro uosto lėktuvų aikštelė
-          - terminalas
+          cable_car: Lyno keltuvas
+          chair_lift: keltuvas
+          runway: Kilimo takas
+          taxiway: Riedėjimo takas
+          apron: Oro uosto lėktuvų aikštelė
           admin: Administracinės ribos
           forest: Miškas
           wood: Medžių teritorija
           golf: Golfo laukas
           park: Parkas
+          common: Bendras
           resident: Gyvenamoji zona
-          common:
-          - Bendras
-          - pieva
           retail: Mažmeninis rajonas
           industrial: Pramoninė zona
           commercial: Komericinis plotas
           heathland: Šilynas
-          lake:
-          - Ežeras
-          - rezervuaras
+          lake: Ežeras
+          reservoir: rezervuaras
           farm: Ūkis
           brownfield: Apleista teritorija
           cemetery: Kapinės
@@ -2114,14 +2088,12 @@ lt:
           centre: Sporto centras
           reserve: Gamtos rezervatas
           military: Karinis rajonas
-          school:
-          - Mokykla
-          - universitetas
+          school: Mokykla
+          university: universitetas
           building: Didelis pastatas
           station: Geležinkelio stotis
-          summit:
-          - Viršūnė
-          - Viršukalnė
+          summit: Viršūnė
+          peak: Viršukalnė
           tunnel: Punktyriniai kraštai = tiltas
           bridge: Tamsūs kraštai = tiltas
           private: Privati prieiga
index 62e4fa3df569cb6b08de656162cfb286620e8eae..82ecc03ef8345c707ed2623827ee1d96b547dfc8 100644 (file)
@@ -44,6 +44,7 @@ lv:
         create: Reģistrēties
         update: Atjaunināt
       oauth2_application:
+        create: Reģistrēties
         update: Atjaunināt
       redaction:
         create: Izveidot redakciju
@@ -232,6 +233,7 @@ lv:
           Domēnā.
         link text: kas tas ir?
       save changes button: Saglabāt izmaiņas
+      delete_account: Dzēst kontu...
     go_public:
       heading: Publiska rediģēšana
       currently_not_public: Pašlaik jūsu labojumi ir anonīmi, un cilvēki nevar jums
@@ -411,7 +413,7 @@ lv:
       title: Jauns dienasgrāmatas ieraksts
     form:
       location: 'Atrašanās vieta:'
-      use_map_link: izmantot karti
+      use_map_link: Izmantot karti
     index:
       title: Lietotāju dienasgrāmatas
       title_friends: Draugu dienasgrāmatas
@@ -448,6 +450,7 @@ lv:
         one: '%{count} komentārs'
         zero: Nav komentāru
         other: '%{count} komentāri'
+      no_comments: Nav komentāru
       edit_link: Rediģēt šo ierakstu
       hide_link: Slēpt šo ierakstu
       confirm: Apstiprināt
@@ -498,6 +501,7 @@ lv:
           chair_lift: Krēslu Pacēlājs
           drag_lift: Vilkšanas Pacēlājs
           gondola: Gondola Lifts
+          pylon: Pilons
           station: Pacēlāja Stacija
           "yes": Gaisa ceļš
         aeroway:
@@ -610,6 +614,7 @@ lv:
           census: Skaitīšanas robeža
           national_park: Nacionālais parks
           protected_area: Aizsargājamās teritorijas
+          "yes": Robeža
         bridge:
           aqueduct: Akvedukts
           suspension: Piekartitls
@@ -666,6 +671,7 @@ lv:
           blacksmith: Kalējs
           brewery: Alus darītava
           carpenter: Galdnieks
+          caterer: Ēdinātājs
           dressmaker: Drēbnieks
           electrician: Elektriķis
           electronics_repair: Elektronikas remonts
@@ -845,6 +851,7 @@ lv:
           flagpole: Karoga masts
           kiln: Ceplis
           lighthouse: Bāka
+          manhole: Lūka
           mine: Raktuves
           mineshaft: Raktuves šahta
           monitoring_station: Uzraudzības stacija
@@ -1173,6 +1180,8 @@ lv:
       resolve: Atrisināt
       ignore: Ignorēt
       reopen: Atkārtoti atvērt
+      read_reports: Lasīt ziņojumus
+      new_reports: Jauni ziņojumi
   layouts:
     logo:
       alt_text: OpenStreetMap logo
@@ -1335,8 +1344,6 @@ lv:
   messages:
     inbox:
       title: iesūtne
-      my_inbox: Mana iesūtne
-      my_outbox: Mana izsūtne
       messages: Jums ir %{new_messages} un  %{old_messages}
       new_messages:
         one: '%{count} jauna ziņa'
@@ -1344,12 +1351,14 @@ lv:
       old_messages:
         one: '%{count} veca ziņa'
         other: '%{count} vecas ziņas'
-      from: "No"
-      subject: Temats
-      date: Datums
       no_messages_yet_html: Jums vēl nav ziņojumu. Kāpēc gan nesazināties ar kādu
         no %{people_mapping_nearby_link}?
       people_mapping_nearby: cilvēkiem, kuri zīmē karti tavā apkaimē
+    messages_table:
+      from: "No"
+      to: Kam
+      subject: Temats
+      date: Datums
     message_summary:
       unread_button: Atzīmēt kā nelasītu
       read_button: Atzīmēt kā lasītu
@@ -1369,14 +1378,9 @@ lv:
       body: Atvainojiet, ziņa ar norādīto identifikatoru nav atrodama.
     outbox:
       title: izsūtne
-      my_inbox: Mana iesūtne
-      my_outbox: Mana izsūtne
       messages:
         one: Tev ir %{count} nosūtīta ziņa
         other: Tev ir %{count} nosūtītas ziņas
-      to: Kam
-      subject: Temats
-      date: Datums
       no_sent_messages_html: Tev pašlaik nav ziņojumu. Kāpēc nesazināties ar kādu
         no %{people_mapping_nearby_link}?
       people_mapping_nearby: cilvēki kartē tuvā apkārtnē
@@ -1395,28 +1399,33 @@ lv:
         lai izlasītu to.
     sent_message_summary:
       destroy_button: Dzēst
+    heading:
+      my_inbox: Mana iesūtne
+      my_outbox: Mana izsūtne
     mark:
       as_read: Ziņa atzīmēta kā lasīta
       as_unread: Ziņa atzīmēta kā nelasīta
     destroy:
       destroyed: Ziņa izdzēsta
   passwords:
-    lost_password:
+    new:
       title: Aizmirsāt paroli
       heading: Aizmirsi paroli?
       email address: 'E-pasta adrese:'
       new password button: Atiestatīt paroli
       help_text: Ievadiet e-pasta adresi, kuru izmantojāt, lai reģistrētos, mēs Jums
         nosūtīsim saiti uz to, lai Jūs varētu atjaunot savu paroli.
+    create:
       notice email on way: Atvaino, tu to pazaudēji :-( , bet e-pasts jau ir ceļā,
         lai tu viņu drīz varētu atjaunot.
       notice email cannot find: Atvaino, nevaru atrast šo epasta adresi.
-    reset_password:
+    edit:
       title: Atiestatīt paroli
       heading: Atcelt %{user} paroli
       reset: Atcelt paroli
-      flash changed: Jūsu parole ir nomainīta.
       flash token bad: Neatradu to pilnvaru, varbūt pārbaudi URL?
+    update:
+      flash changed: Jūsu parole ir nomainīta.
   preferences:
     show:
       title: Mani uzstādījumi
@@ -1591,12 +1600,7 @@ lv:
         šai iezīmei.
     export:
       title: Eksportēt
-      area_to_export: Apgabals, kuru eksportēt
       manually_select: Manuāli izvēlēties citu teritoriju
-      format_to_export: Eksportēšanas formāts
-      osm_xml_data: OpenStreetMap XML dati
-      map_image: Kartes attēls (parāda standarta slāni)
-      embeddable_html: Ievietojams HTML kods
       licence: Licence
       too_large:
         advice: 'Ja augstāk esošais eksports neizdodas, lūdzu apsver iespēj lietot
@@ -1616,17 +1620,6 @@ lv:
         other:
           title: Citi Avoti
           description: Papildus avoti, kas norādīti OpenStreetMap wiki
-      options: Iespējas
-      format: Formāts
-      scale: Mērogs
-      max: līdz
-      image_size: Attēla izmērs
-      zoom: Palielināt
-      add_marker: Pievienot atzīmi kartei
-      latitude: 'Platums:'
-      longitude: 'Garums:'
-      output: Izvade
-      paste_html: Ielīmēt HTML mājas lapā
       export_button: Eksportēt
     fixthemap:
       title: Ziņot par problēmu / Labot karti
@@ -1710,35 +1703,24 @@ lv:
           footway: Gājēju ceļš
           rail: Dzelzceļš
           subway: Metro
-          tram:
-          - Tramvaja sliedes
-          - Tramvajs
-          cable:
-          - Trošu ceļš
-          - krēslu pacēlājs
-          runway:
-          - Lidostas skrejceļš
-          - manevrēšanas ceļš
-          apron:
-          - Lidostas rampa
-          - termināls
+          cable_car: Trošu ceļš
+          chair_lift: krēslu pacēlājs
+          runway: Lidostas skrejceļš
+          taxiway: manevrēšanas ceļš
+          apron: Lidostas rampa
           admin: Administratīvā robeža
           forest: Mežs
           wood: Pirmatnējs mežs
           golf: Golfa laukums
           park: Parks
+          common: Koplietošanas zeme
           resident: Dzīvojamā zona
-          common:
-          - Koplietošanas zeme
-          - Pļava
-          - dārzs
           retail: Mazumtirdzniecības zona
           industrial: Rūpniecības zona
           commercial: Tirdzniecības zona
           heathland: Tīrelis
-          lake:
-          - Ezeri
-          - ūdenskrātuves
+          lake: Ezeri
+          reservoir: ūdenskrātuves
           farm: Saimniecība
           brownfield: Nekopta vieta
           cemetery: Kapsēta
@@ -1747,14 +1729,12 @@ lv:
           centre: Sporta centrs
           reserve: Dabas rezervāts
           military: Militārā zona
-          school:
-          - Skola
-          - universitāte
+          school: Skola
+          university: universitāte
           building: Ēka
           station: Dzelzceļa stacija
-          summit:
-          - Virsotne
-          - smaile
+          summit: Virsotne
+          peak: smaile
           tunnel: Tunelis
           bridge: Tilts
           private: Privāta pieeja
index a54ed02ab92d77e3adb6a6dbe301e282576675fc..be53a8d61a9b45ef129ea8b67d5d04ee6f408308 100644 (file)
@@ -46,6 +46,9 @@ mk:
       messages:
         invalid_email_address: не претставува важечка е-пошта
         email_address_not_routable: не е насочлива
+      models:
+        user_mute:
+          is_already_muted: е веќе замолкнат
     models:
       acl: Список за контрола на пристап
       changeset: Измени
@@ -274,7 +277,7 @@ mk:
   accounts:
     edit:
       title: Уреди сметка
-      my settings: Ð\9cои Ð¿Ñ\80илагодувања
+      my settings: Ð\9cои Ð½агодувања
       current email address: Тековна е-пошта
       external auth: Надворешна заверка
       openid:
@@ -1162,7 +1165,7 @@ mk:
           valley: Долина
           volcano: Вулкан
           water: Вода
-          wetland: Мочуриште
+          wetland: Моклиште
           wood: Шума
           "yes": Природен елемент
         office:
@@ -1462,9 +1465,9 @@ mk:
         one: '%{count} пријава'
         other: '%{count} пријави'
       no_reports: Нема пријави
-      report_created_at: Првпат пријавено на %{datetime}
-      last_resolved_at: Последно пријавено на %{datetime}
-      last_updated_at: Последно пријавено на %{datetime} од %{displayname}
+      report_created_at_html: Првпат пријавено на %{datetime}
+      last_resolved_at_html: Последно пријавено на %{datetime}
+      last_updated_at_html: Последно пријавено на %{datetime} од %{displayname}
       resolve: Реши
       ignore: Занемари
       reopen: Повторно отвори
@@ -1624,6 +1627,8 @@ mk:
       loaded:
         one: успешно вчитано со %{trace_points} од %{count} можни точки.
         other: успешно вчитано со %{trace_points} од %{count} можни точки.
+      all_your_traces_html: Сите ваши успешно подигнати GPX-траги ќе ги најдете на
+        %{url}.
       subject: '[OpenStreetMap] Успешен увоз на GPX-податотека'
     signup_confirm:
       subject: '[OpenStreetMap] Добре дојдовте на OpenStreetMap'
@@ -1742,8 +1747,6 @@ mk:
   messages:
     inbox:
       title: Примени
-      my_inbox: Моето сандаче
-      my_outbox: Моја излезна пошта
       messages: Имате %{new_messages} и %{old_messages}
       new_messages:
         one: '%{count} нова порака'
@@ -1751,21 +1754,25 @@ mk:
       old_messages:
         one: '%{count} стара порака'
         other: '%{count} стари пораки'
-      from: Од
-      subject: Наслов
-      date: Датум
       no_messages_yet_html: Сè уште немате пораки. Зошто не се поврзете со некој од
         %{people_mapping_nearby_link}?
       people_mapping_nearby: картографите во вашата близина
+    messages_table:
+      from: Од
+      to: До
+      subject: Наслов
+      date: Датум
+      actions: Дејства
     message_summary:
       unread_button: Означи како непрочитано
       read_button: Означи како прочитано
       reply_button: Одговори
       destroy_button: Избриши
+      unmute_button: Премести во Примени
     new:
       title: Испрати ја пораката
       send_message_to_html: Испрати нова порака за %{name}
-      back_to_inbox: Ð\9dазад Ð²Ð¾ Ð¿Ñ\80имени
+      back_to_inbox: Ð\9dазад Ð½Ð° Ð¿Ñ\80имениÑ\82е
     create:
       message_sent: Пораката е испратена
       limit_exceeded: Во последно време имате испратено многу пораки. Почекајте малку,
@@ -1776,17 +1783,18 @@ mk:
       body: За жал, нема порака со таа назнака.
     outbox:
       title: За праќање
-      my_inbox: Мое сандаче
-      my_outbox: Моја излезна пошта
+      actions: Дејства
       messages:
         one: Имате %{count} испратена порака
         other: Имате %{count} испратени пораки
-      to: До
-      subject: Наслов
-      date: Датум
       no_sent_messages_html: Сè уште немате испратено пораки. Зошто да не исконтактирате
         некои %{people_mapping_nearby_link}?
       people_mapping_nearby: картографите во вашата близина
+    muted:
+      title: Замолкнати пораки
+      messages:
+        one: '%{count} замолкната порака'
+        other: Имате %{count} замолкнати пораки
     reply:
       wrong_user: Најавени сте како „%{user}“, но пораката на којашто побаравте да
         одговорите не е испратена до тој корисник. Најавете се под правилно корисничко
@@ -1802,26 +1810,36 @@ mk:
         име за да ја прочитате.
     sent_message_summary:
       destroy_button: Избриши
+    heading:
+      my_inbox: Примени
+      my_outbox: Моја излезна пошта
+      muted_messages: Замолкнати пораки
     mark:
       as_read: Пораката е означена како прочитана
       as_unread: Пораката е означена како непрочитана
+    unmute:
+      notice: Пораката е преместена во Примени
+      error: Пораката не можеше да се премести во Примени.
     destroy:
       destroyed: Пораката е избришана
   passwords:
-    lost_password:
+    new:
       title: Загубена лозинка
       heading: Ја заборавивте лозинката?
       email address: 'Е-пошта:'
       new password button: Смени лозинка
       help_text: Внесете ја е-поштенската адреса со која се зачленивте, и ќе ви пратиме
         врска каде ќе наведете нова лозинка.
+    create:
       notice email on way: Жалиме, ова истече :-( но ви пративме нова порака на е-пошта,
         па наскоро повторно ќе можете да ја смените.
       notice email cannot find: Жалам, не можев да ја пронајдам таа адреса
-    reset_password:
+    edit:
       title: Смени лозинка
       heading: Смени лозинка за %{user}
       reset: Смени лозинка
+      flash token bad: Не ја пронајдов таа шифра. Проверете ја URL-адресата.
+    update:
       flash changed: Лозинката ви е сменета.
       flash token bad: Не ја пронајдов таа шифра. Проверете ја URL-адресата.
   preferences:
@@ -1929,6 +1947,7 @@ mk:
       image: Слика
       alt: Алтернативен текст
       url: URL
+      codeblock: Коден блок
     richtext_field:
       edit: Уреди
       preview: Преглед
@@ -2170,12 +2189,7 @@ mk:
         без кои оваа можност не може да работи.
     export:
       title: Извези
-      area_to_export: Подрачје за извоз
       manually_select: Рачно изберете друга површина
-      format_to_export: Формат за извоз
-      osm_xml_data: OpenStreetMap XML податоци
-      map_image: Слика на картата (прикажува стандарден слој)
-      embeddable_html: HTML-код за вметнување
       licence: Лиценца
       licence_details_html: Податоците на OpenStreetMap се лиценцирани според  %{odbl_link}
         (ODbL).
@@ -2199,17 +2213,6 @@ mk:
         other:
           title: Други извори
           description: Другите извори се наведени на викито на OpenStreetMap
-      options: Нагодувања
-      format: Формат
-      scale: Размер
-      max: најв.
-      image_size: Големина на сликата
-      zoom: Приближи
-      add_marker: Додај бележник на картата
-      latitude: Г.Ш.
-      longitude: Г.Д.
-      output: Извод
-      paste_html: Ископирајте го HTML кодот за да го вметнете во страницата.
       export_button: Извези
     fixthemap:
       title: Пријава на проблем / Исправка на картата
@@ -2308,67 +2311,83 @@ mk:
           primary: Главен пат
           secondary: Спореден пат
           unclassified: Некласификуван пат
+          pedestrian: Пешачки пат
           track: Патека
           bridleway: Пешачко-влечен пат
           cycleway: Велосипедска патека
           cycleway_national: Државна велосипедска патека
           cycleway_regional: Регионална велосипедска патека
           cycleway_local: Месна велосипедска патека
+          cycleway_mtb: Пат за планински велосипедизам
           footway: Пешачка патека
           rail: Железница
+          train: Воз
           subway: Метро
-          tram:
-          - Лека железница
-          - трамвај
-          cable:
-          - Клупна жичница
-          - клупна жичница
-          runway:
-          - Аеродромска писта
-          - рулажна патека
-          apron:
-          - Аеродромска платформа
-          - терминал
+          ferry: Траект
+          light_rail: Лека железница
+          tram: Трамвај
+          trolleybus: Тролејбус
+          bus: Автобус
+          cable_car: Клупна жичница
+          chair_lift: Клупна жичница
+          runway: Аеродромска писта
+          taxiway: Рулажна патека
+          apron: Аеродромска платформа
           admin: Административна граница
+          capital: Главен град
+          city: Град
+          orchard: Овоштарник
+          vineyard: Лозје
           forest: Шума
-          wood: Шумичка
+          wood: Шума
+          farmland: Земјоделско земјиште
+          grass: Трева
+          meadow: Ливада
+          bare_rock: Гола карпа
+          sand: Песок
           golf: Голф-терен
           park: Парк
+          common: Општествена земја
+          built_up: Изградено подрачје
           resident: Станбено подрачје
-          common:
-          - Општествена земја
-          - ливада
-          - градина
           retail: Трговско подрачје
           industrial: Индустриско подрачје
           commercial: Комерцијално подрачје
           heathland: Вресиште
-          lake:
-          - Езеро
-          - резервоар
+          scrubland: Шикара
+          lake: Езеро
+          reservoir: Резервоар
+          intermittent_water: Повремена водна површина
+          glacier: Ледник
+          reef: Гребен
+          wetland: Моклиште
           farm: Фарма
           brownfield: Запуштено подрачје
           cemetery: Гробишта
           allotments: Парцели
           pitch: Спортски терен
           centre: Спортски центар
+          beach: Плажа
           reserve: Природен резерват
           military: Воено подрачје
-          school:
-          - Училиште
-          - универзитет
+          school: Училиште
+          university: Универзитет
+          hospital: Болница
           building: Значајно здание
           station: Железничка станица
-          summit:
-          - Врв
-          - врв
+          summit: Врв
+          peak: Врв
           tunnel: Испрекината линија = тунел
           bridge: Црна линија = мост
           private: Доверлив пристап
           destination: Пристап до одредницата
           construction: Патишта во изградба
+          bus_stop: Автобуска постојка
+          stop: Постојка
           bicycle_shop: Точкар
+          bicycle_rental: Изнајмување велосипеди
           bicycle_parking: Паркирање велосипеди
+          bicycle_parking_small: Мал паркинг за велосипеди
           toilets: Тоалет
     welcome:
       title: Добре дојдовте!
@@ -2569,6 +2588,7 @@ mk:
       oauth1_settings: Поставки за OAuth 1
       oauth2_applications: Поставки за OAuth 2
       oauth2_authorizations: Овластувања за OAuth 2
+      muted_users: Замолкнати корисници
   oauth:
     authorize:
       title: Овластете пристап до вашата сметка
@@ -2605,6 +2625,7 @@ mk:
       read_gpx: Читање на приватни ГПС-траги
       write_gpx: Подигање на ГПС-траги
       write_notes: Менување на белешки
+      write_redactions: Прикриј податоци за картата
       read_email: Читање на корисничка е-пошта
       skip_authorization: Автоодобрување на прилог
   oauth_clients:
@@ -2771,12 +2792,14 @@ mk:
       my notes: Мои белешки
       my messages: Мои пораки
       my profile: Мојот профил
-      my settings: Ð\9cои Ð½Ð°Ð³Ð¾Ð´Ñ\83ваÑ\9aа
+      my settings: Ð\9cои Ð¿Ð¾Ñ\81Ñ\82авки
       my comments: Мои коментари
       my_preferences: Мои нагодувања
       my_dashboard: Моја управувачница
       blocks on me: Добиени блокови
       blocks by me: Извршени болокови
+      create_mute: Замолкни го корисников
+      destroy_mute: Одмолкни го корисников
       edit_profile: Уреди профил
       send message: Испрати порака
       diary: Дневник
@@ -2808,6 +2831,7 @@ mk:
           importer: Одземи увознички пристап
       block_history: Активни блокови
       moderator_history: Зададени блокови
+      revoke_all_blocks: Отповикај ги сите блокови
       comments: Коментари
       create_block: Блокирај го корисников
       activate_user: Активирај го корисников
@@ -2917,6 +2941,16 @@ mk:
       confirm: Дали сигурно дакате да го поништите овој блок?
       revoke: Поништи!
       flash: Овој блок е поништен.
+    revoke_all:
+      title: Отповикување на сите блокови на %{block_on}
+      heading_html: Отповикување на сите блокови на %{block_on}
+      empty: '%{name} нема активни блокови.'
+      confirm: Дали сигурно сакате да отповикате %{active_blocks}?
+      active_blocks:
+        one: '%{count} активен блок'
+        other: '%{count} активни блокови'
+      revoke: Отповикај!
+      flash: Сите активни блокови се отповикани.
     helper:
       time_future_html: Истекува за %{time}.
       until_login: Активно додека не се најави корисникот.
@@ -2975,6 +3009,30 @@ mk:
       showing_page: Страница %{page}
       next: Следна »
       previous: « Претходна
+  user_mutes:
+    index:
+      title: Замолкнати корисници
+      my_muted_users: Мои замолкнати корисници
+      you_have_muted_n_users:
+        one: Имате замолкнато %{count} корисник
+        other: Имате замолкнато %{count} корисници
+      user_mute_explainer: Пораките на замолкнатите корисници се преместуваат во посебно
+        сандаче Примени, и за нив нема да добивате известувања по е-пошта.
+      user_mute_admins_and_moderators: Можете да замолкнувате администратори и модератори,
+        но нивните пораки нема да бидат замолкнати.
+      table:
+        thead:
+          muted_user: Замолкнат корисник
+          actions: Дејства
+        tbody:
+          unmute: Одмолкни
+          send_message: Испрати порака
+    create:
+      notice: Го замолкнавте %{name}.
+      error: '%{name} не можеше да се замолкне. %{full_message}.'
+    destroy:
+      notice: Го одмолкнавте %{name}.
+      error: Корисникот не можеше да се одмолкне. Обидете се повторно.
   notes:
     index:
       title: Белешки создадени или коментирани од %{user}
@@ -3011,6 +3069,7 @@ mk:
       reactivate: Преактивирај
       comment_and_resolve: Коментирај и реши
       comment: Коментирај
+      log_in_to_comment: Најавете се за да коментирате на оваа белешка
       report_link_html: Доколку оваа белешка содржи чувствителни информации кои треба
         да се остранат, можете да %{link}.
       other_problems_resolve: За сите други проблеми со белешката, решете ги самите
index b8183b232ddf858878525ed3809b19a262c83b66..59955c5c6181b5caa5eecae123305518bbe52710 100644 (file)
@@ -546,7 +546,7 @@ mo:
     learn_more: Афлаць май мулте
     more: Май мулте
   passwords:
-    lost_password:
+    new:
       title: Рестабилиря паролей
       heading: Аць уйтат парола?
       email address: 'Адреса де поштэ електроникэ:'
index d59950796cc26b66512004688c0a472f516cffea..35841b091f761f9a82ed72c1989933c61c7d4fdb 100644 (file)
@@ -927,7 +927,6 @@ mr:
   messages:
     inbox:
       title: अंतर्पेटी
-      my_inbox: माझी अंतर्पेटी
       messages: आपल्यासाठी %{new_messages} आणि %{old_messages} आहेत
       new_messages:
         one: '%{count} नवा संदेश'
@@ -935,12 +934,14 @@ mr:
       old_messages:
         one: '%{count} जुना संदेश'
         other: '%{count} जुने संदेश'
-      from: पासून
-      subject: विषय
-      date: दिनांक
       no_messages_yet_html: आपल्यासाठी अद्याप संदेश नाहीत. %{people_mapping_nearby_link}
         संपर्क साधावा काय?
       people_mapping_nearby: जवळपासच्या इतर नकाशाकारांशी
+    messages_table:
+      from: पासून
+      to: प्रति
+      subject: विषय
+      date: दिनांक
     message_summary:
       unread_button: न वाचलेले अशी खूण करा
       read_button: वाचले अशी खूण करा
@@ -962,9 +963,6 @@ mr:
       messages:
         one: आपण पाठविलेला %{count} संदेश
         other: आपण पाठविलेले %{count} संदेश
-      to: प्रति
-      subject: विषय
-      date: दिनांक
       no_sent_messages_html: आपण अद्याप कुठलेही संदेश पाठविलेले नाहीत. %{people_mapping_nearby_link}
         संपर्क साधावा काय?
       people_mapping_nearby: जवळपासच्या इतर नकाशाकारांशी
@@ -982,20 +980,23 @@ mr:
         सदस्य म्हणून दाखल व्हा.
     sent_message_summary:
       destroy_button: वगळा
+    heading:
+      my_inbox: माझी अंतर्पेटी
     mark:
       as_read: संदेश वाचला आहे अशी खूण केली
       as_unread: संदेश वाचला नाही अशी खूण केली
     destroy:
       destroyed: संदेश वगळला
   passwords:
-    lost_password:
+    new:
       heading: परवलीचा शब्द विसरला?
       email address: 'विपत्र पत्ता:'
       new password button: परवलीचा शब्द पुनर्स्थापित करा
-    reset_password:
+    edit:
       title: परवलीचा शब्द पुनर्स्थापित करा
       heading: '%{user}साठी परवलीचा शब्द पुनर्स्थापित करा'
       reset: परवलीचा शब्द पुनर्स्थापित करा
+    update:
       flash changed: आपला परवलीचा शब्द बदलण्यात आला आहे.
   preferences:
     show:
@@ -1089,12 +1090,7 @@ mr:
       anon_edits_link_text: असे का आहे ते जाणून घ्या.
     export:
       title: निर्यात
-      area_to_export: निर्यात करावयाचे क्षेत्र
       manually_select: वेगळे क्षेत्र निवडा
-      format_to_export: निर्यातीचे प्रारुप
-      osm_xml_data: ओपनस्ट्रीटमॅप XML डाटा
-      map_image: नकाशा चित्र (प्रमाणित स्तर दाखविते)
-      embeddable_html: अंतःस्थापन करण्याजोगी HTML
       licence: परवाना
       too_large:
         advice: 'जर वरील निर्यात करण्यास अपयश आले, तर कृपया खालील स्रोत वापरण्याचा
@@ -1115,17 +1111,6 @@ mr:
         other:
           title: इतर स्रोत
           description: ओपनस्ट्रीटमॅप विकीवर सूचीबद्ध अतिरिक्त स्रोत
-      options: विकल्प
-      format: आराखडा
-      scale: प्रमाण
-      max: कमाल
-      image_size: चित्राचा आकार
-      zoom: मोठे करा
-      add_marker: नकाशावर दर्शकचिन्ह जोडा
-      latitude: 'अक्षांश:'
-      longitude: 'रेखांश:'
-      output: उत्पादन
-      paste_html: संकेतस्थळावर अंतःस्थापनासाठी HTML चिकटवा
       export_button: निर्यात
     fixthemap:
       title: समस्या नोंदवा/नकाशा नीयत करा
@@ -1171,33 +1156,23 @@ mr:
           footway: पदपथ
           rail: लोहमार्ग
           subway: मेट्रो
-          tram:
-          - हलकी रेल्वे
-          - ट्राम
-          cable:
-          - रज्जुमार्ग
-          - खुर्ची उद्वाहन
-          runway:
-          - विमानतळ धावपट्टी
-          - खेचमार्ग
-          apron:
-          - विमानतळावरील भरणतळ
-          - अग्र
+          cable_car: रज्जुमार्ग
+          chair_lift: खुर्ची उद्वाहन
+          runway: विमानतळ धावपट्टी
+          taxiway: खेचमार्ग
+          apron: विमानतळावरील भरणतळ
           admin: प्रशासकीय सीमा
           forest: वन
           wood: जंगल
           golf: गोल्फ कोर्स
           park: उद्यान
+          common: सार्वजनिक जमीन
           resident: निवासी क्षेत्र
-          common:
-          - सार्वजनिक जमीन
-          - कुरण
           retail: विक्री क्षेत्र
           industrial: औद्योगिक क्षेत्र
           commercial: वाणिज्यिक क्षेत्र
-          lake:
-          - तलाव
-          - जलाशय
+          lake: तलाव
+          reservoir: जलाशय
           farm: मळा
           cemetery: दफनभूमी
           allotments: वाटप
@@ -1205,14 +1180,12 @@ mr:
           centre: क्रीडाकेंद्र
           reserve: अभयारण्य
           military: लष्करी क्षेत्र
-          school:
-          - शाळा
-          - विद्यापीठ
+          school: शाळा
+          university: विद्यापीठ
           building: महत्वपूर्ण इमारत
           station: रेल्वे स्थानक
-          summit:
-          - शिखर
-          - शिखर
+          summit: शिखर
+          peak: शिखर
           tunnel: तुटक कड = बोगदा
           bridge: काळी कड = पूल
           private: खाजगी प्रवेश
index 170a239775921418d01df83e6993d34b62d91913..b214e43fca23acc1d355f8794d8f2f9d52984340 100644 (file)
@@ -1337,16 +1337,17 @@ ms:
   messages:
     inbox:
       title: Peti Masuk
-      my_inbox: Peti masuk saya
       messages: Anda ada %{new_messages} dan %{old_messages}
       new_messages: '%{count} pesanan baru'
       old_messages: '%{count} pesanan lama'
-      from: Daripada
-      subject: Subjek
-      date: Tarikh
       no_messages_yet_html: Anda belum ada pesanan. Apa kata anda berhubung dengan
         %{people_mapping_nearby_link}?
       people_mapping_nearby: pemeta-pemeta yang berdekatan
+    messages_table:
+      from: Daripada
+      to: Kepada
+      subject: Subjek
+      date: Tarikh
     message_summary:
       unread_button: Tanda sebagai belum dibaca
       read_button: Tanda sebagai sudah dibaca
@@ -1367,9 +1368,6 @@ ms:
     outbox:
       title: Peti Keluar
       messages: Anda ada %{count} pesanan terhantar
-      to: Kepada
-      subject: Subjek
-      date: Tarikh
       no_sent_messages_html: Anda belum menghantar pesanan. Apa kata anda berhubung
         dengan %{people_mapping_nearby_link}?
       people_mapping_nearby: pemeta-pemeta yang berdekatan
@@ -1388,29 +1386,33 @@ ms:
         masuk sebagai pengguna yang betul untuk membacanya.
     sent_message_summary:
       destroy_button: Hapuskan
+    heading:
+      my_inbox: Peti masuk saya
     mark:
       as_read: Pesanan ditandai sebagai sudah dibaca
       as_unread: Pesanan ditandai sebagai belum dibaca
     destroy:
       destroyed: Pesanan dihapuskan
   passwords:
-    lost_password:
+    new:
       title: Terlupa kata laluan
       heading: Lupa Kata Laluan?
       email address: 'Alamat E-mel:'
       new password button: Set semula kata laluan
       help_text: Isikan alamat e-mel yang anda gunakan untuk mendaftar. Kami akan
         menge-melkan pautan untuk anda mengeset semula kata laluan anda.
+    create:
       notice email on way: Kesiannya anda sudah terlupa kata laluan :-( tetapi kami
         akan menghantar satu pesanan e-mel untuk anda mengesetnya semula tidak lama
         lagi.
       notice email cannot find: Maaf, alamat e-mel itu tidak dapat dijumpai.
-    reset_password:
+    edit:
       title: Set semula kata laluan
       heading: Set Semula Kata Laluan untuk %{user}
       reset: Set Semula Kata Laluan
-      flash changed: Kata laluan anda telah ditukar.
       flash token bad: Token itu tidak dijumpai; sila semak URL-nya.
+    update:
+      flash changed: Kata laluan anda telah ditukar.
   preferences:
     show:
       title: Keutamaan Saya
@@ -1600,12 +1602,7 @@ ms:
         untuk ciri ini.
     export:
       title: Eksport
-      area_to_export: Kawasan untuk Dieksport
       manually_select: Pilih kawasan yang lain secara insani
-      format_to_export: Format untuk Dieksport
-      osm_xml_data: Data XML OpenStreetMap
-      map_image: Imej Peta (memaparkan paparan piawai)
-      embeddable_html: HTML Boleh Benam
       licence: Lesen
       too_large:
         advice: 'Jika pengeksportan di atas gagal, sila pertimbangkan untuk menggunakan
@@ -1627,17 +1624,6 @@ ms:
         other:
           title: Sumber-sumber Lain
           description: Sumber-sumber lanjutan yang tersenarai di wiki OpenStreetMap
-      options: Pilihan
-      format: Format
-      scale: Skala
-      max: maks
-      image_size: Saiz Imej
-      zoom: Zum
-      add_marker: Bubuh penanda pada peta
-      latitude: 'GL:'
-      longitude: 'GB:'
-      output: Output
-      paste_html: Tampalkan HTML untuk dibenamkan dalam tapak web
       export_button: Eksport
     fixthemap:
       title: Laporkan masalah / Baiki peta
@@ -1722,34 +1708,24 @@ ms:
           footway: Laluan pejalan kaki
           rail: Landasan keretapi
           subway: Landasan bawah tanah
-          tram:
-          - Rel ringan
-          - tram
-          cable:
-          - Kereta kabel
-          - lif kerusi
-          runway:
-          - Landasan kapal terbang
-          - jalan rayap
-          apron:
-          - Kawasan gerak lapangan terbang
-          - terminal
+          cable_car: Kereta kabel
+          chair_lift: lif kerusi
+          runway: Landasan kapal terbang
+          taxiway: jalan rayap
+          apron: Kawasan gerak lapangan terbang
           admin: Sempadan pentadbiran
           forest: Hutan
           wood: Hutan kecil
           golf: Padang golf
           park: Taman
+          common: Tanah awam
           resident: Kawasan perumahan
-          common:
-          - Tanah awam
-          - padang rumput
           retail: Kawasan peruncitan
           industrial: Kawasan perindustrian
           commercial: Kawasan perdagangan
           heathland: Kawasan rawa
-          lake:
-          - Tasik
-          - takungan
+          lake: Tasik
+          reservoir: takungan
           farm: Ladang
           brownfield: Tanah terbiar
           cemetery: Perkuburan
@@ -1758,14 +1734,12 @@ ms:
           centre: Pusat sukan
           reserve: Cagar alam
           military: Kawasan tentera
-          school:
-          - Sekolah
-          - universiti
+          school: Sekolah
+          university: universiti
           building: Bangunan penting
           station: Stesen keretapi
-          summit:
-          - Kemuncak
-          - puncak
+          summit: Kemuncak
+          peak: puncak
           tunnel: Kasing bertitik-titik = terowong
           bridge: Kasing hitam = jambatan
           private: Jalan masuk persendirian
index 4e978e7c96aacf47836e2e48fb79e52de0fb668e..e3c4402847b8f7b2ab18289cf9b39f6f11c92759 100644 (file)
@@ -562,7 +562,9 @@ my:
   messages:
     inbox:
       title: အဝင်စာ
+    messages_table:
       from: မှ
+      to: သို့
       subject: အကြောင်းအရာ
       date: နေ့စွဲ
     message_summary:
@@ -578,9 +580,6 @@ my:
       heading: ယင်းကဲ့သို့မက်ဆေ့မရှိပါ
     outbox:
       title: အထွက်စာ
-      to: သို့
-      subject: အကြောင်းအရာ
-      date: နေ့စွဲ
     show:
       title: မက်ဆေ့ ဖတ်ရန်
       reply_button: အကြောင်းပြန်ရန်
@@ -589,15 +588,16 @@ my:
     sent_message_summary:
       destroy_button: ဖျက်​ပါ​
   passwords:
-    lost_password:
+    new:
       title: စကားဝှက် ပျောက်ဆုံးသွား
       heading: စကားဝှက် မေ့နေပါသလား
       email address: 'အီးမေး လိပ်စာ :'
       new password button: စကားဝှက်ကို ပြန်ချိန်ရန်
-    reset_password:
+    edit:
       title: စကားဝှက်ကို ပြန်ချိန်ရန်
       heading: '%{user} အတွက် စကားဝှက်ကို ပြန်ချိန်ရန်'
       reset: စကားဝှက်ကို ပြန်ချိန်ရန်
+    update:
       flash changed: သင့်စကားဝှက်ကို ပြောင်းလဲပြီးပါပြီ
   sessions:
     new:
@@ -655,11 +655,6 @@ my:
       too_large:
         other:
           title: အခြားရင်းမြစ်များ
-      options: ရွေးပိုင်ခွင့်
-      image_size: ရုပ်ပုံ အရွယ်အစား
-      zoom: ချုံ့/ချဲ့ကြည့်ရန်
-      latitude: 'လတ္တီ:'
-      longitude: 'လောင်ဂျီ:'
       export_button: တင်ပို့ရန်
     fixthemap:
       how_to_help:
@@ -689,16 +684,13 @@ my:
           bridleway: မြင်းစီးလမ်း
           cycleway: စက်ဘီးသွားလမ်း
           rail: ရထားလမ်း
-          runway:
-          - လေယာဉ်ကွင်းပြေးလမ်း
+          runway: လေယာဉ်ကွင်းပြေးလမ်း
           forest: သစ်တော
           park: ပန်းခြံ
-          lake:
-          - ရေကန်
+          lake: ရေကန်
           cemetery: သုဿန်
-          school:
-          - ကျောင်း
-          - တက္ကသိုလ်
+          school: ကျောင်း
+          university: တက္ကသိုလ်
           station: ရထားဘူတာ
           construction: ဖောက်နေဆဲ လမ်းများ
           toilets: အိမ်သာများ
index 5f079b028c537bfb8a920fbd04413e161a94cedd..c8fa8937d03c71d6b4c24ee731aedbc8463ce815 100644 (file)
@@ -1276,9 +1276,9 @@ nb:
         one: '%{count} rapport'
         other: '%{count} rapporter'
       no_reports: Ingen rapporter
-      report_created_at: Første gang rapportert %{datetime}
-      last_resolved_at: Siste gang løst %{datetime}
-      last_updated_at: Siste gang oppdatert %{datetime} av %{displayname}
+      report_created_at_html: Første gang rapportert %{datetime}
+      last_resolved_at_html: Siste gang løst %{datetime}
+      last_updated_at_html: Siste gang oppdatert %{datetime} av %{displayname}
       resolve: Løs
       ignore: Se bort fra
       reopen: Gjenåpne
@@ -1497,7 +1497,6 @@ nb:
   messages:
     inbox:
       title: Innboks
-      my_inbox: Min innboks
       messages: Du har %{new_messages} og %{old_messages}
       new_messages:
         one: '%{count} ny melding'
@@ -1505,12 +1504,14 @@ nb:
       old_messages:
         one: '%{count} gammel melding'
         other: '%{count} gamle meldinger'
-      from: Fra
-      subject: Emne
-      date: Dato
       no_messages_yet_html: Du har ingen meldinger ennå. Kanskje du kan prøve å komme
         i kontakt med %{people_mapping_nearby_link}?
       people_mapping_nearby: folk som kartlegger i nærheten
+    messages_table:
+      from: Fra
+      to: Til
+      subject: Emne
+      date: Dato
     message_summary:
       unread_button: Marker som ulest
       read_button: Marker som lest
@@ -1530,13 +1531,9 @@ nb:
       body: Det er ingen melding med den ID-en.
     outbox:
       title: Utboks
-      my_inbox: Min innboks
       messages:
         one: Du har %{count} sendt melding
         other: Du har %{count} sendte meldinger
-      to: Til
-      subject: Emne
-      date: Dato
       no_sent_messages_html: Du har ikke sendt noen meldinger ennå. Hvorfor ikke bli
         kjent med noen %{people_mapping_nearby_link}?
       people_mapping_nearby: folk i nærheten som lager kart
@@ -1553,28 +1550,32 @@ nb:
         ikke sendt fra eller til den brukeren. Logg inn som korrekt bruker for å lese.
     sent_message_summary:
       destroy_button: Slett
+    heading:
+      my_inbox: Min innboks
     mark:
       as_read: Melding markert som lest
       as_unread: Melding markert som ulest
     destroy:
       destroyed: Melding slettet
   passwords:
-    lost_password:
+    new:
       title: Glemt passord
       heading: Glemt passord?
       email address: 'E-postadresse:'
       new password button: Nullstill passord
       help_text: Skriv inn e-postadressen du brukte for å registrere deg, og vi vil
         sende deg ei lenke som du kan bruke til å nullstille passordet ditt.
+    create:
       notice email on way: Synd at du mistet det, men en e-post er på vei slik at
         du kan tilbakestille det snart.
       notice email cannot find: Klarte ikke finne den e-postadressen. Beklager.
-    reset_password:
+    edit:
       title: Nullstill passord
       heading: Nullstill passord for %{user}
       reset: Nullstill passord
-      flash changed: Ditt passord er endret.
       flash token bad: Kunne ikke finne den nøkkelen. Sjekke URLen kanskje?
+    update:
+      flash changed: Ditt passord er endret.
   preferences:
     show:
       preferred_languages: Foretrukne språk
@@ -1721,12 +1722,7 @@ nb:
         for denne egenskapen.
     export:
       title: Eksporter
-      area_to_export: Område som skal eksporteres
       manually_select: Velg et annet område manuelt
-      format_to_export: Eksportformat
-      osm_xml_data: OpenStreetMap XML-data
-      map_image: Kartbilde (viser standardlag)
-      embeddable_html: HTML som kan bygges inn
       licence: Lisens
       too_large:
         advice: 'Hvis eksporten over skulle feile kan du forsøke å bruke av en av
@@ -1747,17 +1743,6 @@ nb:
         other:
           title: Andre kilder
           description: Ytterliger kilder listet på OpenStreetMap-wikien
-      options: Valg
-      format: Format
-      scale: Skala
-      max: maks
-      image_size: Bildestørrelse
-      zoom: Zoom
-      add_marker: Legg til en markør på kartet
-      latitude: 'Bre:'
-      longitude: 'Len:'
-      output: Utdata
-      paste_html: Lim inn HTML som skal bygges inn i nettsted
       export_button: Eksporter
     fixthemap:
       title: Rapporter et problem / Korriger kartet
@@ -1840,34 +1825,24 @@ nb:
           footway: Gangvei
           rail: Jernbane
           subway: Undergrunnsbane
-          tram:
-          - Bybane
-          - trikk
-          cable:
-          - Kabelvogn
-          - stolheis
-          runway:
-          - Flystripe
-          - taksebane
-          apron:
-          - terminal
-          - terminal
+          cable_car: Kabelvogn
+          chair_lift: stolheis
+          runway: Flystripe
+          taxiway: taksebane
+          apron: terminal
           admin: Administrativ grense
           forest: Skog
           wood: Ved
           golf: Golfbane
           park: Park
+          common: Vanlig
           resident: Boligområde
-          common:
-          - Vanlig
-          - eng
           retail: Detaljsalgområde
           industrial: Industriområde
           commercial: Kommersielt område
           heathland: Heilandskap
-          lake:
-          - Innsjø
-          - reservoar
+          lake: Innsjø
+          reservoir: reservoar
           farm: Gård
           brownfield: Tidligere industriområde
           cemetery: Gravplass
@@ -1876,14 +1851,12 @@ nb:
           centre: Sportssenter
           reserve: Naturreservat
           military: Militært område
-          school:
-          - Skole
-          - universitet
+          school: Skole
+          university: universitet
           building: Viktig bygning
           station: Jernbanestasjon
-          summit:
-          - Topp
-          - fjelltopp
+          summit: Topp
+          peak: fjelltopp
           tunnel: Streket kant = tunnel
           bridge: Sort kant = bru
           private: Privat tilgang
index 0a465ab790eb30b73f678d101702fd7977c8d9f1..0fd29f799d82bdcbba5c967ec952a17b2ba0a2bb 100644 (file)
@@ -429,10 +429,11 @@ nds:
   messages:
     inbox:
       title: Postfack Ingang
-      my_inbox: Mien Postfack Ingang
+      people_mapping_nearby: Koortenmakers in de Neegd
+    messages_table:
       from: Von
+      to: An
       date: Datum
-      people_mapping_nearby: Koortenmakers in de Neegd
     message_summary:
       unread_button: as ‚noch nich leest‘ kennteken
       read_button: as ‚leest‘ kennteken
@@ -445,25 +446,25 @@ nds:
       message_sent: Naricht afsennt
     outbox:
       title: Postfack Utgang
-      to: An
-      subject: Thema
-      date: Datum
     show:
       reply_button: Antern
     sent_message_summary:
       destroy_button: Wegdoon
+    heading:
+      my_inbox: Mien Postfack Ingang
     destroy:
       destroyed: Naricht wegdaan
   passwords:
-    lost_password:
+    new:
       title: Passwoord vergeten
       heading: Passwoord vergeten?
       email address: 'E-Mail-Adress:'
       new password button: Passwoord trüchsetten
-    reset_password:
+    edit:
       title: Passwoord trüchsetten
       heading: Passwoord för %{user} trüchsetten
       reset: Passwoord trüchsetten
+    update:
       flash changed: Dien Passwoord is nu ännert.
   profiles:
     edit:
@@ -489,15 +490,6 @@ nds:
       user_page_link: Brukersied
     export:
       licence: Lizenz
-      format: 'Format:'
-      scale: Skaal
-      max: max.
-      image_size: 'Bildgrött:'
-      zoom: Zoom
-      add_marker: Sett en Markteken op de Koort
-      latitude: 'Breed:'
-      longitude: 'Läng:'
-      output: Utgaav
       export_button: Export
     sidebar:
       close: Sluten
@@ -519,34 +511,24 @@ nds:
           footway: Footpadd
           rail: Iesenbahn
           subway: U-Bahn
-          tram:
-          - Stadtbahn
-          - Stratenbahn
-          cable:
-          - Kavelbahn
-          - Skilift
-          runway:
-          - Fleger-Lannbahn
-          - Fleger-Rullweg
-          apron:
-          - Terminal
-          - Terminal
+          cable_car: Kavelbahn
+          chair_lift: Skilift
+          runway: Fleger-Lannbahn
+          taxiway: Fleger-Rullweg
+          apron: Terminal
           admin: Grenz
           forest: Forst
           wood: Woold
           golf: Golfplatz
           park: Park
+          common: Wisch
           resident: Wahnrebeed
-          common:
-          - Wisch
-          - Wisch
           retail: Ladenrebeed
           industrial: Industrierebeed
           commercial: Hannelsrebeed
           heathland: Heid
-          lake:
-          - See
-          - Stausee
+          lake: See
+          reservoir: Stausee
           farm: Buurnhoff
           brownfield: Industrie-Braakland
           cemetery: Karkhoff
@@ -555,14 +537,12 @@ nds:
           centre: Sportzentrum
           reserve: Naturpark
           military: Militärrebeed
-          school:
-          - School
-          - Universität
+          school: School
+          university: Universität
           building: Wichtig Bowark
           station: Bahnhoff
-          summit:
-          - Bargtopp
-          - Bargtopp
+          summit: Bargtopp
+          peak: Bargtopp
           tunnel: Strekel-Rand = Tunnel
           bridge: Fett Rand = Brügg
           private: Privat Togang
index 68536eaf8d71e889dd052d659d2975fac97b01d6..a2422fcf4c4bdde8eeaa2102a8018d7d0dc110ea 100644 (file)
@@ -822,8 +822,9 @@ ne:
   messages:
     inbox:
       title: इनबक्स
-      my_inbox: मेरो इनबक्स
+    messages_table:
       from: बाट
+      to: लाई
       subject: विषय
       date: मिति
     message_summary:
@@ -842,9 +843,6 @@ ne:
       heading: त्यस्तो कुनै पनि सन्देश छैन
     outbox:
       title: आउटबक्स
-      to: लाई
-      subject: विषय
-      date: मिति
     show:
       title: सन्देश पढ्नुहोस्
       reply_button: जवाफ दिने
@@ -853,18 +851,21 @@ ne:
       back: पछाडि
     sent_message_summary:
       destroy_button: हटाउनुहोस्
+    heading:
+      my_inbox: मेरो इनबक्स
     destroy:
       destroyed: सन्देश मेटियो
   passwords:
-    lost_password:
+    new:
       title: पासवर्ड बिर्सियो
       heading: पासवर्ड बिर्सिनुभयो ?
       email address: 'इमेल ठेगाना:'
       new password button: प्रवेस शब्द परिवर्तन गर्ने
-    reset_password:
+    edit:
       title: प्रवेस शब्द परिवर्तन गर्ने
       heading: '%{user}को लागि प्रवेस शब्द परिवर्तन गर्ने'
       reset: नयाँ प्रवेशशव्द
+    update:
       flash changed: तपाईंको प्रवेश शब्द परिवर्तन गरिएको छ।
   profiles:
     edit:
@@ -908,12 +909,7 @@ ne:
       user_page_link: प्रयोगकर्ता पृष्ठ
     export:
       title: निर्यात गर्नुहोस्
-      area_to_export: निर्यात गर्ने क्षेत्र
       manually_select: आफै अर्को क्षेत्र छान्नुहोस
-      format_to_export: निर्यात गर्ने ढाँचा
-      osm_xml_data: OpenStreetMap XML डेटा
-      map_image: नक्साको तस्वीर (सर्वस्वीकृत सतहहरू देखाउँछ)
-      embeddable_html: थप्नलायक HTML
       licence: इजाजतपत्र
       too_large:
         advice: निर्यात गर्ने प्रक्रिया असफल भएमा तल दिइएका स्रोतहरू प्रयोग गर्नुहोस्-
@@ -934,17 +930,6 @@ ne:
         other:
           title: अन्य स्रोतहरू
           description: ओपनस्ट्रीटम्याप विकिमा सूचीत थप स्रोतहरू
-      options: विकल्पहरू
-      format: ढाँचा
-      scale: स्केल
-      max: अधिकतम
-      image_size: तस्वीर आकार
-      zoom: जुम
-      add_marker: नक्शामा चिह्न थप्नुहोस्
-      latitude: 'अक्षांश:'
-      longitude: 'देशान्तर:'
-      output: उत्पादन
-      paste_html: वेबसाइट इम्बेड गर्न HTML पेस्ट गर्नुहोस्
       export_button: निर्यात गर्नुहोस्
     fixthemap:
       how_to_help:
@@ -990,25 +975,21 @@ ne:
           cycleway: साइकल मार्ग
           rail: रेलमार्ग
           subway: सबवे
-          cable:
-          - केबल कार
-          - कुर्सी लिफ्ट
+          cable_car: केबल कार
+          chair_lift: कुर्सी लिफ्ट
           forest: वन
           wood: कुञ्ज
           golf: गल्फ कोर्स
           park: उद्यान
           resident: आवासीय क्षेत्र
-          lake:
-          - ताल
-          - मुहान
+          lake: ताल
+          reservoir: मुहान
           farm: खेती
           cemetery: अन्त्यष्टी स्थल
-          school:
-          - विद्यालय
-          - विश्वविद्यालय
-          summit:
-          - शिखर
-          - शिखर
+          school: विद्यालय
+          university: विश्वविद्यालय
+          summit: शिखर
+          peak: शिखर
           bicycle_shop: साइकल पसल
           bicycle_parking: साकल पार्किङ
           toilets: शौचालय
index 2b66ed4173b420d1b82e2dfb27eca681470e6c53..d48f6db741893e1c8ab321478c436dd74dd75d90 100644 (file)
@@ -191,7 +191,7 @@ nl:
         details: Geef wat meer details over het probleem (verplicht).
       user:
         auth_provider: Authenticatiedienst
-        auth_uid: Authenticatie UID
+        auth_uid: Authenticatie-UID
         email: E-mail
         email_confirmation: E-mailbevestiging
         new_email: Nieuw e-mailadres
@@ -206,8 +206,9 @@ nl:
         pass_crypt_confirmation: Wachtwoord bevestigen
     help:
       doorkeeper/application:
-        confidential: Toepassing wordt gebruikt waar het clientgeheim vertrouwelijk
-          kan worden gehouden (native mobiele apps en éénpagina-apps zijn niet vertrouwelijk)
+        confidential: De applicatie wordt gebruikt waar het clientgeheim vertrouwelijk
+          kan worden gehouden (voor mobiele apparaten ontworpen apps en éénpagina-apps
+          zijn niet vertrouwelijk)
         redirect_uri: Gebruik één regel per URI
       trace:
         tagstring: kommagescheiden
@@ -1524,9 +1525,9 @@ nl:
         one: '%{count} rapport'
         other: '%{count} rapporten'
       no_reports: Geen rapporten
-      report_created_at: Voor het eerst vermeld op %{datetime}
-      last_resolved_at: Laatst opgelost op %{datetime}
-      last_updated_at: Laatst bijgewerkt op %{datetime} door %{displayname}
+      report_created_at_html: Voor het eerst vermeld op %{datetime}
+      last_resolved_at_html: Laatst opgelost op %{datetime}
+      last_updated_at_html: Laatst bijgewerkt op %{datetime} door %{displayname}
       resolve: Oplossen
       ignore: Negeren
       reopen: Heropenen
@@ -1815,8 +1816,6 @@ nl:
   messages:
     inbox:
       title: Postvak IN
-      my_inbox: Mijn Postvak IN
-      my_outbox: Mijn Postvak UIT
       messages: U hebt %{new_messages} en %{old_messages}
       new_messages:
         one: '%{count} nieuw bericht'
@@ -1824,12 +1823,14 @@ nl:
       old_messages:
         one: '%{count} oud bericht'
         other: '%{count} oude berichten'
-      from: Van
-      subject: Onderwerp
-      date: Datum
       no_messages_yet_html: U hebt nog geen berichten. Waarom legt u geen contact
         met %{people_mapping_nearby_link}?
       people_mapping_nearby: dichtbijzijnde mappers
+    messages_table:
+      from: Van
+      to: Aan
+      subject: Onderwerp
+      date: Datum
     message_summary:
       unread_button: Markeren als ongelezen
       read_button: Markeren als gelezen
@@ -1849,14 +1850,9 @@ nl:
       body: Er is geen bericht met dat ID.
     outbox:
       title: Postvak UIT
-      my_inbox: Mijn Postvak IN
-      my_outbox: Mijn Postvak UIT
       messages:
         one: U hebt één verzonden bericht
         other: U hebt %{count} verzonden berichten
-      to: Aan
-      subject: Onderwerp
-      date: Datum
       no_sent_messages_html: U hebt nog geen berichten verzonden. Waarom legt u geen
         contact met %{people_mapping_nearby_link}?
       people_mapping_nearby: dichtbijzijnde mappers
@@ -1875,13 +1871,16 @@ nl:
         Meld u aan als de juiste gebruiker om het te lezen.
     sent_message_summary:
       destroy_button: Verwijderen
+    heading:
+      my_inbox: Mijn Postvak IN
+      my_outbox: Mijn Postvak UIT
     mark:
       as_read: Gemarkeerd als gelezen
       as_unread: Gemarkeerd als ongelezen
     destroy:
       destroyed: Het bericht is verwijderd
   passwords:
-    lost_password:
+    new:
       title: Wachtwoord vergeten
       heading: Wachtwoord vergeten?
       email address: 'E-mailadres:'
@@ -1889,13 +1888,16 @@ nl:
       help_text: Voer het e-mailadres in dat u hebt opgegeven bij uw registratie.
         We sturen u dan een webkoppeling die u kunt gebruiken om uw wachtwoord opnieuw
         in te stellen.
+    create:
       notice email on way: Spijtig om te horen dat u het vergeten bent, maar er is
         een e-mail onderweg zodat u uw wachtwoord opnieuw kunt instellen.
       notice email cannot find: Dat e-mailadres kon helaas niet worden gevonden.
-    reset_password:
+    edit:
       title: Wachtwoord opnieuw instellen
       heading: Wachtwoord voor %{user} opnieuw instellen
       reset: Wachtwoord opnieuw instellen
+      flash token bad: Het token kon niet gevonden worden. Controleer de URL.
+    update:
       flash changed: Uw wachtwoord is gewijzigd.
       flash token bad: Het token kon niet gevonden worden. Controleer de URL.
   preferences:
@@ -2252,12 +2254,7 @@ nl:
         deze functie.
     export:
       title: Exporteren
-      area_to_export: Te exporteren gebied
       manually_select: Handmatig een ander gebied selecteren
-      format_to_export: Bestandsformaat
-      osm_xml_data: OpenStreetMap XML-gegevens
-      map_image: Kaartafbeelding (geeft de standaard laag weer)
-      embeddable_html: HTML-code
       licence: Licentie
       licence_details_html: OpenStreetMap-gegevens zijn gelicentieerd onder de %{odbl_link}
         (ODbL).
@@ -2281,17 +2278,6 @@ nl:
         other:
           title: Andere bronnen
           description: Extra bronnen die worden vermeld op de OpenStreetMap-wiki
-      options: Opties
-      format: 'Formaat:'
-      scale: Schaal
-      max: max
-      image_size: 'Afbeeldingsgrootte:'
-      zoom: Zoomen
-      add_marker: Marker op de kaart zetten
-      latitude: 'Breedte:'
-      longitude: 'Lengte:'
-      output: Uitvoer
-      paste_html: Kopieer de HTML-code en voeg deze toe aan uw website
       export_button: Exporteren
     fixthemap:
       title: Een probleem melden / de kaart corrigeren
@@ -2402,36 +2388,41 @@ nl:
           cycleway_local: Lokale fietsroute
           footway: Voetpad
           rail: Spoorweg
+          train: Trein
           subway: Metro
-          tram:
-          - Lightrail
-          - tram
-          cable:
-          - Kabelbaan
-          - stoeltjeslift
-          runway:
-          - Start- en landingsbaan
-          - taxibaan
-          apron:
-          - Luchthavenplatform
-          - terminal
+          ferry: Veerboot
+          light_rail: Lightrail
+          tram: Tram
+          trolleybus: Trolleybus
+          bus: Bus
+          cable_car: Kabelbaan
+          chair_lift: Stoeltjeslift
+          runway: Start- en landingsbaan
+          taxiway: Taxibaan
+          apron: Luchthavenplatform
           admin: Bestuurlijke grens
+          orchard: Boomgaard
+          vineyard: Wijngaard
           forest: Bos
           wood: Bos
+          farmland: Landbouwgrond
+          grass: Gras
+          meadow: Weide
+          bare_rock: Kale rots
+          sand: Zand
           golf: Golfbaan
           park: Park
+          common: Gemene grond
+          built_up: Bebouwde kom
           resident: Woongebied
-          common:
-          - Gemene grond
-          - weide
-          - tuin
           retail: Winkelgebied
           industrial: Industriegebied
           commercial: Commercieel gebied
           heathland: Heide
-          lake:
-          - Meer
-          - reservoir
+          scrubland: Struikgewas
+          lake: Meer
+          reservoir: Reservoir
+          glacier: Gletsjer
           farm: Boerderij
           brownfield: Braakliggend terrein
           cemetery: Begraafplaats
@@ -2440,19 +2431,19 @@ nl:
           centre: Sportcentrum
           reserve: Natuurreservaat
           military: Militair gebied
-          school:
-          - School
-          - universiteit
+          school: School; universiteit
+          university: Universiteit
           building: Belangrijk gebouw
           station: Spoorwegstation
-          summit:
-          - Top
-          - piek
+          summit: Top
+          peak: Piek
           tunnel: Tunnel
           bridge: Brug
           private: Privétoegang
           destination: Bestemmingsverkeer
           construction: Weg in aanleg
+          bus_stop: Bushalte
+          stop: Halte
           bicycle_shop: Fietsenwinkel
           bicycle_parking: Fietsenstalling
           toilets: Toiletten
@@ -2498,6 +2489,7 @@ nl:
         imports: Importeringen
         automated_edits: Geautomatiseerde bewerkingen
       start_mapping: Beginnen met kaarten maken
+      continue_authorization: Doorgaan met autoriseren
       add_a_note:
         title: Geen tijd om te bewerken? Voeg een opmerking toe!
         para_1: Als u gewoon iets kleins wilt verbeteren en niet de tijd hebt om u
@@ -3008,8 +3000,8 @@ nl:
     helper:
       time_future_html: Vervalt over %{time}.
       until_login: Actief totdat de gebruiker zich aanmeldt.
-      time_future_and_until_login_html: Eindigt in %{time} en nadat de gebruiker ingelogd
-        is.
+      time_future_and_until_login_html: Eindigt in %{time} en nadat de gebruiker zich
+        heeft aangemeld.
       time_past_html: '%{time} vervallen.'
       block_duration:
         hours:
index 2f022d90896470c0774e426cda8967308526a6e0..2cb252331bd0ab5c2602b793e6fc3e26bb96dbf4 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Amire80
 # Author: Bjorni
 # Author: Danieldegroot2
+# Author: Dimitar
 # Author: Dittaeva
 # Author: Eirik
 # Author: Gnonthgol
@@ -1382,9 +1383,9 @@ nn:
         one: '%{count} melding'
         other: '%{count} meldingar'
       no_reports: Ingen meldingar
-      report_created_at: Fyrst meld %{datetime}
-      last_resolved_at: Sist løyst %{datetime}
-      last_updated_at: Sis oppdatert %{datetime} av %{displayname}
+      report_created_at_html: Fyrst meld %{datetime}
+      last_resolved_at_html: Sist løyst %{datetime}
+      last_updated_at_html: Sis oppdatert %{datetime} av %{displayname}
       resolve: Løys
       ignore: Sjå bort frå
       reopen: Opna att
@@ -1658,8 +1659,6 @@ nn:
   messages:
     inbox:
       title: Mottekne
-      my_inbox: Mottekne
-      my_outbox: Sende
       messages: Du har %{new_messages} og %{old_messages}
       new_messages:
         one: '%{count} ny melding'
@@ -1667,12 +1666,14 @@ nn:
       old_messages:
         one: '%{count} gamal melding'
         other: '%{count} gamle meldingar'
-      from: Frå
-      subject: Emne
-      date: Dato
       no_messages_yet_html: Du har ingen meldingar endå. Kanskje du kan prøve å kome
         i kontakt med %{people_mapping_nearby_link}?
       people_mapping_nearby: folk i nærleiken som lagar kart
+    messages_table:
+      from: Frå
+      to: Til
+      subject: Emne
+      date: Dato
     message_summary:
       unread_button: Marker som ulese
       read_button: Marker som lese
@@ -1692,14 +1693,9 @@ nn:
       body: Det er inga melding med den ID-en.
     outbox:
       title: Sende
-      my_inbox: Mottekne
-      my_outbox: Sende
       messages:
         one: Du har %{count} send melding
         other: Du har %{count} sende meldingar
-      to: Til
-      subject: Emne
-      date: Dato
       no_sent_messages_html: Du har ikkje sendt nokre meldingar endå. Kanskje du kan
         prøve å kome i kontakt med %{people_mapping_nearby_link}?
       people_mapping_nearby: folk i nærleiken som lagar kart
@@ -1716,28 +1712,33 @@ nn:
         ikkje send til den brukaren. Logg inn som korrekt brukar for å lese.
     sent_message_summary:
       destroy_button: Slett
+    heading:
+      my_inbox: Mottekne
+      my_outbox: Sende
     mark:
       as_read: Melding markert som lese
       as_unread: Melding markert som ulese
     destroy:
       destroyed: Melding sletta
   passwords:
-    lost_password:
+    new:
       title: Gløymt passord
       heading: Gløymt passord?
       email address: 'E-postadresse:'
       new password button: Nullstill passord
       help_text: Skriv inn e-postadressa du brukte for å registrere deg, og me vil
         sende deg ei lenkje som du kan bruke til å nullstille passordet ditt.
+    create:
       notice email on way: Synd at du mista det, men ein e-post er på veg slik at
         du kan tilbakestille det snart.
       notice email cannot find: Klarte ikkje finne den e-postadressa. Beklagar.
-    reset_password:
+    edit:
       title: Nullstill passord
       heading: Nullstill passord for %{user}
       reset: Nullstill passord
-      flash changed: Passordet ditt er endra.
       flash token bad: Kunne ikkje finne den nøkkelen. Sjekke URLen kanskje?
+    update:
+      flash changed: Passordet ditt er endra.
   preferences:
     show:
       title: Innstillingar
@@ -2056,12 +2057,7 @@ nn:
         for denne eigenskapen.
     export:
       title: Eksporter
-      area_to_export: Område som skal eksporterast
       manually_select: Vel eit anna område manuelt
-      format_to_export: Format for eksport
-      osm_xml_data: OpenStreetMap XML-data
-      map_image: Kartblad (viser standard laget)
-      embeddable_html: HTML som kan byggjast inn
       licence: Lisens
       licence_details_html: Data frå OpenStreetMap er lisensert under %{odbl_link}
         (ODbL).
@@ -2083,17 +2079,6 @@ nn:
         other:
           title: Andre kjelder
           description: Yttarlegare kjelder hjå OpenStreetMap sin wiki
-      options: Val
-      format: Format
-      scale: Skala
-      max: maks
-      image_size: Bildestørrelse
-      zoom: Zoom
-      add_marker: Legg til ein markør på kartet
-      latitude: 'Brei:'
-      longitude: 'Len:'
-      output: Utdata
-      paste_html: Lim inn HTML som skal byggjast inn i nettstad
       export_button: Eksporter
     fixthemap:
       title: Rapporter eit problem/Korriger kartet
@@ -2178,34 +2163,24 @@ nn:
           footway: Gangveg
           rail: Jernbane
           subway: Undergrunnsbane
-          tram:
-          - Bybane
-          - trikk
-          cable:
-          - Kabelvogn
-          - stolheis
-          runway:
-          - Flystripe
-          - taksebane
-          apron:
-          - terminal
-          - terminal
+          cable_car: Kabelvogn
+          chair_lift: stolheis
+          runway: Flystripe
+          taxiway: taksebane
+          apron: terminal
           admin: Administrativ grense
           forest: Skog
           wood: Ved
           golf: Golfbane
           park: Park
+          common: Vanleg
           resident: Boligområde
-          common:
-          - Vanleg
-          - snever
           retail: Detaljsalgområde
           industrial: Industriområde
           commercial: Kommersielt område
           heathland: Heilandskap
-          lake:
-          - Innsjø
-          - reservoar
+          lake: Innsjø
+          reservoir: reservoar
           farm: Gard
           brownfield: Tidlegare industriområde
           cemetery: Gravplass
@@ -2214,14 +2189,12 @@ nn:
           centre: Sportssenter
           reserve: Naturreservat
           military: Militært område
-          school:
-          - Skule
-          - universitet
+          school: Skule
+          university: universitet
           building: Viktig bygning
           station: Jernbanestasjon
-          summit:
-          - Topp
-          - fjelltopp
+          summit: Topp
+          peak: fjelltopp
           tunnel: Streka kant = tunnel
           bridge: Sort kant = bru
           private: Privat tilgjenge
@@ -2417,7 +2390,7 @@ nn:
       consider_pd: I tillegg til den ovannemnde avtala ansar eg bidraga mine for å
         vere i public domain
       consider_pd_why: kva er dette?
-      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_i_want_my_contributions_to_be_public_domain
+      consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_i_want_my_contributions_to_be_public_domain
       decline: Avslå
       you need to accept or decline: Les og deretter anten godta eller avslå dei nye
         bidragsytervilkåra for å halde fram.
index 846b4375e54e2c7b714412c5f8b6ca0c81ddf7ff..cabe9924642def7e599f601fd73d9616f2b7dc87 100644 (file)
@@ -1021,9 +1021,9 @@ nqo:
         resolved: ߊ߬ ߓߘߊ߫ ߢߊߓߐ߫
     show:
       title: '%{status} ߝߌ߬ߛߌ #%{issue_id}'
-      report_created_at: ߞߏߝߐߟߌ߫ ߝߟߐ ߞߍ߫ ߘߊ߫ %{datetime}
-      last_resolved_at: ߢߊߓߐߟߌ߫ ߟߊߓߊ߲ ߞߍ߫ ߘߊ߫ %{datetime}
-      last_updated_at: ߊ߬ ߟߊߛߋ߫ ߟߊߓߊ߲ ߞߍ߫ ߘߊ߫ ߘߊߞߎ߲ ߘߐ߫ %{datetime} ߊ߬ ߣߌ߫ %{displayname}
+      report_created_at_html: ߞߏߝߐߟߌ߫ ߝߟߐ ߞߍ߫ ߘߊ߫ %{datetime}
+      last_resolved_at_html: ߢߊߓߐߟߌ߫ ߟߊߓߊ߲ ߞߍ߫ ߘߊ߫ %{datetime}
+      last_updated_at_html: ߊ߬ ߟߊߛߋ߫ ߟߊߓߊ߲ ߞߍ߫ ߘߊ߫ ߘߊߞߎ߲ ߘߐ߫ %{datetime} ߊ߬ ߣߌ߫ %{displayname}
         ߓߟߏ߫
       resolve: ߊ߬ ߢߊߓߐ߫
       ignore: ߊ߬ ߡߋߓߌ߬ߟߊ߫
@@ -1235,15 +1235,15 @@ nqo:
   messages:
     inbox:
       title: ߗߋߛߓߍ߫ ߟߊߣߊ߬ߣߍ߲
-      my_inbox: ߒ ߠߊ߫ ߞߏ߲߬ߘߏ ߞߣߐߟߊ
-      my_outbox: ߒ ߠߊ߫ ߗߋߛߓߍ߫ ߗߋߣߍ߲
       messages: '%{new_messages} ߟߎ߬ ߣߌ߫ %{old_messages} ߠߎ߬ ߦߴߌ ߓߟߏ߫'
-      from: ߞߊ߬ ߝߘߊ߫
-      subject: ߝߐߡߊ
-      date: ߕߎ߬ߡߊ߬ߘߊ
       no_messages_yet_html: ߗߋߛߓߍ߫ ߕߴߌ ߓߟߏ߫ ߡߎߣߎ߲߬. ߡߎ߲߬ߠߊ߫ ߌ ߡߊ߫ ߕߘߍ߬ ߡߊ߰ߒ߬ߠߊ߬ߟߌ
         ߘߐ߫  %{people_mapping_nearby_link} ߟߊ߫؟
       people_mapping_nearby: ߛߌ߰ߢߐ߰ߡߊ ߡߍ߲ ߠߎ߬ ߦߋ߫ ߔߊ߬ߔߘߊ߬ߦߊ ߞߊ߲߬
+    messages_table:
+      from: ߞߊ߬ ߝߘߊ߫
+      to: ߞߊ߬ ߕߊ߯
+      subject: ߝߐߡߊ
+      date: ߕߎ߬ߡߊ߬ߘߊ
     message_summary:
       unread_button: ߊ߬ ߞߍ߫ ߞߊ߬ߙߊ߲߬ߓߊߟߌ ߘߌ߫
       read_button: ߊ߬ ߣߐ߬ߣߐ߫ ߘߐ߬ߞߊ߬ߙߊ߲߬ߣߍ߲ ߘߌ߫
@@ -1263,11 +1263,6 @@ nqo:
       body: ߤߊߞߍ߬ߕߏ߫߸ ߗߋߛߓߍ߫ ߛߌ߫ ߕߍ߫ ߛߊ߲߬ߓߊ߬ߕߐ߮ ߏ߬ ߟߊ߫.
     outbox:
       title: ߗߋߟߌ߫ ߞߏ߲ߘߏ
-      my_inbox: ߒ ߠߊ߫ ߗߋߛߓߍ߫ ߛߐ߬ߡߐ߲߲߬ߣߍ߲
-      my_outbox: ߒ ߠߊ߫ ߗߋߛߓߍ߫ ߗߋߣߍ߲
-      to: ߞߊ߬ ߕߊ߯
-      subject: ߝߐߡߊ
-      date: ߕߎ߬ߡߊ߬ߘߊ
       no_sent_messages_html: ߗߋߛߓߍ߫ ߗߋߣߍ߲߫ ߕߴߌ ߓߟߏ߫ ߡߎߣߎ߲߬. ߡߎ߲߬ߠߊ߫ ߌ ߡߊ߫ ߕߘߍ߬ ߓߌ߬ߟߊ߬ߒ߬ߡߊ߬ߟߌ
         ߘߐ߫ %{people_mapping_nearby_link}؟
       people_mapping_nearby: ߡߐ߱ ߡߍ߲ ߠߎ߬ ߦߋ߫ ߔߊ߬ߔߘߊ߬ߦߊ ߞߊ߲߬ ߌ ߕߙߐߝߍ߬
@@ -1286,28 +1281,33 @@ nqo:
         ߟߊ߬ߓߊ߰ߙߊ߬ߟߊ߫ ߖߐ߲ߖߐ߲ ߘߌ߫ ߖߊ߰ߣߌ߲߫ ߛߴߌ ߘߌ߫ ߛߴߊ߬ ߘߐߞߊ߬ߙߊ߲߬ ߠߊ߫.
     sent_message_summary:
       destroy_button: ߊ߬ ߖߏ߬ߛߌ߬
+    heading:
+      my_inbox: ߒ ߠߊ߫ ߞߏ߲߬ߘߏ ߞߣߐߟߊ
+      my_outbox: ߒ ߠߊ߫ ߗߋߛߓߍ߫ ߗߋߣߍ߲
     mark:
       as_read: ߗߋߛߓߍ ߓߘߊ߫ ߣߐ߫ߣߐ߫ ߘߐ߬ߞߊ߬ߙߊ߲߬ߣߍ߲ ߘߌ߫
       as_unread: ߗߋߛߓߍ ߓߘߊ߫ ߣߐ߬ߣߐ߬ ߞߊ߬ߙߊ߲߬ߓߊߟߌ ߘߌ߫
     destroy:
       destroyed: ߗߋߛߓߍ ߓߘߊ߫ ߖߏ߬ߛߌ߫
   passwords:
-    lost_password:
+    new:
       title: ߓߣߐ߬ ߓߘߊ߫ ߞߍ߫ ߕߊ߬ߡߌ߲߬ߞߊ߲ ߘߐ߫
       heading: ߌ ߓߘߊ߫ ߢߌ߬ߣߊ߬ ߌ ߟߊ߫ ߕߊ߬ߡߌ߲߬ߞߊ߲ ߠߊ߫؟
       email address: 'ߢߎߡߍߙߋ߲߫ ߞߏ߲ߘߏ ߛߊ߲߬ߓߊ߬ߕߐ߮:'
       new password button: ߕߊ߬ߡߌ߲߬ߞߊ߲ ߡߊߦߟߍ߬ߡߊ߲߬
       help_text: ߢ:ߞߏ߲ߘߏ ߟߊߘߏ߲߬ ߌ ߞߊ߬ ߡߍ߲ ߠߊߓߊ߯ߙߊ߫ ߞߵߌ ߜߊ߲߬ߞߎ߲߫߸ ߊ߲ ߘߌ߫ ߛߘߌ߬ߜߋ߲ ߗߴߌ
         ߡߵߊ߬ ߟߊ߫ ߌ ߘߴߏ߬ ߟߊߓߊ߯ߙߊ߫ ߞߵߌ ߟߊ߫ ߕߊ߬ߡߌ߲߬ߞߊ߲ ߡߊߦߟߍ߬ߡߊ߲߫.
+    create:
       notice email on way: ߤߊߞߍ߬ߕߏ߫ ߌ ߓߘߊ߫ ߓߐߣߵߊ߬ ߘߐ߫:-(ߒ߬ߞߊ߬ ߗߋߛߓߍ ߘߏ߫ ߦߴߊ߬ ߞߣߐ߫
         ߏ߬ ߘߐ߫ ߌ ߘߌ߫ ߛߴߊ߬ ߡߊߦߟߍ߬ߡߊ߲߫ ߠߊ߫ ߖߏߣߊ߫.
       notice email cannot find: ߢ:ߞߏ߲ߘߏ ߛߊ߲߬ߓߊ߬ߕߐ߮ ߏ߬ ߕߴߛߋ߫ ߢߌߣߌ߲߫ ߠߊ߫߸ ߤߊߞߍ߬ߕߏ߫.
-    reset_password:
+    edit:
       title: ߕߊ߬ߡߌ߲߬ߞߊ߲ ߡߊߦߟߍ߬ߡߊ߲߬
       heading: ߕߊ߬ߡߌ߲߬ߞߊ߲ ߡߊߦߟߍ߬ߡߊ߲߫ %{user} ߦߋ߫
       reset: ߕߊ߬ߡߌ߲߬ߞߊ߲ ߡߊߦߟߍ߬ߡߊ߲߬
-      flash changed: ߌ ߟߊ߫ ߕߊ߬ߡߌ߲߬ߞߊ߲ ߓߘߊ߫ ߓߊ߲߫ ߡߊߝߊ߬ߟߋ߲߬ ߠߊ߫.
       flash token bad: ߌ ߞߊߣߊ߬ ߖߐߟߐ߲ߞߐ ߏ߬ ߢߌߣߌ߲߫߸ URL ߡߊߝߟߍ߫ ߕߎ߬ߡߊ߬ߘߐ߫؟
+    update:
+      flash changed: ߌ ߟߊ߫ ߕߊ߬ߡߌ߲߬ߞߊ߲ ߓߘߊ߫ ߓߊ߲߫ ߡߊߝߊ߬ߟߋ߲߬ ߠߊ߫.
   preferences:
     show:
       title: ߒ ߠߊ߫ ߦߟߌߡߊߛߙߋ ߟߎ߬
@@ -1448,11 +1448,7 @@ nqo:
       id_not_configured: ID ߡߊ߫ ߘߊߘߐߓߍ߲߬ ߡߎߣߎ߲߬
     export:
       title: ߟߊ߬ߝߏ߬ߦߌ߬ߟߌ
-      area_to_export: ߟߊ߬ߝߏ߬ߦߌ߬ߟߌ ߞߍ߫ ߦߙߐ
       manually_select: ߦߙߐ߫ ߓߐߣߍ߲ߢߐ߲߰ߡߊ ߟߎ߬ ߓߊߕߐ߬ߡߐ߲߬ ߓߟߏߟߕߊߦߊ ߘߐ߫
-      format_to_export: ߖߙߎߡߎ߲߫ ߛߏ߲߯ߓߕߊ
-      osm_xml_data: ߏߔߌ߲ߛߑߕߙߌߕߑߡߊߔ XML ߟߐ߲ߕߊ
-      map_image: ߡߊߔ ߖߌ߬ߦߊ߬ߓߍ (ߓߊߖߎ ߟߊߟߊߟߌ ߦߌ߬ߘߊ߬ߟߌ)
       too_large:
         planet:
           title: ߖߊ߯ߓߊߟߌ OSM
@@ -1460,11 +1456,6 @@ nqo:
           title: ߛߎ߲߫ ߜߘߍ ߟߎ߬
           description: ߊ߬ ߛߎ߲߫ ߞߏ ߡߞߊ߬ߝߏ߬ߟߌ߬ ߜߘߍ߫ ߟߎ߫ ߛߙߍߘߍ ߦߋ߫ ߏߔߌ߲ߛߑߕߙߌߕߑߡߊߔ ߥߞߌ
             ߞߊ߲߬
-      options: ߢߣߊߕߊߟߌ
-      format: ߖߙߎߡߎ߲
-      image_size: ߖߌ߬ߦߊ߬ߓߍ ߢߊ߲ߞߊ߲
-      zoom: ߡߛߊ߬ߡߊ߲߬ߠߌ߲
-      add_marker: ߣߐ߬ߣߐ߬ߟߊ߲ ߓߌ߬ߟߊ߬ ߡߊߔ ߟߊ߫
       export_button: ߟߊ߬ߝߏ߬ߦߌ߬ߟߌ
     fixthemap:
       title: ߝߙߋߞߋ ߘߏ߫ ߟߊߞߏߝߐ߫\ߔߊ߬ߔߘߊ ߘߐߓߍ߲߬
@@ -1520,30 +1511,25 @@ nqo:
           footway: ߛߋ߲߬ߡߊ߬ߛߌߟߊ
           rail: ߣߍ߰ߛߌߟߊ
           subway: ߘߎ߰ߞߘߐ߬ߛߌߟߊ
-          cable:
-          - ߘߎ߲ߞߎߟߎ߲
-          runway:
-          - ߛߊ߲ߡߊߘߊ߲ ߓߏ߬ߙߌ߬ ߛߌߟߊ
-          - ߥߊߟߌߥߊߟߌ ߫ ߛߌߟߊ
+          cable_car: ߘߎ߲ߞߎߟߎ߲
+          runway: ߛߊ߲ߡߊߘߊ߲ ߓߏ߬ߙߌ߬ ߛߌߟߊ
+          taxiway: ߥߊߟߌߥߊߟߌ ߫ ߛߌߟߊ
           admin: ߓߐߕߏ߲߫ ߞߎ߲߬ߠߊ߬ߛߌ߰ߟߊ߬ߞߊ
           forest: ߕߎ
           wood: ߦߙߌ
+          common: ߘߍ߬ߒ߬ߡߊ߬ ߞߣߍ
           resident: ߡߐ߰ߘߐ߬ ߛߌߟߊ
-          common:
-          - ߘߍ߬ߒ߬ߡߊ߬ ߞߣߍ
           retail: ߖߎ߬ߟߦߊ߬ ߞߣߍ
           industrial: ߘߍ߲߰ߦߊ߬ߟߌ ߕߌ߲߬ߞߎߘߎ߲
           commercial: ߖߊ߬ߥߏ ߘߌ߲߬ߞߌߙߊ
-          lake:
-          - ߞߐ߰ߖߌ߬ߘߟߊ
+          lake: ߞߐ߰ߖߌ߬ߘߟߊ
           farm: ߝߏ߬ߘߏ
           cemetery: ߞߊߓߙߎߟߏ
           centre: ߝߊ߬ߘߌ߬ߡߊ߬ߞߟߏ ߕߊ߲ߓߊ߲
           reserve: ߛߎ߲ߞߎ߲ ߦߙߐ߫ ߟߊߕߏߣߍ߲
           military: ߣߊ߲߬ߕߌ߰ ߕߌ߲ߞߎߘߎ߲
-          school:
-          - ߞߊ߬ߙߊ߲߬ߕߊ
-          - ߖߊ߯ߓߘߊ
+          school: ߞߊ߬ߙߊ߲߬ߕߊ
+          university: ߖߊ߯ߓߘߊ
           station: ߣߍ߰ߛߌߟߊ ߟߐ߬ߘߊ߮
           construction: ߛߌߟߊ ߡߍ߲ ߟߊ ߦߴߌ ߘߐ߫
           bicycle_shop: ߣߍ߰ߛߏ߬ ߝߎ߲ߞߎ߲
index 4e5604c500fd9ef859dff3c40b3c30e97325ab3a..2a02782d0b0714f97c7222df00a1ac0e37383685 100644 (file)
@@ -1401,9 +1401,9 @@ oc:
         zero: Ges de rapòrt
         one: 1 rapport
         other: '%{count} rapòrts'
-      report_created_at: Raportat per premier còp lo %{datetime}
-      last_resolved_at: Reglat per darrier còp lo %{datetime}
-      last_updated_at: Actualizat per darrier còp lo %{datetime} per %{displayname}
+      report_created_at_html: Raportat per premier còp lo %{datetime}
+      last_resolved_at_html: Reglat per darrier còp lo %{datetime}
+      last_updated_at_html: Actualizat per darrier còp lo %{datetime} per %{displayname}
       resolve: Reglar
       ignore: Ignorar
       reopen: Tornar dobrir
@@ -1667,8 +1667,6 @@ oc:
   messages:
     inbox:
       title: Bóstia de recepcion
-      my_inbox: Ma bóstia de recepcion
-      my_outbox: Mon mandador
       messages: Avètz %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} messatge novèl'
@@ -1676,12 +1674,14 @@ oc:
       old_messages:
         one: '%{count} ancian messatge'
         other: '%{count} ancians messatges'
-      from: De
-      subject: Subjècte
-      date: Data
       no_messages_yet_html: Actualament, avètz pas cap de messatge. Perqué entratz
         pas en contacte amb qualques %{people_mapping_nearby_link} ?
       people_mapping_nearby: personas pròcha de vos
+    messages_table:
+      from: De
+      to: A
+      subject: Subjècte
+      date: Data
     message_summary:
       unread_button: Marcar coma pas legit
       read_button: Marcar coma legit
@@ -1701,14 +1701,9 @@ oc:
       body: O planhèm, i a pas cap de messatge amb aqueste identificant.
     outbox:
       title: Bóstia de mandadís
-      my_inbox: Mon recebedor
-      my_outbox: Mon mandador
       messages:
         one: Avètz %{count} messatge mandat
         other: Avètz %{count} messatges mandats
-      to: A
-      subject: Subjècte
-      date: Data
       no_sent_messages_html: Avètz pas encara mandat cap de messatge. Perqué entrar
         pas en contacte amb qualques %{people_mapping_nearby_link} ?
       people_mapping_nearby: personas pròcha de vos
@@ -1727,26 +1722,31 @@ oc:
         amb l'identificant corrècte per lo poder legir.
     sent_message_summary:
       destroy_button: Suprimir
+    heading:
+      my_inbox: Ma bóstia de recepcion
+      my_outbox: Mon mandador
     mark:
       as_read: Messatge marcat coma legit
       as_unread: Messatge marcat coma pas legit
     destroy:
       destroyed: Messatge suprimit
   passwords:
-    lost_password:
+    new:
       title: Senhal perdut
       heading: Avètz perdut vòstre senhal ?
       email address: 'Adreça de corrièr electronic :'
       new password button: Mandar un senhal novèl
+    create:
       notice email on way: Un e-mail vos es estat mandat per reïnicializar vòstre
         senhal.
       notice email cannot find: Adreça email introbabla, o planhèm.
-    reset_password:
+    edit:
       title: Reïnicializar lo senhal
       heading: Reïnicializar lo senhal de %{user}
       reset: Reïnicializar lo senhal
-      flash changed: Vòstre senhal es estat modificat.
       flash token bad: Avètz pas trobat aqueste geton, avètz verificat l'URL ?
+    update:
+      flash changed: Vòstre senhal es estat modificat.
   preferences:
     show:
       title: Preferéncias
@@ -1908,12 +1908,7 @@ oc:
       id_not_configured: iD es pas estat configurat
     export:
       title: Exportar
-      area_to_export: Zòna d'exportar
       manually_select: Seleccionar manualament una zòna diferenta
-      format_to_export: Format d'exportar
-      osm_xml_data: Donadas XML d'OpenStreetMap
-      map_image: Imatge de mapa (aficha un calc normal)
-      embeddable_html: HTML incorporable.
       licence: Licéncia
       too_large:
         advice: 'Se l’expòrt çaisús fracassa, envisatjatz l’utilizacion d’una de las
@@ -1936,17 +1931,6 @@ oc:
         other:
           title: Autras fonts
           description: Fonts suplementàrias listadas dins lo wiki d'OpenStreetMap
-      options: Opcions
-      format: Format
-      scale: Escala
-      max: max
-      image_size: Talha de l'imatge
-      zoom: Zoom
-      add_marker: Apondre un marcador a la mapa
-      latitude: 'Lat :'
-      longitude: 'Lon :'
-      output: Sortida
-      paste_html: Pegatz lo còdi HTML per incorporar dins un site web.
       export_button: Exportar
     fixthemap:
       title: Senhalar un problèma / Corregir la mapa
@@ -2026,35 +2010,24 @@ oc:
           footway: Via pietonièra
           rail: Via ferrada
           subway: Linha de mètro
-          tram:
-          - Pichona via ferrada
-          - tram
-          cable:
-          - Teleferic
-          - telesèti
-          runway:
-          - Pista d'aeropòrt
-          - via de circulacion d'aeropòrt
-          apron:
-          - Estacionament d'avions
-          - terminal
+          cable_car: Teleferic
+          chair_lift: telesèti
+          runway: Pista d'aeropòrt
+          taxiway: via de circulacion d'aeropòrt
+          apron: Estacionament d'avions
           admin: Limit administratiu
           forest: Sèuva
           wood: Bòsc
           golf: Percors de gòlf
           park: Pargue
+          common: Espaci comun
           resident: Zòna residenciala
-          common:
-          - Espaci comun
-          - prada
-          - Jardin
           retail: Zòna de comèrci
           industrial: Zòna industriala
           commercial: Zòna terciària
           heathland: Landa
-          lake:
-          - Lac
-          - Sèrva
+          lake: Lac
+          reservoir: Sèrva
           farm: Zòna agricòla
           brownfield: Zòna rasada
           cemetery: Cementèri
@@ -2063,14 +2036,12 @@ oc:
           centre: Centre esportiu
           reserve: Resèrva naturala
           military: Zòna militara
-          school:
-          - Escòla
-          - universitat
+          school: Escòla
+          university: universitat
           building: Bastissa significativa
           station: Gara ferroviària
-          summit:
-          - Som
-          - pic
+          summit: Som
+          peak: pic
           tunnel: Bòrd en puntilhats = tunèl
           bridge: Bòrd negre = pont
           private: Accès privat
index 74e807cdcdd191ad57c73278d9e8333b67119ddb..6a25538e38b53aa14f76a33f715cabd995fa5b62 100644 (file)
@@ -777,8 +777,9 @@ pa:
   messages:
     inbox:
       title: ਇਨਬਾਕਸ
-      my_inbox: ਮੇਰਾ ਇਨਬਾਕਸ
+    messages_table:
       from: ਵੱਲੋਂ
+      to: ਵੱਲ
       subject: ਵਿਸ਼ਾ
       date: ਮਿਤੀ
     message_summary:
@@ -793,9 +794,6 @@ pa:
       heading: ਅਜਿਹਾ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ
     outbox:
       title: ਆਊਟਬਾਕਸ
-      to: ਵੱਲ
-      subject: ਵਿਸ਼ਾ
-      date: ਮਿਤੀ
     show:
       title: ਸੁਨੇਹਾ ਪੜ੍ਹੋ
       reply_button: ਜੁਆਬ
@@ -803,17 +801,20 @@ pa:
       back: ਪਿੱਛੇ
     sent_message_summary:
       destroy_button: ਮਿਟਾਉ
+    heading:
+      my_inbox: ਮੇਰਾ ਇਨਬਾਕਸ
     destroy:
       destroyed: ਸੁਨੇਹਾ ਮਿਟਾਇਆ ਗਿਆ
   passwords:
-    lost_password:
+    new:
       title: ਪਛਾਣ ਸ਼ਬਦ ਗੁੰਮ ਗਿਆ
       heading: ਪਛਾਣ ਸ਼ਬਦ ਭੁੱਲ ਗਿਆ?
       email address: 'ਈਮੇਲ ਪਤਾ:'
       new password button: ਪਛਾਣ ਸ਼ਬਦ ਮੁੜ-ਸੈੱਟ ਕਰੋ
-    reset_password:
+    edit:
       title: ਪਛਾਣ ਸ਼ਬਦ ਮੁੜ-ਸੈੱਟ ਕਰੋ
       reset: ਪਛਾਣ ਸ਼ਬਦ ਮੁੜ-ਸੈੱਟ ਕਰੋ
+    update:
       flash changed: ਤੁਹਾਡਾ ਪਛਾਣ ਸ਼ਬਦ ਬਦਲਿਆ ਜਾ ਚੁੱਕਾ ਹੈ।
   profiles:
     edit:
@@ -869,23 +870,11 @@ pa:
       anon_edits_link_text: ਪਤਾ ਕਰੋ ਕਿ ਮਾਮਲਾ ਇਸ ਤਰ੍ਹਾਂ ਕਿਉਂ ਹੈ।
     export:
       title: ਬਰਾਮਦ
-      area_to_export: ਬਰਾਮਦ ਵਾਸਤੇ ਇਲਾਕਾ
       manually_select: ਆਪਣੇ ਆਪ ਇੱਕ ਵੱਖਰਾ ਖੇਤਰ ਚੁਣੋ
-      format_to_export: ਬਰਾਮਦ ਵਾਸਤੇ ਰੂਪ
       licence: ਲਾਇਸੰਸ
       too_large:
         other:
           title: ਹੋਰ ਸਰੋਤ
-      options: ਚੋਣਾਂ
-      format: ਰੂਪ-ਰੇਖਾ
-      scale: ਪੈਮਾਨਾ
-      max: ਵੱਧ ਤੋਂ ਵੱਧ
-      image_size: ਤਸਵੀਰ ਦਾ ਅਕਾਰ
-      zoom: ਜ਼ੂਮ ਕਰੋ
-      add_marker: ਨਕਸ਼ੇ 'ਤੇ ਕੋਈ ਨਿਸ਼ਾਨਦੇਹੀ ਜੋੜੋ
-      latitude: 'ਅਕਸ਼ਾਂਸ਼:'
-      longitude: 'ਰੇਖਾਂਸ਼:'
-      output: ਆਊਟਪੁਟ
       export_button: ਬਰਾਮਦ
     fixthemap:
       title: ਕਿਸੇ ਔਕੜ ਦੀ ਇਤਲਾਹ ਦਿਉ / ਨਕਸ਼ਾ ਸਹੀ ਕਰੋ
@@ -933,47 +922,35 @@ pa:
           footway: ਪੈਦਲ ਰਾਹ
           rail: ਰੇਲਵੇ
           subway: ਸਬ-ਵੇਅ
-          tram:
-          - ਹਲਕੀ ਰੇਲ
-          - ਟਰਾਮ
-          cable:
-          - ਕੇਬਲ ਕਾਰ
-          - ਕੁਰਸੀ ਲਿਫ਼ਟ
-          runway:
-          - ਹਵਾਈ ਅੱਡੇ ਦੀ ਉਡਾਣ ਪੱਟੀ
-          - ਟੈਕਸੀਵੇਅ
-          apron:
-          - ਹਵਾਈ ਅੱਡੇ ਦਾ ਐਪਰਨ
-          - ਟਰਮੀਨਲ
+          cable_car: ਕੇਬਲ ਕਾਰ
+          chair_lift: ਕੁਰਸੀ ਲਿਫ਼ਟ
+          runway: ਹਵਾਈ ਅੱਡੇ ਦੀ ਉਡਾਣ ਪੱਟੀ
+          taxiway: ਟੈਕਸੀਵੇਅ
+          apron: ਹਵਾਈ ਅੱਡੇ ਦਾ ਐਪਰਨ
           admin: ਪ੍ਰਸ਼ਾਸਕੀ ਸਰਹੱਦ
           forest: ਜੰਗਲ
           wood: ਜੰਗਲ
           golf: ਗੋਲਫ਼ ਮੈਦਾਨ
           park: ਪਾਰਕ
+          common: ਸ਼ਾਮਲਾਟ
           resident: ਰਿਹਾਇਸ਼ੀ ਇਲਾਕਾ
-          common:
-          - ਸ਼ਾਮਲਾਟ
-          - ਚਰਗਾਹ
           retail: ਪਰਚੂਨ ਖੇਤਰ
           industrial: ਉਦਯੋਗਿਕ ਖੇਤਰ
           commercial: ਵਪਾਰਕ ਖੇਤਰ
-          lake:
-          - ਝੀਲ
-          - ਕੁੰਡ
+          lake: ਝੀਲ
+          reservoir: ਕੁੰਡ
           farm: ਖੇਤ
           cemetery: ਸ਼ਮਸ਼ਾਨ
           pitch: ਖੇਡ ਦੀ ਪਿੱਚ
           centre: ਖੇਡ ਕੇਂਦਰ
           reserve: ਕੁਦਰਤੀ ਰੱਖ
           military: ਫ਼ੌਜੀ ਇਲਾਕਾ
-          school:
-          - ਸਕੂਲ
-          - ਯੂਨੀਵਰਸਿਟੀ
+          school: ਸਕੂਲ
+          university: ਯੂਨੀਵਰਸਿਟੀ
           building: ਮਹੱਤਵਪੂਰਨ ਇਮਾਰਤ
           station: ਰੇਲਵੇ ਸਟੇਸ਼ਨ
-          summit:
-          - ਸਿਖਰ
-          - ਚੋਟੀ
+          summit: ਸਿਖਰ
+          peak: ਚੋਟੀ
           construction: ਉਸਾਰੀ ਹੇਠ ਸੜਕਾਂ
     welcome:
       title: ਜੀ ਆਇਆਂ ਨੂੰ!
index a75907e90bfff660a010bd256593ef2cf29af9f2..0bf4740d5ad516e419b5f29a26df5ca01d3a773b 100644 (file)
@@ -21,6 +21,7 @@
 # Author: Deejay1
 # Author: FunPL
 # Author: GlutPaprykarz
+# Author: Iketsi
 # Author: Ireun
 # Author: Kaligula
 # Author: Kastanoto
@@ -104,6 +105,9 @@ pl:
       messages:
         invalid_email_address: nie wygląda na poprawny adres e-mail
         email_address_not_routable: nie jest routowalny
+      models:
+        user_mute:
+          is_already_muted: jest już wyciszony
     models:
       acl: Lista kontroli dostępu
       changeset: Zestaw zmian
@@ -1539,9 +1543,10 @@ pl:
         many: '%{count} zgłoszeń'
         other: '%{count} zgłoszeń'
       no_reports: Brak zgłoszeń
-      report_created_at: Pierwsze zgłoszenie z %{datetime}
-      last_resolved_at: Ostatnia reakcja z %{datetime}
-      last_updated_at: Ostatnio zaktualizowane %{datetime} przez użytkownika %{displayname}
+      report_created_at_html: Pierwsze zgłoszenie z %{datetime}
+      last_resolved_at_html: Ostatnia reakcja z %{datetime}
+      last_updated_at_html: Ostatnio zaktualizowane %{datetime} przez użytkownika
+        %{displayname}
       resolve: Rozwiąż
       ignore: Zignoruj
       reopen: Otwórz ponownie
@@ -1818,8 +1823,6 @@ pl:
   messages:
     inbox:
       title: Wiadomości odebrane
-      my_inbox: wiadomości odebrane
-      my_outbox: wiadomości wysłane
       messages: Masz %{new_messages} i %{old_messages}
       new_messages:
         few: '%{count} nowe wiadomości'
@@ -1831,12 +1834,14 @@ pl:
         many: '%{count} starych wiadomości'
         one: '%{count} starą wiadomość'
         other: '%{count} starych wiadomości'
-      from: Od
-      subject: Temat
-      date: Data
       no_messages_yet_html: Nie masz jeszcze wiadomości. Może skontaktujesz się z
         %{people_mapping_nearby_link}?
       people_mapping_nearby: użytkownikami z twojej okolicy
+    messages_table:
+      from: Od
+      to: Do
+      subject: Temat
+      date: Data
     message_summary:
       unread_button: Oznacz jako nieprzeczytaną
       read_button: Oznacz jako przeczytaną
@@ -1856,15 +1861,10 @@ pl:
       body: Niestety nie ma wiadomości o tym identyfikatorze.
     outbox:
       title: Wiadomości wysłane
-      my_inbox: wiadomości odebrane
-      my_outbox: wiadomości wysłane
       messages:
         one: '%{count} wysłana wiadomość'
         few: '%{count} wysłane wiadomości'
         other: '%{count} wysłanych wiadomości'
-      to: Do
-      subject: Temat
-      date: Nadano
       no_sent_messages_html: Nie masz jeszcze wysłanych wiadomości. Może skontaktujesz
         się z %{people_mapping_nearby_link}?
       people_mapping_nearby: użytkownikami z twojej okolicy
@@ -1883,28 +1883,33 @@ pl:
         właściwy użytkownik, aby ją przeczytać.
     sent_message_summary:
       destroy_button: Usuń
+    heading:
+      my_inbox: wiadomości odebrane
+      my_outbox: wiadomości wysłane
     mark:
       as_read: Wiadomość została oznaczona jako przeczytana
       as_unread: Wiadomość została oznaczona jako nieprzeczytana
     destroy:
       destroyed: Wiadomość usunięta
   passwords:
-    lost_password:
+    new:
       title: Zgubione hasło
       heading: Zapomniałeś hasła?
-      email address: 'Adres e-mail:'
+      email address: Adres e-mail
       new password button: Wyczyść hasło
       help_text: Proszę wprowadzić adres e-mail używany do logowania. Zostanie wysłany
         na niego odnośnik służący do wyczyszczenia hasła.
+    create:
       notice email on way: Przykro nam z powodu utraty hasła. Wiadomość, która umożliwi
         jego wyczyszczenie, jest już w drodze.
       notice email cannot find: Niestety, nie odnaleziono tego adresu e-mail.
-    reset_password:
+    edit:
       title: Wyczyść hasło
       heading: Czyszczenie hasła użytkownika %{user}
       reset: Wyczyść hasło
-      flash changed: Hasło zostało zmienione.
       flash token bad: Nie znaleziono tokenu, sprawdź URL
+    update:
+      flash changed: Hasło zostało zmienione.
   preferences:
     show:
       title: Preferencje
@@ -1949,8 +1954,8 @@ pl:
     new:
       title: Logowanie
       heading: Logowanie
-      email or username: 'Adres e-mail lub nazwa użytkownika:'
-      password: 'Hasło:'
+      email or username: Adres e-mail lub nazwa użytkownika
+      password: Hasło
       openid_html: '%{logo} OpenID:'
       remember: Zapamiętaj dane uwierzytelniające
       lost password link: Zapomniałeś hasła?
@@ -2008,6 +2013,7 @@ pl:
       image: Obraz
       alt: Tekst alternatywny
       url: Adres URL
+      codeblock: Blok kodu
     richtext_field:
       edit: Edytuj
       preview: Podgląd
@@ -2119,6 +2125,7 @@ pl:
           (&copy; Department of Natural Resources Canada), CanVec (&copy; Department
           of Natural Resources Canada) i StatCan (Geography Division, Statistics Canada).'
         contributors_ca_canada: Kanada
+        contributors_cz_czechia: Czechy
         contributors_fi_credit_html: '%{finland}: Zawiera dane z National Land Survey
           of Finland''s Topographic Database i innych zbiorów danych, na podstawie
           %{nlsfi_license_link}.'
@@ -2198,12 +2205,7 @@ pl:
         niezbędne do tej funkcji.
     export:
       title: Eksportuj
-      area_to_export: Obszar do wyeksportowania
       manually_select: Ręcznie zaznacz inny obszar
-      format_to_export: Format eksportu
-      osm_xml_data: Dane XML OpenStreetMap
-      map_image: Obraz mapy (standardowa warstwa)
-      embeddable_html: Kod HTML do osadzenia
       licence: Licencja
       licence_details_html: Dane OpenStreetMap są objęte licencją %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -2227,17 +2229,6 @@ pl:
         other:
           title: Inne zasoby
           description: Dodatkowe zasoby wymienione w OpenStreetMap Wiki
-      options: Opcje
-      format: Format
-      scale: Skala
-      max: maks
-      image_size: Rozmiar obrazu
-      zoom: Przybliżenie
-      add_marker: Dodaj znacznik na mapie
-      latitude: 'Szer:'
-      longitude: 'Dł:'
-      output: Wynik
-      paste_html: Wklej podany kod HTML do swojej strony
       export_button: Wyeksportuj
     fixthemap:
       title: Zgłoś błąd / Popraw mapę
@@ -2330,36 +2321,32 @@ pl:
           cycleway_local: Droga rowerowa znaczenia lokalnego
           footway: Droga dla pieszych
           rail: Tor kolejowy
+          train: Kolej
           subway: Metro
-          tram:
-          - Kolej miejska
-          - tramwaj
-          cable:
-          - Kolej linowa
-          - wyciąg krzesełkowy
-          runway:
-          - Pas startowy
-          - kołowania
-          apron:
-          - Płyta lotniska
-          - terminal
+          ferry: Prom
+          light_rail: Kolej miejska
+          tram: Tramwaj
+          trolleybus: Trolejbus
+          bus: Autobus
+          cable_car: Kolej linowa
+          chair_lift: wyciąg krzesełkowy
+          runway: Pas startowy
+          taxiway: kołowania
+          apron: Płyta lotniska
           admin: Granica
           forest: Las
           wood: Drzewa
           golf: Pole golfowe
           park: Park
+          common: Pole
           resident: Teren mieszkalny
-          common:
-          - Pole
-          - łąka
-          - ogród
           retail: Zabudowa handlowo-usługowa
           industrial: Teren przemysłowy
           commercial: Teren komercyjny
           heathland: Wrzosowisko
-          lake:
-          - Jezioro
-          - zbiornik
+          lake: Jezioro
+          reservoir: zbiornik
+          glacier: Lodowiec
           farm: Gospodarstwo rolne
           brownfield: Teren powyburzeniowy
           cemetery: Cmentarz
@@ -2368,19 +2355,19 @@ pl:
           centre: Centrum sportowe
           reserve: Rezerwat przyrody
           military: Teren wojskowy
-          school:
-          - Szkoła
-          - uniwersytet
+          school: Szkoła
+          university: uniwersytet
           building: Ważny budynek
           station: Stacja kolejowa
-          summit:
-          - Góra
-          - szczyt
+          summit: Góra
+          peak: szczyt
           tunnel: Kreskowany obrys – tunel
           bridge: Czarny obrys – most
           private: Dostęp za zezwoleniem
           destination: Dostęp tylko do punktu docelowego
           construction: Drogi w budowie
+          bus_stop: Przystanek autobusowy
+          stop: Stop
           bicycle_shop: Sklep rowerowy
           bicycle_parking: Parking dla rowerów
           toilets: Toalety
@@ -3110,6 +3097,7 @@ pl:
       map_data_zoom_in_tooltip: Przybliż mapę, aby zobaczyć jej dane
       queryfeature_tooltip: Pobierz i wyświetl obiekty
       queryfeature_disabled_tooltip: Przybliż mapę, aby obejrzeć dane obiektów
+      embed_html_disabled: Osadzanie HTML nie jest dostępne dla tej warstwy mapy
     changesets:
       show:
         comment: Komentarz
index 848871cf658541e323c7a1f43261636ae05db87f..f7bef6bc17189be26e11346657051e8e104c57ce 100644 (file)
@@ -1139,10 +1139,10 @@ pnb:
       reports:
         other: zeroرپورٹ نہیں
         one: اِکّ رپورٹ
-      report_created_at: '%{datetime} رپورٹ بھیجی سی۔'
-      last_resolved_at: '%{datetime} مسئلہ بند کیتا سی۔'
-      last_updated_at: '%{datetime} مسئلے تے «%{displayname}» نویں کاݨکاری پائی گئی
-        سی۔'
+      report_created_at_html: '%{datetime} رپورٹ بھیجی سی۔'
+      last_resolved_at_html: '%{datetime} مسئلہ بند کیتا سی۔'
+      last_updated_at_html: '%{datetime} مسئلے تے «%{displayname}» نویں کاݨکاری پائی
+        گئی سی۔'
       resolve: حل کڈھو
       ignore: نظر انداز کرو
       reopen: ولدا کھُلھو
@@ -1338,8 +1338,6 @@ pnb:
   messages:
     inbox:
       title: اینباکس
-      my_inbox: اینباکس
-      my_outbox: میرا آؤٹباکس
       messages: تہاڈے %{new_messages} تے %{old_messages} اے
       new_messages:
         one: '%{count} نویں سنیہا'
@@ -1347,12 +1345,14 @@ pnb:
       old_messages:
         one: '%{count} پراݨا سنیہا'
         other: '%{count} پراݨے سنیہے'
-      from: ولّوں
-      subject: وشا
-      date: تریخ
       no_messages_yet_html: حالاں کوئی سنیہے نہیں اے۔ %{people_mapping_nearby_link}
         ویکھ سکیو۔
       people_mapping_nearby: نیڑے تیڑے دے نقشے والے
+    messages_table:
+      from: ولّوں
+      to: ول
+      subject: وشا
+      date: تریخ
     message_summary:
       unread_button: اݨ پڑھا نشان لاؤ
       read_button: پڑھا نشان لاؤ
@@ -1369,14 +1369,9 @@ pnb:
       body: ایہہ سنیہا نہیں لبھیا۔
     outbox:
       title: آؤٹباکس
-      my_inbox: اینباکس
-      my_outbox: میرا آؤٹباکس
       messages:
         one: تہاڈے %{count} بھیجݨ سنیہا اے
         other: تہاڈے  %{count} بھیجݨ سنیہے اے
-      to: ول
-      subject: وشا
-      date: تریخ
       people_mapping_nearby: نیڑے تیڑے دے نقشے والے
     show:
       title: مُنیہا پڑھو
@@ -1386,25 +1381,30 @@ pnb:
       back: پچھے
     sent_message_summary:
       destroy_button: مٹاؤ
+    heading:
+      my_inbox: اینباکس
+      my_outbox: میرا آؤٹباکس
     mark:
       as_read: سنیہا پڑھا نشان لایا گیا
       as_unread: سنیہا اݨ پڑھا نشان لایا گیا
     destroy:
       destroyed: سُنیہا مٹائا گیا
   passwords:
-    lost_password:
+    new:
       title: پاس‌ورڈ گُم گیا
       heading: پچھاݨ شبد بھّل گیا؟
       email address: 'ای‌میل پتہ:'
       new password button: پاس‌ورڈ فیر بݨایو
       help_text: تہاڈے ای‌میل دا پتہ جو پاس‌ورڈ فیر بݨاؤݨ دی کڑی بھیج سکاں‌گی اے۔
+    create:
       notice email on way: اچھا، ای‌میل تے مدد دی کڑی بھیجاں‌گی اے
       notice email cannot find: افسوس، اوہ ای‌میل دا پتہ نہیں لبھ سکیا
-    reset_password:
+    edit:
       title: پاس‌ورڈ فیر بݨایو
       reset: پاس‌ورڈ فیر بݨایو
-      flash changed: تہاڈے پاس‌ورڈ تبدیلی کیتی گئی سی۔
       flash token bad: ٹوکن نہیں لبھیا، خبر کڑی دا پتہ ویکھیو؟
+    update:
+      flash changed: تہاڈے پاس‌ورڈ تبدیلی کیتی گئی سی۔
   preferences:
     show:
       title: ترجیحاں
@@ -1556,12 +1556,7 @@ pnb:
         ورتݨے چاہیدے۔
     export:
       title: برامد کرو
-      area_to_export: برامد واسطے علاقہ
       manually_select: آپݨے آپ اِکّ وکھرا کھیتر چݨو
-      format_to_export: برامد واسطے فارماٹ
-      osm_xml_data: اوپن سٹریٹ میپ ایکس ایم ایل ڈیٹا
-      map_image: نقشے دی تصویر (میعری)
-      embeddable_html: ایچ ٹی ایم ایل ایمبیڈ
       licence: لائیسنس
       too_large:
         advice: 'جے برامد نہیں سکدا، خبرے تسیں ایہہ ہور سروت ورت سکدے:'
@@ -1579,17 +1574,6 @@ pnb:
         other:
           title: ہور سروت
           description: وِکی توں ہور سروت
-      options: چوݨاں
-      format: فارمیٹ
-      scale: پیمانہ
-      max: ودھ توں ودھ
-      image_size: تصویر دا اکار
-      zoom: وڈے چھوٹے کیتے
-      add_marker: نقشے تے کوئی نشاندیہی پایو
-      latitude: اکشانش
-      longitude: لمبکار
-      output: آؤٹپُٹ
-      paste_html: ایمبیڈ کوڈ پیسٹ کریو
       export_button: برامد کرو
     fixthemap:
       title: کسے اوکڑ دی اطلاع دیو، نقشہ دُرُست کریو
@@ -1657,35 +1641,24 @@ pnb:
           footway: فُت‌وے
           rail: ریلوے
           subway: سبوے
-          tram:
-          - ہلکی ریلوے
-          - ٹرام‌وے
-          cable:
-          - کیبل کار
-          - کُرسی لِفٹ
-          runway:
-          - ہوائی اڈے اُڈاݨ پٹی
-          - ٹیکسی‌وے
-          apron:
-          - ہوائی اڈے دا ایپرن
-          - ٹرمینل
+          cable_car: کیبل کار
+          chair_lift: کُرسی لِفٹ
+          runway: ہوائی اڈے اُڈاݨ پٹی
+          taxiway: ٹیکسی‌وے
+          apron: ہوائی اڈے دا ایپرن
           admin: پرشاسکی سرحد
           forest: رکھّ
           wood: جنگل
           golf: گولف مَیدان
           park: پارک
+          common: شاملاٹ
           resident: رہائشی کھیتر
-          common:
-          - شاملاٹ
-          - چرگاہ
-          - باغ
           retail: پرچون کھیتر
           industrial: سناتی کھیتر
           commercial: وپارک کھیتر
           heathland: ہیتھ
-          lake:
-          - جھیل
-          - کُنڈ
+          lake: جھیل
+          reservoir: کُنڈ
           farm: کھیت
           brownfield: براؤنفیلڈ
           cemetery: شمشان
@@ -1694,14 +1667,12 @@ pnb:
           centre: کھیڈ کیندر
           reserve: کُدرتی رکھّ
           military: فَوجی کھیتر
-          school:
-          - سکول
-          - یونیورستی
+          school: سکول
+          university: یونیورستی
           building: مہتوپورن عمارت
           station: ریلوے سٹیشن
-          summit:
-          - سکھر
-          - چوٹی
+          summit: سکھر
+          peak: چوٹی
           tunnel: سُرنگ (ڈیش لائیناں)
           bridge: پُل (کالیاں لائیناں)
           private: نِجی ورتوں
index 1ef959f570bd0d8e639492aaeba8efae0830aff2..a118d65ed2cc5e7c2323ed58e7b4dec03843ab44 100644 (file)
@@ -310,22 +310,20 @@ ps:
     confirm_email:
       button: تاييد
   messages:
-    inbox:
+    messages_table:
       date: نېټه
     message_summary:
       reply_button: ځوابول
       destroy_button: ړنگول
     new:
       title: پيغام لېږل
-    outbox:
-      date: نېټه
     show:
       title: پيغام لوستل
       reply_button: ځواب
     sent_message_summary:
       destroy_button: ړنگول
   passwords:
-    lost_password:
+    new:
       heading: آيا پټنوم مو هېر شوی؟
       email address: 'برېښليک پته:'
   profiles:
@@ -358,8 +356,6 @@ ps:
       user_page_link: د کارن مخ
     export:
       licence: منښتليک
-      options: خوښنې
-      format: بڼه
     sidebar:
       search_results: د پلټنې پايلې
       close: تړل
@@ -372,15 +368,13 @@ ps:
         entry:
           forest: ځنگل
           park: پارک
-          lake:
-          - ډنډ
-          - زېرمتون
+          lake: ډنډ
+          reservoir: زېرمتون
           farm: کرونده
           cemetery: هديره
           military: پوځي سيمه
-          school:
-          - ښوونځی
-          - پوهنتون
+          school: ښوونځی
+          university: پوهنتون
   traces:
     new:
       visibility_help: دا څه مانا لري؟
index 7d7f84ab700a70b7a6ca7045be831ee4cdbec572..ab6f28520de66c348d32304b352f10e34e74c6ce 100644 (file)
@@ -81,6 +81,11 @@ pt-PT:
       messages:
         invalid_email_address: não parece ser um endereço de correio eletrónico válido
         email_address_not_routable: não é atingível
+        display_name_is_user_n: não pode ser user_n a não ser que n seja a tua id
+          de utilizador
+      models:
+        user_mute:
+          is_already_muted: já está silenciado
     models:
       acl: Aceder à lista de controlo
       changeset: Conjunto de alterações
@@ -1510,9 +1515,9 @@ pt-PT:
         one: '%{count} denúncia'
         other: '%{count} denúncias'
       no_reports: Sem denúncias
-      report_created_at: Denunciado pela primeira vez em %{datetime}
-      last_resolved_at: Resolvido pela última vez em %{datetime}
-      last_updated_at: Atualizado pela última vez em %{datetime} por %{displayname}
+      report_created_at_html: Denunciado pela primeira vez em %{datetime}
+      last_resolved_at_html: Resolvido pela última vez em %{datetime}
+      last_updated_at_html: Atualizado pela última vez em %{datetime} por %{displayname}
       resolve: Resolver
       ignore: Ignorar
       reopen: Reabrir
@@ -1673,6 +1678,8 @@ pt-PT:
       loaded:
         one: carregado com sucesso com %{trace_points} de %{count} point possível.
         other: carregado com sucesso com %{trace_points} de %{count} pontos possíveis.
+      all_your_traces_html: Todos os trajetos GPX que enviaste podem ser encontrados
+        em %{url}.
       subject: '[OpenStreetMap] Importação de GPX bem-sucedida'
     signup_confirm:
       subject: '[OpenStreetMap] Bem-vind@ ao OpenStreetMap'
@@ -1794,8 +1801,6 @@ pt-PT:
   messages:
     inbox:
       title: Caixa de Entrada
-      my_inbox: Caixa de entrada
-      my_outbox: Caixa de saída
       messages: Tens %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} mensagem nova'
@@ -1803,17 +1808,21 @@ pt-PT:
       old_messages:
         one: '%{count} mensagem antiga'
         other: '%{count} mensagens antigas'
-      from: De
-      subject: Assunto
-      date: Data
       no_messages_yet_html: Ainda não tens mensagens. Porque não entras em contacto
         com algumas %{people_mapping_nearby_link}?
       people_mapping_nearby: pessoas que mapeiam perto de ti
+    messages_table:
+      from: De
+      to: Para
+      subject: Assunto
+      date: Data
+      actions: Ações
     message_summary:
       unread_button: Marcar como não lida
       read_button: Marcar como lida
       reply_button: Responder
       destroy_button: Eliminar
+      unmute_button: Mover para caixa de entrada
     new:
       title: Enviar mensagem
       send_message_to_html: Enviar uma nova mensagem para %{name}
@@ -1828,17 +1837,18 @@ pt-PT:
       body: Lamentamos, não existe nenhuma mensagem com esse identificador (id).
     outbox:
       title: Caixa de saída
-      my_inbox: Caixa de entrada
-      my_outbox: Caixa de saída
+      actions: Ações
       messages:
         one: Tens %{count} mensagem enviada
         other: Tens %{count} mensagens enviadas
-      to: Para
-      subject: Assunto
-      date: Data
       no_sent_messages_html: Ainda não tens mensagens enviadas. Porque não entras
         em contacto com algumas %{people_mapping_nearby_link}?
       people_mapping_nearby: pessoas que mapeiam perto de ti
+    muted:
+      title: Mensagens Silenciadas
+      messages:
+        one: '%{count} mensagem silenciada'
+        other: Tens %{count} mensagens silenciadas
     reply:
       wrong_user: Estás autenticado como `%{user}', mas a mensagem a que pretendes
         responder não foi enviada para esse utilizador. Por favor, entra na conta
@@ -1854,29 +1864,39 @@ pt-PT:
         correta para poderes ler a mensagem.
     sent_message_summary:
       destroy_button: Eliminar
+    heading:
+      my_inbox: Caixa de entrada
+      my_outbox: Caixa de saída
+      muted_messages: Mensagens silenciadas
     mark:
       as_read: Mensagem marcada como lida
       as_unread: Mensagem marcada como não lida
+    unmute:
+      notice: A mensagem foi movida para a caixa de entrada
+      error: A mensagem não pôde ser movida para a caixa de entrada.
     destroy:
       destroyed: Mensagem eliminada
   passwords:
-    lost_password:
+    new:
       title: Palavra-passe esquecida
       heading: Esqueceste a palavra-passe?
       email address: 'Endereço eletrónico:'
       new password button: Repor palavra-passe
       help_text: Introduz o endereço de correio eletrónico que usaste para criar a
         conta. Enviar-te-emos uma ligação que poderás usar para repor a palavra-passe.
+    create:
       notice email on way: Lamentamos que a tenhas perdido :-( mas já te enviámos
         um e-mail para que possas repô-la em breve.
       notice email cannot find: Lamentamos, mas não foi possível encontrar esse endereço
         eletrónico.
-    reset_password:
+    edit:
       title: Repor palavra-passe
       heading: Repor palavra-passe para %{user}
       reset: Repor palavra-passe
-      flash changed: A tua palavra-passe foi alterada.
       flash token bad: Não encontrámos esse token. Confere o URL, por favor.
+    update:
+      flash changed: A tua palavra-passe foi alterada.
+      flash token bad: O token não foi encontrado. Talvez devas conferir o URL?
   preferences:
     show:
       title: Preferências
@@ -1967,7 +1987,7 @@ pt-PT:
       support: apoio
   shared:
     markdown_help:
-      heading_html: Analisado com %{kramdown_link}
+      heading_html: Processado com %{kramdown_link}
       headings: Títulos
       heading: Cabeçalho
       subheading: Subtítulo
@@ -1980,6 +2000,7 @@ pt-PT:
       image: Imagem
       alt: Texto alternativo
       url: URL
+      codeblock: Bloco de código
     richtext_field:
       edit: Editar
       preview: Pré-visualizar
@@ -2206,12 +2227,7 @@ pt-PT:
         são necessárias para esta funcionalidade.
     export:
       title: Exportar
-      area_to_export: Área a exportar
       manually_select: Selecionar manualmente outra área
-      format_to_export: Formato a exportar
-      osm_xml_data: Dados XML do OpenStreetMap
-      map_image: Imagem do mapa (mostra a camada padrão)
-      embeddable_html: HTML integrável
       licence: Licença
       licence_details_html: Os dados do OpenStreetMap são licenciados sob %{odbl_link}
         (ODbL).
@@ -2237,17 +2253,6 @@ pt-PT:
         other:
           title: Outras fontes
           description: Fontes adicionais listadas na wiki do OpenStreetMap
-      options: Opções
-      format: Formato
-      scale: Escala
-      max: máx
-      image_size: Tamanho da imagem
-      zoom: Zoom
-      add_marker: Adicionar marcador no mapa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Resultado
-      paste_html: Cole o HTML para incorporar no website
       export_button: Exportar
     fixthemap:
       title: Reportar um problema / Corrigir o mapa
@@ -2346,67 +2351,83 @@ pt-PT:
           primary: Estrada primária
           secondary: Estrada secundária
           unclassified: Estrada sem classificação
+          pedestrian: Caminho pedestre
           track: Estrada florestal ou agrícola
           bridleway: Via equestre
           cycleway: Ciclovia
           cycleway_national: Ciclovia nacional
           cycleway_regional: Ciclovia regional
           cycleway_local: Ciclovia local
+          cycleway_mtb: Rota de bicicleta de montanha
           footway: Via pedonal
           rail: Ferrovia
+          train: Comboio
           subway: Metropolitano
-          tram:
-          - Metropolitano de superfície
-          - elétrico
-          cable:
-          - Teleférico
-          - telecadeira
-          runway:
-          - Pista de aviação
-          - Via de circulação
-          apron:
-          - Estacionamento de aviões
-          - terminal de aeroporto
+          ferry: Ferry
+          light_rail: Comboio ligeiro
+          tram: Elétrico
+          trolleybus: Troleicarro
+          bus: Autocarro
+          cable_car: Teleférico
+          chair_lift: Teleférico
+          runway: Pista de aviação
+          taxiway: Via de circulação
+          apron: Estacionamento de aviões
           admin: Fronteira administrativa
+          capital: Capital
+          city: Cidade
+          orchard: Pomar
+          vineyard: Vinha
           forest: Floresta gerida
           wood: Bosque
+          farmland: Terreno agrícola
+          grass: Relva
+          meadow: Prado
+          bare_rock: Rocha exposta
+          sand: Areia
           golf: Campo de golfe
           park: Parque público
+          common: Terrenos comunitários
+          built_up: Zona edificada
           resident: Área residencial
-          common:
-          - Terrenos comunitários
-          - prado
-          - Jardim
           retail: Área de retalho
           industrial: Área industrial
           commercial: Área comercial
           heathland: Charneca
-          lake:
-          - Lago
-          - reservatório hidrográfico
+          scrubland: Matagal
+          lake: Lago
+          reservoir: Reservatório
+          intermittent_water: Corpo de água intermitente
+          glacier: Glaciar
+          reef: Recife
+          wetland: Zona húmida
           farm: Quinta
           brownfield: Baldio industrial
           cemetery: Cemitério
           allotments: Hortas urbanas
           pitch: Campo desportivo
           centre: Centro desportivo
+          beach: Praia
           reserve: Reserva natural
           military: Área militar
-          school:
-          - Escola
-          - universidade
+          school: Escola
+          university: Universidade
+          hospital: Hospital
           building: Edifício importante
           station: Estação ferroviária
-          summit:
-          - Cume
-          - pico
+          summit: Cume
+          peak: Pico
           tunnel: Linha tracejada = túnel
           bridge: Linha cheia = ponte
           private: Acesso privado
           destination: Acesso explícito ao local
           construction: Estradas em construção
+          bus_stop: Paragem de autocarro
+          stop: Paragem
           bicycle_shop: Loja de bicicletas
+          bicycle_rental: Aluguer de bicicletas
           bicycle_parking: Estacionamento de bicicletas
+          bicycle_parking_small: Estacionamento para bicicletas
           toilets: Casas de banho
     welcome:
       title: Bem-vind@!
@@ -2608,6 +2629,7 @@ pt-PT:
       oauth1_settings: Definições OAuth 1
       oauth2_applications: Aplicações OAuth 2
       oauth2_authorizations: Autorizações OAuth 2
+      muted_users: Utilizadores Silenciados
   oauth:
     authorize:
       title: Autorizar Acesso À Tua Conta
@@ -2645,6 +2667,7 @@ pt-PT:
       read_gpx: Ler rotas GPS privadas
       write_gpx: Enviar rotas GPS
       write_notes: Modificar notas
+      write_redactions: Rever dados do mapa
       read_email: ‎Ler e-mail de utilizador
       skip_authorization: Aprovar a aplicação automaticamente
   oauth_clients:
@@ -2823,6 +2846,8 @@ pt-PT:
       my_dashboard: Painel de Controlo
       blocks on me: Quem me bloqueou
       blocks by me: Os meus bloqueios
+      create_mute: Silenciar este utilizador
+      destroy_mute: Ativar este utilizador
       edit_profile: Editar Perfil
       send message: Enviar mensagem
       diary: Diário
@@ -2854,6 +2879,7 @@ pt-PT:
           importer: Revogar acesso de importador
       block_history: Bloqueios ativos
       moderator_history: Bloqueios aplicados
+      revoke_all_blocks: Revogar todos os bloqueios
       comments: Comentários
       create_block: Bloquear este utilizador
       activate_user: Ativar este utilizador
@@ -2965,6 +2991,16 @@ pt-PT:
       confirm: Tens a certeza de que queres revogar este bloqueio?
       revoke: Revogar!
       flash: Este bloqueio foi revogado.
+    revoke_all:
+      title: A retirar o bloqueio de %{block_on}
+      heading_html: A retirar o bloqueio de %{block_on}
+      empty: '%{name} não tem bloqueios ativos.'
+      confirm: Tens a certeza de que queres revogar %{active_blocks}?
+      active_blocks:
+        one: '%{count} bloqueio ativo'
+        other: '%{count} bloqueios ativos'
+      revoke: Revogar!
+      flash: Todos os bloqueios ativos foram revogados.
     helper:
       time_future_html: Termina em %{time}.
       until_login: Ativo até o utilizador iniciar sessão.
@@ -3023,13 +3059,39 @@ pt-PT:
       showing_page: Página %{page}
       next: Seguinte »
       previous: « Anterior
+  user_mutes:
+    index:
+      title: Utilizadores Silenciados
+      my_muted_users: Os meus utilizadores silenciados
+      you_have_muted_n_users:
+        one: Silenciaste %{count} utilizador
+        other: Silenciaste %{count} utilizadores
+      user_mute_explainer: As mensagens de utilizadores silenciados são movidas para
+        uma caixa de entrada separada e não receberás notificações por e-mail.
+      user_mute_admins_and_moderators: Podes silenciar administradores e moderadores,
+        mas as suas mensagens não serão silenciadas.
+      table:
+        thead:
+          muted_user: Utilizador Silenciado
+          actions: Ações
+        tbody:
+          unmute: Ativar
+          send_message: Enviar mensagem
+    create:
+      notice: Silenciaste %{name}.
+      error: |-
+        %{name} não pôde ser silenciado.
+        %{full_message}.
+    destroy:
+      notice: Ativaste %{name}.
+      error: O utilizador não pôde ser silenciado. Por favor, tenta novamente.
   notes:
     index:
       title: Notas submetidas ou comentadas por %{user}
       heading: Notas de %{user}
       subheading_html: Notas %{submitted} ou %{commented} por %{user}
-      subheading_submitted: enviada
-      subheading_commented: comentada em
+      subheading_submitted: enviadas
+      subheading_commented: comentadas em
       no_notes: Sem notas
       id: Id
       creator: Criador
@@ -3059,6 +3121,7 @@ pt-PT:
       reactivate: Reabrir
       comment_and_resolve: Comentar e resolver
       comment: Comentar
+      log_in_to_comment: Inicia sessão para comentar esta nota
       report_link_html: Se esta nota contiver informações sensíveis que precisem de
         ser removidas, poderás %{link}.
       other_problems_resolve: Para qualquer outro problema com a nota, resolve-a pessoalmente
index cc27269ba33d1793b68c4c373c87e4cf041edad9..c8a6e147e27fda9a02eb16c5bbfbff2c23e63162 100644 (file)
@@ -7,6 +7,7 @@
 # Author: BraulioBezerra
 # Author: Brunomelnic
 # Author: Cainamarques
+# Author: CorraleH
 # Author: Crazymadlover
 # Author: Cristofer Alves
 # Author: Danieldegroot2
@@ -1518,9 +1519,9 @@ pt:
         one: '%{count} relatório'
         other: '%{count} relatórios'
       no_reports: Sem relatórios
-      report_created_at: Primeiro relatado em %{datetime}
-      last_resolved_at: Resolvido pela última vez em %{datetime}
-      last_updated_at: Última atualização em %{datetime} por %{displayname}
+      report_created_at_html: Primeiro relatado em %{datetime}
+      last_resolved_at_html: Resolvido pela última vez em %{datetime}
+      last_updated_at_html: Última atualização em %{datetime} por %{displayname}
       resolve: Resolvido
       ignore: Ignorar
       reopen: Reabrir
@@ -1802,8 +1803,6 @@ pt:
   messages:
     inbox:
       title: Caixa de Entrada
-      my_inbox: Minha Caixa de Entrada
-      my_outbox: Minha caixa de saída
       messages: Você tem %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} nova mensagem'
@@ -1811,12 +1810,14 @@ pt:
       old_messages:
         one: '%{count} mensagem antiga'
         other: '%{count} mensagens antigas'
-      from: De
-      subject: Assunto
-      date: Data
       no_messages_yet_html: Você ainda não tem mensagens. Por que não entrar em contato
         com %{people_mapping_nearby_link}?
       people_mapping_nearby: alguém mapeando por perto
+    messages_table:
+      from: De
+      to: Para
+      subject: Assunto
+      date: Data
     message_summary:
       unread_button: Marcar como não lida
       read_button: Marcar como lida
@@ -1836,14 +1837,9 @@ pt:
       body: Não existe uma mensagem com este id.
     outbox:
       title: Caixa de Saída
-      my_inbox: Minha caixa de entrada
-      my_outbox: Minha caixa de saída
       messages:
         one: Você tem %{count} mensagem enviada
         other: Você tem %{count} mensagens enviadas
-      to: Para
-      subject: Assunto
-      date: Data
       no_sent_messages_html: Você ainda não enviou nenhuma mensagem. Por que não entrar
         em contato com %{people_mapping_nearby_link}?
       people_mapping_nearby: alguém mapeando por perto
@@ -1862,28 +1858,33 @@ pt:
         para poder responder.
     sent_message_summary:
       destroy_button: Apagar
+    heading:
+      my_inbox: Minha Caixa de Entrada
+      my_outbox: Minha caixa de saída
     mark:
       as_read: Mensagem marcada como lida
       as_unread: Mensagem marcada como não lida
     destroy:
       destroyed: Mensagem apagada
   passwords:
-    lost_password:
+    new:
       title: Senha esquecida
       heading: Esqueceu sua senha?
       email address: 'Endereço de E-mail:'
       new password button: Redefinir senha
       help_text: Digite o endereço de e-mail que você usou para se conectar e enviaremos
         um link que você poderá usar para redefinir a sua senha.
+    create:
       notice email on way: Um e-mail foi enviado para que você possa escolher outra
         senha.
       notice email cannot find: Não foi possível encontrar esse endereço de e-mail.
-    reset_password:
+    edit:
       title: Redefinir senha
       heading: Redefinir Senha de %{user}
       reset: Redefinir Senha
-      flash changed: Sua senha foi alterada.
       flash token bad: O código não confere, verifique a URL.
+    update:
+      flash changed: Sua senha foi alterada.
   preferences:
     show:
       title: Minhas preferências
@@ -2221,12 +2222,7 @@ pt:
         para esse recurso.
     export:
       title: Exportar
-      area_to_export: Área a Exportar
       manually_select: Selecionar outra área manualmente
-      format_to_export: Formato a Exportar
-      osm_xml_data: Dados XML do OpenStreetMap
-      map_image: Imagem do Mapa (exibe a camada padrão)
-      embeddable_html: HTML para embutir
       licence: Licença
       licence_details_html: Os dados do OpenStreetMap são licenciados por %{odbl_link}
         (ODbL).
@@ -2252,17 +2248,6 @@ pt:
         other:
           title: Outras Fontes
           description: Fontes adicionais listadas no wiki do OpenStreetMap
-      options: Opções
-      format: Formato
-      scale: Escala
-      max: máx
-      image_size: Tamanho da Imagem
-      zoom: Ampliação
-      add_marker: Incluir um marcador no mapa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Saída
-      paste_html: Cole o HTML para publicar no site
       export_button: Exportar
     fixthemap:
       title: Relatar um problema / Corrigir o mapa
@@ -2375,35 +2360,26 @@ pt:
           footway: Caminho de pedestre
           rail: Ferrovia
           subway: Metrô
-          tram:
-          - Ferrovia metropolitana
-          - bonde
-          cable:
-          - Bonde aéreo
-          - telecadeira
-          runway:
-          - Pista de Pouso
-          - pista de taxiamento
-          apron:
-          - Pátio de aeródromo
-          - terminal
+          cable_car: Bonde aéreo
+          chair_lift: Teleférico
+          runway: Pista de Pouso
+          taxiway: pista de taxiamento
+          apron: Pátio de aeródromo
           admin: Limite administrativo
+          vineyard: Vinha
           forest: Floresta manejada
           wood: Bosque nativo
+          meadow: Prado
           golf: Campo de golfe
           park: Parque
+          common: Baldio comunitário
           resident: Área residencial
-          common:
-          - Baldio comunitário
-          - prado
-          - Jardim
           retail: Área de varejo
           industrial: Área industrial
           commercial: Área de negócios
           heathland: Urzal
-          lake:
-          - Lago
-          - lago artificial
+          lake: Lago
+          reservoir: Reservatório
           farm: Lavoura
           brownfield: Terreno abandonado
           cemetery: Cemitério secular
@@ -2412,14 +2388,13 @@ pt:
           centre: Centro/clube esportivo
           reserve: Reserva ambiental
           military: Área militar
-          school:
-          - Escola
-          - universidade
+          school: Escola/Universidade
+          university: universidade
+          hospital: Hospital
           building: Edifício importante
           station: Estação ferroviária
-          summit:
-          - Cume
-          - cume
+          summit: Cume
+          peak: cume
           tunnel: Túnel (contorno tracejado)
           bridge: Ponte/viaduto (contorno contínuo)
           private: Acesso restrito
@@ -2664,6 +2639,7 @@ pt:
       read_gpx: Ler rotas GPS privadas
       write_gpx: Enviar rotas GPS
       write_notes: Modificar notas
+      write_redactions: Rever dados do mapa
       read_email: Ler o endereço de e-mail do usuário
       skip_authorization: Aplicação de aprovação automática
   oauth_clients:
index 4dd7a9bbf0240a5a7f067646134d39a52415f42c..624560049b15b3f08c2aab152a6e2aa090a05a82 100644 (file)
@@ -9,6 +9,7 @@
 # Author: EddyPetrisor
 # Author: GabiBil
 # Author: Gravitystorm
+# Author: Heron702
 # Author: Kyouko
 # Author: Lucdrei
 # Author: MSClaudiu
@@ -295,6 +296,8 @@ ro:
         retain_changeset_discussions: Discuțiile dvs. privind setul de modificări,
           dacă există, vor fi păstrate.
         retain_email: Adresa dvs. de e-mail va fi păstrată.
+        recent_editing_html: Deoarece ați editat recent, contul dvs. nu poate fi șters
+          în prezent. Ștergerea va fi posibilă în %{time}.
         confirm_delete: Sunteți sigur(ă)?
         cancel: Anulează
   accounts:
@@ -1494,9 +1497,9 @@ ro:
         few: '%{count} raporturi'
         other: ""
       no_reports: Fara rapoarte
-      report_created_at: Prima dată raportată la %{datetime}
-      last_resolved_at: Ultima rezolvată la %{datetime}
-      last_updated_at: Ultima actualizare la %{datetime} de către %{displayname}
+      report_created_at_html: Prima dată raportată la %{datetime}
+      last_resolved_at_html: Ultima rezolvată la %{datetime}
+      last_updated_at_html: Ultima actualizare la %{datetime} de către %{displayname}
       resolve: Rezolvat
       ignore: Ignoră
       reopen: Redeschide
@@ -1776,8 +1779,6 @@ ro:
   messages:
     inbox:
       title: Mesaje primite
-      my_inbox: Mesaje primite
-      my_outbox: Mesaje trimise
       messages: Aveți mesaje %{new_messages} și %{old_messages}
       new_messages:
         one: '%{count} mesaj nou'
@@ -1785,12 +1786,15 @@ ro:
       old_messages:
         one: '%{count} mesaj vechi'
         other: '%{count} mesaje vechi'
-      from: De la
-      subject: Subiect
-      date: Dată
       no_messages_yet_html: Nu aveți încă mesaje. De ce să nu intri în legătură cu
         unele dintre %{people_mapping_nearby_link}?
       people_mapping_nearby: oameni care cartografiază în apropiere
+    messages_table:
+      from: De la
+      to: Către
+      subject: Subiect
+      date: Dată
+      actions: Acțiuni
     message_summary:
       unread_button: Marchează ca necitit
       read_button: Marchează ca citit
@@ -1810,14 +1814,10 @@ ro:
       body: Ne pare rău că nu există niciun mesaj cu acel id.
     outbox:
       title: Mesaje trimise
-      my_inbox: Mesaje primite
-      my_outbox: Mesaje trimise
+      actions: Acțiuni
       messages:
         one: Aveți %{count} mesaj trimis
         other: Aveți %{count} (de) mesaje trimise
-      to: Către
-      subject: Subiect
-      date: Dată
       no_sent_messages_html: Nu aveți mesaje trimise încă. De ce să nu intri în legătură
         cu unele dintre %{people_mapping_nearby_link}?
       people_mapping_nearby: oameni care cartografiază în apropiere
@@ -1836,28 +1836,34 @@ ro:
         ca utilizatorul corect pentru a-l citi.
     sent_message_summary:
       destroy_button: Șterge
+    heading:
+      my_inbox: Mesaje primite
+      my_outbox: Mesaje trimise
     mark:
       as_read: Mesaj marcat ca fiind citit
       as_unread: Mesaj marcat ca necitit
     destroy:
       destroyed: Mesaj șters
   passwords:
-    lost_password:
+    new:
       title: Parola pierdută
       heading: Ai uitat parola?
       email address: 'Adresa de e-mail:'
       new password button: Resetare parolă
       help_text: Introduceți adresa de e-mail pe care ați utilizat-o pentru a vă înscrie,
         vom trimite un link la aceasta pe care îl puteți utiliza pentru a reseta parola.
+    create:
       notice email on way: Ne pare rău că ați pierdut-o :-( dar un e-mail este pe
         drum, astfel încât să puteți să-l resetați în curând.
       notice email cannot find: Nu am putut găsi adresa de e-mail, îmi pare rău.
-    reset_password:
+    edit:
       title: Resetare parolă
       heading: Resetați parola pentru %{user}
       reset: Resetează parola
-      flash changed: Parola dumneavoastră a fost schimbată.
       flash token bad: Nu ați găsit acel simbol, verificați adresa URL?
+    update:
+      flash changed: Parola dumneavoastră a fost schimbată.
+      flash token bad: Nu s-a găsit acel simbol, poate verificați adresa URL?
   preferences:
     show:
       title: Preferințe
@@ -1962,6 +1968,7 @@ ro:
       image: Imagine
       alt: Text alternativ
       url: URL
+      codeblock: Bloc cod sursă
     richtext_field:
       edit: Editează
       preview: Previzualizare
@@ -2113,6 +2120,9 @@ ro:
           Resources Canada) și StatCan (Divizia de Geografie,
           Statistics Canada).
         contributors_ca_canada: Canada
+        contributors_cz_czechia: Cehia
+        contributors_cz_cc_licence: Creative Commons Attribution 4.0 International
+          licence (CC BY 4.0)
         contributors_fi_credit_html: |-
           %{finland}: Conține date din
           National Land Survey of Finland's Topographic Database
@@ -2208,12 +2218,7 @@ ro:
         pentru această caracteristică.
     export:
       title: Exportare
-      area_to_export: Zona pentru export
       manually_select: Selectați manual o altă zonă
-      format_to_export: Format de exportat
-      osm_xml_data: Date XML OpenStreetMap
-      map_image: Imagine hartă (arată stratul standard)
-      embeddable_html: HTML încorporabil
       licence: Licență
       licence_details_html: Datele OpenStreetMap sunt licențiate sub %{odbl_link}
         (ODbL).
@@ -2238,17 +2243,6 @@ ro:
         other:
           title: Alte surse
           description: Surse suplimentare listate pe wiki-ul OpenStreetMap
-      options: Opțiuni
-      format: Format
-      scale: Scară
-      max: max
-      image_size: Dimensiune imagine
-      zoom: Zoom
-      add_marker: Adaugă un marcator pe hartă
-      latitude: 'Lat:'
-      longitude: 'Long:'
-      output: Date de ieșire
-      paste_html: Inserați HTML pentru a încorpora în site-ul web
       export_button: Exportare
     fixthemap:
       title: Raportați o problemă / Reparați harta
@@ -2350,6 +2344,7 @@ ro:
           primary: Drum primar
           secondary: Drum secundar
           unclassified: Drum neclasificat
+          pedestrian: Cale pietonală
           track: Înregistrare GPS
           bridleway: Traseu de călărie
           cycleway: Pistă de biciclete
@@ -2358,36 +2353,41 @@ ro:
           cycleway_local: Rețeaua locală de ciclism
           footway: Trotuar
           rail: Cale ferată
+          train: Tren
           subway: Stație de metrou
-          tram:
-          - Metrou
-          - tramvai
-          cable:
-          - Telecabină
-          - Telescaun
-          runway:
-          - Pistă de Aeroport
-          - taxiway
-          apron:
-          - Aeronavă
-          - terminal
+          ferry: Feribot
+          tram: Tramvai
+          trolleybus: Troleibuz
+          bus: Autobuz
+          cable_car: Telecabină
+          chair_lift: Telescaun
+          runway: Pistă de Aeroport
+          taxiway: taxiway
+          apron: Aeronavă
           admin: Graniță administrativă
+          orchard: Livadă
+          vineyard: Podgorie
           forest: Pădure
           wood: Lemn
+          farmland: Teren agricol
+          grass: Iarbă
+          meadow: Luncă
+          bare_rock: Stâncă goală
+          sand: Nisip
           golf: Teren de golf
           park: Parc
+          common: Comun
+          built_up: Zonă construită
           resident: Zonă rezidențială
-          common:
-          - Comun
-          - luncă
-          - grădină
           retail: Spațiul de retail
           industrial: Zonă industrială
           commercial: Zonă comercială
           heathland: Landă
-          lake:
-          - Lac
-          - Rezervor
+          lake: Lac
+          reservoir: Rezervor
+          intermittent_water: Corp de apă intermitent
+          glacier: Ghețar
+          reef: Recif
           farm: Fermă
           brownfield: Terenuri industriale dezafectate
           cemetery: Cimitir
@@ -2396,19 +2396,20 @@ ro:
           centre: Centru de sport
           reserve: Rezervație naturală
           military: Zonă militară
-          school:
-          - Școală
-          - Universitate
+          school: School; university
+          university: Universitate
+          hospital: Spital
           building: Clădire importantă
           station: Gară
-          summit:
-          - Vârf de munte
-          - Vârf
+          summit: Vârf de munte
+          peak: Vârf
           tunnel: Dashed casing = tunel
           bridge: Black casing = pod
           private: Acces privat
           destination: Accesul la destinație
           construction: Drumuri în construcție
+          bus_stop: Stație de autobuz
+          stop: Stație
           bicycle_shop: Magazin de biciclete
           bicycle_parking: Parcare pentru biciclete
           toilets: Toalete
@@ -2454,6 +2455,7 @@ ro:
         imports: Importurile
         automated_edits: Editări automate
       start_mapping: Începeți să cartografiați
+      continue_authorization: Continuați autorizarea
       add_a_note:
         title: Nu aveți timp pentru editare? Adaugați o notă!
         para_1: |-
@@ -2650,6 +2652,7 @@ ro:
       read_gpx: Citiți track-urile GPS private
       write_gpx: Încărcați track-uri GPS
       write_notes: Modificați notele
+      write_redactions: Redactați datele hărții
       read_email: Citiți adresa de e-mail a utilizatorului
       skip_authorization: Aprobare automată a cererii
   oauth_clients:
@@ -2846,12 +2849,15 @@ ro:
       role:
         administrator: Acest utilizator este un administrator
         moderator: Acest utilizator este un moderator
+        importer: Acest utilizator este un importator
         grant:
           administrator: Acordați permisiunile de administrator
           moderator: Acordați accesul de moderator
+          importer: Acordați acces de importator
         revoke:
           administrator: Revocă accesul de administrator
           moderator: Revocă accesul de moderator
+          importer: Revocați accesul de importator
       block_history: Blocări active
       moderator_history: Blocări acordate
       comments: Comentarii
@@ -3031,6 +3037,13 @@ ro:
       showing_page: Pagina %{page}
       next: Următoarea »
       previous: « Precedenta
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Acțiuni
+        tbody:
+          send_message: Trimite mesajul
   notes:
     index:
       title: Notele trimise sau comentate de %{user}
@@ -3160,6 +3173,8 @@ ro:
       map_data_zoom_in_tooltip: Mărește pentru a vedea datele hărții
       queryfeature_tooltip: Funcții de interogare
       queryfeature_disabled_tooltip: Mărește caracteristicile de interogare
+      embed_html_disabled: Încorporarea HTML nu este disponibilă pentru acest strat
+        de hartă
     changesets:
       show:
         comment: Comentariu
index 55c84d5333eaaeeff3dc4b16749e56d3e0a44c6f..61686301f8a64e0380a1a1cf8740fc7687af4784 100644 (file)
@@ -533,7 +533,7 @@ ru:
       feature_warning: Необходимо загрузить %{num_features} объектов, что может замедлить
         ваш браузер. Вы уверены что хотите просмотреть эти данные?
       load_data: Загрузить данные
-      loading: Ð\97агÑ\80Ñ\83зка...
+      loading: Ð\97агÑ\80Ñ\83жаеÑ\82Ñ\81Ñ\8fâ\80¦
     tag_details:
       tags: Теги
       wiki_link:
@@ -1532,9 +1532,9 @@ ru:
         zero: Нет сообщений
         one: 1 сообщение
         other: '%{count} сообщений'
-      report_created_at: Впервые сообщено %{datetime}
-      last_resolved_at: Последний раз обработано %{datetime}
-      last_updated_at: Последнее обновление %{datetime} пользователем %{displayname}
+      report_created_at_html: Впервые сообщено %{datetime}
+      last_resolved_at_html: Последний раз обработано %{datetime}
+      last_updated_at_html: Последнее обновление %{datetime} пользователем %{displayname}
       resolve: Обработать
       ignore: Игнорировать
       reopen: Переоткрыть
@@ -1812,8 +1812,6 @@ ru:
   messages:
     inbox:
       title: Входящие
-      my_inbox: Мои входящие
-      my_outbox: Мои исходящие
       messages: У вас %{new_messages} и %{old_messages}
       new_messages:
         few: '%{count} новых сообщения'
@@ -1825,11 +1823,14 @@ ru:
         many: '%{count} старых'
         one: '%{count} старое'
         other: '%{count} старых'
+      no_messages_yet_html: У вас пока нет сообщений. Почему бы не пообщаться с %{people_mapping_nearby_link}?
+      people_mapping_nearby: пользователями поблизости
+    messages_table:
       from: От
+      to: Кому
       subject: Тема
       date: Дата
-      no_messages_yet_html: У вас пока нет сообщений. Почему бы не пообщаться с %{people_mapping_nearby_link}?
-      people_mapping_nearby: пользователями поблизости
+      actions: Действия
     message_summary:
       unread_button: Пометить как непрочитанное
       read_button: Пометить как прочитанное
@@ -1855,16 +1856,12 @@ ru:
         Извините, но сообщения с таким ID нет.
     outbox:
       title: Исходящие
-      my_inbox: Мои входящие
-      my_outbox: Мои исходящие
+      actions: Действия
       messages:
         few: У вас %{count} отправленных сообщения
         many: У вас %{count} отправленных сообщений
         one: У вас %{count} отправленное сообщение
         other: У вас %{count} отправленных сообщений
-      to: Кому
-      subject: Тема
-      date: Дата
       no_sent_messages_html: Нет отправленных сообщений. Почему бы не пообщаться с
         %{people_mapping_nearby_link}?
       people_mapping_nearby: пользователями поблизости
@@ -1883,28 +1880,33 @@ ru:
         вашему вопросу пользователь, чтобы прочитать его.
     sent_message_summary:
       destroy_button: Удалить
+    heading:
+      my_inbox: Мои входящие
+      my_outbox: Мои исходящие
     mark:
       as_read: Сообщение отмечено как прочитанное
       as_unread: Сообщение отмечено как непрочитанное
     destroy:
       destroyed: Сообщение удалено
   passwords:
-    lost_password:
+    new:
       title: Восстановление пароля
       heading: Забыли пароль?
       email address: 'Адрес электронной почты:'
       new password button: Вышлите мне новый пароль
       help_text: Введите адрес вашей электронной почты, который вы использовали для
         подписки, и мы вышлем инструкции, как можно обновить ваш пароль.
+    create:
       notice email on way: Жаль, что вы потеряли пароль :-( но ничего, скоро придёт
         письмо и вы сможете поменять свой пароль.
       notice email cannot find: Такой адрес не зарегистрирован.
-    reset_password:
+    edit:
       title: Повторная установка пароля
       heading: Повторная установка пароля для %{user}
       reset: Установить пароль
-      flash changed: Ваш пароль был изменён.
       flash token bad: Невозможно найти такой код подтверждения, проверьте ссылку.
+    update:
+      flash changed: Ваш пароль был изменён.
   preferences:
     show:
       title: Мои предпочтения
@@ -2167,12 +2169,7 @@ ru:
         этого режима.
     export:
       title: Экспортировать
-      area_to_export: Область для экспорта
       manually_select: Выделить другую область
-      format_to_export: Формат экспорта
-      osm_xml_data: Данные в формате OpenStreetMap XML
-      map_image: Изображение карты (показывает стандартный слой)
-      embeddable_html: Встраиваемый HTML
       licence: Лицензия
       too_large:
         advice: 'Если этот экспорт пройдёт неудачно, пожалуйста, попробуйте один из
@@ -2194,17 +2191,6 @@ ru:
         other:
           title: Другие источники
           description: Дополнительные источники, перечисленные в вики OpenStreetMap
-      options: Настройки
-      format: Формат
-      scale: Масштаб
-      max: макс.
-      image_size: 'Размер изображения:'
-      zoom: Приблизить
-      add_marker: Добавить маркер на карту
-      latitude: 'Широта:'
-      longitude: 'Долгота:'
-      output: Результат
-      paste_html: HTML-код для встраивания на сайт
       export_button: Экспортировать
     fixthemap:
       title: Сообщить о проблеме / исправить карту
@@ -2310,58 +2296,61 @@ ru:
           cycleway_local: Велодорожка местного значения
           footway: Пешеходная дорожка
           rail: Железная дорога
+          train: Поезд
           subway: Линия метро
-          tram:
-          - Легкорельсовый транспорт
-          - трамвай
-          cable:
-          - Канатная дорога
-          - кресельный подъёмник
-          runway:
-          - Взлётно-посадочная полоса аэропорта
-          - рулёжная дорожка
-          apron:
-          - Перрон аэродрома
-          - терминал
+          ferry: Паром
+          tram: Трамвай
+          trolleybus: Троллейбус
+          bus: Автобус
+          cable_car: Канатная дорога
+          chair_lift: кресельный подъёмник
+          runway: Взлётно-посадочная полоса аэропорта
+          taxiway: рулёжная дорожка
+          apron: Перрон аэродрома
           admin: Административная граница
+          orchard: Фруктовый сад
+          vineyard: Виноградник
           forest: Лес
           wood: Роща
+          farmland: Сельхозугодья
+          grass: Трава
+          meadow: Луг
           golf: Площадка для гольфа
           park: Парк
+          common: Общественная земля
+          built_up: Площадь застройки
           resident: Жилой район
-          common:
-          - Общественная земля
-          - луг
-          - сад
           retail: Торговый район
           industrial: Промышленный район
           commercial: Коммерческий район
           heathland: Вересковая пустошь
-          lake:
-          - Озеро
-          - водохранилище
+          lake: Озеро
+          reservoir: Водохранилище
+          glacier: Ледник
           farm: Ферма
           brownfield: Расчистка под застройку
           cemetery: Кладбище
           allotments: Сады-огороды, дачные участки
           pitch: Спортивная площадка
           centre: Спортивный центр
+          beach: Пляж
           reserve: Заповедник
           military: Военная территория
-          school:
-          - Школа
-          - университет
+          school: Школа, университет
+          university: Университет
+          hospital: Больница
           building: Значительное здание
           station: Железнодорожная станция
-          summit:
-          - Вершина
-          - пик
+          summit: Вершина
+          peak: Вершина горы
           tunnel: Туннель (пунктир)
           bridge: Мост (жирная линия)
           private: Частный доступ
           destination: Целевой доступ
           construction: Строительство дороги
+          bus_stop: Автобусная остановка
           bicycle_shop: Магазин велосипедов
+          bicycle_rental: Прокат велосипедов
           bicycle_parking: Парковка для велосипедов
           toilets: Туалет
     welcome:
@@ -2978,6 +2967,13 @@ ru:
       showing_page: Страница %{page}
       next: Следующая →
       previous: ← Предыдущая
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: Действия
+        tbody:
+          send_message: Отправить сообщение
   notes:
     index:
       title: Заметки, созданные или прокомментированный участником %{user}
index c48c8e850a534f8dd36a6b33c14757fa2e33d800..e40868efbf591d4f8071db4cb8d669bb585ee5e8 100644 (file)
@@ -505,26 +505,23 @@ sat:
     confirm_email:
       button: ᱜᱚᱴᱟᱭ ᱢᱮ
   messages:
-    inbox:
+    messages_table:
       subject: ᱵᱤᱥᱚᱭ
       date: ᱢᱟᱹᱦᱤᱛ
     message_summary:
       destroy_button: ᱜᱮᱫ ᱜᱤᱰᱤ
     new:
       title: ᱠᱷᱚᱵᱚᱨ ᱠᱩᱞ ᱢᱮ
-    outbox:
-      subject: ᱵᱤᱥᱚᱭ
-      date: ᱢᱟᱹᱦᱤᱛ
     show:
       destroy_button: ᱜᱮᱫ ᱜᱤᱰᱤ
       back: ᱛᱟᱭᱚᱢ
     sent_message_summary:
       destroy_button: ᱜᱮᱫ ᱜᱤᱰᱤ
   passwords:
-    lost_password:
+    new:
       title: ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱟᱫ ᱠᱮᱫᱟᱢ
       email address: 'ᱤᱢᱮᱞ ᱴᱷᱤᱠᱟᱹᱬᱟ:'
-    reset_password:
+    update:
       flash changed: ᱟᱢᱟᱜ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱫᱚ ᱵᱚᱫᱚᱞᱮᱱᱟ ᱾
   profiles:
     edit:
@@ -570,7 +567,6 @@ sat:
       user_page_link: ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱜ ᱥᱟᱦᱴᱟ
     export:
       title: ᱵᱷᱮᱡᱟ
-      zoom: ᱞᱟᱹᱴᱩ
       export_button: ᱵᱷᱮᱡᱟ
     help:
       welcome:
@@ -589,8 +585,7 @@ sat:
           forest: ᱵᱤᱨ
           wood: ᱠᱟᱴᱷ
           park: ᱵᱟᱜᱟᱱ
-          school:
-          - ᱤᱛᱩᱱ ᱟᱥᱲᱟ
+          school: ᱤᱛᱩᱱ ᱟᱥᱲᱟ
           bicycle_shop: ᱥᱟᱭᱠᱤᱞ ᱫᱩᱠᱟᱹᱱ
           bicycle_parking: ᱥᱟᱭᱠᱤᱞ ᱯᱟᱨᱠᱤᱝ
           toilets: ᱴᱚᱭᱞᱮᱴᱠᱚ
index 7d5b6c6cef746787d752c86e1f477e663fa3eadf..4021e2df1e398eb47f4f570c4896935f272117cc 100644 (file)
@@ -1479,9 +1479,9 @@ sc:
         one: '%{count} sinnalatzione'
         other: '%{count} sinnalatziones'
       no_reports: Perunu informe
-      report_created_at: Sinnaladu pro sa prima borta su %{datetime}
-      last_resolved_at: Risoltu pro s'ùrtima borta su %{datetime}
-      last_updated_at: Ùrtima atualizatzione de %{displayname} su %{datetime}
+      report_created_at_html: Sinnaladu pro sa prima borta su %{datetime}
+      last_resolved_at_html: Risoltu pro s'ùrtima borta su %{datetime}
+      last_updated_at_html: Ùrtima atualizatzione de %{displayname} su %{datetime}
       resolve: Risolve
       ignore: Ignora
       reopen: Torra a abèrrere
@@ -1770,8 +1770,6 @@ sc:
   messages:
     inbox:
       title: Posta in intrada
-      my_inbox: Posta in intrada mea
-      my_outbox: Posta in essida mea
       messages: Tenes %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} messàgiu nou'
@@ -1779,12 +1777,14 @@ sc:
       old_messages:
         one: '%{count} messàgiu betzu'
         other: '%{count} messàgios betzos'
-      from: Dae
-      subject: 'Sugetu:'
-      date: Data
       no_messages_yet_html: Non tenes galu messàgios. Proite non chircas a calicuna
         de sas %{people_mapping_nearby_link}?
       people_mapping_nearby: persones chi mapant a curtzu a tie
+    messages_table:
+      from: Dae
+      to: Cara a
+      subject: 'Sugetu:'
+      date: Data
     message_summary:
       unread_button: Sinna comente no lèghidu
       read_button: Sinna comente lèghidu
@@ -1804,14 +1804,9 @@ sc:
       body: Non b'at perunu messàgiu cun custu id.
     outbox:
       title: Posta in essida
-      my_inbox: Posta in intrada mea
-      my_outbox: Posta in essida mea
       messages:
         one: Tenes %{count} messàgiu imbiadu
         other: Tenes %{count} messàgios imbiados
-      to: Cara a
-      subject: 'Sugetu:'
-      date: Data
       no_sent_messages_html: Non tenes galu messàgios imbiados. Proite non chircas
         a calicuna de sas %{people_mapping_nearby_link}?
       people_mapping_nearby: persones chi mapant a curtzu a tie
@@ -1830,13 +1825,16 @@ sc:
         s'utente curretu pro lu lèghere.
     sent_message_summary:
       destroy_button: Cantzella
+    heading:
+      my_inbox: Posta in intrada mea
+      my_outbox: Posta in essida mea
     mark:
       as_read: Messàgiu marcadu comente lèghidu
       as_unread: Messàgiu marcadu comente non lèghidu
     destroy:
       destroyed: Messàgiu iscantzelladu
   passwords:
-    lost_password:
+    new:
       title: Crae de intrada pèrdida
       heading: Ais ismentigadu sa crae de intrada?
       email address: 'Indiritzu de posta eletrònica:'
@@ -1844,16 +1842,18 @@ sc:
       help_text: Inserta s'indiritzu de posta chi as impreadu pro ti registrare, l'amus
         a imbiare unu ligàmene chi as a pòdere impreare pro ripristinare sa crae de
         intrada tua.
+    create:
       notice email on way: Nos dispraghet chi l'apas pèrdida :-( ma t'amus imbiadu
         unu messàgiu de posta eletrònica pro chi la potzas ripristinare.
       notice email cannot find: A dolu mannu non semus resèssidos a agatare custu
         indiritzu de posta eletrònica.
-    reset_password:
+    edit:
       title: Riprìstina sa crae de intrada
       heading: Riprìstina sa crae de intrada pro %{user}
       reset: Riprìstina sa crae de intrada
-      flash changed: Sa crae de intrada tua est istada mudada.
       flash token bad: No amus agatadu custu getone, proa a verificare s'URL.
+    update:
+      flash changed: Sa crae de intrada tua est istada mudada.
   preferences:
     show:
       title: Preferèntzias meas
@@ -2206,12 +2206,7 @@ sc:
         chi sunt netzessàrios pro custa funtzionalidade.
     export:
       title: Esporta
-      area_to_export: Àrea de esportare
       manually_select: Seletziona un'àrea diferente in manera manuale
-      format_to_export: Formadu de esportatzione
-      osm_xml_data: Datos XML de OpenStreetMap
-      map_image: Immàgine de sa mapa (ammustrat s'istratu istandard)
-      embeddable_html: HTML incorporàbile
       licence: Litzèntzia
       licence_details_html: Sos datos de OpenStreetMap sunt suta de sa litzèntzia
         %{odbl_link} (ODbL).
@@ -2237,17 +2232,6 @@ sc:
         other:
           title: Àteras fontes
           description: Fontes additzionales postas in lista in sa wiki de OpenStreetMap
-      options: Optziones
-      format: Formadu
-      scale: Iscala
-      max: màssimu
-      image_size: Mannària de s'immàgine
-      zoom: Ismanniamentu
-      add_marker: Annanghe unu marcadore a sa mapa
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Resurtadu
-      paste_html: Incolla s'HTML pro l'integrare in su situ web
       export_button: Esporta
     fixthemap:
       title: Sinnala unu problema / Acontza sa mapa
@@ -2361,35 +2345,24 @@ sc:
           footway: Caminu pro pedones
           rail: Ferrovia
           subway: Metropolitana
-          tram:
-          - Trenu lèbiu/metropolitana lèbia
-          - Tram
-          cable:
-          - Funivia
-          - ascensore carrotzina
-          runway:
-          - Pista de aeroportu
-          - carrera de furriada
-          apron:
-          - Àrea de parchègiu de sos aèreos
-          - terminale
+          cable_car: Funivia
+          chair_lift: ascensore carrotzina
+          runway: Pista de aeroportu
+          taxiway: carrera de furriada
+          apron: Àrea de parchègiu de sos aèreos
           admin: Làcana amministrativa
           forest: Litu
           wood: Buscu
           golf: Campu de golf
           park: Parcu
+          common: Comunu
           resident: Àrea de residèntzia
-          common:
-          - Comunu
-          - pradu
-          - giardinu
           retail: Àrea cummertziale
           industrial: Àrea industriale
           commercial: Àrea cummertziale
           heathland: Istruvina
-          lake:
-          - Lagu
-          - riserva de abba
+          lake: Lagu
+          reservoir: riserva de abba
           farm: Fatoria
           brownfield: Terrinu industriale abbandonadu
           cemetery: Campusantu
@@ -2398,14 +2371,12 @@ sc:
           centre: Tzentru isportivu
           reserve: Reserva naturale
           military: Zona militare
-          school:
-          - Iscola
-          - universidade
+          school: Iscola
+          university: universidade
           building: Edifìtziu significativu
           station: Istatzione ferroviària
-          summit:
-          - Cùcuru de monte
-          - cùcuru
+          summit: Cùcuru de monte
+          peak: cùcuru
           tunnel: Lìnia trategiada = galleria
           bridge: Oros nieddos = ponte
           private: Atzessu privadu
index 2d445a4da5eccc8803b884433d2432566cc6f8b4..fb77107fcfb71ab4441592de9226d8af286e71b7 100644 (file)
@@ -163,6 +163,7 @@ scn:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -191,6 +192,7 @@ scn:
   account:
     deletions:
       show:
+        title: Cancella lu mè cuntu
         delete_account: Cancella cuntu
         confirm_delete: Sî sicuru?
         cancel: Annulla
@@ -325,8 +327,10 @@ scn:
         tag: La pàggina dâ wiki chi discrivi l'etichetta %{key}=%{value}
       wikidata_link: Lu suggettu %{page} supra a Wikidata
       wikipedia_link: L'artìculu %{page} supra a Wikipedia
+      wikimedia_commons_link: L'elementu %{page} supra Wikimedia Commons
       telephone_link: Chiama lu %{phone_number}
       colour_preview: Antiprima culuri %{colour_value}
+      email_link: Email %{email}
     query:
       title: Arricerca di l'elimenti
       introduction: Clicca supra â cartina pi circari l'elimenti vicini.
@@ -1168,7 +1172,6 @@ scn:
   messages:
     inbox:
       title: Posta arrivata
-      my_inbox: La mè posta arrivata
       messages: Hai %{new_messages} e %{old_messages}
       new_messages:
         one: '%{count} missaggiu novu'
@@ -1176,12 +1179,14 @@ scn:
       old_messages:
         one: '%{count} missaggiu vecchiu'
         other: '%{count} missaggî vecchî'
-      from: Di
-      subject: Oggettu
-      date: Data
       no_messages_yet_html: Ancora nun hai nuddu missaggiu. Pirchì nun fai canuscenza
         cu quarchidunu dî %{people_mapping_nearby_link}?
       people_mapping_nearby: mappatura vicinu a tìa
+    messages_table:
+      from: Di
+      to: A
+      subject: Oggettu
+      date: Data
     message_summary:
       unread_button: Signa comu di lèggiri
       read_button: Signa comu già liggiutu
@@ -1204,9 +1209,6 @@ scn:
       messages:
         one: Hai %{count} missaggiu mannatu
         other: Hai %{count} missaggî mannati
-      to: A
-      subject: Oggettu
-      date: Data
       no_sent_messages_html: Ancora nun mannasti nuddu missaggiu. Pirchì nun fai canuscenza
         cu quarchidunu dî %{people_mapping_nearby_link}?
       people_mapping_nearby: mappatura vicinu a tìa
@@ -1224,28 +1226,32 @@ scn:
         fu mannatu a dd'utenti. Pi favuri trasi comu l'utenti giustu pi putiri liggìrilu.
     sent_message_summary:
       destroy_button: Cancella
+    heading:
+      my_inbox: La mè posta arrivata
     mark:
       as_read: Missaggiu signatu comu già liggiutu
       as_unread: Missaggiu marcatu comu di lèggiri
     destroy:
       destroyed: Missaggiu cancillatu
   passwords:
-    lost_password:
+    new:
       title: Palora d'òrdini pirduta
       heading: Ti scurdasti la palora d'òrdini?
       email address: 'Nnirizzu di posta elittrònica:'
       new password button: Azzera la palora d'òrdini
       help_text: Scrivi lu nnirizzu di posta elittrònica c'adupirasti quannu ti scrivisti,
         e ci mannamu nu culligamentu chi poi adupirari p'azzirari la tò palora d'òrdini.
+    create:
       notice email on way: Ni dispiaci chi la pirdisti :-( pirò ti sta arrivannu nu
         missaggiu di posta elittrònica pi menzu dû quali prestu la poi azzirari.
       notice email cannot find: Putroppu nun s'attrova stu nnirizzu di posta elittrònica.
-    reset_password:
+    edit:
       title: Azzera la palora d'òrdini
       heading: Azziramentu dâ palora d'òrdini di %{user}
       reset: Azzera la palora d'òrdini
-      flash changed: La tò palora d'òrdini fu canciata.
       flash token bad: Stu còdici nun s'attrova, pirchì nun cuntrolli l'URL?
+    update:
+      flash changed: La tò palora d'òrdini fu canciata.
   preferences:
     show:
       title: Li mè prifirenzi
@@ -1403,12 +1409,7 @@ scn:
         nicissarî pi sta funziunalità.
     export:
       title: Espurtazzioni
-      area_to_export: Ària d'espurtari
       manually_select: Scegghî manualmenti n'ària diffirenti
-      format_to_export: Furmatu d'espurtari
-      osm_xml_data: Dati XML d'OpenStreetMap
-      map_image: Mmàggini dâ cartina (ammustra lu stratu standard)
-      embeddable_html: HTML ncurpuràbbili
       licence: Licenza
       too_large:
         advice: 'Si la spurtazzioni ccassupra nun arrinesci, poi pruvari cu una dî
@@ -1430,17 +1431,6 @@ scn:
         other:
           title: Àutri fonti
           description: Àutri fonti elincati ntâ wiki d'OpenStreetMap
-      options: Opzioni
-      format: Furmatu
-      scale: Scala
-      max: max
-      image_size: Grannizza dâ mmàggini
-      zoom: Ngrannimentu
-      add_marker: Agghiunci un signu ntâ cartina
-      latitude: 'Lat:'
-      longitude: 'Lun:'
-      output: Pruduttu
-      paste_html: Ncodda l'HTML pi ncurpurari ntôn situ web
       export_button: Esporta
     fixthemap:
       title: Assignalari prubblemi / Cunzari la cartina
@@ -1514,34 +1504,24 @@ scn:
           footway: Caminu pidunali
           rail: Ferruvìa
           subway: Mitrupulitana
-          tram:
-          - Mitrupulitana leggia
-          - tram
-          cable:
-          - Funivìa
-          - seggiuvìa
-          runway:
-          - Pista d’attirraggiu
-          - pista di rullaggiu
-          apron:
-          - Ària di parcheggiu ariupurtuali
-          - terminal
+          cable_car: Funivìa
+          chair_lift: seggiuvìa
+          runway: Pista d’attirraggiu
+          taxiway: pista di rullaggiu
+          apron: Ària di parcheggiu ariupurtuali
           admin: Cunfini amministrativu
           forest: Furesta
           wood: Voscu
           golf: Campu di golf
           park: Villa
+          common: Cumuni
           resident: Zona risidinziali
-          common:
-          - Cumuni
-          - Pratu
           retail: Zona di nigozzî
           industrial: Zona nnustriali
           commercial: Zona cummirciali
           heathland: Brughiera
-          lake:
-          - Lacu
-          - lacu artificiali
+          lake: Lacu
+          reservoir: lacu artificiali
           farm: Massarìa
           brownfield: Zona di bunìfica
           cemetery: Cimiteru
@@ -1550,14 +1530,12 @@ scn:
           centre: Centru spurtivu
           reserve: Riserva naturali
           military: Zona militari
-          school:
-          - Scola
-          - univirsità
+          school: Scola
+          university: univirsità
           building: Edificiu mpurtanti
           station: Stazzioni dâ ferruvìa
-          summit:
-          - Muntagna
-          - Muntagna
+          summit: Muntagna
+          peak: Muntagna
           tunnel: Cuntornu trattiatu = jallarìa
           bridge: Cuntornu niurittu = ponti
           private: Accessu privatu
index b297330bf639577c04ad4117f232842159186a7c..6a6d25b53709eb5e34353d8b062243895425c936 100644 (file)
@@ -797,7 +797,7 @@ sco:
         subject_other: '[OpenStreetMap] %{commenter} haes commentit on a note ye are
           interestit in'
   passwords:
-    lost_password:
+    new:
       title: Lost password
       heading: Forgotten Passwird?
   sessions:
@@ -860,12 +860,7 @@ sco:
         infringement_title_html: Copyricht infringement
     export:
       title: Export
-      area_to_export: Area tae Export
       manually_select: Manually select a different aurie
-      format_to_export: Format tae Export
-      osm_xml_data: OpenStreetMap XML Data
-      map_image: Cairt Image (shaws staundart layer)
-      embeddable_html: Embeddable HTML
       licence: Licence
       too_large:
         advice: 'If the abuin export fails, please consider uisin ane o the soorces
@@ -887,17 +882,6 @@ sco:
         other:
           title: Ither Soorces
           description: Addeetional soorces leetit on the OpenStreetMap wiki
-      options: Options
-      format: Format
-      scale: Scale
-      max: max
-      image_size: Image Size
-      zoom: Zuim
-      add_marker: Add a marker tae the cairt
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Ootput
-      paste_html: Paste HTML tae embed in wabsteid
       export_button: Export
     fixthemap:
       how_to_help:
@@ -923,13 +907,11 @@ sco:
           retail: Retail aurie
           industrial: Industrial aurie
           commercial: Commercial aurie
-          lake:
-          - Loch
+          lake: Loch
           farm: Ferm
           military: Militar aurie
-          school:
-          - Schuil
-          - varsity
+          school: Schuil
+          university: varsity
           building: Signeeficant biggin
     welcome:
       title: Walcome!
index b529925dfa972b8e37a058cacbb78d08ff3673ca..4a03f08279d1cf77cb956c77c385b02b046703f1 100644 (file)
@@ -557,6 +557,8 @@ sh:
     confirm_email:
       heading: Potvrda promjene e-adrese
   messages:
+    messages_table:
+      to: Za
     message_summary:
       reply_button: Odgovori
       destroy_button: Izbriši
@@ -574,9 +576,6 @@ sh:
       body: Nažalost, nema poruke s tom naznakom.
     outbox:
       title: Odlazna pošta
-      to: Za
-      subject: Tema
-      date: Datum
       no_sent_messages_html: Još uvijek nemate poslanih poruka. Zašto ne biste iskontaktirali
         s nekim %{people_mapping_nearby_link}?
       people_mapping_nearby: ljudima u vašoj okolini
@@ -699,12 +698,7 @@ sh:
         a oni su potrebni za ovu mogućnost.
     export:
       title: Izvoz
-      area_to_export: Područje za izvoz
       manually_select: Ručno izaberi drukčije područje
-      format_to_export: Format za izvoz
-      osm_xml_data: OpenStreetMap XML podaci
-      map_image: Slika karte (prikazuje standardni sloj)
-      embeddable_html: Ugradivi HTML kod
       licence: Licenca
       too_large:
         advice: 'Ako gornji izvoz podataka ne uspije, molimo pokušajte sa nekim od
@@ -730,34 +724,24 @@ sh:
           footway: Pješačka staza
           rail: Željeznica
           subway: Podzemna željeznica
-          tram:
-          - Laka željeznica
-          - tramvaj
-          cable:
-          - Kabinska žičara
-          - sedežnica
-          runway:
-          - Aerodromska pista
-          - rulna staza
-          apron:
-          - Parking za avione
-          - terminal
+          cable_car: Kabinska žičara
+          chair_lift: sedežnica
+          runway: Aerodromska pista
+          taxiway: rulna staza
+          apron: Parking za avione
           admin: Administrativna granica
           forest: Šuma
           wood: Šume (prirodne, neodržavane)
           golf: Golf teren
           park: Park
+          common: Travnjaci
           resident: Stambeno područje
-          common:
-          - Travnjaci
-          - livada
           retail: Maloprodajno područje
           industrial: Industrijsko područje
           commercial: Poslovno područje
           heathland: Vriština
-          lake:
-          - Jezero
-          - rezervoar
+          lake: Jezero
+          reservoir: rezervoar
           farm: Farma
           brownfield: Gradilište
           cemetery: Groblje
@@ -766,14 +750,12 @@ sh:
           centre: Sportski centar
           reserve: Rezervat prirode
           military: Vojno područje
-          school:
-          - Škola
-          - univerzitet
+          school: Škola
+          university: univerzitet
           building: Značajna zgrada
           station: Željeznička stanica
-          summit:
-          - Vrh
-          - vrh
+          summit: Vrh
+          peak: vrh
     welcome:
       title: Dobrodošli!
       introduction: Dobrodošli u OpenStreetMap — slobodnu i uredljivu kartu svijeta.
index 5f075a8127b93f779ed6626ce970ed1848d90237..196ab794df4e1d8bc3e113d9c15efdf96db3cc84 100644 (file)
@@ -1395,9 +1395,9 @@ sk:
         few: '%{count} hlásenia'
         many: '%{count} hlásení'
         other: '%{count} hlásení'
-      report_created_at: Prvýkrát nahlásené %{datetime}
-      last_resolved_at: Naposledy vyriešené %{datetime}
-      last_updated_at: Naposledy aktualizované %{datetime} používateľom %{displayname}
+      report_created_at_html: Prvýkrát nahlásené %{datetime}
+      last_resolved_at_html: Naposledy vyriešené %{datetime}
+      last_updated_at_html: Naposledy aktualizované %{datetime} používateľom %{displayname}
       resolve: Vyriešiť
       ignore: Ignorovať
       reopen: Znovu otvoriť
@@ -1644,8 +1644,6 @@ sk:
   messages:
     inbox:
       title: Doručená pošta
-      my_inbox: Doručená pošta
-      my_outbox: Odoslané
       messages: Máte %{new_messages} a %{old_messages}
       new_messages:
         few: '%{count} nové správy'
@@ -1655,11 +1653,13 @@ sk:
         few: '%{count} staré správy'
         one: '%{count} starú správu'
         other: '%{count} starých správ'
+      no_messages_yet_html: Zatiaľ nemáte žiadne správy. Čo napr. kontaktovať %{people_mapping_nearby_link}?
+      people_mapping_nearby: používateľov v okolí
+    messages_table:
       from: Od
+      to: Komu
       subject: Predmet
       date: Dátum
-      no_messages_yet_html: Zatiaľ nemáte žiadne správy. Čo napr. kontaktovať %{people_mapping_nearby_link}?
-      people_mapping_nearby: používateľov v okolí
     message_summary:
       unread_button: Označiť ako neprečítané
       read_button: Označiť ako prečítané
@@ -1679,15 +1679,10 @@ sk:
       body: Ľutujeme, neexistuje správa s takým ID.
     outbox:
       title: Odoslaná pošta
-      my_inbox: Doručená pošta
-      my_outbox: Odoslané
       messages:
         few: Máte %{count} odeslané správy
         one: Máte %{count} odoslanú správu
         other: Máte %{count} odoslaných správ
-      to: Komu
-      subject: Predmet
-      date: Dátum
       no_sent_messages_html: Nemáte odoslané správy. Prečo ste sa nespojili s niekým
         z %{people_mapping_nearby_link}?
       people_mapping_nearby: blízko mapujúci ľudia
@@ -1706,28 +1701,33 @@ sk:
         sa pod príslušným kontom.
     sent_message_summary:
       destroy_button: Zmazať
+    heading:
+      my_inbox: Doručená pošta
+      my_outbox: Odoslané
     mark:
       as_read: Správa označená ako prečítaná
       as_unread: Správa označená ako neprečítaná
     destroy:
       destroyed: Správa vymazaná
   passwords:
-    lost_password:
+    new:
       title: Stratené heslo
       heading: Zabudli ste heslo?
       email address: 'E-mailová adresa:'
       new password button: Resetnúť heslo
       help_text: Vložte emailovú adresu, ktorú ste uviedli pri registrácii, pošleme
         vám odkaz, pomocou ktorého si budete môcť nastaviť nové heslo.
+    create:
       notice email on way: Škoda zabudnutého hesla :-( ale e-mail je už na ceste,
         takže si čoskoro budete môcť zvoliť nové.
       notice email cannot find: Ľutujeme, túto e-mailovú adresu nie je možné nájsť.
-    reset_password:
+    edit:
       title: Resetnúť heslo
       heading: Resetnúť heslo pre %{user}
       reset: Vynulovať heslo
-      flash changed: Vaše heslo bolo zmenené.
       flash token bad: Zodpovedajúci kód nebol nájdený, skontrolujte prípadne URL.
+    update:
+      flash changed: Vaše heslo bolo zmenené.
   preferences:
     show:
       title: Moje predvoľby
@@ -1998,12 +1998,7 @@ sk:
         sú pre túto funkciu nevyhnutné.
     export:
       title: Export
-      area_to_export: Oblasť pre export
       manually_select: Manuálne vybrať inú oblasť
-      format_to_export: Formát pre export
-      osm_xml_data: OpenStreetMap XML dáta
-      map_image: Obrázok (obsahuje štandardné vrstvy)
-      embeddable_html: Vložiteľné HTML
       licence: Licencia
       licence_details_html: Údaje OpenStreetMap sú licencované pod %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -2025,17 +2020,6 @@ sk:
         other:
           title: Iné zdroje
           description: Ďalšie zdroje sú uvedené na OpenStreetMap wiki
-      options: Možnosti
-      format: Formát
-      scale: Mierka
-      max: max
-      image_size: Rozmery obrázku
-      zoom: Zväčšenie
-      add_marker: Pridať do mapy značku
-      latitude: 'Zem.šírka:'
-      longitude: 'Zem. dĺžka:'
-      output: Výstup
-      paste_html: Pre vloženie do stránky použite toto HTML
       export_button: Export
     fixthemap:
       title: Nahlásiť problém / Opraviť mapu
@@ -2119,34 +2103,24 @@ sk:
           footway: Chodník pre peších
           rail: Železnica
           subway: Metro
-          tram:
-          - Rýchloelektrička
-          - električka
-          cable:
-          - Lanovka
-          - sedačková lanovka
-          runway:
-          - Letisková dráha
-          - pojazdová dráha
-          apron:
-          - Letisková odbavovacia plocha
-          - terminál
+          cable_car: Lanovka
+          chair_lift: sedačková lanovka
+          runway: Letisková dráha
+          taxiway: pojazdová dráha
+          apron: Letisková odbavovacia plocha
           admin: Administratívne hranice
           forest: Les (udržiavaný)
           wood: Les (neudržiavaný)
           golf: Golfové ihrisko
           park: Park
+          common: Pastvina
           resident: Obytná oblasť
-          common:
-          - Pastvina
-          - lúka
           retail: Nákupná oblasť
           industrial: Priemyselná oblasť
           commercial: Komerčná oblasť
           heathland: Vresovisko
-          lake:
-          - Jazero
-          - nádrž
+          lake: Jazero
+          reservoir: nádrž
           farm: Farma
           brownfield: Zborenisko
           cemetery: Cintorín
@@ -2155,14 +2129,12 @@ sk:
           centre: Športové centrum
           reserve: Prírodná rezervácia
           military: Vojenský priestor
-          school:
-          - Škola
-          - univerzita
+          school: Škola
+          university: univerzita
           building: Významná budova
           station: Železničná stanica
-          summit:
-          - Vrchol
-          - vrchol
+          summit: Vrchol
+          peak: vrchol
           tunnel: Čiarkovaný obrys = tunel
           bridge: Čireny obrys = most
           private: Súkromný prístup
index 4fba080b7cdba0052eb578398e834fc880a097e5..c0425c64f6bf7aac4fb475703fa0b57f362e416e 100644 (file)
@@ -1038,11 +1038,12 @@ skr-arab:
   messages:
     inbox:
       title: ان باکس
-      my_inbox: میݙا انباکس
-      my_outbox: میݙا آؤٹ باکس
+    messages_table:
       from: کنوں
+      to: تائیں
       subject: موضوع
       date: تریخ
+      actions: عمل
     message_summary:
       unread_button: نشان لاؤ جو کائنی پڑھا
       read_button: نشان لاؤ جو پڑھ گھدے
@@ -1054,11 +1055,7 @@ skr-arab:
       back_to_inbox: انباکس تے واپس
     outbox:
       title: آؤٹ باکس
-      my_inbox: میݙا انباکس
-      my_outbox: میݙا آؤٹ باکس
-      to: تائیں
-      subject: موضوع
-      date: تریخ
+      actions: عمل
     show:
       title: سنیہا پڑھو
       reply_button: جواب
@@ -1067,15 +1064,19 @@ skr-arab:
       back: پچھوں
     sent_message_summary:
       destroy_button: مٹاؤ
+    heading:
+      my_inbox: میݙا انباکس
+      my_outbox: میݙا آؤٹ باکس
     destroy:
       destroyed: سنیہا مٹ ڳیا
   passwords:
-    lost_password:
-      email address: 'ای میل پتہ:'
+    new:
+      email address: ای میل پتہ
       new password button: پاس ورڈ ولدا ٹھیک کرو
-    reset_password:
+    edit:
       title: پاس ورڈ ولدا ٹھیک کرو
       reset: پاس ورڈ ولدا ٹھیک کرو
+    update:
       flash changed: تہاݙا پاس ورڈ تبدیل تھی ڳیا۔
   preferences:
     show:
@@ -1099,7 +1100,7 @@ skr-arab:
     new:
       title: لاگ ان
       heading: لاگ ان
-      password: 'پاس ورڈ:'
+      password: پاس ورڈ
       openid_html: '%{logo} اوپن آئی ڈی:'
       remember: میکوں یاد رکھو
       lost password link: پاسورڈ بھل ڳئے ہو؟
@@ -1187,15 +1188,6 @@ skr-arab:
       too_large:
         other:
           title: ٻئے ماخذ
-      options: اختیارات
-      format: فارمیٹ
-      scale: پیمانہ
-      max: ودھ و ودھ
-      image_size: فوٹو دا سائز
-      zoom: وݙا چھوٹا کرݨ
-      latitude: عرض بلد
-      longitude: طول بلد
-      output: آؤٹ پٹ
       export_button: ٻاہر بھیڄو
     help:
       irc:
@@ -1213,29 +1205,39 @@ skr-arab:
       table:
         entry:
           track: ٹرَیک
-          tram:
-            1: ٹرام
-          cable:
-          - کیبل کار
-          - چیئر لفٹ
+          train: ڳَݙی
+          light_rail: لائٹ ریل
+          tram: ٹرام
+          trolleybus: ٹرالی بس
+          bus: بس
+          cable_car: کیبل کار
+          chair_lift: چیئر لفٹ
+          taxiway: ٹیکسی دا راہ
+          capital: دار الحکومت
+          city: شَہر
+          orchard: بغیچا
           forest: جنگل
           wood: لکڑ
+          grass: گھا
+          meadow: چراگاہ
+          sand: ریت
           golf: گولف مَیدان
           park: پارک
-          common:
-          - وقف
-          - چراگاہ
-          - باغ
+          common: وقف
           retail: پرچون علاقہ
           industrial: صنعتی علاقہ
           commercial: کمرشل ایریا
-          lake:
-          - جھیل
+          lake: جھیل
+          reservoir: ذخائر
+          glacier: گلیشیئر
           farm: کھیت
-          school:
-          - سکول
-          - یونی ورسٹی
+          school: سکول
+          university: یونی ورسٹی
+          hospital: ہسپتال
           station: ریلوے ٹیشݨ
+          peak: چوٹی
+          bus_stop: بساں دا اݙا
+          stop: اݙہ
     welcome:
       title: ست بسم اللہ!
       basic_terms:
@@ -1322,6 +1324,13 @@ skr-arab:
     block:
       show: ݙِکھاؤ
       edit: تبدیلی کرو
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: عمل
+        tbody:
+          send_message: سنیہا پٹھو
   notes:
     index:
       subheading_submitted: جمع تھی ڳیا
index 0708a3722feddb131bd40154fb99d432911dd039..aa1395ed4cb292977dac335be7471092be5eee31 100644 (file)
@@ -58,6 +58,11 @@ sl:
       messages:
         invalid_email_address: ni videti veljaven e-poštni naslov
         email_address_not_routable: ni preusmerljiv
+        display_name_is_user_n: ne more biti user_n, razen če je n vaš uporabniški
+          ID
+      models:
+        user_mute:
+          is_already_muted: je že utišan
     models:
       acl: Seznam nadzora dostopa
       changeset: Nabor sprememb
@@ -265,7 +270,7 @@ sl:
         opened_at_html: Ustvarjeno %{when}
         opened_at_by_html: Ustvaril_a %{user} %{when}
         commented_at_html: Posodobljeno %{when}
-        commented_at_by_html: Posodobil/a %{user} %{when}
+        commented_at_by_html: Posodobil_a %{user} %{when}
         closed_at_html: Razrešeno %{when}
         closed_at_by_html: Razrešil_a %{user} %{when}
         reopened_at_html: Znova aktivirano %{when}
@@ -503,7 +508,7 @@ sl:
     index:
       title: Sklopi sprememb
       title_user: Sklopi sprememb od %{user}
-      title_user_link_html: Sklopi sprememb uporabnika/ce %{user_link}
+      title_user_link_html: Sklopi sprememb uporabnika_ce %{user_link}
       title_friend: Množice sprememb mojih prijateljev
       title_nearby: Sklopi sprememb bližnjih uporabnikov
       empty: Ni najdenih množic sprememb.
@@ -518,7 +523,7 @@ sl:
   changeset_comments:
     comment:
       comment: 'Nov komentar o naboru sprememb #%{changeset_id} uporabnika %{author}'
-      commented_at_by_html: Posodobil/a %{user} %{when}
+      commented_at_by_html: Posodobil_a %{user} %{when}
     comments:
       comment: 'Nov komentar o naboru sprememb #%{changeset_id} uporabnika %{author}'
     index:
@@ -1512,9 +1517,9 @@ sl:
         few: '%{count} prijave'
         other: '%{count} prijav'
       no_reports: Ni prijav
-      report_created_at: Prvič prijavljeno %{datetime}
-      last_resolved_at: Zadnjič razrešeno %{datetime}
-      last_updated_at: Zadnjič %{datetime} posodobil/a %{displayname}
+      report_created_at_html: Prvič prijavljeno %{datetime}
+      last_resolved_at_html: Zadnjič razrešeno %{datetime}
+      last_updated_at_html: Zadnjič %{datetime} posodobil_a %{displayname}
       resolve: Razreši
       ignore: Prezri
       reopen: Znova odpri
@@ -1684,6 +1689,7 @@ sl:
         other: |-
           bila uspešno naložena z %{trace_points} od možnih
           %{count} točk
+      all_your_traces_html: Vse vaše uspešno naložene sledi GPX najdete na %{url}.
       subject: '[OpenStreetMap] Uspeh uvoza datoteke GPX'
     signup_confirm:
       subject: '[OpenStreetMap] Pozdravljeni v OpenStreetMap'
@@ -1807,8 +1813,6 @@ sl:
   messages:
     inbox:
       title: Prejeta pošta
-      my_inbox: Prejeta pošta
-      my_outbox: Poslana pošta
       messages: Imate %{new_messages} in %{old_messages}.
       new_messages:
         few: '%{count} nova sporočila'
@@ -1820,17 +1824,21 @@ sl:
         one: '%{count} staro sporočilo'
         two: '%{count} stari sporočili'
         other: '%{count} starih sporočil'
-      from: Od
-      subject: Zadeva
-      date: Datum
       no_messages_yet_html: Prejeli niste še nobenih sporočil. Zakaj ne bi stopili
         v stik z %{people_mapping_nearby_link}?
       people_mapping_nearby: ljudmi, ki kartirajo blizu vas
+    messages_table:
+      from: Od
+      to: Za
+      subject: Zadeva
+      date: Datum
+      actions: Dejanja
     message_summary:
       unread_button: Označi kot neprebrano
       read_button: Označi kot prebrano
       reply_button: Odgovori
       destroy_button: Izbriši
+      unmute_button: Prestavi v mapo »Prejeto«.
     new:
       title: Pošiljanje sporočila
       send_message_to_html: Pošlji novo sporočilo uporabniku %{name}
@@ -1845,19 +1853,22 @@ sl:
       body: Žal ni sporočila s tem id-jem.
     outbox:
       title: Poslana pošta
-      my_inbox: Prejeta pošta
-      my_outbox: Poslana pošta
+      actions: Dejanja
       messages:
         few: Imate %{count} poslana sporočila
         one: Imate %{count} poslano sporočilo
         two: Imate %{count} poslani sporočili
         other: Imate %{count} poslanih sporočil
-      to: Za
-      subject: Zadeva
-      date: Datum
       no_sent_messages_html: Poslali niste še nobenih sporočil. Zakaj ne bi stopili
         v stik z %{people_mapping_nearby_link}?
       people_mapping_nearby: ljudmi, ki kartirajo blizu vas
+    muted:
+      title: Utišana sporočila
+      messages:
+        one: '%{count} novo sporočilo'
+        two: '%{count} novi sporočili'
+        few: '%{count} novih sporočil'
+        other: '%{count} novih sporočil'
     reply:
       wrong_user: Prijavljeni ste kot '%{user}', toda sporočilo, na katerega odgovarjate,
         ni bilo poslano temu uporabniku. Za odgovor se prijavite kot pravi uporabnik.
@@ -1871,27 +1882,38 @@ sl:
         ni bilo poslano vam. Prosimo, prijavite se, kot pravi uporabnik za branje.
     sent_message_summary:
       destroy_button: Izbriši
+    heading:
+      my_inbox: Prejeta pošta
+      my_outbox: Poslana pošta
+      muted_messages: Utišana sporočila
     mark:
       as_read: Sporočilo označeno kot prebrano
       as_unread: Sporočilo označeno kot neprebrano
+    unmute:
+      notice: Sporočilo je bilo prestavljeno v mapo »Prejeto«.
+      error: Sporočila ni bilo mogoče premakniti v mapo »Prejeto«.
     destroy:
       destroyed: Sporočilo izbrisano
   passwords:
-    lost_password:
+    new:
       title: pozabljeno geslo
       heading: Ste pozabili geslo?
-      email address: 'E-poštni naslov:'
+      email address: E-poštni naslov
       new password button: Pošlji mi novo geslo
       help_text: Vpišite e-poštni naslov, s katerim ste se registrirali. Poslali vam
         bomo povezavo za ponastavitev gesla.
+    create:
       notice email on way: E-pismo z vsemi potrebnimi podatki za nastavitev novega
         gesla je že na poti.
       notice email cannot find: Oprostite, toda vnesenega e-poštnega naslova ni bilo
         mogoče najti.
-    reset_password:
+    edit:
       title: Ponastavitev gesla
       heading: Ponastavi geslo za %{user}
       reset: Ponastavitev gesla
+      flash token bad: Tega žetona ni bilo mogoče najti.  Predlagamo, da preverite
+        naslov URL.
+    update:
       flash changed: Vaše geslo je bilo spremenjeno.
       flash token bad: Tega žetona ni bilo mogoče najti.  Predlagamo, da preverite
         naslov URL.
@@ -1938,8 +1960,8 @@ sl:
     new:
       title: Prijava
       heading: Prijava
-      email or username: 'E-poštni naslov ali uporabniško ime:'
-      password: 'Geslo:'
+      email or username: E-poštni naslov ali uporabniško ime
+      password: Geslo
       openid_html: '%{logo} OpenID:'
       remember: Zapomni si me
       lost password link: Ste pozabili geslo?
@@ -1997,6 +2019,7 @@ sl:
       image: Slika
       alt: nadomestno besedilo
       url: URL
+      codeblock: Blok kode
     richtext_field:
       edit: Uredi
       preview: Predogled
@@ -2245,12 +2268,7 @@ sl:
         to funkcijo.
     export:
       title: Izvozi
-      area_to_export: Območje za izvoz
       manually_select: Ročno izberite drugo območje
-      format_to_export: Oblika izvoženih podatkov
-      osm_xml_data: Podatki OpenStreetMap v zapisu XML
-      map_image: Slika zemljevida (prikaže standardni izris)
-      embeddable_html: HTML za vključitev na spletno stran
       licence: Licenca
       licence_details_html: Podatki OpenStreetMap so licencirani pod %{odbl_link}
         (ODbL).
@@ -2273,17 +2291,6 @@ sl:
         other:
           title: Drugi viri
           description: Dodatni viri, navedeni v vikiju OpenStreetMap
-      options: Možnosti
-      format: Oblika
-      scale: Merilo
-      max: največ
-      image_size: Velikost slike
-      zoom: Povečava
-      add_marker: Dodaj označevalec na zemljevid
-      latitude: 'Šir:'
-      longitude: 'Dol:'
-      output: Izhod
-      paste_html: Uporabite ta HTML za vključitev zemljevida na spletno stran
       export_button: Izvozi
     fixthemap:
       title: Prijavi napako / Popravi zemljevid
@@ -2383,67 +2390,83 @@ sl:
           primary: Glavna cesta
           secondary: Regionalna cesta
           unclassified: Ostale ceste izven naselij
+          pedestrian: Pot za pešce
           track: Kolovoz
           bridleway: Jahalna pot
           cycleway: Kolesarska steza
           cycleway_national: Nacionalna kolesarska steza
           cycleway_regional: Regionalna kolesarska steza
           cycleway_local: Krajevna kolesarska steza
+          cycleway_mtb: Gorskokolesarska pot
           footway: Pešpot
           rail: Železnica
+          train: Vlak
           subway: Podzemna železnica
-          tram:
-          - Mestna železnica
-          - tramvaj
-          cable:
-          - Nihalka
-          - sedežnica
-          runway:
-          - Vzletno-pristajalna steza
-          - povezave
-          apron:
-          - Letališka ploščad
-          - terminal
+          ferry: Trajekt
+          light_rail: Lahka železnica
+          tram: Tramvaj
+          trolleybus: Trolejbus
+          bus: Avtobus
+          cable_car: Nihalka
+          chair_lift: Sedežnica
+          runway: Vzletno-pristajalna steza
+          taxiway: Vozna steza
+          apron: Letališka ploščad
           admin: Upravna razmejitev
+          capital: Glavno mesto
+          city: Mesto
+          orchard: Sadovnjak
+          vineyard: Vinograd
           forest: Gozd
-          wood: Pragozd
+          wood: Gozd
+          farmland: Kmetijsko zemljišče
+          grass: Trava
+          meadow: Travnik
+          bare_rock: Gola skala
+          sand: Pesek
           golf: Igrišče za golf
           park: Park
+          common: Travniki
+          built_up: Pozidano območje
           resident: Naselje
-          common:
-          - Travniki
-          - travnik
-          - vrt
           retail: Trgovinsko območje
           industrial: Industrijsko območje
           commercial: Poslovno območje
           heathland: Grmičevje
-          lake:
-          - Jezero
-          - vodni zbiralnik
+          scrubland: Grmičevje
+          lake: Jezero
+          reservoir: Vodni zbiralnik
+          intermittent_water: Presihajoče vodno telo
+          glacier: Ledenik
+          reef: Greben
+          wetland: Mokrišče
           farm: Kmetija
           brownfield: Gradbišče
           cemetery: Pokopališče
           allotments: Vrtički
           pitch: Športno igrišče
           centre: Športni center
+          beach: Plaža
           reserve: Naravni rezervat
           military: Vojaško območje
-          school:
-          - Šola
-          - univerza
+          school: Šola; univerza
+          university: Univerza
+          hospital: Bolnišnica
           building: Pomembna stavba
           station: Železniška postaja
-          summit:
-          - Vrh
-          - vrh
+          summit: Vrh
+          peak: Vrh
           tunnel: Črtkana obroba = predor
           bridge: Krepka obroba = most
           private: Zasebni dostop
           destination: Dovoljeno za dostavo
           construction: Ceste v gradnji
+          bus_stop: Avtobusno postajališče
+          stop: Postajališče
           bicycle_shop: Kolesarska trgovina
+          bicycle_rental: Izposoja koles
           bicycle_parking: Parkirišče za kolesa
+          bicycle_parking_small: Majhno parkirišče za kolesa
           toilets: Stranišče
     welcome:
       title: Pozdravljeni!
@@ -2645,6 +2668,7 @@ sl:
       oauth1_settings: Nastavitve OAuth 1
       oauth2_applications: Aplikacije OAuth 2
       oauth2_authorizations: Pooblastila OAuth 2
+      muted_users: Utišani uporabniki
   oauth:
     authorize:
       title: Dovoli dostop do vašega računa
@@ -2683,6 +2707,7 @@ sl:
       read_gpx: Branje zasebnih sledi GPS
       write_gpx: Nalaganje sledi GPS
       write_notes: Spreminjanje opomb
+      write_redactions: Skrij podatke na zemljevidu
       read_email: Branje uporabnikovega e-poštnega naslova
       skip_authorization: Samodejna odobritev aplikacije
   oauth_clients:
@@ -2773,7 +2798,7 @@ sl:
       no_applications_html: Pooblastili še niste nobene aplikacije %{oauth2}.
     application:
       revoke: Prekliči dostop
-      confirm_revoke: Želite za to aplikacijo preklicati dostop?
+      confirm_revoke: Želite tej aplikaciji odvzeti dostop?
   users:
     new:
       title: Registracija
@@ -2856,6 +2881,8 @@ sl:
       my_dashboard: Moja nadzorna plošča
       blocks on me: Blokiranja mene
       blocks by me: Moja blokiranja
+      create_mute: Utišaj tega uporabnika
+      destroy_mute: Vklopi zvok tega uporabnika
       edit_profile: Uredi profil
       send message: Pošlji sporočilo
       diary: Dnevnik
@@ -2887,6 +2914,7 @@ sl:
           importer: Odvzemi dostop uvoznika
       block_history: Aktivna blokiranja
       moderator_history: Izvedena blokiranja
+      revoke_all_blocks: Prekliči vsa blokiranja
       comments: Komentarji
       create_block: Blokiraj uporabnika
       activate_user: Aktiviraj uporabnika
@@ -2991,6 +3019,18 @@ sl:
       confirm: Ali res želite preklicati blokiranje?
       revoke: Prekliči!
       flash: To blokiranje je bilo preklicano.
+    revoke_all:
+      title: Preklic vseh blokiranj v %{block_on}
+      heading_html: Preklic vseh blokiranj v %{block_on}
+      empty: '%{name} nima aktivnih blokiranj.'
+      confirm: Ste prepričani, da želite preklicati %{active_blocks}?
+      active_blocks:
+        one: '%{count} aktivno blokiranje'
+        two: '%{count} aktivni blokiranji'
+        few: '%{count} aktivna blokiranja'
+        other: '%{count} aktivnih blokiranj'
+      revoke: Prekliči!
+      flash: Vsa aktivna blokiranja so bila preklicana.
     helper:
       time_future_html: Konča se čez %{time}.
       until_login: Aktivna dokler uporabnik se prijavi.
@@ -3025,11 +3065,11 @@ sl:
     blocks_on:
       title: Blokiranja uporabnika %{name}
       heading_html: Seznam blokiranj uporabnika %{name}
-      empty: Uporabnik/ca %{name} še ni bil/a blokiran/a.
+      empty: Uporabnik_ca %{name} še ni bil_a blokiran_a.
     blocks_by:
-      title: Dana blokiranja uporabnika/ce %{name}
+      title: Dana blokiranja uporabnika_ce %{name}
       heading_html: Seznam izvedenih blokiranj uporabnika %{name}
-      empty: Uporabnik/ca %{name} ni blokiral/a še nikogar.
+      empty: Uporabnik_ca %{name} ni blokiral_a še nikogar.
     show:
       title: '%{block_by} je blokiral uporabnika %{block_on}'
       heading_html: '%{block_by} je blokiral uporabnika %{block_on}'
@@ -3058,6 +3098,32 @@ sl:
       showing_page: Stran %{page}
       next: Naprej »
       previous: « Prejšnja
+  user_mutes:
+    index:
+      title: Utišani uporabniki
+      my_muted_users: Moji utišani uporabniki
+      you_have_muted_n_users:
+        one: Utišali ste %{count} uporabnika
+        two: Utišali ste %{count} uproabnika
+        few: Utišali ste %{count} uporabnikov
+        other: Utišali ste %{count} uporabnikov
+      user_mute_explainer: Sporočila utišanih uporabnikov so premaknjena v ločeno
+        mapo »Prejeto« in ne boste prejemali e-poštnih obvestil.
+      user_mute_admins_and_moderators: Administratorje in moderatorje lahko utišate,
+        vendar njihova sporočila ne bodo utišana.
+      table:
+        thead:
+          muted_user: Utišani uporabnik
+          actions: Dejanja
+        tbody:
+          unmute: Vklopi zvok
+          send_message: Pošlji sporočilo
+    create:
+      notice: Utišali ste %{name}.
+      error: '%{name} ni bilo mogoče utišati. %{full_message}.'
+    destroy:
+      notice: Vklopili ste zvok %{name}.
+      error: Zvoka uporabnika ni bilo mogoče vklopiti. Prosimo, poskusite znova.
   notes:
     index:
       title: Opombe, ki jih je posredoval_a ali komentiral_a %{user}
@@ -3094,6 +3160,7 @@ sl:
       reactivate: Znova aktiviraj
       comment_and_resolve: Komentiraj in razreši
       comment: Komentiraj
+      log_in_to_comment: Za komentiranje te opombe se prijavite
       report_link_html: Če ta opomba vsebuje občutljive podatke, ki jih je treba odstraniti,
         lahko %{link}.
       other_problems_resolve: Vse preostale težave z opombo rešite sami s komentarjem.
@@ -3310,7 +3377,7 @@ sl:
       add_note: Tu dodaj opombo
       show_address: Prikaži naslov
       query_features: Preveri značilnosti
-      centre_map: Premakni na sredino
+      centre_map: Osredini zemljevid tukaj
   redactions:
     edit:
       heading: Uredi redakcijo
index 30f0e88f83fd86cdc1dc07cb3a3771c00cf02de3..ad01fd0c3b8d6cbf5bb74925d7d248c6c94475d9 100644 (file)
@@ -2,6 +2,7 @@
 # Exported from translatewiki.net
 # Export driver: phpyaml
 # Author: Bjakupi
+# Author: Dimitar
 # Author: Eraldkerciku
 # Author: Euriditi
 # Author: Fanjiayi
@@ -855,8 +856,8 @@ sq:
         ignored: Injoruar
         open: E hapur
     show:
-      report_created_at: E raportuar së pari tek %{datetime}
-      last_updated_at: Herën e fundit i ri- freskuar%{datetime}nga%{displayname}
+      report_created_at_html: E raportuar së pari tek %{datetime}
+      last_updated_at_html: Herën e fundit i ri- freskuar%{datetime}nga%{displayname}
       resolve: Zgjidh
       ignore: injoro
       reports_of_this_issue: Raportimet e këtij problemi
@@ -959,14 +960,15 @@ sq:
   messages:
     inbox:
       title: Kutia mbërritëse
-      my_inbox: Kutia ime mbërritëse
       messages: Ti ke %{new_messages} dhe %{old_messages}
-      from: Prej
-      subject: Titulli
-      date: Data
       no_messages_yet_html: Ti nuk ke mesazhe ende. Pse nuk kontakton ndonjërin nga
         %{people_mapping_nearby_link}?
       people_mapping_nearby: hartografët aty pranë
+    messages_table:
+      from: Prej
+      to: Për
+      subject: Titulli
+      date: Data
     message_summary:
       unread_button: Shëno si të palexuar
       read_button: Shëno si të lexuar
@@ -986,9 +988,6 @@ sq:
       body: Na vjen keq, nuk ka mesazh me këtë id.
     outbox:
       title: Dalje
-      to: Për
-      subject: Titulli
-      date: Data
     show:
       reply_button: Përgjigje
       unread_button: Shëno si të palexuar
@@ -998,11 +997,13 @@ sq:
         si përdorues i saktë për të lexuar atë.'
     sent_message_summary:
       destroy_button: Fshi
+    heading:
+      my_inbox: Kutia ime mbërritëse
     mark:
       as_read: Mesazhi është shënuar si të lexuar
       as_unread: Mesazhi është shënuar si i palexuar
   passwords:
-    lost_password:
+    new:
       title: Fjalëkalimi i humbur
       heading: Ke harruar fjalëkalimin?
       email address: 'Adresa e emailit:'
@@ -1010,16 +1011,18 @@ sq:
       help_text: Shkruani adresën e emailit që keni përdorur për tu regjistruar, ne
         do të dërgojmë një lidhje të cilën mund të përdorni për të rivendosur fjalëkalimin
         tuaj.
+    create:
       notice email on way: Na vjen keq e keni humbur atë :-( por një email është në
         rrugëtim kështu që ju mund të rivendosni atë së shpejti.
       notice email cannot find: Na vjen keq, ne nuk arritë ta gjejmë adresën e emailit
         të dhënë.
-    reset_password:
+    edit:
       title: Rivendos fjalëkalimin
       heading: Rivendos fjalëkalimin për %{user}
       reset: Rivendos fjalëkalimin
-      flash changed: Fjalëkalimi yt është ndryshuar.
       flash token bad: Nuk e gjet atë shenjë, kontrollo URL-në?
+    update:
+      flash changed: Fjalëkalimi yt është ndryshuar.
   profiles:
     edit:
       image: Imazhi
@@ -1095,12 +1098,7 @@ sq:
       user_page_link: '{{GENDER:{{ROOTPAGENAME}}|faqja e përdoruesit|faqja e përdorueses}}'
     export:
       title: Eksporto
-      area_to_export: Zona për tu eksportuar
       manually_select: Zgjidh me dorë një zonë tjetër
-      format_to_export: Formati per eksportim
-      osm_xml_data: Të dhëna XML të OpenStreetMap
-      map_image: Imzhi i hartës (shfaq shtresën e parazgjedhur)
-      embeddable_html: HTML i inkorporueshëm
       licence: Licensa
       too_large:
         advice: 'Në qoftë se dështon eksporti i mësipërm, të lutem konsidero përdorimin
@@ -1123,17 +1121,6 @@ sq:
         other:
           title: Burime të tjera
           description: Burime shtesë të listuara në faqen e OpenStreetMap wiki
-      options: Opsionet
-      format: Formati
-      scale: Shkallë
-      max: max
-      image_size: Madhësia e imazhit
-      zoom: Zmadho
-      add_marker: Shto një shënues në hartë
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Dalja
-      paste_html: Ngjite HTML për ta inkorporuar në uebfaqe
       export_button: Eksporto
     fixthemap:
       how_to_help:
@@ -1180,14 +1167,12 @@ sq:
         entry:
           centre: Qendër sportive
           military: Zonë ushtarake
-          school:
-          - Shkollë
-          - Universitet
+          school: Shkollë
+          university: Universitet
           building: Ndërtesë
           station: Stacioni hekurudhor
-          summit:
-          - Samit
-          - majë
+          summit: Samit
+          peak: majë
     welcome:
       title: Mirësevjen
       whats_on_the_map:
@@ -1299,7 +1284,7 @@ sq:
       consider_pd: Përveç marrëveshjes së mësipërme, unë i konsideroj kontributet
         e mia të jenë në Domeinin Publik
       consider_pd_why: çfarë është kjo?
-      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+      consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
       decline: Nuk e pranoj
       legale_select: 'Vendi i banimit:'
       legale_names:
index adcbcc88687483d35a720feb1958d4861e863d17..342f9f3c049b9e8e506d6febcbd129ef3192f1a5 100644 (file)
@@ -829,7 +829,6 @@ sr-Latn:
   messages:
     inbox:
       title: Primljene
-      my_inbox: Primljene
       messages: Imate %{new_messages} i %{old_messages}
       new_messages:
         one: '%{count} nova poruka'
@@ -837,12 +836,14 @@ sr-Latn:
       old_messages:
         one: '%{count} stara poruka'
         other: '%{count} stare poruke'
-      from: Od
-      subject: Naslov
-      date: Datum
       no_messages_yet_html: Još uvek nemate poruka. Zašto ne biste stupili u kontakt
         s %{people_mapping_nearby_link}?
       people_mapping_nearby: maperima u vašoj okolini
+    messages_table:
+      from: Od
+      to: Za
+      subject: Naslov
+      date: Datum
     message_summary:
       unread_button: Označi kao nepročitano
       read_button: Označi kao pročitano
@@ -865,9 +866,6 @@ sr-Latn:
       messages:
         one: Imate %{count} poslatu poruku
         other: Imate %{count} poslate poruke
-      to: Za
-      subject: Naslov
-      date: Datum
       no_sent_messages_html: Još uvek nemate poslatih poruka. Zašto ne biste stupili
         u kontakt s %{people_mapping_nearby_link}?
       people_mapping_nearby: maperima u vašoj okolini
@@ -883,27 +881,31 @@ sr-Latn:
         pročitali.
     sent_message_summary:
       destroy_button: Obriši
+    heading:
+      my_inbox: Primljene
     mark:
       as_read: Poruka je označena kao pročitana
       as_unread: Poruka je označena kao nepročitana
     destroy:
       destroyed: Poruka je obrisana
   passwords:
-    lost_password:
+    new:
       title: Povratak lozinke
       heading: Zaboravili ste lozinku?
       email address: 'E-adresa:'
       new password button: Poništi lozinku
       help_text: Unesite e-adresu koju ste uneli pri upisu, a mi ćemo vam poslati
         vezu pomoću koje možete da poništite lozinku.
+    create:
       notice email on way: Poruka za poništavanje lozinke je poslata.
       notice email cannot find: E-adresa nije pronađena.
-    reset_password:
+    edit:
       title: Poništi lozinku
       heading: Poništavanje lozinke za %{user}
       reset: Poništi lozinku
-      flash changed: Vaša lozinka je promenjena.
       flash token bad: Takav novčić nije pronađen. Proverite adresu.
+    update:
+      flash changed: Vaša lozinka je promenjena.
   profiles:
     edit:
       image: 'Slika:'
@@ -986,27 +988,11 @@ sr-Latn:
       no_iframe_support: Vaš pregledač ne podržava HTML iframes, a oni su potrebni
         za ovu mogućnost.
     export:
-      area_to_export: Područje za izvoz
       manually_select: Ručno izaberite drugo područje
-      format_to_export: Format za izvoz
-      osm_xml_data: Openstritmap XML podaci
-      map_image: Slika mape (prikazuje standardni sloj)
-      embeddable_html: Ugradivi HTML kod
       licence: Licenca
       too_large:
         body: Ovo područje je preveliko da bi bilo izvezeno u formatu XML. Uvećajte
           prikaz ili izaberite manju površinu.
-      options: Mogućnosti
-      format: Format
-      scale: Razmera
-      max: najviše
-      image_size: Veličina slike
-      zoom: Uvećanje
-      add_marker: Dodaj marker na mapu
-      latitude: 'GŠ:'
-      longitude: 'GD:'
-      output: Izlaz
-      paste_html: Ubacite HTML kod za ugrađivanje na stranice
       export_button: Izvezi
     sidebar:
       search_results: Rezultati pretrage
@@ -1030,34 +1016,24 @@ sr-Latn:
           footway: Pešačka staza
           rail: Železnička pruga
           subway: Podzemna železnica
-          tram:
-          - Laka železnica
-          - tramvaj
-          cable:
-          - Žičara
-          - sedišnica
-          runway:
-          - Aerodromska pista
-          - rulne staze
-          apron:
-          - Aerodromski peron
-          - terminal
+          cable_car: Žičara
+          chair_lift: sedišnica
+          runway: Aerodromska pista
+          taxiway: rulne staze
+          apron: Aerodromski peron
           admin: Administrativna granica
           forest: Šuma
           wood: Šuma
           golf: Golf teren
           park: Park
+          common: Poljana
           resident: Stambeno područje
-          common:
-          - Poljana
-          - livada
           retail: Maloprodajno područje
           industrial: Industrijsko područje
           commercial: Poslovno područje
           heathland: Pustoš
-          lake:
-          - Jezero
-          - rezervoar
+          lake: Jezero
+          reservoir: rezervoar
           farm: Farma
           brownfield: Građevinsko zemljište
           cemetery: Groblje
@@ -1066,14 +1042,12 @@ sr-Latn:
           centre: Sportski centar
           reserve: Rezervat prirode
           military: Vojno područje
-          school:
-          - Škola
-          - univerzitet
+          school: Škola
+          university: univerzitet
           building: Značajna zgrada
           station: Železnička stanica
-          summit:
-          - Uzvišenje
-          - vrh
+          summit: Uzvišenje
+          peak: vrh
           tunnel: Isprekidan okvir – tunel
           bridge: Crni okvir – most
           private: Privatni posed
index 2141d356570da27d5b92967fe5182671d1b4d6d7..e05969ff01d2082fb48a5691b6089363467e1d77 100644 (file)
@@ -115,6 +115,7 @@ sr:
       diary_entry:
         user: Корисник
         title: Наслов
+        body: Текст
         latitude: Географска ширина
         longitude: Географска дужина
         language_code: Језик
@@ -217,6 +218,15 @@ sr:
       entry:
         comment: Коментар
         full: Потпуна белешка
+  account:
+    deletions:
+      show:
+        title: Обришите мој налог
+        warning: Упозорење! Брисање налога је неповратан процес.
+        delete_account: Обриши налог
+        retain_email: Ваша имејл адреса ће бити задржана.
+        confirm_delete: Јесте ли сигурни?
+        cancel: Откажи
   accounts:
     edit:
       title: Уреди налог
@@ -241,8 +251,10 @@ sr:
         agreed_with_pd: Такође се слажете да ваше измене буду у јавном власништву.
         link text: шта је ово?
       save changes button: Сачувај промене
+      delete_account: Брисање налога...
     go_public:
       heading: Јавно уређивање
+      find_out_why: сазнајте зашто
       make_edits_public_button: Нека све моје измене буду јавне
     update:
       success_confirm_needed: Подаци о кориснику су успешно ажурирани. Проверите имејл
@@ -340,6 +352,7 @@ sr:
       wikidata_link: Ставка %{page} на Википодацима
       wikipedia_link: Чланак %{page} на Википедији
       telephone_link: Позови %{phone_number}
+      email_link: Имејл %{email}
     query:
       title: Информације о објектима
       introduction: Кликните на мапу да бисте пронашли објекте у близини.
@@ -396,6 +409,7 @@ sr:
       nearby mapper: Оближњи картограф
       friend: Пријатељ
     show:
+      edit_your_profile: Уредите Ваш профил
       my friends: Моји пријатељи
       no friends: Нисте додали ниједног пријатеља.
       nearby users: 'Остали оближњи корисници:'
@@ -442,9 +456,9 @@ sr:
       comment_link: Коментариши овај унос
       reply_link: Пошаљи поруку аутору
       comment_count:
-        zero: Нема коментара
         one: '%{count} коментар'
         other: '%{count} коментара'
+      no_comments: Нема коментара
       edit_link: Уреди овај унос
       hide_link: Сакриј овај унос
       unhide_link: Откриј овај унос
@@ -476,6 +490,13 @@ sr:
       comment: Коментар
       newer_comments: Новији коментари
       older_comments: Старији коментари
+  errors:
+    forbidden:
+      title: Забрањено
+    internal_server_error:
+      title: Грешка у апликацији
+    not_found:
+      title: Датотека није пронађена
   friendships:
     make_friend:
       heading: Додати корисника %{user} као пријатеља?
@@ -597,11 +618,13 @@ sr:
           toilets: Тоалет
           townhall: Градска скупштина
           university: Универзитет
+          vehicle_inspection: Технички преглед
           vending_machine: Аутомат
           veterinary: Ветеринарска клиника
           village_hall: Сеоска месна заједница
           waste_basket: Корпа за отпатке
           waste_disposal: Контејнер
+          waste_dump_site: Депонија
         boundary:
           administrative: Административна граница
           census: Пописна граница
@@ -616,6 +639,7 @@ sr:
           viaduct: Вијадукт
           "yes": Мост
         building:
+          apartment: Стан
           apartments: Станови
           barn: Штала
           bungalow: Бунгалов
@@ -632,11 +656,13 @@ sr:
           farm_auxiliary: Помоћна штала
           garage: Гаража
           garages: Гараже
+          greenhouse: Стакленик
           hangar: Хангар
           hospital: Болница
           hotel: Хотел
           house: Кућа
           houseboat: Кућа на води
+          hut: Колиба
           industrial: Индустријска зграда
           kindergarten: Зграда вртића
           manufacture: Зграда фабрике
@@ -667,6 +693,7 @@ sr:
           brewery: Пивара
           carpenter: Столар
           confectionery: Кондитор
+          dressmaker: Кројач
           electrician: Електричар
           electronics_repair: Поправка електронике
           gardener: Баштован
@@ -676,6 +703,7 @@ sr:
           roofer: Кровник
           sawmill: Пилана
           shoemaker: Обућар
+          stonemason: Каменорезац
           tailor: Кројач
           winery: Винарија
           "yes": Занатска радња
@@ -684,6 +712,7 @@ sr:
           ambulance_station: Хитна помоћ
           assembly_point: Тачка окупљања
           defibrillator: Дефибрилатор
+          fire_extinguisher: ПП апарат
           landing_site: Место за хитно слетање
           phone: Телефон за хитне случајеве
         highway:
@@ -693,6 +722,7 @@ sr:
           bus_stop: Аутобуска станица
           construction: Пут у изградњи
           corridor: Коридор
+          crossing: Пешачки прелаз
           cycleway: Бициклистичка стаза
           elevator: Лифт
           emergency_access_point: Прва помоћ
@@ -765,6 +795,7 @@ sr:
           "yes": Раскрсница
         landuse:
           allotments: Парцеле
+          aquaculture: Рибњак
           basin: Басен
           brownfield: Запуштена локација
           cemetery: Гробље
@@ -796,6 +827,7 @@ sr:
         leisure:
           beach_resort: Приобално одмаралиште
           bird_hide: Осматрачница за птице
+          bowling_alley: Куглана
           common: Општинско земљиште
           dog_park: Парк за псе
           firepit: Камин
@@ -830,6 +862,7 @@ sr:
           bridge: Мост
           bunker_silo: Бункер
           chimney: Димњак
+          communications_tower: Репетитор
           crane: Кран
           dyke: Насип
           embankment: Насип
@@ -848,8 +881,11 @@ sr:
           pumping_station: Црпна станица
           silo: Силос
           surveillance: Присмотра
+          telescope: Телескоп
           tower: Кула
+          utility_pole: Бандера
           watermill: Водени млин
+          water_tap: Чесма
           water_tower: Водени торањ
           water_well: Бунар
           windmill: Ветрењача
@@ -859,6 +895,8 @@ sr:
           airfield: Војни аеродром
           barracks: Касарна
           bunker: Бункер
+          checkpoint: Контролна тачка
+          trench: Ров
           "yes": Војска
         mountain_pass:
           "yes": Планински прелаз
@@ -943,6 +981,7 @@ sr:
           municipality: Општина
           neighbourhood: Кварт
           postcode: Поштански број
+          quarter: Четврт
           region: Регион
           sea: Море
           square: Трг
@@ -967,6 +1006,7 @@ sr:
           platform: Железнички перон
           preserved: Очувана железница
           proposed: Пројектована железница
+          rail: Железница
           spur: Огранак железничке пруге
           station: Железничка станица
           stop: Железничко стајалиште
@@ -987,6 +1027,7 @@ sr:
           beauty: Козметички салон
           beverages: Продавница пића
           bicycle: Продавница бицикала
+          bookmaker: Кладионица
           books: Књижара
           boutique: Бутик
           butcher: Месара
@@ -1006,6 +1047,7 @@ sr:
           copyshop: Фотокопирница
           cosmetics: Козметичка радња
           curtain: Продавница драперија
+          dairy: Продавница млечних производа
           deli: Сендвичара
           department_store: Робна кућа
           discount: Дисконт
@@ -1018,11 +1060,13 @@ sr:
           fabric: Продавница тканине
           farm: Пољопривредна апотека
           fashion: Продавница модне одеће
+          fishing: Рибарница
           florist: Цвећара
           food: Продавница хране
           funeral_directors: Погребно предузеће
           furniture: Продавница намештаја
           garden_centre: Вртни центар
+          gas: Пунионица ТНГ-а
           general: Продавница робе широке потрошње
           gift: Продавница поклона
           greengrocer: Продавница воћа и поврћа
@@ -1035,6 +1079,7 @@ sr:
           jewelry: Јувелирница
           kiosk: Трафика
           laundry: Перионица веша
+          locksmith: Бравар
           lottery: Лутрија
           mall: Тржни центар
           massage: Масажа
@@ -1047,6 +1092,7 @@ sr:
           outdoor: Продавница опреме за спортове на отвореном
           paint: Фарбара
           pawnbroker: Залагаоничар
+          perfumery: Парфимерија
           pet: Продавница за кућне љубимце
           photo: Фотографска радња
           seafood: Морски плодови
@@ -1062,7 +1108,9 @@ sr:
           toys: Продавница играчака
           travel_agency: Туристичка агенција
           tyres: Продавница гума
+          vacant: Упражњен локал
           video: Видеотека
+          video_games: Продавница видео-игара
           wine: Винарија
           "yes": Продавница
         tourism:
@@ -1111,9 +1159,11 @@ sr:
           "yes": Водоток
       admin_levels:
         level2: Државна граница
+        level3: Граница региона
         level4: Граница савезне државе
         level5: Граница региона
         level6: Граница округа
+        level7: Граница општине/града
         level8: Граница града
         level9: Граница села
         level10: Граница насеља
@@ -1216,6 +1266,7 @@ sr:
     help: Помоћ
     about: О нама
     copyright: Ауторска права
+    communities: Заједнице
     community: Заједница
     community_blogs: Блогови заједнице
     community_blogs_title: Блогови чланова заједнице OpenStreetMap
@@ -1248,6 +1299,7 @@ sr:
       import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures?uselang=sr-ec
       subject: '[OpenStreetMap] GPX увоз није успео'
     gpx_success:
+      hi: Здарво %{to_user},
       subject: '[OpenStreetMap] GPX увоз је успео'
     signup_confirm:
       subject: '[OpenStreetMap] Добро дошли на ОпенСтритМап'
@@ -1327,6 +1379,7 @@ sr:
       success: Ваш налог је потврђен. Хвала вам на упису!
       already active: Овај налог је већ потврђен.
       unknown token: Тај код за потврду је истекао или не постоји.
+      click_here: кликните овде
     confirm_resend:
       failure: Корисник %{name} није пронађен.
     confirm_email:
@@ -1340,7 +1393,6 @@ sr:
   messages:
     inbox:
       title: Примљене
-      my_inbox: Примљене
       messages: Имате %{new_messages} и %{old_messages}
       new_messages:
         one: '%{count} нова порука'
@@ -1348,12 +1400,15 @@ sr:
       old_messages:
         one: '%{count} стара порука'
         other: '%{count} старих порука'
-      from: Од
-      subject: Наслов
-      date: Датум
       no_messages_yet_html: Још увек немате порука. Зашто не бисте ступили у контакт
         с %{people_mapping_nearby_link}?
       people_mapping_nearby: маперима у вашој околини
+    messages_table:
+      from: Од
+      to: За
+      subject: Наслов
+      date: Датум
+      actions: Радње
     message_summary:
       unread_button: Означи као непрочитано
       read_button: Означи као прочитано
@@ -1376,12 +1431,11 @@ sr:
       messages:
         one: Имате %{count} послату поруку
         other: Имате %{count} послате поруке
-      to: За
-      subject: Наслов
-      date: Датум
       no_sent_messages_html: Још увек немате послатих порука. Зашто не бисте ступили
         у контакт с %{people_mapping_nearby_link}?
       people_mapping_nearby: маперима у вашој околини
+    muted:
+      title: Пригушене поруке
     reply:
       wrong_user: Пријављени сте као %{user}, али порука на коју сте желели да одговорите
         није послата том кориснику. Пријавите се као исправан корисник да бисте одговорили.
@@ -1396,29 +1450,41 @@ sr:
         прочитали.
     sent_message_summary:
       destroy_button: Обриши
+    heading:
+      my_inbox: Примљене
     mark:
       as_read: Порука је означена као прочитана
       as_unread: Порука је означена као непрочитана
     destroy:
       destroyed: Порука је обрисана
   passwords:
-    lost_password:
+    new:
       title: Повратак лозинке
       heading: Заборавили сте лозинку?
-      email address: 'Имејл адреса:'
+      email address: Имејл адреса
       new password button: Поништи лозинку
       help_text: Унесите е-адресу коју сте унели при упису, а ми ћемо вам послати
         везу помоћу које можете да поништите лозинку.
+    create:
       notice email on way: Порука за поништавање лозинке је послата.
       notice email cannot find: Имејл адреса није пронађена, жао нам је.
-    reset_password:
+    edit:
       title: Поништи лозинку
       heading: Поништавање лозинке за %{user}
       reset: Поништи лозинку
-      flash changed: Ваша лозинка је промењена.
       flash token bad: Такав новчић није пронађен. Проверите адресу.
+    update:
+      flash changed: Ваша лозинка је промењена.
+  preferences:
+    show:
+      title: Моја подешавања
+    edit:
+      cancel: Откажи
   profiles:
     edit:
+      title: Уреди профил
+      save: Ажурирај профил
+      cancel: Откажи
       image: Слика
       gravatar:
         gravatar: Користи Граватар
@@ -1433,12 +1499,17 @@ sr:
       home location: Место становања
       no home location: Нисте унели место становања.
       update home location on click: Ажурирати место становања када кликнем на мапу?
+      show: Прикажи
+      delete: Обриши
+      undelete: Поништи брисање
+    update:
+      success: Профил ажуриран.
   sessions:
     new:
       title: Пријава
       heading: Пријава
-      email or username: 'Имејл адреса или корисничко име:'
-      password: 'Лозинка:'
+      email or username: Имејл адреса или корисничко име
+      password: Лозинка
       openid_html: '%{logo} OpenID:'
       remember: Запамти ме
       lost password link: Заборавили сте лозинку?
@@ -1477,6 +1548,16 @@ sr:
       title: Одјава
       heading: Одјава
       logout_button: Одјави ме
+    suspended_flash:
+      support: подршка
+  shared:
+    markdown_help:
+      link: Веза
+      text: Текст
+      image: Слика
+    richtext_field:
+      edit: Уреди
+      preview: Преглед
   site:
     about:
       next: Следеће
@@ -1492,6 +1573,8 @@ sr:
       community_driven_title: Заједница је покретач
       open_data_title: Отворени подаци
       legal_title: Правни аспекти
+      legal_1_1_terms_of_use: Услови коришћења
+      legal_1_1_privacy_policy: Политика приватности
       partners_title: Партнери
     copyright:
       foreign:
@@ -1508,9 +1591,11 @@ sr:
         mapping_link: почни с уређивањем карте
       legal_babble:
         title_html: Ауторска права и лиценца
+        introduction_2_legal_code: правни текст
         credit_title_html: Како да именујете OpenStreetMap
         credit_1_html: 'Када користите податке са OpenStreetMap-а, захтевамо да урадите
           две ствари:'
+        credit_3_attribution_guidelines: Смернице за приписивање
         attribution_example:
           alt: Пример како да наведете Опенстритмап на некој страници
           title: Пример за навођење
@@ -1520,9 +1605,24 @@ sr:
           У нашем пројекту учествује на хиљаде појединаца. Користимо и
           податке с отвореном лиценцом од државних картографских установа
           и других извора, међу којима су:
+        contributors_at_austria: Аустрија
+        contributors_au_australia: Аустралија
+        contributors_au_cc_licence: Creative Commons Ауторство 4.0 међународна (CC
+          BY 4.0)
+        contributors_ca_canada: Канада
         contributors_cz_czechia: Чешка
         contributors_cz_cc_licence: Creative Commons Ауторство 4.0 међународна (CC
           BY 4.0)
+        contributors_fi_finland: Финска
+        contributors_fr_france: Француска
+        contributors_nl_netherlands: Холандија
+        contributors_nz_new_zealand: Нови Зеланд
+        contributors_rs_serbia: Србија
+        contributors_rs_rgz: Републички геодетски завод
+        contributors_si_slovenia: Словенија
+        contributors_es_spain: Шпанија
+        contributors_za_south_africa: Јужна Африка
+        contributors_gb_united_kingdom: Уједињено Краљевство
         contributors_footer_2_html: |2-
             Укључивање података у Опенстритмап не подразумева да изворни
             власник података прихвата Опенстритмап, обезбеђује било какву
@@ -1531,6 +1631,7 @@ sr:
         infringement_1_html: ОСМ сарадници се подсећају да никад не додају податке
           из извора заштићених ауторским правима (нпр. Гугл карте или штампане карте)
           без изричите дозволе власника ауторских права.
+        trademarks_title: Заштитни знаци
     index:
       js_1: Користите прегледач који не подржава јаваскрипт или сте га онемогућили.
       js_2: OpenStreetMap користи јаваскрипт за приказивање мапа.
@@ -1552,12 +1653,7 @@ sr:
         за ову могућност.
     export:
       title: Извоз
-      area_to_export: Област за извоз
       manually_select: Ручно изаберите другу област
-      format_to_export: Формат за извоз
-      osm_xml_data: Подаци у XML формату
-      map_image: Слика мапе (приказује стандардни слој)
-      embeddable_html: Уградиви HTML код
       licence: Лиценца
       too_large:
         advice: 'Ако буде проблема при извозу, послужите се неким од доленаведених
@@ -1577,17 +1673,6 @@ sr:
         other:
           title: Други извори
           description: Додатни извори наведени на викију OpenStreetMap-а
-      options: Опције
-      format: Формат
-      scale: Размера
-      max: макс.
-      image_size: Величина слике
-      zoom: Приближи
-      add_marker: Постави маркер на мапу
-      latitude: 'Ширина:'
-      longitude: 'Дужина:'
-      output: Исход
-      paste_html: HTML код за уградњу на сајт
       export_button: Извези
     fixthemap:
       title: Пријави проблем / Поправи карту
@@ -1666,58 +1751,59 @@ sr:
           cycleway_local: Локална бициклистичка стаза
           footway: Пешачка стаза
           rail: Железничка пруга
+          train: Воз
           subway: Подземна железница
-          tram:
-          - Лака железница
-          - трамвај
-          cable:
-          - Жичара
-          - седишница
-          runway:
-          - Аеродромска писта
-          - рулне стазе
-          apron:
-          - Аеродромски перон
-          - терминал
+          trolleybus: Тролејбус
+          bus: Аутобус
+          cable_car: Жичара
+          chair_lift: седишница
+          runway: Аеродромска писта
+          taxiway: Рулна стаза
+          apron: Аеродромски перон
           admin: Административна граница
+          capital: Престоница
+          city: Град
+          vineyard: Виноград
           forest: Шума
           wood: Шума
+          meadow: Ливада
           golf: Голф терен
           park: Парк
+          common: Пољана
           resident: Стамбено подручје
-          common:
-          - Пољана
-          - ливада
           retail: Малопродајно подручје
           industrial: Индустријско подручје
           commercial: Пословно подручје
           heathland: Пустош
-          lake:
-          - Језеро
-          - резервоар
+          lake: Језеро
+          reservoir: Резервоар
           farm: Фарма
           brownfield: Грађевинско земљиште
           cemetery: Гробље
           allotments: Баште
           pitch: Спортско игралиште
           centre: Спортски центар
+          beach: Плажа
           reserve: Резерват природе
           military: Војно подручје
-          school:
-          - Школа
-          - универзитет
+          school: Школа
+          university: Универзитет
+          hospital: Болница
           building: Значајна зграда
           station: Железничка станица
-          summit:
-          - Узвишење
-          - врх
+          summit: Узвишење
+          peak: Врх
           tunnel: Испрекидан оквир – тунел
           bridge: Црни оквир – мост
           private: Приватни посед
           destination: Приступ одредишту
           construction: Путеви у изградњи
+          bus_stop: Аутобуска станица
+          stop: Стоп
           bicycle_shop: Продавница бицикала
+          bicycle_rental: Изнајмљивање бицикала
           bicycle_parking: Паркинг за бицикле
+          bicycle_parking_small: Мали паркинг за бицикле
           toilets: Тоалети
     welcome:
       title: Добро дошли!
@@ -1732,6 +1818,7 @@ sr:
           да буду корисне.
       rules:
         title: Правила!
+        automated_edits: Аутоматизоване измене
       start_mapping: Почни са цртањем карте
       add_a_note:
         title: Немаш времена да уредиш? Додај белешку!
@@ -1814,6 +1901,7 @@ sr:
       public_traces_from: Јавни GPS трагови корисника %{user}
       description: Претражите недавне аплоуде GPS путева
       tagged_with: ' означени са %{tags}'
+      wiki_page: вики страница
       upload_trace: Отпреми траг
       my_traces: Моји трагови
     destroy:
@@ -1848,6 +1936,7 @@ sr:
         их видите.
     settings_menu:
       account_settings: Подешавња налога
+      muted_users: Пригушени корисници
   oauth:
     authorize:
       title: Ауторизујте приступ свом налогу
@@ -1913,13 +2002,38 @@ sr:
       flash: Подаци о клијенту су успешно ажурирани
     destroy:
       flash: Уништена је регистрација клијентског програма
+  oauth2_applications:
+    index:
+      name: Назив
+      permissions: Дозволе
+    application:
+      edit: Уреди
+      delete: Обриши
+      confirm_delete: Обриши ову апликацију?
+    show:
+      edit: Уреди
+      delete: Обриши
+  oauth2_authorizations:
+    new:
+      authorize: Одобри
+      deny: Одбиј
+    error:
+      title: Дошло је до грешке
+  oauth2_authorized_applications:
+    index:
+      application: Апликација
+      permissions: Дозволе
   users:
     new:
       title: Регистрација
       no_auto_account_create: Нажалост, тренутно нисмо у могућности да отворимо нови
         налог.
+      support: подршка
       about:
         header: Слободно и изменљиво
+        paragraph_1: За разлику од других мапа, OpenStreetMap-е употпуности праве
+          људи као Ви. И слободна је за све да је поправљају, ажурирају, преузимају
+          и користе.
       display name description: Јавно приказано корисничко име. Касније га можете
         променити у поставкама.
       external auth: 'Аутентификација треће стране:'
@@ -1928,12 +2042,15 @@ sr:
         али неки додатни алати или сервер можда је ипак буду захтевали.
       continue: Отвори налог
       terms accepted: Хвала вам што прихватате нове услове уређивања.
+      privacy_policy: политика приватности
     terms:
       title: Услови
       heading: Услови
+      read_tou: Прочитао сам и прихватам Услове коришћења
       consider_pd: Према горенаведеном, сматрам да моји доприноси припадају јавном
         власништву
       consider_pd_why: шта је ово?
+      continue: Настави
       declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=sr-ec
       decline: Одбаци
       you need to accept or decline: Молимо вас да прочитате уговор пре него што га
@@ -2013,6 +2130,9 @@ sr:
     suspended:
       title: Суспендован налог
       heading: Суспендован налог
+      support: подршка
+      automatically_suspended: Жао нам је, Ваш налог је аутоматски суспендован због
+        сумљивих радњи.
     auth_failure:
       connection_failed: Повезивање до аутентификационог провајдера неуспешно
       invalid_credentials: Невалидни аутентификациони акредитиви
@@ -2109,6 +2229,7 @@ sr:
       title: '%{block_on} је блокиран/а од %{block_by}'
       heading_html: '%{block_on} је блокиран/а од %{block_by}'
       created: 'Направљено:'
+      duration: 'Трајање:'
       status: 'Стање:'
       show: Прикажи
       edit: Уреди
@@ -2209,6 +2330,7 @@ sr:
         gps: Јавне GPS трасе
         overlays: Омогући преклапање за тражење грешака на карти
         title: Слојеви
+      make_a_donation: Донација
     site:
       edit_tooltip: Уредите мапу
       edit_disabled_tooltip: Увећајте приказ да бисте уредили мапу
index 791d63e93850fb37d9d13bf329c00ee63976f2ee..5b75229c49e7a0c011f98102a624405c95128bd6 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Abbedabb
 # Author: Adrianod
 # Author: Ainali
+# Author: Andreasl
 # Author: Balp
 # Author: Bengtsson96
 # Author: Carlbacker
@@ -18,6 +19,7 @@
 # Author: Jas
 # Author: Jenniesarina
 # Author: Jopparn
+# Author: Kakan spelar
 # Author: Larske
 # Author: Liftarn
 # Author: Lokal Profil
@@ -1500,9 +1502,9 @@ sv:
         one: '%{count} rapport'
         other: '%{count} rapporter'
       no_reports: Inga rapporter
-      report_created_at: Rapporterades först %{datetime}
-      last_resolved_at: Löstes senast %{datetime}
-      last_updated_at: Uppdaterades senast %{datetime} av %{displayname}
+      report_created_at_html: Rapporterades först %{datetime}
+      last_resolved_at_html: Löstes senast %{datetime}
+      last_updated_at_html: Uppdaterades senast %{datetime} av %{displayname}
       resolve: Lös
       ignore: Ignorera
       reopen: Öppna igen
@@ -1781,8 +1783,6 @@ sv:
   messages:
     inbox:
       title: Inkorg
-      my_inbox: Min inkorg
-      my_outbox: Min utkorg
       messages: Du har %{new_messages} och %{old_messages}
       new_messages:
         one: '%{count} nytt meddelande'
@@ -1790,12 +1790,15 @@ sv:
       old_messages:
         one: '%{count} gammalt meddelande'
         other: '%{count} gamla meddelanden'
-      from: Från
-      subject: Ärende
-      date: Datum
       no_messages_yet_html: Du har inga meddelanden ännu. Varför inte ta kontakt med
         någon %{people_mapping_nearby_link}?
       people_mapping_nearby: folk som kartlägger i närheten
+    messages_table:
+      from: Från
+      to: Till
+      subject: Ärende
+      date: Datum
+      actions: Åtgärder
     message_summary:
       unread_button: Markera som oläst
       read_button: Markera som läst
@@ -1815,14 +1818,10 @@ sv:
       body: Det finns inget meddelande med det ID:et.
     outbox:
       title: Utkorg
-      my_inbox: Min inkorg
-      my_outbox: Min utkorg
+      actions: Åtgärder
       messages:
         one: Du har %{count} skickat ett meddelande
         other: Du har %{count} skickat meddelanden
-      to: Till
-      subject: Ärende
-      date: Datum
       no_sent_messages_html: Du har inte skickat några meddelanden ännu. Varför inte
         ta kontakt med någon av de %{people_mapping_nearby_link}?
       people_mapping_nearby: folk som kartlägger i närheten
@@ -1841,27 +1840,32 @@ sv:
         användare för att läsa det.
     sent_message_summary:
       destroy_button: Radera
+    heading:
+      my_inbox: Min inkorg
+      my_outbox: Min utkorg
     mark:
       as_read: Meddelandet markerat som läst
       as_unread: Meddelandet markerat som oläst
     destroy:
       destroyed: Meddelande raderat
   passwords:
-    lost_password:
+    new:
       title: Förlorat lösenord
       heading: Glömt lösenord?
       email address: 'E-postadress:'
       new password button: Återställ lösenord
       help_text: Ange e-postadressen du använde för att registrera dig så skickar
         vi en länk till den som du kan använda för att återställa ditt lösenord.
+    create:
       notice email on way: Synd att du förlorade det, men ett nytt är på väg via e-post.
       notice email cannot find: Kunde inte hitta den e-postadressen.
-    reset_password:
+    edit:
       title: Återställ lösenord
       heading: Återställ lösenord för %{user}
       reset: Återställ lösenord
-      flash changed: Ditt lösenord har ändrats.
       flash token bad: Hittade inte den nyckeln, kontrollera webbadressen.
+    update:
+      flash changed: Ditt lösenord har ändrats.
   preferences:
     show:
       title: Mina alternativ
@@ -1964,6 +1968,7 @@ sv:
       image: Bild
       alt: Alt-text
       url: Webbadress
+      codeblock: Kodblock
     richtext_field:
       edit: Redigera
       preview: Förhandsgranska
@@ -2053,6 +2058,7 @@ sv:
         credit_title_html: Hur du anger OpenStreetMap som källa
         credit_1_html: 'När du använder OpenStreetMap-data, måste du göra dessa två
           saker:'
+        credit_2_1: Tillskriva datan till OpenStreetMap genom att visa vårt upphovsrättsmeddelande.
         credit_2_2: Gör klart att uppgifterna är tillgängliga under Öppen Database
           Licensen.
         credit_3_html: |-
@@ -2176,12 +2182,7 @@ sv:
         för den här funktionen.
     export:
       title: Exportera
-      area_to_export: Område att exportera
       manually_select: Välj ett annat område manuellt
-      format_to_export: Format för export
-      osm_xml_data: OpenStreetMap XML-data
-      map_image: Kartbild (visar vanliga lager)
-      embeddable_html: Inbäddad HTML
       licence: Licens
       licence_details_html: OpenStreetMap-data licensieras under %{odbl_link} (ODbL).
       odbl: Open Data Commons Open Database License
@@ -2204,17 +2205,6 @@ sv:
         other:
           title: Andra källor
           description: Ytterligare källor anges på OpenStreetMaps wiki
-      options: Alternativ
-      format: Format
-      scale: Skala
-      max: max
-      image_size: Bildstorlek
-      zoom: Zooma
-      add_marker: Lägg till markör på kartan
-      latitude: 'Lat:'
-      longitude: 'Lon:'
-      output: Utdata
-      paste_html: Klistra in HTML för att bädda in på webbplats
       export_button: Exportera
     fixthemap:
       title: Rapportera ett problem / Fixa kartan
@@ -2323,35 +2313,24 @@ sv:
           footway: Gångväg
           rail: Järnväg
           subway: Tunnelbana
-          tram:
-          - Snabbspårväg
-          - spårväg
-          cable:
-          - Linbana
-          - stollift
-          runway:
-          - Landningsbana
-          - taxibana
-          apron:
-          - Flygplatsplatta
-          - terminal
+          cable_car: Linbana
+          chair_lift: stollift
+          runway: Landningsbana
+          taxiway: taxibana
+          apron: Flygplatsplatta
           admin: Administrativ gräns
           forest: Kulturskog
           wood: Naturskog
           golf: Golfbana
           park: Park
+          common: Allmänning
           resident: Bostadsområde
-          common:
-          - Allmänning
-          - äng
-          - trädgård
           retail: Område för Detaljhandel
           industrial: Industriellt område
           commercial: Kommersiellt område
           heathland: Hed
-          lake:
-          - Sjö
-          - vattenmagasin
+          lake: Sjö
+          reservoir: vattenmagasin
           farm: Bondgård
           brownfield: Förfallen industritomt
           cemetery: Begravningsplats
@@ -2360,14 +2339,12 @@ sv:
           centre: Idrottsanläggning
           reserve: Naturreservat
           military: Militärområde
-          school:
-          - Skola
-          - universitet
+          school: Skola
+          university: universitet
           building: Viktig byggnad
           station: Järnvägsstation
-          summit:
-          - Höjd
-          - topp
+          summit: Höjd
+          peak: topp
           tunnel: Streckade kanter = tunnel
           bridge: Svarta kanter = bro
           private: Privat tillgång
index d94d886741351fa322b65e652162ba75b3ad28de..7a9cc619db972afce4c4442be61363ccaf0b7b17 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: Aswn
 # Author: ElangoRamanujam
+# Author: Fahimrazick
 # Author: Gurulenin
 # Author: Karthi.dr
 # Author: Krishnaprasaths
@@ -39,8 +40,8 @@ ta:
         create: பதிவுசெய்
         update: புதுப்பி
       redaction:
-        create: à®ªà®\9fிதà¯\8dதிரà¯\81தà¯\8dததà¯\8dதà¯\88 à®\89à®°à¯\81வாà®\95à¯\8dà®\95வà¯\81à®®à¯\8d
-        update: à®ªà®\9fிதிரà¯\81தà¯\8dததà¯\8dதà¯\88à®\9aà¯\8d à®\9aà¯\87மிà®\95à¯\8dà®\95வà¯\81à®®à¯\8d
+        create: à®ªà®\9fிதà¯\8dதிரà¯\81தà¯\8dததà¯\8dதà¯\88 à®\86à®\95à¯\8dà®\95à¯\81
+        update: à®ªà®\9fிதà¯\8dதிரà¯\81தà¯\8dததà¯\8dதà¯\88à®\9aà¯\8d à®\9aà¯\87மி
       trace:
         create: பதிவேற்று
         update: மாற்றங்களை சேமி
@@ -52,6 +53,9 @@ ta:
       messages:
         invalid_email_address: செல்லுபடியாகும் மின்னஞ்சல் முகவரியாகத் தெரியவில்லை
         email_address_not_routable: திசைதிருப்பக்கூடியது அல்ல
+      models:
+        user_mute:
+          is_already_muted: ஏற்கனவே மௌனிக்கப்பட்டுள்ளார்
     models:
       acl: அனுமதிக் கட்டுப்பாட்டுப் பட்டியல்
       changeset: மாற்றங்கள்
@@ -82,7 +86,7 @@ ta:
       tracepoint: சுவடு புள்ளி
       tracetag: சுவடு இணைப்பு
       user: பயனர்
-      user_preference: à®ªà®¯à®©à®°à¯\8d à®µà®¿à®°à¯\81பà¯\8dபதà¯\8dதà¯\87à®°à¯\8dவà¯\81
+      user_preference: à®ªà®¯à®©à®°à¯\8d à®µà®¿à®°à¯\81பà¯\8dபமà¯\8d
       user_token: பயனர் அடையாளம்
       way: வழி
       way_node: வழி முனையம்
@@ -93,7 +97,7 @@ ta:
         url: முதன்மை பயன்பாட்டு URL (தேவை)
         callback_url: திரும்ப அழைக்கும் URL
         support_url: URL ஐ ஆதரிக்கவும்
-        allow_read_prefs: அவர்களின் பயனர் விருப்பங்களைப் படிக்கவும்
+        allow_read_prefs: அவர்களின் பயனர் விருப்பங்களை வாசி
         allow_write_prefs: அவர்களின் பயனர் விருப்பங்களை மாற்றவும்
         allow_write_diary: நாட்குறிப்பு உள்ளீடுகள், கருத்துகள் மற்றும் நண்பர்களை உருவாக்குங்கள்
         allow_write_api: வரைபடத்தை மாற்றவும்
@@ -592,17 +596,20 @@ ta:
   messages:
     inbox:
       title: உள்பெட்டி
+    messages_table:
       from: 'அனுப்புநர்:'
       subject: பொருள்
       date: நாள்
+      actions: செயல்கள்
     message_summary:
       unread_button: வாசிக்கப்படாததாக என குறியிடு
       read_button: வாசித்ததாக குறியிடு
-      reply_button: à®ªà®¤à®¿à®²à¯\8d à®\85ளி
+      reply_button: பதிலளி
       destroy_button: நீக்கு
+      unmute_button: வருமஞ்சலுக்கு நகர்த்து
     new:
-      title: à®¤à®\95வலà¯\8d à®\85னà¯\81பà¯\8dபà¯\81
-      send_message_to_html: '%{name} à®\95à¯\8dà®\95à¯\81 à®ªà¯\81திய à®¤à®\95வலà¯\8d அனுப்பு'
+      title: தகவலனுப்பு
+      send_message_to_html: '%{name} à®\8eனà¯\8dபவரà¯\81à®\95à¯\8dà®\95à¯\81 à®\92à®°à¯\81 à®ªà¯\81திய à®¤à®\95வலà¯\88 அனுப்பு'
       back_to_inbox: உள்பெட்டிக்கு திரும்பவும்
     create:
       message_sent: செய்தி அனுப்பப்பட்டுவிட்டது
@@ -611,27 +618,36 @@ ta:
       heading: அப்படியொரு தகவல் இல்லை
     outbox:
       title: அனுப்பியவை
-      subject: பொருள்
-      date: நாள்
+      actions: செயல்கள்
+    muted:
+      title: மௌனித்த தகவல்கள்
+      messages:
+        one: '%{count} மௌனித்த தகவல்'
+        other: உமக்கு %{count} மௌனித்த தகவல்கள் உள்ளன
     show:
       title: தகவலை வாசிக்கவும்
-      reply_button: à®ªà®¤à®¿à®²à¯\8d à®\85ளி
+      reply_button: பதிலளி
       unread_button: வாசிக்கப்படாததாக  குறியிடு
-      destroy_button: நீக்கு
+      destroy_button: நீக்கு
     sent_message_summary:
       destroy_button: நீக்கு
+    heading:
+      muted_messages: மௌனித்த தகவல்கள்
+    unmute:
+      notice: தகவல் வருமஞ்சலுக்கு நகர்த்தப்பட்டுள்ளது
     destroy:
       destroyed: தகவல் நீக்கப்பட்டது
   passwords:
-    lost_password:
+    new:
       title: காணப்படாத கடவுச்சொல்
       heading: கடவுச்சொல் மறந்துவிட்டதா?
       email address: 'மின்னஞ்சல் முகவரி:'
       new password button: கடவுச்சொல்லை மீட்டமை
-    reset_password:
+    edit:
       title: கடவுச்சொல்லை மீட்டமை
       heading: ' %{user}க்கு கடவுச்சொல் மீட்டமை'
       reset: கடவுச்சொல்லை மீட்டமை
+    update:
       flash changed: உங்கள் கடவுச்சொல் மாற்றப்பட்டது.
   profiles:
     edit:
@@ -670,19 +686,12 @@ ta:
     export:
       title: ஏற்றுமதி செய்
       licence: உரிமம்
-      options: விருப்பத் தேர்வுகள்
-      format: வடிவமைப்பு
-      scale: அளவுவீதம்
-      max: அதிகபட்சம்
-      image_size: பட அளவு
-      zoom: பெரிதாக்கு
-      output: வெளியீடு
       export_button: ஏற்றுமதி செய்
     sidebar:
       search_results: தேடல் முடிவுகள்
       close: மூடு
     search:
-      search: à®¤à¯\87à®\9fலà¯\8d
+      search: à®¤à¯\87à®\9fà¯\81
       submit_text: செல்
     key:
       table:
@@ -690,28 +699,37 @@ ta:
           primary: முதன்மையான சாலை
           secondary: இரண்டாம் நிலை சாலை
           unclassified: வகைப்படுத்தாத சாலை
+          cycleway_mtb: மலையீருருளிப் பாதை
           rail: இரயில்வே
+          capital: தலைநகரம்
+          city: நகரம்
+          vineyard: திராட்சைத் தோட்டம்
           forest: காடு
           wood: விறகு
+          farmland: பண்ணை நிலம்
+          meadow: புல்வெளி
+          bare_rock: வெற்றுப் பாறை
+          sand: மணல்
           park: பூங்கா
-          common:
-          - பொதுவான
+          common: பொதுவான
+          built_up: கட்டடப் பகுதி
           industrial: தொழிற்சாலை பகுதி
           commercial: வணிக பகுதி
-          lake:
-          - ஏரி
-          - நீர்த்தேக்கம்
+          scrubland: புதர் நிலம்
+          lake: ஏரி
+          reservoir: நீர்நிலை
+          glacier: பனிப்பாறை
+          wetland: ஈரநிலம்
           farm: பண்ணை
           centre: விளையாட்டு மையம்
           military: ராணுவ பகுதி
-          school:
-          - பள்ளி
-          - பல்கலைக்கழகம்
+          school: பள்ளி
+          university: பல்கலைக்கழகம்
+          hospital: மருத்துவமனை
           building: குறிப்பிடத்தக்க கட்டிடம்
           station: தொடர்வண்டி நிலையம்
-          summit:
-          - உச்சி மாநாடு
-          - உயரமான இடம்
+          summit: உச்சி மாநாடு
+          peak: உச்சி
           private: தனியார் அனுமதி
           construction: சாலைகளில்  கட்டுமானப் பணிகள் நடந்து வருகின்றன.
           toilets: கழிவறைகள்
@@ -740,7 +758,7 @@ ta:
       tags: 'குறிச்சொற்கள்:'
       none: ஏதுமில்லை
       edit_trace: இந்த சுவடை திருத்து
-      delete_trace: à®\87நà¯\8dத à®\9aà¯\81வà®\9fà¯\88 à®¨à¯\80à®\95à¯\8dà®\95வà¯\81à®®à¯\8d
+      delete_trace: à®\87à®\9aà¯\8dà®\9aà¯\81à®\9aà¯\81வà®\9fà¯\8dà®\9fà¯\88 à®¨à¯\80à®\95à¯\8dà®\95à¯\81
       trace_not_found: சுவடு காணப்படவில்லை!
     trace:
       more: மேலும்
@@ -753,6 +771,9 @@ ta:
       in: உள்
     index:
       upload_trace: சுவடை பதிவேற்றவும்
+  application:
+    settings_menu:
+      muted_users: மௌனித்த பயனர்கள்
   oauth_clients:
     show:
       edit: தொகுப்பு விவரங்கள்
@@ -775,6 +796,8 @@ ta:
       my diary: எனது நாட்குறிப்பேடு
       my edits: என் திருத்தங்கள்
       my settings: என் அமைப்புகள்
+      create_mute: இப்பயனரை மௌனி
+      destroy_mute: இப்பயனரை ஓசையாக்கு
       diary: நாட்குறிப்பேடு
       edits: தொகுப்புகள்
       add as friend: நண்பராக சேர்
@@ -800,7 +823,7 @@ ta:
       confirm_user: இந்த பயனரை உறுதிசெய்
       hide_user: இந்த பயனரை மறை
       unhide_user: இந்த பயனரை மறைத்ததை நீக்கு
-      delete_user: à®\87பà¯\8dபயனரà¯\88 à®¨à¯\80à®\95à¯\8dà®\95வà¯\81à®®à¯\8d
+      delete_user: à®\87பà¯\8dபயனரà¯\88 à®¨à¯\80à®\95à¯\8dà®\95à¯\81
       confirm: உறுதிசெய்
     index:
       title: பயனர்கள்
@@ -814,22 +837,42 @@ ta:
   user_blocks:
     show:
       status: நிலை
-      show: à®\95ாணà¯\8dபி
+      show: à®\95ாà®\9fà¯\8dà®\9fà¯\81
       edit: தொகு
       revoke: திரும்பபெறு!
       confirm: உறுதியாகவா?
       reason: 'தடைக்கான காரணம்:'
     block:
-      show: à®\95ாணà¯\8dபி
+      show: à®\95ாà®\9fà¯\8dà®\9fà¯\81
       edit: தொகு
       revoke: திரும்பபெறு!
     blocks:
       display_name: தடைசெய்யப்பட்ட பயனர்
       creator_name: உருவாக்கியவர்
       status: நிலை
+  user_mutes:
+    index:
+      title: மௌனித்த பயனர்கள்
+      my_muted_users: எனது மௌனிக்கப்பட்ட பயனர்கள்
+      you_have_muted_n_users:
+        one: நீர் %{count} பயனரை மௌனித்துள்ளீர்
+        other: நீர் %{count} பயனர்களை மௌனித்துள்ளீர்
+      table:
+        thead:
+          muted_user: மௌனித்த பயனர்
+          actions: செயல்கள்
+        tbody:
+          unmute: ஓசையாக்கு
+          send_message: தகவலனுப்பு
+    create:
+      notice: நீர் %{name} என்பவரை மௌனித்தீர்.
+      error: '%{name} என்பவரை மௌனிக்க முடியவில்லை. %{full_message}.'
+    destroy:
+      notice: நீர் %{name} என்பவரை ஓசையாக்கினீர்.
   notes:
     show:
       description: விளக்கம்
+      log_in_to_comment: இக்குறிப்புக்குக் கருத்துரை வழங்கப் புகுபதிக
     new:
       title: புதுக் குறிப்பு
   redactions:
index e87767a89321085346596a53e24f18428ace26d3..30b60738fe41acc6e05ab52877ef5ead54be8ac6 100644 (file)
@@ -1374,9 +1374,9 @@ te:
         resolved: పరిష్కరించినవి
     show:
       title: '%{status} అంశం #%{issue_id}'
-      report_created_at: '%{datetime} న మొదటిసారి ఫిర్యాదు చేసారు'
-      last_resolved_at: '%{datetime} న చివరిగా పరిష్కరించారు'
-      last_updated_at: చివరిగా %{displayname} గారు %{datetime} కు తాజాకరించారు
+      report_created_at_html: '%{datetime} న మొదటిసారి ఫిర్యాదు చేసారు'
+      last_resolved_at_html: '%{datetime} న చివరిగా పరిష్కరించారు'
+      last_updated_at_html: చివరిగా %{displayname} గారు %{datetime} కు తాజాకరించారు
       resolve: పరిష్కరించు
       ignore: పట్టించుకోవద్దు
       reopen: మళ్ళీ తెరువు
@@ -1641,8 +1641,6 @@ te:
   messages:
     inbox:
       title: ఇన్‌బాక్సు
-      my_inbox: నా ఇన్‌బాక్స్
-      my_outbox: నా ఔట్‌బాక్సు
       messages: మీకు %{new_messages}, %{old_messages} ఉన్నాయి
       new_messages:
         one: '%{count} కొత్త సందేశం'
@@ -1650,12 +1648,14 @@ te:
       old_messages:
         one: '%{count} పాత సందేశం'
         other: '%{count} పాత సందేశాలు'
-      from: నుండి
-      subject: విషయం
-      date: తేదీ
       no_messages_yet_html: మీకింకా సందేశాలేమీ లేవు. %{people_mapping_nearby_link}
         ఎవరినైనా ఎందుకు సంప్రదించకూడదూ?
       people_mapping_nearby: సమీపంలో మ్యాపింగు చేస్తున్నవారు
+    messages_table:
+      from: నుండి
+      to: కు
+      subject: విషయం
+      date: తేదీ
     message_summary:
       unread_button: చదవనట్లుగా గుర్తుపెట్టు
       read_button: చదివినట్లుగా గుర్తుపెట్టు
@@ -1675,14 +1675,9 @@ te:
       body: సారీ, ఆ ఐడీతో సందేశమేమీ లేదు.
     outbox:
       title: ఔట్‌బాక్సు
-      my_inbox: నా ఇన్‌బాక్సు
-      my_outbox: నా ఔట్‌బాక్సు
       messages:
         one: మీకు %{count} పంపిన సందేశం ఉంది
         other: మీకు %{count} పంపిన సందేశాలు ఉన్నాయి
-      to: కు
-      subject: విషయం
-      date: తేదీ
       no_sent_messages_html: మీకింకా పంపిన సందేశాలు లేవు. %{people_mapping_nearby_link}
         ఎవరినైనా ఎందుకు సంప్రదించకూడదూ?
       people_mapping_nearby: సమీపంలో మ్యాపింగు చేస్తున్నవారు
@@ -1699,28 +1694,33 @@ te:
         పంపలేదు, ఆ వాడుకరికి రాలేదు. సరైన వాడుకరిగా లాగినై చదవండి.
     sent_message_summary:
       destroy_button: తొలగించు
+    heading:
+      my_inbox: నా ఇన్‌బాక్స్
+      my_outbox: నా ఔట్‌బాక్సు
     mark:
       as_read: సందేశాన్ని చదివినట్లుగా గుర్తుపెట్టాం
       as_unread: సందేశాన్ని చదవనట్లుగా గుర్తుపెట్టాం
     destroy:
       destroyed: సందేశాన్ని తొలగించాం
   passwords:
-    lost_password:
+    new:
       title: సంకేతపదం పోయింది
       heading: సంకేతపదం మర్చిపోయారా?
       email address: 'ఈమెయిల్ చిరునామా:'
       new password button: సంకేతపదాన్ని మార్చు
       help_text: నమోదైనపుడు మీరిచ్చిన ఈమెయిలు చిరునామాను ఇవ్వండి. సంకేతపదాన్ని మార్చుకునే
         లింకును ఆ చిరునామాకు పంపిస్తాం.
+    create:
       notice email on way: అయ్యో.. పోయిందా :-( పోన్లెండి, దాన్ని మార్చుకునేందుకు ఒక
         ఈమెయిలు వచ్చేస్తోంది.
       notice email cannot find: క్షమించండి, ఆ ఈమెయిలు చిరునామా దొరకలేదు.
-    reset_password:
+    edit:
       title: సంకేతపదం మార్పు
       heading: '%{user} సంకేతపదాన్ని మార్చు'
       reset: సంకేతపదాన్ని మార్చు
-      flash changed: మీ సంకేతపదాన్ని మార్చాం.
       flash token bad: ఆ టోకెను కనబడలేదు, ఓసారి URL సరిచూస్తారా?
+    update:
+      flash changed: మీ సంకేతపదాన్ని మార్చాం.
   preferences:
     show:
       title: నా అభీష్టాలు
@@ -1894,12 +1894,7 @@ te:
         అది అవసరం.
     export:
       title: ఎగుమతి
-      area_to_export: ఎగిమతి చెయ్యాల్సిన ప్రాంతం
       manually_select: వేరే ప్రాంతాన్ని మానవికంగా ఎంచుకోండి
-      format_to_export: ఎగిమతి చెయ్యాల్సిన ఆకృతి
-      osm_xml_data: OpenStreetMap XML డేటా
-      map_image: మ్యాపు బొమ్మ (ప్రామాణిక పొరను చూపిస్తుంది)
-      embeddable_html: ఇముడ్చగలిగే HTML
       licence: లైసెన్సు
       too_large:
         advice: 'పై ఎగుమతి విఫలమైతే, కింది జాబితా లోంచి ఒక మూలాన్ని వాడండి:'
@@ -1916,17 +1911,6 @@ te:
           title: ఇతర మూలాలు
           description: Additional sources listed on the OpenStreetMap వికీలోని జాబితాలో
             ఉన్న అదనపు మూలాలు
-      options: ఎంపికలు
-      format: ఫార్మాటు
-      scale: కొలబద్ద
-      max: గరిష్టం
-      image_size: బొమ్మ పరిమాణం
-      zoom: పెద్దది
-      add_marker: మ్యాపుకు ఒక మార్కరును చేర్చండి
-      latitude: 'అక్షాం:'
-      longitude: 'రేఖాం:'
-      output: ఔట్‌పుట్
-      paste_html: వెబ్‌సైటులో ఇమిడ్చే HTML ను అతికించండి
       export_button: ఎగుమతించు
     fixthemap:
       title: సమస్యను నివేదించండి / మ్యాపును సరిచెయ్యండి
@@ -2003,33 +1987,23 @@ te:
           footway: కాల్దారి
           rail: రైలుమార్గం
           subway: కిందారి
-          tram:
-          - లైట్ రైల్
-          - ట్రాము
-          cable:
-          - కేబుల్ కారు
-          - చెయిర్ లిఫ్ట్
-          runway:
-          - విమానాశ్రయం రన్‌వే
-          - టాక్సీ వే
-          apron:
-          - విమానాశ్రయం ఏప్రాన్
-          - టర్మినల్
+          cable_car: కేబుల్ కారు
+          chair_lift: చెయిర్ లిఫ్ట్
+          runway: విమానాశ్రయం రన్‌వే
+          taxiway: టాక్సీ వే
+          apron: విమానాశ్రయం ఏప్రాన్
           admin: పరిపాలనా సరిహద్దు
           forest: అడవి
           wood: కలప
           golf: గోల్ఫ్ కోర్సు
           park: పార్కు
+          common: పచ్చికబయలు
           resident: నివాస ప్రాంతం
-          common:
-          - పచ్చికబయలు
-          - పచ్చికబయలు
           retail: రిటెయిల్ ప్రదేశం
           industrial: పారిశ్రామిక ప్రదేశం
           commercial: వాణిజ్య ప్రదేశం
-          lake:
-          - సరస్సు
-          - జలాశయం
+          lake: సరస్సు
+          reservoir: జలాశయం
           farm: పొలాలు
           brownfield: బ్రౌన్‌ఫీల్డ్ స్థలం
           cemetery: స్మశానం
@@ -2037,13 +2011,11 @@ te:
           centre: క్రీడా కేంద్రం
           reserve: ప్రకృతి సంరక్షణ కేంద్రం
           military: మిలిటరీ ప్రదేశం
-          school:
-          - పాఠశాల
-          - విశ్వవిద్యాలయం
+          school: పాఠశాల
+          university: విశ్వవిద్యాలయం
           building: ప్రముఖ కట్టడము
           station: రైల్వే స్టేషన్
-          summit:
-            1: శిఖరం
+          peak: శిఖరం
           bridge: Black casing = వంతెన
           construction: నిర్మాణంలో ఉన్న రహదార్లు
           bicycle_shop: సైకిలు దుకాణం
index b38cecd945a913a7193f89755b17d97926ef6fdd..cc288592b282b0c8e8aab7182ed4a26e49a6994e 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Ariesanywhere
 # Author: B20180
 # Author: Bebiezaza
+# Author: Ekminarin
 # Author: Just Sayori
 # Author: Karit
 # Author: Korrawit
@@ -129,7 +130,7 @@ th:
         description: คำอธิบาย
         gpx_file: 'อัปโหลดแฟ้ม GPX:'
         visibility: 'สถานะการแสดง:'
-        tagstring: 'ป้ายกำกับ:'
+        tagstring: ป้ายระบุ
       message:
         sender: ผู้ส่ง
         title: หัวเรื่อง
@@ -372,7 +373,7 @@ th:
       load_data: กำลังโหลดข้อมูล
       loading: กำลังโหลด...
     tag_details:
-      tags: à¸\9bà¹\89ายà¸\81ำà¸\81ัà¸\9a
+      tags: à¸\9bà¹\89ายระà¸\9aุ
       wiki_link:
         key: หน้าคำอธิบายวิกิาสำหรับป้ายระบุ %{key}
         tag: หน้าคำอธิบายวิกิาสำหรับป้ายระบุ %{key}=%{value}
@@ -1140,9 +1141,9 @@ th:
         zero: ไม่มีรายงาน
         one: 1 รายงาน
         other: '%{count} รายงาน'
-      report_created_at: รายงานครั้งแรกเมื่อ %{datetime}
-      last_resolved_at: ปิดเรื่องล่าสุดเมื่อ %{datetime}
-      last_updated_at: ปรับปรุงล่าสุดเมื่อ %{datetime} โดย %{displayname}
+      report_created_at_html: รายงานครั้งแรกเมื่อ %{datetime}
+      last_resolved_at_html: ปิดเรื่องล่าสุดเมื่อ %{datetime}
+      last_updated_at_html: ปรับปรุงล่าสุดเมื่อ %{datetime} โดย %{displayname}
       resolve: ปิดเรื่อง
       ignore: ละเว้น
       reopen: เปิดใหม่
@@ -1184,23 +1185,23 @@ th:
           spam_label: รายการบันทึกนี้เป็น/มีสแปม
           offensive_label: รายการบันทึกนี้หยาบคาย/ก้าวร้าว
           threat_label: บันทึกนี้มีใจความข่มขู่คุกคาม
-          other_label: อื่นๆ
+          other_label: อื่น 
         diary_comment:
           spam_label: ความคิดเห็นบันทึกนี้เป็น/มีสแปม
           offensive_label: ความคิดเห็นบันทึกนี้หยาบคาย/ก้าวร้าว
           threat_label: ความคิดเห็นบันทึกนี้มีใจความข่มขู่คุกคาม
-          other_label: อื่นๆ
+          other_label: อื่น 
         user:
           spam_label: โปรไฟล์ผู้ใช้นี้เป็น/มีสแปม
           offensive_label: โปรไฟล์ผู้ใช้นี้หยาบคาย/ก้าวร้าว
           threat_label: หน้าของผู้ใช้คนนี้มีใจความข่มขู่คุกคาม
           vandal_label: ผู้ใช้คนนี้มือบอน/มีพฤติกรรมแก้ไขก่อกวนบนแผนที่
-          other_label: อื่นๆ
+          other_label: อื่น 
         note:
           spam_label: หมายเหตุนี้เป็นสแปม
           personal_label: หมายเหตุนี้มีข้อมูลส่วนบุคคล
           abusive_label: หมายเหตุนี้ใช้ถ้อยคำหยาบคายหรือส่งเสริมความรุนแรง
-          other_label: อื่นๆ
+          other_label: อื่น 
     create:
       successful_report: ทำการแจ้งปัญหาเสร็จสิ้นเรียบร้อย
       provide_details: กรุณาระบุรายละเอียด
@@ -1357,8 +1358,6 @@ th:
   messages:
     inbox:
       title: จดหมายรับ
-      my_inbox: จดหมายรับส่วนตัว
-      my_outbox: กล่องจดหมายขาออกส่วนตัว
       messages: ท่านมี %{new_messages} และ %{old_messages}
       new_messages:
         one: ข้อความใหม่ %{count} ข้อความ
@@ -1366,11 +1365,13 @@ th:
       old_messages:
         one: ข้อความเก่า %{count} ข้อความ
         other: ข้อความเก่า %{count} ข้อความ
+      no_messages_yet_html: ท่านยังไม่มีข้อความใด ๆ ทำไมไม่ลองติดต่อกับ%{people_mapping_nearby_link}บ้าง?
+      people_mapping_nearby: ผู้คนที่กำลังทำแผนที่ที่อยู่ใกล้เคียง
+    messages_table:
       from: จาก
+      to: ถึง
       subject: เรื่อง
       date: วันที่
-      no_messages_yet_html: ท่านยังไม่มีข้อความใด ๆ ทำไมไม่ลองติดต่อกับ%{people_mapping_nearby_link}บ้าง?
-      people_mapping_nearby: ผู้คนที่กำลังทำแผนที่ที่อยู่ใกล้เคียง
     message_summary:
       unread_button: ทำเครื่องหมายว่ายังไม่ได้อ่าน
       read_button: ทำเครื่องหมายว่าอ่านแล้ว
@@ -1389,14 +1390,9 @@ th:
       body: ขออภัย ไม่พบข้อความที่กำกับด้วยรหัสดังกล่าว
     outbox:
       title: จดหมายออก
-      my_inbox: กล่องจดหมายขาเข้าส่วนตัว
-      my_outbox: กล่องจดหมายขาออกส่วนตัว
       messages:
         one: ท่านมีข้อความส่งแล้ว %{count} ฉบับ
         other: ท่านมีข้อความส่งแล้ว %{count} ฉบับ
-      to: ถึง
-      subject: หัวเรื่อง
-      date: วันที่
       no_sent_messages_html: ท่านยังไม่มีข้อความใด ๆ ทำไมไม่ลองติดต่อกับ%{people_mapping_nearby_link}บ้าง?
       people_mapping_nearby: ผู้คนที่กำลังทำแผนที่ที่อยู่ใกล้เคียง
     reply:
@@ -1412,22 +1408,27 @@ th:
         โปรดเข้าระบบใหม่โดยใช้ชื่อผู้ใช้นั้นเพื่อตอบกลับ
     sent_message_summary:
       destroy_button: ลบ
+    heading:
+      my_inbox: จดหมายรับส่วนตัว
+      my_outbox: กล่องจดหมายขาออกส่วนตัว
     mark:
       as_read: ข้อความถูกทำเครื่องหมายว่าอ่านแล้ว
       as_unread: ข้อความถูกทำเครื่องหมายว่ายังไม่ได้อ่าน
     destroy:
       destroyed: ข้อความถูกลบแล้ว
   passwords:
-    lost_password:
+    new:
       title: ตั้งรหัสผ่านใหม่
       heading: ลืมรหัสผ่านหรือ?
       email address: 'ที่อยู่อีเมล:'
       new password button: ตั้งรหัสผ่านใหม่
+    create:
       notice email cannot find: ขออภัย, ไม่พบที่อยู่อีเมลที่ระบุ
-    reset_password:
+    edit:
       title: ตั้งรหัสผ่านใหม่
       heading: 'ตั้วรหัสผ่านใหม่สำหรับ: %{user}'
       reset: ตั้งรหัสผ่านใหม่
+    update:
       flash changed: เปลี่ยนรหัสผ่านของคุณแล้วเรียบร้อย
   profiles:
     edit:
@@ -1558,12 +1559,7 @@ th:
       no_iframe_support: เบราว์เซอร์ของท่านไม่รองรับการใช้งานเฟรมภายในหน้า HTML จึงไม่สามารถใช้ส่วนประกอบนี้ได้
     export:
       title: ส่งออก
-      area_to_export: พื้นที่ที่จะส่งออก
       manually_select: เลือกพื้นที่อื่นด้วยตนเอง
-      format_to_export: รูปแบบที่จะส่งออก
-      osm_xml_data: ข้อมูล XML ของ OpenStreetMap
-      map_image: ภาพแผนที่ (แสดงชั้นภาพมาตรฐาน)
-      embeddable_html: HTML ฝังตัวได้
       licence: สัญญาอนุญาต
       too_large:
         advice: 'ถ้าการส่งออกข้างต้นล้มเหลว โปรดพิจารณาใช้แหล่งข้อมูลตามที่ระบุด้านล่างนี้:'
@@ -1581,17 +1577,6 @@ th:
         other:
           title: แหล่งข้อมูลอื่น
           description: แหล่งข้อมูลอื่นตามที่ระบุไว้ใน OpenStreetMap wiki
-      options: ตัวเลือก
-      format: รูปแบบ
-      scale: มาตราส่วน
-      max: ขนาดสูงสุด
-      image_size: ขนาดภาพ
-      zoom: ย่อ-ขยาย
-      add_marker: เพิ่มเครื่องหมายลงในแผนที่
-      latitude: 'ละติจูด:'
-      longitude: 'ลองจิจูด:'
-      output: การแสดงผล
-      paste_html: วาง HTML สำหรับนำไปใช้ในเว็บไซต์
       export_button: ส่งออก
     fixthemap:
       title: รายงานปัญหา/แก้ไขข้อผิดพลาดในแผนที่
@@ -1647,34 +1632,24 @@ th:
           footway: ทางเดินเท้า
           rail: ทางรถไฟ
           subway: รถไฟใต้ดิน
-          tram:
-          - รถไฟเบา
-          - รถราง
-          cable:
-          - รถกระเช้า
-          - รถกระเช้าเปลือย
-          runway:
-          - ทางวิ่งสนามบิน
-          - ทางขับเครื่องบิน
-          apron:
-          - โรงซ่อมบำรุงเครื่องบิน
-          - อาคารผู้โดยสาร
+          cable_car: รถกระเช้า
+          chair_lift: รถกระเช้าเปลือย
+          runway: ทางวิ่งสนามบิน
+          taxiway: ทางขับเครื่องบิน
+          apron: โรงซ่อมบำรุงเครื่องบิน
           admin: ขอบเขตการปกครอง
           forest: ป่า
           wood: ไม้
           golf: สนามกอล์ฟ
           park: สวน
+          common: ที่ส่วนกลาง
           resident: เขตที่พักอาศัย
-          common:
-          - ที่ส่วนกลาง
-          - ทุ่งหญ้า
           retail: พื้นที่พาณิชยกรรม
           industrial: พื้นที่อุตสาหกรรม
           commercial: พื้นที่พาณิชยกรรม
           heathland: ทุ่งไม้พุ่ม
-          lake:
-          - ทะเลสาบ
-          - อ่างเก็บน้ำ
+          lake: ทะเลสาบ
+          reservoir: อ่างเก็บน้ำ
           farm: ไร่นา
           brownfield: พื้นที่อุตสาหกรรมเดิม
           cemetery: สุสาน
@@ -1683,14 +1658,12 @@ th:
           centre: ศูนย์กีฬา
           reserve: พื้นที่สงวนธรรมชาติ
           military: เขตทหาร
-          school:
-          - โรงเรียน
-          - มหาวิทยาลัย
+          school: โรงเรียน
+          university: มหาวิทยาลัย
           building: อาคารสำคัญ
           station: สถานีรถไฟ
-          summit:
-          - ยอดเขา
-          - ยอดเขา
+          summit: ยอดเขา
+          peak: ยอดเขา
           tunnel: เส้นประ = อุโมงค์
           bridge: เส้นทึบ = สะพาน
           private: พื้นที่ส่วนบุคคล
@@ -1735,7 +1708,7 @@ th:
       cancel: ยกเลิก
       visibility_help: นี่หมายความว่าอะไร?
     trace_optionals:
-      tags: à¸\9bà¹\89ายà¸\81ำà¸\81ัà¸\9a
+      tags: à¸\9bà¹\89ายระà¸\9aุ
     show:
       title: แสดงรอยทางชื่อ %{name}
       heading: แสดงรอยทางชื่อ %{name}
@@ -1749,7 +1722,7 @@ th:
       edit: แก้ไข
       owner: 'เจ้าของ:'
       description: 'คำอธิบาย:'
-      tags: 'à¸\9bà¹\89ายà¸\81ำà¸\81ัà¸\9a:'
+      tags: 'à¸\9bà¹\89ายระà¸\9aุ:'
       none: ไม่มี
       edit_trace: แก้ไขรอยทางนี้
       delete_trace: ลบรอยทางนี้
index 623514b661e2a2b42638b088ef4d8082ca011cc4..076c59953175d8c9cfbee67b1907951312589ce7 100644 (file)
@@ -1134,8 +1134,8 @@ tl:
       reports:
         one: 1 ulat
         other: '%{count} mga ulat'
-      report_created_at: Unang naiulat noong %{datetime}
-      last_resolved_at: Huling nalutas noong %{datetime}
+      report_created_at_html: Unang naiulat noong %{datetime}
+      last_resolved_at_html: Huling nalutas noong %{datetime}
       resolve: Lutasin
       ignore: Huwag pansinin
       reopen: Muling Buksan
@@ -1362,8 +1362,6 @@ tl:
   messages:
     inbox:
       title: Kahon ng pumapasok
-      my_inbox: Kahong-tanggapan Ko
-      my_outbox: Kahong-labasan Ko
       messages: Mayroong kang %{new_messages} at %{old_messages}
       new_messages:
         one: '%{count} bagong mensahe'
@@ -1371,12 +1369,14 @@ tl:
       old_messages:
         one: '%{count} lumang mensahe'
         other: '%{count} lumang mga mensahe'
-      from: Mula sa
-      subject: Paksa
-      date: Petsa
       no_messages_yet_html: Wala ka pang mga mensahe. Bakit hindi makipag-ugnayan
         sa ilang mga %{people_mapping_nearby_link}?
       people_mapping_nearby: mga taong kalapit na nagmamapa
+    messages_table:
+      from: Mula sa
+      to: Para kay
+      subject: Paksa
+      date: Petsa
     message_summary:
       unread_button: Tatakan bilang hindi pa nababasa
       read_button: Tatakan bilang nabasa na
@@ -1396,14 +1396,9 @@ tl:
       body: Paumanhin walang mensahe na may ganyang ID.
     outbox:
       title: Kahong-labasan
-      my_inbox: Kahong-tanggapan Ko
-      my_outbox: Kahong-labasan Ko
       messages:
         one: Mayroon kang %{count} ipinadalang mensahe
         other: Mayroon kang %{count} ipinadalang mga mensahe
-      to: Para kay
-      subject: Paksa
-      date: Petsa
       no_sent_messages_html: Wala ka pang ipinadadalang mga mensahe. Bakit hindi makipag-ugnayan
         sa ilang mga %{people_mapping_nearby_link}?
       people_mapping_nearby: mga taong kalapit na nagmamapa
@@ -1422,13 +1417,16 @@ tl:
         bilang ang tamang tagagamit upang mabasa ito.
     sent_message_summary:
       destroy_button: Burahin
+    heading:
+      my_inbox: Kahong-tanggapan Ko
+      my_outbox: Kahong-labasan Ko
     mark:
       as_read: Minarkahan ang mensahe bilang nabasa na
       as_unread: Minarkahan ang mensahe bilang hindi pa nababasa
     destroy:
       destroyed: Binura ang mensahe
   passwords:
-    lost_password:
+    new:
       title: Naiwalang password
       heading: Nakalimutang Password?
       email address: 'Tirahan ng e-liham:'
@@ -1436,15 +1434,17 @@ tl:
       help_text: Ipasok ang tirahan ng e-liham na ginamit mo upang magpatala, ipapadala
         namin ang isang kawing papunta rito na magagamit mo upang muling maitakda
         mo ang iyong password.
+    create:
       notice email on way: Ikinalulungkot na naiwala mo iyan :-( ngunit darating na
         ang isang e-liham upang maitakda mong muli iyan kaagad.
       notice email cannot find: Hindi matagpuan ang ganyang tirahan ng e-liham, paumanhin.
-    reset_password:
+    edit:
       title: Muling itakda ang password
       heading: Muling itakda ang Hudyat para kay %{user}
       reset: Muling Itakda ang Password
-      flash changed: Napalitan na ang hudyat mo.
       flash token bad: Hindi natagpuan ang ganyang kahalip, suriin kaya ang URL?
+    update:
+      flash changed: Napalitan na ang hudyat mo.
   preferences:
     show:
       preferred_languages: Nais na mga Wika
@@ -1602,12 +1602,7 @@ tl:
         ng HTML, na kailangan para sa tampok na ito.
     export:
       title: Iluwas
-      area_to_export: Pook na Iluluwas
       manually_select: Kinakamay na pumili ng ibang lugar
-      format_to_export: Anyong Iluluwas
-      osm_xml_data: Dato ng XML ng OpenStreetMap
-      map_image: Larawan ng Mapa (nagpapakita ng patong na saligan)
-      embeddable_html: Maibabaong HTML
       licence: Lisensiya
       too_large:
         body: Masyadong malaki ang lugar na ito upang mailuwas bilang Dato ng XML
@@ -1622,17 +1617,6 @@ tl:
           title: Iba pang mga Pinagmulan
           description: Karagdagang mga mapagkukunan na nakalista sa OpenStreetMap
             Wiki
-      options: Mga mapagpipilian
-      format: Anyo
-      scale: Sukat
-      max: pinakamataas
-      image_size: Sukat ng Larawan
-      zoom: Lapitan
-      add_marker: Magdagdag ng isang pananda sa mapa
-      latitude: 'Latitud:'
-      longitude: 'Longhitud:'
-      output: Kinalabasan
-      paste_html: Idikit ang HTML na ibabaon sa websayt
       export_button: Iluwas
     fixthemap:
       title: Mag-ulat ng problema/ Ayusin ang mapa
@@ -1688,35 +1672,24 @@ tl:
           footway: Lakaran ng tao
           rail: Daambakal
           subway: Daanang pang-ilalim
-          tram:
-          - Banayad na riles
-          - trambya
-          cable:
-          - Kotse ng kable
-          - upuang inaangat
-          runway:
-          - Rampa ng Paliparan
-          - daanan ng taksi
-          apron:
-          - Tapis ng paliparan
-          - terminal
+          cable_car: Kotse ng kable
+          chair_lift: upuang inaangat
+          runway: Rampa ng Paliparan
+          taxiway: daanan ng taksi
+          apron: Tapis ng paliparan
           admin: Hangganang pampangangasiwa
           forest: Gubat
           wood: Kahoy
           golf: Kurso ng golp
           park: Liwasan
+          common: Karaniwan
           resident: Pook na panuluyan
-          common:
-          - Karaniwan
-          - kaparangan
-          - halamanan
           retail: Lugar na tingian
           industrial: Pook na pang-industriya
           commercial: Pook na pangkalakalan
           heathland: Lupain ng halamang erika
-          lake:
-          - Lawa
-          - tinggalan ng tubig
+          lake: Lawa
+          reservoir: tinggalan ng tubig
           farm: Bukid
           brownfield: Pook ng kayumangging bukirin
           cemetery: Libingan
@@ -1725,14 +1698,12 @@ tl:
           centre: Lunduyang pampalakasan
           reserve: Lupaing laan sa kalikasan
           military: Pook ng militar
-          school:
-          - Paaralan
-          - pamantasan
+          school: Paaralan
+          university: pamantasan
           building: Makabuluhang gusali
           station: Himpilan ng daambakal
-          summit:
-          - Taluktok
-          - tugatog
+          summit: Taluktok
+          peak: tugatog
           tunnel: Ginitlingang pambalot = lagusan
           bridge: Itim na pambalot = tulay
           private: Pribadong pagpunta
index 27d2c67c712fc53c9231b47f577e9e5436fbac85..e9962889145a466d881bb7a6751c37600be1e720 100644 (file)
@@ -91,6 +91,10 @@ tr:
       messages:
         invalid_email_address: geçerli bir e-posta adresi gibi görünmüyor
         email_address_not_routable: yönlendirilebilir değil
+        display_name_is_user_n: n, sizin kullanıcı kimliğiniz olmadıkça user_n olamaz
+      models:
+        user_mute:
+          is_already_muted: zaten sessize alındı
     models:
       acl: Erişim Kontrol Listesi
       changeset: Değişiklik Kaydı
@@ -144,7 +148,7 @@ tr:
       diary_entry:
         user: Kullanıcı
         title: Konu
-        body: Gövde
+        body: Mesaj
         latitude: Enlem
         longitude: Boylam
         language_code: Dil
@@ -193,7 +197,7 @@ tr:
         languages: Tercih Edilen Diller
         preferred_editor: Tercih Edilen Düzenleyici
         pass_crypt: Parola
-        pass_crypt_confirmation: Parolayı Onayla
+        pass_crypt_confirmation: Parola Onayı
     help:
       doorkeeper/application:
         confidential: Uygulama, kullanıcı gizliliğini güvenilir yerlerde kullanacaktır
@@ -363,7 +367,7 @@ tr:
     destroy:
       success: Hesap Silindi.
   browse:
-    created: Oluşturuldu
+    created: Oluşturulma
     closed: Kapandı
     created_ago_html: '%{time_ago} oluşturuldu'
     closed_ago_html: '%{time_ago} kapatıldı'
@@ -535,7 +539,7 @@ tr:
       latest_edit_html: 'Son değişiklik (%{ago}):'
     popup:
       your location: Konumum
-      nearby mapper: Komşu haritacı
+      nearby mapper: Yakındaki haritacı
       friend: Arkadaş
     show:
       title: Gösterge Panelim
@@ -560,7 +564,7 @@ tr:
       title: Kullanıcı Günlükleri
       title_friends: Arkadaşların günlükleri
       title_nearby: Yakındaki kullanıcıların günlükleri
-      user_title: '%{user} kullanıcısının günlüğü'
+      user_title: '%{user} Kullanıcısının Günlüğü'
       in_language_title: '%{language} dillindeki günlük girdiler'
       new: Yeni Günlük Girdisi
       new_title: Kullanıcı günlüğümde yeni bir girdi oluştur
@@ -573,8 +577,8 @@ tr:
       title: Günlük Girdisini Düzenle
       marker_text: Günlük girdisinin konumu
     show:
-      title: '%{user} kullanıcısının günlüğü | %{title}'
-      user_title: '%{user} kullanıcısının günlüğü'
+      title: '%{user} Kullanıcısının Günlüğü | %{title}'
+      user_title: '%{user} Kullanıcısının Günlüğü'
       leave_a_comment: Yorum yap
       login_to_leave_a_comment_html: Yorum yazmak için %{login_link}
       login: Oturum Aç
@@ -622,10 +626,10 @@ tr:
         description: OpenStreetMap kullanıcıların en son günlük girdileri
     comments:
       title: '%{user} tarafından yapılan günlük yorumları'
-      heading: '%{user} kullanıcısının günlük yorumları'
+      heading: '%{user} Kullanıcısının Günlük Yorumları'
       subheading_html: '%{user} tarafından yapılan günlük yorumları'
       no_comments: Günlük yorumu yok
-      post: Gönder
+      post: Gönderi
       when: Tarih
       comment: Yorum
       newer_comments: Daha Yeni Yorumlar
@@ -692,7 +696,7 @@ tr:
         daha fazla arkadaş olmaya çalışmadan önce bir süre bekleyin.
     remove_friend:
       heading: '%{user}, arkadaşlıktan çıkarılsın mı?'
-      button: ArkadaÅ\9flıktan Ã§ıkar
+      button: ArkadaÅ\9flıktan Ã\87ıkar
       success: '%{name}, arkadaş listesinden çıkarıldı.'
       not_a_friend: '%{name}, arkadaşın değil.'
   geocoder:
@@ -1510,9 +1514,9 @@ tr:
         one: '%{count} rapor'
         other: '%{count} rapor'
       no_reports: Rapor yok
-      report_created_at: İlk defa %{datetime} tarihinde bildirildi
-      last_resolved_at: En son %{datetime} tarihinde çözümlendi
-      last_updated_at: Son güncelleme %{displayname} tarafından %{datetime} tarihinde
+      report_created_at_html: İlk defa %{datetime} tarihinde bildirildi
+      last_resolved_at_html: En son %{datetime} tarihinde çözümlendi
+      last_updated_at_html: Son güncelleme %{displayname} tarafından %{datetime} tarihinde
         yapıldı
       resolve: Çözümle
       ignore: Yoksay
@@ -1588,7 +1592,7 @@ tr:
     start_mapping: Haritacılığa Başla
     edit: Düzenle
     history: Geçmiş
-    export: Dışa aktar
+    export: Dışa Aktar
     issues: Sorunlar
     data: Veri
     export_data: Verinin Dışalımı
@@ -1607,7 +1611,7 @@ tr:
     partners_ucl: UCL
     partners_fastly: Fastly
     partners_bytemark: Bytemark Hosting
-    partners_partners: işbirlikçiler
+    partners_partners: iş birlikçiler
     tou: Kullanım Şartları
     osm_offline: OpenStreetMap veritabanı bakım çalışmaları yürütüldüğü için veritabanı
       şu anda çevrimdışıdır.
@@ -1659,7 +1663,7 @@ tr:
       befriend_them_html: '%{befriendurl} üzerinden arkadaş olarak da ekleyebilirsiniz.'
     gpx_description:
       description_with_tags_html: '%{trace_description} açıklamasına ve şu etiketlere
-        sahip %{trace_name} GPX dosyanız gibi görünüyor: %{tags}'
+        sahip %{trace_name} GPX dosyanıza benziyor: %{tags}'
       description_with_no_tags_html: '%{trace_description} açıklamasına sahip ve etiket
         içermeyen %{trace_name} GPX dosyanız gibi görünüyor'
     gpx_failure:
@@ -1673,6 +1677,8 @@ tr:
       loaded:
         one: olası %{count} puan üzerinden %{trace_points} ile başarıyla yüklendi.
         other: olası %{count} puan üzerinden %{trace_points} ile başarıyla yüklendi.
+      all_your_traces_html: Başarıyla yüklediğiniz tüm GPX izlerinizi %{url} adresinde
+        bulabilirsiniz.
       subject: '[OpenStreetMap] GPX dosyası başarıyla alındı'
     signup_confirm:
       subject: '[OpenStreetMap]''e hoş geldin'
@@ -1798,8 +1804,6 @@ tr:
   messages:
     inbox:
       title: Gelen kutusu
-      my_inbox: Gelen kutusu
-      my_outbox: Giden Kutum
       messages: '%{new_messages} ve %{old_messages}'
       new_messages:
         one: '%{count} yeni mesaj'
@@ -1807,17 +1811,21 @@ tr:
       old_messages:
         one: '%{count} eski mesaj'
         other: '%{count} eski mesaj'
-      from: Gönderen
-      subject: Konu
-      date: Tarih
       no_messages_yet_html: 'Henüz mesajınız yok. Yakındaki insanlarla iletişime geçmeye
         ne dersiniz? Deneyin: %{people_mapping_nearby_link}'
       people_mapping_nearby: yakın çevredeki haritacılar
+    messages_table:
+      from: Gönderen
+      to: Alıcı
+      subject: Konu
+      date: Tarih
+      actions: Eylemler
     message_summary:
       unread_button: Okunmadı olarak işaretle
       read_button: Okundu olarak işaretle
       reply_button: Yanıtla
       destroy_button: Sil
+      unmute_button: Gelen Kutusuna Taşı
     new:
       title: Mesaj gönder
       send_message_to_html: '%{name} kullanıcısına yeni bir mesaj gönder'
@@ -1832,17 +1840,18 @@ tr:
       body: Üzgünüz, bu kimlik ile bir mesaj yok.
     outbox:
       title: Giden kutusu
-      my_inbox: Gelen Kutum
-      my_outbox: Giden Kutum
+      actions: Eylemler
       messages:
         one: '%{count} mesaj gönderdiniz'
         other: ' %{count} mesaj gönderdiniz'
-      to: Alıcı
-      subject: Konu
-      date: Tarih
       no_sent_messages_html: 'Henüz kimseye mesaj göndermediniz. Yakındaki insanlarla
         iletişime geçmeye ne dersiniz? Deneyin: %{people_mapping_nearby_link}'
       people_mapping_nearby: yakın çevredeki haritacılar
+    muted:
+      title: Sessize Alınan Mesajlar
+      messages:
+        one: '%{count} sessize alınan mesaj'
+        other: '%{count} sessize alınan mesajınız var'
     reply:
       wrong_user: '`%{user}'' olarak oturum açtınız fakat yanıtlamasını istediğiniz
         mesaj kullanıcıya gönderilmedi. Yanıtlamak için lütfen doğru kullanıcı olarak
@@ -1858,26 +1867,36 @@ tr:
         giriş yapın.'
     sent_message_summary:
       destroy_button: Sil
+    heading:
+      my_inbox: Gelen kutusu
+      my_outbox: Giden Kutum
+      muted_messages: Sessize alınan mesajlar
     mark:
       as_read: Mesaj okundu olarak işaretlendi
       as_unread: Mesaj okunmadı olarak işaretlendi
+    unmute:
+      notice: Mesaj, gelen kutusuna taşındı
+      error: Mesaj, gelen kutusuna taşınamadı.
     destroy:
       destroyed: Mesaj silindi
   passwords:
-    lost_password:
+    new:
       title: Kayıp parola
       heading: Parolanızı mı Unuttunuz?
-      email address: 'E-posta Adresi:'
+      email address: E-posta Adresi
       new password button: Parolayı sıfırla
       help_text: Kaydolmak için kullandığınız e-posta adresini girin, şifrenizi sıfırlamak
         için kullanabileceğiniz bir bağlantı yollayacağız.
+    create:
       notice email on way: Maalesef şifrenizi kaybettiniz :-( Ancak yeni bir e-posta
         yolda böylece şifreniziyakında sıfırlayabilirsiniz.
       notice email cannot find: 'Üzgünüz: bu e-posta adresi bulunamadı.'
-    reset_password:
+    edit:
       title: Parolayı sıfırla
       heading: '%{user} İçin Parolayı Sıfırlayın'
       reset: Parolayı Sıfırla
+      flash token bad: Bu simgeyi bulamadıysanız belki de bağlantıyı kontrol etmelisiniz?
+    update:
       flash changed: Parolanız değiştirildi.
       flash token bad: Bu simgeyi bulamadıysanız belki de bağlantıyı kontrol etmelisiniz?
   preferences:
@@ -1922,17 +1941,17 @@ tr:
       failure: Profil güncellenemedi.
   sessions:
     new:
-      title: Oturum aç
-      heading: Oturum aç
-      email or username: 'E-posta Adresi veya Kullanıcı Adı:'
-      password: 'Parola:'
+      title: Oturum Aç
+      heading: Oturum Aç
+      email or username: E-posta Adresi veya Kullanıcı Adı
+      password: Parola
       openid_html: '%{logo} OpenID:'
       remember: Beni hatırla
       lost password link: Parolanı mı unuttun?
-      login_button: Oturum aç
+      login_button: Oturum Aç
       register now: Şimdi kaydol
       with external: 'Alternatif olarak bir üçüncü parti uygulaması kullanarak oturum
-        aç:'
+        açın:'
       no account: Hesabın yok mu?
       auth failure: Üzgünüz, bu giriş ile oturum açılamadı.
       openid_logo_alt: OpenID ile giriş
@@ -1985,6 +2004,7 @@ tr:
       image: Resim
       alt: Alt metin
       url: URL
+      codeblock: Kod bloğu
     richtext_field:
       edit: Düzenle
       preview: Önizleme
@@ -2035,7 +2055,7 @@ tr:
       legal_2_2_html: OpenStreetMap, büyüteç logosu ve Harita Durumu %{registered_trademarks_link}
         sayılmaktadır.
       legal_2_2_registered_trademarks: OSMF'nin tescilli ticari markaları
-      partners_title: İşbirlikçiler
+      partners_title: İş birlikçiler
     copyright:
       foreign:
         title: Bu çeviri hakkında
@@ -2044,7 +2064,7 @@ tr:
           bölümü önceliklidir.
         english_link: İngilizce orijinali
       native:
-        title: Sayfa hakkında
+        title: Bu sayfa hakkında
         html: Telif hakkı sayfasının İngilizce sürümünü görüntülüyorsunuz. Bu sayfanın
           %{native_link} sayfasına geri gidebilir ya da telif hakkı ve %{mapping_link}
           hakkında bilgi edinmek için sayfada kalabilirsiniz.
@@ -2221,13 +2241,8 @@ tr:
       no_iframe_support: Bu özelliği görüntülemek için gerekli olan HTML iframe tarayıcınız
         desteklemiyor.
     export:
-      title: Dışa aktar
-      area_to_export: Çıkartılacak alan
+      title: Dışa Aktar
       manually_select: Fare kullanarak farklı bir alan seç
-      format_to_export: Çıkartma biçimi
-      osm_xml_data: OpenStreetMap XML Veri
-      map_image: Harita (varsayılan katmanı gösterir)
-      embeddable_html: Gömülebilir HTML
       licence: Lisans
       licence_details_html: OpenStreetMap verileri, %{odbl_link} (ODbL) altında lisanslanmıştır.
       odbl: Open Data Commons Açık Veritabanı Lisansı
@@ -2251,18 +2266,7 @@ tr:
         other:
           title: Diğer Kaynaklar
           description: OpenStreetMap vikisinde listelenen ek kaynaklar
-      options: Seçenekler
-      format: Biçim
-      scale: Ölçek
-      max: maks.
-      image_size: Resim Boyutu
-      zoom: Yakınlaştır
-      add_marker: Haritaya bir işaret ekle
-      latitude: 'Enlem:'
-      longitude: 'Boylam:'
-      output: Çıktı
-      paste_html: Yukarıdaki HTML kodu kopyalayıp websitesinde yapıştırabilir
-      export_button: Dışa aktar
+      export_button: Dışa Aktar
     fixthemap:
       title: Sorun bildir / Haritayı onar
       how_to_help:
@@ -2362,67 +2366,83 @@ tr:
           primary: Devlet Yolu
           secondary: İl yolu
           unclassified: Sınıflandırılmamış yol
+          pedestrian: Yaya yolu
           track: Toprak yolu
           bridleway: Binici yolu
           cycleway: Bisiklet yolu
           cycleway_national: Ulusal Bisiklet Yolu
           cycleway_regional: Bölgesel Bisiklet Yolu
           cycleway_local: Yerel Bisiklet Yolu
+          cycleway_mtb: Dağ bisikleti rotası
           footway: Yaya yolu
           rail: Demiryolu
+          train: Tren
           subway: Metro
-          tram:
-          - Dar raylı demiryolu
-          - tramvay
-          cable:
-          - Teleferik
-          - gondol
-          runway:
-          - Uçuş pisti
-          - Uçak pisti
-          apron:
-          - Havaalanı apronu
-          - terminal
+          ferry: Feribot
+          light_rail: Hafif raylı
+          tram: Tramvay
+          trolleybus: Troleybüs
+          bus: Otobüs
+          cable_car: Teleferik
+          chair_lift: Telesiyej
+          runway: Uçuş pisti
+          taxiway: Taksi yolu
+          apron: Havaalanı apronu
           admin: İdari sınırı
+          capital: Başkent
+          city: Şehir
+          orchard: Meyve bahçesi
+          vineyard: Üzüm bağı
           forest: Orman
-          wood: Orman
+          wood: Koru
+          farmland: Tarım arazisi
+          grass: Çimen
+          meadow: Çayır
+          bare_rock: Çıplak kaya
+          sand: Kum
           golf: Golf sahası
           park: Park
+          common: Çimen
+          built_up: İnşa alanı
           resident: Yerleşim bölgesi
-          common:
-          - Çimen
-          - mera
-          - bahçe
           retail: Alışveriş merkezi
           industrial: Sanayi alanı
           commercial: Ticari ve hizmet alanı
           heathland: Fundalık
-          lake:
-          - Göl
-          - rezervuar
+          scrubland: Çalılık
+          lake: Göl
+          reservoir: Rezervuar
+          intermittent_water: Aralıklı su birikintisi
+          glacier: Buzul
+          reef: Resif
+          wetland: Sulak alan
           farm: Çiftlik
           brownfield: Çıplak arazi
           cemetery: Mezarlık
           allotments: Bostan
           pitch: Spor sahası
           centre: Spor merkezi
+          beach: Plaj
           reserve: Doğa koruma alanı
           military: Askeri bölge
-          school:
-          - Okul
-          - Üniversite
+          school: Okul
+          university: Üniversite
+          hospital: Hastane
           building: Önemli yapı
           station: Gar
-          summit:
-          - Zirve
-          - Dağ
+          summit: Zirve
+          peak: Zirve
           tunnel: çizgili kenar = tünel
           bridge: Siyah kenar = köprü
           private: Özel giriş
           destination: Hedef noktası
           construction: yapım aşamasındaki yollar
+          bus_stop: Otobüs durağı
+          stop: Durak
           bicycle_shop: Bisikletçi
+          bicycle_rental: Bisiklet kiralama
           bicycle_parking: Bisiklet parkı
+          bicycle_parking_small: Küçük bisiklet parkı
           toilets: Tuvaletler
     welcome:
       title: Hoş geldiniz!
@@ -2516,9 +2536,9 @@ tr:
       help_url: https://wiki.openstreetmap.org/wiki/Tr:Upload
     create:
       upload_trace: GPS İzi Gönder
-      trace_uploaded: GPX dosya yüklendi ve veritabanına eklemek için bekliyor. Bu
-        işlem genellikle yarım saat içinde gerçekleşir ve tamamlandığında sana bir
-        e-posta gönderiliyor.
+      trace_uploaded: GPX dosyanız yüklendi ve veritabanına eklenmeyi bekliyor. Bu
+        işlem genellikle yarım saat içinde gerçekleşir ve tamamlandığında size bir
+        e-posta gönderilir.
       upload_failed: Üzgünüz, GPX yüklemesi başarısız oldu. Bir yönetici hatayla ilgili
         bilgilendirildi. Lütfen tekrar deneyin
       traces_waiting:
@@ -2626,6 +2646,7 @@ tr:
       oauth1_settings: OAuth 1 ayarları
       oauth2_applications: OAuth 2 uygulamaları
       oauth2_authorizations: OAuth 2 yetkilendirmeleri
+      muted_users: Sessize Alınan Kullanıcılar
   oauth:
     authorize:
       title: Hesabınıza erişimi yetkilendirin
@@ -2662,6 +2683,7 @@ tr:
       read_gpx: Özel GPS izlerini oku
       write_gpx: GPS izlerini yükle
       write_notes: Notları değiştir
+      write_redactions: Harita verilerini düzelt
       read_email: Kullanıcı e-posta adresini oku
       skip_authorization: Başvuruyu otomatik onayla
   oauth_clients:
@@ -2764,16 +2786,16 @@ tr:
       support: destek
       about:
         header: Ücretsiz ve düzenlenebilir
-        paragraph_1: Diğer haritaların aksine, OpenStreetMap tamamen sizin gibi kullanıcılar
-          tarafından oluşturulmuş ve herkesin düzeltmesi, güncellemesi, indirmesi
-          ve kullanması ücretsizdir.
+        paragraph_1: Diğer haritaların aksine tamamen sizler tarafından oluşturulan
+          OpenStreetMap'i herkesin düzeltmesi, güncellemesi, indirmesi ve kullanması
+          ücretsizdir.
         paragraph_2: Katkıda bulunmaya başlamak için kaydolun. Hesabınızı onaylamak
           için bir e-posta göndereceğiz.
       display name description: Herkes tarafından görünecek bir kullanıcı adı. Bu
         adı istediğiniz zaman ayarlar bölümünde değiştirebilirsiniz.
       external auth: 'Üçüncü Taraf Kimlik Doğrulaması:'
       use external auth: 'Alternatif olarak bir üçüncü parti uygulaması kullanarak
-        oturum aç:'
+        oturum açın:'
       auth no password: Üçüncü taraf kimlik doğrulamasında bir parola gerekli değildir,
         ancak bazı ek araçlar veya sunucu için yine de bir parola gerekebilir.
       continue: Kaydol
@@ -2838,13 +2860,15 @@ tr:
       my_dashboard: Gösterge Panelim
       blocks on me: Engellendiklerim
       blocks by me: Engellediklerim
+      create_mute: Bu Kullanıcıyı Sessize Al
+      destroy_mute: Bu Kullanıcının Sesini Aç
       edit_profile: Profili Düzenle
       send message: Mesaj Gönder
       diary: Günlük
       edits: Düzenlemeler
-      traces: İzleri
+      traces: İzler
       notes: Harita Notları
-      remove as friend: ArkadaÅ\9flıktan Ã§ıkar
+      remove as friend: ArkadaÅ\9flıktan Ã\87ıkar
       add as friend: Arkadaş Olarak Ekle
       mapper since: 'Haritacılığa başlama tarihi:'
       uid: 'Kullanıcı kimliği:'
@@ -2858,17 +2882,18 @@ tr:
       role:
         administrator: Bu kullanıcı, bir yöneticidir.
         moderator: Bu kullanıcı, bir moderatördür.
-        importer: Bu kullanıcı bir ithalatçıdır
+        importer: Bu kullanıcı bir içe aktarıcıdır
         grant:
           administrator: Yönetici erişim hakkı
           moderator: Moderatör erişim izni
-          importer: İthalatçıya erişim izni ver
+          importer: İçe aktarım erişim izni ver
         revoke:
           administrator: Yönetici erişimini iptal etme
           moderator: Moderatör erişimini iptal etme
-          importer: İthalatçı erişimini iptal et
+          importer: İçe aktarıcı erişimini iptal et
       block_history: Etkin Engellemeler
       moderator_history: Verilen Engellemeler
+      revoke_all_blocks: Tüm engellemeleri iptal et
       comments: Yorumlar
       create_block: Bu kullanıcıyı engelle
       activate_user: Bu Kullanıcıyı Etkinleştir
@@ -2879,7 +2904,7 @@ tr:
       unhide_user: Bu Kullanıcıyı Göster
       delete_user: Bu Kullanıcıyı Sil
       confirm: Onayla
-      report: Bu kullanıcıyı rapor et
+      report: Bu Kullanıcıyı Bildir
     go_public:
       flash success: Tüm düzenlemeleriniz şimdi herkese açık ve siz de düzenleme yetkisine
         sahipsiniz.
@@ -2979,6 +3004,16 @@ tr:
       confirm: Bu engeli kaldırmak istediğine emin misin?
       revoke: İptal!
       flash: Bu engelleme iptal edildi.
+    revoke_all:
+      title: '%{block_on} tarihindeki tüm engellemeler iptal ediliyor'
+      heading_html: '%{block_on} tarihindeki tüm engellemeler iptal ediliyor'
+      empty: '%{name} kullanıcısının herhangi aktif bir engeli yok.'
+      confirm: '%{active_blocks} iptal etmek istediğinizden emin misiniz?'
+      active_blocks:
+        one: '%{count} aktif engel'
+        other: '%{count} aktif engel'
+      revoke: İptal!
+      flash: Tüm aktif engellemeler iptal edildi.
     helper:
       time_future_html: '%{time} içinde bitecek.'
       until_login: Kullanıcı giriş yapana kadar aktif.
@@ -3012,14 +3047,14 @@ tr:
     show:
       title: '%{block_on} kişisi %{block_by} tarafından engellendi'
       heading_html: '%{block_on} kişisi %{block_by} tarafından engellendi'
-      created: 'Oluşturuldu:'
+      created: 'Oluşturulma:'
       duration: 'Süre:'
       status: 'Durum:'
       show: Göster
       edit: Düzenle
       revoke: İptal!
       confirm: Emin misiniz?
-      reason: 'Engelleme sebebi:'
+      reason: 'Engellenme sebebi:'
       back: Tüm engellemeleri göster
       revoker: 'Geri alan:'
       needs_view: Engel kaldırılmadan önce kullanıcının giriş yapması gerekiyor.
@@ -3029,19 +3064,43 @@ tr:
       edit: Düzenle
       revoke: İptal!
     blocks:
-      display_name: Engellenmiş kullanıcı
+      display_name: Engellenen Kullanıcı
       creator_name: Oluşturan
-      reason: Engelleme sebebi
+      reason: Engellenme sebebi
       status: Durum
       revoker_name: İptal eden
       showing_page: '%{page}. sayfa'
       next: Sonraki »
       previous: « Önceki
+  user_mutes:
+    index:
+      title: Sessize Alınan Kullanıcılar
+      my_muted_users: Sessize alınan kullanıcılarım
+      you_have_muted_n_users:
+        one: '%{count} kullanıcıyı sessize aldınız'
+        other: '%{count} kullanıcıyı sessize aldınız'
+      user_mute_explainer: Sessize alınan kullanıcıların mesajları ayrı bir gelen
+        kutusuna taşınır ve e-posta bildirimleri almazsınız.
+      user_mute_admins_and_moderators: Yöneticileri ve moderatörleri sessize alabilirsiniz
+        ancak mesajları sessize alınmayacaktır.
+      table:
+        thead:
+          muted_user: Sessize Alınan Kullanıcı
+          actions: Eylemler
+        tbody:
+          unmute: Sesi Aç
+          send_message: Mesaj gönder
+    create:
+      notice: '%{name} kullanıcısını sessize aldınız.'
+      error: '%{name} sessize alınamadı. %{full_message}.'
+    destroy:
+      notice: '%{name} kullanıcısının sesini açtınız.'
+      error: Kullanıcının sesi açılamadı. Lütfen tekrar deneyin.
   notes:
     index:
       title: '%{user} tarafından gönderilen veya yorumlanan notlar'
-      heading: '%{user} kullanıcıya ait notlar'
-      subheading_html: '%{user} tarafından %{submitted}} veya %{commented} notlar'
+      heading: '%{user} Kullanıcısının Notları'
+      subheading_html: '%{user} tarafından %{submitted} veya %{commented} notlar'
       subheading_submitted: gönderilen
       subheading_commented: yorumlanan
       no_notes: Not yok
@@ -3075,6 +3134,7 @@ tr:
       reactivate: Yeniden etkinleştir
       comment_and_resolve: Yorum ve Çözüm
       comment: Yorum
+      log_in_to_comment: Bu nota yorum yapmak için giriş yapın
       report_link_html: Bu not, kaldırılması gereken hassas bilgiler içeriyorsa %{link}
         bağlantısına tıklayınız.
       other_problems_resolve: Notla ilgili diğer tüm sorunlar için lütfen bir yorum
index b76b45b4a640c3265cc5fa4aa83750e6fb59ff38..9b74fac90d0ba8fc256b840d4346cd11f23c0f83 100644 (file)
@@ -832,6 +832,7 @@ tt:
         other: '%{count} яңа хәбәрегез'
       old_messages:
         other: '%{count} иске хәбәрегез'
+    messages_table:
       from: 'Кемнән:'
       subject: Тема
       date: Вакыт
@@ -840,7 +841,7 @@ tt:
     new:
       title: Хәбәр җибәрү
   passwords:
-    lost_password:
+    new:
       email address: 'Электрон почта адресы:'
   profiles:
     edit:
@@ -862,17 +863,6 @@ tt:
       too_large:
         planet:
           title: OSM планетасы
-      options: Көйләнмәләр
-      format: Формат
-      scale: Масштаб
-      max: макс.
-      image_size: Сурәт зурлыгы
-      zoom: Якынайтырга
-      add_marker: Харитада маркер куярга
-      latitude: 'Киңлек:'
-      longitude: 'Озынлык:'
-      output: Нәтиҗә
-      paste_html: Сайт эченә салу өчен HTML-код
       export_button: Чыгару
     sidebar:
       search_results: Эзләү нәтиҗәләре
@@ -892,34 +882,24 @@ tt:
           cycleway: Әйләнаяк юлы
           rail: Тимер юл
           subway: Метро
-          tram:
-          - Җиңел рельслы т/ю транспорты
-          - трамвай
-          cable:
-          - Канат юлы
-          apron:
-            1: терминал
+          cable_car: Канат юлы
           admin: Административ чик
           forest: Урман
           wood: Агачлык
           park: Парк
           resident: Торак районы
-          common:
-            1: болын
           industrial: Сәнәгый район
           heathland: Буш җир
-          lake:
-          - Күл
-          - сусаклагыч
+          lake: Күл
+          reservoir: сусаклагыч
           farm: Ферма
           cemetery: Зират
           pitch: Спорт мәйданчыгы
           centre: Спорт үзәге
           reserve: Тыюлык
           military: Хәрби зона
-          school:
-          - Мәктәп
-          - университет
+          school: Мәктәп
+          university: университет
           station: Тимер юл станциясе
           toilets: Бәдрәф
   traces:
index e819260b41a818d22e1d740ddfc346c639580864..7235c55b54960df2040f9a33ba61a25e8551b9f3 100644 (file)
@@ -44,6 +44,7 @@
 # Author: Vlad5250
 # Author: Ypryima
 # Author: Yurkoy
+# Author: Ǝlʞıɯ
 # Author: Ата
 # Author: Драгун
 # Author: Пан Хаунд
@@ -86,6 +87,9 @@ uk:
       messages:
         invalid_email_address: не схоже на коректну адресу електронної пошти
         email_address_not_routable: недоступний
+      models:
+        user_mute:
+          is_already_muted: вже стишено
     models:
       acl: Список контролю доступу
       changeset: Набір змін
@@ -1020,7 +1024,7 @@ uk:
           track: Путівець
           traffic_mirror: Дорожнє дзеркало
           traffic_signals: Світлофор
-          trailhead: Ð¢Ñ\80ейлÑ\85ед
+          trailhead: Ð\9fоÑ\87аÑ\82ок Ð¼Ð°Ñ\80Ñ\88Ñ\80Ñ\83Ñ\82Ñ\83
           trunk: Шосе
           trunk_link: З’їзд з/на шосе
           turning_circle: Місце для розвороту
@@ -1054,7 +1058,7 @@ uk:
           railway: Історична залізниця
           roman_road: Римська дорога
           ruins: Руїни
-          rune_stone: Рунний камінь
+          rune_stone: Рунічний камінь
           stone: Камінь
           tomb: Гробниця
           tower: Вежа
@@ -1427,7 +1431,7 @@ uk:
           photo: Фотомагазин
           seafood: Морепродукти
           second_hand: Комісійний магазин
-          sewing: Ð¨Ð²ÐµÐ¹Ð½Ð¸Ð¹ Ñ\86еÑ\85
+          sewing: Ð¨Ð²ÐµÐ¹Ð½Ðµ Ð¿Ñ\80иладдÑ\8f
           shoes: Взуття
           sports: Спортивні товари
           stationery: Канцтовари
@@ -1549,9 +1553,9 @@ uk:
         many: '%{count} скарг'
         other: ""
       no_reports: Скарг немає
-      report_created_at: Вперше повідомлено %{datetime}
-      last_resolved_at: В останнє розв'язано %{datetime}
-      last_updated_at: В останнє оновлено %{datetime}, %{displayname}
+      report_created_at_html: Вперше повідомлено %{datetime}
+      last_resolved_at_html: Востаннє розв'язано %{datetime}
+      last_updated_at_html: В останнє оновлено %{datetime}, %{displayname}
       resolve: Розв'язати
       ignore: Ігнорувати
       reopen: Повторно відкрити
@@ -1579,7 +1583,7 @@ uk:
   issue_comments:
     create:
       comment_created: Коментар створено
-      issue_reassigned: Ваш коментар створено, а питання перепризначено
+      issue_reassigned: Ваш коментар створено та перепризначено звернення
   reports:
     new:
       title_html: Скарга %{link}
@@ -1832,8 +1836,6 @@ uk:
   messages:
     inbox:
       title: Вхідні
-      my_inbox: Вхідні
-      my_outbox: Вихідні
       messages: У вас %{new_messages} і %{old_messages}
       new_messages:
         one: '%{count} нове повідомлення'
@@ -1845,17 +1847,21 @@ uk:
         few: '%{count} старих повідомлення'
         many: '%{count} старих повідомлень'
         other: ""
-      from: Від
-      subject: Тема
-      date: Дата
       no_messages_yet_html: У вас ще немає повідомлень. Чому б не поспілкуватись з
         кимось із %{people_mapping_nearby_link}?
       people_mapping_nearby: мапери поблизу вас
+    messages_table:
+      from: Від
+      to: Кому
+      subject: Тема
+      date: Дата
+      actions: Дії
     message_summary:
       unread_button: Позначити як непрочитане
       read_button: Позначити як прочитане
       reply_button: Відповісти
       destroy_button: Вилучити
+      unmute_button: Перемістити до "Вхідних".
     new:
       title: Надіслати повідомлення
       send_message_to_html: Надіслати нове повідомлення до %{name}
@@ -1870,19 +1876,22 @@ uk:
       body: Вибачте, але повідомлення з цим ідентифікатором не існує.
     outbox:
       title: Вихідні
-      my_inbox: Вхідні
-      my_outbox: Вихідні
+      actions: Дії
       messages:
         one: У вас %{count} надіслане повідомлення
         few: У вас %{count} надісланих повідомлення
         many: У вас %{count} надісланих повідомлень
         other: ""
-      to: Кому
-      subject: Тема
-      date: Дата
       no_sent_messages_html: У вас немає надісланих повідомлень. Чому б не поспілкуватись
         з кимось із %{people_mapping_nearby_link}?
       people_mapping_nearby: маперів поблизу вас
+    muted:
+      title: Стишені повідомлення
+      messages:
+        one: Ви маєте %{count} стишене повідомлення
+        few: Ви маєте %{count} стишені повідомлення
+        many: Ви маєте %{count} стишених повідомлень
+        other: ""
     reply:
       wrong_user: Ви увійшли як „%{user}“, але повідомлення, на яке ви хочете відповісти,
         було надіслане не вам. Будь ласка, увійдіть до відповідного облікового запису,
@@ -1898,28 +1907,38 @@ uk:
         облікового запису, щоб прочитати його.
     sent_message_summary:
       destroy_button: Вилучити
+    heading:
+      my_inbox: Вхідні
+      my_outbox: Вихідні
+      muted_messages: Стишені повідомлення
     mark:
       as_read: Повідомлення позначене як прочитане
       as_unread: Повідомлення позначене як непрочитане
+    unmute:
+      notice: Повідомлення переміщено до "Вхідних".
+      error: Не вдалося перемістити повідомлення до "Вхідних".
     destroy:
       destroyed: Повідомлення вилучено
   passwords:
-    lost_password:
+    new:
       title: Відновлення пароля
       heading: Забули пароль?
       email address: 'Адреса ел. пошти:'
       new password button: Вишліть мені новий пароль
       help_text: Введіть адресу вашої електронної пошти, яку ви використовували для
         реєстрації, і ми надішлемо інструкції, як можна відновити ваш пароль.
+    create:
       notice email on way: Шкода, що ви втратили пароль :-( але нічого, скоро прийде
         лист і ви зможете перевстановити свій пароль.
       notice email cannot find: На жаль, така адреса не зареєстрована.
-    reset_password:
+    edit:
       title: Скидання пароля
       heading: Скидання пароля для %{user}
       reset: Скидання пароля
-      flash changed: Ваш пароль було змінено.
       flash token bad: Неможливо знайти такий код підтвердження, перевірте посилання.
+    update:
+      flash changed: Ваш пароль було змінено.
+      flash token bad: Неможливо знайти такий токен, перевірте посилання.
   preferences:
     show:
       title: Вподобання
@@ -2024,6 +2043,7 @@ uk:
       image: Зображення
       alt: Alt текст
       url: URL
+      codeblock: Блок коду
     richtext_field:
       edit: Редагувати
       preview: Попередній перегляд
@@ -2255,12 +2275,7 @@ uk:
         функції.
     export:
       title: Експорт
-      area_to_export: Ділянка для експорту
       manually_select: Виділіть іншу ділянку
-      format_to_export: Формат експорту
-      osm_xml_data: Дані OpenStreetMap XML
-      map_image: Зображення мапи (показує стандартний шар)
-      embeddable_html: Вбудований HTML
       licence: Ліцензія
       licence_details_html: Дані OpenStreetMap ліцензуються на умовах Ліцензії %{odbl_link}
         (ODbL).
@@ -2284,17 +2299,6 @@ uk:
         other:
           title: Інші джерела
           description: Додаткові джерела перераховані у вікі OpenStreetMap
-      options: Опції
-      format: 'Формат:'
-      scale: Масштаб
-      max: макс.
-      image_size: 'Розмір зображення:'
-      zoom: Збільшити
-      add_marker: Додати маркер на мапу
-      latitude: 'Шир.:'
-      longitude: 'Довг.:'
-      output: Результат
-      paste_html: HTML-код для вбудовування до сайту
       export_button: Експортувати
     fixthemap:
       title: Повідомити про проблему / Виправити мапу
@@ -2393,44 +2397,56 @@ uk:
           primary: Головна дорога
           secondary: Другорядна дорога
           unclassified: Дорога без класифікації
+          pedestrian: Пішохідна доріжка
           track: Путівець
           bridleway: Дорога для їзди кіньми
           cycleway: Велодоріжка
           cycleway_national: Національні велошляхи
           cycleway_regional: Регіональні велошляхи
           cycleway_local: Місцеві велошляхи
+          cycleway_mtb: Маршрут для гірських велосипедів
           footway: Пішохідна доріжка
           rail: Залізниця
+          train: Поїзд
           subway: Лінія метро
-          tram:
-          - Швидкісний трамвай
-          - трамвай
-          cable:
-          - Канатна дорога
-          - крісельний підйомник
-          runway:
-          - Злітно-посадкова смуга аеропорту
-          - руліжна доріжка
-          apron:
-          - Перон аеропорту
-          - термінал
+          ferry: Паром
+          light_rail: Швидкісний трамвай
+          tram: Трамвай
+          trolleybus: Тролейбус
+          bus: Автобус
+          cable_car: Канатна дорога
+          chair_lift: Крісельний підйомник
+          runway: Злітно-посадкова смуга аеропорту
+          taxiway: Руліжна доріжка
+          apron: Перон аеропорту
           admin: Адміністративна межа
+          capital: Столиця
+          city: Місто
+          orchard: Сад
+          vineyard: Виноградник
           forest: Ліс
           wood: Дерева
+          farmland: Поле
+          grass: Трава
+          meadow: Левада
+          bare_rock: Голі скелі
+          sand: Пісок
           golf: Поле для гольфу
           park: Парк
+          common: Суспільні землі
+          built_up: Забудована територія
           resident: Жила зона
-          common:
-          - Суспільні землі
-          - левада
-          - сад
           retail: Торговельний район
           industrial: Промисловий район
           commercial: Бізнесова зона
           heathland: Пустище
-          lake:
-          - Озеро
-          - водосховище
+          scrubland: Чагарник
+          lake: Озеро
+          reservoir: Водосховище
+          intermittent_water: Водойма, що пересихає
+          glacier: Льодовик
+          reef: Риф
+          wetland: Заболочені землі
           farm: Ферма
           brownfield: Покинута зона
           cemetery: Кладовище
@@ -2439,19 +2455,20 @@ uk:
           centre: Спортивний центр
           reserve: Заповідник
           military: Військова зона
-          school:
-          - Школа
-          - університет
+          school: Школа
+          university: Університет
+          hospital: Лікарня
           building: Значна споруда
           station: Залізнична станція
-          summit:
-          - Вершина
-          - пік
+          summit: Вершина
+          peak: Пік
           tunnel: Тунель (пунктиром)
           bridge: Міст (жирна лінія)
           private: Приватний доступ
           destination: Цільовий доступ
           construction: Будівництво дороги
+          bus_stop: Автобусна зупинка
+          stop: Зупинка
           bicycle_shop: Веломагазин
           bicycle_parking: Велопарковка
           toilets: Туалети
@@ -2667,6 +2684,7 @@ uk:
       oauth1_settings: налаштування OAuth 1
       oauth2_applications: застосунки OAuth 2
       oauth2_authorizations: авторизації OAuth 2
+      muted_users: Стишені учасники
   oauth:
     authorize:
       title: Авторизувати доступ до облікового запису
@@ -2705,6 +2723,7 @@ uk:
       read_gpx: Отримувати приватні GPS-треки
       write_gpx: Завантажувати GPS-треки
       write_notes: Змінювати нотатки
+      write_redactions: Виконувати очищення даних
       read_email: Отримувати адресу е-пошти
       skip_authorization: Автоматичне схвалення заявки
   oauth_clients:
@@ -2881,6 +2900,8 @@ uk:
       my_dashboard: Інфо панель
       blocks on me: Мої блокування
       blocks by me: Заблоковано мною
+      create_mute: Стишити цього учасника
+      destroy_mute: Зняти стишення з цього учасника
       edit_profile: Редагувати профіль
       send message: Надіслати повідомлення
       diary: Щоденник
@@ -3090,6 +3111,32 @@ uk:
       showing_page: Сторінка %{page}
       next: Наступна →
       previous: ← Попередня
+  user_mutes:
+    index:
+      title: Стишені учасники
+      my_muted_users: Стишені учасники
+      you_have_muted_n_users:
+        one: У вас %{count} стишений учасник
+        few: У вас %{count} стишених учасників
+        many: У вас %{count} стишених учасників
+        other: ""
+      user_mute_explainer: Повідомлення стишених учасників було перемішено в окрему
+        теку. Ви не будете отримувати сповіщення про них на пошту.
+      user_mute_admins_and_moderators: Ви можете стишити Адміністраторів та Модераторів,
+        але повідомлення від них не будуть стишеними.
+      table:
+        thead:
+          muted_user: Стишені учасники
+          actions: Дії
+        tbody:
+          unmute: Розблокувати
+          send_message: Надіслати повідомлення
+    create:
+      notice: Ви стишили %{name}.
+      error: '%{name} не може бути стишеним. %{full_message}.'
+    destroy:
+      notice: Ви розблокували %{name}.
+      error: Не вдалося розблокувати учасника. Будь ласка, спробуйте ще раз.
   notes:
     index:
       title: Нотатки створені чи прокоментовані %{user}
@@ -3126,6 +3173,7 @@ uk:
       reactivate: Поновити
       comment_and_resolve: Прокоментувати та Опрацювати
       comment: Коментар
+      log_in_to_comment: Увійдіть, щоб прокоментувати цю нотатку
       report_link_html: Якщо ця нотатка містить конфіденційну інформацію, яку потрібно
         видалити, ви можете %{link}.
       other_problems_resolve: Всі інші проблеми з нотаткою вирішуйте самостійно в
index 4271be41cd19922f705c9ceb86b718c0c60a7232..fa070fb63c7a779e547fa5f91fb46705385b99b9 100644 (file)
@@ -4,6 +4,7 @@
 # Author: A Retired User
 # Author: Anewplayer
 # Author: Dinhxuanduyet
+# Author: Doraemonluonbentoi
 # Author: Flyplanevn27
 # Author: Ioe2015
 # Author: JohnsonLee01
@@ -1321,9 +1322,9 @@ vi:
         zero: Không có báo cáo
         one: 1 báo cáo
         other: '%{count} báo cáo'
-      report_created_at: Báo cáo lần đầu tiên vào %{datetime}
-      last_resolved_at: Giải quyết lần cuối cùng vào %{datetime}
-      last_updated_at: Cập nhật lần cuối cùng vào %{datetime} bởi %{displayname}
+      report_created_at_html: Báo cáo lần đầu tiên vào %{datetime}
+      last_resolved_at_html: Giải quyết lần cuối cùng vào %{datetime}
+      last_updated_at_html: Cập nhật lần cuối cùng vào %{datetime} bởi %{displayname}
       resolve: Giải quyết
       ignore: Bỏ qua
       reopen: Mở lại
@@ -1601,16 +1602,16 @@ vi:
   messages:
     inbox:
       title: Hộp thư
-      my_inbox: Hộp thư đến
-      my_outbox: Hộp thư gửi
       messages: Bạn có %{new_messages} và %{old_messages}
       new_messages: '%{count} thư mới'
       old_messages: '%{count} thư cũ'
+      no_messages_yet_html: Bạn chưa nhận thư nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
+      people_mapping_nearby: những người ở gần
+    messages_table:
       from: Từ
+      to: Tới
       subject: Tiêu đề
       date: Ngày
-      no_messages_yet_html: Bạn chưa nhận thư nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
-      people_mapping_nearby: những người ở gần
     message_summary:
       unread_button: Đánh dấu là chưa đọc
       read_button: Đánh dấu là đã đọc
@@ -1630,12 +1631,7 @@ vi:
       body: Rất tiếc, không có thư nào với ID đó.
     outbox:
       title: Hộp thư đã gửi
-      my_inbox: Hộp thư đến
-      my_outbox: Hộp thử gửi
       messages: Bạn có %{count} thư đã gửi
-      to: Tới
-      subject: Tiêu đề
-      date: Ngày
       no_sent_messages_html: Bạn chưa gửi thư cho người nào. Hãy thử liên lạc với
         %{people_mapping_nearby_link}?
       people_mapping_nearby: những người ở gần
@@ -1654,28 +1650,33 @@ vi:
         xác để đọc nó.
     sent_message_summary:
       destroy_button: Xóa
+    heading:
+      my_inbox: Hộp thư đến
+      my_outbox: Hộp thư gửi
     mark:
       as_read: Thư đã đọc
       as_unread: Thư chưa đọc
     destroy:
       destroyed: Đã xóa thư
   passwords:
-    lost_password:
+    new:
       title: Quên mất mật khẩu
       heading: Quên mất Mật khẩu?
       email address: 'Địa chỉ Thư điện tử:'
       new password button: Đặt lại mật khẩu
       help_text: Nhập địa chỉ thư điện tử mà bạn đã dùng để mở tài khoản, rồi chúng
         tôi sẽ gửi liên kết cho địa chỉ đó để cho bạn đặt lại mật khẩu.
+    create:
       notice email on way: Đáng tiếc là bạn quên nó. :-( May là thư điện tử sắp tới
         để bạn đặt nó lại.
       notice email cannot find: Rất tiếc, không tìm thấy địa chỉ thư điện tử.
-    reset_password:
+    edit:
       title: Đặt lại mật khẩu
       heading: Đặt lại Mật khẩu của %{user}
       reset: Đặt lại Mật khẩu
-      flash changed: Mật khẩu của bạn đã được thay đổi.
       flash token bad: Không tìm thấy dấu hiệu đó. Có lẽ kiểm tra URL?
+    update:
+      flash changed: Mật khẩu của bạn đã được thay đổi.
   preferences:
     show:
       title: Tùy chỉnh
@@ -1894,12 +1895,7 @@ vi:
         trong HTML.
     export:
       title: Xuất
-      area_to_export: Vùng để Xuất
       manually_select: Chọn vùng khác thủ công
-      format_to_export: Định dạng Xuất
-      osm_xml_data: Dữ liệu OpenStreetMap XML
-      map_image: Hình Bản đồ (Lớp Chuẩn)
-      embeddable_html: HTML để Nhúng
       licence: Giấy phép
       too_large:
         advice: 'Nếu việc xuất dữ liệu ở trên bị thất bại, hãy nghĩ đến việc sử dụng
@@ -1921,17 +1917,6 @@ vi:
         other:
           title: Nguồn Khác
           description: Những nguồn khác được liệt kê trên wiki OpenStreetMap
-      options: Tùy chọn
-      format: 'Định dạng:'
-      scale: Tỷ lệ
-      max: tối đa
-      image_size: Hình có Kích cỡ
-      zoom: Thu phóng
-      add_marker: Đánh dấu vào bản đồ
-      latitude: 'Vĩ độ:'
-      longitude: 'Kinh độ:'
-      output: Đầu ra
-      paste_html: Dán HTML để nhúng vào trang Web
       export_button: Xuất
     fixthemap:
       title: Báo lỗi / Sửa bản đồ
@@ -2022,35 +2007,24 @@ vi:
           footway: Đường đi bộ
           rail: Đường sắt
           subway: Đường ngầm
-          tram:
-          - Đường sắt nhẹ
-          - xe điện
-          cable:
-          - Đường xe cáp
-          - ghế cáp treo
-          runway:
-          - Đường băng
-          - đường băng
-          apron:
-          - Sân đậu máy bay
-          - nhà ga hành khách
+          cable_car: Đường xe cáp
+          chair_lift: ghế cáp treo
+          runway: Đường băng
+          taxiway: đường băng
+          apron: Sân đậu máy bay
           admin: Biên giới hành chính
           forest: Rừng trồng cây
           wood: Rừng
           golf: Sân golf
           park: Công viên
+          common: Đất công
           resident: Khu vực nhà ở
-          common:
-          - Đất công
-          - bãi cỏ
-          - vườn
           retail: Khu vực buôn bán
           industrial: Khu vực công nghiệp
           commercial: Khu vực thương mại
           heathland: Vùng cây bụi
-          lake:
-          - Hồ
-          - hồ chứa nước
+          lake: Hồ
+          reservoir: hồ chứa nước
           farm: Ruộng
           brownfield: Cánh đồng nâu
           cemetery: Nghĩa địa
@@ -2059,14 +2033,12 @@ vi:
           centre: Trung tâm thể thao
           reserve: Khu bảo tồn thiên niên
           military: Khu vực quân sự
-          school:
-          - Trường học
-          - đại học
+          school: Trường học
+          university: đại học
           building: Kiến trúc quan trọng
           station: Nhà ga
-          summit:
-          - Đỉnh núi
-          - đồi
+          summit: Đỉnh núi
+          peak: đồi
           tunnel: Đường đứt nét = đường hầm
           bridge: Đường rắn = cầu
           private: Đường riêng
index 99bb6c4901d2a97d9d0582cb7a5062f144191442..7edd241cbcac3a93d214e376336bc00d6778042f 100644 (file)
@@ -44,10 +44,10 @@ yo:
     show:
       title: Ka message
   passwords:
-    lost_password:
+    new:
       title: lost password
       new password button: Fi ọ̀rọ̀ìpamọ́ tuntun ránsẹ́ sí mi
-    reset_password:
+    edit:
       title: ìtúntò ọ̀rọ̀ìpamọ́
   sessions:
     new:
index ccd2f0d6a3ae43a98a9d4553ea1f3e57151f2834..4f612066cbc051ffbb1a39496c2881ad6c430a96 100644 (file)
@@ -8,12 +8,14 @@
 # Author: Amire80
 # Author: Anakmalaysia
 # Author: Angrydog001
+# Author: Anterdc99
 # Author: Assoc
 # Author: Boyuan Yang
 # Author: C933103
 # Author: David S. Hwang
 # Author: Deathkon
 # Author: Dimension
+# Author: Dream Star.cn
 # Author: Duolaimi
 # Author: FakeGreenHand
 # Author: Fanjiayi
@@ -122,6 +124,9 @@ zh-CN:
       messages:
         invalid_email_address: 似乎不是有效的电子邮件地址
         email_address_not_routable: 不可路由
+      models:
+        user_mute:
+          is_already_muted: 已弱化
     models:
       acl: 访问控制列表
       changeset: 变更集
@@ -334,6 +339,7 @@ zh-CN:
         retain_notes: 您的地图注记与注记中的评论,如果有,将被保留,但不可见。
         retain_changeset_discussions: 您在变更集下的讨论,如果有,将被保留。
         retain_email: 您的电子邮件地址将被保留。
+        recent_editing_html: 因为您最近有做出编辑,目前无法删除您的账号。%{time} 后才可删除。
         confirm_delete: 您确定吗?
         cancel: 取消
   accounts:
@@ -1498,9 +1504,9 @@ zh-CN:
         one: '%{count}个举报'
         other: '%{count}个举报'
       no_reports: 没有报告
-      report_created_at: 首次报告于%{datetime}
-      last_resolved_at: 上次解决于%{datetime}
-      last_updated_at: 上次由%{displayname}于%{datetime}更新
+      report_created_at_html: 首次报告于%{datetime}
+      last_resolved_at_html: 上次解决于%{datetime}
+      last_updated_at_html: 上次由%{displayname}于%{datetime}更新
       resolve: 解决
       ignore: 忽略
       reopen: 重新开放
@@ -1534,7 +1540,7 @@ zh-CN:
       title_html: 举报%{link}
       missing_params: 不能创建新的举报
       disclaimer:
-        intro: 在发送您的举报至网站版主前,请确保:
+        intro: 在发送您的举报至网站仲裁员前,请确保:
         not_just_mistake: 您确信这个问题不只是失误
         unable_to_fix: 您无法自行修复问题,或通过您的伙伴社群成员帮助下修复
         resolve_with_user: 您已尝试与有关用户解决问题
@@ -1642,6 +1648,7 @@ zh-CN:
     gpx_success:
       hi: 您好,%{to_user}:
       loaded: 已成功加载%{count}个可能轨迹点中的%{trace_points}个。
+      all_your_traces_html: 您可以在 %{url} 找到所有您成功上传的 GPX 轨迹。
       subject: '[OpenStreetMap] GPX 导入成功'
     signup_confirm:
       subject: '[OpenStreetMap] 欢迎加入 OpenStreetMap'
@@ -1729,21 +1736,23 @@ zh-CN:
   messages:
     inbox:
       title: 收件箱
-      my_inbox: 我的收件箱
-      my_outbox: 我的发件箱
       messages: 您有 %{new_messages}和 %{old_messages}
       new_messages: '%{count} 条新消息'
       old_messages: '%{count} 条旧消息'
+      no_messages_yet_html: 您还没有消息,何不联系一些%{people_mapping_nearby_link}?
+      people_mapping_nearby: 在附近绘制地图的人
+    messages_table:
       from: 发件人
+      to: 收件人
       subject: 标题
       date: 日期
-      no_messages_yet_html: 您还没有消息,何不联系一些%{people_mapping_nearby_link}?
-      people_mapping_nearby: 在附近绘制地图的人
+      actions: 操作
     message_summary:
       unread_button: 标记为未读
       read_button: 标记为已读
       reply_button: 回复
       destroy_button: 删除
+      unmute_button: 移至收件箱
     new:
       title: 发消息
       send_message_to_html: 发送新信息给%{name}
@@ -1757,20 +1766,21 @@ zh-CN:
       body: 对不起,没有具有该 id 的消息。
     outbox:
       title: 发件箱
-      my_inbox: 我的收件箱
-      my_outbox: 我的发件箱
+      actions: 操作
       messages:
         one: 您有 %{count} 条已发送信息
         other: 您有 %{count} 条已发送信息
-      to: 收件人
-      subject: 标题
-      date: 日期
       no_sent_messages_html: 您尚未发送信息。何不联系一些%{people_mapping_nearby_link}?
       people_mapping_nearby: 在附近绘制地图的人
+    muted:
+      title: 已弱化消息
+      messages:
+        one: 1 条弱化消息
+        other: 您有 %{count} 条弱化消息
     reply:
       wrong_user: 您已经以 '%{user}' 的身份登录,但是您想要回复的消息并非寄给这个用户。请以正确的用户身份登录以回复这个消息。
     show:
-      title: 阅读
+      title: 阅读
       reply_button: 回复
       unread_button: 标记为未读
       destroy_button: 删除
@@ -1778,24 +1788,34 @@ zh-CN:
       wrong_user: 您已经以 '%{user}' 的身份登录,但是您想要阅读的消息并非寄给这个用户。请以正确的用户身份登录以阅读这个消息。
     sent_message_summary:
       destroy_button: 删除
+    heading:
+      my_inbox: 我的收件箱
+      my_outbox: 我的发件箱
+      muted_messages: 已弱化消息
     mark:
       as_read: 标记消息为已读
       as_unread: 标记消息为未读
+    unmute:
+      notice: 消息已移至收件箱
+      error: 无法将消息移至收件箱。
     destroy:
       destroyed: 消息已删除
   passwords:
-    lost_password:
+    new:
       title: 忘记密码
       heading: 忘记密码?
-      email address: 电子邮件地址
+      email address: 电子邮件地址
       new password button: 重置密码
       help_text: 输入您的电子邮件地址来注册,我们会寄出链接给它,这样您就可以用它来重置密码。
+    create:
       notice email on way: 很遗憾您遗失了密码:-(不过一封电子邮件已经发往您的邮箱,您很快就可以重置密码了。
       notice email cannot find: 对不起,无法找到邮箱。
-    reset_password:
+    edit:
       title: 重置密码
       heading: 重置%{user}的密码
       reset: 重置密码
+      flash token bad: 未找到标记,建议检查 URL?
+    update:
       flash changed: 您的密码已经更改。
       flash token bad: 未找到标记,建议检查 URL?
   preferences:
@@ -1841,8 +1861,8 @@ zh-CN:
     new:
       title: 登录
       heading: 登录
-      email or username: 电子邮件地址或用户名
-      password: 密码
+      email or username: 电子邮件地址或用户名
+      password: 密码
       openid_html: '%{logo}OpenID:'
       remember: 记住我
       lost password link: 忘记密码?
@@ -1900,6 +1920,7 @@ zh-CN:
       image: 图像
       alt: 替代文本
       url: URL
+      codeblock: 代码块
     richtext_field:
       edit: 编辑
       preview: 预览
@@ -1957,8 +1978,8 @@ zh-CN:
         introduction_1_osm_foundation: OpenStreetMap 基金会
         introduction_2_html: 只要你表明来源为OpenStreetMap及其贡献者,你就可以自由地复制、分发、传送和改编我们的数据。如果你想转换或者以我们的数据为基础进行创作,你只能采用相同的许可协议发表你的作品。完整的%{legal_code_link}阐明了你的权利和义务。
         introduction_2_legal_code: 法律条款
-        introduction_3_html: 我们的文档根据 %{creative_commons_link} 许可 (CC BY-SA 2.0) 获得许可。
-        introduction_3_creative_commons: Creative Commons Attribution-ShareAlike 2.0
+        introduction_3_html: 我们的文档根据 %{creative_commons_link} 许可协议(CC BY-SA 2.0)获得许可。
+        introduction_3_creative_commons: 知识共享署名-相同方式共享 2.0
         credit_title_html: 如何表明作者是 OpenStreetMap
         credit_1_html: 当您使用 OpenStreetMap 的数据,您会被要求遵循两件事:
         credit_2_1: 通过显示我们的版权声明为 OpenStreetMap 提供署名。
@@ -1996,12 +2017,13 @@ zh-CN:
            行政边界合并或开发,由澳大利亚联邦根据 %{cc_licence_link} 许可。
         contributors_au_australia: 澳大利亚
         contributors_au_geoscape_australia: Geoscape Australia
-        contributors_au_cc_licence: Creative Commons Attribution 4.0 International
-          licence (CC BY 4.0)
+        contributors_au_cc_licence: 知识共享署名-相同方式共享 4.0 国际许可协议(CC BY 4.0)
         contributors_ca_credit_html: '%{canada}:含有来自GeoBase&reg;,GeoGratis(&copy;
           加拿大自然资源部),CanVec(&copy; 加拿大自然资源部)和StatCan(加拿大统计局地理处)的数据。'
         contributors_ca_canada: 加拿大
-        contributors_cz_cc_licence: 知识共享署名-相同方式共享4.0国际(CC BY 4.0)
+        contributors_cz_credit_html: '%{czechia}:含有来自国家土地测量与地籍管理局依据%{cc_licence_link}许可的数据'
+        contributors_cz_czechia: 捷克
+        contributors_cz_cc_licence: 知识共享署名-相同方式共享 4.0 国际许可协议(CC BY 4.0)
         contributors_fi_credit_html: |-
           %{finland}:包含来自芬兰地形数据库的
           国家土地调查
@@ -2076,12 +2098,7 @@ zh-CN:
       no_iframe_support: 您的浏览器不支持 HTML 嵌入式框架,这是此功能所需要的。
     export:
       title: 导出
-      area_to_export: 要导出的区域
       manually_select: 手动选择不同的区域
-      format_to_export: 要导出的格式
-      osm_xml_data: OpenStreetMap XML 数据
-      map_image: 地图图像 (显示标准图层)
-      embeddable_html: 可嵌入HTML
       licence: 许可协议
       licence_details_html: OpenStreetMap 数据以 %{odbl_link} (ODbL) 许可。
       odbl: 开放数据共享开放数据库许可协议
@@ -2100,17 +2117,6 @@ zh-CN:
         other:
           title: 其他来源
           description: OpenStreetMap wiki 上列出的其他来源
-      options: 选项
-      format: 格式
-      scale: 比例
-      max: 最大
-      image_size: 图像尺寸
-      zoom: 缩放
-      add_marker: 添加标记至地图
-      latitude: 纬度:
-      longitude: 经度:
-      output: 输出
-      paste_html: 粘贴可嵌入网站的 HTML
       export_button: 导出
     fixthemap:
       title: 报告问题/修正地图
@@ -2195,67 +2201,83 @@ zh-CN:
           primary: 一级道路
           secondary: 二级道路
           unclassified: 无等级道路
+          pedestrian: 人行道
           track: 小路
           bridleway: 马道
           cycleway: 自行车道
           cycleway_national: 国家自行车道
           cycleway_regional: 地区自行车道
           cycleway_local: 本地自行车道
+          cycleway_mtb: 山地自行车路线
           footway: 步道
           rail: 铁路
+          train: 火车
           subway: 地铁
-          tram:
-          - 轻轨
-          - 电车
-          cable:
-          - 缆车
-          - 吊椅缆车
-          runway:
-          - 机场跑道
-          - 滑行道
-          apron:
-          - 机场停机坪
-          - 航站楼
+          ferry: 渡船
+          light_rail: 轻轨
+          tram: 有轨电车
+          trolleybus: 无轨电车
+          bus: 公共汽车
+          cable_car: 缆车
+          chair_lift: 吊椅缆车
+          runway: 机场跑道
+          taxiway: 滑行道
+          apron: 机场停机坪
           admin: 行政区边界
+          capital: 首都
+          city: 城市
+          orchard: 果园
+          vineyard: 葡萄园
           forest: 森林
-          wood: 林
+          wood: 树林
+          farmland: 农田
+          grass: 草坪
+          meadow: 草甸
+          bare_rock: 裸岩
+          sand: 沙地
           golf: 高尔夫球场
           park: 公园
+          common: 公地
+          built_up: 建成区
           resident: 居住区
-          common:
-          - 公地
-          - 草甸
-          - 花园
           retail: 零售区
           industrial: 工业区
           commercial: 商业区
           heathland: 荒原
-          lake:
-          - 湖
-          - 水库
+          scrubland: 灌木丛林地
+          lake: 湖
+          reservoir: 水库
+          intermittent_water: 间歇性水体
+          glacier: 冰川
+          reef: 礁
+          wetland: 湿地
           farm: 农场
           brownfield: 棕地
           cemetery: 坟场
           allotments: 小块园地
           pitch: 体育场
           centre: 体育馆
+          beach: 海滩
           reserve: 自然保护区
           military: 军事区
-          school:
-          - 学校
-          - 大学
+          school: 学校
+          university: 大学
+          hospital: 医院
           building: 特殊建筑物
           station: 火车站
-          summit:
-          - 山峰
-          - 高峰
+          summit: 山峰
+          peak: 山峰
           tunnel: 双虚线=隧道
           bridge: 双实线=桥
-          private: 私人
-          destination: 目的地进入权
+          private: 私人通行
+          destination: 目的地通行
           construction: 在建道路
+          bus_stop: 公共汽车站
+          stop: 停车站
           bicycle_shop: 自行车店
+          bicycle_rental: 自行车租赁
           bicycle_parking: 自行车停车场
+          bicycle_parking_small: 小型自行车停车场
           toilets: 厕所
     welcome:
       title: 欢迎!
@@ -2286,6 +2308,7 @@ zh-CN:
         imports: 导入
         automated_edits: 自动化编辑
       start_mapping: 开始绘制地图
+      continue_authorization: 继续授权
       add_a_note:
         title: 没有时间编辑?添加注记!
         para_1: 如果您这是想做一些微小改动而没有时间登录来学习如何编辑,那添加注记是非常容易的。
@@ -2418,6 +2441,7 @@ zh-CN:
       oauth1_settings: OAuth 1设置
       oauth2_applications: OAuth 2应用程序
       oauth2_authorizations: OAuth 2授权
+      muted_users: 已弱化用户
   oauth:
     authorize:
       title: 授权访问您的账户
@@ -2452,6 +2476,7 @@ zh-CN:
       read_gpx: 读取私人GPS轨迹
       write_gpx: 上传GPS轨迹
       write_notes: 修改备注
+      write_redactions: 编写地图数据
       read_email: 查看用户邮箱地址
       skip_authorization: 自动核准应用
   oauth_clients:
@@ -2600,6 +2625,8 @@ zh-CN:
       my_dashboard: 我的综合面板
       blocks on me: 我的封禁
       blocks by me: 被我封禁
+      create_mute: 弱化此用户
+      destroy_mute: 取消弱化此用户
       edit_profile: 编辑个人资料
       send message: 发送消息
       diary: 日记
@@ -2619,15 +2646,19 @@ zh-CN:
       spam score: 垃圾邮件评分:
       role:
         administrator: 此用户是管理员
-        moderator: 此用户是版主
+        moderator: 此用户是仲裁员
+        importer: 此用户是导入者
         grant:
           administrator: 授予管理员权限
-          moderator: 授予管理员权限
+          moderator: 授予仲裁员权限
+          importer: 授予导入者权限
         revoke:
           administrator: 撤销管理员权限
-          moderator: 撤销管理员权限
+          moderator: 撤销仲裁员权限
+          importer: 撤销导入者权限
       block_history: 激活的封禁
       moderator_history: 执行封禁者
+      revoke_all_blocks: 撤销所有封禁
       comments: 评论
       create_block: 封禁此用户
       activate_user: 启用此用户
@@ -2689,8 +2720,8 @@ zh-CN:
       fail: 无法吊销用户 '%{name}' 角色 '%{role}'。请检查用户和角色是否都正确。
   user_blocks:
     model:
-      non_moderator_update: 必须为管理员才能创建或更新一个封禁。
-      non_moderator_revoke: 必须为管理员才能撤消块
+      non_moderator_update: 必须为仲裁员才能创建或更新一个封禁。
+      non_moderator_revoke: 必须为仲裁员才能撤消封禁
     not_found:
       sorry: 对不起,未找到 ID 为 %{id} 的用户封禁。
       back: 返回索引
@@ -2711,7 +2742,7 @@ zh-CN:
     create:
       flash: 已建立对用户 %{name} 的封禁
     update:
-      only_creator_can_edit: 只有执行封禁的管理员能编辑它
+      only_creator_can_edit: 只有执行此封禁的仲裁员才能编辑
       success: 封禁已更新。
     index:
       title: 用户的封禁
@@ -2725,6 +2756,16 @@ zh-CN:
       confirm: 您确定要撤销该封禁?
       revoke: 撤销!
       flash: 该封禁已经被撤销。
+    revoke_all:
+      title: 正在撤销对%{block_on}的所有封禁
+      heading_html: 正在撤销对%{block_on}的所有封禁
+      empty: '%{name}没有生效的封禁。'
+      confirm: 您确定要撤销%{active_blocks}吗?
+      active_blocks:
+        one: '%{count} 个生效的封禁'
+        other: '%{count} 个生效的封禁'
+      revoke: 撤销!
+      flash: 已撤销所有生效的封禁。
     helper:
       time_future_html: 结束于 %{time}。
       until_login: 用户登录时激活。
@@ -2782,6 +2823,28 @@ zh-CN:
       showing_page: 第 %{page} 页
       next: 下一页 »
       previous: « 上一页
+  user_mutes:
+    index:
+      title: 已弱化用户
+      my_muted_users: 我已弱化的用户
+      you_have_muted_n_users:
+        one: 您已弱化 1 名用户
+        other: 您已弱化 %{count} 名用户
+      user_mute_explainer: 已弱化用户的消息会被移至单独的收件箱,您不会收到电子邮件通知。
+      user_mute_admins_and_moderators: 您可以弱化管理员和仲裁员,但仍会收到他们的消息通知。
+      table:
+        thead:
+          muted_user: 已弱化用户
+          actions: 操作
+        tbody:
+          unmute: 取消弱化
+          send_message: 发送消息
+    create:
+      notice: 您已弱化%{name}。
+      error: 无法弱化%{name}。%{full_message}。
+    destroy:
+      notice: 您取消弱化了%{name}。
+      error: 无法取消弱化用户。请再试一次。
   notes:
     index:
       title: '%{user} 提交或评论的注记'
@@ -2817,6 +2880,7 @@ zh-CN:
       reactivate: 重启
       comment_and_resolve: 评论与解决
       comment: 评论
+      log_in_to_comment: 登录以评论此注记
       report_link_html: 如果此注记包含需要被删除的敏感信息,您可以%{link}。
       other_problems_resolve: 对于注记的所有其他问题,请通过评论自行解决。
       other_problems_resolved: 对于所有其他问题,解决就足够了。
@@ -2903,6 +2967,7 @@ zh-CN:
       map_data_zoom_in_tooltip: 放大地图以查看数据
       queryfeature_tooltip: 查询特征
       queryfeature_disabled_tooltip: 放大以查询特征
+      embed_html_disabled: HTML 嵌入不适用于此地图图层
     changesets:
       show:
         comment: 评论
index 5662aa6f8d5cca7888895c7158ff5f02a812b777..9388b967c22a72447993738ef39cc05d207c651a 100644 (file)
@@ -1078,16 +1078,17 @@ zh-HK:
     outbox:
       title: 寄件匣
   passwords:
-    lost_password:
+    new:
       title: 忘記密碼
       heading: 忘記密碼?
       email address: 電郵地址:
       new password button: 重設密碼
       help_text: 輸入您註冊時用的電郵地址,我們會將可用於重設密碼的連結發送至該地址。
-    reset_password:
+    edit:
       title: 重設密碼
       heading: 重設%{user}的密碼
       reset: 重設密碼
+    update:
       flash changed: 您的密碼已經變更。
   sessions:
     new:
@@ -1105,18 +1106,8 @@ zh-HK:
       no_iframe_support: 閣下的瀏覽器並未支援此功能所必需的HTML iframes。
     export:
       title: 匯出
-      area_to_export: 要匯出的範圍
       manually_select: 手動選擇另一範圍
-      format_to_export: 匯出格式
-      map_image: 地圖影像 (顯示標準圖層)
-      embeddable_html: 可內嵌的HTML
       licence: 授權
-      options: 選項
-      format: 格式
-      scale: 比例
-      max: 最大
-      latitude: 緯度:
-      longitude: 經度:
     help:
       beginners_guide:
         description: 由社群編修的新手指南。
@@ -1139,14 +1130,8 @@ zh-HK:
           motorway: 高速公路
           rail: 鐵路
           subway: 地鐵
-          tram:
-          - 輕便鐵路
-          - 電車
-          runway:
-          - 機場跑道
-          apron:
-          - 機場停機坪
-          - 客運大樓
+          runway: 機場跑道
+          apron: 機場停機坪
           admin: 行政邊界
           forest: 森林
           golf: 哥爾夫球場
@@ -1154,18 +1139,16 @@ zh-HK:
           resident: 住宅區
           industrial: 工業區
           commercial: 商業區
-          lake:
-          - 湖泊
-          - 水庫
+          lake: 湖泊
+          reservoir: 水庫
           brownfield: 棕地
           cemetery: 墓地
           pitch: 運動場
           centre: 運動中心
           reserve: 自然保護區
           military: 軍事區
-          school:
-          - 學校
-          - 大學
+          school: 學校
+          university: 大學
           station: 火車站
           bicycle_shop: 單車店
           bicycle_parking: 單車停泊處
index b1b8cee59b870130acbfc06132c9f9e07f843234..1e0ced92b6dc6efaca5006d65a9161a9c9db3952 100644 (file)
@@ -87,6 +87,9 @@ zh-TW:
       messages:
         invalid_email_address: 似乎不是有效的電子郵件信箱地址。
         email_address_not_routable: 不可繞送
+      models:
+        user_mute:
+          is_already_muted: 已忽視
     models:
       acl: 存取控制清單
       changeset: 變更集
@@ -921,7 +924,7 @@ zh-TW:
           motorway_link: 高速公路聯絡道
           passing_place: 避車彎
           path: 小徑
-          pedestrian: 行人路
+          pedestrian: 人行道
           platform: 月台
           primary: 一級道路
           primary_link: 一級道路聯絡道
@@ -1466,9 +1469,9 @@ zh-TW:
         one: '%{count} 份回報'
         other: '%{count} 份回報'
       no_reports: 沒有回報
-      report_created_at: 首次回報是在 %{datetime}
-      last_resolved_at: 最後回報是在 %{datetime}
-      last_updated_at: 最後更新是由 %{displayname} 在 %{datetime}
+      report_created_at_html: 首次回報是在 %{datetime}
+      last_resolved_at_html: 最後回報是在 %{datetime}
+      last_updated_at_html: 最後更新是由 %{displayname} 在 %{datetime}
       resolve: 解決
       ignore: 忽略
       reopen: 重新開啟
@@ -1614,6 +1617,7 @@ zh-TW:
       loaded:
         one: 成功載入 %{count} 個可能軌跡點中的 %{trace_points} 個。
         other: 成功載入 %{count} 個可能軌跡點中的 %{trace_points} 個。
+      all_your_traces_html: 您可以在 %{url} 找到所有您上傳成功的 GPX 軌跡。
       subject: '[OpenStreetMap] GPX 匯入成功'
     signup_confirm:
       subject: '[OpenStreetMap] 歡迎加入 OpenStreetMap'
@@ -1693,7 +1697,7 @@ zh-TW:
       press confirm button: 按下確認按鈕以確認您的新電子郵件地址。
       button: 確認
       success: 已確認您變更的電子郵件地址!
-      failure: 電子郵件地址已使用此密鑰確認過。
+      failure: 電子郵件地址已使用此權杖確認過。
       unknown_token: 確認碼已經過期或不存在。
     resend_success_flash:
       confirmation_sent: 我們已發送新的確認通知到 %{email},一旦您確認您的帳號後,就能取得製圖。
@@ -1701,8 +1705,6 @@ zh-TW:
   messages:
     inbox:
       title: 收件匣
-      my_inbox: 我的收件匣
-      my_outbox: 我的寄件匣
       messages: 您有 %{new_messages} 及 %{old_messages}。
       new_messages:
         one: '%{count} 項新訊息'
@@ -1710,16 +1712,20 @@ zh-TW:
       old_messages:
         one: '%{count} 項舊訊息'
         other: '%{count} 項舊訊息'
+      no_messages_yet_html: 您還沒有訊息。何不跟一些 %{people_mapping_nearby_link} 接觸看看?
+      people_mapping_nearby: 在附近製圖的人
+    messages_table:
       from: 寄件者
+      to: 收件者
       subject: 主旨
       date: 日期
-      no_messages_yet_html: 您還沒有訊息。何不跟一些 %{people_mapping_nearby_link} 接觸看看?
-      people_mapping_nearby: 在附近製圖的人
+      actions: 操作
     message_summary:
       unread_button: 標記為未讀
       read_button: 標記為已讀
       reply_button: 回覆
       destroy_button: 刪除
+      unmute_button: 移至收件匣
     new:
       title: 寄出訊息
       send_message_to_html: 寄出新訊息給 %{name}
@@ -1733,16 +1739,17 @@ zh-TW:
       body: 抱歉,並沒有這個 id 的訊息。
     outbox:
       title: 寄件匣
-      my_inbox: 我的收件匣
-      my_outbox: 我的寄件匣
+      actions: 操作
       messages:
         one: 您有 %{count} 項已寄訊息
         other: 您有 %{count} 項已寄訊息
-      to: 收件者
-      subject: 主旨
-      date: 日期
       no_sent_messages_html: 您還沒有已寄訊息。何不跟一些 %{people_mapping_nearby_link} 接觸看看?
       people_mapping_nearby: 附近製作地圖的使用者
+    muted:
+      title: 已忽視訊息
+      messages:
+        one: 1 條忽視訊息
+        other: 您有 %{count} 條忽視訊息
     reply:
       wrong_user: 您已經以 "%{user}" 的身份登入,但是您想要回覆的訊息並非寄給這個使用者。請以正確的使用者身份登入以回覆這個訊息。
     show:
@@ -1754,26 +1761,36 @@ zh-TW:
       wrong_user: 您已經以 "%{user}" 的身份登入,但是您想要閱讀的訊息並非寄給那個使用者。請以正確的使用者身份登入以閱讀它。
     sent_message_summary:
       destroy_button: 刪除
+    heading:
+      my_inbox: 我的收件匣
+      my_outbox: 我的寄件匣
+      muted_messages: 已忽視訊息
     mark:
       as_read: 訊息標記為已讀
       as_unread: 訊息標記為未讀
+    unmute:
+      notice: 訊息已移至收件匣
+      error: 無法將訊息移至收件匣。
     destroy:
       destroyed: 訊息已刪除
   passwords:
-    lost_password:
+    new:
       title: 遺失密碼
       heading: 忘記密碼?
       email address: 電子郵件地址:
       new password button: 重設密碼
       help_text: 輸入您的電子郵件地址來註冊,我們會將連結送至該地址,而您可以用它來重設密碼。
+    create:
       notice email on way: 很遺憾您忘了它 :-( 不過讓您可以重設它的電子郵件已經寄出,您待會便可重設。
       notice email cannot find: 很抱歉,找不到該電子郵件地址。
-    reset_password:
+    edit:
       title: 重設密碼
       heading: 重設 %{user} 的密碼
       reset: 重設密碼
+      flash token bad: 找不到該權杖,可能要檢查一下 URL?
+    update:
       flash changed: 您的密碼已經變更。
-      flash token bad: 找不到該密鑰,可能要檢查一下 URL?
+      flash token bad: 找不到該權杖,可能要檢查一下 URL?
   preferences:
     show:
       title: 我的偏好設定
@@ -1876,6 +1893,7 @@ zh-TW:
       image: 圖片
       alt: 替代文字
       url: 網址
+      codeblock: 代碼區塊
     richtext_field:
       edit: 編輯
       preview: 預覽
@@ -2048,12 +2066,7 @@ zh-TW:
       no_iframe_support: 您的瀏覽器不支援 HTML 嵌入式框架,這是這項功能所必要的。
     export:
       title: 匯出
-      area_to_export: 要匯出的區域
       manually_select: 手動選擇不同的區域
-      format_to_export: 要匯出的格式
-      osm_xml_data: OpenStreetMap XML 資料
-      map_image: 地圖影像 (顯示標準圖層)
-      embeddable_html: 內嵌式 HTML
       licence: 授權
       licence_details_html: 開放街圖資料是以 %{odbl_link} (開放資料庫授權, Open Database License)
         來授權
@@ -2073,17 +2086,6 @@ zh-TW:
         other:
           title: 其他來源
           description: OpenStreetMap wiki 上列出的其他來源
-      options: 選項
-      format: 格式
-      scale: 比例
-      max: 最大
-      image_size: 圖片大小
-      zoom: 縮放
-      add_marker: 在地圖加上標記
-      latitude: 緯度:
-      longitude: 經度:
-      output: 輸出
-      paste_html: 貼上 HTML 以於網站內嵌
       export_button: 匯出
     fixthemap:
       title: 回報問題/改進地圖
@@ -2169,67 +2171,83 @@ zh-TW:
           primary: 一級道路
           secondary: 二級道路
           unclassified: 無編制道路
+          pedestrian: 人行道
           track: 產業道路
           bridleway: 馬道
           cycleway: 自行車道
           cycleway_national: 國家自行車道
           cycleway_regional: 區域自行車道
           cycleway_local: 地區自行車道
+          cycleway_mtb: 登山車路徑
           footway: 步道
           rail: 鐵路
+          train: 列車
           subway: 地下鐵
-          tram:
-          - 輕軌
-          - 電車軌道
-          cable:
-          - 大型纜車
-          - 升降吊椅
-          runway:
-          - 機場跑道
-          - 滑行道
-          apron:
-          - 機場停機坪
-          - 航廈
+          ferry: 渡輪
+          light_rail: 輕軌
+          tram: 路面電車
+          trolleybus: 無軌電車
+          bus: 公車
+          cable_car: 大型纜車
+          chair_lift: 升降吊椅
+          runway: 機場跑道
+          taxiway: 滑行道
+          apron: 機場停機坪
           admin: 行政區邊界
+          capital: 首都
+          city: 城市
+          orchard: 果園
+          vineyard: 葡萄園
           forest: 森林
-          wood: 樹木
+          wood: 森林
+          farmland: 農地
+          grass: 草坪
+          meadow: 牧草地
+          bare_rock: 裸岩
+          sand: 沙地
           golf: 高爾夫球場
           park: 公園
+          common: 共有地
+          built_up: 組成面積
           resident: 住宅區
-          common:
-          - 共有地
-          - 野草地
-          - 花園
           retail: 商店區
           industrial: 工業區
           commercial: 商業區
           heathland: 石楠荒地
-          lake:
-          - 湖泊
-          - 水庫
+          scrubland: 灌木叢林地
+          lake: 湖泊
+          reservoir: 水庫
+          intermittent_water: 間歇性水體
+          glacier: 冰河
+          reef: 礁
+          wetland: 濕地
           farm: 農田
           brownfield: 低污染再利用地
           cemetery: 公墓
           allotments: 社區農園
           pitch: 運動場
           centre: 運動中心
+          beach: 海灘
           reserve: 自然保護區
           military: 軍事區
-          school:
-          - 學校
-          - 大學
+          school: 學校;大學
+          university: 大學
+          hospital: 醫院
           building: 重要建築
           station: 鐵路車站
-          summit:
-          - 頂峰
-          - 山峰
+          summit: 頂峰
+          peak: 山峰
           tunnel: 虛線邊框 = 隧道
           bridge: 黑線邊框 = 橋樑
           private: 私人進出
           destination: 目的地進出
           construction: 建造中道路
+          bus_stop: 公車站
+          stop: 停車站
           bicycle_shop: 自行車店
+          bicycle_rental: 自行車出租
           bicycle_parking: 自行車停車場
+          bicycle_parking_small: 小型自行車停車場
           toilets: 廁所
     welcome:
       title: 歡迎!
@@ -2401,6 +2419,7 @@ zh-TW:
       oauth1_settings: OAuth 1 設定
       oauth2_applications: OAuth 2 應用程式
       oauth2_authorizations: OAuth 2 授權
+      muted_users: 已忽視使用者
   oauth:
     authorize:
       title: 授權使用您的帳號
@@ -2435,6 +2454,7 @@ zh-TW:
       read_gpx: 讀取私人 GPS 軌跡
       write_gpx: 上傳 GPS 軌跡
       write_notes: 修改註記
+      write_redactions: 編寫地圖資料
       read_email: 讀取使用者電子郵件位址
       skip_authorization: 自動核准申請
   oauth_clients:
@@ -2457,7 +2477,7 @@ zh-TW:
     index:
       title: 我的 OAuth 詳細資料
       my_tokens: 我授權的應用程式
-      list_tokens: 下列密鑰已核發給您名下的應用程式:
+      list_tokens: 下列權杖已核發給您名下的應用程式:
       application: 應用程式名稱
       issued_at: 已發於
       revoke: 撤銷!
@@ -2584,6 +2604,8 @@ zh-TW:
       my_dashboard: 我的功能面板
       blocks on me: 對我的封鎖
       blocks by me: 我所設的封鎖
+      create_mute: 忽視這名使用者
+      destroy_mute: 取消忽視這名使用者
       edit_profile: 編輯個人資料
       send message: 傳送訊息
       diary: 日記
@@ -2615,6 +2637,7 @@ zh-TW:
           importer: 撤銷匯入權限
       block_history: 已封鎖
       moderator_history: 給予封鎖
+      revoke_all_blocks: 撤銷所有封鎖
       comments: 評論
       create_block: 封鎖這位使用者
       activate_user: 解除這位使用者的封鎖狀態
@@ -2712,6 +2735,16 @@ zh-TW:
       confirm: 你確定要撤銷這項封鎖?
       revoke: 撤銷!
       flash: 這項封鎖已被撤銷。
+    revoke_all:
+      title: 正在撤銷對%{block_on}的封鎖
+      heading_html: 正在撤銷對%{block_on}的所有封鎖
+      empty: '%{name}沒有生效的封鎖。'
+      confirm: 您確定要撤銷%{active_blocks}嗎?
+      active_blocks:
+        one: '%{count} 個生效封鎖'
+        other: '%{count} 個生效封鎖'
+      revoke: 撤銷!
+      flash: 已撤銷所有生效封鎖。
     helper:
       time_future_html: 於 %{time} 結束。
       until_login: 生效直至這個使用者登入為止。
@@ -2769,6 +2802,28 @@ zh-TW:
       showing_page: 第 %{page} 頁
       next: 下一頁 »
       previous: « 上一頁
+  user_mutes:
+    index:
+      title: 已忽視使用者
+      my_muted_users: 我忽視的使用者
+      you_have_muted_n_users:
+        one: 您已忽視 1 名使用者
+        other: 您已忽視 %{count} 名使用者
+      user_mute_explainer: 已忽視使用者的訊息會移至單獨的收件匣中,您將不會收到電子郵件通知。
+      user_mute_admins_and_moderators: 您可以忽視管理員和仲裁員,但仍會收到他們的訊息通知。
+      table:
+        thead:
+          muted_user: 已忽視使用者
+          actions: 操作
+        tbody:
+          unmute: 取消忽視
+          send_message: 寄送訊息
+    create:
+      notice: 您已忽視%{name}。
+      error: 無法忽視%{name}。%{full_message}。
+    destroy:
+      notice: 您取消了忽視%{name}。
+      error: 無法忽視使用者。請再試一次。
   notes:
     index:
       title: 由 %{user} 送出或評論的註記
@@ -2804,6 +2859,7 @@ zh-TW:
       reactivate: 重新開啟
       comment_and_resolve: 評論並解決
       comment: 評論
+      log_in_to_comment: 登入來評論此註記
       report_link_html: 如果此註記含有需要移除的敏感資訊,您可以%{link}。
       other_problems_resolve: 對於註記的所有其他問題,您可以依據評論內容來自行處理。
       other_problems_resolved: 對於其他類型回報,解決已經足夠了。
diff --git a/config/openlayers.cfg b/config/openlayers.cfg
deleted file mode 100644 (file)
index 6f6b778..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-[first]
-
-[last]
-
-[include]
-OpenLayers/Map.js
-OpenLayers/Control/ArgParser.js
-OpenLayers/Control/Attribution.js
-OpenLayers/Control/DragFeature.js
-OpenLayers/Control/DrawFeature.js
-OpenLayers/Control/LayerSwitcher.js
-OpenLayers/Control/Navigation.js
-OpenLayers/Control/PanZoomBar.js
-OpenLayers/Control/Zoom.js
-OpenLayers/Control/PinchZoom.js
-OpenLayers/Control/ScaleLine.js
-OpenLayers/Control/SelectFeature.js
-OpenLayers/Control/TransformFeature.js
-OpenLayers/Layer.js
-OpenLayers/Layer/GML.js
-OpenLayers/Layer/Markers.js
-OpenLayers/Layer/SphericalMercator.js
-OpenLayers/Layer/OSM.js
-OpenLayers/Layer/Vector.js
-OpenLayers/Tile.js
-OpenLayers/Tile/Image.js
-OpenLayers/Feature/Vector.js
-OpenLayers/Strategy/Fixed.js
-OpenLayers/Strategy/BBOX.js
-OpenLayers/Protocol/HTTP.js
-OpenLayers/Format/QueryStringFilter.js
-OpenLayers/Format/GeoJSON.js
-OpenLayers/Format/OSM.js
-OpenLayers/Geometry/Point.js
-OpenLayers/Geometry/LinearRing.js
-OpenLayers/Handler/Point.js
-OpenLayers/Handler/RegularPolygon.js
-OpenLayers/Protocol/HTTP.js
-OpenLayers/Renderer.js
-OpenLayers/Renderer/Canvas.js
-OpenLayers/Renderer/SVG.js
-OpenLayers/Renderer/VML.js
-OpenLayers/Rule.js
-OpenLayers/Icon.js
-OpenLayers/Marker.js
-OpenLayers/Popup/FramedCloud.js
-OpenLayers/Projection.js
-OpenLayers/Console.js
-OpenLayers/Lang.js
-OpenLayers/Lang/ar.js
-OpenLayers/Lang/be-tarask.js
-OpenLayers/Lang/bg.js
-OpenLayers/Lang/br.js
-OpenLayers/Lang/ca.js
-OpenLayers/Lang/cs-CZ.js
-OpenLayers/Lang/da-DK.js
-OpenLayers/Lang/de.js
-OpenLayers/Lang/el.js
-OpenLayers/Lang/en-CA.js
-OpenLayers/Lang/en.js
-OpenLayers/Lang/es.js
-OpenLayers/Lang/fi.js
-OpenLayers/Lang/fr.js
-OpenLayers/Lang/fur.js
-OpenLayers/Lang/gl.js
-OpenLayers/Lang/gsw.js
-OpenLayers/Lang/hr.js
-OpenLayers/Lang/hsb.js
-OpenLayers/Lang/hu.js
-OpenLayers/Lang/ia.js
-OpenLayers/Lang/id.js
-OpenLayers/Lang/io.js
-OpenLayers/Lang/is.js
-OpenLayers/Lang/it.js
-OpenLayers/Lang/ja.js
-OpenLayers/Lang/km.js
-OpenLayers/Lang/ksh.js
-OpenLayers/Lang/lt.js
-OpenLayers/Lang/nb.js
-OpenLayers/Lang/nds.js
-OpenLayers/Lang/nl.js
-OpenLayers/Lang/nn.js
-OpenLayers/Lang/oc.js
-OpenLayers/Lang/pl.js
-OpenLayers/Lang/pt-BR.js
-OpenLayers/Lang/pt.js
-OpenLayers/Lang/ru.js
-OpenLayers/Lang/sk.js
-OpenLayers/Lang/sv-SE.js
-OpenLayers/Lang/te.js
-OpenLayers/Lang/vi.js
-OpenLayers/Lang/zh-CN.js
-OpenLayers/Lang/zh-TW.js
-
-[exclude]
index 2b67e360e871776b3420d88cdef499b7546f528d..09afe8fd928926139b8b80c93f26bd531c535522 100644 (file)
@@ -111,10 +111,13 @@ OpenStreetMap::Application.routes.draw do
   # Data browsing
   get "/way/:id" => "browse#way", :id => /\d+/, :as => :way
   get "/way/:id/history" => "browse#way_history", :id => /\d+/, :as => :way_history
+  resources :old_ways, :path => "/way/:id/history", :id => /\d+/, :version => /\d+/, :param => :version, :only => :show
   get "/node/:id" => "browse#node", :id => /\d+/, :as => :node
   get "/node/:id/history" => "browse#node_history", :id => /\d+/, :as => :node_history
+  resources :old_nodes, :path => "/node/:id/history", :id => /\d+/, :version => /\d+/, :param => :version, :only => :show
   get "/relation/:id" => "browse#relation", :id => /\d+/, :as => :relation
   get "/relation/:id/history" => "browse#relation_history", :id => /\d+/, :as => :relation_history
+  resources :old_relations, :path => "/relation/:id/history", :id => /\d+/, :version => /\d+/, :param => :version, :only => :show
   get "/changeset/:id" => "browse#changeset", :as => :changeset, :id => /\d+/
   get "/changeset/:id/comments/feed" => "changeset_comments#index", :as => :changeset_comments_feed, :id => /\d*/, :defaults => { :format => "rss" }
   resources :notes, :path => "note", :only => [:show, :new]
@@ -282,9 +285,12 @@ OpenStreetMap::Application.routes.draw do
   # messages
   resources :messages, :only => [:create, :show, :destroy] do
     post :mark
+    patch :unmute
+
     match :reply, :via => [:get, :post]
     collection do
       get :inbox
+      get :muted
       get :outbox
     end
   end
@@ -293,6 +299,12 @@ OpenStreetMap::Application.routes.draw do
   get "/message/new/:display_name" => "messages#new", :as => "new_message"
   get "/message/read/:message_id", :to => redirect(:path => "/messages/%{message_id}")
 
+  # muting users
+  scope "/user/:display_name" do
+    resource :user_mute, :only => [:create, :destroy], :path => "mute"
+  end
+  resources :user_mutes, :only => [:index]
+
   # oauth admin pages (i.e: for setting up new clients, etc...)
   scope "/user/:display_name" do
     resources :oauth_clients
@@ -312,6 +324,7 @@ OpenStreetMap::Application.routes.draw do
   get "/blocks/new/:display_name" => "user_blocks#new", :as => "new_user_block"
   resources :user_blocks
   match "/blocks/:id/revoke" => "user_blocks#revoke", :via => [:get, :post], :as => "revoke_user_block"
+  match "/user/:display_name/blocks/revoke_all" => "user_blocks#revoke_all", :via => [:get, :post], :as => "revoke_all_user_blocks"
 
   # issues and reports
   resources :issues do
index 0cfa74cd70738ca851244a4830bf2b7bb0ed63fe..fe5aa5d897341348905eb8b349ad8bd601016107 100644 (file)
@@ -20,8 +20,8 @@ trace_file_storage: "test"
 trace_image_storage: "test"
 trace_icon_storage: "test"
 # Lower some rate limits for testing
-max_changeset_comments_per_hour: 30
-moderator_changeset_comments_per_hour: 60
+max_changeset_comments_per_hour: 10
+moderator_changeset_comments_per_hour: 15
 # Private key for signing id_tokens
 doorkeeper_signing_key: |
   -----BEGIN PRIVATE KEY-----
diff --git a/db/migrate/20231010201451_create_user_mutes.rb b/db/migrate/20231010201451_create_user_mutes.rb
new file mode 100644 (file)
index 0000000..8cb6ff8
--- /dev/null
@@ -0,0 +1,15 @@
+class CreateUserMutes < ActiveRecord::Migration[7.0]
+  def change
+    create_table :user_mutes do |t|
+      t.references :owner, :null => false, :index => false
+      t.references :subject, :null => false, :index => false
+
+      t.timestamps
+
+      t.foreign_key :users, :column => :owner_id
+      t.foreign_key :users, :column => :subject_id
+
+      t.index [:owner_id, :subject_id], :unique => true
+    end
+  end
+end
diff --git a/db/migrate/20231010203028_add_muted_flag_to_messages.rb b/db/migrate/20231010203028_add_muted_flag_to_messages.rb
new file mode 100644 (file)
index 0000000..e517aea
--- /dev/null
@@ -0,0 +1,5 @@
+class AddMutedFlagToMessages < ActiveRecord::Migration[7.0]
+  def change
+    add_column :messages, :muted, :boolean, :default => false, :null => false
+  end
+end
diff --git a/db/migrate/20231213182102_add_canonical_user_index.rb b/db/migrate/20231213182102_add_canonical_user_index.rb
new file mode 100644 (file)
index 0000000..905fb32
--- /dev/null
@@ -0,0 +1,7 @@
+class AddCanonicalUserIndex < ActiveRecord::Migration[7.1]
+  disable_ddl_transaction!
+
+  def change
+    add_index :users, "LOWER(NORMALIZE(display_name, NFKC))", :name => "users_display_name_canonical_idx", :algorithm => :concurrently
+  end
+end
diff --git a/db/migrate/20240117185445_drop_lowercase_user_index.rb b/db/migrate/20240117185445_drop_lowercase_user_index.rb
new file mode 100644 (file)
index 0000000..82bd5ec
--- /dev/null
@@ -0,0 +1,5 @@
+class DropLowercaseUserIndex < ActiveRecord::Migration[7.1]
+  def change
+    remove_index :users, "LOWER(display_name)", :name => "users_display_name_lower_idx"
+  end
+end
index ba60918f0ee1a93c8333aef7544fe52ed647cf0f..4998bc694a139be2e9b477e5f12137f499f6a713 100644 (file)
@@ -951,7 +951,8 @@ CREATE TABLE public.messages (
     to_user_id bigint NOT NULL,
     to_user_visible boolean DEFAULT true NOT NULL,
     from_user_visible boolean DEFAULT true NOT NULL,
-    body_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL
+    body_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL,
+    muted boolean DEFAULT false NOT NULL
 );
 
 
@@ -1454,6 +1455,38 @@ CREATE SEQUENCE public.user_blocks_id_seq
 ALTER SEQUENCE public.user_blocks_id_seq OWNED BY public.user_blocks.id;
 
 
+--
+-- Name: user_mutes; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE public.user_mutes (
+    id bigint NOT NULL,
+    owner_id bigint NOT NULL,
+    subject_id bigint NOT NULL,
+    created_at timestamp(6) without time zone NOT NULL,
+    updated_at timestamp(6) without time zone NOT NULL
+);
+
+
+--
+-- Name: user_mutes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public.user_mutes_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: user_mutes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public.user_mutes_id_seq OWNED BY public.user_mutes.id;
+
+
 --
 -- Name: user_preferences; Type: TABLE; Schema: public; Owner: -
 --
@@ -1835,6 +1868,13 @@ ALTER TABLE ONLY public.reports ALTER COLUMN id SET DEFAULT nextval('public.repo
 ALTER TABLE ONLY public.user_blocks ALTER COLUMN id SET DEFAULT nextval('public.user_blocks_id_seq'::regclass);
 
 
+--
+-- Name: user_mutes id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.user_mutes ALTER COLUMN id SET DEFAULT nextval('public.user_mutes_id_seq'::regclass);
+
+
 --
 -- Name: user_roles id; Type: DEFAULT; Schema: public; Owner: -
 --
@@ -2216,6 +2256,14 @@ ALTER TABLE ONLY public.user_blocks
     ADD CONSTRAINT user_blocks_pkey PRIMARY KEY (id);
 
 
+--
+-- Name: user_mutes user_mutes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.user_mutes
+    ADD CONSTRAINT user_mutes_pkey PRIMARY KEY (id);
+
+
 --
 -- Name: user_preferences user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
@@ -2734,6 +2782,13 @@ CREATE INDEX index_reports_on_user_id ON public.reports USING btree (user_id);
 CREATE INDEX index_user_blocks_on_user_id ON public.user_blocks USING btree (user_id);
 
 
+--
+-- Name: index_user_mutes_on_owner_id_and_subject_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE UNIQUE INDEX index_user_mutes_on_owner_id_and_subject_id ON public.user_mutes USING btree (owner_id, subject_id);
+
+
 --
 -- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
@@ -2868,17 +2923,17 @@ CREATE UNIQUE INDEX users_auth_idx ON public.users USING btree (auth_provider, a
 
 
 --
--- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -
+-- Name: users_display_name_canonical_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE UNIQUE INDEX users_display_name_idx ON public.users USING btree (display_name);
+CREATE INDEX users_display_name_canonical_idx ON public.users USING btree (lower(NORMALIZE(display_name, NFKC)));
 
 
 --
--- Name: users_display_name_lower_idx; Type: INDEX; Schema: public; Owner: -
+-- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX users_display_name_lower_idx ON public.users USING btree (lower((display_name)::text));
+CREATE UNIQUE INDEX users_display_name_idx ON public.users USING btree (display_name);
 
 
 --
@@ -3107,6 +3162,14 @@ ALTER TABLE ONLY public.oauth_access_grants
     ADD CONSTRAINT fk_rails_330c32d8d9 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
 
 
+--
+-- Name: user_mutes fk_rails_591dad3359; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.user_mutes
+    ADD CONSTRAINT fk_rails_591dad3359 FOREIGN KEY (owner_id) REFERENCES public.users(id);
+
+
 --
 -- Name: oauth_access_tokens fk_rails_732cb83ab7; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
@@ -3155,6 +3218,14 @@ ALTER TABLE ONLY public.oauth_applications
     ADD CONSTRAINT fk_rails_cc886e315a FOREIGN KEY (owner_id) REFERENCES public.users(id) NOT VALID;
 
 
+--
+-- Name: user_mutes fk_rails_e9dd4fb6c3; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public.user_mutes
+    ADD CONSTRAINT fk_rails_e9dd4fb6c3 FOREIGN KEY (subject_id) REFERENCES public.users(id);
+
+
 --
 -- Name: oauth_access_tokens fk_rails_ee63f25419; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
@@ -3510,10 +3581,14 @@ INSERT INTO "schema_migrations" (version) VALUES
 ('23'),
 ('22'),
 ('21'),
+('20240117185445'),
+('20231213182102'),
 ('20231206141457'),
 ('20231117170422'),
 ('20231101222146'),
 ('20231029151516'),
+('20231010203028'),
+('20231010201451'),
 ('20231010194809'),
 ('20231007141103'),
 ('20230830115220'),
index 0456c08732a927eb1c944f74b5ccc969f9971ce4..88db38eb4bf914b8331655e134cbdf70b243c4ee 100644 (file)
@@ -1,7 +1,8 @@
 module Oauth
   SCOPES = %w[read_prefs write_prefs write_diary write_api read_gpx write_gpx write_notes].freeze
   PRIVILEGED_SCOPES = %w[read_email skip_authorization].freeze
-  OAUTH2_SCOPES = %w[openid].freeze
+  MODERATOR_SCOPES = %w[write_redactions].freeze
+  OAUTH2_SCOPES = %w[write_redactions openid].freeze
 
   class Scope
     attr_reader :name
index 28d755b24d4a40e74934d50600258764234d5803..81de3ef587402b35eeff71727e49b85da903da81 100755 (executable)
@@ -33,6 +33,6 @@ mail = Mail.new($stdin.read
 message = Message.from_mail(mail, from, to)
 message.save!
 
-UserMailer.message_notification(message).deliver
+UserMailer.message_notification(message).deliver if message.notify_recipient?
 
 exit 0
index f6546a550d6cb4ade8238ba75bda6364752e6e60..b170e74b1aa75e1273aa02c20e418beac20e31fd 100644 (file)
@@ -10,4 +10,21 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
   driven_by :selenium, :using => :headless_firefox do |options|
     options.add_preference("intl.accept_languages", "en")
   end
+
+  def before_setup
+    super
+    osm_website_app = create(:oauth_application, :name => "OpenStreetMap Web Site", :scopes => "write_api write_notes")
+    Settings.oauth_application = osm_website_app.uid
+  end
+
+  def after_teardown
+    Settings.reload!
+    super
+  end
+
+  private
+
+  def within_sidebar(&block)
+    within "#sidebar_content", &block
+  end
 end
index 874ac3ccda1a65d474e9a1f6cd12312177a43967..303bcea91fc5abbb32df2e03d8890a6eb58870a6 100644 (file)
@@ -345,7 +345,7 @@ module Api
       end
       assert_response :gone
 
-      closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+      closed_note_with_comment = create(:note_with_comments, :closed)
 
       assert_no_difference "NoteComment.count" do
         post comment_api_note_path(:id => closed_note_with_comment, :text => "This is an additional comment"), :headers => auth_header
@@ -406,14 +406,14 @@ module Api
       post close_api_note_path(:id => hidden_note_with_comment), :headers => auth_header
       assert_response :gone
 
-      closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+      closed_note_with_comment = create(:note_with_comments, :closed)
 
       post close_api_note_path(:id => closed_note_with_comment), :headers => auth_header
       assert_response :conflict
     end
 
     def test_reopen_success
-      closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
+      closed_note_with_comment = create(:note_with_comments, :closed)
       user = create(:user)
 
       post reopen_api_note_path(:id => closed_note_with_comment, :text => "This is a reopen comment", :format => "json")
@@ -428,7 +428,7 @@ module Api
       assert_equal "Feature", js["type"]
       assert_equal closed_note_with_comment.id, js["properties"]["id"]
       assert_equal "open", js["properties"]["status"]
-      assert_equal 2, js["properties"]["comments"].count
+      assert_equal 3, js["properties"]["comments"].count
       assert_equal "reopened", js["properties"]["comments"].last["action"]
       assert_equal "This is a reopen comment", js["properties"]["comments"].last["text"]
       assert_equal user.display_name, js["properties"]["comments"].last["user"]
@@ -440,7 +440,7 @@ module Api
       assert_equal "Feature", js["type"]
       assert_equal closed_note_with_comment.id, js["properties"]["id"]
       assert_equal "open", js["properties"]["status"]
-      assert_equal 2, js["properties"]["comments"].count
+      assert_equal 3, js["properties"]["comments"].count
       assert_equal "reopened", js["properties"]["comments"].last["action"]
       assert_equal "This is a reopen comment", js["properties"]["comments"].last["text"]
       assert_equal user.display_name, js["properties"]["comments"].last["user"]
@@ -752,8 +752,8 @@ module Api
     end
 
     def test_index_closed
-      create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc - 5.days)
-      create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc - 100.days)
+      create(:note_with_comments, :closed, :closed_at => Time.now.utc - 5.days)
+      create(:note_with_comments, :closed, :closed_at => Time.now.utc - 100.days)
       create(:note_with_comments, :status => "hidden")
       create(:note_with_comments)
 
index a87f3025860729ecd1f035b1f6a16d58287bc9d0..737f11c7317b697406e954500e32339a89bd5067 100644 (file)
@@ -238,6 +238,43 @@ module Api
       assert_response :bad_request, "shouldn't be OK to redact current version as moderator."
     end
 
+    def test_redact_node_by_regular_with_read_prefs_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[read_prefs])
+      do_redact_redactable_node(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_node_by_regular_with_write_api_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[write_api])
+      do_redact_redactable_node(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_node_by_regular_with_write_redactions_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[write_redactions])
+      do_redact_redactable_node(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_node_by_moderator_with_read_prefs_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[read_prefs])
+      do_redact_redactable_node(auth_header)
+      assert_response :forbidden, "should need to have write_redactions scope to redact."
+    end
+
+    def test_redact_node_by_moderator_with_write_api_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[write_api])
+      do_redact_redactable_node(auth_header)
+      assert_response :success, "should be OK to redact old version as moderator with write_api scope."
+      # assert_response :forbidden, "should need to have write_redactions scope to redact."
+    end
+
+    def test_redact_node_by_moderator_with_write_redactions_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[write_redactions])
+      do_redact_redactable_node(auth_header)
+      assert_response :success, "should be OK to redact old version as moderator with write_redactions scope."
+    end
+
     ##
     # test that redacted nodes aren't visible, regardless of
     # authorisation except as moderator...
@@ -395,6 +432,19 @@ module Api
 
     private
 
+    def create_bearer_auth_header(user, scopes)
+      token = create(:oauth_access_token,
+                     :resource_owner_id => user.id,
+                     :scopes => scopes)
+      bearer_authorization_header(token.token)
+    end
+
+    def do_redact_redactable_node(headers = {})
+      node = create(:node, :with_history, :version => 4)
+      node_v3 = node.old_nodes.find_by(:version => 3)
+      do_redact_node(node_v3, create(:redaction), headers)
+    end
+
     def do_redact_node(node, redaction, headers = {})
       get node_version_path(:id => node.node_id, :version => node.version), :headers => headers
       assert_response :success, "should be able to get version #{node.version} of node #{node.node_id}."
index d51665b03c70b59d6c11a8676675471699f94fb0..ea26e5cb795c60bfa523f411fb458b4c2dfc0037 100644 (file)
@@ -77,6 +77,43 @@ module Api
       assert_response :bad_request, "shouldn't be OK to redact current version as moderator."
     end
 
+    def test_redact_relation_by_regular_with_read_prefs_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[read_prefs])
+      do_redact_redactable_relation(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_relation_by_regular_with_write_api_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[write_api])
+      do_redact_redactable_relation(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_relation_by_regular_with_write_redactions_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[write_redactions])
+      do_redact_redactable_relation(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_relation_by_moderator_with_read_prefs_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[read_prefs])
+      do_redact_redactable_relation(auth_header)
+      assert_response :forbidden, "should need to have write_redactions scope to redact."
+    end
+
+    def test_redact_relation_by_moderator_with_write_api_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[write_api])
+      do_redact_redactable_relation(auth_header)
+      assert_response :success, "should be OK to redact old version as moderator with write_api scope."
+      # assert_response :forbidden, "should need to have write_redactions scope to redact."
+    end
+
+    def test_redact_relation_by_moderator_with_write_redactions_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[write_redactions])
+      do_redact_redactable_relation(auth_header)
+      assert_response :success, "should be OK to redact old version as moderator with write_redactions scope."
+    end
+
     ##
     # test that redacted relations aren't visible, regardless of
     # authorisation except as moderator...
@@ -278,6 +315,19 @@ module Api
       end
     end
 
+    def create_bearer_auth_header(user, scopes)
+      token = create(:oauth_access_token,
+                     :resource_owner_id => user.id,
+                     :scopes => scopes)
+      bearer_authorization_header(token.token)
+    end
+
+    def do_redact_redactable_relation(headers = {})
+      relation = create(:relation, :with_history, :version => 4)
+      relation_v3 = relation.old_relations.find_by(:version => 3)
+      do_redact_relation(relation_v3, create(:redaction), headers)
+    end
+
     def do_redact_relation(relation, redaction, headers = {})
       get relation_version_path(:id => relation.relation_id, :version => relation.version)
       assert_response :success, "should be able to get version #{relation.version} of relation #{relation.relation_id}."
index 6c4eb16a12dc772a9a3f7cf13ed899475fb61263..4c225fb3347febcaecb710b8913a0686d3065f86 100644 (file)
@@ -118,6 +118,43 @@ module Api
       assert_response :bad_request, "shouldn't be OK to redact current version as moderator."
     end
 
+    def test_redact_way_by_regular_with_read_prefs_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[read_prefs])
+      do_redact_redactable_way(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_way_by_regular_with_write_api_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[write_api])
+      do_redact_redactable_way(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_way_by_regular_with_write_redactions_scope
+      auth_header = create_bearer_auth_header(create(:user), %w[write_redactions])
+      do_redact_redactable_way(auth_header)
+      assert_response :forbidden, "should need to be moderator to redact."
+    end
+
+    def test_redact_way_by_moderator_with_read_prefs_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[read_prefs])
+      do_redact_redactable_way(auth_header)
+      assert_response :forbidden, "should need to have write_redactions scope to redact."
+    end
+
+    def test_redact_way_by_moderator_with_write_api_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[write_api])
+      do_redact_redactable_way(auth_header)
+      assert_response :success, "should be OK to redact old version as moderator with write_api scope."
+      # assert_response :forbidden, "should need to have write_redactions scope to redact."
+    end
+
+    def test_redact_way_by_moderator_with_write_redactions_scope
+      auth_header = create_bearer_auth_header(create(:moderator_user), %w[write_redactions])
+      do_redact_redactable_way(auth_header)
+      assert_response :success, "should be OK to redact old version as moderator with write_redactions scope."
+    end
+
     ##
     # test that redacted ways aren't visible, regardless of
     # authorisation except as moderator...
@@ -318,6 +355,19 @@ module Api
       end
     end
 
+    def create_bearer_auth_header(user, scopes)
+      token = create(:oauth_access_token,
+                     :resource_owner_id => user.id,
+                     :scopes => scopes)
+      bearer_authorization_header(token.token)
+    end
+
+    def do_redact_redactable_way(headers = {})
+      way = create(:way, :with_history, :version => 4)
+      way_v3 = way.old_ways.find_by(:version => 3)
+      do_redact_way(way_v3, create(:redaction), headers)
+    end
+
     def do_redact_way(way, redaction, headers = {})
       get way_version_path(:id => way.way_id, :version => way.version)
       assert_response :success, "should be able to get version #{way.version} of way #{way.way_id}."
index 674a318ed9173fd6e9a0cf0df149c1075d316fb9..7df246c5781c65e609737be9f151c9eff7a4e875 100644 (file)
@@ -39,35 +39,93 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
   end
 
   def test_read_relation
-    browse_check :relation_path, create(:relation).id, "browse/feature"
+    relation = create(:relation)
+    browse_check :relation_path, relation.id, "browse/feature"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_relation_path relation, 1}']", :text => "1", :count => 1
+    end
+    assert_select ".secondary-actions a[href='#{api_relation_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_relation_path relation, 1}']", :count => 0
+  end
+
+  def test_multiple_version_relation_links
+    relation = create(:relation, :with_history, :version => 2)
+    browse_check :relation_path, relation.id, "browse/feature"
+    assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_relation_path relation, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_relation_path relation, 2}']", :count => 1
   end
 
   def test_read_relation_history
-    browse_check :relation_history_path, create(:relation, :with_history).id, "browse/history"
+    relation = create(:relation, :with_history)
+    browse_check :relation_history_path, relation.id, "browse/history"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_relation_path relation, 1}']", :text => "1", :count => 1
+    end
   end
 
   def test_read_way
-    browse_check :way_path, create(:way).id, "browse/feature"
+    way = create(:way)
+    browse_check :way_path, way.id, "browse/feature"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_way_path way, 1}']", :text => "1", :count => 1
+    end
+    assert_select ".secondary-actions a[href='#{api_way_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_way_path way, 1}']", :count => 0
+  end
+
+  def test_multiple_version_way_links
+    way = create(:way, :with_history, :version => 2)
+    browse_check :way_path, way.id, "browse/feature"
+    assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_way_path way, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_way_path way, 2}']", :count => 1
   end
 
   def test_read_way_history
-    browse_check :way_history_path, create(:way, :with_history).id, "browse/history"
+    way = create(:way, :with_history)
+    browse_check :way_history_path, way.id, "browse/history"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_way_path way, 1}']", :text => "1", :count => 1
+    end
   end
 
   def test_read_node
     node = create(:node)
     browse_check :node_path, node.id, "browse/feature"
-    assert_select "a[href='#{api_node_path node}']", :count => 1
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_node_path node, 1}']", :text => "1", :count => 1
+    end
+    assert_select ".secondary-actions a[href='#{api_node_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_node_path node, 1}']", :count => 0
+  end
+
+  def test_multiple_version_node_links
+    node = create(:node, :with_history, :version => 2)
+    browse_check :node_path, node.id, "browse/feature"
+    assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_node_path node, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_node_path node, 2}']", :count => 1
   end
 
   def test_read_deleted_node
     node = create(:node, :visible => false)
     browse_check :node_path, node.id, "browse/feature"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_node_path node, 1}']", :text => "1", :count => 1
+    end
     assert_select "a[href='#{api_node_path node}']", :count => 0
   end
 
   def test_read_node_history
-    browse_check :node_history_path, create(:node, :with_history).id, "browse/history"
+    node = create(:node, :with_history)
+    browse_check :node_history_path, node.id, "browse/history"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_node_path node, 1}']", :text => "1", :count => 1
+    end
   end
 
   def test_read_changeset
index 5cffbd702f8ebcfbf4b8eabe09094462e5ca1b0a..b2f14a127ea163d29f0d7bb2a5c7534027872db9 100644 (file)
@@ -144,9 +144,7 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
 
   def test_read_closed_note
     user = create(:user)
-    closed_note = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc, :comments_count => 2) do |note|
-      create(:note_comment, :event => "closed", :note => note, :author => user)
-    end
+    closed_note = create(:note_with_comments, :closed, :closed_by => user, :comments_count => 2)
 
     browse_check :note_path, closed_note.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 2
diff --git a/test/controllers/old_nodes_controller_test.rb b/test/controllers/old_nodes_controller_test.rb
new file mode 100644 (file)
index 0000000..3f2958b
--- /dev/null
@@ -0,0 +1,72 @@
+require "test_helper"
+
+class OldNodesControllerTest < ActionDispatch::IntegrationTest
+  def test_routes
+    assert_routing(
+      { :path => "/node/1/history/2", :method => :get },
+      { :controller => "old_nodes", :action => "show", :id => "1", :version => "2" }
+    )
+  end
+
+  def test_visible_with_one_version
+    node = create(:node, :with_history)
+    get old_node_path(node, 1)
+    assert_response :success
+    assert_template "old_nodes/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_node_path node, 1}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{node_version_path node, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
+  end
+
+  def test_visible_with_two_versions
+    node = create(:node, :with_history, :version => 2)
+    get old_node_path(node, 1)
+    assert_response :success
+    assert_template "old_nodes/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_node_path node, 1}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{node_version_path node, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_node_path node, 2}']", :count => 1
+
+    get old_node_path(node, 2)
+    assert_response :success
+    assert_template "old_nodes/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_node_path node, 2}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{node_version_path node, 2}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_node_path node, 1}']", :count => 1
+  end
+
+  def test_redacted
+    node = create(:node, :with_history, :deleted, :version => 2)
+    node_v1 = node.old_nodes.find_by(:version => 1)
+    node_v1.redact!(create(:redaction))
+    get old_node_path(node, 1)
+    assert_response :success
+    assert_template "old_nodes/show"
+    assert_template :layout => "map"
+    assert_select ".secondary-actions a[href='#{node_path node}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_node_path node, 1}']", :count => 0
+    assert_select ".secondary-actions a[href='#{node_version_path node, 1}']", :count => 0
+  end
+
+  def test_not_found
+    get old_node_path(0, 0)
+    assert_response :not_found
+    assert_template "old_nodes/not_found"
+    assert_template :layout => "map"
+    assert_select "#sidebar_content", /node #0 version 0 could not be found/
+  end
+end
diff --git a/test/controllers/old_relations_controller_test.rb b/test/controllers/old_relations_controller_test.rb
new file mode 100644 (file)
index 0000000..311e595
--- /dev/null
@@ -0,0 +1,81 @@
+require "test_helper"
+
+class OldRelationsControllerTest < ActionDispatch::IntegrationTest
+  def test_routes
+    assert_routing(
+      { :path => "/relation/1/history/2", :method => :get },
+      { :controller => "old_relations", :action => "show", :id => "1", :version => "2" }
+    )
+  end
+
+  def test_visible_with_one_version
+    relation = create(:relation, :with_history)
+    get old_relation_path(relation, 1)
+    assert_response :success
+    assert_template "old_relations/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_relation_path relation, 1}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{relation_version_path relation, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
+  end
+
+  def test_visible_with_two_versions
+    relation = create(:relation, :with_history, :version => 2)
+    get old_relation_path(relation, 1)
+    assert_response :success
+    assert_template "old_relations/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_relation_path relation, 1}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{relation_version_path relation, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_relation_path relation, 2}']", :count => 1
+
+    get old_relation_path(relation, 2)
+    assert_response :success
+    assert_template "old_relations/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_relation_path relation, 2}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{relation_version_path relation, 2}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_relation_path relation, 1}']", :count => 1
+  end
+
+  def test_visible_with_members
+    relation = create(:relation, :with_history)
+    create(:old_relation_member, :old_relation => relation.old_relations.first)
+    get old_relation_path(relation, 1)
+    assert_response :success
+    assert_template "old_relations/show"
+    assert_template :layout => "map"
+  end
+
+  def test_redacted
+    relation = create(:relation, :with_history, :deleted, :version => 2)
+    relation_v1 = relation.old_relations.find_by(:version => 1)
+    relation_v1.redact!(create(:redaction))
+    get old_relation_path(relation, 1)
+    assert_response :success
+    assert_template "old_relations/show"
+    assert_template :layout => "map"
+    assert_select ".secondary-actions a[href='#{relation_path relation}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_relation_path relation, 1}']", :count => 0
+    assert_select ".secondary-actions a[href='#{relation_version_path relation, 1}']", :count => 0
+  end
+
+  def test_not_found
+    get old_relation_path(0, 0)
+    assert_response :not_found
+    assert_template "old_relations/not_found"
+    assert_template :layout => "map"
+    assert_select "#sidebar_content", /relation #0 version 0 could not be found/
+  end
+end
diff --git a/test/controllers/old_ways_controller_test.rb b/test/controllers/old_ways_controller_test.rb
new file mode 100644 (file)
index 0000000..d428605
--- /dev/null
@@ -0,0 +1,86 @@
+require "test_helper"
+
+class OldWaysControllerTest < ActionDispatch::IntegrationTest
+  def test_routes
+    assert_routing(
+      { :path => "/way/1/history/2", :method => :get },
+      { :controller => "old_ways", :action => "show", :id => "1", :version => "2" }
+    )
+  end
+
+  def test_visible_with_one_version
+    way = create(:way, :with_history)
+    get old_way_path(way, 1)
+    assert_response :success
+    assert_template "old_ways/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_way_path way, 1}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{way_version_path way, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
+  end
+
+  def test_visible_with_two_versions
+    way = create(:way, :with_history, :version => 2)
+    get old_way_path(way, 1)
+    assert_response :success
+    assert_template "old_ways/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_way_path way, 1}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{way_version_path way, 1}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_way_path way, 2}']", :count => 1
+
+    get old_way_path(way, 2)
+    assert_response :success
+    assert_template "old_ways/show"
+    assert_template :layout => "map"
+    assert_select "h4", /^Version/ do
+      assert_select "a[href='#{old_way_path way, 2}']", :count => 0
+    end
+    assert_select ".secondary-actions a[href='#{way_version_path way, 2}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_way_path way, 1}']", :count => 1
+  end
+
+  def test_visible_with_shared_nodes
+    node = create(:node, :with_history)
+    way = create(:way, :with_history)
+    create(:way_node, :way => way, :node => node)
+    create(:old_way_node, :old_way => way.old_ways.first, :node => node)
+    sharing_way = create(:way, :with_history)
+    create(:way_node, :way => sharing_way, :node => node)
+    create(:old_way_node, :old_way => sharing_way.old_ways.first, :node => node)
+    get old_way_path(way, 1)
+    assert_response :success
+    assert_template "old_ways/show"
+    assert_template :layout => "map"
+  end
+
+  def test_redacted
+    way = create(:way, :with_history, :deleted, :version => 2)
+    way_v1 = way.old_ways.find_by(:version => 1)
+    way_v1.redact!(create(:redaction))
+    get old_way_path(way, 1)
+    assert_response :success
+    assert_template "old_ways/show"
+    assert_template :layout => "map"
+    assert_select ".secondary-actions a[href='#{way_path way}']", :count => 1
+    assert_select ".secondary-actions a[href='#{old_way_path way, 1}']", :count => 0
+    assert_select ".secondary-actions a[href='#{way_version_path way, 1}']", :count => 0
+  end
+
+  def test_not_found
+    get old_way_path(0, 0)
+    assert_response :not_found
+    assert_template "old_ways/not_found"
+    assert_template :layout => "map"
+    assert_select "#sidebar_content", /way #0 version 0 could not be found/
+  end
+end
index 27022c973748deaa3b0f9937d728824b5532ca16..0877fa39e400f0b809178e96fe7cdfd832986465 100644 (file)
@@ -54,6 +54,14 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest
       { :path => "/user/username/blocks_by", :method => :get },
       { :controller => "user_blocks", :action => "blocks_by", :display_name => "username" }
     )
+    assert_routing(
+      { :path => "/user/username/blocks/revoke_all", :method => :get },
+      { :controller => "user_blocks", :action => "revoke_all", :display_name => "username" }
+    )
+    assert_routing(
+      { :path => "/user/username/blocks/revoke_all", :method => :post },
+      { :controller => "user_blocks", :action => "revoke_all", :display_name => "username" }
+    )
   end
 
   ##
@@ -261,6 +269,21 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest
     assert_select "h1", "The user non_existent_user does not exist"
   end
 
+  ##
+  # test the duration of a created block
+  def test_create_duration
+    target_user = create(:user)
+    moderator_user = create(:moderator_user)
+
+    session_for(moderator_user)
+    post user_blocks_path(:display_name => target_user.display_name,
+                          :user_block_period => "336",
+                          :user_block => { :needs_view => false, :reason => "Vandalism" })
+
+    block = UserBlock.order(:id).last
+    assert_equal 1209600, block.ends_at - block.created_at
+  end
+
   ##
   # test the update action
   def test_update
@@ -371,6 +394,84 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest
     assert_select "p", "Sorry, the user block with ID 99999 could not be found."
   end
 
+  ##
+  # test the revoke all page
+  def test_revoke_all_page
+    blocked_user = create(:user)
+    create(:user_block, :user => blocked_user)
+
+    # Asking for the revoke all blocks page with a bogus user name should fail
+    get user_blocks_on_path(:display_name => "non_existent_user")
+    assert_response :not_found
+
+    # Check that the revoke all blocks page requires us to login
+    get revoke_all_user_blocks_path(blocked_user)
+    assert_redirected_to login_path(:referer => revoke_all_user_blocks_path(blocked_user))
+
+    # Login as a normal user
+    session_for(create(:user))
+
+    # Check that normal users can't load the revoke all blocks page
+    get revoke_all_user_blocks_path(blocked_user)
+    assert_response :redirect
+    assert_redirected_to :controller => "errors", :action => "forbidden"
+
+    # Login as a moderator
+    session_for(create(:moderator_user))
+
+    # Check that the revoke all blocks page loads for moderators
+    get revoke_all_user_blocks_path(blocked_user)
+    assert_response :success
+  end
+
+  ##
+  # test the revoke all action
+  def test_revoke_all_action
+    blocked_user = create(:user)
+    active_block1 = create(:user_block, :user => blocked_user)
+    active_block2 = create(:user_block, :user => blocked_user)
+    expired_block1 = create(:user_block, :expired, :user => blocked_user)
+    blocks = [active_block1, active_block2, expired_block1]
+    moderator_user = create(:moderator_user)
+
+    assert_predicate active_block1, :active?
+    assert_predicate active_block2, :active?
+    assert_not_predicate expired_block1, :active?
+
+    # Login as a normal user
+    session_for(create(:user))
+
+    # Check that normal users can't load the block revoke page
+    get revoke_all_user_blocks_path(:blocked_user)
+    assert_response :redirect
+    assert_redirected_to :controller => "errors", :action => "forbidden"
+
+    # Login as a moderator
+    session_for(moderator_user)
+
+    # Check that revoking blocks using GET should fail
+    get revoke_all_user_blocks_path(blocked_user, :confirm => true)
+    assert_response :success
+    assert_template "revoke_all"
+
+    blocks.each(&:reload)
+    assert_predicate active_block1, :active?
+    assert_predicate active_block2, :active?
+    assert_not_predicate expired_block1, :active?
+
+    # Check that revoking blocks works using POST
+    post revoke_all_user_blocks_path(blocked_user, :confirm => true)
+    assert_redirected_to user_blocks_on_path(blocked_user)
+
+    blocks.each(&:reload)
+    assert_not_predicate active_block1, :active?
+    assert_not_predicate active_block2, :active?
+    assert_not_predicate expired_block1, :active?
+    assert_equal moderator_user, active_block1.revoker
+    assert_equal moderator_user, active_block2.revoker
+    assert_not_equal moderator_user, expired_block1.revoker
+  end
+
   ##
   # test the blocks_on action
   def test_blocks_on
diff --git a/test/controllers/user_mutes_controller_test.rb b/test/controllers/user_mutes_controller_test.rb
new file mode 100644 (file)
index 0000000..cc22faa
--- /dev/null
@@ -0,0 +1,60 @@
+require "test_helper"
+
+class UserMutesControllerTest < ActionDispatch::IntegrationTest
+  def test_routes
+    assert_routing(
+      { :path => "/user/username/mute", :method => :post },
+      { :controller => "user_mutes", :action => "create", :display_name => "username" }
+    )
+    assert_routing(
+      { :path => "/user/username/mute", :method => :delete },
+      { :controller => "user_mutes", :action => "destroy", :display_name => "username" }
+    )
+    assert_routing(
+      { :path => "/user_mutes", :method => :get },
+      { :controller => "user_mutes", :action => "index" }
+    )
+  end
+
+  def test_index
+    user = create(:user)
+    user.mutes.create(:subject => create(:user))
+    session_for(user)
+
+    get user_mutes_path
+    assert_match "You have muted 1 User", @response.body
+  end
+
+  def test_create
+    user = create(:user)
+    session_for(user)
+
+    assert_equal 0, user.muted_users.count
+    subject = create(:user, :display_name => "Bob")
+    post user_mute_path(subject)
+    assert_match "You muted Bob", flash[:notice]
+
+    assert_equal 1, user.muted_users.count
+    assert_equal subject, user.muted_users.first
+
+    post user_mute_path(subject)
+    assert_match "Bob could not be muted. Is already muted", flash[:error]
+    assert_equal 1, user.muted_users.count
+  end
+
+  def test_destroy
+    user = create(:user)
+    session_for(user)
+
+    subject = create(:user, :display_name => "Bob")
+    user.mutes.create(:subject => subject)
+    assert_equal 1, user.muted_users.count
+
+    delete user_mute_path(subject)
+    assert_match "You unmuted Bob", flash[:notice]
+    assert_equal 0, user.muted_users.count
+
+    delete user_mute_path(subject)
+    assert_response :not_found
+  end
+end
index 4f8ee5437fc8a86bcb1897ebbe03b4722da3e78a..906c4dea9fada803fc6e15fe9718c7100ac949d9 100644 (file)
@@ -14,5 +14,9 @@ FactoryBot.define do
     trait :read do
       message_read { true }
     end
+
+    trait :muted do
+      muted { true }
+    end
   end
 end
index 77b4245aa5b037fdf5eb491d565e63f2017d93d0..ab7d5df5677cf87f6f277bbf76c22cec1386a0a7 100644 (file)
@@ -4,6 +4,19 @@ FactoryBot.define do
     longitude { 1 * GeoRecord::SCALE }
     # tile { QuadTile.tile_for_point(1,1) }
 
+    trait :closed do
+      transient do
+        closed_by { nil }
+      end
+
+      status { "closed" }
+      closed_at { Time.now.utc }
+
+      after(:create) do |note, context|
+        create(:note_comment, :author => context.closed_by, :body => "Closing comment", :event => "closed", :note => note)
+      end
+    end
+
     factory :note_with_comments do
       transient do
         comments_count { 1 }
diff --git a/test/factories/user_mute.rb b/test/factories/user_mute.rb
new file mode 100644 (file)
index 0000000..4beaf3a
--- /dev/null
@@ -0,0 +1,6 @@
+FactoryBot.define do
+  factory :user_mute do
+    owner :factory => :user
+    subject :factory => :user
+  end
+end
index 8a4653b2527cb151b2c72dc3a8d52a6288e6e5b8..c255cc76627761a17333d59db8bad1195d5db65d 100644 (file)
@@ -2,6 +2,6 @@ require "test_helper"
 
 class AssetHelperTest < ActionView::TestCase
   def test_assets
-    assert assets("iD").is_a?(Hash)
+    assert_kind_of Hash, assets("iD")
   end
 end
index 76bd04f3b349cb8a649d23e25b4fa20bbe2dca06..f47c215c0e48dc14b2041ebe406d721901f0a0be 100644 (file)
@@ -22,6 +22,12 @@ class BrowseTagsHelperTest < ActionView::TestCase
     html = format_value("unknown", "unknown")
     assert_dom_equal "unknown", html
 
+    html = format_value("unknown", "abc;def")
+    assert_dom_equal "abc;def", html
+
+    html = format_value("unknown", "foo;")
+    assert_dom_equal "foo;", html
+
     html = format_value("addr:street", "Rue de l'Amigo")
     assert_dom_equal "Rue de l&#39;Amigo", html
 
@@ -48,7 +54,9 @@ class BrowseTagsHelperTest < ActionView::TestCase
     assert_dom_equal "<a title=\"The File:Test.jpg item on Wikimedia Commons\" href=\"//commons.wikimedia.org/wiki/File:Test.jpg?uselang=en\">File:Test.jpg</a>", html
 
     html = format_value("colour", "#f00")
-    assert_dom_equal %(<span class="colour-preview-box float-end m-1 border border-dark border-opacity-10" data-colour="#f00" title="Colour #f00 preview"></span>#f00), html
+    dom = Rails::Dom::Testing.html_document_fragment.parse html
+    assert_select dom, "svg>rect>@fill", "#f00"
+    assert_match(/#f00$/, html)
 
     html = format_value("email", "foo@example.com")
     assert_dom_equal "<a title=\"Email foo@example.com\" href=\"mailto:foo@example.com\">foo@example.com</a>", html
diff --git a/test/helpers/svg_helper_test.rb b/test/helpers/svg_helper_test.rb
new file mode 100644 (file)
index 0000000..25a9e45
--- /dev/null
@@ -0,0 +1,113 @@
+require "test_helper"
+
+class SvgHelperTest < ActionView::TestCase
+  def test_key_fill
+    svg = key_svg_tag("width" => 60, "height" => 40, "fill" => "green")
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="60" height="40">
+        <rect width="100%" height="100%" fill="green" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_border
+    svg = key_svg_tag("width" => 60, "height" => 40, "border" => "red")
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="60" height="40">
+        <rect x="0.5" y="0.5" width="59" height="39" fill="none" stroke="red" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_border_width
+    svg = key_svg_tag("width" => 60, "height" => 40, "border" => "red", "border-width" => 3)
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="60" height="40">
+        <rect x="1.5" y="1.5" width="57" height="37" fill="none" stroke="red" stroke-width="3" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_border_with_integer_coords
+    svg = key_svg_tag("width" => 60, "height" => 40, "border" => "red", "border-width" => 2)
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="60" height="40">
+        <rect x="1" y="1" width="58" height="38" fill="none" stroke="red" stroke-width="2" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_border_fractional_width
+    svg = key_svg_tag("width" => 60, "height" => 40, "border" => "red", "border-width" => 1.5)
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="60" height="40">
+        <rect x="0.75" y="0.75" width="58.5" height="38.5" fill="none" stroke="red" stroke-width="1.5" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_line
+    svg = key_svg_tag("width" => 80, "height" => 15, "line" => "blue")
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="80" height="15">
+        <path d="M0,7.5 H80" stroke="blue" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_line_width
+    svg = key_svg_tag("width" => 80, "height" => 15, "line" => "blue", "line-width" => 3)
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="80" height="15">
+        <path d="M0,7.5 H80" stroke="blue" stroke-width="3" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_line_with_integer_coords
+    svg = key_svg_tag("width" => 80, "height" => 20, "line" => "blue")
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="80" height="20">
+        <path d="M0,10 H80" stroke="blue" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_casing
+    svg = key_svg_tag("width" => 80, "height" => 20, "casing" => "yellow")
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="80" height="20">
+        <path d="M0,0.5 H80 M0,19.5 H80" stroke="yellow" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_casing_width
+    svg = key_svg_tag("width" => 80, "height" => 20, "casing" => "yellow", "casing-width" => 5)
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="80" height="20">
+        <path d="M0,2.5 H80 M0,17.5 H80" stroke="yellow" stroke-width="5" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+
+  def test_key_casing_with_integer_coords
+    svg = key_svg_tag("width" => 80, "height" => 20, "casing" => "yellow", "casing-width" => 2)
+    expected = <<~HTML.gsub(/\n\s*/, "")
+      <svg width="80" height="20">
+        <path d="M0,1 H80 M0,19 H80" stroke="yellow" stroke-width="2" />
+      </svg>
+    HTML
+    assert_dom_equal expected, svg
+  end
+end
index 21e751bcaf6eeb7ebd8ec9cea54882253fe24e36..253f298a58f36493bb9e5bbca18c34586f75de30 100644 (file)
@@ -18,149 +18,152 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_create_user_form
-    I18n.with_locale "en" do
-      I18n.available_locales.each do |locale|
-        reset!
-        get "/user/new", :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
-        follow_redirect!
-        assert_response :success
-        assert_template "users/new"
-      end
-    end
+    get "/user/new"
+    follow_redirect!
+    assert_response :success
+    assert_template "users/new"
   end
 
   def test_user_create_submit_duplicate_email
-    I18n.with_locale "en" do
-      Locale.available.each do |locale|
-        dup_email = create(:user).email
-        display_name = "#{locale}_new_tester"
-        assert_difference("User.count", 0) do
-          assert_difference("ActionMailer::Base.deliveries.size", 0) do
-            perform_enqueued_jobs do
-              post "/user/new",
-                   :params => { :user => { :email => dup_email,
-                                           :email_confirmation => dup_email,
-                                           :display_name => display_name,
-                                           :pass_crypt => "testtest",
-                                           :pass_crypt_confirmation => "testtest" } },
-                   :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
-            end
-          end
+    dup_email = create(:user).email
+    display_name = "new_tester"
+    assert_difference("User.count", 0) do
+      assert_difference("ActionMailer::Base.deliveries.size", 0) do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => dup_email,
+                                       :email_confirmation => dup_email,
+                                       :display_name => display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest" } }
         end
-        assert_response :success
-        assert_template "users/new"
-        assert_equal locale.to_s, response.headers["Content-Language"]
-        assert_select "form"
-        assert_select "form > div > input.is-invalid#user_email"
-        assert_no_missing_translations
       end
     end
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form"
+    assert_select "form > div > input.is-invalid#user_email"
   end
 
   def test_user_create_submit_duplicate_username
-    I18n.with_locale "en" do
-      I18n.available_locales.each do |locale|
-        dup_display_name = create(:user).display_name
-        email = "#{locale}_new_tester"
-        assert_difference("User.count", 0) do
-          assert_difference("ActionMailer::Base.deliveries.size", 0) do
-            perform_enqueued_jobs do
-              post "/user/new",
-                   :params => { :user => { :email => email,
-                                           :email_confirmation => email,
-                                           :display_name => dup_display_name,
-                                           :pass_crypt => "testtest",
-                                           :pass_crypt_confirmation => "testtest" } },
-                   :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
-            end
-          end
+    dup_display_name = create(:user).display_name
+    email = "new_tester"
+    assert_difference("User.count", 0) do
+      assert_difference("ActionMailer::Base.deliveries.size", 0) do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => email,
+                                       :email_confirmation => email,
+                                       :display_name => dup_display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest" } }
+        end
+      end
+    end
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_display_name"
+  end
+
+  def test_user_create_submit_mismatched_passwords
+    email = "newtester@osm.org"
+    display_name = "new_tester"
+    assert_difference("User.count", 0) do
+      assert_difference("ActionMailer::Base.deliveries.size", 0) do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => email,
+                                       :email_confirmation => email,
+                                       :display_name => display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "blahblah" } }
         end
-        assert_response :success
-        assert_template "users/new"
-        assert_select "form > div > input.is-invalid#user_display_name"
-        assert_no_missing_translations
       end
     end
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_pass_crypt_confirmation"
   end
 
   def test_user_create_success
-    I18n.with_locale "en" do
-      I18n.available_locales.each do |locale|
-        new_email = "#{locale}newtester@osm.org"
-        display_name = "#{locale}_new_tester"
-
-        assert_difference("User.count", 0) do
-          assert_difference("ActionMailer::Base.deliveries.size", 0) do
-            perform_enqueued_jobs do
-              post "/user/new",
-                   :params => { :user => { :email => new_email,
-                                           :email_confirmation => new_email,
-                                           :display_name => display_name,
-                                           :pass_crypt => "testtest",
-                                           :pass_crypt_confirmation => "testtest" } }
-            end
-          end
+    new_email = "newtester@osm.org"
+    display_name = "new_tester"
+
+    assert_difference("User.count", 0) do
+      assert_difference("ActionMailer::Base.deliveries.size", 0) do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => new_email,
+                                       :email_confirmation => new_email,
+                                       :display_name => display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest" } }
         end
+      end
+    end
+
+    assert_redirected_to "/user/terms"
 
-        assert_redirected_to "/user/terms"
-
-        assert_difference("User.count") do
-          assert_difference("ActionMailer::Base.deliveries.size", 1) do
-            perform_enqueued_jobs do
-              post "/user/save",
-                   :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s },
-                   :params => { :read_ct => 1, :read_tou => 1 }
-              follow_redirect!
-            end
-          end
+    assert_difference("User.count") do
+      assert_difference("ActionMailer::Base.deliveries.size", 1) do
+        perform_enqueued_jobs do
+          post "/user/save",
+               :params => { :read_ct => 1, :read_tou => 1 }
+          follow_redirect!
         end
+      end
+    end
 
-        # Check the e-mail
-        register_email = ActionMailer::Base.deliveries.first
+    assert_response :success
+    assert_template "confirmations/confirm"
 
-        assert_equal register_email.to.first, new_email
-        # Check that the confirm account url is correct
-        assert_match(/#{@url}/, register_email.body.to_s)
+    user = User.find_by(:email => "newtester@osm.org")
+    assert_not_nil user
+    assert_not_predicate user, :active?
 
-        # Check the page
-        assert_response :success
-        assert_template "confirmations/confirm"
+    register_email = ActionMailer::Base.deliveries.first
+    assert_equal register_email.to.first, new_email
+    found_confirmation_url = register_email.parts.first.parts.first.to_s =~ %r{\shttp://test.host(/\S+)\s}
+    assert found_confirmation_url
+    confirmation_url = Regexp.last_match(1)
+    ActionMailer::Base.deliveries.clear
 
-        ActionMailer::Base.deliveries.clear
-      end
-    end
+    post confirmation_url
+
+    assert_response :redirect
+    assert_redirected_to welcome_path
+
+    user.reload
+    assert_predicate user, :active?
+
+    assert_equal user, User.authenticate(:username => new_email, :password => "testtest")
   end
 
   def test_user_create_no_tou_failure
-    I18n.with_locale "en" do
-      I18n.available_locales.each do |locale|
-        new_email = "#{locale}newtester@osm.org"
-        display_name = "#{locale}_new_tester"
-
-        assert_difference("User.count", 0) do
-          assert_difference("ActionMailer::Base.deliveries.size", 0) do
-            perform_enqueued_jobs do
-              post "/user/new",
-                   :params => { :user => { :email => new_email,
-                                           :email_confirmation => new_email,
-                                           :display_name => display_name,
-                                           :pass_crypt => "testtest",
-                                           :pass_crypt_confirmation => "testtest" } }
-            end
-          end
-        end
-
-        assert_redirected_to "/user/terms"
+    new_email = "#newtester@osm.org"
+    display_name = "new_tester"
 
+    assert_difference("User.count", 0) do
+      assert_difference("ActionMailer::Base.deliveries.size", 0) do
         perform_enqueued_jobs do
-          post "/user/save",
-               :headers => { "HTTP_ACCEPT_LANGUAGE" => locale.to_s }
-          assert_redirected_to "/user/terms"
+          post "/user/new",
+               :params => { :user => { :email => new_email,
+                                       :email_confirmation => new_email,
+                                       :display_name => display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest" } }
         end
-
-        ActionMailer::Base.deliveries.clear
       end
     end
+
+    assert_redirected_to "/user/terms"
+
+    perform_enqueued_jobs do
+      post "/user/save"
+      assert_redirected_to "/user/terms"
+    end
+
+    ActionMailer::Base.deliveries.clear
   end
 
   # Check that the user can successfully recover their password
index d176e0fa78208e794e315191fa280cba4a4dd935..9143fcd81c5d1f3dd110ca59fd0d2cf5c4f40c13 100644 (file)
@@ -222,7 +222,7 @@ class BoundingBoxTest < ActiveSupport::TestCase
   end
 
   def test_complete
-    assert_not @bbox_from_nils.complete?, "should contain a nil"
+    assert_not_predicate @bbox_from_nils, :complete?, "should contain a nil"
     assert_predicate @bbox_from_string, :complete?, "should not contain a nil"
   end
 
index 8d597fc6592ecb373e8179c4c302bbe7a839c405..fe94cbdd3604e1de39d2b8505891d7fcd51a3cdb 100644 (file)
@@ -2,7 +2,7 @@ require "test_helper"
 
 class I18nTest < ActiveSupport::TestCase
   I18n.available_locales.each do |locale|
-    define_method(:"test_#{locale.to_s.underscore}") do
+    test locale.to_s do
       without_i18n_exceptions do
         # plural_keys = plural_keys(locale)
 
@@ -42,7 +42,7 @@ class I18nTest < ActiveSupport::TestCase
 
             assert_includes value, :other, "#{key}.other plural key missing"
           else
-            assert value.is_a?(String), "#{key} is not a string"
+            assert_kind_of String, value, "#{key} is not a string"
 
             value.scan(/%\{(\w+)\}/) do
               assert_includes variables, Regexp.last_match(1), "#{key} uses unknown interpolation variable #{Regexp.last_match(1)}"
@@ -57,7 +57,7 @@ class I18nTest < ActiveSupport::TestCase
 
   Rails.root.glob("config/locales/*.yml").each do |filename|
     lang = File.basename(filename, ".yml")
-    define_method(:"test_#{lang}_for_raw_html") do
+    test "#{lang} for raw html" do
       yml = YAML.load_file(filename)
       assert_nothing_raised do
         check_values_for_raw_html(yml)
index 537bb9d0ddf60ec4220007d56d3c6986f524be7b..751adcd82dc361583bf4e8ea7ca4ad8a8d3ac8f9 100644 (file)
@@ -15,7 +15,34 @@ class UserMailerTest < ActionMailer::TestCase
     end
     email = UserMailer.gpx_success(trace, 100)
 
-    assert_match(/one two three/, email.html_part.body.to_s)
+    assert_match("<em>one</em>, <em>two</em>, <em>three</em>", email.html_part.body.to_s)
+  end
+
+  def test_gpx_success_all_traces_link
+    trace = create(:trace)
+    email = UserMailer.gpx_success(trace, 100)
+    body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
+
+    url = Rails.application.routes.url_helpers.url_for(:controller => "traces", :action => "mine", :host => Settings.server_url, :protocol => Settings.server_protocol)
+    assert_select body, "a[href='#{url}']"
+  end
+
+  def test_gpx_success_trace_link
+    trace = create(:trace)
+    email = UserMailer.gpx_success(trace, 100)
+    body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
+
+    url = Rails.application.routes.url_helpers.show_trace_url(trace.user, trace, :host => Settings.server_url, :protocol => Settings.server_protocol)
+    assert_select body, "a[href='#{url}']", :text => trace.name
+  end
+
+  def test_gpx_failure_no_trace_link
+    trace = create(:trace)
+    email = UserMailer.gpx_failure(trace, "some error")
+    body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
+
+    url = Rails.application.routes.url_helpers.show_trace_url(trace.user, trace, :host => Settings.server_url, :protocol => Settings.server_protocol)
+    assert_select body, "a[href='#{url}']", :count => 0
   end
 
   def test_html_encoding
index 88d1c0e7d028f4b3675139f24766a0a36828ec6a..6bd87729c120db814529bcab02e42497734c1357 100644 (file)
@@ -5,7 +5,7 @@ class AclTest < ActiveSupport::TestCase
     acl = create(:acl)
     assert_predicate acl, :valid?
     acl.k = nil
-    assert_not acl.valid?
+    assert_not_predicate acl, :valid?
   end
 
   def test_no_account_creation_by_subnet
@@ -27,4 +27,40 @@ class AclTest < ActiveSupport::TestCase
     create(:acl, :mx => "mail.example.com", :k => "no_account_creation")
     assert Acl.no_account_creation("192.168.1.1", :mx => "mail.example.com")
   end
+
+  def test_allow_account_creation_by_subnet
+    assert_not Acl.allow_account_creation("192.168.1.1")
+    create(:acl, :address => "192.168.0.0/16", :k => "allow_account_creation")
+    assert Acl.allow_account_creation("192.168.1.1")
+  end
+
+  def test_allow_account_creation_by_domain
+    assert_not Acl.allow_account_creation("192.168.1.1", :domain => "example.com")
+    assert_not Acl.allow_account_creation("192.168.1.1", :domain => "test.example.com")
+    create(:acl, :domain => "example.com", :k => "allow_account_creation")
+    assert Acl.allow_account_creation("192.168.1.1", :domain => "example.com")
+    assert Acl.allow_account_creation("192.168.1.1", :domain => "test.example.com")
+  end
+
+  def test_allow_account_creation_by_mx
+    assert_not Acl.allow_account_creation("192.168.1.1", :mx => "mail.example.com")
+    create(:acl, :mx => "mail.example.com", :k => "allow_account_creation")
+    assert Acl.allow_account_creation("192.168.1.1", :mx => "mail.example.com")
+  end
+
+  def test_no_note_comment_by_domain
+    assert_not Acl.no_note_comment("192.168.1.1", "example.com")
+    assert_not Acl.no_note_comment("192.168.1.1", "test.example.com")
+    create(:acl, :domain => "example.com", :k => "no_note_comment")
+    assert Acl.no_note_comment("192.168.1.1", "example.com")
+    assert Acl.no_note_comment("192.168.1.1", "test.example.com")
+  end
+
+  def test_no_trace_download_by_domain
+    assert_not Acl.no_trace_download("192.168.1.1", "example.com")
+    assert_not Acl.no_trace_download("192.168.1.1", "test.example.com")
+    create(:acl, :domain => "example.com", :k => "no_trace_download")
+    assert Acl.no_trace_download("192.168.1.1", "example.com")
+    assert Acl.no_trace_download("192.168.1.1", "test.example.com")
+  end
 end
index 2139c8d39a9bc9f7145303b8508ec1081321b2ed..991bf555dd8544fb79fe879a1f23e727533b0bc0 100644 (file)
@@ -6,27 +6,27 @@ class ChangesetCommentTest < ActiveSupport::TestCase
     comment = create(:changeset_comment)
 
     comment.author = nil
-    assert_not comment.valid?
+    assert_not_predicate comment, :valid?
 
     comment.author_id = 999111
-    assert_not comment.valid?
+    assert_not_predicate comment, :valid?
   end
 
   def test_does_not_accept_invalid_changeset
     comment = create(:changeset_comment)
 
     comment.changeset = nil
-    assert_not comment.valid?
+    assert_not_predicate comment, :valid?
 
     comment.changeset_id = 999111
-    assert_not comment.valid?
+    assert_not_predicate comment, :valid?
   end
 
   def test_does_not_accept_empty_visible
     comment = create(:changeset_comment)
 
     comment.visible = nil
-    assert_not comment.valid?
+    assert_not_predicate comment, :valid?
   end
 
   def test_comments_of_changeset_count
@@ -50,7 +50,7 @@ class ChangesetCommentTest < ActiveSupport::TestCase
     bad.each do |body|
       changeset_comment = create(:changeset_comment)
       changeset_comment.body = body
-      assert_not changeset_comment.valid?, "#{body} is valid when it shouldn't be"
+      assert_not_predicate changeset_comment, :valid?, "#{body} is valid when it shouldn't be"
     end
   end
 end
index 5832b8a706523674aeb96cc6ca21d8e770a9dcc8..81b280790d3b428cc9bb15afa3a64eacb5e77a09 100644 (file)
@@ -20,21 +20,21 @@ class ChangesetTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:changeset_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?, "Key should be too long"
+    assert_not_predicate tag, :valid?, "Key should be too long"
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:changeset_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_tag_invalid
     tag = create(:changeset_tag)
     tag.changeset = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:changeset], :any?
   end
 
@@ -42,7 +42,7 @@ class ChangesetTagTest < ActiveSupport::TestCase
     existing = create(:changeset_tag)
     tag = build(:changeset_tag, :changeset => existing.changeset, :k => existing.k, :v => existing.v)
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index c3f1df23c23c996da989ddaaaf7dba90c9fb31ac..9dc5ab5fc4c9b7258e29ddabe1275c76aa466e55 100644 (file)
@@ -14,7 +14,7 @@ class ClientApplicationTest < ActiveSupport::TestCase
     bad.each do |url|
       app = build(:client_application)
       app.url = url
-      assert_not app.valid?, "#{url} is valid when it shouldn't be"
+      assert_not_predicate app, :valid?, "#{url} is valid when it shouldn't be"
     end
   end
 
@@ -31,7 +31,7 @@ class ClientApplicationTest < ActiveSupport::TestCase
     bad.each do |url|
       app = build(:client_application)
       app.support_url = url
-      assert_not app.valid?, "#{url} is valid when it shouldn't be"
+      assert_not_predicate app, :valid?, "#{url} is valid when it shouldn't be"
     end
   end
 
@@ -48,7 +48,7 @@ class ClientApplicationTest < ActiveSupport::TestCase
     bad.each do |url|
       app = build(:client_application)
       app.callback_url = url
-      assert_not app.valid?, "#{url} is valid when it shouldn't be"
+      assert_not_predicate app, :valid?, "#{url} is valid when it shouldn't be"
     end
   end
 end
index f166282c1dcbf1bad0aec59d1eafd40f34b2f31b..b2a868a93f7d62e94576f7abee33155165a1d2af 100644 (file)
@@ -6,7 +6,7 @@ class IssueTest < ActiveSupport::TestCase
 
     assert_predicate issue, :valid?
     issue.assigned_role = "bogus"
-    assert_not issue.valid?
+    assert_not_predicate issue, :valid?
   end
 
   def test_reported_user
index 5ba558907a0f68f22ce32123e33c13c70997bfef..f777d8e1965a53d7348e52bfda21cbb9f349b931 100644 (file)
@@ -6,6 +6,11 @@ class LanguageTest < ActiveSupport::TestCase
     assert_equal "Slovenian (slovenščina)", Language.find("sl").name
   end
 
+  def test_same_native_name
+    create(:language, :code => "af", :english_name => "Afrikaans", :native_name => "Afrikaans")
+    assert_equal "Afrikaans", Language.find("af").name
+  end
+
   def test_load
     assert_equal 0, Language.count
     assert_raise ActiveRecord::RecordNotFound do
index 97afad56e17f80c72ec2f71add8c9f03146fb4c3..1bc15cba3f30cc82aa9c9f014ce3de95bea7c593 100644 (file)
@@ -5,7 +5,7 @@ class MessageTest < ActiveSupport::TestCase
 
   def test_check_empty_message_fails
     message = build(:message, :title => nil, :body => nil, :sent_on => nil)
-    assert_not message.valid?
+    assert_not_predicate message, :valid?
     assert_predicate message.errors[:title], :any?
     assert_predicate message.errors[:body], :any?
     assert_predicate message.errors[:sent_on], :any?
@@ -23,7 +23,7 @@ class MessageTest < ActiveSupport::TestCase
     message = create(:message, :unread)
     message.sender = nil
     message.recipient = nil
-    assert_not message.valid?
+    assert_not_predicate message, :valid?
 
     assert_raise(ActiveRecord::RecordNotFound) { User.find(0) }
     message.from_user_id = 0
@@ -175,6 +175,26 @@ class MessageTest < ActiveSupport::TestCase
     assert_equal "text", message.body_format
   end
 
+  def test_notify_recipient
+    message = create(:message)
+    assert_not_predicate message, :muted?
+    assert_predicate message, :notify_recipient?
+  end
+
+  def test_notify_recipient_for_muted_messages
+    message = create(:message, :muted)
+    assert_predicate message, :muted?
+    assert_not_predicate message, :notify_recipient?
+  end
+
+  def test_unmuting_a_muted_message
+    message = create(:message, :muted)
+    assert_predicate message, :muted?
+
+    message.unmute
+    assert_not_predicate message, :muted?
+  end
+
   private
 
   def make_message(char, count)
index d927b5fea202edc7d9f945c40fa13bc2bdacbb0f..5788bcca5223cd36989911ff5bdf4b73b85a2ec0 100644 (file)
@@ -20,21 +20,21 @@ class NodeTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:node_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?, "Key should be too long"
+    assert_not_predicate tag, :valid?, "Key should be too long"
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:node_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_node_tag_invalid
     tag = create(:node_tag)
     tag.node = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:node], :any?
   end
 
@@ -42,7 +42,7 @@ class NodeTagTest < ActiveSupport::TestCase
     existing = create(:node_tag)
     tag = build(:node_tag, :node => existing.node, :k => existing.k, :v => existing.v)
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index f4dd645ee21a9392d8e13f6f557e6142aac07e9e..615586e56a7ede40221ace2997df96f409409254 100644 (file)
@@ -14,7 +14,7 @@ class NoteCommentTest < ActiveSupport::TestCase
     bad.each do |event|
       note_comment = create(:note_comment)
       note_comment.event = event
-      assert_not note_comment.valid?, "#{event} is valid when it shouldn't be"
+      assert_not_predicate note_comment, :valid?, "#{event} is valid when it shouldn't be"
     end
   end
 
@@ -33,7 +33,7 @@ class NoteCommentTest < ActiveSupport::TestCase
     bad.each do |body|
       note_comment = create(:note_comment)
       note_comment.body = body
-      assert_not note_comment.valid?, "#{body} is valid when it shouldn't be"
+      assert_not_predicate note_comment, :valid?, "#{body} is valid when it shouldn't be"
     end
   end
 end
index 8d5a557cd4dfbbe9b8ffb043fe6047aec7f3049c..34b16c19d5e113a197ee4ff8ba7b4b29ff600256 100644 (file)
@@ -14,7 +14,7 @@ class NoteTest < ActiveSupport::TestCase
     bad.each do |status|
       note = create(:note)
       note.status = status
-      assert_not note.valid?, "#{status} is valid when it shouldn't be"
+      assert_not_predicate note, :valid?, "#{status} is valid when it shouldn't be"
     end
   end
 
@@ -28,7 +28,7 @@ class NoteTest < ActiveSupport::TestCase
   end
 
   def test_reopen
-    note = create(:note, :status => "closed", :closed_at => Time.now.utc)
+    note = create(:note, :closed)
     assert_equal "closed", note.status
     assert_not_nil note.closed_at
     note.reopen
@@ -38,13 +38,13 @@ class NoteTest < ActiveSupport::TestCase
 
   def test_visible?
     assert_predicate create(:note, :status => "open"), :visible?
-    assert_predicate create(:note, :status => "closed"), :visible?
-    assert_not create(:note, :status => "hidden").visible?
+    assert_predicate create(:note, :closed), :visible?
+    assert_not_predicate create(:note, :status => "hidden"), :visible?
   end
 
   def test_closed?
-    assert_predicate create(:note, :status => "closed", :closed_at => Time.now.utc), :closed?
-    assert_not create(:note, :status => "open", :closed_at => nil).closed?
+    assert_predicate create(:note, :closed), :closed?
+    assert_not_predicate create(:note, :status => "open", :closed_at => nil), :closed?
   end
 
   def test_author
index 28f2c34a17343cee7aace42f4a1c6c89cea45f1e..73dd6258f255341bb0c298c689797ec9f91afb0e 100644 (file)
@@ -5,7 +5,7 @@ class OauthTokenTest < ActiveSupport::TestCase
   # check that after calling invalidate! on a token, it is invalid.
   def test_token_invalidation
     tok = OauthToken.new
-    assert_not tok.invalidated?, "Token should be created valid."
+    assert_not_predicate tok, :invalidated?, "Token should be created valid."
     tok.invalidate!
     assert_predicate tok, :invalidated?, "Token should now be invalid."
   end
@@ -14,10 +14,10 @@ class OauthTokenTest < ActiveSupport::TestCase
   # check that an authorized token is authorised and can be invalidated
   def test_token_authorisation
     tok = RequestToken.create(:client_application => create(:client_application))
-    assert_not tok.authorized?, "Token should be created unauthorised."
+    assert_not_predicate tok, :authorized?, "Token should be created unauthorised."
     tok.authorize!(create(:user))
     assert_predicate tok, :authorized?, "Token should now be authorised."
     tok.invalidate!
-    assert_not tok.authorized?, "Token should now be invalid."
+    assert_not_predicate tok, :authorized?, "Token should now be invalid."
   end
 end
index 40c91c82d54a9624f882cf1739623c4ca7a9d3ff..be7502c3424f83efc4197fe3c3b85399416afd55 100644 (file)
@@ -20,21 +20,21 @@ class OldNodeTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:old_node_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:old_node_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_tag_invalid
     tag = create(:old_node_tag)
     tag.old_node = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:old_node], :any?
   end
 
@@ -42,7 +42,7 @@ class OldNodeTagTest < ActiveSupport::TestCase
     existing = create(:old_node_tag)
     tag = build(:old_node_tag, :old_node => existing.old_node, :version => existing.version, :k => existing.k, :v => existing.v)
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index d920f91da197370f8225ece0c43b8778d222ff84..d31d0e64ed05c46dd700ce80b681229beb87b80b 100644 (file)
@@ -20,21 +20,21 @@ class OldRelationTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:old_relation_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?, "Key should be too long"
+    assert_not_predicate tag, :valid?, "Key should be too long"
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:old_relation_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_tag_invalid
     tag = create(:old_relation_tag)
     tag.old_relation = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:old_relation], :any?
   end
 
@@ -42,7 +42,7 @@ class OldRelationTagTest < ActiveSupport::TestCase
     existing = create(:old_relation_tag)
     tag = build(:old_relation_tag, :old_relation => existing.old_relation, :version => existing.version, :k => existing.k, :v => existing.v)
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index 793962438dc57d49336b208b69af994ec3b8912d..62211ed24f176c99e9c9c55be34ed4071f024ea1 100644 (file)
@@ -20,21 +20,21 @@ class OldWayTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:old_way_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?, "Key should be too long"
+    assert_not_predicate tag, :valid?, "Key should be too long"
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:old_way_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_tag_invalid
     tag = create(:old_way_tag)
     tag.old_way = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:old_way], :any?
   end
 
@@ -46,7 +46,7 @@ class OldWayTagTest < ActiveSupport::TestCase
     tag.k = existing.k
     tag.v = existing.v
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index 06159cb5d79540280f3a62d53fed1b1b0d74da9c..00133f1f48a70c14bde549f89699359f81805f47 100644 (file)
@@ -4,7 +4,7 @@ class RedactionTest < ActiveSupport::TestCase
   def test_cannot_redact_current
     n = create(:node)
     r = create(:redaction)
-    assert_not(n.redacted?, "Expected node to not be redacted already.")
+    assert_not_predicate(n, :redacted?, "Expected node to not be redacted already.")
     assert_raise(OSM::APICannotRedactError) do
       n.redact!(r)
     end
@@ -14,7 +14,7 @@ class RedactionTest < ActiveSupport::TestCase
     node = create(:node, :with_history)
     node_v1 = node.old_nodes.find_by(:version => 1)
     r = create(:redaction)
-    assert_not(node_v1.redacted?, "Expected node to not be redacted already.")
+    assert_not_predicate(node_v1, :redacted?, "Expected node to not be redacted already.")
     assert_raise(OSM::APICannotRedactError) do
       node_v1.redact!(r)
     end
@@ -26,11 +26,11 @@ class RedactionTest < ActiveSupport::TestCase
     node_v2 = node.old_nodes.find_by(:version => 2)
     r = create(:redaction)
 
-    assert_not(node_v1.redacted?, "Expected node to not be redacted already.")
+    assert_not_predicate(node_v1, :redacted?, "Expected node to not be redacted already.")
     assert_nothing_raised do
       node_v1.redact!(r)
     end
     assert_predicate(node_v1, :redacted?, "Expected node version 1 to be redacted after redact! call.")
-    assert_not(node_v2.redacted?, "Expected node version 2 to not be redacted after redact! call.")
+    assert_not_predicate(node_v2, :redacted?, "Expected node version 2 to not be redacted after redact! call.")
   end
 end
index a82cea457f104c211cb974bc0f83bec3ae3afdf4..7535c342ddbb4e2d586e12c01d29d5c6f1564e94 100644 (file)
@@ -9,7 +9,7 @@ class RelationMemberTest < ActiveSupport::TestCase
     node = create(:node)
     invalid.each do |r|
       member = build(:relation_member, :relation => relation, :member => node, :member_role => r)
-      assert_not member.valid?, "'#{r}' should not be valid"
+      assert_not_predicate member, :valid?, "'#{r}' should not be valid"
       assert_predicate member.errors[:member_role], :any?
     end
   end
@@ -18,7 +18,7 @@ class RelationMemberTest < ActiveSupport::TestCase
     relation = create(:relation)
     node = create(:node)
     member = build(:relation_member, :relation => relation, :member => node, :member_role => "r" * 256)
-    assert_not member.valid?, "Role should be too long"
+    assert_not_predicate member, :valid?, "Role should be too long"
     assert_predicate member.errors[:member_role], :any?
   end
 end
index 69a491890101b0f8e5122198066f11300e2230e6..2e5e1503cd1ec1fef078b7e034e8e289da0179b2 100644 (file)
@@ -20,21 +20,21 @@ class RelationTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:relation_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?, "Key should be too long"
+    assert_not_predicate tag, :valid?, "Key should be too long"
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:relation_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_tag_invalid
     tag = create(:relation_tag)
     tag.relation = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:relation], :any?
   end
 
@@ -42,7 +42,7 @@ class RelationTagTest < ActiveSupport::TestCase
     existing = create(:relation_tag)
     tag = build(:relation_tag, :relation => existing.relation, :k => existing.k, :v => existing.v)
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index 64ccf501d924f09f00f1e1a2c9d218e783e880ef..7b3b973b0ce9dc61347885a44722ca66a7cddc7d 100644 (file)
@@ -6,7 +6,7 @@ class ReportTest < ActiveSupport::TestCase
 
     assert_predicate report, :valid?
     report.issue = nil
-    assert_not report.valid?
+    assert_not_predicate report, :valid?
   end
 
   def test_user_required
@@ -14,7 +14,7 @@ class ReportTest < ActiveSupport::TestCase
 
     assert_predicate report, :valid?
     report.user = nil
-    assert_not report.valid?
+    assert_not_predicate report, :valid?
   end
 
   def test_details_required
@@ -22,7 +22,7 @@ class ReportTest < ActiveSupport::TestCase
 
     assert_predicate report, :valid?
     report.details = ""
-    assert_not report.valid?
+    assert_not_predicate report, :valid?
   end
 
   def test_category_required
@@ -30,7 +30,7 @@ class ReportTest < ActiveSupport::TestCase
 
     assert_predicate report, :valid?
     report.category = ""
-    assert_not report.valid?
+    assert_not_predicate report, :valid?
   end
 
   def test_details
index 4f17b725605c2274729c8ea7a7fc5230cc867a27..65d17d44272b07ba60369604fff52d3872816851 100644 (file)
@@ -5,6 +5,6 @@ class RequestTokenTest < ActiveSupport::TestCase
     assert_predicate RequestToken.new, :oob?
     assert_predicate RequestToken.new(:callback_url => "oob"), :oob?
     assert_predicate RequestToken.new(:callback_url => "OOB"), :oob?
-    assert_not RequestToken.new(:callback_url => "http://test.host/").oob?
+    assert_not_predicate RequestToken.new(:callback_url => "http://test.host/"), :oob?
   end
 end
index af219db435f47800575217639b4b2b3bc32fa37d..1a2376ca87e35d063e5c6c53b2d119650f98a960 100644 (file)
@@ -108,26 +108,26 @@ class TraceTest < ActiveSupport::TestCase
 
   def test_public?
     assert_predicate build(:trace, :visibility => "public"), :public?
-    assert_not build(:trace, :visibility => "private").public?
-    assert_not build(:trace, :visibility => "trackable").public?
+    assert_not_predicate build(:trace, :visibility => "private"), :public?
+    assert_not_predicate build(:trace, :visibility => "trackable"), :public?
     assert_predicate build(:trace, :visibility => "identifiable"), :public?
     assert_predicate build(:trace, :deleted, :visibility => "public"), :public?
   end
 
   def test_trackable?
-    assert_not build(:trace, :visibility => "public").trackable?
-    assert_not build(:trace, :visibility => "private").trackable?
+    assert_not_predicate build(:trace, :visibility => "public"), :trackable?
+    assert_not_predicate build(:trace, :visibility => "private"), :trackable?
     assert_predicate build(:trace, :visibility => "trackable"), :trackable?
     assert_predicate build(:trace, :visibility => "identifiable"), :trackable?
-    assert_not build(:trace, :deleted, :visibility => "public").trackable?
+    assert_not_predicate build(:trace, :deleted, :visibility => "public"), :trackable?
   end
 
   def test_identifiable?
-    assert_not build(:trace, :visibility => "public").identifiable?
-    assert_not build(:trace, :visibility => "private").identifiable?
-    assert_not build(:trace, :visibility => "trackable").identifiable?
+    assert_not_predicate build(:trace, :visibility => "public"), :identifiable?
+    assert_not_predicate build(:trace, :visibility => "private"), :identifiable?
+    assert_not_predicate build(:trace, :visibility => "trackable"), :identifiable?
     assert_predicate build(:trace, :visibility => "identifiable"), :identifiable?
-    assert_not build(:trace, :deleted, :visibility => "public").identifiable?
+    assert_not_predicate build(:trace, :deleted, :visibility => "public"), :identifiable?
   end
 
   def test_mime_type
@@ -208,7 +208,7 @@ class TraceTest < ActiveSupport::TestCase
   def test_import_creates_icon
     trace = create(:trace, :inserted => false, :fixture => "a")
 
-    assert_not trace.icon.attached?
+    assert_not_predicate trace.icon, :attached?
 
     trace.import
 
@@ -218,7 +218,7 @@ class TraceTest < ActiveSupport::TestCase
   def test_import_creates_large_picture
     trace = create(:trace, :inserted => false, :fixture => "a")
 
-    assert_not trace.image.attached?
+    assert_not_predicate trace.image, :attached?
 
     trace.import
 
index 115b8ec9b21935421a44ff6321970e35c7fa59d0..3d836a2e7a4f12b4ddf9441c3da6c7f10d65bed7 100644 (file)
@@ -5,6 +5,6 @@ class TracepointTest < ActiveSupport::TestCase
     tracepoint = create(:tracepoint)
     assert_predicate tracepoint, :valid?
     tracepoint.timestamp = nil
-    assert_not tracepoint.valid?
+    assert_not_predicate tracepoint, :valid?
   end
 end
diff --git a/test/models/user_mute_test.rb b/test/models/user_mute_test.rb
new file mode 100644 (file)
index 0000000..ccc6811
--- /dev/null
@@ -0,0 +1,24 @@
+require "test_helper"
+
+class UserMuteTest < ActiveSupport::TestCase
+  def test_messages_by_muted_users_are_muted
+    user = create(:user)
+    muted_user = create(:user)
+    create(:user_mute, :owner => user, :subject => muted_user)
+
+    message = create(:message, :sender => muted_user, :recipient => user)
+    assert_predicate message, :muted?
+  end
+
+  def test_messages_by_admins_or_moderators_are_never_muted
+    user = create(:user)
+
+    [create(:administrator_user), create(:moderator_user)].each do |admin_or_moderator|
+      create(:user_mute, :owner => user, :subject => admin_or_moderator)
+
+      message = create(:message, :sender => admin_or_moderator, :recipient => user)
+
+      assert_not_predicate message, :muted?
+    end
+  end
+end
index 3df38aa6fe75796ca1bc8e38c88f83a3a4542b46..ee91777c787813292f87c2e95fd8b3003973b040 100644 (file)
@@ -36,7 +36,7 @@ class UserPreferenceTest < ActiveSupport::TestCase
       up.user = create(:user)
       up.k = key * i
       up.v = val * i
-      assert_not up.valid?
+      assert_not_predicate up, :valid?
       assert_raise(ActiveRecord::RecordInvalid) { up.save! }
     end
   end
index 5c48bb9698a6a73d56b7ab120b871d24902d18c5..42949504f633925b8a6473cd203972ab944d9a71 100644 (file)
@@ -10,7 +10,7 @@ class UserTest < ActiveSupport::TestCase
                         :home_lat => nil,
                         :home_lon => nil,
                         :home_zoom => nil)
-    assert_not user.valid?
+    assert_not_predicate user, :valid?
     assert_predicate user.errors[:email], :any?
     assert_predicate user.errors[:pass_crypt], :any?
     assert_predicate user.errors[:display_name], :any?
@@ -27,10 +27,13 @@ class UserTest < ActiveSupport::TestCase
   end
 
   def test_unique_display_name
-    existing_user = create(:user)
-    new_user = build(:user, :display_name => existing_user.display_name)
-    assert_not new_user.save
-    assert_includes new_user.errors[:display_name], "has already been taken"
+    create(:user, :display_name => "H\u{e9}nryIV")
+
+    %W[H\u{e9}nryIV he\u{301}nryiv H\u{c9}nry\u2163 he\u{301}nry\u2173].each do |name|
+      new_user = build(:user, :display_name => name)
+      assert_not new_user.save
+      assert_includes new_user.errors[:display_name], "has already been taken"
+    end
   end
 
   def test_email_valid
@@ -57,11 +60,11 @@ class UserTest < ActiveSupport::TestCase
     user.display_name = "123"
     assert_predicate user, :valid?, "should allow 3 char name name"
     user.display_name = "12"
-    assert_not user.valid?, "should not allow 2 char name"
+    assert_not_predicate user, :valid?, "should not allow 2 char name"
     user.display_name = ""
-    assert_not user.valid?, "should not allow blank/0 char name"
+    assert_not_predicate user, :valid?, "should not allow blank/0 char name"
     user.display_name = nil
-    assert_not user.valid?, "should not allow nil value"
+    assert_not_predicate user, :valid?, "should not allow nil value"
   end
 
   def test_display_name_valid
@@ -87,10 +90,40 @@ class UserTest < ActiveSupport::TestCase
     bad.each do |display_name|
       user = build(:user)
       user.display_name = display_name
-      assert_not user.valid?, "#{display_name} is valid when it shouldn't be"
+      assert_not_predicate user, :valid?, "#{display_name} is valid when it shouldn't be"
     end
   end
 
+  def test_display_name_user_id_new
+    existing_user = create(:user)
+    user = build(:user)
+
+    user.display_name = "user_#{existing_user.id}"
+    assert_not user.valid?, "user_<id> name is valid for existing user id when it shouldn't be"
+
+    user.display_name = "user_#{existing_user.id + 1}"
+    assert_not user.valid?, "user_<id> name is valid for new user id when it shouldn't be"
+  end
+
+  def test_display_name_user_id_rename
+    existing_user = create(:user)
+    user = create(:user)
+
+    user.display_name = "user_#{existing_user.id}"
+    assert_not user.valid?, "user_<id> name is valid for existing user id when it shouldn't be"
+
+    user.display_name = "user_#{user.id}"
+    assert_predicate user, :valid?, "user_<id> name is invalid for own id, when it should be"
+  end
+
+  def test_display_name_user_id_unchanged_is_valid
+    user = build(:user, :display_name => "user_0")
+    user.save(:validate => false)
+    user.reload
+
+    assert_predicate user, :valid?, "user_0 display_name is invalid but it hasn't been changed"
+  end
+
   def test_friends_with
     alice = create(:user, :active)
     bob = create(:user, :active)
@@ -217,25 +250,25 @@ class UserTest < ActiveSupport::TestCase
     assert_predicate build(:user, :pending), :visible?
     assert_predicate build(:user, :active), :visible?
     assert_predicate build(:user, :confirmed), :visible?
-    assert_not build(:user, :suspended).visible?
-    assert_not build(:user, :deleted).visible?
+    assert_not_predicate build(:user, :suspended), :visible?
+    assert_not_predicate build(:user, :deleted), :visible?
   end
 
   def test_active?
-    assert_not build(:user, :pending).active?
+    assert_not_predicate build(:user, :pending), :active?
     assert_predicate build(:user, :active), :active?
     assert_predicate build(:user, :confirmed), :active?
-    assert_not build(:user, :suspended).active?
-    assert_not build(:user, :deleted).active?
+    assert_not_predicate build(:user, :suspended), :active?
+    assert_not_predicate build(:user, :deleted), :active?
   end
 
   def test_moderator?
-    assert_not create(:user).moderator?
+    assert_not_predicate create(:user), :moderator?
     assert_predicate create(:moderator_user), :moderator?
   end
 
   def test_administrator?
-    assert_not create(:user).administrator?
+    assert_not_predicate create(:user), :administrator?
     assert_predicate create(:administrator_user), :administrator?
   end
 
@@ -253,10 +286,10 @@ class UserTest < ActiveSupport::TestCase
     assert_predicate user.description, :blank?
     assert_nil user.home_lat
     assert_nil user.home_lon
-    assert_not user.avatar.attached?
+    assert_not_predicate user.avatar, :attached?
     assert_equal "deleted", user.status
-    assert_not user.visible?
-    assert_not user.active?
+    assert_not_predicate user, :visible?
+    assert_not_predicate user, :active?
   end
 
   def test_soft_destroy_revokes_oauth1_tokens
index 64aacc63b532660bb7278721addc0f8c9fc6001b..3b0d207c9f5825edf5ab5bc69a7e777ee9486720 100644 (file)
@@ -20,21 +20,21 @@ class WayTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     tag = create(:way_tag)
     tag.k = "k" * 256
-    assert_not tag.valid?, "Key should be too long"
+    assert_not_predicate tag, :valid?, "Key should be too long"
     assert_predicate tag.errors[:k], :any?
   end
 
   def test_length_value_invalid
     tag = create(:way_tag)
     tag.v = "v" * 256
-    assert_not tag.valid?, "Value should be too long"
+    assert_not_predicate tag, :valid?, "Value should be too long"
     assert_predicate tag.errors[:v], :any?
   end
 
   def test_orphaned_tag_invalid
     tag = create(:way_tag)
     tag.way = nil
-    assert_not tag.valid?, "Orphaned tag should be invalid"
+    assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
     assert_predicate tag.errors[:way], :any?
   end
 
@@ -45,7 +45,7 @@ class WayTagTest < ActiveSupport::TestCase
     tag.k = existing.k
     tag.v = existing.v
     assert_predicate tag, :new_record?
-    assert_not tag.valid?
+    assert_not_predicate tag, :valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
     assert_predicate tag, :new_record?
   end
index e6517dccc38b6bd0c5b17bb3463c5e34111bfdd3..ca5ef7fe8bc37578973782fed115478e2037d73c 100644 (file)
@@ -9,9 +9,9 @@ class AccountDeletionTest < ApplicationSystemTestCase
   test "the status is deleted and the personal data removed" do
     visit edit_account_path
 
-    click_link "Delete Account..."
+    click_on "Delete Account..."
     accept_confirm do
-      click_link "Delete Account"
+      click_on "Delete Account"
     end
 
     assert_current_path root_path
@@ -23,9 +23,9 @@ class AccountDeletionTest < ApplicationSystemTestCase
   test "the user is signed out after deletion" do
     visit edit_account_path
 
-    click_link "Delete Account..."
+    click_on "Delete Account..."
     accept_confirm do
-      click_link "Delete Account"
+      click_on "Delete Account"
     end
 
     assert_content "Log In"
@@ -34,9 +34,9 @@ class AccountDeletionTest < ApplicationSystemTestCase
   test "the user is shown a confirmation flash message" do
     visit edit_account_path
 
-    click_link "Delete Account..."
+    click_on "Delete Account..."
     accept_confirm do
-      click_link "Delete Account"
+      click_on "Delete Account"
     end
 
     assert_content "Account Deleted"
@@ -47,7 +47,7 @@ class AccountDeletionTest < ApplicationSystemTestCase
       travel 1.hour do
         visit edit_account_path
 
-        click_link "Delete Account..."
+        click_on "Delete Account..."
 
         assert_no_content "cannot currently be deleted"
       end
@@ -61,7 +61,7 @@ class AccountDeletionTest < ApplicationSystemTestCase
       travel 1.hour do
         visit edit_account_path
 
-        click_link "Delete Account..."
+        click_on "Delete Account..."
 
         assert_no_content "cannot currently be deleted"
       end
@@ -75,7 +75,7 @@ class AccountDeletionTest < ApplicationSystemTestCase
       travel 12.hours do
         visit edit_account_path
 
-        click_link "Delete Account..."
+        click_on "Delete Account..."
 
         assert_no_content "cannot currently be deleted"
       end
@@ -89,7 +89,7 @@ class AccountDeletionTest < ApplicationSystemTestCase
       travel 10.hours do
         visit edit_account_path
 
-        click_link "Delete Account..."
+        click_on "Delete Account..."
 
         assert_content "cannot currently be deleted"
         assert_content "in about 1 hour"
index f615a6321d55caee39e93079f6c5da1102e53e39..31b9ed7bb10204350f87c93288b25bcf0c279bce 100644 (file)
@@ -5,16 +5,18 @@ class ConfirmationResendSystemTest < ApplicationSystemTestCase
     @user = build(:user)
     visit user_new_path
 
-    fill_in "Email", :with => @user.email
-    fill_in "Email Confirmation", :with => @user.email
-    fill_in "Display Name", :with => @user.display_name
-    fill_in "Password", :with => "testtest"
-    fill_in "Confirm Password", :with => "testtest"
-    click_button "Sign Up"
+    within ".new_user" do
+      fill_in "Email", :with => @user.email
+      fill_in "Email Confirmation", :with => @user.email
+      fill_in "Display Name", :with => @user.display_name
+      fill_in "Password", :with => "testtest"
+      fill_in "Confirm Password", :with => "testtest"
+      click_on "Sign Up"
+    end
 
     check "I have read and agree to the above contributor terms"
     check "I have read and agree to the Terms of Use"
-    click_button "Continue"
+    click_on "Continue"
   end
 
   test "flash message should not contain raw html" do
index 554b89a6db05a3ec2b3353acfe69d9b78c088cf9..ba091c538465d8dcf6ac7471665d49516b7f925a 100644 (file)
@@ -3,6 +3,9 @@ require "application_system_test_case"
 class DiaryEntrySystemTest < ApplicationSystemTestCase
   def setup
     create(:language, :code => "en")
+    create(:language, :code => "pt", :english_name => "Portuguese", :native_name => "Português")
+    create(:language, :code => "pt-BR", :english_name => "Brazilian Portuguese", :native_name => "Português do Brasil")
+    create(:language, :code => "ru", :english_name => "Russian", :native_name => "Русский")
     @diary_entry = create(:diary_entry)
   end
 
@@ -10,7 +13,7 @@ class DiaryEntrySystemTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit diary_entries_path
 
-    click_link "Send a message to the author"
+    click_on "Send a message to the author"
 
     assert_content "Send a new message"
     assert_equal "Re: #{@diary_entry.title}", page.find_field("Subject").value
@@ -61,4 +64,14 @@ class DiaryEntrySystemTest < ApplicationSystemTestCase
 
     assert_content @deleted_comment.body
   end
+
+  test "should have links to preferred languages" do
+    sign_in_as(create(:user, :languages => %w[en-US pt-BR]))
+    visit diary_entries_path
+
+    assert_link "Diary Entries in English", :href => "/diary/en"
+    assert_link "Diary Entries in Brazilian Portuguese", :href => "/diary/pt-BR"
+    assert_link "Diary Entries in Portuguese", :href => "/diary/pt"
+    assert_no_link "Diary Entries in Russian"
+  end
 end
index a40306e3c7b1a5064770d8bdbd345eff47750672..b9b989c075132a9604d01c911dc2017f2613538f 100644 (file)
@@ -80,21 +80,21 @@ class IssuesTest < ApplicationSystemTestCase
     # No issues against the user
     visit issues_path
     fill_in "search_by_user", :with => good_user.display_name
-    click_button "Search"
+    click_on "Search"
     assert_no_content I18n.t("issues.index.user_not_found")
     assert_content I18n.t("issues.index.issues_not_found")
 
     # User doesn't exist
     visit issues_path
     fill_in "search_by_user", :with => "Nonexistent User"
-    click_button "Search"
+    click_on "Search"
     assert_content I18n.t("issues.index.user_not_found")
     assert_content I18n.t("issues.index.issues_not_found")
 
     # Find Issue against bad_user
     visit issues_path
     fill_in "search_by_user", :with => bad_user.display_name
-    click_button "Search"
+    click_on "Search"
     assert_no_content I18n.t("issues.index.user_not_found")
     assert_no_content I18n.t("issues.index.issues_not_found")
   end
@@ -106,7 +106,7 @@ class IssuesTest < ApplicationSystemTestCase
     visit issue_path(issue)
 
     fill_in :issue_comment_body, :with => "test comment"
-    click_button "Add Comment"
+    click_on "Add Comment"
     assert_content I18n.t("issue_comments.create.comment_created")
     assert_content "test comment"
 
@@ -123,7 +123,7 @@ class IssuesTest < ApplicationSystemTestCase
 
     fill_in :issue_comment_body, :with => "reassigning to moderators"
     check :reassign
-    click_button "Add Comment"
+    click_on "Add Comment"
 
     assert_content "and the issue was reassigned"
     assert_current_path issues_path(:status => "open")
@@ -140,7 +140,7 @@ class IssuesTest < ApplicationSystemTestCase
 
     fill_in :issue_comment_body, :with => "reassigning to moderators"
     check :reassign
-    click_button "Add Comment"
+    click_on "Add Comment"
 
     assert_content "and the issue was reassigned"
     assert_current_path issue_path(issue)
diff --git a/test/system/messages_test.rb b/test/system/messages_test.rb
new file mode 100644 (file)
index 0000000..dea0d22
--- /dev/null
@@ -0,0 +1,41 @@
+require "application_system_test_case"
+
+class MessagesTest < ApplicationSystemTestCase
+  def test_delete_received_message
+    user = create(:user)
+    create(:message, :recipient => user)
+    sign_in_as(user)
+
+    visit inbox_messages_path
+    assert_text "You have 1 new message and 0 old messages"
+
+    click_on "Delete"
+    assert_text "You have 0 new messages and 0 old messages"
+  end
+
+  def test_delete_sent_message
+    user = create(:user)
+    create(:message, :sender => user)
+    sign_in_as(user)
+
+    visit outbox_messages_path
+    assert_text "You have 1 sent message"
+
+    click_on "Delete"
+    assert_text "You have 0 sent messages"
+  end
+
+  def test_delete_muted_message
+    user = create(:user)
+    muted_user = create(:user)
+    create(:user_mute, :owner => user, :subject => muted_user)
+    create(:message, :sender => muted_user, :recipient => user)
+    sign_in_as(user)
+
+    visit muted_messages_path
+    assert_text "1 muted message"
+
+    click_on "Delete"
+    assert_text "0 muted messages"
+  end
+end
index 23f3fc98eecb636f54a0389d925d9a9b0f9d3384..7c830cc373c5d4955f42888216a52b1c5e672942 100644 (file)
 require "application_system_test_case"
 
 class NoteCommentsTest < ApplicationSystemTestCase
-  def test_action_text
+  test "open note has login notice" do
     note = create(:note_with_comments)
-    sign_in_as(create(:user))
     visit note_path(note)
 
-    assert_button "Resolve"
-    assert_button "Comment", :disabled => true
+    within_sidebar do
+      assert_no_button "Resolve"
+      assert_no_button "Comment"
+      assert_link "Log in to comment on this note", :href => login_path(:referer => note_path(note))
+    end
+  end
+
+  test "closed note has no login notice" do
+    note = create(:note_with_comments, :closed)
+    visit note_path(note)
+
+    within_sidebar do
+      assert_no_button "Reactivate"
+      assert_no_link "Log in to comment on this note"
+    end
+  end
+
+  def test_add_comment
+    note = create(:note_with_comments)
+    user = create(:user)
+    sign_in_as(user)
+    visit note_path(note)
+
+    within_sidebar do
+      assert_no_content "Comment from #{user.display_name}"
+      assert_no_content "Some newly added note comment"
+      assert_button "Resolve"
+      assert_button "Comment", :disabled => true
+
+      fill_in "text", :with => "Some newly added note comment"
+
+      assert_button "Comment & Resolve"
+      assert_button "Comment", :disabled => false
+
+      click_on "Comment"
+
+      assert_content "Comment from #{user.display_name}"
+      assert_content "Some newly added note comment"
+    end
+  end
+
+  test "can't add a comment when blocked" do
+    note = create(:note_with_comments)
+    user = create(:user)
+    sign_in_as(user)
+    visit note_path(note)
+    block = create(:user_block, :user => user)
+
+    within_sidebar do
+      fill_in "text", :with => "Comment that won't be added while blocked"
+
+      assert_no_text "Comment from #{user.display_name}"
+      assert_no_text "Comment that won't be added while blocked"
+      assert_no_text "Your access to the API has been blocked"
+      assert_button "Comment & Resolve", :disabled => false
+      assert_button "Comment", :disabled => false
+
+      click_on "Comment"
+
+      assert_no_text "Comment from #{user.display_name}"
+      assert_no_text "Comment that won't be added while blocked"
+      assert_text "Your access to the API has been blocked"
+      assert_button "Comment & Resolve", :disabled => false
+      assert_button "Comment", :disabled => false
+
+      block.revoke! block.creator
+
+      click_on "Comment"
+
+      assert_text "Comment from #{user.display_name}"
+      assert_text "Comment that won't be added while blocked"
+      assert_no_text "Your access to the API has been blocked"
+    end
+  end
+
+  test "can't resolve a note when blocked" do
+    note = create(:note_with_comments)
+    user = create(:user)
+    sign_in_as(user)
+    visit note_path(note)
+    create(:user_block, :user => user)
+
+    within_sidebar do
+      assert_text "Unresolved note"
+      assert_no_text "Resolved note"
+      assert_no_text "Your access to the API has been blocked"
+      assert_button "Resolve", :disabled => false
+      assert_button "Comment", :disabled => true
+
+      click_on "Resolve"
+
+      assert_text "Unresolved note"
+      assert_no_text "Resolved note"
+      assert_text "Your access to the API has been blocked"
+      assert_button "Resolve", :disabled => false
+      assert_button "Comment", :disabled => true
+    end
+  end
+
+  test "can't reactivate a note when blocked" do
+    note = create(:note_with_comments, :closed)
+    user = create(:user)
+    sign_in_as(user)
+    visit note_path(note)
+    create(:user_block, :user => user)
+
+    within_sidebar do
+      assert_no_text "Unresolved note"
+      assert_text "Resolved note"
+      assert_no_text "Your access to the API has been blocked"
+      assert_button "Reactivate", :disabled => false
 
-    fill_in "text", :with => "Some text"
+      click_on "Reactivate"
 
-    assert_button "Comment & Resolve"
-    assert_button "Comment"
+      assert_no_text "Unresolved note"
+      assert_text "Resolved note"
+      assert_text "Your access to the API has been blocked"
+      assert_button "Reactivate", :disabled => false
+    end
   end
 end
diff --git a/test/system/oauth2_test.rb b/test/system/oauth2_test.rb
new file mode 100644 (file)
index 0000000..0b9213a
--- /dev/null
@@ -0,0 +1,16 @@
+require "application_system_test_case"
+
+class Oauth2Test < ApplicationSystemTestCase
+  def test_authorized_applications
+    sign_in_as(create(:user))
+    visit oauth_authorized_applications_path
+
+    assert_text "OpenStreetMap Web Site"
+
+    accept_alert do
+      click_on "Revoke Access"
+    end
+
+    assert_text "You have not yet authorized any OAuth 2 applications."
+  end
+end
index b071b1f73842663839dd9ad81c670d6d333fa1dd..59a7209f5b4d3728fbb8f3049e4db4a03f0326f4 100644 (file)
@@ -5,7 +5,7 @@ class PreferencesTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
 
     visit edit_preferences_path
-    click_button "Update Preferences"
+    click_on "Update Preferences"
 
     assert_content "Preferences updated"
   end
@@ -15,7 +15,7 @@ class PreferencesTest < ApplicationSystemTestCase
 
     visit edit_preferences_path
     fill_in "Preferred Languages", :with => "fr"
-    click_button "Update Preferences"
+    click_on "Update Preferences"
 
     assert_content "Préférences mises à jour"
   end
index 15ef1ad3c5177f8ff0e01cf8d689395dc08bb8a4..3504ab061fdeb5c4270036efa49807b1a9c9427f 100644 (file)
@@ -19,14 +19,14 @@ class ReportDiaryCommentTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert_content @diary_entry.title
 
-    click_link I18n.t("diary_entries.diary_comment.report")
+    click_on I18n.t("diary_entries.diary_comment.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.diary_comment.spam_label")
     fill_in "report_details", :with => "This comment is spam"
     assert_difference "Issue.count", 1 do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
index d4e49b714ffd32b9e2d4077926863eae7fc41efc..dde06cffc31ddeee05e20cbcf75ccb1218bc6996 100644 (file)
@@ -18,14 +18,14 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert_content @diary_entry.title
 
-    click_link I18n.t("diary_entries.diary_entry.report")
+    click_on I18n.t("diary_entries.diary_entry.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.diary_entry.spam_label")
     fill_in "report_details", :with => "This is advertising"
     assert_difference "Issue.count", 1 do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -42,18 +42,18 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert_content @diary_entry.title
 
-    click_link I18n.t("diary_entries.diary_entry.report")
+    click_on I18n.t("diary_entries.diary_entry.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.diary_entry.spam_label")
     fill_in "report_details", :with => "This is advertising"
     assert_no_difference "Issue.count" do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     issue.reload
-    assert_not issue.resolved?
+    assert_not_predicate issue, :resolved?
     assert_predicate issue, :open?
   end
 
index b7e1bfc9eaebd4c7252e383871d31b9cd28a6e40..79894eb897d4a514e3ebb94b5a89a680a1bcedf5 100644 (file)
@@ -14,14 +14,14 @@ class ReportNoteTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit note_path(note)
 
-    click_link I18n.t("notes.show.report")
+    click_on I18n.t("notes.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.note.spam_label")
     fill_in "report_details", :with => "This is spam"
     assert_difference "Issue.count", 1 do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -35,14 +35,14 @@ class ReportNoteTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit note_path(note)
 
-    click_link I18n.t("notes.show.report")
+    click_on I18n.t("notes.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.note.spam_label")
     fill_in "report_details", :with => "This is spam"
     assert_difference "Issue.count", 1 do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
index 9a0abe9ea2e5920a78cc8e87f706f661f328c207..7a9e800c8c0da99ebf7351d6a863d9c8cec8ba7a 100644 (file)
@@ -14,14 +14,14 @@ class ReportUserTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit user_path(user)
 
-    click_link I18n.t("users.show.report")
+    click_on I18n.t("users.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.user.vandal_label")
     fill_in "report_details", :with => "This user is a vandal"
     assert_difference "Issue.count", 1 do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -35,14 +35,14 @@ class ReportUserTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit user_path(user)
 
-    click_link I18n.t("users.show.report")
+    click_on I18n.t("users.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.user.vandal_label")
     fill_in "report_details", :with => "This user is a vandal"
     assert_difference "Issue.count", 1 do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -52,14 +52,14 @@ class ReportUserTest < ApplicationSystemTestCase
 
     visit user_path(user)
 
-    click_link I18n.t("users.show.report")
+    click_on I18n.t("users.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.user.spam_label")
     fill_in "report_details", :with => "This user is a spammer"
     assert_no_difference "Issue.count" do
-      click_button "Create Report"
+      click_on "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
diff --git a/test/system/user_blocks_test.rb b/test/system/user_blocks_test.rb
new file mode 100644 (file)
index 0000000..f710f74
--- /dev/null
@@ -0,0 +1,71 @@
+require "application_system_test_case"
+
+class ReportNoteTest < ApplicationSystemTestCase
+  test "revoke all link is absent for anonymous users when viewed user has active blocks" do
+    blocked_user = create(:user)
+    create(:user_block, :user => blocked_user)
+
+    visit user_path(blocked_user)
+    assert_no_link "Revoke all blocks"
+  end
+
+  test "revoke all link is absent for regular users when viewed user has active blocks" do
+    blocked_user = create(:user)
+    create(:user_block, :user => blocked_user)
+    sign_in_as(create(:user))
+
+    visit user_path(blocked_user)
+    assert_no_link "Revoke all blocks"
+  end
+
+  test "revoke all link is absent for moderators when viewed user has no active blocks" do
+    blocked_user = create(:user)
+    create(:user_block, :expired, :user => blocked_user)
+    sign_in_as(create(:moderator_user))
+
+    visit user_path(blocked_user)
+    assert_no_link "Revoke all blocks"
+  end
+
+  test "revoke all page has no controls when viewed user has no active blocks" do
+    blocked_user = create(:user)
+    sign_in_as(create(:moderator_user))
+
+    visit revoke_all_user_blocks_path(blocked_user)
+    assert_title "Revoking all blocks on #{blocked_user.display_name}"
+    assert_text "Revoking all blocks on #{blocked_user.display_name}"
+    assert_no_button "Revoke!"
+  end
+
+  test "revoke all link is present and working for moderators when viewed user has one active block" do
+    blocked_user = create(:user)
+    create(:user_block, :user => blocked_user)
+    sign_in_as(create(:moderator_user))
+
+    visit user_path(blocked_user)
+    assert_link "Revoke all blocks"
+
+    click_on "Revoke all blocks"
+    assert_title "Revoking all blocks on #{blocked_user.display_name}"
+    assert_text "Revoking all blocks on #{blocked_user.display_name}"
+    assert_unchecked_field "Are you sure you wish to revoke 1 active block?"
+    assert_button "Revoke!"
+  end
+
+  test "revoke all link is present and working for moderators when viewed user has multiple active blocks" do
+    blocked_user = create(:user)
+    create(:user_block, :user => blocked_user)
+    create(:user_block, :user => blocked_user)
+    create(:user_block, :expired, :user => blocked_user)
+    sign_in_as(create(:moderator_user))
+
+    visit user_path(blocked_user)
+    assert_link "Revoke all blocks"
+
+    click_on "Revoke all blocks"
+    assert_title "Revoking all blocks on #{blocked_user.display_name}"
+    assert_text "Revoking all blocks on #{blocked_user.display_name}"
+    assert_unchecked_field "Are you sure you wish to revoke 2 active blocks?"
+    assert_button "Revoke!"
+  end
+end
index fc27b7c1884ed606823f660d9c2ec73f5059bfa5..2f5331711eaa40daa8a331aac883eeed7572af87 100644 (file)
@@ -6,8 +6,8 @@ class UserLogoutTest < ApplicationSystemTestCase
     sign_in_as(user)
     assert_no_content "Log In"
 
-    click_button user.display_name
-    click_link "Log Out"
+    click_on user.display_name
+    click_on "Log Out"
     assert_content "Log In"
   end
 
@@ -17,8 +17,8 @@ class UserLogoutTest < ApplicationSystemTestCase
     visit traces_path
     assert_no_content "Log In"
 
-    click_button user.display_name
-    click_link "Log Out"
+    click_on user.display_name
+    click_on "Log Out"
     assert_content "Log In"
     assert_content "Public GPS Traces"
   end
@@ -30,7 +30,7 @@ class UserLogoutTest < ApplicationSystemTestCase
     visit logout_path
     assert_content "Logout from OpenStreetMap"
 
-    click_button "Logout"
+    click_on "Logout"
     assert_content "Log In"
   end
 
@@ -41,7 +41,7 @@ class UserLogoutTest < ApplicationSystemTestCase
     visit logout_path(:referer => "/traces")
     assert_content "Logout from OpenStreetMap"
 
-    click_button "Logout"
+    click_on "Logout"
     assert_content "Log In"
     assert_content "Public GPS Traces"
   end
diff --git a/test/system/user_muting_test.rb b/test/system/user_muting_test.rb
new file mode 100644 (file)
index 0000000..e70005e
--- /dev/null
@@ -0,0 +1,44 @@
+require "application_system_test_case"
+
+class UserMutingTest < ApplicationSystemTestCase
+  # NB: loads helpers to verify mailer-related behaviour e.g. via assert_no_emails
+  include ActionMailer::TestHelper
+
+  test "users can mute and unmute other users" do
+    user = create(:user)
+    other_user = create(:user)
+    sign_in_as(user)
+
+    visit user_path(other_user)
+    click_on "Mute this User"
+    assert_content "You muted #{other_user.display_name}"
+
+    visit edit_account_path
+    assert_content "Muted Users"
+    click_on "Muted Users"
+    assert_content "You have muted 1 User"
+    click_on "Unmute"
+
+    assert_content "You unmuted #{other_user.display_name}"
+    refute_content "Muted Users"
+    assert_current_path edit_account_path
+  end
+
+  test "messages sent by muted users are set `muted` and do not cause notification emails" do
+    user = create(:user)
+    muted_user = create(:user)
+    create(:user_mute, :owner => user, :subject => muted_user)
+    sign_in_as(muted_user)
+
+    visit new_message_path(user)
+    fill_in "Subject", :with => "Hey Hey"
+    fill_in "Body", :with => "some message"
+
+    assert_no_emails do
+      click_on "Send"
+    end
+
+    message = Message.find_by(:sender => muted_user, :recipient => user)
+    assert_predicate message, :muted?
+  end
+end
index 88899d7105b2fc2b74a896c7291a017c7f080701..e97046800738edf107ce30c586873f96d6e958b1 100644 (file)
@@ -4,7 +4,7 @@ class UserSignupTest < ApplicationSystemTestCase
   test "Sign up from login page" do
     visit login_path
 
-    click_link "Register now"
+    click_on "Register now"
 
     assert_content "Confirm Password"
   end
@@ -13,16 +13,19 @@ class UserSignupTest < ApplicationSystemTestCase
     user = build(:user)
 
     visit root_path
-    click_link "Sign Up"
-    fill_in "Email", :with => user.email
-    fill_in "Email Confirmation", :with => user.email
-    fill_in "Display Name", :with => user.display_name
-    fill_in "Password", :with => "testtest"
-    fill_in "Confirm Password", :with => "testtest"
-    click_button "Sign Up"
+    click_on "Sign Up"
+
+    within ".new_user" do
+      fill_in "Email", :with => user.email
+      fill_in "Email Confirmation", :with => user.email
+      fill_in "Display Name", :with => user.display_name
+      fill_in "Password", :with => "testtest"
+      fill_in "Confirm Password", :with => "testtest"
+      click_on "Sign Up"
+    end
 
     assert_content "Contributor terms"
-    click_button "Cancel"
+    click_on "Cancel"
 
     assert_current_path "https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
   end
index e4cca1eab5bba38a97fefb866aeb4a0b626a3ca3..30b923732414805ffa98ec08f7c3e409cd24596d 100644 (file)
@@ -10,7 +10,7 @@ class UserStatusChangeTest < ApplicationSystemTestCase
     user = create(:user, :suspended)
     visit user_path(user)
     accept_confirm do
-      click_link "Unsuspend"
+      click_on "Unsuspend"
     end
 
     assert_no_content "Unsuspend"
@@ -22,7 +22,7 @@ class UserStatusChangeTest < ApplicationSystemTestCase
     user = create(:user, :suspended)
     visit user_path(user)
     accept_confirm do
-      click_link "Confirm"
+      click_on "Confirm"
     end
 
     assert_no_content "Unsuspend"
index 539daaa30933c5e9c8fb3fd3aac278d6cca3cba8..349d0a5bf742c4c97faf980f6055118a4ea10dad 100644 (file)
@@ -13,7 +13,7 @@ class ViewCommunitiesTest < ApplicationSystemTestCase
 
     visit edit_preferences_path
     fill_in "Preferred Languages", :with => "fr"
-    click_button "Update Preferences"
+    click_on "Update Preferences"
 
     visit "/communities"
     assert_link "OpenStreetMap États-Unis", :href => "https://www.openstreetmap.us/"
index 19e1a2784611fa219af508a181909c7ead6f320c..222e65764d68c25032c88644778564695380403e 100644 (file)
@@ -243,9 +243,11 @@ module ActiveSupport
 
     def sign_in_as(user)
       visit login_path
-      fill_in "username", :with => user.email
-      fill_in "password", :with => "test"
-      click_button "Login", :match => :first
+      within "form", :text => "Email Address or Username" do
+        fill_in "username", :with => user.email
+        fill_in "password", :with => "test"
+        click_on "Login"
+      end
     end
 
     def session_for(user)
index 341ca4d77f417515853ff7566c9a992231515265..4c8be21e5acd264bf8c6f367a80ed218061b3643 100644 (file)
@@ -36,7 +36,7 @@ class CharactersValidatorTest < ActiveSupport::TestCase
 
     invalid.each do |v|
       c.chars = v
-      assert_not c.valid?, "'#{v}' should not be valid"
+      assert_not_predicate c, :valid?, "'#{v}' should not be valid"
     end
   end
 
@@ -60,7 +60,7 @@ class CharactersValidatorTest < ActiveSupport::TestCase
 
     invalid.each do |v|
       c.chars = v
-      assert_not c.valid?, "'#{v}' should not be valid"
+      assert_not_predicate c, :valid?, "'#{v}' should not be valid"
     end
   end
 end
index 2607d9f2359b2a966fc42e1763b0caab1fb9d92d..1cb325df30b6c9982eb575f26d90f5b627a60a30 100644 (file)
@@ -22,7 +22,7 @@ class WhitespaceValidatorTest < ActiveSupport::TestCase
 
     strings.each do |v|
       validator.string = v
-      assert_not validator.valid?, "'#{v}' should not be valid"
+      assert_not_predicate validator, :valid?, "'#{v}' should not be valid"
     end
   end
 
@@ -44,7 +44,7 @@ class WhitespaceValidatorTest < ActiveSupport::TestCase
 
     strings.each do |v|
       validator.string = v
-      assert_not validator.valid?, "'#{v}' should not be valid"
+      assert_not_predicate validator, :valid?, "'#{v}' should not be valid"
     end
   end
 
index 2eee9b2129d74d806cc50bcc64b0e821d3e4f56a..f113d57529fe54db00c55d3a0e356bb5a2e26094 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.55.0":
-  version "8.55.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6"
-  integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==
+"@eslint/js@8.56.0":
+  version "8.56.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b"
+  integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==
 
 "@humanwhocodes/config-array@^0.11.13":
   version "0.11.13"
@@ -229,14 +229,14 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
   integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
 eslint@^8.0.0:
-  version "8.55.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8"
-  integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==
+  version "8.56.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15"
+  integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^2.1.4"
-    "@eslint/js" "8.55.0"
+    "@eslint/js" "8.56.0"
     "@humanwhocodes/config-array" "^0.11.13"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
@@ -574,9 +574,9 @@ optionator@^0.9.3:
     type-check "^0.4.0"
 
 osm-community-index@^5.2.0:
-  version "5.6.0"
-  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.6.0.tgz#b2361fce7ded723844b0ed68d47bddfc4a8cb240"
-  integrity sha512-C5AqEWidBIgKeaJKQwuPWvDqSzm9CpZgDbHDi+k4+ZCHBazRQjnl7TpWVv2/fQWMqsJL3I5qzh19rXBTWMWL1A==
+  version "5.6.1"
+  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.6.1.tgz#5be72c700145e94c57f2006e6f767a0e49d93870"
+  integrity sha512-eMi5mDwwLkt3tbZtD60+aMj4kIa3smlQanxb3OcvJa2pv6w5uVCLbyCem0j8cTqAO3A+C7HD4T7dFUyt2WCYaQ==
   dependencies:
     diacritics "^1.3.0"