]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/4762' master
authorTom Hughes <tom@compton.nu>
Tue, 7 May 2024 17:24:41 +0000 (18:24 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 7 May 2024 17:24:41 +0000 (18:24 +0100)
179 files changed:
Gemfile.lock
app/assets/images/browse/amenity_childcare.p.16.png [moved from app/assets/images/browse/education_nursery.p.16.png with 100% similarity]
app/assets/images/browse/gate2.p.16.png
app/assets/images/browse/level_crossing.p.16.png
app/assets/images/browse/office_diplomatic.16.png [moved from app/assets/images/browse/amenity_embassy.16.png with 100% similarity]
app/assets/images/browse/shop_estateagent.16.png [moved from app/assets/images/browse/shop_estateagent2.p.16.png with 100% similarity]
app/assets/images/browse/shop_jewelry.16.png [moved from app/assets/images/browse/shop_jewellery.16.png with 100% similarity]
app/assets/images/browse/shop_seafood.16.png [moved from app/assets/images/browse/shop_fish.p.16.png with 100% similarity]
app/assets/images/browse/tree.p.16.png
app/assets/images/notice.png [deleted file]
app/assets/images/notice.svg [deleted file]
app/assets/images/roles/administrator.png [deleted file]
app/assets/images/roles/administrator.svg [deleted file]
app/assets/images/roles/blank_administrator.png [deleted file]
app/assets/images/roles/blank_administrator.svg [deleted file]
app/assets/images/roles/blank_importer.png [deleted file]
app/assets/images/roles/blank_importer.svg [deleted file]
app/assets/images/roles/blank_moderator.png [deleted file]
app/assets/images/roles/blank_moderator.svg [deleted file]
app/assets/images/roles/importer.png [deleted file]
app/assets/images/roles/importer.svg [deleted file]
app/assets/images/roles/moderator.png [deleted file]
app/assets/images/roles/moderator.svg [deleted file]
app/assets/images/sign-up-illustration-arm.png [deleted file]
app/assets/javascripts/auth_providers.js [new file with mode: 0644]
app/assets/javascripts/index/query.js
app/assets/javascripts/index/search.js
app/assets/javascripts/login.js
app/assets/javascripts/messages.js
app/assets/javascripts/user.js
app/assets/stylesheets/browse.scss
app/assets/stylesheets/common.scss
app/assets/stylesheets/parameters.scss
app/controllers/changesets_controller.rb
app/controllers/concerns/session_methods.rb
app/controllers/messages_controller.rb
app/controllers/sessions_controller.rb
app/controllers/users_controller.rb
app/helpers/application_helper.rb
app/helpers/authorization_helper.rb
app/helpers/browse_helper.rb
app/helpers/svg_helper.rb
app/helpers/user_helper.rb
app/helpers/user_roles_helper.rb
app/models/user.rb
app/views/account/deletions/show.html.erb
app/views/application/_auth_providers.html.erb [new file with mode: 0644]
app/views/diary_entries/index.html.erb
app/views/geocoder/results.html.erb
app/views/layouts/_flash.html.erb
app/views/layouts/_header.html.erb
app/views/layouts/map.html.erb
app/views/messages/_message_summary.html.erb
app/views/messages/_messages_table.html.erb
app/views/messages/_sent_message_summary.html.erb
app/views/sessions/new.html.erb
app/views/site/copyright.html.erb
app/views/site/fixthemap.html.erb
app/views/site/welcome.html.erb
app/views/traces/_trace.html.erb
app/views/users/blocked.html.erb
app/views/users/new.html.erb
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/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/xmf.yml
config/locales/yo.yml
config/locales/zh-CN.yml
config/locales/zh-HK.yml
config/locales/zh-TW.yml
config/routes.rb
test/controllers/changesets_controller_test.rb
test/controllers/confirmations_controller_test.rb
test/controllers/messages_controller_test.rb
test/controllers/notes_controller_test.rb
test/controllers/users_controller_test.rb
test/helpers/application_helper_test.rb
test/helpers/user_helper_test.rb
test/helpers/user_roles_helper_test.rb
test/integration/user_creation_test.rb
test/system/confirmation_resend_test.rb
test/system/user_signup_test.rb
yarn.lock

index e0373c38a40a7bb3456eaa15d076a7ca43557624..0b2ecf330d4832005ae763681ef8139f97fe0be9 100644 (file)
@@ -95,17 +95,17 @@ GEM
     autoprefixer-rails (10.4.16.0)
       execjs (~> 2)
     aws-eventstream (1.3.0)
-    aws-partitions (1.917.0)
-    aws-sdk-core (3.192.1)
+    aws-partitions (1.925.0)
+    aws-sdk-core (3.194.1)
       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.79.0)
-      aws-sdk-core (~> 3, >= 3.191.0)
+    aws-sdk-kms (1.80.0)
+      aws-sdk-core (~> 3, >= 3.193.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.147.0)
-      aws-sdk-core (~> 3, >= 3.192.0)
+    aws-sdk-s3 (1.149.1)
+      aws-sdk-core (~> 3, >= 3.194.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.8)
     aws-sigv4 (1.8.0)
@@ -122,12 +122,12 @@ GEM
       erubi (~> 1.4)
       parser (>= 2.4)
       smart_properties
-    bigdecimal (3.1.7)
+    bigdecimal (3.1.8)
     binding_of_caller (1.0.1)
       debug_inspector (>= 1.2.0)
     bootsnap (1.18.3)
       msgpack (~> 1.2)
-    bootstrap (5.3.2)
+    bootstrap (5.3.3)
       autoprefixer-rails (>= 9.1.0)
       popper_js (>= 2.11.8, < 3)
     bootstrap_form (5.4.0)
@@ -136,7 +136,7 @@ GEM
     brakeman (6.1.2)
       racc
     brotli (0.5.0)
-    browser (5.3.1)
+    browser (6.0.0)
     builder (3.2.4)
     bzip2-ffi (1.1.1)
       ffi (~> 1.0)
@@ -178,12 +178,12 @@ GEM
       activerecord (>= 3.0, < 8.0)
       delayed_job (>= 3.0, < 5)
     docile (1.4.0)
-    doorkeeper (5.6.9)
+    doorkeeper (5.7.0)
       railties (>= 5)
     doorkeeper-i18n (5.2.7)
       doorkeeper (>= 5.2)
-    doorkeeper-openid_connect (1.8.8)
-      doorkeeper (>= 5.5, < 5.7)
+    doorkeeper-openid_connect (1.8.9)
+      doorkeeper (>= 5.5, < 5.8)
       jwt (>= 2.5)
     drb (2.2.1)
     dry-configurable (1.1.0)
@@ -258,7 +258,7 @@ GEM
     highline (3.0.1)
     htmlentities (4.3.4)
     http_accept_language (2.1.1)
-    i18n (1.14.4)
+    i18n (1.14.5)
       concurrent-ruby (~> 1.0)
     i18n-js (3.9.2)
       i18n (>= 0.6.6)
@@ -289,10 +289,10 @@ GEM
     image_size (3.4.0)
     in_threads (1.6.0)
     io-console (0.7.2)
-    irb (1.12.0)
-      rdoc
+    irb (1.13.1)
+      rdoc (>= 4.0.0)
       reline (>= 0.4.2)
-    jbuilder (2.11.5)
+    jbuilder (2.12.0)
       actionview (>= 5.0.0)
       activesupport (>= 5.0.0)
     jmespath (1.6.2)
@@ -336,7 +336,8 @@ GEM
       minitest (>= 4, < 6)
     msgpack (1.7.2)
     multi_json (1.15.0)
-    multi_xml (0.6.0)
+    multi_xml (0.7.1)
+      bigdecimal (~> 3.1)
     mutex_m (0.2.0)
     net-http (0.4.1)
       uri
@@ -349,7 +350,7 @@ GEM
       timeout
     net-smtp (0.5.0)
       net-protocol
-    nio4r (2.7.1)
+    nio4r (2.7.2)
     nokogiri (1.16.4)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
@@ -401,7 +402,7 @@ GEM
       omniauth (~> 2.0)
     openstreetmap-deadlock_retry (1.3.1)
     parallel (1.24.0)
-    parser (3.3.0.5)
+    parser (3.3.1.0)
       ast (~> 2.4.1)
       racc
     pg (1.5.6)
@@ -475,9 +476,9 @@ GEM
     rdoc (6.6.3.1)
       psych (>= 4.0.0)
     regexp_parser (2.9.0)
-    reline (0.5.3)
+    reline (0.5.5)
       io-console (~> 0.5)
-    request_store (1.6.0)
+    request_store (1.7.0)
       rack (>= 1.4)
     rexml (3.2.6)
     rinku (2.0.6)
@@ -485,7 +486,7 @@ GEM
     rouge (4.2.1)
     rtlcss (0.2.1)
       mini_racer (>= 0.6.3)
-    rubocop (1.63.3)
+    rubocop (1.63.4)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)
       parallel (~> 1.10)
@@ -496,8 +497,8 @@ GEM
       rubocop-ast (>= 1.31.1, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 2.4.0, < 3.0)
-    rubocop-ast (1.31.2)
-      parser (>= 3.3.0.4)
+    rubocop-ast (1.31.3)
+      parser (>= 3.3.1.0)
     rubocop-capybara (2.20.0)
       rubocop (~> 1.41)
     rubocop-factory_bot (2.25.1)
@@ -527,7 +528,7 @@ GEM
       google-protobuf (~> 3.23)
       rake (>= 13.0.0)
     secure_headers (6.5.0)
-    selenium-webdriver (4.19.0)
+    selenium-webdriver (4.20.1)
       base64 (~> 0.2)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
@@ -539,7 +540,7 @@ GEM
     simplecov-html (0.12.3)
     simplecov-lcov (0.8.0)
     simplecov_json_formatter (0.1.4)
-    simpleidn (0.2.1)
+    simpleidn (0.2.2)
       unf (~> 0.1.4)
     smart_properties (1.17.0)
     snaky_hash (2.0.1)
index adba236c889741fa4744f414e7ec5215dac98524..459c7563c72f50f7174344423d61ce6bd0dfc71f 100644 (file)
Binary files a/app/assets/images/browse/gate2.p.16.png and b/app/assets/images/browse/gate2.p.16.png differ
index 64097e3134d29199ec3ce8d9af10a4e2d8b25448..a91d7a7b17552633bbe99f622f704cc28e6925da 100644 (file)
Binary files a/app/assets/images/browse/level_crossing.p.16.png and b/app/assets/images/browse/level_crossing.p.16.png differ
index 3c17f03a4b7eaed5faa54349ef4e9564c5d70eb0..e77bbca02ed1c8fa3f8baa16108a806f7b42e9ba 100644 (file)
Binary files a/app/assets/images/browse/tree.p.16.png and b/app/assets/images/browse/tree.p.16.png differ
diff --git a/app/assets/images/notice.png b/app/assets/images/notice.png
deleted file mode 100644 (file)
index f9285e4..0000000
Binary files a/app/assets/images/notice.png and /dev/null differ
diff --git a/app/assets/images/notice.svg b/app/assets/images/notice.svg
deleted file mode 100644 (file)
index cb779ce..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg3864"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="16"
-   height="16"
-   sodipodi:docname="notice.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/notice.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata3870">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs3868" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1405"
-     inkscape:window-height="1009"
-     id="namedview3866"
-     showgrid="false"
-     inkscape:zoom="21.536424"
-     inkscape:cx="15.375"
-     inkscape:cy="1.125"
-     inkscape:window-x="326"
-     inkscape:window-y="43"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg3864"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:snap-bbox="true"
-     inkscape:snap-nodes="true">
-    <inkscape:grid
-       type="xygrid"
-       id="grid3920"
-       empspacing="5"
-       visible="true"
-       enabled="true"
-       snapvisiblegridlinesonly="true" />
-  </sodipodi:namedview>
-  <path
-     style="color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 2 0 C 0.892 0 0 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 0 14 0 L 2 0 z M 7 3 L 9 3 L 9 8 L 7 8 L 7 3 z M 7 10 L 9 10 L 9 12 L 7 12 L 7 10 z "
-     id="rect7131" />
-</svg>
diff --git a/app/assets/images/roles/administrator.png b/app/assets/images/roles/administrator.png
deleted file mode 100644 (file)
index 6bb919c..0000000
Binary files a/app/assets/images/roles/administrator.png and /dev/null differ
diff --git a/app/assets/images/roles/administrator.svg b/app/assets/images/roles/administrator.svg
deleted file mode 100644 (file)
index 460d9b4..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg5873"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="20"
-   height="20"
-   sodipodi:docname="administrator.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/administrator.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata5879">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs5877" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="640"
-     inkscape:window-height="480"
-     id="namedview5875"
-     showgrid="false"
-     inkscape:zoom="5.6568542"
-     inkscape:cx="37.573963"
-     inkscape:cy="0.44974747"
-     inkscape:window-x="733"
-     inkscape:window-y="118"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg5873" />
-  <path
-     inkscape:connector-curvature="0"
-     style="color:#000000;fill:#f69e42;fill-opacity:1;fill-rule:nonzero;stroke:#f69e42;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
-     id="path4709" />
-</svg>
diff --git a/app/assets/images/roles/blank_administrator.png b/app/assets/images/roles/blank_administrator.png
deleted file mode 100644 (file)
index 8f56b6e..0000000
Binary files a/app/assets/images/roles/blank_administrator.png and /dev/null differ
diff --git a/app/assets/images/roles/blank_administrator.svg b/app/assets/images/roles/blank_administrator.svg
deleted file mode 100644 (file)
index 3e56c78..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg5539"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="20"
-   height="20"
-   sodipodi:docname="blank_administrator.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_administrator.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata5545">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs5543" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1031"
-     inkscape:window-height="802"
-     id="namedview5541"
-     showgrid="false"
-     inkscape:zoom="8"
-     inkscape:cx="10.953608"
-     inkscape:cy="15.654921"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg5539">
-    <inkscape:grid
-       type="xygrid"
-       id="grid5688" />
-  </sodipodi:namedview>
-  <image
-     width="20"
-     height="20"
-     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAArVJREFU
-OI2tlU1IVFEUx3/3vZm5fszoNGX5kR8ZWaEYubAE+1LJoCCZRdSiHMqoyI0QLgxauigIgqlNtKhF
-WW6SaqNlrQosKHLScWxS+rBEsJJsSn3vtvAp0+hkUmd3eef8OPd//uc+oZTif4a2mGRhxT8Bw2Hf
-kfCbw2eEEDbABSQKIeLW2RYCOuTKPZrmlEAKkAWMAZ+An4vuMPCqzC4deYUJcm1RVZWnAMgHVgAy
-3tX/CJQyryY1tTLf7a7MrvWVHgYygCWAjFczByiiQso8r5SrdF1PISdn3SZgKZBsAbXYfIjS0BJd
-AjogsrKksNtyN8x8z8wszPZ47O7R0UkX08MZF0IYUb2YQogJ0Rfy1gnhaHY6t0YMw9RNQ4kZa6an
-e5dLmWkDMIyvhPqvfNE1zbA79ClNoAARiTyVfaGh1pq9D84BH1FK0RvcV/H2XXO3YXxXfxumOaEC
-gebhxsaSy8BupgeWgFIKpRTXbxR5enqP3/v2LRBZCDY+/maqveNQuKAg6TSwC1gFJAJiFmitoN7V
-daDp/YerH+LBBgZbxvz+ikeaJmqBEmtQtllGNNCCit7gsbZ4wPYOXxioA4qBpNj6ObbpDmwWzuTV
-a+L5LCe7eGlamgOmN+bHgj40zbRKt7si3zoRCvm/BPvOjyg1CUBunjeloWHjNqt27rbEthwMnmxR
-ylA/J4bNx09ODFRXZ9Rv375s5/MX9c8ikcEppZR60Hn0JbAesM+RLEY/+8Dg2Z6Rkfax223eTpdL
-3wFkAolOl76k8+H+K0NDrZ/7X18YTk93lM6n4W+HjvtVO4J9vk9+/5Ymq4NUQJsZFuC8eKn8YE9v
-3dDNWztPAU5AzAsExJ27VesbG3PXAh5AzucAIKHWl5F79Vp5GeCIzREq6hdgLbg2La0y40066oFV
-KhoA/AI4idurnYfhgQAAAABJRU5ErkJggg==
-"
-     id="image5547"
-     x="-70"
-     y="0" />
-  <path
-     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#f69e42;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10 2 L 8.125 8 L 2 8 L 6.96875 11.71875 L 5 18 L 10 14 L 15 18 L 13.03125 11.71875 L 18 8 L 11.875 8 L 10 2 z "
-     id="path4709" />
-  <path
-     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10 2 L 8.125 8 L 2 8 L 6.96875 11.71875 L 5 18 L 10 14 L 15 18 L 13.03125 11.71875 L 18 8 L 11.875 8 L 10 2 z "
-     id="path5684" />
-</svg>
diff --git a/app/assets/images/roles/blank_importer.png b/app/assets/images/roles/blank_importer.png
deleted file mode 100644 (file)
index 1eb8118..0000000
Binary files a/app/assets/images/roles/blank_importer.png and /dev/null differ
diff --git a/app/assets/images/roles/blank_importer.svg b/app/assets/images/roles/blank_importer.svg
deleted file mode 100644 (file)
index d4e53ec..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg6042"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="20"
-   height="20"
-   sodipodi:docname="blank_moderator.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_moderator.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata6048">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs6046" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1264"
-     inkscape:window-height="776"
-     id="namedview6044"
-     showgrid="false"
-     inkscape:zoom="1"
-     inkscape:cx="10"
-     inkscape:cy="10"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg6042" />
-  <path
-     inkscape:connector-curvature="0"
-     style="color:#000000;fill:#38e13a;fill-opacity:1;fill-rule:nonzero;stroke:#38e13a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
-     id="path4709" />
-  <path
-     inkscape:connector-curvature="0"
-     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
-     id="path5684" />
-</svg>
diff --git a/app/assets/images/roles/blank_moderator.png b/app/assets/images/roles/blank_moderator.png
deleted file mode 100644 (file)
index 1608387..0000000
Binary files a/app/assets/images/roles/blank_moderator.png and /dev/null differ
diff --git a/app/assets/images/roles/blank_moderator.svg b/app/assets/images/roles/blank_moderator.svg
deleted file mode 100644 (file)
index 1b2a091..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg6042"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="20"
-   height="20"
-   sodipodi:docname="blank_moderator.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/blank_moderator.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata6048">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs6046" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1264"
-     inkscape:window-height="776"
-     id="namedview6044"
-     showgrid="false"
-     inkscape:zoom="1"
-     inkscape:cx="10"
-     inkscape:cy="10"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg6042" />
-  <path
-     inkscape:connector-curvature="0"
-     style="color:#000000;fill:#1313ff;fill-opacity:1;fill-rule:nonzero;stroke:#1313ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
-     id="path4709" />
-  <path
-     inkscape:connector-curvature="0"
-     style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
-     id="path5684" />
-</svg>
diff --git a/app/assets/images/roles/importer.png b/app/assets/images/roles/importer.png
deleted file mode 100644 (file)
index 6711729..0000000
Binary files a/app/assets/images/roles/importer.png and /dev/null differ
diff --git a/app/assets/images/roles/importer.svg b/app/assets/images/roles/importer.svg
deleted file mode 100644 (file)
index 449787a..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg4678"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="20"
-   height="20"
-   sodipodi:docname="moderator.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/moderator.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata4684">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs4682" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1574"
-     inkscape:window-height="831"
-     id="namedview4680"
-     showgrid="false"
-     inkscape:zoom="1"
-     inkscape:cx="9.1260993"
-     inkscape:cy="11.531765"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg4678">
-    <inkscape:grid
-       type="xygrid"
-       id="grid4707" />
-  </sodipodi:namedview>
-  <path
-     style="color:#000000;fill:#38e13a;fill-opacity:1;fill-rule:nonzero;stroke:#38e13a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="m 10,2 5,16 -5,-4 -5,4 z"
-     id="path4709"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="ccccc" />
-  <path
-     style="color:#000000;fill:#38e13a;fill-opacity:1;fill-rule:nonzero;stroke:#38e13a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="m 2,8 16,0 -8,6 z"
-     id="path5479"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="cccc" />
-</svg>
diff --git a/app/assets/images/roles/moderator.png b/app/assets/images/roles/moderator.png
deleted file mode 100644 (file)
index f7534be..0000000
Binary files a/app/assets/images/roles/moderator.png and /dev/null differ
diff --git a/app/assets/images/roles/moderator.svg b/app/assets/images/roles/moderator.svg
deleted file mode 100644 (file)
index 9288dac..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg4678"
-   version="1.1"
-   inkscape:version="0.48.2 r9819"
-   width="20"
-   height="20"
-   sodipodi:docname="moderator.svg"
-   inkscape:export-filename="/Users/saman/work_repos/openstreetmap-website/app/assets/images/roles/moderator.png"
-   inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90">
-  <metadata
-     id="metadata4684">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <defs
-     id="defs4682" />
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1574"
-     inkscape:window-height="831"
-     id="namedview4680"
-     showgrid="false"
-     inkscape:zoom="1"
-     inkscape:cx="9.1260993"
-     inkscape:cy="11.531765"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg4678">
-    <inkscape:grid
-       type="xygrid"
-       id="grid4707" />
-  </sodipodi:namedview>
-  <path
-     style="color:#000000;fill:#0606ff;fill-opacity:1;fill-rule:nonzero;stroke:#0606ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="m 10,2 5,16 -5,-4 -5,4 z"
-     id="path4709"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="ccccc" />
-  <path
-     style="color:#000000;fill:#0606ff;fill-opacity:1;fill-rule:nonzero;stroke:#0606ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
-     d="m 2,8 16,0 -8,6 z"
-     id="path5479"
-     inkscape:connector-curvature="0"
-     sodipodi:nodetypes="cccc" />
-</svg>
diff --git a/app/assets/images/sign-up-illustration-arm.png b/app/assets/images/sign-up-illustration-arm.png
deleted file mode 100644 (file)
index 5c837b0..0000000
Binary files a/app/assets/images/sign-up-illustration-arm.png and /dev/null differ
diff --git a/app/assets/javascripts/auth_providers.js b/app/assets/javascripts/auth_providers.js
new file mode 100644 (file)
index 0000000..975c57a
--- /dev/null
@@ -0,0 +1,23 @@
+//= require qs/dist/qs
+
+$(document).ready(function () {
+  // Attach referer to authentication buttons
+  $(".auth_button").each(function () {
+    var params = Qs.parse(this.search.substring(1));
+    params.referer = $("#referer").val();
+    this.search = Qs.stringify(params);
+  });
+
+  // Add click handler to show OpenID field
+  $("#openid_open_url").click(function (e) {
+    e.preventDefault();
+    $("#openid_url").val("http://");
+    $("#login_auth_buttons").hide().removeClass("d-flex");
+    $("#login_openid_url").show();
+    $("#openid_login_button").show();
+  });
+
+  // Hide OpenID field for now
+  $("#login_openid_url").hide();
+  $("#openid_login_button").hide();
+});
index 313bd1cc00618506e7e0e6e76143577f381f3d75..a7d228ff99f5f4a81de3fdf7f69fe458658df42a 100644 (file)
@@ -1,4 +1,3 @@
-//= require jquery-simulate/jquery.simulate
 //= require qs/dist/qs
 
 OSM.Query = function (map) {
@@ -52,23 +51,8 @@ OSM.Query = function (map) {
   }
 
   $("#sidebar_content")
-    .on("mouseover", ".query-results li.query-result", showResultGeometry)
-    .on("mouseout", ".query-results li.query-result", hideResultGeometry)
-    .on("mousedown", ".query-results li.query-result", function () {
-      var moved = false;
-      $(this).one("click", function (e) {
-        if (!moved) {
-          var geometry = $(this).data("geometry");
-          if (geometry) map.removeLayer(geometry);
-
-          if (!$(e.target).is("a")) {
-            $(this).find("a").simulate("click", e);
-          }
-        }
-      }).one("mousemove", function () {
-        moved = true;
-      });
-    });
+    .on("mouseover", ".query-results a", showResultGeometry)
+    .on("mouseout", ".query-results a", hideResultGeometry);
 
   function interestingFeature(feature) {
     if (feature.tags) {
@@ -216,13 +200,14 @@ OSM.Query = function (map) {
 
           if (interestingFeature(element)) {
             var $li = $("<li>")
-              .addClass("query-result list-group-item list-group-item-action")
-              .data("geometry", featureGeometry(element))
+              .addClass("list-group-item list-group-item-action")
               .text(featurePrefix(element) + " ")
               .appendTo($ul);
 
             $("<a>")
+              .addClass("stretched-link")
               .attr("href", "/" + element.type + "/" + element.id)
+              .data("geometry", featureGeometry(element))
               .text(featureName(element))
               .appendTo($li);
           }
@@ -230,14 +215,14 @@ OSM.Query = function (map) {
 
         if (results.remark) {
           $("<li>")
-            .addClass("query-result list-group-item list-group-item-action")
+            .addClass("list-group-item")
             .text(I18n.t("javascripts.query.error", { server: url, error: results.remark }))
             .appendTo($ul);
         }
 
         if ($ul.find("li").length === 0) {
           $("<li>")
-            .addClass("query-result list-group-item list-group-item-action")
+            .addClass("list-group-item")
             .text(I18n.t("javascripts.query.nothing_found"))
             .appendTo($ul);
         }
@@ -246,7 +231,7 @@ OSM.Query = function (map) {
         $section.find(".loader").hide();
 
         $("<li>")
-          .addClass("query-result list-group-item list-group-item-action")
+          .addClass("list-group-item")
           .text(I18n.t("javascripts.query." + status, { server: url, error: error }))
           .appendTo($ul);
       }
@@ -367,7 +352,7 @@ OSM.Query = function (map) {
   page.unload = function (sameController) {
     if (!sameController) {
       disableQueryMode();
-      $("#sidebar_content .query-results li.query-result.selected").each(hideResultGeometry);
+      $("#sidebar_content .query-results a.selected").each(hideResultGeometry);
     }
   };
 
index 1c1da3677e167167eef8c9db1ba3db9b9d2b6ef4..d41fc7d532b04865a65cd1a068956e08ca64c86d 100644 (file)
@@ -1,4 +1,3 @@
-//= require jquery-simulate/jquery.simulate
 //= require qs/dist/qs
 
 OSM.Search = function (map) {
@@ -44,17 +43,7 @@ OSM.Search = function (map) {
     .on("click", ".search_more a", clickSearchMore)
     .on("click", ".search_results_entry a.set_position", clickSearchResult)
     .on("mouseover", "li.search_results_entry:has(a.set_position)", showSearchResult)
-    .on("mouseout", "li.search_results_entry:has(a.set_position)", hideSearchResult)
-    .on("mousedown", "li.search_results_entry:has(a.set_position)", function () {
-      var moved = false;
-      $(this).one("click", function (e) {
-        if (!moved && !$(e.target).is("a")) {
-          $(this).find("a.set_position").simulate("click", e);
-        }
-      }).one("mousemove", function () {
-        moved = true;
-      });
-    });
+    .on("mouseout", "li.search_results_entry:has(a.set_position)", hideSearchResult);
 
   var markers = L.layerGroup().addTo(map);
 
@@ -94,8 +83,6 @@ OSM.Search = function (map) {
     }
 
     markers.addLayer(marker);
-
-    $(this).closest("li").addClass("selected");
   }
 
   function hideSearchResult() {
@@ -104,8 +91,6 @@ OSM.Search = function (map) {
     if (marker) {
       markers.removeLayer(marker);
     }
-
-    $(this).closest("li").removeClass("selected");
   }
 
   function panToSearchResult(data) {
index 43e2cf6606361e83b74408ef998f2cf54ae534ae..83ca4d440dd3b238797529b252a6684b5729dca6 100644 (file)
@@ -1,28 +1,6 @@
-//= qs/dist/qs
-
 $(document).ready(function () {
   // Preserve location hash in referer
   if (window.location.hash) {
     $("#referer").val($("#referer").val() + window.location.hash);
   }
-
-  // Attach referer to authentication buttons
-  $(".auth_button").each(function () {
-    var params = Qs.parse(this.search.substring(1));
-    params.referer = $("#referer").val();
-    this.search = Qs.stringify(params);
-  });
-
-  // Add click handler to show OpenID field
-  $("#openid_open_url").click(function (e) {
-    e.preventDefault();
-    $("#openid_url").val("http://");
-    $("#login_auth_buttons").hide();
-    $("#login_openid_url").show();
-    $("#login_openid_submit").show();
-  });
-
-  // Hide OpenID field for now
-  $("#login_openid_url").hide();
-  $("#login_openid_submit").hide();
 });
index eef06457b3f8e70e43eaa87d07ef55d6eab1f351..0f5933eba5425582ecc516affc7d92e775cbd480 100644 (file)
@@ -5,7 +5,7 @@ $(document).ready(function () {
     }
   });
 
-  $(".messages-table .message-summary").on("turbo:before-morph-element", function (event) {
+  $(".messages-table tbody tr").on("turbo:before-morph-element", function (event) {
     if ($(event.target).find("[data-is-destroyed]").length > 0) {
       event.preventDefault(); // NB: prevent Turbo from morhping/removing this element
       $(event.target).fadeOut(800, "linear", function () {
index 146d876f789643d20abfed4043cbf44989c8af59..495470f2fd10ea35281b5f0377d9d19130bc8099 100644 (file)
@@ -121,7 +121,7 @@ $(document).ready(function () {
         var user = $(this).data("user");
         if (user.lon && user.lat) {
           L.marker([user.lat, user.lon], { icon: OSM.getUserIcon(user.icon) }).addTo(map)
-            .bindPopup(user.description);
+            .bindPopup(user.description, { minWidth: 200 });
         }
       });
     }
index 7c0fbd2c005136052b41449362a9664fdb6fd99b..2dac602fed327e5bbfa2b178f1839f352098633a 100644 (file)
-.browse-section {
-
-  /* Make space for icons */
-
-  .node::before,
-  .way::before,
-  .relation::before {
-    display: inline-block;
-    width: 25px;
-    margin-left: -25px;
-  }
-
-  .node, .way, .relation {
-    margin-left: 25px;
-  }
+$map-sidebar-icons: (
 
   /* Nodes (and ways as areas) */
 
-  .aeroway.aerodrome::before { content: image-url('browse/aerodrome.p.16.png'); }
-
-  .amenity.atm::before { content: image-url('browse/amenity_atm.16.png'); }
-  .amenity.bank::before { content: image-url('browse/amenity_bank.16.png'); }
-  .amenity.bar::before { content: image-url('browse/amenity_bar.16.png'); }
-  .amenity.bench::before { content: image-url('browse/amenity_bench.16.png'); }
-  .amenity.biergarten::before { content: image-url('browse/amenity_biergarten.16.png'); }
-  .amenity.bicycle_parking::before { content: image-url('browse/amenity_bicycle_parking.16.png'); }
-  .amenity.bicycle_rental::before { content: image-url('browse/transport_rental_bicycle.16.png'); }
-  .amenity.bus_station::before { content: image-url('browse/bus_station.n.16.png'); }
-  .amenity.cafe::before { content: image-url('browse/amenity_cafe.16.png'); }
-  .amenity.car_rental::before { content: image-url('browse/transport_rental_car.16.png'); }
-  .amenity.car_sharing::before { content: image-url('browse/car_share.p.16.png'); }
-  .amenity.cinema::before { content: image-url('browse/amenity_cinema.16.png'); }
-  .amenity.courthouse::before { content: image-url('browse/amenity_courthouse.16.png'); }
-  .amenity.dentist::before { content: image-url('browse/amenity_dentist.16.png'); }
-  .amenity.doctors::before { content: image-url('browse/amenity_doctors.16.png'); }
-  .amenity.drinking_water::before { content: image-url('browse/amenity_drinking_water.16.png'); }
-  .amenity.embassy::before { content: image-url('browse/amenity_embassy.16.png'); }
-  .amenity.fast_food::before { content: image-url('browse/amenity_fast_food.16.png'); }
-  .amenity.fire_station::before { content: image-url('browse/amenity_fire_station.16.png'); }
-  .amenity.fuel::before { content: image-url('browse/amenity_fuel.16.png'); }
-  .amenity.hospital::before { content: image-url('browse/amenity_hospital.16.png'); }
-  .amenity.library::before { content: image-url('browse/library.p.16.png'); }
-  .amenity.nursery::before { content: image-url('browse/education_nursery.p.16.png'); }
-  .amenity.nightclub::before { content: image-url('browse/amenity_nightclub.16.png'); }
-  .amenity.parking::before { content: image-url('browse/parking.p.16.png'); }
-  .amenity.pharmacy::before { content: image-url('browse/amenity_pharmacy.16.png'); }
-  .amenity.place_of_worship::before { content: image-url('browse/amenity_place_of_worship.16.png'); }
-  .amenity.police::before { content: image-url('browse/amenity_police.16.png'); }
-  .amenity.post_box::before { content: image-url('browse/post_box.p.16.png'); }
-  .amenity.post_office::before { content: image-url('browse/post_office.p.16.png'); }
-  .amenity.prison::before { content: image-url('browse/amenity_prison.16.png'); }
-  .amenity.pub::before { content: image-url('browse/amenity_pub.16.png'); }
-  .amenity.restaurant::before { content: image-url('browse/amenity_restaurant.16.png'); }
-  .amenity.recycling::before { content: image-url('browse/amenity_recycling.16.png'); }
-  .amenity.school::before { content: image-url('browse/education_school.p.16.png'); }
-  .amenity.shelter::before { content: image-url('browse/shelter2.p.16.png'); }
-  .amenity.taxi::before { content: image-url('browse/amenity_taxi.16.png'); }
-  .amenity.telephone::before { content: image-url('browse/telephone.p.16.png'); }
-  .amenity.theatre::before { content: image-url('browse/amenity_theatre.16.png'); }
-  .amenity.toilets::before { content: image-url('browse/amenity_toilets.16.png'); }
-  .amenity.townhall::before { content: image-url('browse/amenity_townhall.16.png'); }
-  .amenity.university::before { content: image-url('browse/education_university.p.16.png'); }
-  .amenity.veterinary::before { content: image-url('browse/health_veterinary.p.16.png'); }
-  .amenity.waste_basket::before { content: image-url('browse/amenity_waste_basket.16.png'); }
-
-  .barrier.gate::before { content: image-url('browse/gate2.p.16.png'); }
-
-  .highway.bus_stop::before { content: image-url('browse/highway_bus_stop.16.png'); }
-  .highway.mini_roundabout::before { content: image-url('browse/mini_round.p.16.png'); }
-  .highway.traffic_signals::before { content: image-url('browse/traffic_light.png'); }
-  .highway.turning_circle::before { content: image-url('browse/turning_circle.p.16.png'); }
-
-  .historic.archaeological_site::before { content: image-url('browse/historic_archaeological_site.16.png'); }
-  .historic.castle::before { content: image-url('browse/tourist_castle.p.16.png'); }
-  .historic.memorial::before { content: image-url('browse/historic_memorial.16.png'); }
-  .historic.monument::before { content: image-url('browse/historic_monument.16.png'); }
-  .historic.ruins::before { content: image-url('browse/tourist_ruins.p.16.png'); }
-  .historic.wreck::before { content: image-url('browse/tourist_wreck.p.16.png'); }
-
-  .man_made.lighthouse::before { content: image-url('browse/man_made_lighthouse.16.png'); }
-  .man_made.water_tower::before { content: image-url('browse/man_made_water_tower.16.png'); }
-  .man_made.windmill::before { content: image-url('browse/man_made_windmill.16.png'); }
-
-  .natural.tree::before { content: image-url('browse/tree.p.16.png'); }
-
-  .railway.halt::before { content: image-url('browse/halt.p.16.png'); }
-  .railway.station::before { content: image-url('browse/station.p.16.png'); }
-  .railway.level_crossing::before { content: image-url('browse/level_crossing.p.16.png'); }
-
-  .shop::before { content: image-url('browse/shop_convenience.p.16.png'); }
-  .shop.alcohol::before { content: image-url('browse/shop_alcohol.16.png'); }
-  .shop.bakery::before { content: image-url('browse/shop_bakery.16.png'); }
-  .shop.bicycle::before { content: image-url('browse/shop_bicycle.16.png'); }
-  .shop.books::before { content: image-url('browse/shop_books.16.png'); }
-  .shop.butcher::before { content: image-url('browse/shop_butcher.p.16.png'); }
-  .shop.clothes::before { content: image-url('browse/shop_clothes.16.png'); }
-  .shop.car_parts::before { content: image-url('browse/shop_car_parts.16.png'); }
-  .shop.car_repair::before { content: image-url('browse/shop_car_repair.16.png'); }
-  .shop.convenience::before { content: image-url('browse/shop_convenience.p.16.png'); }
-  .shop.diy::before { content: image-url('browse/shop_doityourself.16.png'); }
-  .shop.electronics::before { content: image-url('browse/shop_electronics.16.png'); }
-  .shop.estate_agent::before { content: image-url('browse/shop_estateagent2.p.16.png'); }
-  .shop.fashion::before { content: image-url('browse/shop_clothes.16.png'); }
-  .shop.fish::before { content: image-url('browse/shop_fish.p.16.png'); }
-  .shop.florist::before { content: image-url('browse/shop_florist.16.png'); }
-  .shop.furniture::before { content: image-url('browse/shop_furniture.16.png'); }
-  .shop.garden_centre::before { content: image-url('browse/shop_florist.16.png'); }
-  .shop.gift::before { content: image-url('browse/shop_gift.16.png'); }
-  .shop.greengrocer::before { content: image-url('browse/shop_greengrocer.p.16.png'); }
-  .shop.hardware::before { content: image-url('browse/shop_doityourself.16.png'); }
-  .shop.hairdresser::before { content: image-url('browse/shop_hairdresser.16.png'); }
-  .shop.jewelry::before { content: image-url('browse/shop_jewellery.16.png'); }
-  .shop.jewellery::before { content: image-url('browse/shop_jewellery.16.png'); }
-  .shop.mobile_phone::before { content: image-url('browse/shop_mobile_phone.16.png'); }
-  .shop.optician::before { content: image-url('browse/shop_optician.16.png'); }
-  .shop.pet::before { content: image-url('browse/shop_pet.16.png'); }
-  .shop.shoes::before { content: image-url('browse/shop_shoes.16.png'); }
-  .shop.supermarket::before { content: image-url('browse/shop_supermarket.p.16.png'); }
-
-  .tourism.alpine_hut::before { content: image-url('browse/tourism_alpine_hut.16.png'); }
-  .tourism.camp_site::before { content: image-url('browse/tourism_camp_site.16.png'); }
-  .tourism.caravan_site::before { content: image-url('browse/tourism_caravan_site.16.png'); }
-  .tourism.hostel::before { content: image-url('browse/tourism_hostel.16.png'); }
-  .tourism.hotel::before { content: image-url('browse/tourism_hotel.16.png'); }
-  .tourism.motel::before { content: image-url('browse/tourism_motel.16.png'); }
-  .tourism.museum::before { content: image-url('browse/tourism_museum.16.png'); }
-  .tourism.picnic_site::before { content: image-url('browse/tourism_picnic_site.16.png'); }
-  .tourism.viewpoint::before { content: image-url('browse/view_point.p.16.png'); }
-  .tourism.wilderness_hut::before { content: image-url('browse/tourism_wilderness_hut.16.png'); }
+  ".aeroway.aerodrome": ("filename": "aerodrome.p.16.png"),
+  
+  ".amenity.atm": ("filename": "amenity_atm.16.png", "invert": true),
+  ".amenity.bank": ("filename": "amenity_bank.16.png", "invert": true),
+  ".amenity.bar": ("filename": "amenity_bar.16.png", "invert": true),
+  ".amenity.bench": ("filename": "amenity_bench.16.png", "invert": true),
+  ".amenity.biergarten": ("filename": "amenity_biergarten.16.png", "invert": true),
+  ".amenity.bicycle_parking": ("filename": "amenity_bicycle_parking.16.png"),
+  ".amenity.bicycle_rental": ("filename": "transport_rental_bicycle.16.png"),
+  ".amenity.bus_station": ("filename": "bus_station.n.16.png"),
+  ".amenity.cafe": ("filename": "amenity_cafe.16.png", "invert": true),
+  ".amenity.car_rental": ("filename": "transport_rental_car.16.png"),
+  ".amenity.car_sharing": ("filename": "car_share.p.16.png"),
+  ".amenity.childcare": ("filename": "amenity_childcare.p.16.png"),
+  ".amenity.cinema": ("filename": "amenity_cinema.16.png", "invert": true),
+  ".amenity.courthouse": ("filename": "amenity_courthouse.16.png", "invert": true),
+  ".amenity.dentist": ("filename": "amenity_dentist.16.png"),
+  ".amenity.doctors": ("filename": "amenity_doctors.16.png"),
+  ".amenity.drinking_water": ("filename": "amenity_drinking_water.16.png", "invert": true),
+  ".amenity.fast_food": ("filename": "amenity_fast_food.16.png", "invert": true),
+  ".amenity.fire_station": ("filename": "amenity_fire_station.16.png", "invert": true),
+  ".amenity.fuel": ("filename": "amenity_fuel.16.png"),
+  ".amenity.hospital": ("filename": "amenity_hospital.16.png"),
+  ".amenity.kindergarten": ("filename": "amenity_childcare.p.16.png"),
+  ".amenity.library": ("filename": "library.p.16.png", "invert": true),
+  ".amenity.nightclub": ("filename": "amenity_nightclub.16.png", "invert": true),
+  ".amenity.parking": ("filename": "parking.p.16.png"),
+  ".amenity.pharmacy": ("filename": "amenity_pharmacy.16.png"),
+  ".amenity.place_of_worship": ("filename": "amenity_place_of_worship.16.png", "invert": true),
+  ".amenity.police": ("filename": "amenity_police.16.png", "invert": true),
+  ".amenity.post_box": ("filename": "post_box.p.16.png", "invert": true),
+  ".amenity.post_office": ("filename": "post_office.p.16.png", "invert": true),
+  ".amenity.prison": ("filename": "amenity_prison.16.png", "invert": true),
+  ".amenity.pub": ("filename": "amenity_pub.16.png", "invert": true),
+  ".amenity.restaurant": ("filename": "amenity_restaurant.16.png", "invert": true),
+  ".amenity.recycling": ("filename": "amenity_recycling.16.png", "invert": true),
+  ".amenity.school": ("filename": "education_school.p.16.png"),
+  ".amenity.shelter": ("filename": "shelter2.p.16.png"),
+  ".amenity.taxi": ("filename": "amenity_taxi.16.png"),
+  ".amenity.telephone": ("filename": "telephone.p.16.png", "invert": true),
+  ".amenity.theatre": ("filename": "amenity_theatre.16.png", "invert": true),
+  ".amenity.toilets": ("filename": "amenity_toilets.16.png", "invert": true),
+  ".amenity.townhall": ("filename": "amenity_townhall.16.png", "invert": true),
+  ".amenity.university": ("filename": "education_university.p.16.png"),
+  ".amenity.veterinary": ("filename": "health_veterinary.p.16.png"),
+  ".amenity.waste_basket": ("filename": "amenity_waste_basket.16.png", "invert": true),
+
+  ".barrier.gate": ("filename": "gate2.p.16.png", "invert": true),
+
+  ".highway.bus_stop": ("filename": "highway_bus_stop.16.png"),
+  ".highway.mini_roundabout": ("filename": "mini_round.p.16.png"),
+  ".highway.traffic_signals": ("filename": "traffic_light.png", "invert": true),
+  ".highway.turning_circle": ("filename": "turning_circle.p.16.png"),
+
+  ".historic.archaeological_site": ("filename": "historic_archaeological_site.16.png", "invert": true),
+  ".historic.castle": ("filename": "tourist_castle.p.16.png", "invert": true),
+  ".historic.memorial": ("filename": "historic_memorial.16.png", "invert": true),
+  ".historic.monument": ("filename": "historic_monument.16.png", "invert": true),
+  ".historic.ruins": ("filename": "tourist_ruins.p.16.png", "invert": true),
+  ".historic.wreck": ("filename": "tourist_wreck.p.16.png", "invert": true),
+
+  ".man_made.lighthouse": ("filename": "man_made_lighthouse.16.png"),
+  ".man_made.water_tower": ("filename": "man_made_water_tower.16.png", "invert": true),
+  ".man_made.windmill": ("filename": "man_made_windmill.16.png", "invert": true),
+
+  ".natural.tree": ("filename": "tree.p.16.png"),
+
+  ".office.diplomatic": ("filename": "office_diplomatic.16.png"),
+  ".office.estate_agent": ("filename": "shop_estateagent.16.png"),
+
+  ".railway.halt": ("filename": "halt.p.16.png"),
+  ".railway.station": ("filename": "station.p.16.png"),
+  ".railway.level_crossing": ("filename": "level_crossing.p.16.png", "invert": true),
+
+  ".shop": ("filename": "shop_convenience.p.16.png"),
+  ".shop.alcohol": ("filename": "shop_alcohol.16.png"),
+  ".shop.bakery": ("filename": "shop_bakery.16.png"),
+  ".shop.bicycle": ("filename": "shop_bicycle.16.png"),
+  ".shop.books": ("filename": "shop_books.16.png"),
+  ".shop.butcher": ("filename": "shop_butcher.p.16.png"),
+  ".shop.clothes": ("filename": "shop_clothes.16.png"),
+  ".shop.car_parts": ("filename": "shop_car_parts.16.png"),
+  ".shop.car_repair": ("filename": "shop_car_repair.16.png"),
+  ".shop.convenience": ("filename": "shop_convenience.p.16.png"),
+  ".shop.doityourself": ("filename": "shop_doityourself.16.png"),
+  ".shop.electronics": ("filename": "shop_electronics.16.png"),
+  ".shop.estate_agent": ("filename": "shop_estateagent.16.png"),
+  ".shop.fashion": ("filename": "shop_clothes.16.png"),
+  ".shop.florist": ("filename": "shop_florist.16.png"),
+  ".shop.furniture": ("filename": "shop_furniture.16.png"),
+  ".shop.garden_centre": ("filename": "shop_florist.16.png"),
+  ".shop.gift": ("filename": "shop_gift.16.png"),
+  ".shop.greengrocer": ("filename": "shop_greengrocer.p.16.png"),
+  ".shop.hardware": ("filename": "shop_doityourself.16.png"),
+  ".shop.hairdresser": ("filename": "shop_hairdresser.16.png"),
+  ".shop.jewelry": ("filename": "shop_jewelry.16.png"),
+  ".shop.mobile_phone": ("filename": "shop_mobile_phone.16.png"),
+  ".shop.optician": ("filename": "shop_optician.16.png"),
+  ".shop.pet": ("filename": "shop_pet.16.png"),
+  ".shop.seafood": ("filename": "shop_seafood.16.png"),
+  ".shop.shoes": ("filename": "shop_shoes.16.png"),
+  ".shop.supermarket": ("filename": "shop_supermarket.p.16.png"),
+
+  ".tourism.alpine_hut": ("filename": "tourism_alpine_hut.16.png"),
+  ".tourism.camp_site": ("filename": "tourism_camp_site.16.png"),
+  ".tourism.caravan_site": ("filename": "tourism_caravan_site.16.png"),
+  ".tourism.hostel": ("filename": "tourism_hostel.16.png"),
+  ".tourism.hotel": ("filename": "tourism_hotel.16.png"),
+  ".tourism.motel": ("filename": "tourism_motel.16.png"),
+  ".tourism.museum": ("filename": "tourism_museum.16.png", "invert": true),
+  ".tourism.picnic_site": ("filename": "tourism_picnic_site.16.png", "invert": true),
+  ".tourism.viewpoint": ("filename": "view_point.p.16.png", "invert": true),
+  ".tourism.wilderness_hut": ("filename": "tourism_wilderness_hut.16.png"),
 
   /* Ways */
 
-  .aeroway.runway::before { content: image-url('browse/runway.20.png'); }
-  .aeroway.taxiway::before { content: image-url('browse/taxiway.20.png'); }
-
-  .barrier.wall::before { content: image-url('browse/wall.20.png'); }
-
-  .building::before { content: image-url('browse/building.png'); }
-
-  .highway.bridleway::before { content: image-url('browse/bridleway.20.png'); }
-  .highway.cycleway::before { content: image-url('browse/cycleway.20.png'); }
-  .highway.footway::before { content: image-url('browse/footway.20.png'); }
-  .highway.motorway::before { content: image-url('browse/motorway.20.png'); }
-  .highway.motorway_link::before { content: image-url('browse/motorway.20.png'); }
-  .highway.path::before { content: image-url('browse/path.20.png'); }
-  .highway.pedestrian::before { content: image-url('browse/service.20.png'); }
-  .highway.primary::before { content: image-url('browse/primary.20.png'); }
-  .highway.primary_link::before { content: image-url('browse/primary.20.png'); }
-  .highway.residential::before { content: image-url('browse/unclassified.20.png'); }
-  .highway.secondary::before { content: image-url('browse/secondary.20.png'); }
-  .highway.secondary_link::before { content: image-url('browse/secondary.20.png'); }
-  .highway.service::before { content: image-url('browse/service.20.png'); }
-  .highway.tertiary::before { content: image-url('browse/tertiary.20.png'); }
-  .highway.track::before { content: image-url('browse/track.20.png'); }
-  .highway.trunk::before { content: image-url('browse/trunk.20.png'); }
-  .highway.trunk_link::before { content: image-url('browse/trunk.20.png'); }
-  .highway.unclassified::before { content: image-url('browse/unclassified.20.png'); }
-
-  .landuse.brownfield::before { content: image-url('browse/brownfield.png'); }
-  .landuse.cemetery::before { content: image-url('browse/cemetery.png'); }
-  .landuse.commercial::before { content: image-url('browse/commercial.png'); }
-  .landuse.farmland::before { content: image-url('browse/farmland.png'); }
-  .landuse.farmyard::before { content: image-url('browse/farmyard.png'); }
-  .landuse.forest::before { content: image-url('browse/forest.png'); }
-  .landuse.grass::before { content: image-url('browse/grass.png'); }
-  .landuse.industrial::before { content: image-url('browse/industrial.png'); }
-  .landuse.meadow::before { content: image-url('browse/meadow.png'); }
-  .landuse.military::before { content: image-url('browse/military.png'); }
-  .landuse.residential::before { content: image-url('browse/residential.png'); }
-  .landuse.retail::before { content: image-url('browse/retail.png'); }
-  .landuse.tourism::before { content: image-url('browse/tourism.png'); }
-
-  .leisure.golf_course::before { content: image-url('browse/golf.png'); }
-  .leisure.park::before { content: image-url('browse/park.png'); }
-  .leisure.picnic_table::before { content: image-url('browse/tourism_picnic_site.16.png'); }
-  .leisure.playground::before { content: image-url('browse/leisure_playground.16.png'); }
-  .leisure.pitch::before { content: image-url('browse/pitch.png'); }
-  .leisure.nature_reserve::before { content: image-url('browse/reserve.png'); }
-  .leisure.water_park::before { content: image-url('browse/leisure_water_park.16.png'); }
-
-  .natural.grassland::before { content: image-url('browse/grassland.png'); }
-  .natural.heath::before { content: image-url('browse/heathland.png'); }
-  .natural.scrub::before { content: image-url('browse/scrub.png'); }
-  .natural.water::before { content: image-url('browse/lake.png'); }
-  .natural.wood::before { content: image-url('browse/wood.png'); }
-
-  .railway.light_rail::before { content: image-url('browse/light_rail.20.png'); }
-  .railway.rail::before { content: image-url('browse/rail.20.png'); }
-  .railway.subway::before { content: image-url('browse/subway.20.png'); }
-  .railway.tram::before { content: image-url('browse/tram.20.png'); }
-
-}
+  ".aeroway.runway": ("filename": "runway.20.png"),
+  ".aeroway.taxiway": ("filename": "taxiway.20.png"),
+
+  ".barrier.wall": ("filename": "wall.20.png"),
+
+  ".building": ("filename": "building.png"),
+
+  ".highway.bridleway": ("filename": "bridleway.20.png"),
+  ".highway.cycleway": ("filename": "cycleway.20.png"),
+  ".highway.footway": ("filename": "footway.20.png"),
+  ".highway.motorway": ("filename": "motorway.20.png"),
+  ".highway.motorway_link": ("filename": "motorway.20.png"),
+  ".highway.path": ("filename": "path.20.png"),
+  ".highway.pedestrian": ("filename": "service.20.png"),
+  ".highway.primary": ("filename": "primary.20.png"),
+  ".highway.primary_link": ("filename": "primary.20.png"),
+  ".highway.residential": ("filename": "unclassified.20.png"),
+  ".highway.secondary": ("filename": "secondary.20.png"),
+  ".highway.secondary_link": ("filename": "secondary.20.png"),
+  ".highway.service": ("filename": "service.20.png"),
+  ".highway.tertiary": ("filename": "tertiary.20.png"),
+  ".highway.track": ("filename": "track.20.png"),
+  ".highway.trunk": ("filename": "trunk.20.png"),
+  ".highway.trunk_link": ("filename": "trunk.20.png"),
+  ".highway.unclassified": ("filename": "unclassified.20.png"),
+
+  ".landuse.brownfield": ("filename": "brownfield.png"),
+  ".landuse.cemetery": ("filename": "cemetery.png"),
+  ".landuse.commercial": ("filename": "commercial.png"),
+  ".landuse.farmland": ("filename": "farmland.png"),
+  ".landuse.farmyard": ("filename": "farmyard.png"),
+  ".landuse.forest": ("filename": "forest.png"),
+  ".landuse.grass": ("filename": "grass.png"),
+  ".landuse.industrial": ("filename": "industrial.png"),
+  ".landuse.meadow": ("filename": "meadow.png"),
+  ".landuse.military": ("filename": "military.png"),
+  ".landuse.residential": ("filename": "residential.png"),
+  ".landuse.retail": ("filename": "retail.png"),
+  ".landuse.tourism": ("filename": "tourism.png"),
+
+  ".leisure.golf_course": ("filename": "golf.png"),
+  ".leisure.park": ("filename": "park.png"),
+  ".leisure.picnic_table": ("filename": "tourism_picnic_site.16.png", "invert": true),
+  ".leisure.playground": ("filename": "leisure_playground.16.png", "invert": true),
+  ".leisure.pitch": ("filename": "pitch.png"),
+  ".leisure.nature_reserve": ("filename": "reserve.png"),
+  ".leisure.water_park": ("filename": "leisure_water_park.16.png", "invert": true),
+
+  ".natural.grassland": ("filename": "grassland.png"),
+  ".natural.heath": ("filename": "heathland.png"),
+  ".natural.scrub": ("filename": "scrub.png"),
+  ".natural.water": ("filename": "lake.png"),
+  ".natural.wood": ("filename": "wood.png"),
+
+  ".railway.light_rail": ("filename": "light_rail.20.png"),
+  ".railway.rail": ("filename": "rail.20.png"),
+  ".railway.subway": ("filename": "subway.20.png"),
+  ".railway.tram": ("filename": "tram.20.png"),
+
+)
index d2a8f037d0213cc86dacabeb32b80d78011d578e..53a60a3b2c862bc0c3313f11605651499b5c4370 100644 (file)
@@ -1,4 +1,6 @@
+@use "sass:map";
 @import "parameters";
+@import "browse";
 @import "bootstrap";
 @import "rails_bootstrap_forms";
 
@@ -10,26 +12,12 @@ body {
   font-size: $typeheight;
 }
 
-p > img {
-  width: auto;
-  max-width: 100%;
-}
-
-small, aside {
-  font-size: 12px;
-}
-
 time[title] {
   text-decoration: underline dotted;
 }
 
 #container { position: relative; }
 
-.small_icon {
-  vertical-align: middle;
-  margin-right: $lineheight * 0.25;
-}
-
 /* Rules for icons */
 
 .icon {
@@ -174,10 +162,6 @@ nav.secondary {
   .nav-link {
     padding: 0.2rem;
   }
-
-  #inboxanchor {
-    background-color: lighten($grey, 10%);
-  }
 }
 
 nav.primary, nav.secondary {
@@ -473,8 +457,30 @@ body.small-nav {
   border-top: 0px !important;
 }
 
+.leaflet-popup-content-wrapper,
+.leaflet-popup-tip,
+.leaflet-contextmenu,
+.leaflet-contextmenu-item {
+  @extend .bg-body, .text-body;
+}
+
+.leaflet-contextmenu-item.over {
+  @extend .bg-body-secondary, .border-secondary, .border-opacity-10;
+}
+
 .leaflet-popup-content-wrapper {
-  border-radius: 4px !important;
+  @extend .rounded-1;
+
+  a {
+    color: var(--bs-link-color) !important;
+  }
+}
+
+@include color-mode(dark) {
+  .leaflet-tile-container,
+  .mapkey-table-entry td:first-child > * {
+    filter: brightness(.8);
+  }
 }
 
 /* Rules for attribution text under the main map shown on printouts */
@@ -540,10 +546,6 @@ header .search_forms,
 /* Rules for search sidebar */
 
 #sidebar .search_results_entry {
-  ul li.selected {
-    background: $list-highlight;
-  }
-
   .search_more .loader {
     display: none;
   }
@@ -635,14 +637,6 @@ tr.turn {
 
   .query-results {
     display: none;
-
-    ul {
-      li {
-        &.query-result {
-          cursor: pointer;
-        }
-      }
-    }
   }
 }
 
@@ -717,6 +711,7 @@ tr.turn {
 
   &.new-user-main {
     background-image: image-url("sign-up-illustration.png");
+    background-position-x: 50px;
   }
 
   &.confirm-main {
@@ -726,17 +721,6 @@ tr.turn {
   &.new-user-terms {
     background-image: image-url("terms-illustration.png");
   }
-
-  &.new-user-arm {
-    height: 110px;
-    width: 130px;
-    left: 280px;
-    top: 180px;
-    background-image: image-url("sign-up-illustration-arm.png");
-    position: absolute;
-    z-index: 100;
-    pointer-events: none;
-  }
 }
 
 [dir=rtl] .header-illustration {
@@ -770,7 +754,6 @@ tr.turn {
 /* Rules for user popups on maps */
 
 .user_popup {
-  min-width: 200px;
   p {
     padding: 0 0 5px 0;
     margin: 0 0 0 60px;
@@ -937,11 +920,6 @@ div.secondary-actions {
   .sprite.rules {
     /*rtl:ignore*/ background-position: -350px 0;
   }
-
-  .icon.note {
-    background-color: #333;
-    border-radius: 4px;
-  }
 }
 
 .site-about #content {
@@ -1010,6 +988,10 @@ div.secondary-actions {
   }
 }
 
+.auth-container {
+  max-width: 600px;
+}
+
 /* Rules for tabs inside secondary background sections */
 
 .bg-body-secondary .nav-tabs {
@@ -1031,4 +1013,32 @@ img.trace_image {
   }
 }
 
-@import 'browse';
+/* Rules for map sidebar icons */
+
+.browse-section {
+  .node::before,
+  .way::before,
+  .relation::before {
+    display: inline-block;
+    width: 25px;
+    margin-left: -25px;
+  }
+
+  .node, .way, .relation {
+    margin-left: 25px;
+  }
+}
+
+@each $class, $item in $map-sidebar-icons {
+  .browse-section #{$class}::before {
+    content: image-url('browse/#{map.get($item, "filename")}');
+  }
+
+  @if map.get($item, "invert") {
+    @include color-mode(dark) {
+      .browse-section #{$class}::before {
+        filter: invert(.8) hue-rotate(180deg);
+      }
+    }
+  }
+}
index c46174d78a49995b6b202640b7ef1a28f37a3349..07549d69bb33e939238f98e6ef6d1e44eea4a816 100644 (file)
@@ -4,15 +4,12 @@ $typeheight: 14px;
 
 $blue: #7092FF;
 $secondary: #888;
-$lightblue: #B8C5F0;
 $green: #7ebc6f;
 $vibrant-green: #76c551;
 $grey: #CCC;
-$lightgrey: #EEE;
 $darkgrey: #888;
 $headerHeight: 55px;
 $sidebarWidth: 350px;
-$list-highlight: #FFFFC0;
 
 $link-color: #24d;
 $link-hover-color: #24d;
index 3ea5fb64e96288551aac8169b5dfaaecc5630087..6a80f260ad05f99128a631558c2adac886f49b2a 100644 (file)
@@ -84,8 +84,9 @@ class ChangesetsController < ApplicationController
     @way_pages, @ways = paginate(:old_ways, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "way_page")
     @relation_pages, @relations = paginate(:old_relations, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "relation_page")
     if @changeset.user.active? && @changeset.user.data_public?
-      @next_by_user = @changeset.user.changesets.where("id > ?", @changeset.id).reorder(:id => :asc).first
-      @prev_by_user = @changeset.user.changesets.where("id < ?", @changeset.id).reorder(:id => :desc).first
+      changesets = conditions_nonempty(@changeset.user.changesets)
+      @next_by_user = changesets.where("id > ?", @changeset.id).reorder(:id => :asc).first
+      @prev_by_user = changesets.where("id < ?", @changeset.id).reorder(:id => :desc).first
     end
     render :layout => map_layout
   rescue ActiveRecord::RecordNotFound
index cebe932fc9862fae21c1cfdb13d93ffa82b4cd46..5dcddb82debb5e4849039c28e2d4cf128d6f5c5f 100644 (file)
@@ -3,6 +3,18 @@ module SessionMethods
 
   private
 
+  ##
+  # Read @preferred_auth_provider and @client_app_name from oauth2 authorization request's referer
+  def parse_oauth_referer(referer)
+    referer_query = URI(referer).query if referer
+    return unless referer_query
+
+    ref_params = CGI.parse referer_query
+    preferred = ref_params["preferred_auth_provider"].first
+    @preferred_auth_provider = preferred if preferred && Settings.key?(:"#{preferred}_auth_id")
+    @client_app_name = Oauth2Application.where(:uid => ref_params["client_id"].first).pick(:name)
+  end
+
   ##
   # return the URL to use for authentication
   def auth_url(provider, uid, referer = nil)
index d231fddde32945eff8a7454e3d7a09d37318bfc6..111a31f96ae8cf4b27ce108215368aad5207d78b 100644 (file)
@@ -127,7 +127,7 @@ class MessagesController < ApplicationController
     @message.message_read = message_read
     if @message.save
       flash[:notice] = notice
-      redirect_back_or_to inbox_messages_path, :status => :see_other
+      redirect_to inbox_messages_path, :status => :see_other
     end
   rescue ActiveRecord::RecordNotFound
     @title = t "messages.no_such_message.title"
index e57ffc06aac0617b65100bc5fe1dab3b9ecbda2e..fdf2df6a753cf51f1e639495ebe5d9b3c3477ba1 100644 (file)
@@ -15,6 +15,8 @@ class SessionsController < ApplicationController
     override_content_security_policy_directives(:form_action => []) if Settings.csp_enforce || Settings.key?(:csp_report_url)
 
     session[:referer] = safe_referer(params[:referer]) if params[:referer]
+
+    parse_oauth_referer session[:referer]
   end
 
   def create
index c55a177b48bdb0529f08c4d174da56d64ca5ce81..06df8f2be074e587f6624545ce71c7183cc441ea 100644 (file)
@@ -60,6 +60,8 @@ class UsersController < ApplicationController
                  session[:referer]
                end
 
+    parse_oauth_referer @referer
+
     append_content_security_policy_directives(
       :form_action => %w[accounts.google.com *.facebook.com login.live.com github.com meta.wikimedia.org]
     )
@@ -69,13 +71,18 @@ class UsersController < ApplicationController
       # page, instead send them to the home page
       redirect_to @referer || { :controller => "site", :action => "index" }
     elsif params.key?(:auth_provider) && params.key?(:auth_uid)
+      @email_hmac = params[:email_hmac]
+
       self.current_user = User.new(:email => params[:email],
-                                   :email_confirmation => params[:email],
                                    :display_name => params[:nickname],
                                    :auth_provider => params[:auth_provider],
                                    :auth_uid => params[:auth_uid])
 
-      flash.now[:notice] = render_to_string :partial => "auth_association"
+      if current_user.valid? || current_user.errors[:email].empty?
+        flash.now[:notice] = render_to_string :partial => "auth_association"
+      else
+        flash.now[:warning] = t ".duplicate_social_email"
+      end
     else
       check_signup_allowed
 
@@ -91,7 +98,7 @@ class UsersController < ApplicationController
 
       Rails.logger.info "create: #{session[:referer]}"
 
-      if current_user.auth_provider.present? && current_user.pass_crypt.empty?
+      if current_user.auth_uid.present?
         # We are creating an account with external authentication and
         # no password was specified so create a random one
         current_user.pass_crypt = SecureRandom.base64(16)
@@ -108,7 +115,7 @@ class UsersController < ApplicationController
       else
         # Save the user record
         session[:new_user] = current_user.slice("email", "display_name", "pass_crypt", "pass_crypt_confirmation")
-        redirect_to :action => :terms
+        save_new_user params[:email_hmac]
       end
     end
   end
@@ -132,7 +139,7 @@ class UsersController < ApplicationController
       if current_user&.terms_agreed?
         # Already agreed to terms, so just show settings
         redirect_to edit_account_path
-      elsif current_user.nil? && session[:new_user].nil?
+      elsif current_user.nil?
         redirect_to login_path(:referer => request.fullpath)
       end
     end
@@ -168,48 +175,6 @@ class UsersController < ApplicationController
       referer = safe_referer(params[:referer]) if params[:referer]
 
       redirect_to referer || edit_account_path
-    else
-      new_user = session.delete(:new_user)
-      verified_email = new_user.delete("verified_email")
-
-      self.current_user = User.new(new_user)
-
-      if check_signup_allowed(current_user.email)
-        current_user.data_public = true
-        current_user.description = "" if current_user.description.nil?
-        current_user.creation_ip = request.remote_ip
-        current_user.languages = http_accept_language.user_preferred_languages
-        current_user.terms_agreed = Time.now.utc
-        current_user.tou_agreed = Time.now.utc
-        current_user.terms_seen = true
-
-        if current_user.auth_uid.blank?
-          current_user.auth_provider = nil
-          current_user.auth_uid = nil
-        elsif current_user.email == verified_email
-          current_user.activate
-        end
-
-        if current_user.save
-          SIGNUP_IP_LIMITER&.update(request.remote_ip)
-          SIGNUP_EMAIL_LIMITER&.update(canonical_email(current_user.email))
-
-          flash[:matomo_goal] = Settings.matomo["goals"]["signup"] if defined?(Settings.matomo)
-
-          referer = welcome_path(welcome_options)
-
-          if current_user.status == "active"
-            session[:referer] = referer
-            successful_login(current_user)
-          else
-            session[:pending_user] = current_user.id
-            UserMailer.signup_confirm(current_user, current_user.generate_token_for(:new_user), referer).deliver_later
-            redirect_to :controller => :confirmations, :action => :confirm, :display_name => current_user.display_name
-          end
-        else
-          render :action => "new", :referer => params[:referer]
-        end
-      end
     end
   end
 
@@ -266,9 +231,9 @@ class UsersController < ApplicationController
     elsif session[:new_user]
       session[:new_user]["auth_provider"] = provider
       session[:new_user]["auth_uid"] = uid
-      session[:new_user]["verified_email"] = email if email_verified
 
-      redirect_to :action => "terms"
+      email_hmac = UsersController.message_hmac(email) if email_verified && email
+      save_new_user email_hmac
     else
       user = User.find_by(:auth_provider => provider, :auth_uid => uid)
 
@@ -290,7 +255,8 @@ class UsersController < ApplicationController
           failed_login t("sessions.new.auth failure")
         end
       else
-        redirect_to :action => "new", :nickname => name, :email => email,
+        email_hmac = UsersController.message_hmac(email) if email_verified && email
+        redirect_to :action => "new", :nickname => name, :email => email, :email_hmac => email_hmac,
                     :auth_provider => provider, :auth_uid => uid
       end
     end
@@ -306,8 +272,56 @@ class UsersController < ApplicationController
     redirect_to origin || login_url
   end
 
+  def self.message_hmac(text)
+    sha256 = Digest::SHA256.new
+    sha256 << Rails.application.key_generator.generate_key("openstreetmap/email_address")
+    sha256 << text
+    Base64.urlsafe_encode64(sha256.digest)
+  end
+
   private
 
+  def save_new_user(email_hmac)
+    new_user = session.delete(:new_user)
+    self.current_user = User.new(new_user)
+    if check_signup_allowed(current_user.email)
+      current_user.data_public = true
+      current_user.description = "" if current_user.description.nil?
+      current_user.creation_ip = request.remote_ip
+      current_user.languages = http_accept_language.user_preferred_languages
+      current_user.terms_agreed = Time.now.utc
+      current_user.tou_agreed = Time.now.utc
+      current_user.terms_seen = true
+
+      if current_user.auth_uid.blank?
+        current_user.auth_provider = nil
+        current_user.auth_uid = nil
+      elsif email_hmac && ActiveSupport::SecurityUtils.secure_compare(email_hmac, UsersController.message_hmac(current_user.email))
+        current_user.activate
+      end
+
+      if current_user.save
+        SIGNUP_IP_LIMITER&.update(request.remote_ip)
+        SIGNUP_EMAIL_LIMITER&.update(canonical_email(current_user.email))
+
+        flash[:matomo_goal] = Settings.matomo["goals"]["signup"] if defined?(Settings.matomo)
+
+        referer = welcome_path(welcome_options)
+
+        if current_user.status == "active"
+          session[:referer] = referer
+          successful_login(current_user)
+        else
+          session[:pending_user] = current_user.id
+          UserMailer.signup_confirm(current_user, current_user.generate_token_for(:new_user), referer).deliver_later
+          redirect_to :controller => :confirmations, :action => :confirm, :display_name => current_user.display_name
+        end
+      else
+        render :action => "new", :referer => params[:referer]
+      end
+    end
+  end
+
   def welcome_options
     uri = URI(session[:referer]) if session[:referer].present?
 
@@ -334,9 +348,10 @@ class UsersController < ApplicationController
   ##
   # return permitted user parameters
   def user_params
-    params.require(:user).permit(:email, :email_confirmation, :display_name,
+    params.require(:user).permit(:email, :display_name,
                                  :auth_provider, :auth_uid,
-                                 :pass_crypt, :pass_crypt_confirmation)
+                                 :pass_crypt, :pass_crypt_confirmation,
+                                 :consider_pd)
   end
 
   ##
index 368668a9bbf4fbb5c82637595ab0a09560032d56..fcf253289ea45ff65e11f0f30c5909146bfa1f10 100644 (file)
@@ -10,11 +10,11 @@ module ApplicationHelper
   end
 
   def rss_link_to(args = {})
-    link_to(image_tag("RSS.png", :size => "16x16", :border => 0), args, :class => "rsssmall")
+    link_to image_tag("RSS.png", :size => "16x16", :class => "align-text-bottom"), args
   end
 
   def atom_link_to(args = {})
-    link_to(image_tag("RSS.png", :size => "16x16", :border => 0), args, :class => "rsssmall")
+    link_to image_tag("RSS.png", :size => "16x16", :class => "align-text-bottom"), args
   end
 
   def dir
index 11c8c298faa59ab958b524fa1c66c6f0ec006c93..3a95d54ea0b05d98ced79dfaa335b3cf32355478 100644 (file)
@@ -6,7 +6,7 @@ module AuthorizationHelper
     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")
+      html << role_icon_svg_tag("moderator", false, t("oauth.for_roles.moderator"), :class => "align-text-bottom")
     end
     safe_join(html)
   end
index d3e8f10f900174119adf34a9b023774fe734c4dc..c8fc8245c5e29e61bd5363c0bbde3aff7b31e3b0 100644 (file)
@@ -107,7 +107,7 @@ module BrowseHelper
 
   private
 
-  ICON_TAGS = %w[aeroway amenity barrier building highway historic landuse leisure man_made natural railway shop tourism waterway].freeze
+  ICON_TAGS = %w[aeroway amenity barrier building highway historic landuse leisure man_made natural office railway shop tourism waterway].freeze
 
   def icon_tags(object)
     object.tags.find_all { |k, _v| ICON_TAGS.include? k }.sort
index 62b39bf6792fb515e5890715bf5768848f86a9d8..b04ab1b0d56439a7b921c341bc2a4e731c365e12 100644 (file)
@@ -1,4 +1,10 @@
 module SvgHelper
+  def notice_svg_tag
+    path_data = "M 2 0 C 0.892 0 0 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 0 14 0 L 2 0 z M 7 3 L 9 3 L 9 8 L 7 8 L 7 3 z M 7 10 L 9 10 L 9 12 L 7 12 L 7 10 z"
+    path_tag = tag.path :d => path_data, :fill => "currentColor"
+    tag.svg path_tag, :width => 16, :height => 16
+  end
+
   def previous_page_svg_tag(**options)
     adjacent_page_svg_tag(dir == "rtl" ? 1 : -1, **options)
   end
index 19bb8e0d6fb2d9da218c3cd3e67d17cfcec3319d..0a68e608e2ae354000df043f10220a257013ed3a 100644 (file)
@@ -53,19 +53,33 @@ module UserHelper
   # External authentication support
 
   def openid_logo
-    image_tag "openid_small.png", :alt => t("sessions.new.openid_logo_alt"), :class => "align-text-bottom"
+    image_tag "openid_small.png", :alt => t("application.auth_providers.openid_logo_alt"), :class => "align-text-bottom"
   end
 
   def auth_button(name, provider, options = {})
     link_to(
       image_tag("#{name}.svg",
-                :alt => t("sessions.new.auth_providers.#{name}.alt"),
-                :class => "rounded-3",
-                :size => "36"),
+                :alt => t("application.auth_providers.#{name}.alt"),
+                :class => "rounded-1",
+                :size => "24"),
       auth_path(options.merge(:provider => provider)),
       :method => :post,
-      :class => "auth_button",
-      :title => t("sessions.new.auth_providers.#{name}.title")
+      :class => "auth_button p-2 d-block",
+      :title => t("application.auth_providers.#{name}.title")
+    )
+  end
+
+  def auth_button_preferred(name, provider, options = {})
+    link_to(
+      image_tag("#{name}.svg",
+                :alt => t("application.auth_providers.#{name}.alt"),
+                :class => "rounded-1 me-3",
+                :width => "24px",
+                :height => "24px") + t("application.auth_providers.#{name}.title"),
+      auth_path(options.merge(:provider => provider)),
+      :method => :post,
+      :class => "auth_button fs-6 border rounded text-muted text-decoration-none py-2 px-4 d-flex justify-content-center align-items-center",
+      :title => t("application.auth_providers.#{name}.title")
     )
   end
 
index b870d0273427a2bba3abc63f1b24e4756e6c9b60..4634cb015507c197581846f4dc86d3573897580f 100644 (file)
@@ -6,29 +6,34 @@ module UserRolesHelper
   def role_icon(user, role)
     if current_user&.administrator?
       if user.role?(role)
-        image = "roles/#{role}"
-        alt = t("users.show.role.revoke.#{role}")
-        title = t("users.show.role.revoke.#{role}")
-        url = revoke_role_path(:display_name => user.display_name, :role => role)
-        confirm = t("user_role.revoke.are_you_sure", :name => user.display_name, :role => role)
+        link_to role_icon_svg_tag(role, false, t("users.show.role.revoke.#{role}")),
+                revoke_role_path(user, role),
+                :method => :post,
+                :data => { :confirm => t("user_role.revoke.are_you_sure", :name => user.display_name, :role => role) }
       else
-        image = "roles/blank_#{role}"
-        alt = t("users.show.role.grant.#{role}")
-        title = t("users.show.role.grant.#{role}")
-        url = grant_role_path(:display_name => user.display_name, :role => role)
-        confirm = t("user_role.grant.are_you_sure", :name => user.display_name, :role => role)
+        link_to role_icon_svg_tag(role, true, t("users.show.role.grant.#{role}")),
+                grant_role_path(user, role),
+                :method => :post,
+                :data => { :confirm => t("user_role.grant.are_you_sure", :name => user.display_name, :role => role) }
       end
     elsif user.role?(role)
-      image = "roles/#{role}"
-      alt = t("users.show.role.#{role}")
-      title = t("users.show.role.#{role}")
+      role_icon_svg_tag(role, false, t("users.show.role.#{role}"))
     end
+  end
 
-    if image
-      icon = image_tag("#{image}.png", :srcset => image_path("#{image}.svg"), :size => "20x20", :border => 0, :alt => alt, :title => title)
-      icon = link_to(icon, url, :method => :post, :data => { :confirm => confirm }) if url
-    end
+  def role_icon_svg_tag(role, blank, title, **options)
+    role_colors = {
+      "administrator" => "#f69e42",
+      "moderator" => "#0606ff",
+      "importer" => "#38e13a"
+    }
+    color = role_colors[role] || "currentColor"
 
-    icon
+    path_data = "M 10,2 8.125,8 2,8 6.96875,11.71875 5,18 10,14 15,18 13.03125,11.71875 18,8 11.875,8 10,2 z"
+    tag.svg(:width => 20, :height => 20, **options) do
+      concat tag.title(title)
+      concat tag.path(:d => path_data, :fill => color, :stroke => color, "stroke-width" => 2, "stroke-linejoin" => "round")
+      concat tag.path(:d => path_data, :fill => "#fff") if blank
+    end
   end
 end
index 45ecbcc1b1360476b549285d51171f286c57f148..192f52ac4e74ebd440d073d9b8676b0799699c90 100644 (file)
@@ -100,7 +100,7 @@ class User < ApplicationRecord
                            :whitespace => { :leading => false, :trailing => false },
                            :width => { :minimum => 3 }
   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, :presence => true, :characters => true
   validates :email, :if => proc { |u| u.email_changed? },
                     :uniqueness => { :case_sensitive => false }
   validates :email, :if => proc { |u| u.email_changed? },
index 0ed4d663f03315944f9f7d5b1df1e82a81042f7e..9b9b0f182ccd88caae6844096ce887594294c257 100644 (file)
@@ -6,7 +6,7 @@
 
 <div class="alert alert-danger row mx-0 p-3 align-items-center">
   <div class="col-auto">
-    <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
+    <%= notice_svg_tag %>
   </div>
   <div class="col">
     <p class="mb-0"><%= t ".warning" %></p>
diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb
new file mode 100644 (file)
index 0000000..a79e7b5
--- /dev/null
@@ -0,0 +1,44 @@
+<div>
+  <div class="list-inline justify-content-center d-flex align-items-center flex-wrap mb-3 gap-3" id="login_auth_buttons">
+
+    <% %w[google facebook microsoft github wikipedia].each do |provider| %>
+      <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
+        <% if @preferred_auth_provider == provider %>
+          <div class="mx-2"><%= auth_button_preferred provider, provider %></div>
+        <% end %>
+      <% end -%>
+    <% end -%>
+
+    <div class="justify-content-center d-flex gap-1">
+      <div>
+        <%= link_to image_tag("openid.png",
+                              :alt => t("application.auth_providers.openid.title"),
+                              :size => "24"),
+                    "#",
+                    :id => "openid_open_url",
+                    :title => t("application.auth_providers.openid.title"),
+                    :class => "p-2 d-block" %>
+      </div>
+
+      <% %w[google facebook microsoft github wikipedia].each do |provider| %>
+        <% unless @preferred_auth_provider == provider %>
+          <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
+            <div><%= auth_button provider, provider %></div>
+          <% end -%>
+        <% end %>
+      <% end -%>
+    </div>
+  </div>
+
+  <%# :tabindex starts high to allow rendering at the bottom of the template %>
+  <%= form_tag(auth_path(:provider => "openid"), :id => "openid_login_form") do %>
+    <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 => 20, :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>
+
+    <%= submit_tag t(".openid_login_button"), :tabindex => 21, :id => "openid_login_button", :class => "btn btn-primary" %>
+  <% end %>
+</div>
index 78ac0dcf869976bf05d4a020172e1e2c0202b90e..a0ab0264a4f7383e73d850779d6c5d0aea2aa136 100644 (file)
@@ -25,7 +25,7 @@
           <% 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>
+            <li><%= link_to image_tag("new.png") + t(".new"), new_diary_entry_path, :class => "icon-link", :title => t(".new_title") %></li>
           <% end %>
         </ul>
       </nav>
index fc213831895d264edb840b95475f65a3077a3929..05d7d5d637e8e1dee29c2832a99d5de21b52c834 100644 (file)
@@ -7,7 +7,7 @@
 <% else %>
   <ul class='results-list list-group list-group-flush'>
     <% @results.each do |result| %>
-      <li class="list-group-item search_results_entry"><%= result_to_html(result) %></li>
+      <li class="list-group-item list-group-item-action search_results_entry"><%= result_to_html(result) %></li>
     <% end %>
   </ul>
   <% if @more_params %>
index 1d3bc34219bf6316ce8b16666b6587384d20451a..d8adbd0fdc286d437efd2afcc68f442a0f433c2f 100644 (file)
@@ -1,7 +1,7 @@
 <% if flash[:error] %>
   <div class="alert alert-danger row mx-0 mb-0 p-3 rounded-0 align-items-center">
     <div class="col-auto">
-      <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
+      <%= notice_svg_tag %>
     </div>
     <div class="col"><%= render_flash(flash[:error]) %></div>
   </div>
@@ -10,7 +10,7 @@
 <% if flash[:warning] %>
   <div class="alert alert-warning row mx-0 mb-0 p-3 rounded-0 align-items-center">
     <div class="col-auto">
-      <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
+      <%= notice_svg_tag %>
     </div>
     <div class="col"><%= render_flash(flash[:warning]) %></div>
   </div>
@@ -19,7 +19,7 @@
 <% if flash[:notice] %>
   <div class="alert alert-success row mx-0 mb-0 p-3 rounded-0 align-items-center">
     <div class="col-auto">
-      <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
+      <%= notice_svg_tag %>
     </div>
     <div class="col"><%= render_flash(flash[:notice]) %></div>
   </div>
index 9f3d01b02590d1ac1655f4acd43069e38dc212c6..8942eb49c5703e3b3e13cdcafbff1366e570485a 100644 (file)
           <%= link_to t("layouts.logout"), logout_path(:referer => request.fullpath), :method => "post", :class => "geolink dropdown-item" %>
         </div>
       </div>
-    <% else %>
+    <% elsif (controller_name != "users" and controller_name != "sessions") || action_name != "new" %>
       <div class="d-inline-flex btn-group login-menu" role="">
         <%= link_to t("layouts.log_in"), login_path(:referer => request.fullpath), :class => "geolink btn btn-outline-secondary" %>
         <%= link_to t("layouts.sign_up"), user_new_path, :class => "btn btn-outline-secondary" %>
index bcbe2096803e6117f1733f5f563cad1a1442fea3..0630dace5bc0f93e3ebbbae7e646f7a216a5cc5f 100644 (file)
@@ -69,7 +69,7 @@
   <div id="map-ui" class="bg-body z-2">
   </div>
 
-  <div id="map" tabindex="2" class="z-0">
+  <div id="map" tabindex="2" class="bg-body-secondary z-0">
   </div>
 
   <div id="attribution" class="d-none">
index 1a7a0c839f59e53db9413b16ae15eb1b0a101f1d..a181e96e1254b5178f18225ea7c21917adf295a4 100644 (file)
@@ -1,4 +1,4 @@
-<%= tag.tr(:id => "inbox-#{message.id}", :class => { "message-summary" => true, "table-success" => !message.message_read? }) do %>
+<%= tag.tr(:id => "inbox-#{message.id}", :class => { "table-success" => !message.message_read? }) do %>
   <td><%= link_to message.sender.display_name, user_path(message.sender) %></td>
   <td><%= link_to message.title, message_path(message) %></td>
   <td class="text-nowrap"><%= l message.sent_on, :format => :friendly %></td>
index f11fe3f628c0dc58d6968217164173786565cdcf..567b5e8283ab4b5a60a62071f75cfa3216050dce 100644 (file)
@@ -4,7 +4,7 @@
       <% columns.each do |column| %>
       <th><%= t ".#{column}" %></th>
       <% end %>
-      <th class="d-flex justify-content-end"><%= t ".actions" %></th>
+      <th class="text-end"><%= t ".actions" %></th>
     </tr>
   </thead>
   <tbody>
index cd156aa47503aaf92236b18c480e7849a1cb851f..cf10cd462ef52ef49079364ad8575d9f1aa9e01f 100644 (file)
@@ -1,4 +1,4 @@
-<%= tag.tr(:id => "outbox-#{message.id}", :class => { "message-summary" => true }) do %>
+<%= tag.tr(:id => "outbox-#{message.id}") do %>
   <td><%= link_to message.recipient.display_name, user_path(message.recipient) %></td>
   <td><%= link_to message.title, message_path(message) %></td>
   <td class="text-nowrap"><%= l message.sent_on, :format => :friendly %></td>
index ffaad054af63f4b89f731415627b08a35e4ad03a..d30eb6697505ecf8dd1f989a4febe346fef9d388 100644 (file)
@@ -1,59 +1,67 @@
 <% content_for :head do %>
   <%= javascript_include_tag "login" %>
+  <%= javascript_include_tag "auth_providers" %>
 <% end %>
 
+<% content_for :heading_class, "p-0 mw-100" %>
+
 <% content_for :heading do %>
-  <h1><%= t ".heading" %></h1>
+  <% if @client_app_name %>
+    <p class="text-center text-muted fs-6 py-2 mb-0 bg-white"><%= t(".login_to_authorize_html", :client_app_name => @client_app_name) %></p>
+  <% end %>
+
+  <div class="header-illustration new-user-main auth-container mx-auto">
+    <ul class="nav nav-tabs position-absolute bottom-0 px-3 fs-6 w-100">
+      <li class="nav-item">
+        <%= link_to t("sessions.new.tab_title"), "#", :class => "nav-link active" %>
+      </li>
+      <li class="nav-item">
+        <%= link_to t("users.new.tab_title"), url_for(:action => :new, :controller => :users), :class => "nav-link" %>
+      </li>
+    </ul>
+  </div>
 <% end %>
 
-<div id="login_login">
-  <p class='text-muted'><%= t ".no account" %> <%= link_to t(".register now"), user_new_path(:referer => params[:referer]) %></p>
+<div id="login_login" class="auth-container mx-auto my-0">
+  <% if @preferred_auth_provider %>
+    <%= render :partial => "auth_providers" %>
+    <div class="d-flex justify-content-center align-items-center">
+      <div class="border-bottom border-1 flex-grow-1"></div>
+      <div class="text-secondary mx-3"><%= t ".or" %></div>
+      <div class="border-bottom border-1 flex-grow-1"></div>
+    </div>
+  <% end %>
 
   <%= bootstrap_form_tag(:action => "login", :html => { :id => "login_form" }) do |f| %>
     <%= hidden_field_tag("referer", h(params[:referer]), :autocomplete => "off") %>
 
     <%= f.text_field :username, :label => t(".email or username"), :tabindex => 1, :value => params[:username] %>
-    <%= f.password_field :password, :label => t(".password"), :tabindex => 2, :value => "", :help => link_to(t(".lost password link"), user_forgot_password_path) %>
+
+    <div class="row">
+      <div class="col">
+        <%= f.label :password, :class => "form-label" %>
+      </div>
+      <div class="col text-end">
+        <small><%= link_to(t(".lost password link"), user_forgot_password_path) %></small>
+      </div>
+    </div>
+    <input class="form-control mb-3" type="password" name="password" id="password" tabindex="2" value="" autocomplete="off" />
+
     <%= f.form_group do %>
       <%= f.check_box :remember_me, { :label => t(".remember"), :tabindex => 3, :checked => (params[:remember_me] == "yes") }, "yes" %>
     <% end %>
 
-    <%= f.primary t(".login_button"), :tabindex => 4 %>
+    <div class="mb-3">
+      <%= f.primary t(".login_button"), :tabindex => 4 %>
+    </div>
   <% end %>
 
-  <hr>
-
-  <div id="loginForm">
-    <div class="mb-3">
-      <label class="form-label"><%= t ".with external" %></label>
-
-      <ul class='list-inline' id="login_auth_buttons">
-        <li class="list-inline-item me-3">
-          <%= link_to image_tag("openid.png",
-                                :alt => t(".auth_providers.openid.title"),
-                                :size => "36"),
-                      "#",
-                      :id => "openid_open_url",
-                      :title => t(".auth_providers.openid.title") %>
-        </li>
-
-        <% %w[google facebook microsoft github wikipedia].each do |provider| %>
-          <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
-            <li class="list-inline-item me-3"><%= auth_button provider, provider %></li>
-          <% end -%>
-        <% end -%>
-      </ul>
-
-      <%= form_tag(auth_path(:provider => "openid"), :id => "openid_login_form") do %>
-        <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 => 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>
-
-        <%= submit_tag t(".login_button"), :tabindex => 6, :id => "login_openid_submit", :class => "btn btn-primary" %>
-      <% end %>
+  <% unless @preferred_auth_provider %>
+    <div class="d-flex justify-content-center align-items-center">
+      <div class="border-bottom border-1 flex-grow-1"></div>
+      <div class="text-secondary mx-3"><%= t ".with external" %></div>
+      <div class="border-bottom border-1 flex-grow-1"></div>
     </div>
-  </div>
+    <%= render :partial => "auth_providers" %>
+  <% end %>
 </div>
index f014eb037842e584928b6533c4d0c44cbcfbba15..7fbf475cece3deb901cd29ee4627ef8963eec1e1 100644 (file)
@@ -78,7 +78,7 @@
     </p>
     <p><%= image_tag("attribution_example.png",
                      :alt => t(".legal_babble.attribution_example.alt"),
-                     :border => 0,
+                     :border => 0, :class => "img-fluid",
                      :title => t(".legal_babble.attribution_example.title")) %></p>
 
     <h3><%= t ".legal_babble.more_title_html" %></h3>
index c1a61362fdaa36ce61cb41610acc56b9e02b9a16..3edafd8b7fc8ac99ff0b5bec2d768056a8e7c3b7 100644 (file)
@@ -22,7 +22,7 @@
   <div class='col-sm'>
     <h5><%= t "site.welcome.add_a_note.title" %></h5>
     <p><%= t "site.welcome.add_a_note.para_1" %></p>
-    <p><%= t ".how_to_help.add_a_note.instructions_1_html", :note_icon => tag.a(:class => "icon note") %></p>
+    <p><%= t ".how_to_help.add_a_note.instructions_1_html", :note_icon => tag.a(:class => "icon note bg-dark rounded-1") %></p>
   </div>
 </div>
 
index 8ec32ea9c86e8446f870b9f3506ccec2158cf17a..f8f339284f222246ee303fae979dcdee80fc1689 100644 (file)
@@ -73,5 +73,5 @@
   <h2><%= t ".add_a_note.title" %></h2>
   <p><%= t ".add_a_note.para_1" %></p>
   <p><%= t ".add_a_note.para_2_html", :map_link => link_to(t(".add_a_note.the_map"), root_path),
-                                      :note_icon => tag.span(:class => "icon note") %></p>
+                                      :note_icon => tag.span(:class => "icon note bg-dark rounded-1") %></p>
 </div>
index 72794355bc447185d4d9243c714d6f8a49112e13..cd4dce99e1c2eca1592f1213027ec22a1f3c7fa6 100644 (file)
@@ -2,7 +2,9 @@
   <td>
     <% if Settings.status != "gpx_offline" %>
       <% if trace.inserted %>
-        <%= link_to image_tag(trace_icon_path(trace.user, trace), :alt => "", :class => "trace_image"), show_trace_path(trace.user, trace) %>
+        <%= link_to image_tag(trace_icon_path(trace.user, trace), :alt => "", :class => "trace_image"),
+                    show_trace_path(trace.user, trace),
+                    :class => "d-inline-block" %>
       <% else %>
         <span class="text-danger"><%= t ".pending" %></span>
       <% end %>
index f1239bc1ec5d9b54ec9badd4f22cea85f4f3644c..a97d9ba8d120b6660658a09931c756c8e6f01045 100644 (file)
@@ -1,11 +1,18 @@
-<% content_for :heading_class, "pb-0" %>
+<% content_for :heading_class, "p-0 mw-100" %>
 <% content_for :heading do %>
-  <div class='header-illustration new-user-main'>
-    <h1><%= t "users.new.title" %></h1>
+  <div class="header-illustration new-user-main auth-container mx-auto">
+    <ul class="nav nav-tabs position-absolute bottom-0 px-3 fs-6 w-100">
+      <li class="nav-item">
+        <%= link_to t("sessions.new.tab_title"), url_for(:action => :new, :controller => :sessions), :class => "nav-link" %>
+      </li>
+      <li class="nav-item">
+        <%= link_to t("users.new.tab_title"), "#", :class => "nav-link active" %>
+      </li>
+    </ul>
   </div>
 <% end %>
 
-<div class="mx-auto my-0">
+<div class="auth-container mx-auto my-0">
   <p><strong><%= t "users.new.no_auto_account_create" %></strong></p>
   <p><%= t "users.new.please_contact_support_html", :support_link => mail_to(Settings.support_email, t("users.new.support")) %></p>
 </div>
index 27e98b45b3df544fea3f8fa7bfcc698a80d3a9e0..bf96c4577fe5ecceac067c553b38cb65c53bccb5 100644 (file)
 <% content_for :head do %>
   <%= javascript_include_tag "user" %>
+  <%= javascript_include_tag "auth_providers" %>
 <% end %>
 
-<% content_for :heading_class, "pb-0" %>
+<% content_for :heading_class, "p-0 mw-100" %>
+
 <% content_for :heading do %>
-  <div class='header-illustration new-user-main'>
-    <h1><%= t ".title" %></h1>
-  </div>
-  <div class='header-illustration new-user-arm d-none d-md-block'></div>
-<% end %>
+  <% if @client_app_name %>
+    <p class="text-center text-muted fs-6 py-2 mb-0 bg-white"><%= t(".signup_to_authorize_html", :client_app_name => @client_app_name) %></p>
+  <% end %>
 
-<div class="row">
-  <div class='text-muted col-sm order-sm-2'>
-    <h4><%= t ".about.header" %></h4>
-    <p><%= t ".about.paragraph_1" %></p>
-    <p><%= t ".about.paragraph_2" %></p>
+  <div class="header-illustration new-user-main auth-container mx-auto">
+    <ul class="nav nav-tabs position-absolute bottom-0 px-3 fs-6 w-100">
+      <li class="nav-item">
+        <%= link_to t("sessions.new.tab_title"), url_for(:action => :new, :controller => :sessions), :class => "nav-link" %>
+      </li>
+      <li class="nav-item">
+        <%= link_to t("users.new.tab_title"), "#", :class => "nav-link active" %>
+      </li>
+    </ul>
   </div>
+<% end %>
 
-  <div class="col-sm">
-    <%= bootstrap_form_for current_user, :url => { :action => "create" } do |f| %>
-      <%= hidden_field_tag("referer", h(@referer)) unless @referer.nil? %>
+<div class="auth-container mx-auto my-0">
+  <% if current_user.auth_uid.nil? %>
+    <div class="text-muted fs-6">
+      <p><strong><%= t ".about.header" %></strong> <%= t ".about.paragraph_1" %></p>
+      <p><%= t ".about.paragraph_2" %></p>
+    </div>
 
-      <%= f.email_field :email, :tabindex => 1 %>
-      <%= f.email_field :email_confirmation, :help => t(".email_confirmation_help_html",
-                                                        :privacy_policy_link => link_to(t(".privacy_policy"),
-                                                                                        t(".privacy_policy_url"),
-                                                                                        :title => t(".privacy_policy_title"))),
-                                             :tabindex => 2 %>
+    <% unless @preferred_auth_provider.nil? %>
+      <%= render :partial => "auth_providers" %>
+      <div class="d-flex justify-content-center align-items-center">
+        <div class="border-bottom border-1 flex-grow-1"></div>
+        <div class="text-secondary mx-3"><%= t ".or" %></div>
+        <div class="border-bottom border-1 flex-grow-1"></div>
+      </div>
+    <% end %>
+  <% else %>
+    <h4><%= t ".about.welcome" %></h4>
+  <% end %>
 
-      <%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 3 %>
+  <%= bootstrap_form_for current_user, :url => { :action => "create" } do |f| %>
+    <%= hidden_field_tag("referer", h(@referer)) unless @referer.nil? %>
+    <%= hidden_field_tag("email_hmac", h(@email_hmac)) unless @email_hmac.nil? %>
+    <%= f.hidden_field :auth_provider unless current_user.auth_provider.nil? %>
+    <%= f.hidden_field :auth_uid unless current_user.auth_uid.nil? %>
 
-      <fieldset class="mb-3" id="auth_field">
-        <label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
-        <div class="row">
-          <%= f.select(:auth_provider, Auth.providers, :default => "", :hide_label => true, :wrapper => { :class => "col-auto mb-0" }, :tabindex => 4) %>
-          <%= f.text_field(:auth_uid, :hide_label => true, :wrapper => { :class => "col mb-0" }, :tabindex => 5) %>
-        </div>
-        <small class="form-text text-muted"><%= t ".auth no password" %></small>
-      </fieldset>
+    <% if current_user.auth_uid.nil? or @email_hmac.nil? or not current_user.errors[:email].empty? %>
+      <%= f.email_field :email, :help => t(".email_help_html",
+                                           :privacy_policy_link => link_to(t(".privacy_policy"),
+                                                                           t(".privacy_policy_url"),
+                                                                           :title => t(".privacy_policy_title"),
+                                                                           :target => :new)),
+                                :tabindex => 1 %>
+    <% else %>
+      <%= f.hidden_field :email %>
+    <% end %>
 
-      <%= f.password_field :pass_crypt, :tabindex => 6 %>
-      <%= f.password_field :pass_crypt_confirmation, :tabindex => 7 %>
+    <%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 2 %>
 
-      <div id="auth_prompt">
-        <p><%= link_to t(".use external auth"), "#", :id => "auth_enable" %></p>
+    <% if current_user.auth_uid.nil? %>
+      <div class="row">
+        <div class="col-sm">
+          <%= f.password_field :pass_crypt, :tabindex => 3 %>
+        </div>
+        <div class="col-sm">
+          <%= f.password_field :pass_crypt_confirmation, :tabindex => 4 %>
+        </div>
       </div>
+    <% end %>
 
-      <%= f.primary t(".continue"), :tabindex => 8 %>
+    <p class="mb-3 text-muted fs-6"><%= t(".by_signing_up_html",
+                                          :tou_link => link_to(t("layouts.tou"),
+                                                               "https://wiki.osmfoundation.org/wiki/Terms_of_Use",
+                                                               :target => :new),
+                                          :privacy_policy_link => link_to(t(".privacy_policy"),
+                                                                          t(".privacy_policy_url"),
+                                                                          :title => t(".privacy_policy_title"),
+                                                                          :target => :new),
+                                          :contributor_terms_link => link_to(t(".contributor_terms"),
+                                                                             t(".contributor_terms_url"),
+                                                                             :target => :new)) %></p>
+    <%= f.form_group do %>
+      <%= f.check_box :consider_pd,
+                      :tabindex => 5,
+                      :label => t(".consider_pd_html",
+                                  :consider_pd_link => link_to(t(".consider_pd"),
+                                                               t(".consider_pd_url"),
+                                                               :target => :new)) %>
     <% end %>
-  </div>
+
+    <div class="mb-3">
+      <%= submit_tag(t(".continue"), :name => "continue", :id => "continue", :class => "btn btn-primary", :tabindex => 6) %>
+    </div>
+  <% end %>
+
+  <% if current_user.auth_uid.nil? and @preferred_auth_provider.nil? %>
+    <div class="d-flex justify-content-center align-items-center">
+      <div class="border-bottom border-1 flex-grow-1"></div>
+      <div class="text-secondary mx-3"><%= t ".use external auth" %></div>
+      <div class="border-bottom border-1 flex-grow-1"></div>
+    </div>
+    <%= render :partial => "auth_providers" %>
+  <% end %>
 </div>
index 13d5f8b09fa3746e26f05ccbf2e96edc7643cec5..ed86ba29bc8080b8d27efff092877b7d8cafdac9 100644 (file)
@@ -140,7 +140,6 @@ af:
         auth_provider: Verifikasie verskaffer
         auth_uid: Verifikasie UID
         email: E-pos
-        email_confirmation: E-posbevestiging
         new_email: 'Nuwe e-posadres:'
         active: Bedrywig
         display_name: Skermnaam
@@ -1555,7 +1554,7 @@ af:
   sessions:
     new:
       title: Meld aan
-      heading: Meld aan
+      tab_title: Meld aan
       email or username: 'E-posadres of gebruikernaam:'
       password: 'Wagwoord:'
       remember: Onthou my
@@ -1563,34 +1562,7 @@ af:
       login_button: Meld aan
       register now: Registreer nou
       with external: 'Gebruik andersins ’n derde party om mee aan te meld:'
-      no account: Nog nie geregistreer nie?
       auth failure: Jammer, kon nie met hierdie inligting aanmeld nie.
-      openid_logo_alt: Meld aan met 'n OpenID
-      auth_providers:
-        openid:
-          title: Meld aan met OpenID
-          alt: Meld aan met 'n OpenID-URL
-        google:
-          title: Meld aan met Google
-          alt: Meld aan met 'n Google-OpenID
-        facebook:
-          title: Meld aan met Facebook
-          alt: Meld aan met ’n Facebook-rekening
-        microsoft:
-          title: Meld aan met Windows Live
-          alt: Meld aan met ’n Windows Live-rekening
-        github:
-          title: Meld aan met GitHub
-          alt: Meld aan met ’n GitHub-rekening
-        wikipedia:
-          title: Meld aan met Wikipedia
-          alt: Meld aan met ’n Wikipedia-rekening
-        wordpress:
-          title: Meld aan met Wordpress
-          alt: Meld aan met ’n Wordpress-OpenID
-        aol:
-          title: Meld aan met AOL
-          alt: Meld aan met ’n AOL-OpenID
     destroy:
       title: Teken af
       heading: Meld van OpenStreetMap af
@@ -1811,6 +1783,32 @@ af:
       account_settings: Rekeninginstellings
       oauth1_settings: OAuth 1 instellings
       oauth2_applications: OAuth 2 programme
+    auth_providers:
+      openid_logo_alt: Meld aan met 'n OpenID
+      openid:
+        title: Meld aan met OpenID
+        alt: Meld aan met 'n OpenID-URL
+      google:
+        title: Meld aan met Google
+        alt: Meld aan met 'n Google-OpenID
+      facebook:
+        title: Meld aan met Facebook
+        alt: Meld aan met ’n Facebook-rekening
+      microsoft:
+        title: Meld aan met Windows Live
+        alt: Meld aan met ’n Windows Live-rekening
+      github:
+        title: Meld aan met GitHub
+        alt: Meld aan met ’n GitHub-rekening
+      wikipedia:
+        title: Meld aan met Wikipedia
+        alt: Meld aan met ’n Wikipedia-rekening
+      wordpress:
+        title: Meld aan met Wordpress
+        alt: Meld aan met ’n Wordpress-OpenID
+      aol:
+        title: Meld aan met AOL
+        alt: Meld aan met ’n AOL-OpenID
   oauth:
     authorize:
       allow_to: 'Sta die kliëntprogram toe om:'
@@ -1897,9 +1895,9 @@ af:
         header: Gratis en redigeerbaar
       display name description: U gebruikernaam wat openbaar verskyn. U kan dit wel
         later nog onder voorkeure wysig.
-      use external auth: Gebruik andersins 'n derde party om mee aan te meld
       continue: Meld aan
       terms accepted: Dankie dat u die nuwe bydraerooreenkoms aanvaar het!
+      use external auth: Gebruik andersins 'n derde party om mee aan te meld
     terms:
       title: Voorwaardes
       heading: Voorwaardes
index 6c4cd9088f7186a179cb6f7ac57ef3b7e08d7393..d648ede29d27b2619733a458054266665a77704b 100644 (file)
@@ -802,7 +802,7 @@ aln:
   sessions:
     new:
       title: Kyçu
-      heading: Kycu
+      tab_title: Kycu
       email or username: 'Email Adresa ose Username:'
       password: 'Fjalekalimi:'
       remember: Kujtom mu
index d2cb9ff56ea351eb38242b12c9b60ca0dcafc0b4..947fb0d20476c151a0a6d08e6267f36c67fe186f 100644 (file)
@@ -186,7 +186,6 @@ ar:
         auth_provider: مزود التوثيق
         auth_uid: معرف التوثيق UID
         email: البريد الإلكتروني
-        email_confirmation: تأكيد البريد الإلكتروني
         new_email: عنوان البريد الإلكتروني الجديد
         active: نشط
         display_name: عرض الاسم
@@ -1902,7 +1901,7 @@ ar:
   sessions:
     new:
       title: تسجيل الدخول
-      heading: تسجيل الدخول
+      tab_title: تسجيل الدخول
       email or username: 'عنوان البريد الإلكتروني أو اسم المستخدم:'
       password: 'كلمة السر:'
       remember: تذكرني
@@ -1910,34 +1909,7 @@ ar:
       login_button: تسجيل الدخول
       register now: سجل حسابًا الآن
       with external: 'بدلا من ذلك، استخدم طرفا ثالثا لتسجيل الدخول:'
-      no account: ليس لديك حسابا؟
       auth failure: آسف، لا يمكن الدخول بتلك التفاصيل.
-      openid_logo_alt: تسجيل الدخول بOpenID
-      auth_providers:
-        openid:
-          title: تسجيل الدخول بOpenID
-          alt: تسجيل الدخول باستخدام مسار OpenID
-        google:
-          title: تسجيل الدخول باستخدام جوجل
-          alt: تسجيل الدخول ب Google OpenID
-        facebook:
-          title: تسجيل الدخول باستخدام فيس بوك
-          alt: تسجيل الدخول بحساب فيسبوك
-        microsoft:
-          title: تسجيل الدخول مع مايكروسوفت
-          alt: تسجيل الدخول بحساب مايكروسوفت
-        github:
-          title: تسجيل الدخول بجيثب
-          alt: تسجيل الدخول باستخدام حساب جيثب
-        wikipedia:
-          title: تسجيل الدخول عبر ويكيبيديا
-          alt: سجل الدخول باستخدام حساب ويكيبيديا
-        wordpress:
-          title: تسجيل الدخول بووردبريس
-          alt: تسجيل الدخول بـWordpress OpenID
-        aol:
-          title: تسجيل الدخول بإيه أو إل
-          alt: تسجيل الدخول بـAOL OpenID
     destroy:
       title: تسجيل الخروج
       heading: الخروج من خريطة الشارع المفتوحة
@@ -2383,6 +2355,32 @@ ar:
         الويب لعرض شروط المساهمة. أنت لا تحتاج إلى موافق،ة لكن يجب عرضها.
     settings_menu:
       account_settings: إعدادات الحساب
+    auth_providers:
+      openid_logo_alt: تسجيل الدخول بOpenID
+      openid:
+        title: تسجيل الدخول بOpenID
+        alt: تسجيل الدخول باستخدام مسار OpenID
+      google:
+        title: تسجيل الدخول باستخدام جوجل
+        alt: تسجيل الدخول ب Google OpenID
+      facebook:
+        title: تسجيل الدخول باستخدام فيس بوك
+        alt: تسجيل الدخول بحساب فيسبوك
+      microsoft:
+        title: تسجيل الدخول مع مايكروسوفت
+        alt: تسجيل الدخول بحساب مايكروسوفت
+      github:
+        title: تسجيل الدخول بجيثب
+        alt: تسجيل الدخول باستخدام حساب جيثب
+      wikipedia:
+        title: تسجيل الدخول عبر ويكيبيديا
+        alt: سجل الدخول باستخدام حساب ويكيبيديا
+      wordpress:
+        title: تسجيل الدخول بووردبريس
+        alt: تسجيل الدخول بـWordpress OpenID
+      aol:
+        title: تسجيل الدخول بإيه أو إل
+        alt: تسجيل الدخول بـAOL OpenID
   oauth:
     authorize:
       title: السماح بالوصول إلى حسابك
@@ -2477,11 +2475,9 @@ ar:
       display name description: اسم المستخدم الخاص بك الظاهر علنًا، يمكنك تغيير هذا
         في التفضيلات في وقت لاحق.
       external auth: 'مصادقة طرف ثالث:'
-      use external auth: 'بدلا من ذلك، استخدم طرفا ثالثا لتسجيل الدخول:'
-      auth no password: مع مصادقة طرف ثالث كلمة السر غير مطلوبة، ولكن بعض الأدوات
-        إضافية أو الخادم قد لا تزال تحتاج إلى واحدة.
       continue: أنشئ حسابًا
       terms accepted: نشكرك على قبول شروط المساهم الجديدة!
+      use external auth: 'بدلا من ذلك، استخدم طرفا ثالثا لتسجيل الدخول:'
     terms:
       title: شروط
       heading: شروط
index 2f182162bf5a437c0b0f12f44875060c11e768c2..bfe44811a42541696bf2116f7e11b9cab32eec98 100644 (file)
@@ -717,7 +717,7 @@ arz:
   sessions:
     new:
       title: ولوج
-      heading: ولوج
+      tab_title: ولوج
       email or username: 'عنوان البريد الإلكترونى أو اسم المستخدم:'
       password: 'كلمه المرور:'
       lost password link: أنسيت كلمه المرور؟
index 3d6b92272c2eb4c31f5c103a579fc1a06b79645d..4078b2e73e3e6763d9658c5900945dd55c38d705 100644 (file)
@@ -1464,7 +1464,7 @@ ast:
   sessions:
     new:
       title: Entrar
-      heading: Entrar
+      tab_title: Entrar
       email or username: 'Direición de corréu o nome d''usuariu:'
       password: 'Contraseña:'
       remember: Recordame
@@ -1472,34 +1472,7 @@ ast:
       login_button: Entrar
       register now: Rexistrate agora
       with external: 'Alternativamente, usa un terceru p''aniciar sesión:'
-      no account: ¿Nun tienes una cuenta?
       auth failure: Sentímoslo, nun se pudo coneutar al sistema con esos datos.
-      openid_logo_alt: Coneutar con una OpenID
-      auth_providers:
-        openid:
-          title: Aniciar sesión con OpenID
-          alt: Aniciar sesión con una URL d'OpenID
-        google:
-          title: Aniciar sesión con Google
-          alt: Aniciar sesión con una OpenID de Google
-        facebook:
-          title: Anicia sesión con Facebook
-          alt: Anicia sesión con una cuenta de Facebook
-        microsoft:
-          title: Anicia sesión con Windows Live
-          alt: Anicia sesión con una cuenta de Windows Live
-        github:
-          title: Aniciar sesión con GitHub
-          alt: Aniciar sesión con una cuenta de GitHub
-        wikipedia:
-          title: Aniciar sesión con Wikipedia
-          alt: Aniciar sesión con una cuenta de Wikipedia
-        wordpress:
-          title: Aniciar sesión con Wordpress
-          alt: Aniciar sesión con una OpenID de Wordpress
-        aol:
-          title: Aniciar sesión con AOL
-          alt: Aniciar sesión con una OpenID de AOL
     destroy:
       title: Salir
       heading: Colar d'OpenStreetMap
@@ -1845,6 +1818,32 @@ ast:
       need_to_see_terms: El to accesu a la API ta torgáu de mou temporal. Por favor,
         coneuta pela interfaz web pa ver los Términos de Collaboración. Nun fai falta
         aceutalos, pero debes conocelos.
+    auth_providers:
+      openid_logo_alt: Coneutar con una OpenID
+      openid:
+        title: Aniciar sesión con OpenID
+        alt: Aniciar sesión con una URL d'OpenID
+      google:
+        title: Aniciar sesión con Google
+        alt: Aniciar sesión con una OpenID de Google
+      facebook:
+        title: Anicia sesión con Facebook
+        alt: Anicia sesión con una cuenta de Facebook
+      microsoft:
+        title: Anicia sesión con Windows Live
+        alt: Anicia sesión con una cuenta de Windows Live
+      github:
+        title: Aniciar sesión con GitHub
+        alt: Aniciar sesión con una cuenta de GitHub
+      wikipedia:
+        title: Aniciar sesión con Wikipedia
+        alt: Aniciar sesión con una cuenta de Wikipedia
+      wordpress:
+        title: Aniciar sesión con Wordpress
+        alt: Aniciar sesión con una OpenID de Wordpress
+      aol:
+        title: Aniciar sesión con AOL
+        alt: Aniciar sesión con una OpenID de AOL
   oauth:
     authorize:
       title: Autorizar l'accesu a la to cuenta
@@ -1926,11 +1925,9 @@ ast:
       display name description: El nome d'usuariu que s'amuesa en público. Pue camudalo
         más sero nes preferencies.
       external auth: 'Autenticación con un terceru:'
-      use external auth: Alternativamente, usa un terceru p'aniciar sesión
-      auth no password: Cola autenticación con un terceru nun fai falta una contraseña,
-        pero delles ferramientes estra o sirvidores inda puen necesitala.
       continue: Date d'alta
       terms accepted: ¡Gracies por aceutar les condiciones de collaboración!
+      use external auth: Alternativamente, usa un terceru p'aniciar sesión
     terms:
       title: Condiciones
       heading: Condiciones
index 62c24e4e8d8e1b0e89fc353089bed189826bf541..30f712324e5f5a0f4e55c7dee5466328f1472d3d 100644 (file)
@@ -911,22 +911,13 @@ az:
   sessions:
     new:
       title: Daxil olun
-      heading: Daxil olun
+      tab_title: Daxil olun
       password: 'Parol:'
       remember: Məni xatırla
       login_button: Daxil ol
       register now: İndi qeydiyyatdan keç
       with external: 'Alternativ olaraq, daxil olmaq üçün üçüncü tərəfdən istifadə
         edin:'
-      no account: İstifadəçi hesabınız yoxdur?
-      openid_logo_alt: OpenID ilə hesabınıza daxil olun
-      auth_providers:
-        microsoft:
-          title: Microsoft ilə daxil olun
-        github:
-          alt: GitHub Hesabı ilə daxil olun
-        wikipedia:
-          alt: Vikipediya hesabı ilə daxil olun
     destroy:
       title: Sistemdən çıx
       heading: OpenStreetMap-dən çıx
@@ -1017,6 +1008,15 @@ az:
       edit_map: Xəritəni redaktə et
       public: İCTİMAİ
       private: MƏXFİ
+  application:
+    auth_providers:
+      openid_logo_alt: OpenID ilə hesabınıza daxil olun
+      microsoft:
+        title: Microsoft ilə daxil olun
+      github:
+        alt: GitHub Hesabı ilə daxil olun
+      wikipedia:
+        alt: Vikipediya hesabı ilə daxil olun
   oauth_clients:
     show:
       confirm: Əminsinizmi?
index 131bbb2d8e1ee05724c15602569bcd11a7b2c265..c19165b69883144af7263c5f347cc9e81e52db48 100644 (file)
@@ -145,7 +145,6 @@ ba:
         auth_provider: Аутентификация провайдеры
         auth_uid: Аутентификация UID
         email: Электрон почта адресы
-        email_confirmation: Электрон почтаны раҫлау
         new_email: Яңы электрон почта адресы
         active: Әүҙем
         display_name: Сағылдырылған исем
index 3b8f06c35c88f51bcc6d1a0d19043b73c12523da..f34c20da5d9785390290712eae40ad81e6fcb5e0 100644 (file)
@@ -143,7 +143,6 @@ be-Tarask:
         auth_provider: Пастаўшчык аўтэнтыфікацыі
         auth_uid: UID аўтэнтыфікацыі
         email: Электронная пошта
-        email_confirmation: Пацьверджаньне э-пошты
         new_email: Новы адрас электроннай пошты
         active: Актыўны
         display_name: Бачнае імя
@@ -1066,7 +1065,7 @@ be-Tarask:
   sessions:
     new:
       title: Увайсьці
-      heading: Уваход
+      tab_title: Уваход
       email or username: Адрас электроннай пошты ці імя карыстальніка
       password: Пароль
       remember: Запомніць мяне
@@ -1074,7 +1073,6 @@ be-Tarask:
       login_button: Увайсьці
       register now: Зарэгістравацца зараз
       auth failure: Прабачце, немагчыма ўвайсьці з такім адрасам і паролем.
-      openid_logo_alt: Увайсьці ў сыстэму з дапамогай OpenID
     destroy:
       title: Выйсьці
       heading: Выйсьці з OpenStreetMap
@@ -1284,6 +1282,8 @@ be-Tarask:
       need_to_see_terms: Ваш доступ да API часова прыпынены. Калі ласка, увайдзіце
         ў ўэб-інтэрфэйс, каб каб паглядзець умовы супрацоўніцтва. Вам не абавязкова
         пагаджацца зь імі, але неабходна зь імі азнаёміцца.
+    auth_providers:
+      openid_logo_alt: Увайсьці ў сыстэму з дапамогай OpenID
   oauth:
     authorize:
       request_access_html: Дастасаваньне %{app_name} патрабуе доступ да Вашага рахунку,
index 8791227c29fe252e135471102b0ac44e090cff36..5e3c4156872ef5f19612484c6c3e903a451a89f3 100644 (file)
@@ -149,7 +149,6 @@ be:
         auth_provider: Аўтэнтыфікатар
         auth_uid: UID аўтэнтыфікацыі
         email: Электронная пошта
-        email_confirmation: Пацверджанне электроннай пошты
         new_email: Новы адрас электроннай пошты
         active: Актыўны
         display_name: Бачнае імя
@@ -1543,7 +1542,7 @@ be:
   sessions:
     new:
       title: Уваход
-      heading: Уваход
+      tab_title: Уваход
       email or username: Электронны адрас або Імя карыстальніка
       password: Пароль
       remember: Памятаць мяне
@@ -1551,34 +1550,7 @@ be:
       login_button: Увайсці
       register now: Зарэгістравацца зараз
       with external: 'У якасці альтэрнатывы выкарыстайце для ўваходу старонні сервіс:'
-      no account: Не маеце асабістага рахунка?
       auth failure: Прабачце, немагчыма увайсці з такім адрасам і паролем.
-      openid_logo_alt: Увайсці з дапамогай OpenID
-      auth_providers:
-        openid:
-          title: Уваход праз OpenID
-          alt: Уваход праз OpenID URL
-        google:
-          title: Уваход праз Google
-          alt: Уваход праз Google OpenID
-        facebook:
-          title: Увайсці праз Facebook
-          alt: Увайсці праз уліковы запіс Facebook
-        microsoft:
-          title: Увайсці праз Microsoft
-          alt: Увайсці праз уліковы запіс Microsoft
-        github:
-          title: Уваход праз GitHub
-          alt: Увайсці праз уліковы запіс GitHub
-        wikipedia:
-          title: Увайсці праз Вікіпедыю
-          alt: Уваход з выкарыстаннем уліковага запісу Вікіпедыі
-        wordpress:
-          title: Уваход праз Wordpress
-          alt: Уваход праз Wordpress OpenID
-        aol:
-          title: Уваход праз AOL
-          alt: Уваход праз AOL OpenID
     destroy:
       title: Выйсці
       heading: Выйсці з OpenStreetMap
@@ -1958,6 +1930,32 @@ be:
       need_to_see_terms: Ваш доступ да API часова прыпынены. Калі ласка, ўвайдзіце
         ў вэб-інтэрфейс для прагляду ўмоў удзелу. Вы не абавязаны пагаджацца, але
         вам варта праглядзець іх.
+    auth_providers:
+      openid_logo_alt: Увайсці з дапамогай OpenID
+      openid:
+        title: Уваход праз OpenID
+        alt: Уваход праз OpenID URL
+      google:
+        title: Уваход праз Google
+        alt: Уваход праз Google OpenID
+      facebook:
+        title: Увайсці праз Facebook
+        alt: Увайсці праз уліковы запіс Facebook
+      microsoft:
+        title: Увайсці праз Microsoft
+        alt: Увайсці праз уліковы запіс Microsoft
+      github:
+        title: Уваход праз GitHub
+        alt: Увайсці праз уліковы запіс GitHub
+      wikipedia:
+        title: Увайсці праз Вікіпедыю
+        alt: Уваход з выкарыстаннем уліковага запісу Вікіпедыі
+      wordpress:
+        title: Уваход праз Wordpress
+        alt: Уваход праз Wordpress OpenID
+      aol:
+        title: Уваход праз AOL
+        alt: Уваход праз AOL OpenID
   oauth:
     authorize:
       title: Дазваленне на доступ да вашага ўліковага запісу
@@ -2036,11 +2034,9 @@ be:
       display name description: Ваша імя, якое будзе бачнае ўсім. Вы можаце змяніць
         яго потым ў вашых параметрах.
       external auth: 'Аўтэнтыфікацыя праз:'
-      use external auth: У якасці альтэрнатывы выкарыстайце для ўваходу старонні сервіс
-      auth no password: Пры выкарыстанні знешняй аўтэнтыфікацыі пароль не патрэбны,
-        але для некаторых дадатковых інструментаў або сервераў ён усё яшчэ спатрэбіцца.
       continue: Зарэгістравацца
       terms accepted: Дзякуй за прыняцце новых умоў ўдзелу!
+      use external auth: У якасці альтэрнатывы выкарыстайце для ўваходу старонні сервіс
     terms:
       title: Умовы
       heading: Умовы
index 6cfa8239c53e5365bafa5b18e97bbb396c779d39..714adfce190e9906e903067f245ee0b58d6736d2 100644 (file)
@@ -143,7 +143,6 @@ bg:
       user:
         auth_provider: Доставчик на автентикация
         email: Електронна поща
-        email_confirmation: Потвърждение по имейл
         new_email: Нова електронна поща
         active: Активен
         display_name: Видимо потребителско име
@@ -1472,7 +1471,7 @@ bg:
   sessions:
     new:
       title: Влизане
-      heading: Влизане
+      tab_title: Влизане
       email or username: Електронна поща или потребителско име
       password: Парола
       remember: Запомняне
@@ -1480,34 +1479,7 @@ bg:
       login_button: Влизане
       register now: Регистрирайте се
       with external: 'Или използвайте удостоверяване от външен източник:'
-      no account: Нямате сметка?
       auth failure: Съжаляваме, но не можете да влезете с тези данни.
-      openid_logo_alt: Влизане с OpenID
-      auth_providers:
-        openid:
-          title: Влизане с OpenID
-          alt: Влизане с адрес на OpenID
-        google:
-          title: Влизане с Гугъл
-          alt: Влизане с OpenID на Google
-        facebook:
-          title: Влизане с Facebook
-          alt: Влизане със сметка на Facebook
-        microsoft:
-          title: Влизане с Майкрософт
-          alt: Влизане със сметка на Майкрософт
-        github:
-          title: Влизане с GitHub
-          alt: Влизане със сметка в GitHub
-        wikipedia:
-          title: Влизане с Уикипедия
-          alt: Влизане със сметка от Уикипедия
-        wordpress:
-          title: Влизане с Wordpress
-          alt: Влизане с OpenID от Wordpress
-        aol:
-          title: Влизане с AOL
-          alt: Влизане с OpenID от AOL
     destroy:
       title: Изход
       heading: Изход от OpenStreetMap
@@ -1870,6 +1842,32 @@ bg:
     permission_denied: Нямате разрешение за достъп до това действие
     require_admin:
       not_an_admin: Трябва да сте админ за да извършите това действие
+    auth_providers:
+      openid_logo_alt: Влизане с OpenID
+      openid:
+        title: Влизане с OpenID
+        alt: Влизане с адрес на OpenID
+      google:
+        title: Влизане с Гугъл
+        alt: Влизане с OpenID на Google
+      facebook:
+        title: Влизане с Facebook
+        alt: Влизане със сметка на Facebook
+      microsoft:
+        title: Влизане с Майкрософт
+        alt: Влизане със сметка на Майкрософт
+      github:
+        title: Влизане с GitHub
+        alt: Влизане със сметка в GitHub
+      wikipedia:
+        title: Влизане с Уикипедия
+        alt: Влизане със сметка от Уикипедия
+      wordpress:
+        title: Влизане с Wordpress
+        alt: Влизане с OpenID от Wordpress
+      aol:
+        title: Влизане с AOL
+        alt: Влизане с OpenID от AOL
   oauth:
     authorize:
       allow_to: 'Позволи приложението на клиента да:'
@@ -1920,9 +1918,9 @@ bg:
           хора като Вас и е безплатна за всеки, който иска да я поправи, актуализира,
           изтегли и използва.
       external auth: 'Удостоверяване от външен източник:'
-      use external auth: Или използвайте удостоверяване от външен източник
       continue: Регистриране
       terms accepted: Благодарим Ви, че приемате новите условия за сътрудничество!
+      use external auth: Или използвайте удостоверяване от външен източник
     terms:
       title: Условия
       heading: Условия
index 52e1212d04687c2ceae1987bffb734eba5a68131..9103934a62de073e457790af83084cbe24febfee 100644 (file)
@@ -160,7 +160,6 @@ bn:
         auth_provider: প্রমাণীকরণ সরবরাহকারী
         auth_uid: প্রমাণীকরণ ইউআইডি
         email: ইমেইল
-        email_confirmation: ইমেইল নিশ্চিতকরণ
         new_email: নতুন ই-মেইল ঠিকানা
         active: সক্রিয়
         display_name: প্রদর্শনের জন্য নাম
@@ -1545,32 +1544,14 @@ bn:
   sessions:
     new:
       title: প্রবেশ করুন
-      heading: প্রবেশ
+      tab_title: প্রবেশ
       email or username: ইমেইল ঠিকানা অথবা ব্যবহারকারী নাম
       password: পাসওয়ার্ড
       remember: আমাকে মনে রাখো
       lost password link: পাসওয়ার্ড ভুলে গেছেন?
       login_button: প্রবেশ করুন
       register now: এখনই নিবন্ধন করুন
-      no account: কোনও অ্যাকাউন্ট নেই?
       auth failure: দুঃখিত, এই তথ্য দিয়ে প্রবেশ করানো যাচ্ছে না।
-      auth_providers:
-        google:
-          title: গুগল দিয়ে প্রবেশ
-        facebook:
-          title: ফেসবুক দিয়ে প্রবেশ
-          alt: ফেসবুক অ্যাকাউন্ট দিয়ে প্রবেশ করুন
-        microsoft:
-          title: মাইক্রোসফট দিয়ে লগইন করুন
-          alt: একটি মাইক্রোসফট অ্যাকাউন্ট দিয়ে লগইন করুন
-        github:
-          title: গিটহাব দিয়ে প্রবেশ করুন
-          alt: একটি গিটহাব অ্যাকাউন্ট দিয়ে প্রবেশ করুন
-        wikipedia:
-          title: উইকিপিডিয়া দিয়ে প্রবেশ করুন
-          alt: উইকিপিডিয়া অ্যাকাউন্ট দিয়ে প্রবেশ করুন
-        wordpress:
-          title: ওয়ার্ডপ্রেস দিয়ে প্রবেশ
     destroy:
       title: প্রস্থান
       logout_button: প্রস্থান
@@ -1840,6 +1821,23 @@ bn:
   application:
     settings_menu:
       account_settings: অ্যাকাউন্ট সেটিংস
+    auth_providers:
+      google:
+        title: গুগল দিয়ে প্রবেশ
+      facebook:
+        title: ফেসবুক দিয়ে প্রবেশ
+        alt: ফেসবুক অ্যাকাউন্ট দিয়ে প্রবেশ করুন
+      microsoft:
+        title: মাইক্রোসফট দিয়ে লগইন করুন
+        alt: একটি মাইক্রোসফট অ্যাকাউন্ট দিয়ে লগইন করুন
+      github:
+        title: গিটহাব দিয়ে প্রবেশ করুন
+        alt: একটি গিটহাব অ্যাকাউন্ট দিয়ে প্রবেশ করুন
+      wikipedia:
+        title: উইকিপিডিয়া দিয়ে প্রবেশ করুন
+        alt: উইকিপিডিয়া অ্যাকাউন্ট দিয়ে প্রবেশ করুন
+      wordpress:
+        title: ওয়ার্ডপ্রেস দিয়ে প্রবেশ
   oauth:
     authorize:
       allow_write_api: মানচিত্রটি পরিবর্তন করুন
@@ -1882,8 +1880,6 @@ bn:
       title: নিবন্ধন করুন
       about:
         header: মুক্ত ও সম্পাদনাযোগ্য
-      auth no password: তৃতীয় কোনো পদ্ধতিতে লগইন সক্রিয় থাকলে পাসওয়ার্ড বাধ্যতামূলক
-        নয়, কিন্তু অতিরিক্ত কিছু সরঞ্জাম এবং সার্ভারের জন্য কখনো প্রয়োজন হতে পারে।
       continue: নিবন্ধন করুন
       terms accepted: নতুন অবদানকারী শর্তাবলী গ্রহণ করার জন্য ধন্যবাদ!
       privacy_policy: গোপনীয়তার নীতি
index 8027297d16e3138c50c89713cfc63fa80c46c483..67c5b031cf23ec04a7a1c86768ffa076b8e3b4e0 100644 (file)
@@ -154,7 +154,6 @@ br:
         auth_provider: Pourchaser gwiriekadur
         auth_uid: UID an dilesadur
         email: Postel
-        email_confirmation: Kadarnaat ar postel
         new_email: Chomlec'h postel nevez
         active: Oberiant
         display_name: Anv diskouezet
@@ -1921,7 +1920,7 @@ br:
   sessions:
     new:
       title: Kevreañ
-      heading: Kevreañ
+      tab_title: Kevreañ
       email or username: Chomlec'h postel pe anv implijer
       password: Ger-tremen
       remember: Derc'hel soñj ac'hanon
@@ -1929,35 +1928,8 @@ br:
       login_button: Kevreañ
       register now: En em enskrivañ bremañ
       with external: 'Mod all, implijit un tredeour evit kevreañ :'
-      no account: N'hoc'h eus kont ebet ?
       auth failure: Ho tigarez, met n'eus ket bet gallet hoc'h anavezout gant an titouroù
         pourchaset.
-      openid_logo_alt: Kevreañ gant un OpenID
-      auth_providers:
-        openid:
-          title: Kevreañ gant OpenID
-          alt: Kevreañ gant un URL OpenID
-        google:
-          title: Kevreañ gant Google
-          alt: Kevreañ gant OpenID Google
-        facebook:
-          title: Kevreañ gant Facebook
-          alt: Kevreañ gant ur gont Facebook
-        microsoft:
-          title: Kevreañ gant Microsoft
-          alt: Kevreañ gant ur gont Microsoft
-        github:
-          title: Kevreañ gant GitHub
-          alt: Kevreañ gant ur gont GitHub
-        wikipedia:
-          title: Kevreañ gant Wikipedia
-          alt: Kevreañ gant ur gont Wikipedia
-        wordpress:
-          title: Kevreañ gant Wordpress
-          alt: Kevreañ gant un OpenID Wordpress
-        aol:
-          title: Kevreañ gant AOL
-          alt: Kevreañ gant un OpenID AOL
     destroy:
       title: Digevreañ
       heading: Kuitaat OpenStreetMap
@@ -2499,6 +2471,32 @@ br:
       oauth2_applications: Arloadoù OAuth 2
       oauth2_authorizations: Aotreoù OAuth 2
       muted_users: Implijerien kuzhet
+    auth_providers:
+      openid_logo_alt: Kevreañ gant un OpenID
+      openid:
+        title: Kevreañ gant OpenID
+        alt: Kevreañ gant un URL OpenID
+      google:
+        title: Kevreañ gant Google
+        alt: Kevreañ gant OpenID Google
+      facebook:
+        title: Kevreañ gant Facebook
+        alt: Kevreañ gant ur gont Facebook
+      microsoft:
+        title: Kevreañ gant Microsoft
+        alt: Kevreañ gant ur gont Microsoft
+      github:
+        title: Kevreañ gant GitHub
+        alt: Kevreañ gant ur gont GitHub
+      wikipedia:
+        title: Kevreañ gant Wikipedia
+        alt: Kevreañ gant ur gont Wikipedia
+      wordpress:
+        title: Kevreañ gant Wordpress
+        alt: Kevreañ gant un OpenID Wordpress
+      aol:
+        title: Kevreañ gant AOL
+        alt: Kevreañ gant un OpenID AOL
   oauth:
     authorize:
       title: Aotren mont d'ho kont
@@ -2640,16 +2638,13 @@ br:
       display name description: Emañ hoc'h anv implijer a-wel d'an holl. Se a c'hallit
         cheñch diwezhatoc'h en ho penndibaboù.
       external auth: 'Dilesadur trede :'
-      use external auth: 'Mod all, implijit un tredeour evit kevreañ :'
-      auth no password: Gant dilesadur un tredeour n'eus ket ezhomm d'ober gant ur
-        ger-tremen, met evit binvioù ouzhpenn pe evit ur servijer e c'haller bepred
-        goulenn unan diganeco'h.
       continue: En em enskrivañ
       terms accepted: Trugarez deoc'h evit bezañ asantet da ziferadennoù nevez ar
         c'henlabourer !
-      email_confirmation_help_html: Ho chomlec'h ne vo ket hewel d'an holl, sellit
-        ouzh %{privacy_policy_link} evit gouzout hiroc'h.
+      email_help_html: Ho chomlec'h ne vo ket hewel d'an holl, sellit ouzh %{privacy_policy_link}
+        evit gouzout hiroc'h.
       privacy_policy: reolennoù prevezded
+      use external auth: 'Mod all, implijit un tredeour evit kevreañ :'
     terms:
       title: Termenoù
       heading: Termenoù
index c11f73d5e8efe3cf7d63734758af1964ddef114d..1ca3e106ebb72bc58dca526757e9b674a87b61b0 100644 (file)
@@ -1045,20 +1045,14 @@ bs:
   sessions:
     new:
       title: Prijava
-      heading: Prijava
+      tab_title: Prijava
       email or username: 'E-mail adresa ili korisničko ime:'
       password: 'Lozinka:'
       remember: Zapamti me
       lost password link: Izgubili ste lozinku?
       login_button: Prijava
       register now: Registrirajte se sada
-      no account: Nemate korisničko ime?
       auth failure: Žao mi je, ne možemo Vas prijaviti s ovim detaljima.
-      openid_logo_alt: Prijavite se sa OtvorenimID
-      auth_providers:
-        wordpress:
-          title: Prijavite se sa Wordpress nalogom
-          alt: Prijavite se sa Wordpress OpenID
     destroy:
       title: Odjava
       heading: Odjava iz OpenStreetMap
@@ -1301,6 +1295,11 @@ bs:
       need_to_see_terms: Vaš pristup API-ju je privremeno suspendovan. Molimo da se
         prijavite na web upravljačku ploču da pogledate Uslove za doprinosioce. Ne
         morate se složiti, ali ih morate pogledati.
+    auth_providers:
+      openid_logo_alt: Prijavite se sa OtvorenimID
+      wordpress:
+        title: Prijavite se sa Wordpress nalogom
+        alt: Prijavite se sa Wordpress OpenID
   oauth:
     authorize:
       request_access_html: 'Aplikacija %{app_name} zahtjeva pristup Vašem korisničkom
index 25dcfb15f98776715bb7391ddd611035459326b1..d08b674fb500d0448d26b7eb0d23630d8de25065 100644 (file)
@@ -43,6 +43,7 @@
 # Author: Somenxavier
 # Author: Ssola
 # Author: Toniher
+# Author: VerusPhoebusApollo
 # Author: Vfc
 # Author: XVEC
 # Author: Yupik
@@ -180,7 +181,6 @@ ca:
         auth_provider: Proveïdor d'autenticació
         auth_uid: UID d'autenticació
         email: Adreça electrònica
-        email_confirmation: Confirmació de correu electrònic
         new_email: Nova adreça electrònica
         active: Actiu
         display_name: Nom en pantalla
@@ -576,6 +576,7 @@ ca:
     show:
       title: Diari de %{user} | %{title}
       user_title: Diari de %{user}
+      discussion: Discussió
       leave_a_comment: Feu un comentari
       login_to_leave_a_comment_html: '%{login_link} per a fer un comentari'
       login: Inicia sessió
@@ -1892,7 +1893,7 @@ ca:
   sessions:
     new:
       title: Inicia la sessió
-      heading: Inicia la sessió
+      tab_title: Inicia la sessió
       email or username: Adreça de correu o nom d'usuari
       password: Contrasenya
       remember: Recorda'm
@@ -1900,34 +1901,7 @@ ca:
       login_button: Accés
       register now: Registreu-vos-hi ara
       with external: Alternativament, inicieu una sessió mitjançant un tercer
-      no account: No teniu cap compte?
       auth failure: No podeu iniciar la sessió amb aquesta informació.
-      openid_logo_alt: Inicia sessió amb un compte OpenID
-      auth_providers:
-        openid:
-          title: Inicia sessió amb un compte OpenID
-          alt: Inicia sessió amb un URL d'OpenID
-        google:
-          title: Inicieu la sessió amb Google
-          alt: Inicieu la sessió amb un compte OpenID de Google
-        facebook:
-          title: Inicieu la sessió amb Facebook
-          alt: Inicieu la sessió amb un compte de Facebook
-        microsoft:
-          title: Inicieu la sessió amb Windows
-          alt: Inicieu de sessió amb un compte de Windows
-        github:
-          title: Inicieu la sessió amb GitHub
-          alt: Inicieu la sessió amb un compte de GitHub
-        wikipedia:
-          title: Inicieu la sessió amb Viquipèdia
-          alt: Inicieu la sessió amb un compte de Viquipèdia
-        wordpress:
-          title: Inicieu la sessió amb Wordpress
-          alt: Inicieu la sessió amb un compte OpenID de Wordpress
-        aol:
-          title: Inicieu la sessió amb AOL
-          alt: Inicieu la sessió amb un compte OpenID d'AOL
     destroy:
       title: Surt
       heading: Tanca la sessió d'OpenStreetMap
@@ -2550,6 +2524,32 @@ ca:
       oauth2_applications: Aplicacions OAuth 2
       oauth2_authorizations: Autoritzacions OAuth 2
       muted_users: Usuaris silenciats
+    auth_providers:
+      openid_logo_alt: Inicia sessió amb un compte OpenID
+      openid:
+        title: Inicia sessió amb un compte OpenID
+        alt: Inicia sessió amb un URL d'OpenID
+      google:
+        title: Inicieu la sessió amb Google
+        alt: Inicieu la sessió amb un compte OpenID de Google
+      facebook:
+        title: Inicieu la sessió amb Facebook
+        alt: Inicieu la sessió amb un compte de Facebook
+      microsoft:
+        title: Inicieu la sessió amb Windows
+        alt: Inicieu de sessió amb un compte de Windows
+      github:
+        title: Inicieu la sessió amb GitHub
+        alt: Inicieu la sessió amb un compte de GitHub
+      wikipedia:
+        title: Inicieu la sessió amb Viquipèdia
+        alt: Inicieu la sessió amb un compte de Viquipèdia
+      wordpress:
+        title: Inicieu la sessió amb Wordpress
+        alt: Inicieu la sessió amb un compte OpenID de Wordpress
+      aol:
+        title: Inicieu la sessió amb AOL
+        alt: Inicieu la sessió amb un compte OpenID d'AOL
   oauth:
     authorize:
       title: Autoritzeu l'accés al vostre compte
@@ -2697,16 +2697,14 @@ ca:
       display name description: El nom d'usuari que es mostrarà públicament. El podeu
         canviar més endavant a les preferències.
       external auth: 'Autenticació mitjançant tercers:'
-      use external auth: 'Alternativament, inicieu la sessió mitjançant un tercer:'
-      auth no password: Amb l'autenticació per tercers cal contrasenya, però alguns
-        servidors o eines extres sí que en poden demanar una.
       continue: Registreu-vos-hi
       terms accepted: Gràcies per acceptar els nous termes de col·laboració.
-      email_confirmation_help_html: La vostra adreça no es mostrarà públicament, consulteu
-        la nostra %{privacy_policy_link} per obtenir més informació.
+      email_help_html: La vostra adreça no es mostrarà públicament, consulteu la nostra
+        %{privacy_policy_link} per obtenir més informació.
       privacy_policy: política de privadesa
       privacy_policy_title: Política de privadesa de l'OSMF incloent la secció sobre
         adreces de correu electrònic
+      use external auth: 'Alternativament, inicieu la sessió mitjançant un tercer:'
     terms:
       title: Termes
       heading: Termes
index 92b224820c1f85755aa2dce7093574852f744a0a..611ea26966816f877f4a0e688d76fca4ec29d2c6 100644 (file)
@@ -777,7 +777,7 @@ ce:
   sessions:
     new:
       title: ЧугӀо
-      heading: ЧугӀо
+      tab_title: ЧугӀо
       email or username: 'Эл. пошт йа декъашхочун цӀе:'
       password: 'Пароль:'
       remember: Дагалаца со
index 3fedad4025ba54d01e09b7ef64cd9d97943c044f..682374f340822cfab95c67d10904f564f9b2e79c 100644 (file)
@@ -186,7 +186,6 @@ cs:
         auth_provider: Poskytovatel autentizace
         auth_uid: Autentizační UID
         email: E-mail
-        email_confirmation: Potvrzení e-mailu
         new_email: Nová emailová adresa
         active: Aktivní
         display_name: Zobrazované jméno
@@ -340,6 +339,8 @@ cs:
           zachovány, ale nebudou viditelné.
         retain_changeset_discussions: Vaše případné diskuse k sadám změn budou zachovány.
         retain_email: Vaše e-mailová adresa bude zachována.
+        recent_editing_html: Vzhledem k tomu, že jste nedávno upravovali váš účet,
+          nelze aktuálně smazat. Smazání bude možné za %{time}.
         confirm_delete: Jste si jisti?
         cancel: Storno
   accounts:
@@ -392,6 +393,7 @@ cs:
     deleted_ago_by_html: Smazáno %{time_ago} uživatelem %{user}
     edited_ago_by_html: Upraveno %{time_ago} uživatelem %{user}
     version: Verze
+    redacted_version: Upravená verze
     in_changeset: Sada změn
     anonymous: anonym
     no_comment: (bez komentáře)
@@ -408,7 +410,10 @@ cs:
       other: '%{count} cest'
     download_xml: Stáhnout XML
     view_history: Zobrazit historii
+    view_unredacted_history: Zobrazit neredigovanou historii
     view_details: Zobrazit detaily
+    view_redacted_data: Zobrazit upravená data
+    view_redaction_message: Zobrazit zprávu o revizi
     location: 'Pozice:'
     node:
       title_html: 'Uzel: %{name}'
@@ -2006,7 +2011,7 @@ cs:
   sessions:
     new:
       title: Přihlásit se
-      heading: Přihlášení
+      tab_title: Přihlášení
       email or username: E-mailová adresa nebo uživatelské jméno
       password: Heslo
       remember: Zapamatuj si mě
@@ -2014,34 +2019,7 @@ cs:
       login_button: Přihlásit se
       register now: Zaregistrujte se
       with external: 'Případně se přihlaste prostřednictvím třetí strany:'
-      no account: Nemáte účet?
       auth failure: Je mi líto, ale s uvedenými údaji se nemůžete přihlásit.
-      openid_logo_alt: Přihlášení pomocí OpenID
-      auth_providers:
-        openid:
-          title: Přihlásit se pomocí OpenID
-          alt: Přihlásit se pomocí OpenID URL
-        google:
-          title: Přihlásit se prostřednictvím Google
-          alt: Přihlásit se pomocí Google OpenID
-        facebook:
-          title: Přihlásit se přes Facebook
-          alt: Přihlásit se pomocí účtu na Facebooku
-        microsoft:
-          title: Přihlásit se přes Microsoft
-          alt: Přihlásit se pomocí účtu Microsoft
-        github:
-          title: Přihlásit se přes GitHub
-          alt: Přihlásit se pomocí GitHub účtu
-        wikipedia:
-          title: Přihlásit se účtem na Wikipedii
-          alt: Přihlásit se účtem na Wikipedii
-        wordpress:
-          title: Přihlásit se prostřednictvím Wordpress
-          alt: Přihlásit se pomocí Wordpress OpenID
-        aol:
-          title: Přihlásit se prostřednictvím AOL
-          alt: Přihlásit se pomocí AOL OpenID
     destroy:
       title: Odhlásit se
       heading: Odhlášení z OpenStreetMap
@@ -2436,6 +2414,7 @@ cs:
           light_rail: Rychlodráha
           tram: Tramvaj
           trolleybus: Trolejbus
+          bus: Autobus
           cable_car: Lanovka
           chair_lift: sedačková lanovka
           runway: Vzletová a přistávací dráha
@@ -2491,6 +2470,7 @@ cs:
           destination: Průjezd zakázán
           construction: Cesta ve výstavbě
           bus_stop: Autobusová zastávka
+          stop: Stop
           bicycle_shop: Cykloobchod
           bicycle_rental: Půjčovna kol
           bicycle_parking: Parkoviště pro kola
@@ -2536,6 +2516,7 @@ cs:
         imports: Importy
         automated_edits: Automatizované úpravy
       start_mapping: Začít mapovat
+      continue_authorization: Pokračovat v autorizaci
       add_a_note:
         title: Nemáte čas editovat? Přidejte poznámku!
         para_1: Pokud chcete jen opravit nějakou drobnost a nemáte čas se registrovat
@@ -2699,6 +2680,32 @@ cs:
       oauth2_applications: Aplikace OAuth 2
       oauth2_authorizations: Autorizace OAuth 2
       muted_users: Ztlumení uživatelé
+    auth_providers:
+      openid_logo_alt: Přihlášení pomocí OpenID
+      openid:
+        title: Přihlásit se pomocí OpenID
+        alt: Přihlásit se pomocí OpenID URL
+      google:
+        title: Přihlásit se prostřednictvím Google
+        alt: Přihlásit se pomocí Google OpenID
+      facebook:
+        title: Přihlásit se přes Facebook
+        alt: Přihlásit se pomocí účtu na Facebooku
+      microsoft:
+        title: Přihlásit se přes Microsoft
+        alt: Přihlásit se pomocí účtu Microsoft
+      github:
+        title: Přihlásit se přes GitHub
+        alt: Přihlásit se pomocí GitHub účtu
+      wikipedia:
+        title: Přihlásit se účtem na Wikipedii
+        alt: Přihlásit se účtem na Wikipedii
+      wordpress:
+        title: Přihlásit se prostřednictvím Wordpress
+        alt: Přihlásit se pomocí Wordpress OpenID
+      aol:
+        title: Přihlásit se prostřednictvím AOL
+        alt: Přihlásit se pomocí AOL OpenID
   oauth:
     authorize:
       title: Autorizovat přístup k vašemu účtu
@@ -2735,11 +2742,13 @@ cs:
       read_gpx: Číst soukromé GPS stopy
       write_gpx: Nahrávat GPS stopy
       write_notes: Měnit poznámky
+      write_redactions: Upravte mapová data
       read_email: Přečíst e-mailovou adresu uživatele
       skip_authorization: Automaticky schválit aplikaci
   oauth_clients:
     new:
       title: Registrace nové aplikace
+      disabled: Registrace aplikací OAuth 1 byla zakázána
     edit:
       title: Upravit aplikaci
     show:
@@ -2823,6 +2832,7 @@ cs:
       title: Mé autorizované aplikace
       application: Aplikace
       permissions: Oprávnění
+      last_authorized: Poslední autorizace
       no_applications_html: Zatím jste neautorizovali žádné %{oauth2} aplikace.
     application:
       revoke: Odebrat přístup
@@ -2845,16 +2855,14 @@ cs:
       display name description: Vaše veřejně zobrazované uživatelské jméno. Můžete
         si ho později změnit ve svém nastavení.
       external auth: 'Autentizace třetí stranou:'
-      use external auth: Případně se přihlaste prostřednictvím třetí strany
-      auth no password: S autentizací třetí stranou není heslo potřeba, ale některé
-        další nástroje nebo servery je mohou přesto potřebovat.
       continue: Zaregistrovat se
       terms accepted: Děkujeme za odsouhlasení nových podmínek pro přispěvatele!
-      email_confirmation_help_html: Vaše adresa se nezobrazuje veřejně, více informací
-        získáte v našich %{privacy_policy_link}.
+      email_help_html: Vaše adresa se nezobrazuje veřejně, více informací získáte
+        v našich %{privacy_policy_link}.
       privacy_policy: pravidlech ochrany osobních údajů
       privacy_policy_title: Pravidla ochrany osobních údajů OSMF, včetně části o e-mailových
         adresách
+      use external auth: Případně se přihlaste prostřednictvím třetí strany
     terms:
       title: Podmínky
       heading: Podmínky
@@ -2931,12 +2939,15 @@ cs:
       role:
         administrator: Tento uživatel je správce
         moderator: Tento uživatel je moderátor
+        importer: Tento uživatel je importér
         grant:
           administrator: Přidělit práva správce
           moderator: Přidělit práva moderátora
+          importer: Udělit přístup importérům
         revoke:
           administrator: Odebrat práva správce
           moderator: Odebrat práva moderátora
+          importer: Zrušit přístup importéra
       block_history: Účinná zablokování
       moderator_history: Udělená zablokování
       revoke_all_blocks: Zrušit všechny bloky
index 90d31d0b9c7bed7a9eae310fae6238cf89048f9c..edaf1023a01d4f74204a125a651175ab09d0cc91 100644 (file)
@@ -140,7 +140,6 @@ cy:
         auth_provider: Darparwr Ap
         auth_uid: UID Dilysu
         email: E-bost
-        email_confirmation: Cadarnhad e-bost
         new_email: Cyfeiriad e-bost newydd
         active: Gweithredol
         display_name: Enw defnyddiwr
@@ -1772,7 +1771,7 @@ cy:
   sessions:
     new:
       title: Mewngofnodi
-      heading: Mewngofnodi
+      tab_title: Mewngofnodi
       email or username: Cyfeiriad E-Bost neu Enw Defnyddiwr
       password: Cyfrinair
       remember: Cofiwch fi
@@ -1780,34 +1779,7 @@ cy:
       login_button: Mewngofnodi
       register now: Cofrestru nawr
       with external: 'Fel arall, defnyddiwch drydydd parti i fewngofnodi:'
-      no account: Dim cyfrif gennych?
       auth failure: Mae'n ddrwg gennym, ni ellir mewngofnodi gyda'r manylion hynny.
-      openid_logo_alt: Mewngofnodi gydag OpenID
-      auth_providers:
-        openid:
-          title: Mewngofnodi ag OpenID
-          alt: Mewngofnodi ag URL OpenID
-        google:
-          title: Mewngofnodi â Google
-          alt: Mewngofnodi â Google OpenID
-        facebook:
-          title: Mewngofnodi â Facebook
-          alt: Mewngofnodi â Chyfrif Facebook
-        microsoft:
-          title: Mewngofnodi gyda Microsoft
-          alt: Mewngofnodi gyda Chyfrif Microsoft
-        github:
-          title: Mewngofnodi â GitHub
-          alt: Mewngofnodi â Chyfrif GitHub
-        wikipedia:
-          title: Mewngofnodi ag Wicipedia
-          alt: Mewngofnodi â Chyfrif Wicipedia
-        wordpress:
-          title: Mewngofnodi ag Wordpress
-          alt: Mewngofnodi ag Wordpress OpenID
-        aol:
-          title: Mewngofnodi ag AOL
-          alt: Mewngofnodi ag AOL OpenID
     destroy:
       title: Allgofnodi
       heading: Allgofnodi o OpenStreetMap
@@ -2280,6 +2252,32 @@ cy:
       oauth2_applications: Apiau OAuth 2
       oauth2_authorizations: Awdurdodiadau OAuth 2
       muted_users: Defnyddwyr ag Anwybyddwyd
+    auth_providers:
+      openid_logo_alt: Mewngofnodi gydag OpenID
+      openid:
+        title: Mewngofnodi ag OpenID
+        alt: Mewngofnodi ag URL OpenID
+      google:
+        title: Mewngofnodi â Google
+        alt: Mewngofnodi â Google OpenID
+      facebook:
+        title: Mewngofnodi â Facebook
+        alt: Mewngofnodi â Chyfrif Facebook
+      microsoft:
+        title: Mewngofnodi gyda Microsoft
+        alt: Mewngofnodi gyda Chyfrif Microsoft
+      github:
+        title: Mewngofnodi â GitHub
+        alt: Mewngofnodi â Chyfrif GitHub
+      wikipedia:
+        title: Mewngofnodi ag Wicipedia
+        alt: Mewngofnodi â Chyfrif Wicipedia
+      wordpress:
+        title: Mewngofnodi ag Wordpress
+        alt: Mewngofnodi ag Wordpress OpenID
+      aol:
+        title: Mewngofnodi ag AOL
+        alt: Mewngofnodi ag AOL OpenID
   oauth:
     authorize:
       title: Awdurdodi mynediad i'ch cyfrif
@@ -2385,10 +2383,10 @@ cy:
       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!
       privacy_policy: polisi preifatrwydd
+      use external auth: Fel arall, defnyddiwch drydydd parti i fewngofnodi
     terms:
       title: Telerau
       heading: Telerau
index 857dba978bf5f96a668d08ee55face7ba7c80e1b..6f0d89417ce72427088de1936a0a5eaa65291797 100644 (file)
@@ -171,7 +171,6 @@ da:
         auth_provider: Autentificeringsleverandør
         auth_uid: Autentificerings-UID
         email: E-mail
-        email_confirmation: E-mail-bekræftelse
         new_email: Ny e-mailadresse
         active: Aktiv
         display_name: Offentligt brugernavn
@@ -1928,7 +1927,7 @@ da:
   sessions:
     new:
       title: Log ind
-      heading: Log ind
+      tab_title: Log ind
       email or username: E-mailadresse eller brugernavn
       password: Adgangskode
       remember: Husk mig
@@ -1936,34 +1935,7 @@ da:
       login_button: Log ind
       register now: Registrér nu
       with external: 'Alternativt kan du bruge en tredjepart for at logge ind:'
-      no account: Har du ingen konto?
       auth failure: Kunne ikke logge på med disse oplysninger.
-      openid_logo_alt: Log på med et OpenID
-      auth_providers:
-        openid:
-          title: Log på med OpenID
-          alt: Log på med en OpenID-URL
-        google:
-          title: Log på med Google
-          alt: Log på med et Google OpenID
-        facebook:
-          title: Log på med Facebook
-          alt: Log på med en Facebook-konto
-        microsoft:
-          title: Log ind med Microsoft
-          alt: Log ind med en Microsoft-konto
-        github:
-          title: Log ind med GitHub
-          alt: Log ind med en GitHub-konto
-        wikipedia:
-          title: Log ind med Wikipedia
-          alt: Log ind med en Wikipedia-konto
-        wordpress:
-          title: Log på med Wordpress
-          alt: Log på med et Wordpress OpenID
-        aol:
-          title: Log på med AOL
-          alt: Log på med et AOL OpenID
     destroy:
       title: Log af
       heading: Log af fra OpenStreetMap
@@ -2615,6 +2587,32 @@ da:
       oauth2_applications: OAuth 2-applikationer
       oauth2_authorizations: OAuth 2-autorisationer
       muted_users: Stillegjorte Brugere
+    auth_providers:
+      openid_logo_alt: Log på med et OpenID
+      openid:
+        title: Log på med OpenID
+        alt: Log på med en OpenID-URL
+      google:
+        title: Log på med Google
+        alt: Log på med et Google OpenID
+      facebook:
+        title: Log på med Facebook
+        alt: Log på med en Facebook-konto
+      microsoft:
+        title: Log ind med Microsoft
+        alt: Log ind med en Microsoft-konto
+      github:
+        title: Log ind med GitHub
+        alt: Log ind med en GitHub-konto
+      wikipedia:
+        title: Log ind med Wikipedia
+        alt: Log ind med en Wikipedia-konto
+      wordpress:
+        title: Log på med Wordpress
+        alt: Log på med et Wordpress OpenID
+      aol:
+        title: Log på med AOL
+        alt: Log på med et AOL OpenID
   oauth:
     authorize:
       title: Tillad adgang til din konto
@@ -2761,15 +2759,13 @@ da:
       display name description: Dit offentligt synlige brugernavn. Du kan ændre dette
         senere i indstillingerne.
       external auth: 'Tredjeparts-godkendelse:'
-      use external auth: Alternativt kan du bruge en tredjepart for at logge på
-      auth no password: Med tredjeparts-godkendelse er en adgangskode ikke påkrævet,
-        men nogle ekstra værktøjer eller servere, har muligvis stadig brug for en.
       continue: Opret konto
       terms accepted: Tak for at du accepterede de nye vilkår for bidragsydere!
-      email_confirmation_help_html: Din adresse vises ikke offentligt. Se vores %{privacy_policy_link}
+      email_help_html: Din adresse vises ikke offentligt. Se vores %{privacy_policy_link}
         for flere oplysninger.
       privacy_policy: privatlivs-politik
       privacy_policy_title: OSMF privatlivs-politik inklusiv afsnit om e-mailadresser
+      use external auth: Alternativt kan du bruge en tredjepart for at logge på
     terms:
       title: Vilkår
       heading: Vilkår
index 4d1228efab6c4a18fa8b51c3d07bada25bb4493e..eb65f02f7b32b1d5ccd9efe83c381a96316a747a 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for German (Deutsch)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: 1u
 # Author: Abcdefg
 # Author: Al
 # Author: Alefar
@@ -244,7 +245,6 @@ de:
         auth_provider: Authentifizierungsanbieter
         auth_uid: Authentifizierungs-UID
         email: E-Mail
-        email_confirmation: E-Mail-Bestätigung
         new_email: Neue E-Mail-Adresse
         active: Aktiv
         display_name: Anzeigename
@@ -638,7 +638,7 @@ de:
       friend: Freund
     show:
       title: Meine Übersichtsseite
-      no_home_location_html: '%{edit_profile_link} und leg deine Heimatort fest, um
+      no_home_location_html: '%{edit_profile_link} und lege deinen Wohnort fest, um
         Benutzer in der Nähe zu sehen.'
       edit_your_profile: Bearbeite dein Profil
       my friends: Meine Freunde
@@ -2057,7 +2057,7 @@ de:
   sessions:
     new:
       title: Anmelden
-      heading: Anmelden
+      tab_title: Anmelden
       email or username: E-Mail-Adresse oder Benutzername
       password: Passwort
       remember: Anmeldedaten merken
@@ -2065,34 +2065,7 @@ de:
       login_button: Anmelden
       register now: Jetzt registrieren
       with external: 'Verwende alternativ einen Drittanbieter für die Anmeldung:'
-      no account: Du hast noch kein Benutzerkonto?
       auth failure: Mit diesen Daten leider keine Anmeldung möglich.
-      openid_logo_alt: Mit einer OpenID anmelden
-      auth_providers:
-        openid:
-          title: Mit OpenID anmelden
-          alt: Mit einer OpenID-URL anmelden
-        google:
-          title: Mit Google anmelden
-          alt: Mit einer Google-OpenID anmelden
-        facebook:
-          title: Mit Facebook anmelden
-          alt: Mit einem Facebook-Konto anmelden
-        microsoft:
-          title: Mit Microsoft anmelden
-          alt: Mit einem Microsoft-Konto anmelden
-        github:
-          title: Mit GitHub anmelden
-          alt: Mit einem GitHub-Konto anmelden
-        wikipedia:
-          title: Mit Wikipedia anmelden
-          alt: Mit einem Wikipedia-Benutzerkonto anmelden
-        wordpress:
-          title: Mit Wordpress anmelden
-          alt: Mit einer Wordpress-OpenID anmelden
-        aol:
-          title: Mit AOL anmelden
-          alt: Mit einer AOL-OpenID anmelden
     destroy:
       title: Abmelden
       heading: Von OpenStreetMap abmelden
@@ -2641,13 +2614,11 @@ de:
         Diese Gruppen gibt es in verschiedenen Größen und sie repräsentieren geografische Einheiten von kleinen Städten bis hin zu großen länderübergreifenden Regionen. Sie können sowohl formell als auch informell sein.
       local_chapters:
         title: Lokale Verbände
-        about_text: Lokale Verbände sind Gruppen auf Landesebene oder Regionsebene,
-          die den formellen Schritt unternommen haben, einen gemeinnützigen Rechtskörper
-          zu gründen. Sie repräsentieren die Karte und Kartographen der Region, wenn
-          sie mit der örtlichen Regierung, Wirtschaft oder den Medien zu tun haben.
-          Sie haben auch eine Zusammengehörigkeit mit der OpenStreetMap Foundation
-          (OSMF) gebildet, was ihnen eine Verbindung zu der Rechts- und Urheberrechtsabteilung
-          gibt.
+        about_text: Lokale Verbände sind Gruppen auf Landes- oder Regionsebene, die
+          den Schritt unternommen haben eine formelle gemeinnützige Organisation zu
+          gründen. Sie repräsentieren die Beitragenden des Gebietes gegenüber der
+          Regierung, Wirtschaft oder den Medien. Sie sind vertraglich an die OpenStreetMap
+          Foundation (OSMF) gebunden, der Inhaber der OpenStreetMap Urheber- und Markenrechte.
         list_text: 'Folgende Gemeinschaften sind offiziell als lokale Verbände eingetragen:'
       other_groups:
         title: Andere Gruppen
@@ -2786,6 +2757,32 @@ de:
       oauth2_applications: OAuth 2-Anwendungen
       oauth2_authorizations: OAuth 2-Berechtigungen
       muted_users: Stummgeschaltete Benutzer
+    auth_providers:
+      openid_logo_alt: Mit einer OpenID anmelden
+      openid:
+        title: Mit OpenID anmelden
+        alt: Mit einer OpenID-URL anmelden
+      google:
+        title: Mit Google anmelden
+        alt: Mit einer Google-OpenID anmelden
+      facebook:
+        title: Mit Facebook anmelden
+        alt: Mit einem Facebook-Konto anmelden
+      microsoft:
+        title: Mit Microsoft anmelden
+        alt: Mit einem Microsoft-Konto anmelden
+      github:
+        title: Mit GitHub anmelden
+        alt: Mit einem GitHub-Konto anmelden
+      wikipedia:
+        title: Mit Wikipedia anmelden
+        alt: Mit einem Wikipedia-Benutzerkonto anmelden
+      wordpress:
+        title: Mit Wordpress anmelden
+        alt: Mit einer Wordpress-OpenID anmelden
+      aol:
+        title: Mit AOL anmelden
+        alt: Mit einer AOL-OpenID anmelden
   oauth:
     authorize:
       title: Zugriff auf dein Benutzerkonto autorisieren
@@ -2937,17 +2934,15 @@ de:
       display name description: Dein öffentlich angezeigter Benutzername. Er kann
         später in den Einstellungen geändert werden.
       external auth: 'Drittparteiauthentifikation:'
-      use external auth: Verwende alternativ einen Drittanbieter für die Anmeldung
-      auth no password: Mit Drittparteiauthentifikation ist kein Passwort erforderlich,
-        jedoch können einige Extrawerkzeuge oder Server eines benötigen.
       continue: Registrieren
       terms accepted: Vielen Dank, dass du den neuen Bedingungen für Mitwirkende zugestimmt
         hast!
-      email_confirmation_help_html: Deine Adresse wird nicht öffentlich angezeigt.
-        Weitere Informationen findest du in unserer %{privacy_policy_link}.
+      email_help_html: Deine Adresse wird nicht öffentlich angezeigt. Weitere Informationen
+        findest du in unserer %{privacy_policy_link}.
       privacy_policy: Datenschutzrichtlinie
       privacy_policy_title: OSMF-Datenschutzrichtlinie einschließlich Abschnitt zu
         E-Mail-Adressen
+      use external auth: Verwende alternativ einen Drittanbieter für die Anmeldung
     terms:
       title: Bedingungen
       heading: Bedingungen
index ba1079129aa11f4e1f9bf4bce903637e647f6608..669c102e8ad7f1469132d6b80392af48fa3c11e6 100644 (file)
@@ -846,15 +846,13 @@ diq:
   sessions:
     new:
       title: Cıkewtış
-      heading: Cıkewtış
+      tab_title: Cıkewtış
       email or username: 'Adresa e-posteyi ya zi nameyê karberi:'
       password: 'Parola:'
       remember: Mı biya xo viri
       lost password link: Şıma parolay xo ke xo vira?
       login_button: Cıkewtış
       register now: Enewkê qeyd bê
-      no account: Hesabê şıma çıniyo?
-      openid_logo_alt: OpenID ya dekewê de
     destroy:
       title: Veciyayış
       heading: OpenStreetMap ra vıcyayış
@@ -947,6 +945,9 @@ diq:
       public_traces: Pêron rê akerde rêçê GPS
       public_traces_from: '%{user} ra pêron rê akerde rêçê GPS'
       tagged_with: '%{tags} ya etiketyayo'
+  application:
+    auth_providers:
+      openid_logo_alt: OpenID ya dekewê de
   oauth_clients:
     show:
       edit: Teferuatan bıvurne
index aa74193ce99f537b5903de96e302183502d315e9..7682a8f00ca8271c211db3f915fee5375798450a 100644 (file)
@@ -1119,16 +1119,14 @@ dsb:
   sessions:
     new:
       title: Pśizjawjenje
-      heading: Pśizjawjenje
+      tab_title: Pśizjawjenje
       email or username: 'E-mailowa adresa abo wužywarske mě:'
       password: 'Gronidło:'
       remember: Spomnjeś se
       lost password link: Sy swójo gronidło zabył?
       login_button: Pśizjawiś se
       register now: Něnto registrěrowaś
-      no account: Njamaš wužywarske konto?
       auth failure: Bóžko, pśizjawjenje z toś tymi datami njejo móžno.
-      openid_logo_alt: Z OpenID se pśizjawiś
     destroy:
       title: Wótzjawiś se
       heading: Z OpenStreetMap se wótzjawiś
@@ -1435,6 +1433,8 @@ dsb:
       need_to_see_terms: Twój pśistup na API jo nachylu wusajźony. Pšosym pśizjaw
         se k webpówjerchoju, aby se wužywarske wuměnjenja woglědał. Njetrjebaš zwóliś
         do nich, musyš se je jano woglědaś.
+    auth_providers:
+      openid_logo_alt: Z OpenID se pśizjawiś
   oauth:
     authorize:
       title: Pśistup na twójo konto awtorizěrowaś
index fa81eb926de6f02f8a226793eb669768bbb58c3b..148cfe72b8bd9757581a7643f7edbd3450f70078 100644 (file)
@@ -179,7 +179,6 @@ el:
         auth_provider: Πάροχος αυθεντικοποίησης
         auth_uid: UID αυθεντικοποίησης
         email: Διεύθυνση ηλεκτρονικού ταχυδρομείου
-        email_confirmation: Επιβεβαίωση διεύθυνσης email
         new_email: Νέα διεύθυνση email
         active: Ενεργό
         display_name: Εμφάνιση ονόματος
@@ -502,8 +501,24 @@ el:
         created: Δημιουργήθηκε
         closed: Έκλεισε
         belongs_to: Συντάκτης
+    subscribe:
+      heading: Εγγραφή στην ακόλουθη συζήτηση ομάδας αλλαγών;
+      button: Εγγραφή σε συζήτηση
+    unsubscribe:
+      heading: Απεγγραφή από την ακόλουθη συζήτηση ομάδας αλλαγών;
+      button: Απεγγραφή από συζήτηση
+    heading:
+      title: Ομάδα αλλαγών %{id}
+      created_by_html: Δημιουργήθηκε από %{link_user} στις %{created}.
+    no_such_entry:
+      title: Δεν υπάρχει τέτοια ομάδα αλλαγών
+      heading: 'Δεν υπάρχει καταχώρηση με id: %{id}'
+      body: Λυπούμαστε, δεν υπάρχει ομάδα αλλαγών με το id %{id}. Παρακαλούμε ελέγξτε
+        για τυχόν ορθογραφικά λάθη ή ίσως ο σύνδεσμος που πατήσατε να είναι λάθος.
     show:
       title: 'Ομάδα αλλαγών: %{id}'
+      created: 'Δημιουργήθηκε: %{when}'
+      closed: 'Έκλεισε: %{when}'
       created_ago_html: Δημιουργήθηκε %{time_ago}
       closed_ago_html: Έκλεισε %{time_ago}
       created_ago_by_html: Δημιουργήθηκε %{time_ago} από %{user}
@@ -586,6 +601,7 @@ el:
     show:
       title: Ημερολόγιο του χρήστη %{user} | %{title}
       user_title: Ημερολόγιο του χρήστη %{user}
+      discussion: Συζήτηση
       leave_a_comment: Αφήστε σχόλιο
       login_to_leave_a_comment_html: '%{login_link} για να αφήσετε ένα σχόλιο'
       login: Συνδεθείτε
@@ -641,6 +657,12 @@ el:
       comment: Σχόλιο
       newer_comments: Νεότερα σχόλια
       older_comments: Παλαιότερα σχόλια
+    subscribe:
+      heading: Εγγραφή στην ακόλουθη συζήτηση καταχώρισης ημερολογίου;
+      button: Εγγραφείτε στη συζήτηση
+    unsubscribe:
+      heading: Απεγγραφή από την ακόλουθη συζήτηση καταχώρισης ημερολογίου;
+      button: Απεγγραφή από τη συζήτηση
   doorkeeper:
     errors:
       messages:
@@ -1620,7 +1642,10 @@ el:
     intro_text: Το OpenStreetMap είναι χάρτης του κόσμου, που δημιουργήθηκε από ανθρώπους
       σαν κι εσάς και είναι δωρεάν, υπό άδεια ελεύθερης χρήσης.
     intro_2_create_account: Δημιουργήστε ένα λογαριασμό χρήστη
+    hosting_partners_2024_html: Η φιλοξενία υποστηρίζεται από %{fastly}, %{corpmembers}
+      και άλλους %{partners}.
     partners_fastly: Fastly
+    partners_corpmembers: εταιρικά μέλη του OSMF
     partners_partners: συνεργάτες
     tou: Όροι χρήσης
     osm_offline: Η βάση δεδομένων του OpenStreetMap είναι προσωρινά εκτός λειτουργίας
@@ -1642,6 +1667,7 @@ el:
     more: Περισσότερα
   user_mailer:
     diary_comment_notification:
+      description: 'OpenStreetMap Καταχώριση Ημερολογίου #%{id}'
       subject: '[OpenStreetMap] Ο χρήστης %{user} σχολίασε μια καταχώριση ημερολογίου'
       hi: Γεια σας %{to_user},
       header: 'Ο %{from_user} έχει σχολιάσει την καταχώριση ημερολογίου στο OpenStreetMap
@@ -1652,6 +1678,8 @@ el:
         σχολιάσετε στο %{commenturl} ή να στείλετε μήνυμα στον συγγραφέα στο %{replyurl}
       footer_html: Μπορείτε επίσης να διαβάσετε το σχόλιο στο %{readurl} και μπορείτε
         να σχολιάσετε στο %{commenturl} ή να στείλετε μήνυμα στον συγγραφέα στο %{replyurl}
+      footer_unsubscribe: Μπορείτε να απεγγραφείτε από την συζήτηση στο %{unsubscribeurl}
+      footer_unsubscribe_html: Μπορείτε να απεγγραφείτε από την συζήτηση στο %{unsubscribeurl}
     message_notification:
       subject: '[OpenStreetMap] %{message_title}'
       hi: Γεια σας %{to_user},
@@ -1715,6 +1743,7 @@ el:
       click_the_link: Εάν πρόκειται για σας, κάντε κλικ στον παρακάτω σύνδεσμο για
         να επαναφέρετε τον κωδικό πρόσβασής σας.
     note_comment_notification:
+      description: 'OpenStreetMap Σημείωση #%{id}'
       anonymous: Ανώνυμος χρήστης
       greeting: Γεια,
       commented:
@@ -1760,6 +1789,7 @@ el:
       details_html: Περισσότερες λεπτομέρειες σχετικά με τη σημείωση μπορούν να βρεθούν
         στο %{url}.
     changeset_comment_notification:
+      description: 'OpenStreetMap Ομάδα Αλλαγών #%{id}'
       hi: Γεια σας, %{to_user},
       greeting: Γεια,
       commented:
@@ -1783,10 +1813,10 @@ el:
         στο %{url}.
       details_html: Περισσότερες λεπτομέρειες για την ομάδα αλλαγών μπορούν να βρεθούν
         στο %{url}.
-      unsubscribe: Î\93ια Î½Î± Î´Î¹Î±Î³Ï\81αÏ\86είÏ\84ε Î±Ï\80Ï\8c Ï\84ιÏ\82 ÎµÎ½Î·Î¼ÎµÏ\81Ï\8eÏ\83ειÏ\82 Î±Ï\85Ï\84ήÏ\82 Ï\84ηÏ\82 Î¿Î¼Î¬Î´Î±Ï\82 Î±Î»Î»Î±Î³Ï\8eν,
-        επισκεφθείτε το %{url} και πατήστε "Διαγραφή".
-      unsubscribe_html: Î\93ια Î½Î± ÎºÎ±Ï\84αÏ\81γήÏ\83εÏ\84ε Ï\84ην ÎµÎ³Î³Ï\81αÏ\86ή Ï\83αÏ\82 Î±Ï\80Ï\8c ÎµÎ½Î·Î¼ÎµÏ\81Ï\8eÏ\83ειÏ\82 Ï\83ε Î±Ï\85Ï\84Ï\8c
-        το σύνολο αλλαγών, επισκεφτείτε το %{url} και κάντε κλικ στην "Κατάργηση εγγραφής".
+      unsubscribe: Î\9cÏ\80οÏ\81είÏ\84ε Î½Î± Î±Ï\80εγγÏ\81αÏ\86είÏ\84ε Î±Ï\80Ï\8c Ï\84ιÏ\82 ÎµÎ½Î·Î¼ÎµÏ\81Ï\8eÏ\83ειÏ\82 Î±Ï\85Ï\84ήÏ\82 Ï\84ηÏ\82 Î¿Î¼Î¬Î´Î±Ï\82 Î±Î»Î»Î±Î³Ï\8eν
+        στο %{url}.
+      unsubscribe_html: Î\9cÏ\80οÏ\81είÏ\84ε Î½Î± Î±Ï\80εγγÏ\81αÏ\86είÏ\84ε Î±Ï\80Ï\8c Ï\84ιÏ\82 ÎµÎ½Î·Î¼ÎµÏ\81Ï\8eÏ\83ειÏ\82 Ï\83ε Î±Ï\85Ï\84ή Ï\84ην Î¿Î¼Î¬Î´Î±
+        αλλαγών στο %{url}.
   confirmations:
     confirm:
       heading: Ελέγξτε το ηλεκτρονικό ταχυδρομείο σας!
@@ -1881,8 +1911,8 @@ el:
       destroy_button: Διαγραφή
       back: Επιστροφή
       wrong_user: Έχετε συνδεθεί ως «%{user}» αλλά το μήνυμα που ζητάτε να διαβάσετε
-        δεν έχει σταλεί σε εσάς ούτε από εσάς. Παρακαλώ συνδεθείτε με το σωστό όνομα
-        χρήστη ώστε να μπορέσετε να το διαβάσετε.
+        δεν έχει σταλεί σε εσάς ούτε από εσάς. Παρακαλούμε συνδεθείτε με το σωστό
+        Ï\8cνομα Ï\87Ï\81ήÏ\83Ï\84η Ï\8eÏ\83Ï\84ε Î½Î± Î¼Ï\80οÏ\81έÏ\83εÏ\84ε Î½Î± Ï\84ο Î´Î¹Î±Î²Î¬Ï\83εÏ\84ε.
     sent_message_summary:
       destroy_button: Διαγραφή
     heading:
@@ -1906,6 +1936,10 @@ el:
       help_text: Πληκτρολογήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποιήσατε
         για να εγγραφείτε. Θα στείλουμε έναν σύνδεσμο τον οποίον μπορείτε να χρησιμοποιήσετε
         για να επαναφέρετε το συνθηματικό σας.
+    create:
+      send_paranoid_instructions: Εάν η διεύθυνση email σας υπάρχει στο σύστημα μας,
+        θα λάβετε έναν σύνδεσμο ανάκτησης κωδικού στην διεύθυνση email σας σε λίγα
+        λεπτά.
     edit:
       title: Επαναφορά συνθηματικού
       heading: Επαναφορά συνθηματικού για τον χρήστη %{user}
@@ -1956,43 +1990,16 @@ el:
       failure: Δεν μπόρεσε να ενημερωθεί το προφίλ.
   sessions:
     new:
-      title: Î\95ίÏ\83οδοÏ\82
-      heading: Είσοδος
+      title: Î£Ï\8dνδεÏ\83η
+      tab_title: Σύνδεση
       email or username: Διεύθυνση Ηλ. Ταχυδρομείου ή Όνομα Χρήστη
       password: Συνθηματικό
       remember: Να με θυμάσαι
       lost password link: Ξεχάσατε το συνθηματικό σας;
-      login_button: Î\95ίÏ\83οδοÏ\82
+      login_button: Î£Ï\8dνδεÏ\83η
       register now: Εγγραφείτε τώρα
-      with external: 'Εναλλακτικά, χρησιμοποιήστε τρίτη υπηρεσία για είσοδο:'
-      no account: Δεν έχετε λογαριασμό;
+      with external: 'Εναλλακτικά, χρησιμοποιήστε τρίτη υπηρεσία για σύνδεση:'
       auth failure: Λυπούμαστε, δεν μπορείτε να συνδεθείτε με αυτές τις λεπτομέρειες.
-      openid_logo_alt: Σύνδεση με ένα OpenID
-      auth_providers:
-        openid:
-          title: Σύνδεση με ένα OpenID
-          alt: Σύνδεση με ένα OpenID URL
-        google:
-          title: Σύνδεση με το Google
-          alt: Σύνδεση με ένα Google OpenID
-        facebook:
-          title: Σύνδεση με το Facebook
-          alt: Σύνδεση με έναν Λογαριασμό Facebook
-        microsoft:
-          title: Σύνδεση μέσω της Microsoft
-          alt: Σύνδεση με ένα Λογαριασμό Microsoft
-        github:
-          title: Σύνδεση με το GitHub
-          alt: Σύνδεση με λογαριασμό GitHub
-        wikipedia:
-          title: Σύνδεση με Wikipedia
-          alt: Συνδεθείτε με ένα Λογαριασμό Wikipedia
-        wordpress:
-          title: Σύνδεση με το Wordpress
-          alt: Σύνδεση με ένα Wordpress OpenID
-        aol:
-          title: Σύνδεση με την AOL
-          alt: Σύνδεση με ένα AOL OpenID
     destroy:
       title: Αποσύνδεση
       heading: Αποσύνδεση από το OpenStreetMap
@@ -2141,6 +2148,7 @@ el:
           %{france}: Περιέχει δεδομένα που προέρχονται από
           Direction Générale des Impôts.
         contributors_fr_france: Γαλλία
+        contributors_hr_croatia: Κροατία
         contributors_nl_credit_html: '%{netherlands}: Περιέχει δεδομένα &copy; AND
           (Automotive Navigation Data), 2007 (%{and_link})'
         contributors_nl_netherlands: Κάτω Χώρες
@@ -2571,6 +2579,8 @@ el:
       identifiable: ΑΝΑΓΝΩΡΙΣΙΜΟ
       private: ΙΔΙΩΤΙΚΟ
       trackable: ΑΝΙΧΝΕΥΣΙΜΟ
+      details_with_tags_html: '%{time_ago} από %{user} σε %{tags}'
+      details_without_tags_html: '%{time_ago} από %{user}'
     index:
       public_traces: Δημόσια ίχνη GPS
       my_gps_traces: Τα ίχνη GPS μου
@@ -2627,6 +2637,32 @@ el:
       oauth2_applications: Εφαρμογές OAuth 2
       oauth2_authorizations: Εξουσιοδοτήσεις OAuth 2
       muted_users: Χρήστες σε Σίγαση
+    auth_providers:
+      openid_logo_alt: Σύνδεση με ένα OpenID
+      openid:
+        title: Σύνδεση με OpenID
+        alt: Σύνδεση με ένα OpenID URL
+      google:
+        title: Σύνδεση με Google
+        alt: Σύνδεση με ένα Google OpenID
+      facebook:
+        title: Σύνδεση με Facebook
+        alt: Σύνδεση με λογαριασμό Facebook
+      microsoft:
+        title: Σύνδεση με Microsoft
+        alt: Σύνδεση με λογαριασμό Microsoft
+      github:
+        title: Σύνδεση με GitHub
+        alt: Σύνδεση με λογαριασμό GitHub
+      wikipedia:
+        title: Σύνδεση με Wikipedia
+        alt: Συνδεθείτε με λογαριασμό Wikipedia
+      wordpress:
+        title: Σύνδεση με Wordpress
+        alt: Σύνδεση με ένα Wordpress OpenID
+      aol:
+        title: Σύνδεση με AOL
+        alt: Σύνδεση με ένα AOL OpenID
   oauth:
     authorize:
       title: Επιτρέψτε την πρόσβαση στο λογαριασμό σας
@@ -2780,16 +2816,14 @@ el:
       display name description: Το δημόσια εμφανιζόμενο όνομα χρήστη. Μπορείτε να
         το αλλάξετε αργότερα από τις προτιμήσεις.
       external auth: 'Έλεγχος ταυτότητας από τρίτο μέρος:'
-      use external auth: Εναλλακτικά, χρησιμοποιήστε τρίτη υπηρεσία για είσοδο
-      auth no password: Για την έγκριση τρίτων δεν απαιτείται κωδικός πρόσβασης, αλλά
-        μερικά ειδικά εργαλεία αλλιώς ο διακομιστής μπορεί να χρειάζεται ένα.
       continue: Εγγραφή
       terms accepted: Ευχαριστούμε για την αποδοχή των νέων όρων συνεισφοράς!
-      email_confirmation_help_html: Η διεύθυνσή σας δεν εμφανίζεται δημόσια, ανατρέξτε
-        στην %{privacy_policy_link} για περισσότερες πληροφορίες.
+      email_help_html: Η διεύθυνσή σας δεν εμφανίζεται δημόσια, ανατρέξτε στην %{privacy_policy_link}
+        για περισσότερες πληροφορίες.
       privacy_policy: πολιτική απορρήτου
       privacy_policy_title: Πολιτική απορρήτου OSMF, συμπεριλαμβανομένης της ενότητας
         για τις διευθύνσεις ηλεκτρονικού ταχυδρομείου
+      use external auth: Εναλλακτικά, χρησιμοποιήστε τρίτη υπηρεσία για σύνδεση
     terms:
       title: Όροι
       heading: Όροι
@@ -2895,6 +2929,11 @@ el:
     index:
       title: Χρήστες
       heading: Χρήστες
+      older: Παλαιότεροι Χρήστες
+      newer: Νεότεροι Χρήστες
+      found_users:
+        one: '%{count} χρήστης βρέθηκε'
+        other: '%{count} χρήστες βρέθηκαν'
       summary_html: '%{name} δημιουργήθηκε από την διεύθυνση IP %{ip_address} στις
         %{date}'
       summary_no_ip_html: '%{name} δημιουργήθηκε στις %{date}'
index a1fe561764e23a6bdfd8ceb351070567967495df..b2d20128faeac3bf5836c81265383532b550475a 100644 (file)
@@ -1365,7 +1365,7 @@ en-GB:
   sessions:
     new:
       title: Login
-      heading: Login
+      tab_title: Login
       email or username: E-mail Address or Username
       password: Password
       remember: Remember me
@@ -1373,34 +1373,7 @@ en-GB:
       login_button: Login
       register now: Register now
       with external: 'Alternatively, use a third party to login:'
-      no account: Don't have an account?
       auth failure: Sorry, could not log in with those details.
-      openid_logo_alt: Log in with an OpenID
-      auth_providers:
-        openid:
-          title: Login with OpenID
-          alt: Login with an OpenID URL
-        google:
-          title: Login with Google
-          alt: Login with a Google OpenID
-        facebook:
-          title: Login with Facebook
-          alt: Login with a Facebook Account
-        microsoft:
-          title: Login with Microsoft
-          alt: Login with a Microsoft Account
-        github:
-          title: Login with GitHub
-          alt: Login with a GitHub Account
-        wikipedia:
-          title: Login with Wikipedia
-          alt: Login with a Wikipedia Account
-        wordpress:
-          title: Login with Wordpress
-          alt: Login with a Wordpress OpenID
-        aol:
-          title: Login with AOL
-          alt: Login with an AOL OpenID
     destroy:
       title: Logout
       heading: Logout of OpenStreetMap
@@ -1720,6 +1693,32 @@ en-GB:
       need_to_see_terms: Your access to the API is temporarily suspended. Please log-in
         to the web interface to view the Contributor Terms. You do not need to agree,
         but you must view them.
+    auth_providers:
+      openid_logo_alt: Log in with an OpenID
+      openid:
+        title: Login with OpenID
+        alt: Login with an OpenID URL
+      google:
+        title: Login with Google
+        alt: Login with a Google OpenID
+      facebook:
+        title: Login with Facebook
+        alt: Login with a Facebook Account
+      microsoft:
+        title: Login with Microsoft
+        alt: Login with a Microsoft Account
+      github:
+        title: Login with GitHub
+        alt: Login with a GitHub Account
+      wikipedia:
+        title: Login with Wikipedia
+        alt: Login with a Wikipedia Account
+      wordpress:
+        title: Login with Wordpress
+        alt: Login with a Wordpress OpenID
+      aol:
+        title: Login with AOL
+        alt: Login with an AOL OpenID
   oauth:
     authorize:
       title: Authorise access to your account
@@ -1801,11 +1800,9 @@ en-GB:
       display name description: Your publicly displayed username. You can change this
         later in the preferences.
       external auth: 'Third Party Authentication:'
-      use external auth: Alternatively, use a third party to login
-      auth no password: With third party authentication a password is not required,
-        but some extra tools or server may still need one.
       continue: Sign Up
       terms accepted: Thanks for accepting the new contributor terms!
+      use external auth: Alternatively, use a third party to login
     terms:
       title: Terms
       heading: Terms
index 77002268b0e6b3c2f04c9995d5c70b39af6ac75c..45c44765d58aaa7e6234b2aaef639a90778d27ab 100644 (file)
@@ -142,7 +142,6 @@ en:
         auth_provider: Authentication Provider
         auth_uid: Authentication UID
         email: "Email"
-        email_confirmation: "Email Confirmation"
         new_email: "New Email Address"
         active: "Active"
         display_name: "Display Name"
@@ -1848,43 +1847,17 @@ en:
   sessions:
     new:
       title: "Log in"
-      heading: "Log in"
+      tab_title: "Log in"
+      login_to_authorize_html: "Log in to OpenStreetMap to access %{client_app_name}."
       email or username: "Email Address or Username"
       password: "Password"
-      openid_html: "%{logo} OpenID"
       remember: "Remember me"
       lost password link: "Lost your password?"
       login_button: "Log in"
       register now: Register now
-      with external: "Alternatively, use a third party to log in:"
-      no account: Don't have an account?
+      with external: "or log in with a third party"
+      or: "or"
       auth failure: "Sorry, could not log in with those details."
-      openid_logo_alt: "Log in with an OpenID"
-      auth_providers:
-        openid:
-          title: Log in with OpenID
-          alt: Log in with an OpenID URL
-        google:
-          title: Log in with Google
-          alt: Log in with a Google OpenID
-        facebook:
-          title: Log in with Facebook
-          alt: Log in with a Facebook Account
-        microsoft:
-          title: Log in with Microsoft
-          alt: Log in with a Microsoft Account
-        github:
-          title: Log in with GitHub
-          alt: Log in with a GitHub Account
-        wikipedia:
-          title: Log in with Wikipedia
-          alt: Log in with a Wikipedia Account
-        wordpress:
-          title: Log in with Wordpress
-          alt: Log in with a Wordpress OpenID
-        aol:
-          title: Log in with AOL
-          alt: Log in with an AOL OpenID
     destroy:
       title: "Logout"
       heading: "Logout from OpenStreetMap"
@@ -2599,6 +2572,34 @@ en:
       oauth2_applications: OAuth 2 applications
       oauth2_authorizations: OAuth 2 authorizations
       muted_users: Muted Users
+    auth_providers:
+      openid_logo_alt: "Log in with an OpenID"
+      openid_html: "%{logo} OpenID"
+      openid_login_button: "Continue"
+      openid:
+        title: Log in with OpenID
+        alt: Log in with an OpenID URL
+      google:
+        title: Log in with Google
+        alt: Log in with a Google OpenID
+      facebook:
+        title: Log in with Facebook
+        alt: Log in with a Facebook Account
+      microsoft:
+        title: Log in with Microsoft
+        alt: Log in with a Microsoft Account
+      github:
+        title: Log in with GitHub
+        alt: Log in with a GitHub Account
+      wikipedia:
+        title: Log in with Wikipedia
+        alt: Log in with a Wikipedia Account
+      wordpress:
+        title: Log in with Wordpress
+        alt: Log in with a Wordpress OpenID
+      aol:
+        title: Log in with AOL
+        alt: Log in with an AOL OpenID
   oauth:
     authorize:
       title: "Authorize access to your account"
@@ -2636,6 +2637,8 @@ en:
       write_redactions: Redact map data
       read_email: Read user email address
       skip_authorization: Auto approve application
+    for_roles:
+      moderator: This permission is for actions available only to moderators
   oauth_clients:
     new:
       title: "Register a new application"
@@ -2727,23 +2730,34 @@ en:
   users:
     new:
       title: "Sign Up"
+      tab_title: "Sign up"
+      signup_to_authorize_html: "Sign up with OpenStreetMap to access %{client_app_name}."
       no_auto_account_create: "Unfortunately we are not currently able to create an account for you automatically."
       please_contact_support_html: 'Please contact %{support_link} to arrange for an account to be created - we will try and deal with the request as quickly as possible.'
       support: support
       about:
-        header: Free and editable
+        header: Free and editable.
         paragraph_1: Unlike other maps, OpenStreetMap is completely created by people like you, and it's free for anyone to fix, update, download and use.
-        paragraph_2: Sign up to get started contributing. We'll send an email to confirm your account.
+        paragraph_2: Sign up to get started contributing.
+        welcome: "Welcome to OpenStreetMap"
+      duplicate_social_email: "If you already have an OpenStreetMap account and wish to use a 3rd party identity provider, please log in using your password and modify the settings of your account."
       display name description: "Your publicly displayed username. You can change this later in the preferences."
+      by_signing_up_html: "By signing up, you agree to our %{tou_link}, %{privacy_policy_link} and %{contributor_terms_link}."
+      tou: "terms of use"
+      contributor_terms_url: "https://wiki.osmfoundation.org/wiki/Licence/Contributor_Terms"
+      contributor_terms: "contributor terms"
       external auth: "Third Party Authentication:"
-      use external auth: "Alternatively, use a third party to log in"
-      auth no password: "With third party authentication a password is not required, but some extra tools or server may still need one."
       continue: Sign Up
       terms accepted: "Thanks for accepting the new contributor terms!"
-      email_confirmation_help_html: 'Your address is not displayed publicly, see our %{privacy_policy_link} for more information.'
+      email_help_html: 'Your address is not displayed publicly, see our %{privacy_policy_link} for more information.'
       privacy_policy: privacy policy
       privacy_policy_url: https://wiki.osmfoundation.org/wiki/Privacy_Policy
       privacy_policy_title: OSMF privacy policy including section on email addresses
+      consider_pd_html: "I consider my contributions to be in the %{consider_pd_link}."
+      consider_pd: "public domain"
+      consider_pd_url: https://wiki.osmfoundation.org/wiki/Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain
+      or: "or"
+      use external auth: "or sign up with a third party"
     terms:
       title: "Terms"
       heading: "Terms"
index 4bd7a92ce4567f78d9e2c1d1f7810d3664c357f8..cf9a1442c7a99f1ab02eb9ac630abcdeec798bf1 100644 (file)
@@ -162,7 +162,6 @@ eo:
         auth_provider: Liveranto de aŭtentigo
         auth_uid: Uzant‑identigilo de aŭtentigo
         email: Retpoŝto
-        email_confirmation: Konfirmi retpoŝtan adreson
         new_email: Nova retpoŝta adreso
         active: Aktiva
         display_name: Montra nomo
@@ -1925,7 +1924,7 @@ eo:
   sessions:
     new:
       title: Ensaluti
-      heading: Ensaluti
+      tab_title: Ensaluti
       email or username: Retpoŝta adreso aŭ uzantnomo
       password: Pasvorto
       remember: Memori min
@@ -1933,34 +1932,7 @@ eo:
       login_button: Ensaluti
       register now: Registriĝi
       with external: 'Alimaniere, ensalutu uzante:'
-      no account: Ĉu vi ne havas konton?
       auth failure: Bedaŭrinde ne povas ensaluti kun ĉi tiuj informoj.
-      openid_logo_alt: Ensaluti per OpenID
-      auth_providers:
-        openid:
-          title: Ensaluti per OpenID
-          alt: Ensaluti per ligilo OpenID
-        google:
-          title: Ensaluti per Google
-          alt: Ensaluti per Google OpenID
-        facebook:
-          title: Ensaluti per Facebook
-          alt: Ensaluti per konto Facebook
-        microsoft:
-          title: Ensaluti per Microsoft
-          alt: Ensaluti per konto Microsoft
-        github:
-          title: Ensaluti per GitHub
-          alt: Ensaluti per konto GitHub
-        wikipedia:
-          title: Ensaluti per Vikipedio
-          alt: Ensaluti per Vikipedia konto
-        wordpress:
-          title: Ensaluti per Wordpress
-          alt: Ensaluti per Wordpress OpenID
-        aol:
-          title: Ensaluti per AOL
-          alt: Ensaluti per AOL OpenID
     destroy:
       title: Elsaluti
       heading: Elsaluti el OpenStreetMap
@@ -2612,6 +2584,32 @@ eo:
       oauth2_applications: Aplikaĵoj OAuth 2
       oauth2_authorizations: Rajtigoj OAuth 2
       muted_users: Silentigitaj uzantoj
+    auth_providers:
+      openid_logo_alt: Ensaluti per OpenID
+      openid:
+        title: Ensaluti per OpenID
+        alt: Ensaluti per ligilo OpenID
+      google:
+        title: Ensaluti per Google
+        alt: Ensaluti per Google OpenID
+      facebook:
+        title: Ensaluti per Facebook
+        alt: Ensaluti per konto Facebook
+      microsoft:
+        title: Ensaluti per Microsoft
+        alt: Ensaluti per konto Microsoft
+      github:
+        title: Ensaluti per GitHub
+        alt: Ensaluti per konto GitHub
+      wikipedia:
+        title: Ensaluti per Vikipedio
+        alt: Ensaluti per Vikipedia konto
+      wordpress:
+        title: Ensaluti per Wordpress
+        alt: Ensaluti per Wordpress OpenID
+      aol:
+        title: Ensaluti per AOL
+        alt: Ensaluti per AOL OpenID
   oauth:
     authorize:
       title: Rajtigi aliron al via konto
@@ -2760,16 +2758,14 @@ eo:
       display name description: Via publike montrata uzantnomo. Vi povas ŝanĝi ĝin
         poste per la agordoj.
       external auth: 'Ensaluti per ekstera servo:'
-      use external auth: Alternative, ensaluti uzante eksteran servon
-      auth no password: Kun ensalutado per ekstera servo, pasvorto ne endas, sed kelkaj
-        iloj aŭ servilo krom tio povas bezoni ĝin.
       continue: Registriĝi
       terms accepted: Dankon por akcepto de nova interkonsento pri kontribuado!
-      email_confirmation_help_html: Via retpoŝta adreso ne estas publike montrata,
-        legu nian %{privacy_policy_link} por pli da informoj.
+      email_help_html: Via retpoŝta adreso ne estas publike montrata, legu nian %{privacy_policy_link}
+        por pli da informoj.
       privacy_policy: privatecan politikon
       privacy_policy_title: privateca politiko de OSMF enhavanta sekcion pri uzo de
         retpoŝta adreso
+      use external auth: Alternative, ensaluti uzante eksteran servon
     terms:
       title: Kondiĉoj
       heading: Kondiĉoj
index 44d8a1b59f7a6e753cfd40f6033f1229999d2411..a744437173888eaf483647e12ecbe19735f79292 100644 (file)
@@ -97,6 +97,7 @@
 # Author: Vivaelcelta
 # Author: Xuacu
 # Author: Yllelder
+# Author: Yonseca
 ---
 es:
   time:
@@ -231,7 +232,6 @@ es:
         auth_provider: Proveedor de autentificación
         auth_uid: UID de autentificación
         email: Correo electrónico
-        email_confirmation: Confirmación de correo electrónico
         new_email: Nueva dirección de correo electrónico
         active: Activo
         display_name: Nombre para mostrar
@@ -1366,7 +1366,7 @@ es:
           "yes": Lugar
         railway:
           abandoned: Ferrocarril abandonado
-          buffer_stop: Parada de búfer
+          buffer_stop: Topera
           construction: Vía ferroviaria en construcción
           disused: Ferrocarril en desuso
           funicular: Vía de funicular
@@ -1380,13 +1380,13 @@ es:
           platform: Andén
           preserved: Ferrocarril preservado
           proposed: Vía de tren proyectada
-          rail: Raíl
+          rail: Vía férrea
           spur: Ramal ferroviario
           station: Estación de trenes
           stop: Parada de tren
           subway: Metro
           subway_entrance: Entrada de metro
-          switch: Aguja de ferrocarril
+          switch: Desvío ferroviario
           tram: Ruta de tranvía
           tram_stop: Parada de tranvía
           turntable: Placa giratoria
@@ -2038,7 +2038,7 @@ es:
   sessions:
     new:
       title: Iniciar sesión
-      heading: Iniciar sesión
+      tab_title: Iniciar sesión
       email or username: 'Dirección de correo electrónico o nombre de usuario:'
       password: Contraseña
       remember: Recordarme
@@ -2046,34 +2046,7 @@ es:
       login_button: Iniciar sesión
       register now: Registrarse ahora
       with external: 'O bien, utiliza un servicio de terceros para acceder:'
-      no account: ¿No estás registrado?
       auth failure: Lo sentimos. No se pudo iniciar sesión con esos datos.
-      openid_logo_alt: Inicia sesión con una OpenID
-      auth_providers:
-        openid:
-          title: Iniciar sesión con OpenID
-          alt: Iniciar sesión con una URL OpenID
-        google:
-          title: Iniciar sesión con Google
-          alt: Iniciar sesión con una OpenID de Google
-        facebook:
-          title: Iniciar sesión con Facebook
-          alt: Iniciar sesión con una cuenta de Facebook
-        microsoft:
-          title: Iniciar sesión con Microsoft
-          alt: Iniciar sesión con una cuenta Microsoft
-        github:
-          title: Iniciar sesión con GitHub
-          alt: Iniciar sesión con una cuenta de GitHub
-        wikipedia:
-          title: Iniciar sesión con Wikipedia
-          alt: Iniciar sesión con una cuenta de Wikipedia
-        wordpress:
-          title: Iniciar sesión con Wordpress
-          alt: Iniciar sesión con una OpenID de Wordpress
-        aol:
-          title: Iniciar sesión con AOL
-          alt: Iniciar sesión con una OpenID de AOL
     destroy:
       title: Cerrar sesión
       heading: Cerrar sesión de OpenStreetMap
@@ -2758,6 +2731,32 @@ es:
       oauth2_applications: Aplicaciones de OAuth 2
       oauth2_authorizations: Autorizaciones de OAuth 2
       muted_users: Usuarios silenciados
+    auth_providers:
+      openid_logo_alt: Inicia sesión con una OpenID
+      openid:
+        title: Iniciar sesión con OpenID
+        alt: Iniciar sesión con una URL OpenID
+      google:
+        title: Iniciar sesión con Google
+        alt: Iniciar sesión con una OpenID de Google
+      facebook:
+        title: Iniciar sesión con Facebook
+        alt: Iniciar sesión con una cuenta de Facebook
+      microsoft:
+        title: Iniciar sesión con Microsoft
+        alt: Iniciar sesión con una cuenta Microsoft
+      github:
+        title: Iniciar sesión con GitHub
+        alt: Iniciar sesión con una cuenta de GitHub
+      wikipedia:
+        title: Iniciar sesión con Wikipedia
+        alt: Iniciar sesión con una cuenta de Wikipedia
+      wordpress:
+        title: Iniciar sesión con Wordpress
+        alt: Iniciar sesión con una OpenID de Wordpress
+      aol:
+        title: Iniciar sesión con AOL
+        alt: Iniciar sesión con una OpenID de AOL
   oauth:
     authorize:
       title: Autorizar el acceso a tu cuenta
@@ -2878,7 +2877,7 @@ es:
     error:
       title: Se produjo un error
     show:
-      title: Sin código de autorización
+      title: Código de autorización
   oauth2_authorized_applications:
     index:
       title: Mis aplicaciones autorizadas
@@ -2906,16 +2905,14 @@ es:
       display name description: Tu nombre de usuario público. Puedes cambiarlo más
         tarde en las preferencias.
       external auth: 'Autentificación de terceros:'
-      use external auth: O bien, utiliza un servicio de terceros para acceder
-      auth no password: Con la autenticación de terceros no se necesita una contraseña,
-        aunque habrá algunas herramientas y servidores que aún la soliciten.
       continue: Registrarse
       terms accepted: ¡Gracias por aceptar los nuevos Términos de Colaborador!
-      email_confirmation_help_html: Tu dirección no se mostrará públicamente, consulta
-        nuestra %{privacy_policy_link} para obtener más información.
+      email_help_html: Tu dirección no se mostrará públicamente, consulta nuestra
+        %{privacy_policy_link} para obtener más información.
       privacy_policy: normativa de privacidad
       privacy_policy_title: Política de privacidad de la OSMF, incluida la sección
         sobre direcciones de correo electrónico
+      use external auth: O bien, utiliza un servicio de terceros para acceder
     terms:
       title: Términos
       heading: Términos
@@ -3044,7 +3041,7 @@ es:
     auth_failure:
       connection_failed: Falló la conexión con el proveedor de autentificación
       invalid_credentials: Datos de autentificación no válidos
-      no_authorization_code: Sin código de autorización
+      no_authorization_code: No hay ningún código de autorización
       unknown_signature_algorithm: Algoritmo de firma desconocido
       invalid_scope: Ámbito no válido
       unknown_error: Autentificación fallida
index 5bb1352dcd784b122b687b0d8f01f231c9d2e96d..0c3b1427cc614ef55eb2f673fb980dc2427c31d4 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: AivoK
 # Author: Avjoska
+# Author: Jrttrw
 # Author: Kanne
 # Author: Kareyac
 # Author: Luckas
@@ -27,6 +28,7 @@ et:
         create: Kommenteeri
       diary_entry:
         create: Avalda
+        update: Uuenda
       issue_comment:
         create: Lisa kommentaar
       message:
@@ -34,6 +36,9 @@ et:
       client_application:
         create: Registreeri
         update: Uuenda
+      oauth2_application:
+        create: Registreeri
+        update: Uuenda
       redaction:
         create: Loo kinnikatmine
         update: Salvesta kinnikatmine
@@ -44,6 +49,14 @@ et:
         create: Loo blokeering
         update: Uuenda blokeeringut
   activerecord:
+    errors:
+      messages:
+        invalid_email_address: ei tundu olema korrektne e-posti aadress
+        email_address_not_routable: e-posti domeen ei tundu olema seadistatud
+        display_name_is_user_n: ei saa olla user_n, kui n ei ole sinu kasutaja identifikaator
+      models:
+        user_mute:
+          is_already_muted: on juba vaigistatud
     models:
       acl: Pääsuloend
       changeset: Muudatuskogum
@@ -95,7 +108,7 @@ et:
       diary_entry:
         user: Kasutaja
         title: Teema
-        body: Kehatekst
+        body: Päevikusissekanne
         latitude: Laius
         longitude: Pikkus
         language_code: Keel
@@ -125,13 +138,13 @@ et:
         body: Sisu
         recipient: Saaja
       redaction:
+        title: Pealkiri
         description: Kirjeldus
       report:
         category: Vali kaebuse põhjus
         details: Palun esita probleemi kohta veel üksikasju (nõutav).
       user:
         email: E-posti aadress
-        email_confirmation: E-posti aadressi kinnitus
         new_email: Uus e-posti aadress
         active: Aktiivne
         display_name: Kuvatav nimi
@@ -204,6 +217,9 @@ et:
   auth:
     providers:
       none: Puudub
+      google: Google
+      facebook: Facebook
+      github: GitHub
       wikipedia: Vikipeedia
   api:
     notes:
@@ -218,8 +234,9 @@ et:
         reopened_at_by_html: Taasaktiveerinud %{user} %{when}
       rss:
         title: OpenStreetMapi märkused
-        description_area: Loetelu märkustest mida teatati, kommenteeriti või suleti
-          sinu piirkonnas [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+        description_all: Teada antud, kommenteeritud või suletud märkuste loend
+        description_area: Loetelu märkustest, millest anti teada, mida kommenteeriti
+          või mis suleti sinu piirkonnas [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Märkuse %{id} RSS uudisvoog
         opened: uus märkus (lähedal kohale %{place})
         commented: uus kommentaar (lähedal kohale %{place})
@@ -251,6 +268,8 @@ et:
         retain_changeset_discussions: Sinu kommentaarid muudatuskogumites säilivad,
           kui oled neid kirjutanud.
         retain_email: Sinu e-posti aadress säilib.
+        recent_editing_html: Kuna oled hiljuti muudatusi teinud, siis pole sinu kasutajakonto
+          kustutamine hetkel võimalik. Kustutamine on võimalik %{time} pärast.
         confirm_delete: Kas oled kindel?
         cancel: Loobu
   accounts:
@@ -301,6 +320,7 @@ et:
     deleted_ago_by_html: Kustutanud %{user} %{time_ago}
     edited_ago_by_html: Muutnud %{user} %{time_ago}
     version: Versioon
+    redacted_version: Kinnikaetud versioon
     in_changeset: Muudatuskogum
     anonymous: anonüümne
     no_comment: (kommentaare pole)
@@ -313,7 +333,10 @@ et:
       other: '%{count} joont'
     download_xml: Laadi alla XML
     view_history: Vaata ajalugu
+    view_unredacted_history: Vaata ajalugu kinnikatmata kujul
     view_details: Vaata üksikasju
+    view_redacted_data: Vaata kinni kaetud andmeid
+    view_redaction_message: Vaata kinnikatmise sõnumit
     location: 'Asukoht:'
     node:
       title_html: 'Sõlm: %{name}'
@@ -345,6 +368,7 @@ et:
       entry_html: Relatsioon %{relation_name}
       entry_role_html: Relatsioon %{relation_name} (kui %{relation_role})
     not_found:
+      title: Ei leidu
       sorry: Vabandust, %{type} %{id} ei leitud.
       type:
         node: sõlme
@@ -353,6 +377,7 @@ et:
         changeset: muudatuskogumit
         note: märkust
     timeout:
+      title: Päringu aegumise viga
       sorry: Kahjuks võttis %{type} %{id} andmete laadimine liiga kaua aega.
       type:
         node: sõlme
@@ -389,6 +414,15 @@ et:
       introduction: Klõpsa kaardil, et leida läheduses asuvad objektid.
       nearby: Läheduses asuvad objektid
       enclosing: Ümbritsevad objektid
+  old_nodes:
+    not_found:
+      sorry: 'Vabandust, sõlme #%{id} versiooni %{version} ei õnnestu leida.'
+  old_ways:
+    not_found:
+      sorry: 'Vabandust, joone #%{id} versiooni %{version} ei õnnestu leida.'
+  old_relations:
+    not_found:
+      sorry: 'Vabandust, relatsiooni #%{id} versiooni %{version} ei õnnestu leida.'
   changesets:
     changeset_paging_nav:
       showing_page: Leht %{page}
@@ -423,8 +457,25 @@ et:
         created: Loodud
         closed: Suletud
         belongs_to: Autor
+    subscribe:
+      heading: Kas soovid selle muudatuskogumi arutelu tellida?
+      button: Telli arutelu
+    unsubscribe:
+      heading: Kas soovid selle muudatuskogumi arutelu tellimusest loobuda?
+      button: Loobu arutelu jälgimisest
+    heading:
+      title: Muudatuskogum %{id}
+      created_by_html: Loonud %{link_user} kuupäeval %{created}
+    no_such_entry:
+      title: Sellist muudatuskogumit ei leidu
+      heading: Ei leidu kirjet identifikaatoriga %{id}
+      body: Vabandust, muudatuskogumit identifikaatoriga %{id} ei ole olemas. Palun
+        kontrolli, kas kirjutasid selle õigesti või kas link millel klõpsasid, on
+        vale.
     show:
       title: 'Muudatuskogum: %{id}'
+      created: 'Loodud: %{when}'
+      closed: 'Suletud: %{when}'
       created_ago_html: Loodud %{time_ago}
       closed_ago_html: Suletud %{time_ago}
       created_ago_by_html: Loonud %{user} %{time_ago}
@@ -455,6 +506,9 @@ et:
     index:
       title_all: OpenStreetMapi muudatuskogumi arutelu
       title_particular: 'OpenStreetMapi muudatuskogumi #%{changeset_id} arutelu'
+    timeout:
+      sorry: Vabandust, sinu päritud muudatuskogumi kommetaaride loendi laadimiseks
+        kulus liiga kaua aega.
   dashboards:
     contact:
       km away: '%{count} kilomeetri kaugusel'
@@ -503,6 +557,7 @@ et:
     show:
       title: Kasutaja %{user} päevik | %{title}
       user_title: Kasutaja %{user} päevik
+      discussion: Arutelu
       leave_a_comment: Kommenteeri
       login_to_leave_a_comment_html: kommenteerimiseks %{login_link}
       login: logi sisse
@@ -522,11 +577,13 @@ et:
       no_comments: Kommentaarid puuduvad
       edit_link: Muuda seda sissekannet
       hide_link: Peida see sissekanne
+      unhide_link: Lõpeta selle sissekande peitmine
       confirm: Kinnita
       report: Teata sellest sissekandest
     diary_comment:
       comment_from_html: Kommentaar kasutajalt %{link_user} %{comment_created_at}
       hide_link: Peida see kommentaar
+      unhide_link: Lõpeta selle kommentaari peitmine
       confirm: Kinnita
       report: Teata sellest kommentaarist
     location:
@@ -554,11 +611,41 @@ et:
       comment: Kommentaar
       newer_comments: Uuemad kommentaarid
       older_comments: Vanemad kommentaarid
+    subscribe:
+      heading: Kas soovid selle päeviku sissekande arutelu tellida?
+      button: Telli arutelu
+    unsubscribe:
+      heading: Kas soovid selle päeviku sissekande arutelu tellimusest loobuda?
+      button: Loobu arutelu jälgimisest
   doorkeeper:
     flash:
       applications:
         create:
           notice: Rakendus registreeritud.
+    scopes:
+      address: Vaata oma tänava-aadressi
+      email: Vaata oma e-posti aadressi
+      openid: Autendi oma konto
+      phone: Vaata oma telefoninumbrit
+      profile: Vaata oma profiili
+  errors:
+    contact:
+      contact: kontaktide
+      contact_the_community_html: Kui avastad katkise lingi või vea, palun kirjuta
+        sellest OpenStreetMapi kogukonnale siin %{contact_link} aadressil. Palun lisa
+        teatesse ka päringu täpne URL.
+    forbidden:
+      title: Keelatud
+      description: Tegevus, mida sa üritasid OpenStreetMap'i serveris teha on lubadud
+        vaid administraatoriele (HTTP 403)
+    internal_server_error:
+      title: Rakenduse viga
+      description: OpenStreetMapi serveris tekkis ootamatu olukord, mistõttu vastust
+        päringule ei õnnestu moodustada (HTTP 500)
+    not_found:
+      title: Faili ei leidu
+      description: Sellise nimega faili/kataloogi/API meetodit ei leidu OpenStreetMapi
+        serveris (HTTP 404)
   friendships:
     make_friend:
       heading: Lisada %{user} sõbraks?
@@ -566,6 +653,8 @@ et:
       success: '%{name} on nüüd sinu sõber.'
       failed: Vabandust, kasutaja %{name} sõbraks lisamine ebaõnnestus.
       already_a_friend: Sa oled kasutajaga %{name} juba sõber.
+      limit_exceeded: Sa oled endale hiljuti lisanud palju sõpru. Palun oota mõnda
+        aega, enne kui proovid veel sõpru lisada.
     remove_friend:
       heading: Eemaldada %{user} sõprade hulgast?
       button: Eemalda sõprade hulgast
@@ -580,12 +669,35 @@ et:
         osm_nominatim_reverse: OpenStreetMap Nominatimi
     search_osm_nominatim:
       prefix:
+        aerialway:
+          cable_car: Köisraudtee
+          chair_lift: Istelift
+          drag_lift: Suusatõstuk
+          gondola: Köistee väikeste vagunitega
+          magic_carpet: Suusaeskalaator
+          platter: Plaatkinnitusega suusatõstuk ühele
+          pylon: Köistee tugipost
+          station: Köistee jaam
+          t-bar: T-kujulise kinnitusega suusatõstuk kahele
+          "yes": Köistee
         aeroway:
-          gate: Lennujaama värav
+          aerodrome: Lennujaam
+          airstrip: Maandumisplats
+          apron: Lennujaama perroon
+          gate: Reisiterminali värav
+          hangar: Angaar
           helipad: Kopteriväljak
+          holding_position: Õhusõiduki ootepositsioon
+          navigationaid: Lennuliikluse navigatsioonivahendid
+          parking_position: Õhusõiduki parkimiskoht
+          runway: Lennurada
+          taxilane: Ruleerimisrada
           taxiway: Ruleerimisrada
-          terminal: Lennujaama terminal
+          terminal: Lennujaama reisiterminal
+          windsock: Tuulekott
         amenity:
+          animal_boarding: Loomahotell
+          animal_shelter: Loomade varjupaik
           arts_centre: Kunstikeskus
           atm: Pangaautomaat
           bank: Pank
@@ -596,18 +708,24 @@ et:
           bicycle_rental: Jalgrattarent
           bicycle_repair_station: Jalgrataste remondijaam
           biergarten: Õlleaed
+          blood_bank: Verepank
           boat_rental: Paadilaenutus
           brothel: Lõbumaja
           bureau_de_change: Rahavahetus
           bus_station: Bussijaam
           cafe: Kohvik
           car_rental: Autorent
+          car_sharing: Ühisauto kasutamine
           car_wash: Autopesu
           casino: Kasiino
           charging_station: Laadimisjaam
+          childcare: Lastehoid
           cinema: Kino
           clinic: Kliinik
           clock: Kell
+          college: Kolledž
+          community_centre: Kogukonnakeskus
+          conference_centre: Konverentsikeskus
           courthouse: Kohtuhoone
           crematorium: Krematoorium
           dentist: Hambaarst
@@ -615,12 +733,16 @@ et:
           drinking_water: Joogivesi
           driving_school: Autokool
           embassy: Saatkond
+          events_venue: Ürituste toimumiskoht
           fast_food: Kiirtoit
           ferry_terminal: Praamiterminal
           fire_station: Tuletõrjedepoo
+          food_court: Toidutänav
           fountain: Purskkaev
           fuel: Tankla
+          gambling: Hasartmängusaal
           grave_yard: Surnuaed
+          grit_bin: Libedustõrjekruusa kast
           hospital: Haigla
           hunting_stand: Jahikantsel
           ice_cream: Jäätis
@@ -628,13 +750,20 @@ et:
           kindergarten: Lasteaed
           language_school: Keeltekool
           library: Raamatukogu
+          loading_dock: Laoestakaad
+          love_hotel: Armuhotell
           marketplace: Turg
+          mobile_money_agent: Mobiiliraha agent
           monastery: Klooster
+          money_transfer: Rahaülekandeteenus
+          motorcycle_parking: Mootorrattaparkla
           music_school: Muusikakool
           nightclub: Ööklubi
           nursing_home: Hooldekodu
           parking: Parkimisplats
+          parking_entrance: Parkla sissepääs
           parking_space: Parkimiskoht
+          payment_terminal: Makseterminal
           pharmacy: Apteek
           place_of_worship: Pühapaik
           police: Politsei
@@ -642,23 +771,46 @@ et:
           post_office: Postkontor
           prison: Vangla
           pub: Pubi
+          public_bath: Avalik looduslik spaa
+          public_bookcase: Avalik raamaturiiul
           public_building: Ühiskondlik hoone
+          ranger_station: Looduskeskus
           recycling: Jäätmekäitluspunkt
           restaurant: Restoran
+          sanitary_dump_station: Maismaatranspordivahendite heitvee purgimiskoht
           school: Kool
           shelter: Varjualune
           shower: Dušš
+          social_centre: Seltsingu hoone
+          social_facility: Sotsiaalkeskus
+          studio: Stuudio
+          swimming_pool: Ujumisbassein
           taxi: Takso
           telephone: Üldkasutatav telefon
           theatre: Teater
           toilets: WC
+          townhall: Raekoda/vallamaja
+          training: Koolituskeskus
           university: Ülikool
+          vehicle_inspection: Sõidukite tehnoülevaatus
           vending_machine: Müügiautomaat
           veterinary: Loomakliinik
+          village_hall: Kogukonnakeskuse hoone
           waste_basket: Prügikast
+          waste_disposal: Prügikonteiner
+          waste_dump_site: Mitteametlik prügimägi
+          watering_place: Loomade joogikoht
+          water_point: Joogiveepunkt
+          weighbridge: Autokaal
+          "yes": Avalik taristu
         boundary:
+          aboriginal_lands: Põliselanike maad
           administrative: Halduspiir
+          census: Statistilise üksuse piir
           national_park: Rahvuspark
+          political: Valimisringkonna piir
+          protected_area: Kaitseala
+          "yes": Piirjoon
         bridge:
           aqueduct: Akvedukt
           boardwalk: Laudtee
@@ -667,47 +819,99 @@ et:
           viaduct: Viadukt
           "yes": Sild
         building:
+          apartment: Korter
+          apartments: Kortermaja
+          barn: Küün
+          bungalow: Bangalo
+          cabin: Metsamajake
           chapel: Kabel
           church: Kirik
+          civic: Üldkasutatav hoone
+          college: Kolledžihoone
           commercial: Ärihoone
+          construction: Ehitusjärgus hoone
+          detached: Eramu (eraldiseisev maja)
           dormitory: Ühiselamu
+          duplex: Paarismaja samal kinnistul
           farm: Talumaja
+          farm_auxiliary: Talu majandushoone
           garage: Garaaž
           garages: Garaažid
           greenhouse: Kasvuhoone
           hangar: Angaar
           hospital: Haigla hoone
           hotel: Hotell
-          house: Maja
+          house: Eramu
+          houseboat: Paatmaja
+          hut: Hütt
           industrial: Tööstushoone
-          office: Kontorihoone
+          kindergarten: Lasteaia hoone
+          manufacture: Tootmishoone
+          office: Büroohoone
           public: Avalik hoone
+          residential: Elamu
+          retail: Jaekaubandushoone
           roof: Katus
+          ruins: Hoone varemed
           school: Koolihoone
-          service: Teenindushoone
+          semidetached_house: Paarismaja eri kinnistutel
+          service: Tehnohoone
+          shed: Kuur
           stable: Tall
+          static_caravan: Paikne haagismaja
+          temple: Templihoone
+          terrace: Ridamaja
           train_station: Raudteejaam
           university: Ülikoolihoone
+          warehouse: Laohoone
           "yes": Hoone
+        club:
+          scout: Skaudirühm
+          sport: Spordiklubi
+          "yes": Klubi
         craft:
+          beekeeper: Mesinik
           blacksmith: Sepp
           brewery: Pruulikoda
           carpenter: Puusepp
+          caterer: Toitlustaja
+          confectionery: Kondiiter
+          dressmaker: Naisteriiete õmbleja
           electrician: Elektrik
+          electronics_repair: Elektroonikaparandaja
           gardener: Aednik
+          glaziery: Klaasija
+          handicraft: Käsitöömeister
+          hvac: Kliima- ja kütteseadmete meister
+          metal_construction: Metallkonstruktsioonide ehitaja
           painter: Maaler
           photographer: Fotograaf
           plumber: Torulukksepp
+          roofer: Katuseehitaja
+          sawmill: Saeveski
           shoemaker: Kingsepp
-          tailor: Rätsep
-          "yes": Käsitööpood
+          stonemason: Kiviraidur
+          tailor: Meesteriiete rätsep
+          window_construction: Aknameister
+          winery: Veinikoda
+          "yes": Käsitöökoda
         emergency:
+          access_point: Asukohatuvastuspunkt hädaolukorras
           ambulance_station: Kiirabijaam
+          assembly_point: Kogunemiskoht hädaolukorras
           defibrillator: Defibrillaator
           fire_extinguisher: Tulekustuti
+          fire_water_pond: Tuletõrjetiik
+          landing_site: Kopteriväljak päästeteenistusele
+          life_ring: Päästerõngas
           phone: Hädaabi telefon
+          siren: Elanikukaitse häiresireen
+          suction_point: Tuletõrje veevõtukoht
+          water_tank: Tuletõrjevee paak
         highway:
+          abandoned: Mahajäetud maantee
           bridleway: Ratsatee
+          bus_guideway: Roobastee bussidele
           bus_stop: Bussipeatus
           construction: Ehitusjärgus tee
           corridor: Koridor
@@ -715,81 +919,146 @@ et:
           cycleway: Jalgrattatee
           elevator: Elevaator
           emergency_access_point: Hädaabi punkt
+          emergency_bay: Hädapeatumise ala
           footway: Jalgrada
           ford: Koolmekoht
           give_way: Märk "Anna teed"
           living_street: Õueala
           milestone: Verstapost
           motorway: Kiirtee
+          motorway_junction: Kiirtee ristmik
+          motorway_link: Kiirtee tee
+          passing_place: Möödasõidukoht
           path: Rada
           pedestrian: Jalakäijatele tee
           platform: Platvorm
           primary: Põhimaantee
+          primary_link: Põhimaantee ühendustee
+          proposed: Kavandatav tee
           raceway: Võidusõidurada
           residential: Kõrvaltee
+          rest_area: Teeäärne puhkekoht
           road: Tee
           secondary: Tugimaantee
+          secondary_link: Tugimaantee ühendustee
           service: Teenindustee
+          services: Kiirteeteenused
           speed_camera: Kiiruskaamera
           steps: Trepp
           stop: Stoppmärk
           street_lamp: Tänavavalgusti
           tertiary: Kohalik maantee
+          tertiary_link: Kohaliku maantee ühendustee
+          track: Rada
+          traffic_mirror: Liikluspeegel
           traffic_signals: Valgusfoor
+          trailhead: Raja alg- või lõpppunkt
+          trunk: Esimese klassi tee
+          trunk_link: Esimese klassi tee ühendustee
+          turning_circle: Ümberpöördering
+          turning_loop: Ümberpöördering saarega
+          unclassified: Klassifitseerimata tee
           "yes": Tee
         historic:
+          aircraft: Ajalooline lennuk
+          archaeological_site: Arheoloogiline leiukoht
+          bomb_crater: Ajalooline pommikraater
           battlefield: Lahinguväli
           boundary_stone: Piirikivi
           building: Ajalooline hoone
           bunker: Punker
+          cannon: Ajalooline kahur
           castle: Kindlus
+          charcoal_pile: Ajalooline miiliahi
           church: Kirik
           city_gate: Linnavärav
           citywalls: Linnamüürid
           fort: Kindlus
-          house: Maja
+          heritage: Muinsuskaitseobjekt
+          hollow_way: Ajalooline teenõgu
+          house: Ajalooline maja
           manor: Mõis
           memorial: Memoriaal
-          mine: Kaevandus
+          milestone: Ajalooline verstapost
+          mine: Ajalooline kaevandus
+          mine_shaft: Ajalooline kaevandusšaht
           monument: Mälestusmärk
-          roman_road: Rooma tee
+          railway: Ajalooline raudtee
+          roman_road: Vana-Rooma tee
           ruins: Varemed
-          stone: Kivi
+          rune_stone: Ruunikivi
+          stone: Ajalooline kivi
+          tomb: Hauakamber
           tower: Torn
+          wayside_chapel: Teeäärne kabel
           wayside_cross: Teeäärne rist
           wayside_shrine: Teeäärne altar
           wreck: Vrakk
+          "yes": Ajaloomälestis
+        junction:
+          "yes": Ristmik
         landuse:
+          allotments: Aianduskrundid
+          aquaculture: Vesiviljelus
+          basin: Kogumisbassein
+          brownfield: Pruunala
           cemetery: Surnuaed
+          commercial: Ärimaa
+          conservation: Määratlemata olekus kaitstav ala
+          construction: Ehitusala
+          farmland: Põllumaa
+          farmyard: Taluõu
           forest: Mets
           garages: Garaažid
           grass: Muru
+          greenfield: Ehituseks planeeritud roheala
           industrial: Tööstuspiirkond
           landfill: Prügimägi
           meadow: Niit
           military: Militaarala
           mine: Kaevandus
           orchard: Viljapuuaed
+          plant_nursery: Puukool
           quarry: Karjäär
           railway: Raudtee
           recreation_ground: Puhkeala
+          religious: Sakraalmaa
           reservoir: Veehoidla
+          reservoir_watershed: Veehaarde turvaala
           residential: Elamurajoon
+          retail: Jaekaubandusala
+          village_green: Külaplats
           vineyard: Viinamarjaistandus
           "yes": Maakasutus
         leisure:
-          bandstand: Kõlakoda
+          adult_gaming_centre: Hasartmängusaal
+          amusement_arcade: Mängusaal
+          bandstand: Väike vabaõhulava
+          beach_resort: Rannakuurort
+          bird_hide: Linnuvaatlushoone
+          bleachers: Avaistmed
+          bowling_alley: Keeglisaal
+          common: Ühismaakasutusala
+          dance: Tantsusaal
           dog_park: Koerapark
+          firepit: Lõkkease
           fishing: Kalapüügipiirkond
+          fitness_centre: Jõusaal
+          fitness_station: Jõulinnak
           garden: Aed
           golf_course: Golfiväljak
+          horse_riding: Ratsabaas
           ice_rink: Uisuväli
+          marina: Väikesadam
           miniature_golf: Minigolf
           nature_reserve: Looduskaitseala
+          outdoor_seating: Istekohad õues
           park: park
           picnic_table: Piknikulaud
           pitch: Spordiväljak
           playground: Mänguväljak
+          recreation_ground: Puhkeala
+          resort: Kuurort
           sauna: Saun
           slipway: Slipp
           sports_centre: Spordikeskus
@@ -797,26 +1066,71 @@ et:
           swimming_pool: Ujula
           track: Jooksurada
           water_park: Veepark
+          "yes": Jõudeaja tegevused
         man_made:
+          adit: Adit
+          advertising: Välireklaam
+          antenna: Antenn
+          avalanche_protection: Lumelaviini kaitsetunnel
+          beacon: Majakas
+          beehive: Mesipuu
+          breakwater: Lainemurdja
           bridge: Sild
+          bunker_silo: Siloauk
+          cairn: Kivikangur
+          chimney: Korsten
+          clearcut: Raiesmik
+          communications_tower: Sidemast
           crane: Kraana
           cross: Rist
+          dolphin: Paal
+          dyke: Kaldavall
+          embankment: Muldkeha
           flagpole: Lipumast
+          gasometer: Gaasimahuti
+          groyne: Kaldakaitsetamm
+          kiln: Põletusahi
           lighthouse: Tuletorn
+          manhole: Teeninduskaev
+          mast: Mast
+          mine: Kaevandus
+          mineshaft: Kaevandusšaht
+          monitoring_station: Seirejaam
+          petroleum_well: Naftapuurauk
+          pier: Kai (kerge kai ehk pulvärk)
+          pipeline: Torujuhe
+          pumping_station: Pumpla
+          reservoir_covered: Kaetud veemahuti maapinnas
+          silo: Silo
+          snow_cannon: Lumekahur
+          snow_fence: Lumetõkketara
+          storage_tank: Mahuti
+          street_cabinet: Seadmekapp tänaval
+          surveillance: Valvetehnika
           telescope: Teleskoop
           tower: Torn
+          utility_pole: Valgustus- või sidepost
+          wastewater_plant: Reoveepuhastusjaam
           watermill: Vesiveski
+          water_tap: Avalik veekraan
+          water_tower: Veetorn
           water_well: Kaev
+          water_works: Veepuhastusjaam
           windmill: Tuuleveski
           works: Vabrik
+          "yes": Inimese loodud rajatis
         military:
-          airfield: Sõjaväe lennuväli
+          airfield: Sõjaväelennuväli
           barracks: Kasarmud
-          bunker: Punker
+          bunker: Sõjaväe punker
+          checkpoint: Sõjaväe kontrollpunkt
+          trench: Kaitsekraav
+          "yes": Sõjaline
         mountain_pass:
           "yes": Mäekuru
         natural:
           atoll: Atoll
+          bare_rock: Paljand
           bay: Laht
           beach: Rand
           cape: Neem
@@ -825,59 +1139,99 @@ et:
           coastline: Rannajoon
           crater: Kraater
           dune: Düün
+          fell: Mägitundra
           fjord: Fjord
-          forest: Mets
+          forest: Majandusmets
           geyser: Geiser
           glacier: Liustik
           grassland: Rohumaa
           heath: Nõmm
-          hill: Mägi
+          hill: Küngas
+          hot_spring: Kuumaveeallikas
           island: Saar
+          isthmus: Maakitsus
           land: Maa
           marsh: Soo
           moor: Raba
           mud: Muda
           peak: Mäetipp
+          peninsula: Poolsaar
           point: Neem
           reef: Riff
-          rock: Kivi
+          ridge: Mäeseljak
+          rock: Kalju
+          saddle: Mäekuru
           sand: Liiv
+          scree: Rusukalle
+          scrub: Võsa
+          shingle: Kiviklibu
           spring: Allikas
           stone: Kivi
           strait: Väin
           tree: Puu
+          tree_row: Puude rivi
+          tundra: Tundra
           valley: Org
           volcano: Vulkaan
           water: Vesi
           wetland: Märgala
-          wood: Mets
+          wood: Looduslik mets
+          "yes": Loodusobjekt
         office:
-          accountant: Raamatupidaja
+          accountant: Raamatupidamisteenus
+          administrative: Võimuasutus
+          advertising_agency: Reklaamibüroo
           architect: Arhitekt
+          association: Ühing
           company: Ettevõte
-          employment_agency: Tööbüroo
+          diplomatic: Diplomaatilise teenistuse büroo
+          educational_institution: Haridusasutuse kontor
+          employment_agency: Tööhõivekontor
+          energy_supplier: Energiafirma kontor
+          estate_agent: Kinnisvarabüroo
+          financial: Rahandusteenuste firma kontor
+          government: Võimuasutuse kontor
           insurance: Kindlustusbüroo
+          it: IT-firma kontor
           lawyer: Jurist
+          logistics: Ekspedeerimisfirma kontor
+          newspaper: Ajalehekirjastus
+          ngo: Vabaühenduse kontor
           notary: Notar
+          religion: Usuühingu büroo
+          research: Teadus- ja arendustegevuse kontor
+          tax_advisor: Maksunõustaja büroo
+          telecommunication: Sidefirma kontor
           travel_agent: Reisibüroo
+          "yes": Kontor
         place:
           allotments: Suvilad
           archipelago: Saarestik
           city: Linn
+          city_block: Tänavatevaheline kvartal
           country: Riik
           county: Maakond
           farm: Talu
+          hamlet: Väike küla
           house: Maja
           houses: Majad
           island: Saar
-          islet: Saareke
+          islet: Laid
+          isolated_dwelling: Üksik eluhoone
+          locality: Paikkond
           municipality: Vald
+          neighbourhood: Naabruskond
+          plot: Krunt
           postcode: Sihtnumber
+          quarter: Kvartal
+          region: Piirkond
           sea: meri
+          square: Väljak
           state: Osariik
           suburb: Linnaosa
-          town: Linn
+          town: Väikelinn
           village: Küla
+          "yes": Koht
         railway:
           abandoned: Ülesvõetud raudtee
           construction: Ehitusjärgus raudtee
@@ -893,6 +1247,7 @@ et:
           platform: Raudteeperroon
           preserved: Säilitatud raudtee
           proposed: Kavandatav raudtee
+          rail: Rööbastee
           spur: Raudtee harutee
           station: Raudteejaam
           stop: Raudteepeatus
@@ -901,13 +1256,22 @@ et:
           switch: Pöörangud
           tram: Trammitee
           tram_stop: Trammipeatus
+          turntable: Pöördesild
         shop:
+          agrarian: Põllumajandustarvete kauplus
+          alcohol: Viinapood
           antiques: Antikvariaat
+          appliance: Kodumasinate pood
           art: Kunstipood
+          baby_goods: Beebikaupade pood
+          bag: Kotipood
           bakery: Pagariäri
+          bathroom_furnishing: Vannitoasisustuse ja -tarvikute pood
           beauty: Kosmeetikasalong
+          bed: Magamistoamööbli ja -tarvikute pood
           beverages: Joogikauplus
           bicycle: Rattapood
+          bookmaker: Kihlveovahendaja
           books: Raamatupood
           boutique: Butiik
           butcher: Lihunik
@@ -918,47 +1282,99 @@ et:
           charity: Heategevuslik kauplus
           cheese: Juustupood
           chemist: Apteek
+          chocolate: Šokolaadipood
           clothes: Riidepood
+          coffee: Kohvipood
           computer: Arvutikauplus
+          confectionery: Kommipood
+          convenience: Lähikauplus
           copyshop: Paljunduskoda
           cosmetics: Kosmeetikapood
+          craft: Kunsti- ja käsitöötarvikutue pood
+          curtain: Kardinapood
+          dairy: Piimapood
+          deli: Delikatesstoodete pood
           department_store: Kaubamaja
+          discount: Odavkaupade pood (aegunud)
+          doityourself: Ehituskauplus
           dry_cleaning: Keemiline puhastus
+          e-cigarette: E-sigaretipood
           electronics: Elektroonikapood
+          erotic: Erootikapood
           estate_agent: Kinnisvaramaakler
+          fabric: Kangapood
           farm: Talupood
           fashion: Moe kauplus
+          fishing: Kalastustarvete pood
           florist: Lillepood
           food: Toidupood
+          frame: Piltide raamimise töökoda
           funeral_directors: Matusebüroo
-          furniture: Mööbel
+          furniture: Mööblipood
           garden_centre: Aianduskeskus
+          gas: Balloongaasi kauplus
+          general: Universaalkauplus
           gift: Kingipood
+          greengrocer: Puu- ja köögiviljapood
           grocery: Toidupood
           hairdresser: Juuksur
           hardware: Rauakauplus
+          health_food: Tervisliku toidu kauplus
+          hearing_aids: Kuuldeaparaatide pood
+          herbalist: Ravimtaimede pood
+          hifi: Hifi kauplus
+          houseware: Kodutarvete pood
           ice_cream: jäätisepood
+          interior_decoration: Sisekujunduspood
           jewelry: Juveelipood
           kiosk: Kiosk
+          kitchen: Köögimööblikauplus
           laundry: Pesumaja
+          locksmith: Lukuabi
+          lottery: Lotopood
           mall: Ostukeskus
           massage: Massaaž
+          medical_supply: Meditsiinitarvikute pood
           mobile_phone: Mobiiltelefonide pood
+          money_lender: Kiirlaenukontor
           motorcycle: Mootorrattapood
+          motorcycle_repair: Mootorrattaparandus
           music: Muusikapood
+          musical_instrument: Muusikariistade pood
           newsagent: Ajalehekiosk
+          nutrition_supplements: Toidulisandite pood
           optician: Prillipood
+          organic: Mahetoidu pood
           outdoor: Matkatarbed
+          paint: Värvipood
+          pastry: Kondiitriäri
+          pawnbroker: Pandimaja
+          perfumery: Parfümeeriakauplus
           pet: Lemmikloomapood
+          pet_grooming: Ilusalong lemmikloomadele
           photo: Fotopood
+          seafood: Mereandide pood
+          second_hand: Taaskasutuspood
+          sewing: Õmblustarvikute pood
           shoes: Kingapood
           sports: Spordipood
           stationery: Kirjatarvete kauplus
+          storage_rental: Rendiladu
           supermarket: Supermarket
           tailor: Rätsep
+          tattoo: Tätoveeringusalong
+          tea: Teepood
+          ticket: Piletikassa
+          tobacco: Tubakapood
           toys: Mänguasjapood
           travel_agency: Reisiagentuur
-          wine: Alkoholipood
+          tyres: Rehvipood
+          vacant: Vaba kaubanduspind
+          variety_store: Odavkaupade pood
+          video: Videopood
+          video_games: Videomängude pood
+          wholesale: Hulgimüügipood
+          wine: Veinipood
           "yes": Pood
         tourism:
           alpine_hut: Alpimaja
@@ -967,20 +1383,24 @@ et:
           attraction: Turismiatraktsioon
           bed_and_breakfast: Kodumajutus
           cabin: Metsamaja
+          camp_pitch: Telkimisplats
           camp_site: Laagriplats
-          chalet: Alpimaja
+          caravan_site: Karavanipark
+          chalet: Puhkemaja
           gallery: Galerii
           guest_house: Külalistemaja
           hostel: Hostel
           hotel: Hotell
-          information: informatsioon
+          information: Turismiinfo
           motel: motell
           museum: muuseum
           picnic_site: piknikuplats
           theme_park: Teemapark
           viewpoint: Vaatepunkt
+          wilderness_hut: Kõnnumaa ulualune
           zoo: Loomaaed
         tunnel:
+          building_passage: Läbikäik hoonest
           culvert: Truup
           "yes": Tunnel
         waterway:
@@ -1004,6 +1424,7 @@ et:
           "yes": Veetee
       admin_levels:
         level2: Riigipiir
+        level3: 3. järgu piir
         level4: 4. järgu piir
         level5: 5. järgu piir
         level6: 6. järgu piir
@@ -1011,6 +1432,7 @@ et:
         level8: 8. järgu piir
         level9: 9. järgu piir
         level10: 10. järgu piir
+        level11: Naabruskonna piirjoon
       types:
         cities: Suurlinnad
         towns: Linnad
@@ -1020,9 +1442,31 @@ et:
       more_results: Veel tulemusi
   issues:
     index:
+      select_status: Vali olek
+      select_type: Vali tüüp
+      select_last_updated_by: Vali viimane muutja
+      reported_user: Kasutaja, kellest on teada antud
+      not_updated: Pole uuendatud
+      search: Otsi
       user_not_found: Kasutajat pole olemas.
+      status: Olek
+      reports: Kaebused
+      last_updated: Viimati uuendatud
+      last_updated_time_ago_user_html: '%{user} %{time_ago} eest'
+      link_to_reports: Vaata kaebuseid
+      reports_count:
+        one: '%{count} kaebus'
+        other: '%{count} kaebust'
+    show:
+      report_created_at_html: Esmalt teatatud kuupäeval %{datetime}
+      last_resolved_at_html: Viimati lahendatud kuupäeval %{datetime}
+      last_updated_at_html: Viimati uuendanud %{displayname} kuupäeval %{datetime}
+      resolve: Lahenda
+      ignore: Eira
+      reopen: Ava uuesti
     helper:
       reportable_title:
+        diary_comment: '%{entry_title}, kommentaar #%{comment_id}'
         note: 'märkus #%{note_id}'
   reports:
     new:
@@ -1082,7 +1526,12 @@ et:
     intro_text: OpenStreetMap on maailma kaart, mille on loonud inimesed nagu sina
       ja seda võib vabalt kasutada avatud litsentsi tingimustel.
     intro_2_create_account: loo oma konto
+    hosting_partners_2024_html: Serverimajutust aitavad korraldada %{fastly}, %{corpmembers}
+      ja muud %{partners}.
+    partners_fastly: Fastly
+    partners_corpmembers: OSMF-i äriühingutest liikmed
     partners_partners: partnerid
+    tou: kasutustingimused
     osm_offline: OpenStreetMapi andmebaas ei ole hetkel juurdepääsetav sest teostatakse
       vajalikke hooldustöid.
     osm_read_only: OpenStreetMapi andmebaas on hetkel oluliste hooldustööde tõttu
@@ -1102,6 +1551,7 @@ et:
     more: Veel
   user_mailer:
     diary_comment_notification:
+      description: 'OpenStreetMapi päeviku sissekanne #%{id}'
       subject: '[OpenStreetMap] %{user} kommenteeris päeviku sissekannet'
       hi: Tere, %{to_user}!
       header: '%{from_user} kommenteeris hiljutist OpenStreetMapi päevikusissekannet
@@ -1112,7 +1562,10 @@ et:
         aadressil %{commenturl} või saata autorile sõnumi aadressil %{replyurl}.
       footer_html: Saad lugeda kommentaari aadressil %{readurl}. Samuti saad lisada
         kommentaari aadressil %{commenturl} või saata autorile sõnumi aadressil %{replyurl}.
+      footer_unsubscribe: Saad loobuda selle arutelu jälgimisest aadressil %{unsubscribeurl}
+      footer_unsubscribe_html: Saad loobuda selle arutelu jälgimisest aadressil %{unsubscribeurl}
     message_notification:
+      subject: '[OpenStreetMap] %{message_title}'
       hi: Tere, %{to_user}
       header: '%{from_user} on saatnud sulle OpenStreetMapi kaudu sõnumi teemaga %{subject}:'
       header_html: '%{from_user} on saatnud sulle OpenStreetMapi kaudu sõnumi teemaga
@@ -1129,6 +1582,11 @@ et:
       see_their_profile_html: Tema profiiliga saad tutvuda aadressil %{userurl}.
       befriend_them: Sa võid ta lisada oma sõbraks aadressil %{befriendurl}.
       befriend_them_html: Saad ta ka enda sõbraks lisada aadressil %{befriendurl}.
+    gpx_description:
+      description_with_tags_html: Tundub, et sinu GPX-fail %{trace_name} kirjeldusega
+        %{trace_description} ning siltidega %{tags}
+      description_with_no_tags_html: Tundub, et sinu siltideta GPX-fail %{trace_name}
+        kirjeldusega %{trace_description}
     gpx_failure:
       hi: Tere, %{to_user}
       failed_to_import: 'importimine ebaõnnestus. Siin on viga:'
@@ -1140,6 +1598,8 @@ et:
       loaded:
         one: laaditi üles edukalt %{trace_points} punkt võimalikust %{count} punktist.
         other: laaditi üles edukalt %{trace_points} punkti võimalikust %{count} punktist.
+      all_your_traces_html: Kõik sinu üles laaditud GPX-rajad on leitavad aadressil
+        %{url}.
       subject: '[OpenStreetMap] GPX-faili importimine õnnestus'
     signup_confirm:
       subject: '[OpenStreetMap] Tere tulemast OpenStreetMapi'
@@ -1164,6 +1624,7 @@ et:
       click_the_link: Kui see oled sina, siis klõpsa palun alloleval lingil, et parool
         lähtestada.
     note_comment_notification:
+      description: 'OpenStreetMapi märkus #%{id}'
       anonymous: Anonüümne kasutaja
       greeting: Tere!
       commented:
@@ -1204,6 +1665,7 @@ et:
       details: Üksikasjad märkuse kohta leiad aadressilt %{url}.
       details_html: Üksikasjad märkuse kohta leiad aadressilt %{url}.
     changeset_comment_notification:
+      description: 'OpenStreetMapi muudatuskogum #%{id}'
       hi: Tere, %{to_user}
       greeting: Tere!
       commented:
@@ -1338,6 +1800,9 @@ et:
       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:
+      send_paranoid_instructions: Kui sinu e-posti aadress on meie andebaasis olemas,
+        siis mõne aja pärast saad e-kirja oma parooli taastamiseks.
     edit:
       title: Lähtesta parool
       heading: Kasutaja %{user} parooli lähtestamine
@@ -1368,6 +1833,8 @@ et:
       gravatar:
         gravatar: Kasuta Gravatari
         what_is_gravatar: Mis on Gravatar?
+        disabled: Gravatar on kasutusest eemaldatud.
+        enabled: Sinu Gravatar on nüüd kasutusel.
       new image: Lisa pilt
       keep image: Säilitada praegune pilt
       delete image: Eemalda praegune pilt
@@ -1376,13 +1843,16 @@ et:
       home location: Kodu asukoht
       no home location: Sa pole oma kodu asukohta märkinud.
       update home location on click: Kas uuendan kodu asukohta, kui klõpsan kaardil?
+      show: Näita
+      delete: Kustuta
+      undelete: Võta kustutamine tagasi
     update:
       success: Profiil uuendatud.
       failure: Profiili ei õnnestunud uuendada.
   sessions:
     new:
       title: Sisselogimine
-      heading: Logi sisse
+      tab_title: Logi sisse
       email or username: E-posti aadress või kasutajanimi
       password: Parool
       remember: Jäta mind meelde
@@ -1390,34 +1860,7 @@ et:
       login_button: Logi sisse
       register now: Registreeru nüüd
       with external: 'Teise võimalusena võid sisse logida kolmanda osapoole kaudu:'
-      no account: Sa ei ole veel registreerinud kasutajaks?
       auth failure: Kahjuks ei õnnestu nende andmetega sisse logida.
-      openid_logo_alt: Logi sisse OpenID-ga
-      auth_providers:
-        openid:
-          title: Logi sisse OpenID-ga
-          alt: Logi sisse OpenID URL-iga
-        google:
-          title: Logi sisse Google'i kaudu
-          alt: Logi sisse Google'i OpenID-ga
-        facebook:
-          title: Logi sisse Facebooki kaudu
-          alt: Logi sisse Facebooki kontoga
-        microsoft:
-          title: Logi sisse Microsofti kaudu
-          alt: Logi sisse Microsofti kontoga
-        github:
-          title: Logi sisse GitHubi kaudu
-          alt: Logi sisse GitHubi kontoga
-        wikipedia:
-          title: Logi sisse Vikipeedia kaudu
-          alt: Logi sisse Vikipeedia kontoga
-        wordpress:
-          title: Logi sisse Wordpressi kaudu
-          alt: Logi sisse Wordpressi OpenID-ga
-        aol:
-          title: Logi sisse AOL-i kaudu
-          alt: Logi sisse AOL-i OpenID-ga
     destroy:
       title: Logi välja
       heading: Logi OpenStreetMapist välja
@@ -1438,9 +1881,11 @@ et:
       ordered: Järjestatud loend
       first: Esimene üksus
       second: Teine üksus
+      link: Link
       text: Tekst
       image: Pilt
       alt: Asendustekst
+      url: URL
       codeblock: Koodiplokk
     richtext_field:
       edit: Muuda
@@ -1485,6 +1930,7 @@ et:
         %{openstreetmap_foundation_link} (OSMF)
         kogukonna nimel. Kõigis OSMF-i hallatavates teenustes kehtivad
         meie %{terms_of_use_link}, %{aup_link} ja %{privacy_policy_link}.
+      legal_1_1_openstreetmap_foundation: OpenStreetMap Foundation
       legal_1_1_terms_of_use: kasutustingimused
       legal_1_1_aup: kasutamisreeglid
       legal_1_1_privacy_policy: andmekaitsereeglid
@@ -1515,6 +1961,7 @@ et:
           %{osm_foundation_link} (OSMF) on avaldanud Open Data Commonsi litsentsi %{odc_odbl_link} (ODbL) all.
         introduction_1_open_data: avaandmed
         introduction_1_odc_odbl: Open Database License
+        introduction_1_osm_foundation: OpenStreetMap Foundation
         introduction_2_html: |-
           Tohid andmeid vabalt kopeerida, levitada, edastada ja kohandada,
           kui viitad OpenStreetMapile ja selle kaastöölistele.
@@ -1569,6 +2016,7 @@ et:
           ja muudest allikatest, sealhulgas:
         contributors_at_credit_html: '%{austria}: Sisaldab %{stadt_wien_link} (%{cc_by_link}
           tingimustel), %{land_vorarlberg_link} ja Tirooli liidumaa andmeid (%{cc_by_at_with_amendments_link}).'
+        contributors_at_austria: Austria
         contributors_at_stadt_wien: Viini linna
         contributors_at_land_vorarlberg: Vorarlbergi liidumaa
         contributors_at_cc_by_at_with_amendments: CC BY AT tingimustel koos õiendustega
@@ -1577,6 +2025,7 @@ et:
           kasutust lubab Austraalia Ühendus Creative Commonsi rahvusvahelise litsentsi
           "%{cc_licence_link}" (CC BY 4.0) tingimustel.'
         contributors_au_australia: Austraalia
+        contributors_au_geoscape_australia: Geoscape Australia
         contributors_au_cc_licence: Autorile viitamine 4.0
         contributors_ca_credit_html: '%{canada}: Sisaldab andmekogude GeoBase&reg;,
           GeoGratis (&copy; Kanada loodusvarade ministeerium), CanVec (&copy; Kanada
@@ -1596,16 +2045,24 @@ et:
         contributors_fr_credit_html: '%{france}: Sisaldab kaardiandmeid, mis on pärit
           maksuametist (Direction Générale des Impôts).'
         contributors_fr_france: Prantsusmaa
+        contributors_hr_credit_html: |-
+          %{croatia}: Sisaldab andmeid, mis on pärit %{dgu_link} ja %{open_data_portal}
+          (Horvaatia avalik teave).
         contributors_hr_croatia: Horvaatia
+        contributors_hr_dgu: Horvaatia riiklikust geodeesiaametist
+        contributors_hr_open_data_portal: riiklikust avaandmete portaalist
         contributors_nl_credit_html: '%{netherlands}: Sisaldab ettevõtte &copy; AND
           andmeid (2007, %{and_link})'
         contributors_nl_netherlands: Holland
-        contributors_nz_credit_html: '%{new_zealand}: Sisaldab teenuse %{linz_data_service_link}
+        contributors_nz_credit_html: '%{new_zealand}: Sisaldab %{linz_data_service_link}
           andmeid, mis on kasutatavad litsentsi %{cc_by_link} tingimustel.'
         contributors_nz_new_zealand: Uus-Meremaa
+        contributors_nz_linz_data_service: LINZ-i andmeteenuse
+        contributors_nz_cc_by: CC BY 4.0
         contributors_rs_credit_html: |-
           %{serbia}: Sisaldab andmeid, mis on pärit %{rgz_link} ja %{open_data_portal}
           (Serbia avalik teave), 2018.
+        contributors_rs_serbia: Serbia
         contributors_rs_rgz: Serbia geodeesiaametist
         contributors_rs_open_data_portal: riigi avaandmete portaalist
         contributors_si_credit_html: '%{slovenia}: Sisaldab %{gu_link} ning %{mkgp_link}
@@ -1621,6 +2078,7 @@ et:
         contributors_za_credit_html: '%{south_africa}: Sisaldab andmeid allikast %{ngi_link},
           õigused kuuluvad riigile.'
         contributors_za_south_africa: LAV
+        contributors_za_ngi: 'Chief Directorate: National Geo-Spatial Information'
         contributors_gb_credit_html: |-
           %{united_kingdom}: Sisaldab Ordnance
           Survey andmeid &copy; krooni autoriõigus ja andmebaasi õigused kaitstud
@@ -1755,6 +2213,15 @@ et:
         url: https://wiki.openstreetmap.org/wiki/Et:Main_Page
         title: OpenStreetMapi viki
         description: Sirvi vikis OpenStreetMapi põhjalikumat dokumentatsiooni.
+    potlatch:
+      removed: Sa oled OpenStreetMapi jaoks vaikeredaktoriks määranud Potlatchi. Kuna
+        Adobe Flash Player ei ole enam kasutusel, siis pole ka Potlatchi enam veebibrauseris
+        võimalik kasutada.
+      desktop_application_html: Potlatchi saad endiselt kasutada %{download_link}.
+      download: laadides alla töölauarakenduse Maci ja Windowsi jaoks
+      id_editor_html: Teise võimalusena saad määrata vaikeredaktoriks iD, mis töötab
+        Potlatchi-sarnaselt sinu veebibrauseris. %{change_preferences_link}.
+      change_preferences: Muuda oma eelistusi siin
     any_questions:
       title: Tekkis küsimusi?
       paragraph_1_html: |-
@@ -1768,6 +2235,7 @@ et:
       close: Sulge
     search:
       search: Otsi
+      get_directions: Näita mulle teed
       get_directions_title: Juhised liikumiseks kahe punkti vahel
       from: Alguspunkt
       to: Sihtpunkt
@@ -1784,49 +2252,84 @@ et:
           primary: Põhimaantee
           secondary: Tugimaantee
           unclassified: Klassifitseerimata tee
+          pedestrian: Jalakäijate tee
           track: Rada
           bridleway: Ratsatee
           cycleway: Jalgrattatee
+          cycleway_national: Riigiülene jalgrattatee
+          cycleway_regional: Piirkondlik jalgrattatee
+          cycleway_local: Kohalik jalgrattatee
+          cycleway_mtb: Mägirattarada
           footway: Jalgtee
           rail: Raudtee
+          train: Rong
           subway: Metroo
+          ferry: Praam
+          light_rail: Kergraudtee
+          tram: Tramm
+          trolleybus: Trollibuss
+          bus: Buss
           cable_car: Köisraudtee
           chair_lift: Toolilift
           runway: Lennurada
           taxiway: Ruleerimistee
           apron: Lennujaama perroon
           admin: Halduspiir
+          capital: Pealinn
+          city: Linn
+          orchard: Viljapuuaed
+          vineyard: Viinamarjaistandus
           forest: Tulundusmets
           wood: Mets
+          farmland: Põllumaa
+          grass: Muru
+          meadow: Niit
+          bare_rock: Paljand
+          sand: Liiv
           golf: Golfiväljak
           park: Park
           common: Heinamaa
+          built_up: Hoonestatud ala
           resident: Elamurajoon
           retail: Kaubanduspiirkond
           industrial: Tööstuspiirkond
           commercial: Äripiirkond
           heathland: Nõmm
+          scrubland: Võsamaa
           lake: Järv
           reservoir: Veehoidla
+          intermittent_water: Perioodiline veekogu
+          glacier: Liustik
+          reef: Riff
+          wetland: Märgala
           farm: Põllumajanduslik maa
           brownfield: Ehitusmaa
           cemetery: Surnuaed
           allotments: Aiamaa
           pitch: Spordiväljak
           centre: Spordikeskus
+          beach: Rand
           reserve: Looduskaitseala
-          military: Sõjaväe kasutuses
+          military: Militaarala
           school: Kool
           university: Ülikool
+          hospital: Haigla
           building: Märkimisväärne hoone
           station: Raudteejaam
-          summit: Mägi
-          peak: Tipp
+          summit: Mäetipp
+          peak: Mäetipp
           tunnel: Katkendlik ümbris = tunnel
           bridge: Must ümbris = sild
           private: Üksnes omanikule
           destination: Üksnes läbisõiduks
           construction: Ehitatavad teed
+          bus_stop: Bussipeatus
+          stop: Peatus
+          bicycle_shop: Rattapood
+          bicycle_rental: Jalgrattarent
+          bicycle_parking: Jalgrattaparkla
+          bicycle_parking_small: Väike jalgrattaparkla
+          toilets: Tualettruumid
     welcome:
       title: Tere tulemast!
       introduction: Tere tulemast OpenStreetMapi, vabasse ja muudetavasse maailmakaarti.
@@ -1917,6 +2420,9 @@ et:
       upload_failed: Kahjuks ei õnnestunud GPX-faili üles laadida. Sellest tõrkest
         on antud märku administraatorile. Palun proovi uuesti.
     edit:
+      cancel: Loobu
+      title: Raja %{name} muutmine
+      heading: 'Muudad rada #%{name}'
       visibility_help: mida see tähendab?
     update:
       updated: Rada uuendatud.
@@ -1931,6 +2437,7 @@ et:
       uploaded: 'Üles laaditud:'
       points: 'Punkte:'
       start_coordinates: 'Alguskoordinaadid:'
+      coordinates_html: '%{latitude}; %{longitude}'
       map: kaardil
       edit: redigeeri
       owner: 'Omanik:'
@@ -1941,6 +2448,7 @@ et:
       delete_trace: Kustuta see rada
       trace_not_found: Rada ei leitud!
       visibility: 'Nähtavus:'
+      confirm_delete: Kas kustutad selle raja?
     trace_paging_nav:
       older: Vanemad rajad
       newer: Uuemad rajad
@@ -1970,10 +2478,24 @@ et:
       upload_trace: Lisa GPS-rada
       all_traces: Kõik rajad
       my_traces: Minu rajad
+      traces_from: Kasutaja %{user} avalikud rajad
+      remove_tag_filter: Eemalda sildifilter
     destroy:
       scheduled_for_deletion: Raja kustutamine kantud tööplaani.
+    make_public:
+      made_public: Rada on nüüd avalik
     offline_warning:
       message: GPX-failide üleslaadimise süsteem pole praegu saadaval.
+    offline:
+      heading: GPX-failide salvestamine hetkel ei tööta
+      message: GPX-failide salvestamise ja üleslaadimise süsteem pole hetkel kasutatav.
+    georss:
+      title: OpenStreetMapi GPS-rajad
+    description:
+      description_with_count:
+        one: Kasutaja %{user} %{count}-punktline GPX-fail
+        other: Kasutaja %{user} %{count}-punktline GPX-fail
+      description_without_count: Kasutaja %{user} GPX-fail
   application:
     require_cookies:
       cookies_needed: Paistab, et sul on küpsised keelatud. Enne jätkamist luba palun
@@ -1990,6 +2512,32 @@ et:
       oauth2_applications: OAuth 2 rakendused
       oauth2_authorizations: OAuth 2 volitused
       muted_users: Vaigistatud kasutajad
+    auth_providers:
+      openid_logo_alt: Logi sisse OpenID-ga
+      openid:
+        title: Logi sisse OpenID-ga
+        alt: Logi sisse OpenID URL-iga
+      google:
+        title: Logi sisse Google'i kaudu
+        alt: Logi sisse Google'i OpenID-ga
+      facebook:
+        title: Logi sisse Facebooki kaudu
+        alt: Logi sisse Facebooki kontoga
+      microsoft:
+        title: Logi sisse Microsofti kaudu
+        alt: Logi sisse Microsofti kontoga
+      github:
+        title: Logi sisse GitHubi kaudu
+        alt: Logi sisse GitHubi kontoga
+      wikipedia:
+        title: Logi sisse Vikipeedia kaudu
+        alt: Logi sisse Vikipeedia kontoga
+      wordpress:
+        title: Logi sisse Wordpressi kaudu
+        alt: Logi sisse Wordpressi OpenID-ga
+      aol:
+        title: Logi sisse AOL-i kaudu
+        alt: Logi sisse AOL-i OpenID-ga
   oauth:
     authorize:
       title: Lubada juurdepääs sinu kontole
@@ -2055,6 +2603,7 @@ et:
       no_apps_html: Kas sul on rakendus, mida soovid siin kasutamiseks registreerida,
         kasutades standardit %{oauth}? Enne kui see saab antud teenusele OAuthi päringuid
         saata, pead oma veebirakenduse registreerima.
+      oauth: OAuth
       registered_apps: 'Sul on registreeritud on järgmised klientrakendused:'
       register_new: Registreeri oma rakendus
     form:
@@ -2125,19 +2674,26 @@ et:
       display name description: Avalikult kuvatud kasutajanimi. Seda saate muuta hiljem
         eelistustes.
       external auth: 'Kolmanda osapoole autentimine:'
-      use external auth: Teise võimalusena võid sisse logida kolmanda osapoole kaudu
-      auth no password: Kolmanda osapoole autentimisega parooli ei nõuta, aga mõne
-        lisatööriista või serveri jaoks võib seda siiski tarvis minna.
       continue: Registreeru
       terms accepted: Täname, et nõustusid uute kaastöötingimustega!
-      email_confirmation_help_html: Sinu aadressi ei kuvata avalikult, loe täpsemalt
-        meie %{privacy_policy_link}.
+      email_help_html: Sinu aadressi ei kuvata avalikult, loe täpsemalt meie %{privacy_policy_link}.
       privacy_policy: andmekaitsereeglitest
       privacy_policy_title: OSMF-i andmekaitsereeglid, milles on alaosa e-posti aadresside
         kohta
+      use external auth: Teise võimalusena võid sisse logida kolmanda osapoole kaudu
     terms:
       title: Tingimused
       heading: Tingimused
+      heading_ct: Kaastöötingimused
+      read and accept with tou: Palun loe läbi kaastööleping ja kasutustingimused,
+        märgi ristiga mõlemad märkeruudud ning kui oled valmis, siis vajuta jätkamisnuppu.
+      contributor_terms_explain: See leping reguleerib sinu olemasoleva ja tulevase
+        kaastöö tingimusi.
+      read_ct: Ma olen lugenud kaastöötingimusi ja nõustun nendega
+      tou_explain_html: Need %{tou_link} reguleerivad selle veebisaidi ja muu OSMF-i
+        pakutava infrastruktuuri kasutamist. Palun klõpsa lingil, loe tekst läbi ja
+        nõustu sellega.
+      read_tou: Ma olen lugenud kasutustingimusi ja nõustun nendega
       consider_pd: Eelnevale lisaks leian, et minu kaastöö kuulub avalikku omandisse
         (Public Domain)
       consider_pd_why: mis see on?
@@ -2145,6 +2701,7 @@ et:
         ja mõned %{informal_translations_link}'
       readable_summary: inimloetav kokkuvõte
       informal_translations: mitteametlikud tõlked
+      continue: Jätka
       decline: Ei nõustu
       you need to accept or decline: Enne jätkamist tutvu palun uute kaastöötingimustega
         ning seejärel kas nõustu või ära nõustu nendega.
@@ -2162,6 +2719,7 @@ et:
       heading: Kasutajat %{user}  pole olemas
       body: Vabandust, kuid kasutaja nimega %{user} puudub. Palun kontrolli kirjapilti.
         Võimalik, et link, millele klõpsasid, on vigane.
+      deleted: kustutatud
     show:
       my diary: Minu päevik
       my edits: Minu muudatused
@@ -2186,6 +2744,7 @@ et:
       remove as friend: Eemalda sõprade hulgast
       add as friend: Lisa sõbraks
       mapper since: 'Kaardistaja alates:'
+      uid: 'Kasutaja ID:'
       ct status: 'Kaastöötingimused:'
       ct undecided: Otsustamata
       ct declined: Tagasi lükatud
@@ -2196,6 +2755,7 @@ et:
       role:
         administrator: See kasutaja on administraator
         moderator: See kasutaja on moderaator
+        importer: See kasutaja on importija
         grant:
           administrator: Määra administraatori õigused
           moderator: Määra moderaatori õigused
@@ -2219,6 +2779,11 @@ et:
     index:
       title: Kasutajad
       heading: Kasutajad
+      older: Vanemad kasutajad
+      newer: Uuemad kasutajad
+      found_users:
+        one: '%{count} kasutaja leitud'
+        other: '%{count} kasutajat leitud'
       summary_html: '%{name} loodud IP-aadressilt %{ip_address} (%{date})'
       summary_no_ip_html: '%{name} loodud (%{date})'
       confirm: Kinnita valitud kasutajad
@@ -2355,6 +2920,15 @@ et:
       reason: Blokeerimise põhjus
       status: Olek
       revoker_name: Tühistanud
+      older: Vanemad blokeeringud
+      newer: Uuemad blokeeringud
+    navigation:
+      all_blocks: Kõik blokeeringud
+      blocks_on_me: Mulle seatud blokeeringud
+      blocks_on_user: Blokeeritava %{user} blokeeringud
+      blocks_by_me: Minu seatud blokeeringud
+      blocks_by_user: Blokeerija %{user} blokeeringud
+      block: 'Blokeering #%{id}'
   user_mutes:
     index:
       title: Vaigistatud kasutajad
@@ -2415,6 +2989,7 @@ et:
       reactivate: Aktiveeri uuesti
       comment_and_resolve: Kommenteeri ja lahenda
       comment: Kommenteeri
+      log_in_to_comment: Selle märkuse kommenteerimiseks palun logi sisse
       report_link_html: Kui see märkus sisaldab tundlikku teavet, mis tuleks eemaldada,
         saad %{link}.
       other_problems_resolve: Kõigi märkusega seotud muude probleemide korral lahenda
@@ -2468,6 +3043,7 @@ et:
         standard: Tavakaart
         cycle_map: Rattakaart
         transport_map: Transpordikaart
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitaarabi
       layers:
         header: Kaardikihid
@@ -2479,6 +3055,13 @@ et:
       openstreetmap_contributors: OpenStreetMapi kaastöölised
       make_a_donation: Tee annetus
       website_and_api_terms: Veebisaidi ja API tingimused
+      osm_france: OpenStreetMap France
+      thunderforest_credit: Paanide autor on %{thunderforest_link}
+      andy_allan: Andy Allan
+      tracestrack_credit: Kaardipaanid teenusepakkujalt %{tracestrack_link}
+      hotosm_credit: Paanide stiili autor on %{hotosm_link} ning majutusteenust pakub
+        %{osm_france_link}
+      hotosm_name: OpenStreetMapi humanitaarabimeeskond
     site:
       edit_tooltip: Muuda kaarti
       edit_disabled_tooltip: Kaardi redigeerimiseks suurenda kaarti
@@ -2488,6 +3071,7 @@ et:
       map_data_zoom_in_tooltip: Suumi sisse, et näha kaardi andmeid
       queryfeature_tooltip: Mis siin on?
       queryfeature_disabled_tooltip: Suurenda, et objektide kohta päring teha
+      embed_html_disabled: Selle kaardikihi jaoks pole HTML-i lõimimine saadaval
     changesets:
       show:
         comment: Kommenteeri
@@ -2498,6 +3082,7 @@ et:
     edit_help: Nihuta kaarti ja suumi sisse asukohta mida soovid redigeerida ja seejärel
       kliki siia.
     directions:
+      ascend: Tee tõuseb ülespoole
       engines:
         fossgis_osrm_bike: Rattaga (OSRM)
         fossgis_osrm_car: Autoga (OSRM)
@@ -2508,20 +3093,95 @@ et:
         fossgis_valhalla_bicycle: Rattaga (Valhalla)
         fossgis_valhalla_car: Autoga (Valhalla)
         fossgis_valhalla_foot: Jalgsi (Valhalla)
+      descend: Tee laskub allapoole
       directions: Juhised
       distance: Vahemaa
+      distance_m: '%{distance}&nbsp;m'
+      distance_km: '%{distance}&nbsp;km'
       errors:
         no_route: Ei suutnud leida teekonda nende kahe koha vahel.
         no_place: Kohta "%{place}" ei õnnestunud kahjuks leida.
       instructions:
         continue_without_exit: 'Liigu edasi teele: %{name}'
+        slight_right_without_exit: 'Pööra kergelt paremal pool asuvale teele: %{name}'
+        offramp_right: Sõida paremal asuvale kaldteele
+        offramp_right_with_exit: Lahku teelt paremal asuva ärapöörde %{exit} kaudu
+        offramp_right_with_exit_name: 'Lahku teelt paremal asuva ärapöörde %{exit}
+          kaudu sõites teele: %{name}'
+        offramp_right_with_exit_directions: 'Lahku teelt paremal asuva ärapöörde %{exit}
+          kaudu võttes suunaks: %{directions}'
+        offramp_right_with_exit_name_directions: 'Lahku teelt paremal asuva ärapöörde
+          %{exit} kaudu sõites teele: %{name} suunaga %{directions} poole'
+        offramp_right_with_name: 'Pööra paremal asuvalt kaldteelt teele: %{name}'
+        offramp_right_with_directions: Pööra paremal asuvale kaldteele suunaga %{directions}
+          poole
+        offramp_right_with_name_directions: 'Pööra paremal asuvale kaldteele: uus
+          tee on %{name} ja suunaks %{directions}'
+        onramp_right_without_exit: 'Pööra paremale ja sõida kaldteed mööda teele:
+          %{name}'
+        onramp_right_with_directions: Pööra paremale ja sõida kaldteelt %{directions}
+          suunas
+        onramp_right_with_name_directions: Pööra paremal asuvale kaldteele %{name}
+          poole, suunaks %{directions}
+        onramp_right_without_directions: Sõida paremal asuvale kaldteele
+        onramp_right: Sõida paremal asuvale kaldteele
         endofroad_right_without_exit: 'Tee lõpus pööra paremale teele: %{name}'
-        turn_right_without_exit: 'Pööra paremale teele: %{name}'
-        turn_left_without_exit: 'Pööra vasakule teele: %{name}'
+        merge_right_without_exit: 'Liitu paremal asuva teega: %{name}'
+        fork_right_without_exit: 'Tee hargnemisel pööra paremal asuvale teele: %{name}'
+        turn_right_without_exit: 'Pööra paremal pool asuvale teele: %{name}'
+        sharp_right_without_exit: 'Pööra järsult paremal pool asuvale teele: %{name}'
+        uturn_without_exit: Pööra tagasi teel %{name}
+        sharp_left_without_exit: 'Pööra järsult vasakul pool asuvale teele: %{name}'
+        turn_left_without_exit: 'Pööra vasakul pool asuvale teele: %{name}'
+        offramp_left: Sõida vasakul asuvale kaldteele
+        offramp_left_with_exit: Lahku teelt vasakul asuva ärapöörde %{exit} kaudu
+        offramp_left_with_exit_name: 'Lahku teelt vasakul asuva ärapöörde %{exit}
+          kaudu sõites teele: %{name}'
+        offramp_left_with_exit_directions: 'Lahku teelt vasakul asuva ärapöörde %{exit}
+          kaudu võttes suunaks: %{directions}'
+        offramp_left_with_exit_name_directions: 'Lahku teelt vasakul asuva ärapöörde
+          %{exit} kaudu sõites teele: %{name} suunaga %{directions} poole'
+        offramp_left_with_name: 'Pööra vasakul asuvalt kaldteelt teele: %{name}'
+        offramp_left_with_directions: Pööra vasakul asuvale kaldteele suunaga %{directions}
+          poole
+        offramp_left_with_name_directions: 'Pööra vasakul asuvale kaldteele: uus tee
+          on %{name} ja suunaks %{directions}'
+        onramp_left_without_exit: 'Pööra vasakule ja sõida kaldteed mööda teele: %{name}'
+        onramp_left_with_directions: Pööra vasakule ja sõida kaldteelt %{directions}
+          suunas
+        onramp_left_with_name_directions: 'Pööra vaskul asuvale kaldteele: uus tee
+          on %{name} ja suunaks %{directions}'
+        onramp_left_without_directions: Sõida vasakul asuvale kaldteele
+        onramp_left: Sõida vasakul asuvale kaldteele
         endofroad_left_without_exit: 'Tee lõpus pööra vasakule teele: %{name}'
+        merge_left_without_exit: 'Liitu vasakul asuva teega: %{name}'
+        fork_left_without_exit: 'Tee hargnemisel pööra vasakul asuvale teele: %{name}'
+        slight_left_without_exit: 'Pööra kergelt vasakule teele: %{name}'
+        via_point_without_exit: (teekonnapunkti kaudu)
+        follow_without_exit: 'Sõida edasi mööda teed: %{name}'
+        roundabout_without_exit: 'Pööra ringteelt järgnevale teele: %{name}'
+        leave_roundabout_without_exit: Pööra ära ringteelt - %{name}
+        stay_roundabout_without_exit: Jätka sõitmist ringteel - %{name}
         start_without_exit: 'Alusta teelt: %{name}'
         destination_without_exit: Jõuad kohale
+        against_oneway_without_exit: 'Sõida ühesuunalise tee vastusuunas: %{name}'
+        end_oneway_without_exit: 'Lõppeb ühesuunaline tee: %{name}'
+        roundabout_with_exit: 'Keera ringtee %{exit}. väljumisest teele: %{name}'
+        roundabout_with_exit_ordinal: 'Keera ringtee %{exit}. väljumisest teele: %{name}'
+        exit_roundabout: 'Pööra ringteelt ära teele: %{name}'
         unnamed: nimetu
+        courtesy: Tee juhatamisel oli abiks %{link}
+        exit_counts:
+          first: "1"
+          second: "2"
+          third: "3"
+          fourth: "4"
+          fifth: "5"
+          sixth: "6"
+          seventh: "7"
+          eighth: "8"
+          ninth: "9"
+          tenth: "10"
       time: Ajakulu
     query:
       node: Sõlm
@@ -2565,4 +3225,9 @@ et:
         kuuluvate versioonide kinnikatmine enne kui selle hävitad.
       flash: Kinnikatmine hävitatud.
       error: Viga selle kinnikatmise hävitamisel.
+  validations:
+    leading_whitespace: ees on tühik
+    trailing_whitespace: lõpus on tühik
+    invalid_characters: sisaldab mittesobivaid tähemärke
+    url_characters: sisaldab URL-is erimärke (%{characters})
 ...
index 6930900a06c6833b0a144065862eadb8038eee1d..8cd2bf1cbd3e0b0c23a467da43e7e8704e7a41a6 100644 (file)
@@ -157,7 +157,6 @@ eu:
         auth_provider: Autentifikazio-hornitzailea
         auth_uid: Autentikazio UID
         email: Eposta
-        email_confirmation: 'E-posta egiaztapena:'
         new_email: 'E-posta helbide berria:'
         active: Aktiboa
         display_name: Erakusteko izena
@@ -1900,7 +1899,7 @@ eu:
   sessions:
     new:
       title: Saio-hasiera
-      heading: Saio-hasiera
+      tab_title: Saio-hasiera
       email or username: 'Eposta helbide edo erabiltzaile izena:'
       password: Pasahitza
       remember: Gogora nazazu
@@ -1908,34 +1907,7 @@ eu:
       login_button: Saioa hasi
       register now: Erregistratu orain
       with external: 'Bestela, erabili hirugarrenen bat saioa hasteko:'
-      no account: Ez al duzu konturik?
       auth failure: Barkatu, ezin izan da saioa hasi xehetasun horiekin.
-      openid_logo_alt: ID irekiarekin saioa hasi
-      auth_providers:
-        openid:
-          title: ID irekiarekin saioa hasi
-          alt: Hasi saioa ID irekia duen URL batekin
-        google:
-          title: Saioa hasi Googlekin
-          alt: Google ID irekiarekin saioa hasi
-        facebook:
-          title: Saioa hasi Facebookekin
-          alt: Saioa hasi Facebookekin
-        microsoft:
-          title: Saioa hasi Microsoftekin
-          alt: Microsoft kontu batekin saioa hasi
-        github:
-          title: GitHub-rekin saioa hasi
-          alt: GitHub kontuarekin saioa hasi
-        wikipedia:
-          title: Saioa hasi Wikipediarekin
-          alt: Wikipedia kontuarekin saioa hasi
-        wordpress:
-          title: Wordpress bidez saioa hasi
-          alt: Wordpress ID irekiarekin saioa hasi
-        aol:
-          title: AOL erabiliz saioa hasi
-          alt: AOL ID irekiarekin saioa hasi
     destroy:
       title: Saio-itxiera
       heading: OpenStreetMap-etik saioa itxi
@@ -2489,6 +2461,32 @@ eu:
       oauth1_settings: OAuth 1 ezarpenak
       oauth2_applications: OAuth 2 aplikazioak
       oauth2_authorizations: OAuth 2 baimenak
+    auth_providers:
+      openid_logo_alt: ID irekiarekin saioa hasi
+      openid:
+        title: ID irekiarekin saioa hasi
+        alt: Hasi saioa ID irekia duen URL batekin
+      google:
+        title: Saioa hasi Googlekin
+        alt: Google ID irekiarekin saioa hasi
+      facebook:
+        title: Saioa hasi Facebookekin
+        alt: Saioa hasi Facebookekin
+      microsoft:
+        title: Saioa hasi Microsoftekin
+        alt: Microsoft kontu batekin saioa hasi
+      github:
+        title: GitHub-rekin saioa hasi
+        alt: GitHub kontuarekin saioa hasi
+      wikipedia:
+        title: Saioa hasi Wikipediarekin
+        alt: Wikipedia kontuarekin saioa hasi
+      wordpress:
+        title: Wordpress bidez saioa hasi
+        alt: Wordpress ID irekiarekin saioa hasi
+      aol:
+        title: AOL erabiliz saioa hasi
+        alt: AOL ID irekiarekin saioa hasi
   oauth:
     authorize:
       title: Zure kontuan sartzeko baimena eman
@@ -2631,17 +2629,14 @@ eu:
       display name description: Zuk publikoki erakutsitako erabiltzaile izena. Hau
         geroago alda dezakezu hobespenetan.
       external auth: 'Hirugarrenen Autentifikazioa:'
-      use external auth: Bestela, erabili hirugarrenen bat saioa hasteko
-      auth no password: Hirugarrenen autentifikazioarekin pasahitza ez da beharrezkoa,
-        baina zenbait tresna edo zerbitzari gehigarri batek oraindik ere behar izatea
-        gerta daiteke.
       continue: Eman izena
       terms accepted: Eskerrik asko laguntzaileen termino berriak onartzeagatik!
-      email_confirmation_help_html: Zure helbidea ez da publikoki bistaratzen, ikusi
-        gure %{privacy_policy_link} informazio gehiago lortzeko.
+      email_help_html: Zure helbidea ez da publikoki bistaratzen, ikusi gure %{privacy_policy_link}
+        informazio gehiago lortzeko.
       privacy_policy: pribatutasun politika
       privacy_policy_title: OSMF pribatutasun-politika helbide elektronikoei buruzko
         atala barne
+      use external auth: Bestela, erabili hirugarrenen bat saioa hasteko
     terms:
       title: Baldintzak
       heading: Baldintzak
index 52c8b29647ccee10493180f9f07fc7d65837180a..31b88d8a9afe70d4d2352e3caec6398842a1dcf4 100644 (file)
@@ -180,7 +180,6 @@ fa:
         auth_provider: فراهم‌آورندهٔ احراز هویت
         auth_uid: شناسه UID احراز هویت
         email: رایانامه
-        email_confirmation: تأیید رایانامه
         new_email: نشانی رایانامهٔ جدید
         active: فعال
         display_name: نام نمایشی
@@ -1817,7 +1816,7 @@ fa:
   sessions:
     new:
       title: ورود
-      heading: ورود
+      tab_title: ورود
       email or username: نشانی رایانامه یا نام کاربری
       password: رمز عبور
       remember: مرا به خاطر بسپار
@@ -1825,34 +1824,7 @@ fa:
       login_button: ورود
       register now: اکنون نام‌نویسی کنید
       with external: 'به‌جای ثبت نام، از روش شخص ثالث استفاده کنید:'
-      no account: حساب کاربری ندارید؟
       auth failure: متأسفانه با این اطلاعات نمی‌توان وارد شد.
-      openid_logo_alt: ورود با OpenID
-      auth_providers:
-        openid:
-          title: ورود با OpenID
-          alt: ورود با نشانی OpenID
-        google:
-          title: ورود با گوگل
-          alt: ورود با OpenID گوگل
-        facebook:
-          title: ورود با فیسبوک
-          alt: ورود با حساب فیسبوک
-        microsoft:
-          title: ورود با مایکروسافت
-          alt: ورود با حساب مایکروسافت
-        github:
-          title: ورود با GitHub
-          alt: ورود با حساب GitHub
-        wikipedia:
-          title: ورود با ویکی‌پدیا
-          alt: ورود با حساب ویکی‌پدیا
-        wordpress:
-          title: ورود با وردپرس
-          alt: ورود با OpenID وردپرس
-        aol:
-          title: ورود با AOL
-          alt: ورود با AOL OpenID
     destroy:
       title: خروج
       heading: خروج از OpenStreetMap
@@ -2253,6 +2225,32 @@ fa:
       oauth1_settings: تنظیمات OAuth 1
       oauth2_applications: برنامه‌های OAuth 2
       oauth2_authorizations: مجوزهای OAuth 2
+    auth_providers:
+      openid_logo_alt: ورود با OpenID
+      openid:
+        title: ورود با OpenID
+        alt: ورود با نشانی OpenID
+      google:
+        title: ورود با گوگل
+        alt: ورود با OpenID گوگل
+      facebook:
+        title: ورود با فیسبوک
+        alt: ورود با حساب فیسبوک
+      microsoft:
+        title: ورود با مایکروسافت
+        alt: ورود با حساب مایکروسافت
+      github:
+        title: ورود با GitHub
+        alt: ورود با حساب GitHub
+      wikipedia:
+        title: ورود با ویکی‌پدیا
+        alt: ورود با حساب ویکی‌پدیا
+      wordpress:
+        title: ورود با وردپرس
+        alt: ورود با OpenID وردپرس
+      aol:
+        title: ورود با AOL
+        alt: ورود با AOL OpenID
   oauth:
     authorize:
       title: اجازهٔ دسترسی به حسابتان را صادر کنید
@@ -2389,12 +2387,10 @@ fa:
       display name description: نام کاربری شما که دیگران آن را می‌بینند. می‌توانید
         بعداً آن را در تنظیمات تغییر دهید.
       external auth: 'احراز هویت شخص ثالث:'
-      use external auth: به‌جای ثبت نام، از روش شخص ثالث استفاده کنید
-      auth no password: در اعتبارسنجی به‌روش شخص ثالث نیازی به رمز عبور اوپن‌استریت‌مپ
-        ندارید اما شاید میزبان انتخابی شما رمز عبور خودش را بخواهد.
       continue: ثبت نام
       terms accepted: از اینکه شرایط جدید مشارکت‌کننده را پذیرفتید، سپاسگزاریم!
       privacy_policy: سیاست محرمانگی
+      use external auth: به‌جای ثبت نام، از روش شخص ثالث استفاده کنید
     terms:
       title: شرایط
       heading: شرایط
index 65bc08d2d7b5bbd2279ea9815e0a906485cb0162..7268c13e7e8465184050bb7a520fe27d504f64bb 100644 (file)
@@ -187,7 +187,6 @@ fi:
         auth_provider: Todennuksen tarjoaja
         auth_uid: Todennus-UID
         email: Sähköpostiosoite
-        email_confirmation: Sähköpostin varmistus
         new_email: Uusi sähköpostiosoite
         active: Aktivoitu
         display_name: Näyttönimi
@@ -1833,7 +1832,7 @@ fi:
   sessions:
     new:
       title: Kirjautumissivu
-      heading: Kirjaudu
+      tab_title: Kirjaudu
       email or username: Sähköpostiosoite tai käyttäjätunnus
       password: Salasana
       remember: Pidä minut sisäänkirjautuneena
@@ -1841,34 +1840,7 @@ fi:
       login_button: Kirjaudu sisään
       register now: Rekisteröidy
       with external: 'Voit myös kirjautua jonkun muun palvelun tunnuksilla:'
-      no account: Eikö sinulla vielä ole käyttäjätunnusta?
       auth failure: Kirjautuminen epäonnistui.
-      openid_logo_alt: Kirjaudu sisään OpenID-tunnuksella
-      auth_providers:
-        openid:
-          title: Kirjaudu sisään OpenID:llä
-          alt: Kirjaudu sisään OpenID-osoitteella
-        google:
-          title: Kirjaudu käyttämällä Google-tunnustasi
-          alt: Kirjaudu käyttämällä Google OpenID-tunnustasi
-        facebook:
-          title: Kirjaudu Facebookin avulla
-          alt: Kirjaudu käyttämällä Facebook-tunnustasi
-        microsoft:
-          title: Kirjaudu Microsoft-tilin avulla
-          alt: Kirjaudu sisään Microsoft-tililläsi
-        github:
-          title: Kirjaudu GitHubin avulla
-          alt: Kirjaudu GitHub-tilin avulla
-        wikipedia:
-          title: Kirjaudu sisään Wikipedialla
-          alt: Kirjaudu sisään Wikipedia-tunnuksella
-        wordpress:
-          title: Kirjaudu WordPressin avulla
-          alt: Kirjaudu käyttämällä Wordpress OpenID -tunnustasi
-        aol:
-          title: Kirjaudu AOL:n avulla
-          alt: Kirjaudu käyttämällä AOL OpenID -tunnustasi
     destroy:
       title: Kirjaudu ulos
       heading: Kirjaudu ulos OpenStreetMapista
@@ -2426,6 +2398,32 @@ fi:
       oauth2_applications: OAuth 2 -sovellukset
       oauth2_authorizations: OAuth 2 -käyttöoikeudet
       muted_users: Hiljennetyt käyttäjät
+    auth_providers:
+      openid_logo_alt: Kirjaudu sisään OpenID-tunnuksella
+      openid:
+        title: Kirjaudu sisään OpenID:llä
+        alt: Kirjaudu sisään OpenID-osoitteella
+      google:
+        title: Kirjaudu käyttämällä Google-tunnustasi
+        alt: Kirjaudu käyttämällä Google OpenID-tunnustasi
+      facebook:
+        title: Kirjaudu Facebookin avulla
+        alt: Kirjaudu käyttämällä Facebook-tunnustasi
+      microsoft:
+        title: Kirjaudu Microsoft-tilin avulla
+        alt: Kirjaudu sisään Microsoft-tililläsi
+      github:
+        title: Kirjaudu GitHubin avulla
+        alt: Kirjaudu GitHub-tilin avulla
+      wikipedia:
+        title: Kirjaudu sisään Wikipedialla
+        alt: Kirjaudu sisään Wikipedia-tunnuksella
+      wordpress:
+        title: Kirjaudu WordPressin avulla
+        alt: Kirjaudu käyttämällä Wordpress OpenID -tunnustasi
+      aol:
+        title: Kirjaudu AOL:n avulla
+        alt: Kirjaudu käyttämällä AOL OpenID -tunnustasi
   oauth:
     authorize:
       title: Salli tilisi käyttö
@@ -2546,6 +2544,7 @@ fi:
       title: Valtuutetut sovellukset
       application: Sovellus
       permissions: Oikeudet
+      last_authorized: Viimeksi valtuutettu
       no_applications_html: '%{oauth2} -sovelluksille ei ole vielä myönnetty käyttöoikeuksia.'
     application:
       revoke: Peruuta
@@ -2561,13 +2560,10 @@ fi:
       display name description: Julkisesti näkyvä käyttäjänimi. Tätä voi myöhemmin
         muuttaa asetuksista.
       external auth: 'Kolmannen osapuolen todennus:'
-      use external auth: Kirjaudu toisen palvelun tunnuksilla
-      auth no password: Mikäli kirjaudut sisään kolmannen osapuolen palveluiden avulla,
-        sinun ei tarvitse luoda itsellesi salasanaa, mutta jotkin ylimääräiset työkalut
-        tai palvelimet voivat silti vaatia sitä.
       continue: Rekisteröidy
       terms accepted: Kiitos uusien osallistujaehtojen hyväksymisestä!
       privacy_policy: tietosuojakäytäntö
+      use external auth: Kirjaudu toisen palvelun tunnuksilla
     terms:
       title: Ehdot
       heading: Ehdot
index ae57596c81c4edef9b0b882847e6971a9cde2266..8b29b97f42d22b57f2fb73557ae2c497674a3829 100644 (file)
@@ -709,23 +709,12 @@ fit:
   sessions:
     new:
       title: Lokkaussivu
-      heading: Lokkaa
+      tab_title: Lokkaa
       email or username: 'E-postiatressi tai käyttäjänimi:'
       password: 'Salasana:'
       lost password link: Unhouttanu sinun salasanan?
       login_button: Lokkaa sisäle
       register now: Luo konttu nyt
-      openid_logo_alt: Lokkaa sisäle OpenID-konttulla
-      auth_providers:
-        openid:
-          title: Lokkaa sisäle OpenID:llä
-          alt: Lokkaa sisäle OpenID-atressilla
-        google:
-          title: Lokkaa sisäle Googlella
-        facebook:
-          title: Lokkaa sisäle Feispukilla
-        wikipedia:
-          title: Lokkaa sisäle Wikipeetialla
     destroy:
       title: Lokkaa ulos
       heading: Lokkaa ulos OpenStreetMapista
@@ -842,6 +831,18 @@ fit:
     index:
       public_traces: Julkiset GPS-jäljet
       my_traces: Minun GPS-jäljet
+  application:
+    auth_providers:
+      openid_logo_alt: Lokkaa sisäle OpenID-konttulla
+      openid:
+        title: Lokkaa sisäle OpenID:llä
+        alt: Lokkaa sisäle OpenID-atressilla
+      google:
+        title: Lokkaa sisäle Googlella
+      facebook:
+        title: Lokkaa sisäle Feispukilla
+      wikipedia:
+        title: Lokkaa sisäle Wikipeetialla
   oauth_clients:
     edit:
       title: Mookkaa sovellustasi
index fcc3dfb4be07d2c7692208c3a60d80445b1a71d2..71f9ecc0ff8fafd73f827c4bb6fff27daa20646a 100644 (file)
@@ -244,7 +244,6 @@ fr:
         auth_provider: Fournisseur d’authentification
         auth_uid: UID d’authentification
         email: Courriel
-        email_confirmation: Confirmation du courriel
         new_email: Nouvelle adresse de courriel
         active: Actif
         display_name: Afficher le nom
@@ -582,8 +581,19 @@ fr:
         created: Créé
         closed: Fermé
         belongs_to: Auteur
+    subscribe:
+      button: S'abonner à la discussion
     unsubscribe:
+      heading: Se désabonner de la discussion du groupe de modifications suivant ?
       button: Se désinscrire de la discussion
+    heading:
+      title: Groupe de modifications %{id}
+      created_by_html: Créé par %{link_user} le %{created}.
+    no_such_entry:
+      heading: 'Aucune entrée avec l’identifiant : %{id}'
+      body: Désolé, il n’y a aucun groupe de modifications avec l'identifiant %{id}.
+        Veuillez vérifier l'orthographe ou la validité du lien sur lequel vous avez
+        cliqué.
     show:
       title: 'Groupe de modifications : %{id}'
       created: 'Créé : %{when}'
@@ -1711,6 +1721,8 @@ fr:
     intro_text: OpenStreetMap est une carte du monde, créée par des gens comme vous
       et libre d’utilisation sous licence libre.
     intro_2_create_account: Créez un compte d’utilisateur
+    hosting_partners_2024_html: L’hébergement est pris en charge par %{fastly}, %{corpmembers},
+      et d’autres %{partners}.
     partners_fastly: Fastly
     partners_partners: partenaires
     tou: Conditions d’utilisation
@@ -1745,6 +1757,8 @@ fr:
       footer_html: Vous pouvez aussi lire le commentaire sur %{readurl} et vous pouvez
         commenter sur %{commenturl} ou envoyer un message à l’auteur sur %{replyurl}
       footer_unsubscribe: Vous pouvez vous désabonner de la discussion depuis %{unsubscribeurl}
+      footer_unsubscribe_html: Vous pouvez vous désabonner de la discussion depuis
+        %{unsubscribeurl}
     message_notification:
       subject: '[OpenStreetMap] %{message_title}'
       hi: Bonjour %{to_user},
@@ -1809,6 +1823,7 @@ fr:
       click_the_link: Si vous êtes à l’origine de cette demande, cliquez le lien ci-dessous
         pour réinitialiser votre mot de passe.
     note_comment_notification:
+      description: 'Note OpenStreetMap #%{id}'
       anonymous: Un utilisateur anonyme
       greeting: Bonjour,
       commented:
@@ -1847,6 +1862,7 @@ fr:
       details: Plus de détails concernant la note se trouvent à %{url}.
       details_html: Plus de détails concernant la note se trouvent à %{url}.
     changeset_comment_notification:
+      description: 'Groupe de modifications OpenStreetMap #%{id}'
       hi: Bonjour %{to_user},
       greeting: Bonjour,
       commented:
@@ -2049,7 +2065,7 @@ fr:
   sessions:
     new:
       title: Se connecter
-      heading: Se connecter
+      tab_title: Se connecter
       email or username: 'Adresse de courriel ou nom d’utilisateur :'
       password: 'Mot de passe :'
       remember: Se souvenir de moi
@@ -2057,35 +2073,8 @@ fr:
       login_button: Se connecter
       register now: S’inscrire maintenant
       with external: 'Vous pouvez également utiliser un service tiers pour vous connecter :'
-      no account: Vous n’avez pas encore de compte ?
       auth failure: Désolé, mais les informations fournies n’ont pas permis de vous
         identifier.
-      openid_logo_alt: Se connecter avec OpenID
-      auth_providers:
-        openid:
-          title: Connexion avec OpenID
-          alt: Se connecter avec une URL OpenID
-        google:
-          title: Connexion avec Google
-          alt: Se connecter avec un OpenID de Google
-        facebook:
-          title: Connexion avec Facebook
-          alt: Se connecter avec un compte de Facebook
-        microsoft:
-          title: Connexion avec Microsoft
-          alt: Se connecter avec un compte Microsoft
-        github:
-          title: Connexion avec GitHub
-          alt: Se connecter avec un compte de GitHub
-        wikipedia:
-          title: Connexion avec Wikipédia
-          alt: Se connecter avec un compte de Wikipédia
-        wordpress:
-          title: Connexion avec Wordpress
-          alt: Se connecter avec un OpenID de Wordpress
-        aol:
-          title: Connexion avec AOL
-          alt: Se connecter avec un OpenID d’AOL
     destroy:
       title: Déconnexion
       heading: Se déconnecter d’OpenStreetMap
@@ -2275,6 +2264,7 @@ fr:
           générale des finances publiques (anciennement la Direction générale des
           impôts).'
         contributors_fr_france: France
+        contributors_hr_croatia: Croatie
         contributors_nl_credit_html: '%{netherlands} : contient des données © AND,
           2007 (%{and_link})'
         contributors_nl_netherlands: Pays-Bas
@@ -2782,6 +2772,32 @@ fr:
       oauth2_applications: Applications OAuth 2
       oauth2_authorizations: Droits OAuth 2
       muted_users: Utilisateurs silencieux
+    auth_providers:
+      openid_logo_alt: Se connecter avec OpenID
+      openid:
+        title: Connexion avec OpenID
+        alt: Se connecter avec une URL OpenID
+      google:
+        title: Connexion avec Google
+        alt: Se connecter avec un OpenID de Google
+      facebook:
+        title: Connexion avec Facebook
+        alt: Se connecter avec un compte de Facebook
+      microsoft:
+        title: Connexion avec Microsoft
+        alt: Se connecter avec un compte Microsoft
+      github:
+        title: Connexion avec GitHub
+        alt: Se connecter avec un compte de GitHub
+      wikipedia:
+        title: Connexion avec Wikipédia
+        alt: Se connecter avec un compte de Wikipédia
+      wordpress:
+        title: Connexion avec Wordpress
+        alt: Se connecter avec un OpenID de Wordpress
+      aol:
+        title: Connexion avec AOL
+        alt: Se connecter avec un OpenID d’AOL
   oauth:
     authorize:
       title: Autoriser l’accès à votre compte
@@ -2937,18 +2953,15 @@ fr:
       display name description: Votre nom d’utilisateur affiché publiquement. Vous
         pouvez changer ceci ultérieurement dans les préférences.
       external auth: 'Authentification tierce :'
-      use external auth: Vous pouvez également utiliser un service tiers pour vous
-        connecter.
-      auth no password: Avec l’authentification par tiers, un mot de passe n’est pas
-        nécessaire, mais des outils supplémentaires ou un serveur peuvent toujours
-        en nécessiter un.
       continue: S’inscrire
       terms accepted: Merci d’avoir accepté les nouveaux termes du contributeur !
-      email_confirmation_help_html: Votre adresse n’est pas affichée publiquement,
-        consultez notre %{privacy_policy_link} pour plus d’informations.
+      email_help_html: Votre adresse n’est pas affichée publiquement, consultez notre
+        %{privacy_policy_link} pour plus d’informations.
       privacy_policy: politique de confidentialité
       privacy_policy_title: Politique de confidentialité de l’OSMF, qui comprend une
         section sur les adresses de courriel
+      use external auth: Vous pouvez également utiliser un service tiers pour vous
+        connecter.
     terms:
       title: Conditions
       heading: Conditions
@@ -3057,6 +3070,8 @@ fr:
     index:
       title: Utilisateurs
       heading: Utilisateurs
+      older: Utilisateurs plus anciens
+      newer: Utilisateurs plus récents
       summary_html: '%{name} créé depuis %{ip_address} le %{date}'
       summary_no_ip_html: '%{name} créé le %{date}'
       confirm: Confirmer les utilisateurs sélectionnés
@@ -3214,6 +3229,13 @@ fr:
       reason: Motif du blocage
       status: État
       revoker_name: Révoqué par
+    navigation:
+      all_blocks: Tous les blocages
+      blocks_on_me: Blocages me concernant
+      blocks_on_user: Blocages sur %{user}
+      blocks_by_me: Blocages de ma part
+      blocks_by_user: Blocages effectués par %{user}
+      block: 'Blocage #%{id}'
   user_mutes:
     index:
       title: Utilisateurs en sourdine
index 018f181cd558e6934e5ec73e8db1aae432500987..f03174352c4e64cff367c97a69238ca80cfd5da9 100644 (file)
@@ -127,7 +127,6 @@ fur:
         auth_provider: Fornidôr de autenticazion
         auth_uid: UID de autenticazion
         email: Pueste eletroniche
-        email_confirmation: Conferme de pueste eletroniche
         new_email: Gnove direzion di pueste
         active: Atîf
         display_name: Non di mostrâ
@@ -1144,41 +1143,14 @@ fur:
   sessions:
     new:
       title: Jentre
-      heading: Jentre
+      tab_title: Jentre
       email or username: 'Direzion di pueste eletroniche o non utent:'
       password: 'Password:'
       remember: Visiti di me
       lost password link: Password pierdude?
       login_button: Jentre
       register now: Regjistriti cumò
-      no account: No âstu ancjemò un profîl?
       auth failure: Nus displâs, ma no si à rivât a jentrâ cun i dâts inserîts.
-      openid_logo_alt: Jentre cuntun OpenID
-      auth_providers:
-        openid:
-          title: Jentre cun OpenID
-          alt: Jentre cuntun URL OpenID
-        google:
-          title: Jentre cun Google
-          alt: Jentre cuntun OpenID Google
-        facebook:
-          title: Jentre cun Facebook
-          alt: Jentre cuntun un cont Facebook
-        microsoft:
-          title: Jentre cun Microsoft
-          alt: Jentre cuntun cont di Microsoft
-        github:
-          title: Jentre cun GitHub
-          alt: Jentre cuntun cont GitHub
-        wikipedia:
-          title: Jentre cun Vichipedie
-          alt: Jentre cuntun cont de Vichipedie
-        wordpress:
-          title: Jentre cun Wordpress
-          alt: Jentre cuntun OpenID Wordpress
-        aol:
-          title: Jentre cun AOL
-          alt: Jentre cuntun OpenID AOL
     destroy:
       title: Jes
       heading: Va fûr di OpenStreetMap
@@ -1439,6 +1411,32 @@ fur:
       oauth1_settings: Impostazions OAuth1
       oauth2_applications: Aplicazions OAuth 2
       oauth2_authorizations: Autorizazions OAuth 2
+    auth_providers:
+      openid_logo_alt: Jentre cuntun OpenID
+      openid:
+        title: Jentre cun OpenID
+        alt: Jentre cuntun URL OpenID
+      google:
+        title: Jentre cun Google
+        alt: Jentre cuntun OpenID Google
+      facebook:
+        title: Jentre cun Facebook
+        alt: Jentre cuntun un cont Facebook
+      microsoft:
+        title: Jentre cun Microsoft
+        alt: Jentre cuntun cont di Microsoft
+      github:
+        title: Jentre cun GitHub
+        alt: Jentre cuntun cont GitHub
+      wikipedia:
+        title: Jentre cun Vichipedie
+        alt: Jentre cuntun cont de Vichipedie
+      wordpress:
+        title: Jentre cun Wordpress
+        alt: Jentre cuntun OpenID Wordpress
+      aol:
+        title: Jentre cun AOL
+        alt: Jentre cuntun OpenID AOL
   oauth:
     authorize:
       title: Permèt l'accès al to cont
@@ -1537,11 +1535,9 @@ fur:
       display name description: Il non utent che al vignarà mostrât a ducj. Tu podarâs
         gambiâlu plui tart tes preferencis.
       external auth: 'Autenticazion vie une tierce part:'
-      use external auth: In alternative, dopre une tierce part par jentrâ
-      auth no password: Cun l'autenticazione vie une tierce part, no convente une
-        password ma cualchi imprest o servidôr esterni podarès instès domandânt une
       continue: Regjistriti
       terms accepted: Graziis par vê acetât i gnûfs tiermins par contribuî!
+      use external auth: In alternative, dopre une tierce part par jentrâ
     terms:
       title: Tiermins
       heading: Tiermins
index 7fce45fa2ccfa048945908f45649a463affca127..ec00cb99b638344802170695ac056d0863857634 100644 (file)
@@ -133,7 +133,6 @@ fy:
         auth_provider: Autentifikaasje-oanbieder
         auth_uid: Autentifikaasje-UID
         email: E-mail
-        email_confirmation: Befêstigjen e-mail
         new_email: Nij e-mailadres
         active: Aktyf
         display_name: Werjûne namme
@@ -1770,7 +1769,7 @@ fy:
   sessions:
     new:
       title: Oanmelde
-      heading: Oanmelde
+      tab_title: Oanmelde
       email or username: 'E-mailadres as meidochnamme:'
       password: 'Wachtwurd:'
       remember: My ûnthâlde
@@ -1778,34 +1777,7 @@ fy:
       login_button: Oanmelde
       register now: No ynskriuwe
       with external: 'Brûk oars in treddepartij om jo oan te melden:'
-      no account: Hawwe jo gjin akkount?
       auth failure: Spitich, koe jo net oanmelde mei dy gegevens.
-      openid_logo_alt: Meld jo oan mei in openID
-      auth_providers:
-        openid:
-          title: Oanmelde mei OpenID
-          alt: Meld jo oan mei in OpenID-URL
-        google:
-          title: Oanmelde mei Google
-          alt: Meld jo oan mei in Google-openID
-        facebook:
-          title: Oanmelde mei Facebook
-          alt: Meld jo oan mei in Facebook-akkount
-        microsoft:
-          title: Oanmelde mei Windows Live
-          alt: Meld jo oan mei in Windows Live-akkount
-        github:
-          title: Oanmelde mei GitHub
-          alt: Meld jo oan mei in GitHub-akkount
-        wikipedia:
-          title: Oanmelde mei de Wikipedy
-          alt: Meld jo oan mei in Wikipedy-akkount
-        wordpress:
-          title: Oanmelde mei Wordpress
-          alt: Meld jo oan mei in Wordpress-openID
-        aol:
-          title: Oanmelde mei AOL
-          alt: Meld jo oan mei in AOL-openID
     destroy:
       title: Ofmelde
       heading: Ofmelde by OpenStreetMap
@@ -2185,6 +2157,32 @@ fy:
       oauth1_settings: Ynstellings OAuth 1
       oauth2_applications: Applikaasjes OAuth 2
       oauth2_authorizations: Autorisaasjes OAuth 2
+    auth_providers:
+      openid_logo_alt: Meld jo oan mei in openID
+      openid:
+        title: Oanmelde mei OpenID
+        alt: Meld jo oan mei in OpenID-URL
+      google:
+        title: Oanmelde mei Google
+        alt: Meld jo oan mei in Google-openID
+      facebook:
+        title: Oanmelde mei Facebook
+        alt: Meld jo oan mei in Facebook-akkount
+      microsoft:
+        title: Oanmelde mei Windows Live
+        alt: Meld jo oan mei in Windows Live-akkount
+      github:
+        title: Oanmelde mei GitHub
+        alt: Meld jo oan mei in GitHub-akkount
+      wikipedia:
+        title: Oanmelde mei de Wikipedy
+        alt: Meld jo oan mei in Wikipedy-akkount
+      wordpress:
+        title: Oanmelde mei Wordpress
+        alt: Meld jo oan mei in Wordpress-openID
+      aol:
+        title: Oanmelde mei AOL
+        alt: Meld jo oan mei in AOL-openID
   oauth:
     authorize:
       title: Tagong ta jo akkount autorisearje
@@ -2322,11 +2320,9 @@ fy:
       display name description: Jo meidochnamme dy't elkenien sjen kin. Jo kinne dy
         letter yn 'e foarkarren feroarje.
       external auth: 'Tredde-autentifikaasje:'
-      use external auth: Brûk oars in treddepartij om jo oan te melden
-      auth no password: Mei autentifikaasje troch in tredde is in wachtwurd oerstallich,
-        mar guon ark as tsjinners soene ien freegje kinne.
       continue: Ynskriuwe
       terms accepted: Tankjewol foar it akseptearjen fan 'e nije bydragersbetingsten!
+      use external auth: Brûk oars in treddepartij om jo oan te melden
     terms:
       title: Betingsten
       heading: Betingsten
index bdfa6b1d498ce8f912d0bbf238c185d3985dc12c..2e8857e8fe2ad11b64c8abc847231ec029c434ac 100644 (file)
@@ -126,7 +126,6 @@ ga:
         auth_provider: Soláthraí Fíordheimhniúcháin
         auth_uid: UID Fíordheimhnithe
         email: Ríomhphost
-        email_confirmation: Deimhniú ar an seoladh ríomhphost
         new_email: An seoladh ríomhphoist nua
         active: Gníomhach
         display_name: Ainm Taispeána
@@ -1319,7 +1318,7 @@ ga:
   sessions:
     new:
       title: Logáil isteach
-      heading: Logáil isteach
+      tab_title: Logáil isteach
       email or username: 'Seoladh Ríomhphoist nó Ainm Úsáideora:'
       password: 'Focal Faire:'
       remember: Cuimhnigh orm
@@ -1327,34 +1326,7 @@ ga:
       login_button: Logáil isteach
       register now: Cláraigh anois
       with external: 'Nó, bain úsáid as tríú páirtí le logáil isteach:'
-      no account: Níl cuntas agat?
       auth failure: Ár leithscéil, níorbh fhéidir logáil isteach leis na sonraí sin.
-      openid_logo_alt: Logáil isteach le OpenID
-      auth_providers:
-        openid:
-          title: Logáil isteach le OpenID
-          alt: Logáil isteach le URL OpenID
-        google:
-          title: Logáil isteach le Google
-          alt: Logáil isteach le OpenID Google
-        facebook:
-          title: Logáil isteach le Facebook
-          alt: Logáil isteach le Cuntas Facebook
-        microsoft:
-          title: Logáil isteach le Windows Live
-          alt: Logáil isteach le Cuntas Windows Live
-        github:
-          title: Logáil isteach le GitHub
-          alt: Logáil isteach le Cuntas GitHub
-        wikipedia:
-          title: Logáil isteach le Vicipéid
-          alt: Logáil isteach le Cuntas Vicipéid
-        wordpress:
-          title: Logáil isteach le Wordpress
-          alt: Logáil isteach le OpenID Wordpress
-        aol:
-          title: Logáil isteach le AOL
-          alt: Logáil isteach le OpenID AOL
     destroy:
       title: Logáil amach
       heading: Logáil amach as OpenStreetMap
@@ -1668,6 +1640,32 @@ ga:
       need_to_see_terms: Cuireadh do rochtain ar an API ar fionraí go sealadach. Logáil
         isteach ar an gcomhéadan gréasáin le hamharc ar Théarmaí na Rannchuiditheoirí.
         Ní gá duit aontú, ach ní mór duit amharc orthu.
+    auth_providers:
+      openid_logo_alt: Logáil isteach le OpenID
+      openid:
+        title: Logáil isteach le OpenID
+        alt: Logáil isteach le URL OpenID
+      google:
+        title: Logáil isteach le Google
+        alt: Logáil isteach le OpenID Google
+      facebook:
+        title: Logáil isteach le Facebook
+        alt: Logáil isteach le Cuntas Facebook
+      microsoft:
+        title: Logáil isteach le Windows Live
+        alt: Logáil isteach le Cuntas Windows Live
+      github:
+        title: Logáil isteach le GitHub
+        alt: Logáil isteach le Cuntas GitHub
+      wikipedia:
+        title: Logáil isteach le Vicipéid
+        alt: Logáil isteach le Cuntas Vicipéid
+      wordpress:
+        title: Logáil isteach le Wordpress
+        alt: Logáil isteach le OpenID Wordpress
+      aol:
+        title: Logáil isteach le AOL
+        alt: Logáil isteach le OpenID AOL
   oauth:
     authorize:
       title: Rochtain ar do chuntas a údarú
@@ -1749,9 +1747,9 @@ ga:
       display name description: An t-ainm úsáideora atá agat a thaispeántar go poiblí.
         Is féidir leat é seo a athrú níos moille sna sainroghanna.
       external auth: 'Fíordheimhniú Tríú Páirtí:'
-      use external auth: Nó, bain úsáid as tríú páirtí le logáil isteach
       continue: Cláraigh
       terms accepted: Go raibh maith agat as glacadh leis na téarmaí nua do rannchuiditheoirí.
+      use external auth: Nó, bain úsáid as tríú páirtí le logáil isteach
     terms:
       title: Téarmaí
       heading: Téarmaí
index c662fb049b19396ad5b3ed7fbd01c993557c9f0d..b4f35e515526dc3545c47d55db0db5dc0fdf1742 100644 (file)
@@ -544,15 +544,12 @@ gcf:
   sessions:
     new:
       title: Konnékté-w
-      heading: Konnékté-w
+      tab_title: Konnékté-w
       email or username: 'Adrès imél oben nom itilizatè a-w :'
       password: 'Kòd a''w:'
       remember: Sonjé-mwen
       lost password link: Ou pèd kòd a-w?
       login_button: Konnékté-w
-      auth_providers:
-        wikipedia:
-          title: Konèkté-w épi Wikipédya
   site:
     about:
       next: Jousapré
@@ -627,6 +624,10 @@ gcf:
       more: plis
     index:
       empty_title: Ayen pò-ò la
+  application:
+    auth_providers:
+      wikipedia:
+        title: Konèkté-w épi Wikipédya
   oauth:
     authorize:
       allow_write_api: modifyé kat-la.
index 90cf01bdfd3f0d782e0623c9c34ba61b87007029..5f9ee47092e1bdc58c0cfdedef20325f7cbdd12a 100644 (file)
@@ -1163,7 +1163,7 @@ gd:
   sessions:
     new:
       title: Clàraich a-steach
-      heading: Clàraich a-steach
+      tab_title: Clàraich a-steach
       email or username: 'Seòladh puist-d no ainm-cleachdaiche:'
       password: 'Facal-faire:'
       remember: Cuimhnich orm
@@ -1171,35 +1171,8 @@ gd:
       login_button: Clàraich a-steach
       register now: Clàraich an-dràsta
       with external: 'No cleachd treas-phàrtaidh airson clàradh a-steach:'
-      no account: Nach eil cunntas agad?
       auth failure: Duilich ach chan urrainn dhuinn do clàradh a-steach leis an fiosrachadh
         seo.
-      openid_logo_alt: Clàraich a-steach le OpenID
-      auth_providers:
-        openid:
-          title: Clàraich a-steach le OpenID
-          alt: Clàraich a-steach le URL OpenID
-        google:
-          title: Clàraich a-steach le Google
-          alt: Clàraich a-steach le OpenID Google
-        facebook:
-          title: Clàraich a-steach le Facebook
-          alt: Clàraich a-steach le cunntas Facebook
-        microsoft:
-          title: Clàraich a-steach le Windows Live
-          alt: Clàraich a-steach le cunntas Windows Live
-        github:
-          title: Clàraich a-steach le GitHub
-          alt: Clàraich a-steach le cunntas GitHub
-        wikipedia:
-          title: Clàraich a-steach leis an Uicipeid
-          alt: Clàraich a-steach le cunntas na h-Uicipeid
-        wordpress:
-          title: Clàraich a-steach le Wordpress
-          alt: Clàraich a-steach le OpenID Wordpress
-        aol:
-          title: Clàraich a-steach le AOL
-          alt: Clàraich a-steach le OpenID AOL
     destroy:
       title: Clàraich a-mach
       heading: Clàraich a-mach à OpenStreetMap
@@ -1528,6 +1501,32 @@ gd:
         Feuch an clàraich thu a-steach air an eadar-aghaidh-lìn gus teirmichean a'
         chom-pàirtiche a shealltainn. Cha leig thu leas aontachadh riutha, ach feumaidh
         tu an leughadh.
+    auth_providers:
+      openid_logo_alt: Clàraich a-steach le OpenID
+      openid:
+        title: Clàraich a-steach le OpenID
+        alt: Clàraich a-steach le URL OpenID
+      google:
+        title: Clàraich a-steach le Google
+        alt: Clàraich a-steach le OpenID Google
+      facebook:
+        title: Clàraich a-steach le Facebook
+        alt: Clàraich a-steach le cunntas Facebook
+      microsoft:
+        title: Clàraich a-steach le Windows Live
+        alt: Clàraich a-steach le cunntas Windows Live
+      github:
+        title: Clàraich a-steach le GitHub
+        alt: Clàraich a-steach le cunntas GitHub
+      wikipedia:
+        title: Clàraich a-steach leis an Uicipeid
+        alt: Clàraich a-steach le cunntas na h-Uicipeid
+      wordpress:
+        title: Clàraich a-steach le Wordpress
+        alt: Clàraich a-steach le OpenID Wordpress
+      aol:
+        title: Clàraich a-steach le AOL
+        alt: Clàraich a-steach le OpenID AOL
   oauth:
     authorize:
       title: Ceadaich inntrigeadh dhan chunntas agad
@@ -1607,12 +1606,9 @@ gd:
       display name description: An t-ainm-cleachdaiche agad a thèid a shealltainn
         gu poblach. 'S urrainn dhut seo atharrachadh uair sam bith sna roghainnean.
       external auth: 'Dearbhadh treas-phàrtaidh:'
-      use external auth: No cleachd treas-phàrtaidh airson clàradh a-steach
-      auth no password: Chan iarr sinn facal-faire ort le dearbhadh treas-phàrtaidh
-        ach dh'fhaoidte gum bi innealan a bharrachd no frithealaiche feumach air fear
-        co-dhiù.
       continue: Clàraich
       terms accepted: Mòran taing gun do dh'aontaich thu ri teirmichean a' chom-pàirtiche!
+      use external auth: No cleachd treas-phàrtaidh airson clàradh a-steach
     terms:
       title: Teirmichean a' chom-pàirtiche
       heading: Teirmichean a' chom-pàirtiche
index 0d0d2b1682fb570f6b1233fcb20d40af6c6c597d..0fea5e93bdb3b0f92cb11acb3d09c54294468019 100644 (file)
@@ -155,7 +155,6 @@ gl:
         auth_provider: Fornecedor de autenticación
         auth_uid: UID de autenticación
         email: Enderezo de correo electrónico
-        email_confirmation: Confirmación do correo
         new_email: Novo enderezo de correo electrónico
         active: Activo
         display_name: Nome público
@@ -1958,7 +1957,7 @@ gl:
   sessions:
     new:
       title: Acceder ao sistema
-      heading: Acceder ao sistema
+      tab_title: Acceder ao sistema
       email or username: Enderezo de correo electrónico ou nome de usuario
       password: Contrasinal
       remember: Lembrádeme
@@ -1966,34 +1965,7 @@ gl:
       login_button: Acceder ao sistema
       register now: Rexístrate agora
       with external: 'Ou ben, emprega un servizo de terceiros para acceder:'
-      no account: Non estás rexistrado?
       auth failure: Sentímolo, non puido acceder ó sistema con eses datos.
-      openid_logo_alt: Acceder ó sistema cun OpenID
-      auth_providers:
-        openid:
-          title: Acceder ó sistema co OpenID
-          alt: Acceder ó sistema cun URL do OpenID
-        google:
-          title: Acceder ó sistema con Google
-          alt: Acceder ó sistema cun OpenID de Google
-        facebook:
-          title: Acceder ó sistema co Facebook
-          alt: Acceder ó sistema cunha conta do Facebook
-        microsoft:
-          title: Acceder ó sistema con Microsoft
-          alt: Acceder ó sistema cunha conta de Microsoft
-        github:
-          title: Acceder ó sistema co GitHub
-          alt: Acceder ó sistema cunha conta do GitHub
-        wikipedia:
-          title: Acceder ó sistema coa Wikipedia
-          alt: Acceder ó sistema cunha conta da Wikipedia
-        wordpress:
-          title: Acceder ó sistema co Wordpress
-          alt: Acceder ó sistema cun OpenID do Wordpress
-        aol:
-          title: Acceder ó sistema co AOL
-          alt: Acceder ó sistema cun OpenID do AOL
     destroy:
       title: Pechar a sesión
       heading: Saír do OpenStreetMap
@@ -2677,6 +2649,32 @@ gl:
       oauth2_applications: Aplicacións OAuth 2
       oauth2_authorizations: Autorizacións OAuth 2
       muted_users: Usuarios silenciados
+    auth_providers:
+      openid_logo_alt: Acceder ó sistema cun OpenID
+      openid:
+        title: Acceder ó sistema co OpenID
+        alt: Acceder ó sistema cun URL do OpenID
+      google:
+        title: Acceder ó sistema con Google
+        alt: Acceder ó sistema cun OpenID de Google
+      facebook:
+        title: Acceder ó sistema co Facebook
+        alt: Acceder ó sistema cunha conta do Facebook
+      microsoft:
+        title: Acceder ó sistema con Microsoft
+        alt: Acceder ó sistema cunha conta de Microsoft
+      github:
+        title: Acceder ó sistema co GitHub
+        alt: Acceder ó sistema cunha conta do GitHub
+      wikipedia:
+        title: Acceder ó sistema coa Wikipedia
+        alt: Acceder ó sistema cunha conta da Wikipedia
+      wordpress:
+        title: Acceder ó sistema co Wordpress
+        alt: Acceder ó sistema cun OpenID do Wordpress
+      aol:
+        title: Acceder ó sistema co AOL
+        alt: Acceder ó sistema cun OpenID do AOL
   oauth:
     authorize:
       title: Autorizar o acceso á túa conta
@@ -2826,16 +2824,14 @@ gl:
       display name description: O teu nome de usuario amosado publicamente. Podes
         mudalo máis tarde nos axustes.
       external auth: 'Autenticación de terceiros:'
-      use external auth: Ou ben, emprega un servizo de terceiros para acceder
-      auth no password: Coa autenticación de terceiros non se precisa un contrasinal,
-        aínda que hai algunhas ferramentas e servidores que aínda a solicitan.
       continue: Rexistrarse
       terms accepted: Grazas por aceptar os novos termos do colaborador!
-      email_confirmation_help_html: O teu enderezo non se mostra publicamente; consulta
-        a nosa %{privacy_policy_link} para obter máis información.
+      email_help_html: O teu enderezo non se mostra publicamente; consulta a nosa
+        %{privacy_policy_link} para obter máis información.
       privacy_policy: política de protección de datos
       privacy_policy_title: Política de protección de datos da OSMF, que contén unha
         sección sobre os enderezos de correo electrónico
+      use external auth: Ou ben, emprega un servizo de terceiros para acceder
     terms:
       title: Termos
       heading: Termos
index 18291aabd11d7e9c2dd6d13119fd970029ef4cdf..9779599b052cd84b965680b999d35e7779a63288 100644 (file)
@@ -176,7 +176,6 @@ he:
         auth_provider: ספק אימות
         auth_uid: מזהה אימות ייחודי
         email: דוא״ל
-        email_confirmation: אימות דוא״ל
         new_email: כתובת דוא״ל חדשה
         active: פעיל
         display_name: שם לתצוגה
@@ -1961,7 +1960,7 @@ he:
   sessions:
     new:
       title: כניסה
-      heading: כניסה
+      tab_title: כניסה
       email or username: כתובת דוא״ל או שם משתמש
       password: סיסמה
       remember: לזכור אותי
@@ -1969,34 +1968,7 @@ he:
       login_button: כניסה
       register now: להירשם עכשיו
       with external: 'לחלופין, השתמשו בצד שלישי כדי להיכנס:'
-      no account: אין לך חשבון?
       auth failure: סליחה, לא ניתן להיכנס עם הפרטים האלה.
-      openid_logo_alt: כניסה עם OpenID
-      auth_providers:
-        openid:
-          title: כניסה עם OpenID
-          alt: כניסה עם URL של OpenID
-        google:
-          title: כניסה עם גוגל
-          alt: כניסה עם OpenID של גוגל
-        facebook:
-          title: כניסה עם פייסבוק
-          alt: כניסה עם חשבון פייסבוק
-        microsoft:
-          title: כניסה עם מיקרוסופט
-          alt: כניסה עם חשבון מיקרוסופט
-        github:
-          title: כניסה עם גיטהאב
-          alt: כניסה עם חשבון גיטהאב
-        wikipedia:
-          title: כניסה עם ויקיפדיה
-          alt: כניסה עם חשבון ויקיפדיה
-        wordpress:
-          title: כניסה עם וורדפרס
-          alt: כניסה עם OpenID של וורדפרס
-        aol:
-          title: כניסה עם AOL
-          alt: כניסה עם OpenID של AOL
     destroy:
       title: יציאה
       heading: יציאה מ־OpenStreetMap
@@ -2652,6 +2624,32 @@ he:
       oauth2_applications: יישומי OAuth 2
       oauth2_authorizations: אישורי OAuth 2
       muted_users: משתמשים מושתקים
+    auth_providers:
+      openid_logo_alt: כניסה עם OpenID
+      openid:
+        title: כניסה עם OpenID
+        alt: כניסה עם URL של OpenID
+      google:
+        title: כניסה עם גוגל
+        alt: כניסה עם OpenID של גוגל
+      facebook:
+        title: כניסה עם פייסבוק
+        alt: כניסה עם חשבון פייסבוק
+      microsoft:
+        title: כניסה עם מיקרוסופט
+        alt: כניסה עם חשבון מיקרוסופט
+      github:
+        title: כניסה עם גיטהאב
+        alt: כניסה עם חשבון גיטהאב
+      wikipedia:
+        title: כניסה עם ויקיפדיה
+        alt: כניסה עם חשבון ויקיפדיה
+      wordpress:
+        title: כניסה עם וורדפרס
+        alt: כניסה עם OpenID של וורדפרס
+      aol:
+        title: כניסה עם AOL
+        alt: כניסה עם OpenID של AOL
   oauth:
     authorize:
       title: אישור הגישה לחשבון שלך
@@ -2795,15 +2793,13 @@ he:
       display name description: שם המשתמש שלך, שמוצג בפומבי. אפשר לשנות את זה בהעדפות
         שלך.
       external auth: 'אימות עם צד שלישי:'
-      use external auth: לחלופין, אפשר להשתמש בגורמי צד שלישי כדי להיכנס
-      auth no password: עם אימות צד שלישי אין צורך בסיסמה, אבל כלים נוספים או שרת
-        יכולים להזדקק לכזה.
       continue: הרשמה
       terms accepted: תודה על קבלת תנאי התרומה החדשים!
-      email_confirmation_help_html: הכתובת שלך אינה מוצגת בפומבי, ר' את %{privacy_policy_link}
+      email_help_html: הכתובת שלך אינה מוצגת בפומבי, ר' את %{privacy_policy_link}
         שלנו למידע נוסף.
       privacy_policy: מדיניות הפרטיות
       privacy_policy_title: מדיניות הפרטיות של OSMF כוללת סעיף על כתובות דוא״ל
+      use external auth: לחלופין, אפשר להשתמש בגורמי צד שלישי כדי להיכנס
     terms:
       title: תנאים
       heading: תנאים
index afed0e0dd6e0f4bb838ee1bff10b91ba0fc581df..09f4fe50f31b660f6f9c8bd264e51b7f610a9d13 100644 (file)
@@ -151,7 +151,6 @@ hi:
         auth_provider: प्रमाणीकरण प्रदाता
         auth_uid: प्रमाणीकरण यूआईडी
         email: ई-मेल
-        email_confirmation: ईमेल पुष्टिकरण
         new_email: नया ई-मेल पता
         active: सक्रिय
         display_name: प्रदर्शन नाम
index d04efe349bd3a33a9eb36c147b8b12683c9021ac..a01a6e06ded9270b1859f65a876ede5fa7c3af42 100644 (file)
@@ -128,7 +128,6 @@ hr:
         description: Opis
       user:
         email: Email
-        email_confirmation: 'Potvrda adrese e-pošte:'
         new_email: 'Nova adresa e-pošte:'
         active: Aktivan
         display_name: Prikaži ime
@@ -1225,7 +1224,7 @@ hr:
   sessions:
     new:
       title: Prijava
-      heading: Prijava
+      tab_title: Prijava
       email or username: 'Email adresa ili korisničko ime:'
       password: 'Lozinka:'
       remember: Zapamti me
@@ -1233,34 +1232,7 @@ hr:
       login_button: Prijava
       register now: Registrirajte se sada
       with external: 'Ili koristite drugi servis za prijavljivanje:'
-      no account: Nemate račun?
       auth failure: Žao mi je, ne mogu prijaviti s ovim detaljima.
-      openid_logo_alt: Prijavi se sa OpenID-om
-      auth_providers:
-        openid:
-          title: Prijavi se sa OpenID-om
-          alt: Prijavi se sa URL-om OpenID-a
-        google:
-          title: Prijavi se sa Google-om
-          alt: Prijavi se sa Google-ovim OpenID-om
-        facebook:
-          title: Prijavi se sa Facebook-om
-          alt: Prijavi se sa računom Facebook-a
-        microsoft:
-          title: Prijavi se sa Windows Live-om
-          alt: Prijavi se sa računom Windows Live-a
-        github:
-          title: Prijavi se sa Github-om
-          alt: Prijavi se sa računom Github-a
-        wikipedia:
-          title: Prijavi se preko Wikipedije
-          alt: Prijavi se s Wikipedijinim računom
-        wordpress:
-          title: Prijavi se sa Wordpressom
-          alt: Prijavi se sa Wordpressovim OpenID-om
-        aol:
-          title: Prijavi se sa AOL-om
-          alt: Prijavi se sa AOL-ovim OpenID-om
     destroy:
       title: Odjava
       heading: Odjava iz OpenStreetMap-a
@@ -1556,6 +1528,32 @@ hr:
     setup_user_auth:
       blocked: Tvoj pristup API-u je blokiran. Prijavite se na web sučelje da saznate
         više.
+    auth_providers:
+      openid_logo_alt: Prijavi se sa OpenID-om
+      openid:
+        title: Prijavi se sa OpenID-om
+        alt: Prijavi se sa URL-om OpenID-a
+      google:
+        title: Prijavi se sa Google-om
+        alt: Prijavi se sa Google-ovim OpenID-om
+      facebook:
+        title: Prijavi se sa Facebook-om
+        alt: Prijavi se sa računom Facebook-a
+      microsoft:
+        title: Prijavi se sa Windows Live-om
+        alt: Prijavi se sa računom Windows Live-a
+      github:
+        title: Prijavi se sa Github-om
+        alt: Prijavi se sa računom Github-a
+      wikipedia:
+        title: Prijavi se preko Wikipedije
+        alt: Prijavi se s Wikipedijinim računom
+      wordpress:
+        title: Prijavi se sa Wordpressom
+        alt: Prijavi se sa Wordpressovim OpenID-om
+      aol:
+        title: Prijavi se sa AOL-om
+        alt: Prijavi se sa AOL-ovim OpenID-om
   oauth:
     authorize:
       request_access_html: Aplikacija %{app_name} zahtjeva pristup vašem korisničkom
@@ -1620,11 +1618,9 @@ hr:
       display name description: Javno prikazano korisničko ime. Možete ga promjeniti
         i kasnije u postavkama.
       external auth: 'Prijavljivanje s drugog servisa:'
-      use external auth: Alternativno, koristite drugi servis za prijavljivanje
-      auth no password: Sa prijavljivanjem sa drugog servisa ne trebate lozinku, ali
-        drugi alati ili serveri će možda trebati.
       continue: Otvori račun
       terms accepted: Hvala za prihvaćanje novih pridonositeljskih uvjeta!
+      use external auth: Alternativno, koristite drugi servis za prijavljivanje
     terms:
       title: Uvjeti doprinositelja
       heading: Uvjeti
index 295de5cc96c3676578f1c7a1e92d72507a0b9b22..96b9ebff2dd493a534babb463e37005f16e19a30 100644 (file)
@@ -142,7 +142,6 @@ hsb:
         auth_provider: Poskićowar awtentifikacije
         auth_uid: UID awtentifikacije
         email: E-mejl
-        email_confirmation: Wobkrućenje mejlki
         new_email: Nowa mejlowa adresa
         active: Aktiwny
         display_name: Wužiwarske mjeno
@@ -1819,7 +1818,7 @@ hsb:
   sessions:
     new:
       title: Přizjewjenje
-      heading: Přizjewjenje
+      tab_title: Přizjewjenje
       email or username: E-mejlowa adresa abo wužiwarske mjeno
       password: Hesło
       remember: Spomjatkować sej
@@ -1827,34 +1826,7 @@ hsb:
       login_button: Přizjewjenje
       register now: Nětko registrować
       with external: 'Wužiwaj jako alternatiwu třećeho za přizjewjenje:'
-      no account: Nimaš žane konto?
       auth failure: Bohužel přizjewjenje z tutymi podaćemi móžno njeje.
-      openid_logo_alt: Z OpenID přizjewić
-      auth_providers:
-        openid:
-          title: Přizjewjenje z OpenID
-          alt: Přizjewjenje z OpenID-URL
-        google:
-          title: Přizjewjenje z Google
-          alt: Přizjewjenje z Google OpenID
-        facebook:
-          title: Přizjewjenje z Facebook
-          alt: Přizjewjenje z facebookowym kontom
-        microsoft:
-          title: Přizjewjenje z Microsoft
-          alt: Přizjewjenje z kontom Microsoft
-        github:
-          title: Z GitHub přizjewić
-          alt: Z kontom GitHub přizjewić
-        wikipedia:
-          title: Z Wikipediju přizjewić
-          alt: Z kontom Wikipedije přizjewić
-        wordpress:
-          title: Přizjewjenje z Wordpress
-          alt: Přizjewjenje z Wordpress OpenID
-        aol:
-          title: Přizjewjenje z AOL
-          alt: Přizjewjenje z AOL OpenID
     destroy:
       title: Wotzjewić
       heading: Z OpenStreetMap wotzjewić
@@ -2296,6 +2268,32 @@ hsb:
       oauth2_applications: Nastajenja OAUTH 2
       oauth2_authorizations: Prawa OAUTH 2
       muted_users: Zněmjeni wužiwarjo
+    auth_providers:
+      openid_logo_alt: Z OpenID přizjewić
+      openid:
+        title: Přizjewjenje z OpenID
+        alt: Přizjewjenje z OpenID-URL
+      google:
+        title: Přizjewjenje z Google
+        alt: Přizjewjenje z Google OpenID
+      facebook:
+        title: Přizjewjenje z Facebook
+        alt: Přizjewjenje z facebookowym kontom
+      microsoft:
+        title: Přizjewjenje z Microsoft
+        alt: Přizjewjenje z kontom Microsoft
+      github:
+        title: Z GitHub přizjewić
+        alt: Z kontom GitHub přizjewić
+      wikipedia:
+        title: Z Wikipediju přizjewić
+        alt: Z kontom Wikipedije přizjewić
+      wordpress:
+        title: Přizjewjenje z Wordpress
+        alt: Přizjewjenje z Wordpress OpenID
+      aol:
+        title: Přizjewjenje z AOL
+        alt: Přizjewjenje z AOL OpenID
   oauth:
     authorize:
       title: Přistup na twoje konto awtorizować
@@ -2424,12 +2422,10 @@ hsb:
       display name description: Sy wužiwarske mjeno zjawnje pokazał. Móžeš to pozdźišo
         w nastajenjach změnić.
       external auth: Awtentifikacija přez třeću stronu
-      use external auth: Jako alternatiwa wužij třeću stronu za přizjewjenje
-      auth no password: Z přizjewjenjom přez třeću stronu hesło trěbne njeje, ale
-        někotrym přidatnym funkcijam abo serweram móhło być trjeba.
       continue: Registrować
       terms accepted: Dźakujemy so, zo sy nowe wuměnjenja za sobuskutkowarjow akceptował!
       privacy_policy: prawidła priwatnosće
+      use external auth: Jako alternatiwa wužij třeću stronu za přizjewjenje
     terms:
       title: Wuměnjenja
       heading: Wuměnjenja
index c94bc61417d4056d77072020ed0ac14f4cad1b51..759414b842287590f33fe669a05d7fbf7c80cb8c 100644 (file)
@@ -171,7 +171,6 @@ hu:
         auth_provider: Hitelesítésszolgáltató
         auth_uid: Hitelesítési felhasználóazonosító
         email: E-mail
-        email_confirmation: E-mail-cím megerősítése
         new_email: Új e-mail-cím
         active: Aktív
         display_name: Megjelenítendő név
@@ -1951,7 +1950,7 @@ hu:
   sessions:
     new:
       title: Bejelentkezés
-      heading: Bejelentkezés
+      tab_title: Bejelentkezés
       email or username: E-mail-cím vagy felhasználónév
       password: Jelszó
       remember: Emlékezz rám
@@ -1959,34 +1958,7 @@ hu:
       login_button: Bejelentkezés
       register now: Regisztrálj most
       with external: 'Alternatívaként használj külső fiókot a bejelentkezéshez:'
-      no account: Nem rendelkezel még felhasználói fiókkal?
       auth failure: Sajnáljuk, ilyen adatokkal nem tudsz bejelentkezni.
-      openid_logo_alt: Bejelentkezés egy OpenID-vel
-      auth_providers:
-        openid:
-          title: Bejelentkezés OpenID-vel
-          alt: Bejelentkezés OpenID-URL-lel
-        google:
-          title: Bejelentkezés Google-lel
-          alt: Bejelentkezés Google OpenID-vel
-        facebook:
-          title: Bejelentkezés Facebook-kal
-          alt: Bejelentkezés Facebook fiókkal
-        microsoft:
-          title: Bejelentkezés Microsofttal.
-          alt: Bejelentkezés Microsoft fiókkal
-        github:
-          title: Bejelentkezés GitHub-bal
-          alt: Bejelentkezés GitHub fiókkal
-        wikipedia:
-          title: Bejelentkezés Wikipédiával
-          alt: Wikipédia fiókkal való bejelentkezés
-        wordpress:
-          title: Bejelentkezés Wordpress-szel
-          alt: Bejelentkezés Wordpress OpenID-vel
-        aol:
-          title: Bejelentkezés AOL-lal
-          alt: Bejelentkezés AOL OpenID-vel
     destroy:
       title: Kijelentkezés
       heading: Kijelentkezés az OpenStreetMapból
@@ -2591,6 +2563,32 @@ hu:
       oauth2_applications: OAuth 2 alkalmazások
       oauth2_authorizations: OAuth 2 engedélyek
       muted_users: Elnémított felhasználók
+    auth_providers:
+      openid_logo_alt: Bejelentkezés egy OpenID-vel
+      openid:
+        title: Bejelentkezés OpenID-vel
+        alt: Bejelentkezés OpenID-URL-lel
+      google:
+        title: Bejelentkezés Google-lel
+        alt: Bejelentkezés Google OpenID-vel
+      facebook:
+        title: Bejelentkezés Facebook-kal
+        alt: Bejelentkezés Facebook fiókkal
+      microsoft:
+        title: Bejelentkezés Microsofttal.
+        alt: Bejelentkezés Microsoft fiókkal
+      github:
+        title: Bejelentkezés GitHub-bal
+        alt: Bejelentkezés GitHub fiókkal
+      wikipedia:
+        title: Bejelentkezés Wikipédiával
+        alt: Wikipédia fiókkal való bejelentkezés
+      wordpress:
+        title: Bejelentkezés Wordpress-szel
+        alt: Bejelentkezés Wordpress OpenID-vel
+      aol:
+        title: Bejelentkezés AOL-lal
+        alt: Bejelentkezés AOL OpenID-vel
   oauth:
     authorize:
       title: A fiókodhoz való hozzáférés engedélyezése
@@ -2742,14 +2740,12 @@ hu:
       display name description: A nyilvánosan megjelenített felhasználóneved. A beállításaidban
         később megváltoztathatod.
       external auth: 'Harmadik fél általi hitelesítés:'
-      use external auth: Alternatívaként használhatsz külső fiókokat a bejelentkezéshez
-      auth no password: Harmadik féltől származó hitelesítés esetén a jelszó nem kötelező,
-        de néhány extra eszköz vagy szerver igényelhet egyet.
       continue: Regisztráció
       terms accepted: Köszönjük, hogy elfogadtad az új közreműködési feltételeket!
       privacy_policy: adatvédelmi irányelvek
       privacy_policy_title: Az OSMF adatvédelmi szabályzata, beleértve az e-mail címekről
         szóló részt
+      use external auth: Alternatívaként használhatsz külső fiókokat a bejelentkezéshez
     terms:
       title: Feltételek
       heading: Feltételek
index 94bcbb3e19a6c0969155feb73708f4a070ec2c95..c432da5e5dddcd75d58dbc8b82666bc8133d5e6c 100644 (file)
@@ -141,7 +141,6 @@ ia:
         auth_provider: Fornitor de authentication
         auth_uid: UID de authentication
         email: E-mail
-        email_confirmation: Confirmation del e-mail
         new_email: Nove adresse de e-mail
         active: Active
         display_name: Nomine public
@@ -1941,7 +1940,7 @@ ia:
   sessions:
     new:
       title: Aperir session
-      heading: Aperir session
+      tab_title: Aperir session
       email or username: Adresse de e-mail o nomine de usator
       password: Contrasigno
       remember: Memorar me
@@ -1949,34 +1948,7 @@ ia:
       login_button: Aperir session
       register now: Registrar ora
       with external: 'Alternativemente, usa un tertio pro aperir session:'
-      no account: Non ha un conto?
       auth failure: Pardono, non poteva aperir un session con iste detalios.
-      openid_logo_alt: Aperir session con OpenID
-      auth_providers:
-        openid:
-          title: Aperir session con OpenID
-          alt: Aperir session con un URL de OpenID
-        google:
-          title: Aperir session con Google
-          alt: Aperir session con un OpenID de Google
-        facebook:
-          title: Aperir session con Facebook
-          alt: Aperir session con un conto de Facebook
-        microsoft:
-          title: Aperir session con Microsoft
-          alt: Aperir session con un conto Microsoft
-        github:
-          title: Aperir session con GitHub
-          alt: Aperir session con un conto de GitHub
-        wikipedia:
-          title: Aperir session con Wikipedia
-          alt: Aperir session con un conto de Wikipedia
-        wordpress:
-          title: Aperir session con WordPress
-          alt: Aperir session con un OpenID de WordPress
-        aol:
-          title: Aperir session con AOL
-          alt: Aperir session con un OpenID de AOL
     destroy:
       title: Clauder session
       heading: Clauder le session de OpenStreetMap
@@ -2646,6 +2618,32 @@ ia:
       oauth2_applications: Applicationes OAuth 2
       oauth2_authorizations: Autorisationes OAuth 2
       muted_users: Usatores silentiate
+    auth_providers:
+      openid_logo_alt: Aperir session con OpenID
+      openid:
+        title: Aperir session con OpenID
+        alt: Aperir session con un URL de OpenID
+      google:
+        title: Aperir session con Google
+        alt: Aperir session con un OpenID de Google
+      facebook:
+        title: Aperir session con Facebook
+        alt: Aperir session con un conto de Facebook
+      microsoft:
+        title: Aperir session con Microsoft
+        alt: Aperir session con un conto Microsoft
+      github:
+        title: Aperir session con GitHub
+        alt: Aperir session con un conto de GitHub
+      wikipedia:
+        title: Aperir session con Wikipedia
+        alt: Aperir session con un conto de Wikipedia
+      wordpress:
+        title: Aperir session con WordPress
+        alt: Aperir session con un OpenID de WordPress
+      aol:
+        title: Aperir session con AOL
+        alt: Aperir session con un OpenID de AOL
   oauth:
     authorize:
       title: Autorisar accesso a tu conto
@@ -2796,16 +2794,14 @@ ia:
       display name description: Tu nomine de usator monstrate publicamente. Tu pote
         cambiar lo plus tarde in le preferentias.
       external auth: 'Authentication per tertios:'
-      use external auth: Alternativemente, usa un tertio pro aperir session
-      auth no password: Con authentication per tertio, un contrasigno non es necessari,
-        ma alcun instrumentos o servitores supplementari pote totevia necessitar un.
       continue: Crear conto
       terms accepted: Gratias pro acceptar le nove conditiones de contributor!
-      email_confirmation_help_html: Tu adresse non es monstrate publicamente. Consulta
-        nostre %{privacy_policy_link} pro plus information.
+      email_help_html: Tu adresse non es monstrate publicamente. Consulta nostre %{privacy_policy_link}
+        pro plus information.
       privacy_policy: politica de confidentialitate
       privacy_policy_title: Politica de confidentialitate del OSMF con un section
         sur adresses de e-mail
+      use external auth: Alternativemente, usa un tertio pro aperir session
     terms:
       title: Conditiones
       heading: Conditiones
index 55a8bc97f28ab73f10d746fc9d7e765e7ea9248c..0cb3aea0725555636339085b04326f728e7f612f 100644 (file)
@@ -176,7 +176,6 @@ id:
         auth_provider: Penyedia Otentikasi
         auth_uid: UID Otentikasi
         email: Surel
-        email_confirmation: Konfirmasi Surel
         new_email: Alamat Surel Baru
         active: Aktif
         display_name: Nama Tampilan
@@ -199,7 +198,7 @@ id:
           mungkin, ketahui bahwa pesan ini dapat dilihat oleh publik. Ingat, tidak
           semua pengguna paham istilah-istilah teknis. Gunakan istilah sesederhana
           mungkin.
-        needs_view: Apakah pengguna harus login sebelum blokirnya dihapus?
+        needs_view: Apakah pengguna harus masuk log sebelum blokirnya dihapus?
       user:
         new_email: (jangan pernah ditampilkan ke publik)
   datetime:
@@ -230,10 +229,10 @@ id:
       x_years:
         other: '%{count} tahun yang lalu'
   editor:
-    default: Standar (saat ini %{name})
+    default: Tetapan (saat ini %{name})
     id:
       name: iD
-      description: iD (editor di dalam browser internet)
+      description: iD (editor dalam perambaninternet)
     remote:
       name: Pengendali Jarak Jauh
       description: Remote Control (JOSM, Potlatch, Merkaartor)
@@ -251,7 +250,7 @@ id:
         opened_at_html: Dibuat %{when} yang lalu
         opened_at_by_html: Dibuat %{when} yang lalu oleh %{user}
         commented_at_html: Diperbarui %{when} yang lalu
-        commented_at_by_html: Dimutakhirkan %{when} yang lalu oleh %{user}
+        commented_at_by_html: Diperbarui %{when} yang lalu oleh %{user}
         closed_at_html: Diselesaikan %{when} yang lalu
         closed_at_by_html: Diselesaikan %{when} yang lalu oleh %{user}
         reopened_at_html: Diaktifkan kembali %{when} yang lalu
@@ -262,7 +261,7 @@ id:
         description_area: Daftar catatan, laporan, komentar atau ditutup di daerah
           Anda [( %{min_lat}|%{min_lon})--( %{max_lat}|%{max_lon})]
         description_item: Sebuah rss feed untuk catatan %{id}
-        opened: catatan baru (near %{place})
+        opened: catatan baru (dekat %{place})
         commented: komentar baru (near %{place})
         closed: catatan ditutup (near %{place})
         reopened: catatan yang diaktifkan kembali (near %{place})
@@ -1918,7 +1917,7 @@ id:
   sessions:
     new:
       title: Masuk log
-      heading: Masuk log
+      tab_title: Masuk log
       email or username: Alamat Email atau Nama Pengguna
       password: Kata Sandi
       remember: Ingat saya
@@ -1926,34 +1925,7 @@ id:
       login_button: Masuk log
       register now: Daftar sekarang
       with external: 'Atau, gunakan pihak ketiga untuk masuk:'
-      no account: Belum memiliki akun?
       auth failure: Maaf, tidak bisa login dengan rincian tersebut.
-      openid_logo_alt: Login dengan OpenID
-      auth_providers:
-        openid:
-          title: Masuk log dengan OpenID
-          alt: Masuk log dengan URL OpenID
-        google:
-          title: Masuk log dengan Google
-          alt: Masuk log dengan Google OpenID
-        facebook:
-          title: Masuk log dengan Facebook
-          alt: Masuk log dengan akun Facebook
-        microsoft:
-          title: Masuk log dengan Microsoft
-          alt: Masuk log dengan Akun Microsoft
-        github:
-          title: Masuk dengan GitHub.
-          alt: Masuk log dengan Akun GitHub.
-        wikipedia:
-          title: Masuk log dengan Wikipedia
-          alt: Masuk log dengan Akun Wikipedia
-        wordpress:
-          title: Masuk log dengan Wordpress
-          alt: Masuk log dengan Wordpress OpenID
-        aol:
-          title: Masuk log dengan AOL
-          alt: Masuk log dengan AOL OpenID
     destroy:
       title: Logout
       heading: Logout dari OpenStreetMap
@@ -2266,7 +2238,7 @@ id:
         description: Panduan yang ditunjang komunitas bagi pemula.
       community:
         title: Forum Bantuan & Komunitas
-        description: Forum bincang-bincang OpenStreetMap.
+        description: Tempat untuk mencari bantuan dan berdiskusi bersama tentang OpenStreetMap.
       mailing_lists:
         title: Daftar Alamat
         description: Bertanya atau berdiskusi hal-hal menarik dalam daftar alamat
@@ -2600,6 +2572,32 @@ id:
       oauth2_applications: Aplikasi OAuth 2
       oauth2_authorizations: Otorisasi OAuth 2
       muted_users: Pengguna yang Dibisukan
+    auth_providers:
+      openid_logo_alt: Login dengan OpenID
+      openid:
+        title: Masuk log dengan OpenID
+        alt: Masuk log dengan URL OpenID
+      google:
+        title: Masuk log dengan Google
+        alt: Masuk log dengan Google OpenID
+      facebook:
+        title: Masuk log dengan Facebook
+        alt: Masuk log dengan akun Facebook
+      microsoft:
+        title: Masuk log dengan Microsoft
+        alt: Masuk log dengan Akun Microsoft
+      github:
+        title: Masuk dengan GitHub.
+        alt: Masuk log dengan Akun GitHub.
+      wikipedia:
+        title: Masuk log dengan Wikipedia
+        alt: Masuk log dengan Akun Wikipedia
+      wordpress:
+        title: Masuk log dengan Wordpress
+        alt: Masuk log dengan Wordpress OpenID
+      aol:
+        title: Masuk log dengan AOL
+        alt: Masuk log dengan AOL OpenID
   oauth:
     authorize:
       title: Otorisasi akses ke akun Anda
@@ -2747,16 +2745,14 @@ id:
       display name description: Username Anda yang ditampilkan pada publik. Anda dapat
         mengubahnya dalam pengaturan.
       external auth: 'Autentikasi Pihak Ketiga:'
-      use external auth: Atau, gunakan pihak ketiga untuk masuk
-      auth no password: Dengan autentikasi pihak ketiga kata sandi tidak diperlukan,
-        tetapi beberapa alat tambahan atau server mungkin memerlukannya.
       continue: Mendaftar
       terms accepted: Terima kasih telah menerima persyaratan kontributor yang baru!
-      email_confirmation_help_html: Alamat Anda tidak dapat dilihat publik. Lihat
-        %{privacy_policy_link} kami untuk info lebih lanjut.
+      email_help_html: Alamat Anda tidak dapat dilihat publik. Lihat %{privacy_policy_link}
+        kami untuk info lebih lanjut.
       privacy_policy: kebijakan privasi
       privacy_policy_title: Kebijakan privasi OSMF meliputi aturan soal alamat surat
         elektronik
+      use external auth: Atau, gunakan pihak ketiga untuk masuk
     terms:
       title: Persyaratan
       heading: Persyaratan
index df04164cdbf3664ac00fd20c01b3f751ed81ae30..8adacfff35108c4ec34e280f3ddebfa92ac69d55 100644 (file)
@@ -146,7 +146,6 @@ is:
         auth_provider: Auðkenningaraðili
         auth_uid: UID auðkenningar
         email: Netfang
-        email_confirmation: Staðfesting póstfangs
         new_email: Nýtt póstfang
         active: Virkur
         display_name: Sýnilegt nafn
@@ -1870,7 +1869,7 @@ is:
   sessions:
     new:
       title: Innskrá
-      heading: Innskrá
+      tab_title: Innskrá
       email or username: Tölvupóstur eða notandanafn
       password: Lykilorð
       remember: Muna innskráninguna
@@ -1878,34 +1877,7 @@ is:
       login_button: Innskrá
       register now: Skrá þig núna
       with external: 'Þú getur líka notað utanaðkomandi þjónustur til innskráningar:'
-      no account: Ertu ekki með aðgang?
       auth failure: Þetta notandanafn eða lykilorð er rangt.
-      openid_logo_alt: Skrá inn með OpenID-aðgangi
-      auth_providers:
-        openid:
-          title: Skrá inn með OpenID
-          alt: Skrá inn með OpenID-slóð
-        google:
-          title: Skrá inn með Google
-          alt: Skrá inn með Google OpenID-aðgangi
-        facebook:
-          title: Skrá inn með Facebook
-          alt: Skrá inn með Facebook-aðgangi
-        microsoft:
-          title: Skrá inn með Microsoft
-          alt: Skrá inn með Microsoft-aðgangi
-        github:
-          title: Skrá inn með GitHub
-          alt: Skrá inn með GitHub-aðgangi
-        wikipedia:
-          title: Skrá inn með Wikipedia
-          alt: Skrá inn með Wikipedia-aðgangi
-        wordpress:
-          title: Skrá inn með Wordpress
-          alt: Skrá inn með Wordpress OpenID-aðgangi
-        aol:
-          title: Skrá inn með AOL
-          alt: Skrá inn með AOL OpenID-aðgangi
     destroy:
       title: Útskráning
       heading: Skrá út úr OpenStreetMap
@@ -2611,6 +2583,32 @@ is:
       oauth2_applications: OAuth 2 forrit
       oauth2_authorizations: OAuth 2 auðkenningar
       muted_users: Þaggaðir notendur
+    auth_providers:
+      openid_logo_alt: Skrá inn með OpenID-aðgangi
+      openid:
+        title: Skrá inn með OpenID
+        alt: Skrá inn með OpenID-slóð
+      google:
+        title: Skrá inn með Google
+        alt: Skrá inn með Google OpenID-aðgangi
+      facebook:
+        title: Skrá inn með Facebook
+        alt: Skrá inn með Facebook-aðgangi
+      microsoft:
+        title: Skrá inn með Microsoft
+        alt: Skrá inn með Microsoft-aðgangi
+      github:
+        title: Skrá inn með GitHub
+        alt: Skrá inn með GitHub-aðgangi
+      wikipedia:
+        title: Skrá inn með Wikipedia
+        alt: Skrá inn með Wikipedia-aðgangi
+      wordpress:
+        title: Skrá inn með Wordpress
+        alt: Skrá inn með Wordpress OpenID-aðgangi
+      aol:
+        title: Skrá inn með AOL
+        alt: Skrá inn með AOL OpenID-aðgangi
   oauth:
     authorize:
       title: Auðkenndu aðgang að notandaaðganginum þínum
@@ -2761,17 +2759,15 @@ is:
       display name description: Nafn þitt sem aðrir notendur sjá, þú getur breytt
         því síðar í stillingunum þínum.
       external auth: 'Auðkenning með þriðja aðila:'
-      use external auth: Þú getur líka notað utanaðkomandi þjónustur til innskráningar
-      auth no password: Með auðkenningu frá þriðja aðila er ekki nauðsynlegt að nota
-        lykilorð, en einhver aukaverkfæri eða þjónar gætu samt þurft á því að halda.
       continue: Nýskrá
       terms accepted: Bestu þakkir fyrir að samþykkja nýju skilmálana vegna framlags
         þíns!
-      email_confirmation_help_html: Netfangið þitt er ekki birt opinberlega, skoðaðu
-        síðuna um %{privacy_policy_link} til að sjá nánari upplýsingar.
+      email_help_html: Netfangið þitt er ekki birt opinberlega, skoðaðu síðuna um
+        %{privacy_policy_link} til að sjá nánari upplýsingar.
       privacy_policy: meðferð persónuupplýsinga
       privacy_policy_url: https://wiki.osmfoundation.org/wiki/Privacy_Policy
       privacy_policy_title: persónuverndarstefnu OSMF, þar með talinn hlutann um tölvupóstföng
+      use external auth: Þú getur líka notað utanaðkomandi þjónustur til innskráningar
     terms:
       title: Skilmálar
       heading: Skilmálar
index 5b7684e0d6df92dae43c227f76a30991c80d699b..40769ddf167e92c3399b20770331d205e296dee4 100644 (file)
@@ -148,11 +148,11 @@ it:
         support_url: Indirizzo URL di supporto
         allow_read_prefs: leggi le sue preferenze utente
         allow_write_prefs: modifica le sue preferenze utente
-        allow_write_diary: crea pagine di diario, commenta e fai amicizia
-        allow_write_api: modifica la mappa
+        allow_write_diary: creare pagine di diario, commenti e stringere amicizie
+        allow_write_api: modificare la mappa
         allow_read_gpx: visualizza le sue tracce GPS private
         allow_write_gpx: carica tracce GPS
-        allow_write_notes: modifica le note
+        allow_write_notes: modificare le note
       diary_comment:
         body: Corpo
       diary_entry:
@@ -197,7 +197,6 @@ it:
         auth_provider: Fornitore d'autenticazione
         auth_uid: UID d'autenticazione
         email: E-mail
-        email_confirmation: Conferma e-mail
         new_email: Nuovo indirizzo e-mail
         active: Attivo
         display_name: Nome visualizzato
@@ -1999,7 +1998,7 @@ it:
   sessions:
     new:
       title: Entra
-      heading: Entra
+      tab_title: Entra
       email or username: Indirizzo e-mail o nome utente
       password: Password
       remember: Ricordati di me
@@ -2007,34 +2006,7 @@ it:
       login_button: Entra
       register now: Registrati ora
       with external: In alternativa, effettua l'accesso tramite terze parti
-      no account: Non hai un'utenza?
       auth failure: Spiacenti, non si può accedere con questi dettagli.
-      openid_logo_alt: Accedi con un OpenID
-      auth_providers:
-        openid:
-          title: Accedi con OpenID
-          alt: Accedi con un URL OpenID
-        google:
-          title: Accedi con Google
-          alt: Accedi con un OpenID di Google
-        facebook:
-          title: Accedi con Facebook
-          alt: Accedi con un'utenza Facebook
-        microsoft:
-          title: Accedi con Microsoft
-          alt: Accedi con un'utenza Microsoft
-        github:
-          title: Accedi con GitHub
-          alt: Effettua l'acceso con un'utenza GitHub
-        wikipedia:
-          title: Accedi con Wikipedia
-          alt: Accedi con un'utenza Wikipedia
-        wordpress:
-          title: Accedi con Wordpress
-          alt: Accedi con un OpenID di Wordpress
-        aol:
-          title: Accedi con AOL
-          alt: Accedi con un OpenID di AOL
     destroy:
       title: Esci
       heading: Esci da OpenStreetMap
@@ -2212,7 +2184,12 @@ it:
           %{france}: Contiene dati provenienti dalla
           Direction Générale des Impôts.
         contributors_fr_france: Francia
+        contributors_hr_credit_html: |-
+          %{croatia}: contiene dati da %{dgu_link} e %{open_data_portal}
+          (informazioni pubbliche della Croazia).
         contributors_hr_croatia: Croazia
+        contributors_hr_dgu: Amministrazione geodetica statale della Croazia
+        contributors_hr_open_data_portal: Portale nazionale degli open data
         contributors_nl_credit_html: '%{netherlands}: Contiene i dati &copy; AND,
           2007 (%{and_link})'
         contributors_nl_netherlands: Paesi Bassi
@@ -2702,6 +2679,32 @@ it:
       oauth2_applications: Applicazioni OAuth 2
       oauth2_authorizations: Autorizzazioni OAuth 2
       muted_users: Utenti silenziati
+    auth_providers:
+      openid_logo_alt: Accedi con un OpenID
+      openid:
+        title: Accedi con OpenID
+        alt: Accedi con un URL OpenID
+      google:
+        title: Accedi con Google
+        alt: Accedi con un OpenID di Google
+      facebook:
+        title: Accedi con Facebook
+        alt: Accedi con un'utenza Facebook
+      microsoft:
+        title: Accedi con Microsoft
+        alt: Accedi con un'utenza Microsoft
+      github:
+        title: Accedi con GitHub
+        alt: Effettua l'acceso con un'utenza GitHub
+      wikipedia:
+        title: Accedi con Wikipedia
+        alt: Accedi con un'utenza Wikipedia
+      wordpress:
+        title: Accedi con Wordpress
+        alt: Accedi con un OpenID di Wordpress
+      aol:
+        title: Accedi con AOL
+        alt: Accedi con un OpenID di AOL
   oauth:
     authorize:
       title: Autorizzare l'accesso al tuo account
@@ -2711,7 +2714,7 @@ it:
       allow_to: 'Consenti all''applicazione client di:'
       allow_read_prefs: leggere le tue preferenze.
       allow_write_prefs: modificare le tue preferenze utente.
-      allow_write_diary: crea pagine di diario, commenti e fai amicizia.
+      allow_write_diary: creare pagine di diario, commenti e stringere amicizie.
       allow_write_api: modificare la mappa.
       allow_read_gpx: leggere i tuoi tracciati GPS privati.
       allow_write_gpx: caricare tracciati GPS.
@@ -2731,15 +2734,15 @@ it:
       missing: Non hai autorizzato l'applicazione ad accedere a questa funzione
     scopes:
       openid: Accedi utilizzando OpenStreetMap
-      read_prefs: Leggi preferenze utente
-      write_prefs: Modifica le preferenze utente
-      write_diary: Crea voci del diario, commenti e fai amicizia
-      write_api: Modifica la mappa
-      read_gpx: Leggi tracciati GPS privati
-      write_gpx: Carica tracciati GPS
-      write_notes: Modifica le note
-      write_redactions: Rimuovi dati cartografici
-      read_email: Leggere indirizzo di posta elettronica utente
+      read_prefs: Leggere le preferenze dell'utente
+      write_prefs: Modificare le preferenze dell'utente
+      write_diary: Creare voci del diario, commenti e stringere amicizie
+      write_api: Modificare la mappa
+      read_gpx: Leggere tracciati GPS privati
+      write_gpx: Caricare tracciati GPS
+      write_notes: Modificare le note
+      write_redactions: Rimuovere dati cartografici
+      read_email: Leggere indirizzo di posta elettronica dell'utente
       skip_authorization: Approvazione automatica applicazione
   oauth_clients:
     new:
@@ -2850,17 +2853,14 @@ it:
       display name description: Il proprio nome utente visualizzato pubblicamente.
         Può essere modificato più tardi nelle preferenze.
       external auth: 'Autenticazione tramite terze parti:'
-      use external auth: In alternativa, effettua l'accesso tramite terze parti
-      auth no password: Con l'autenticazione tramite terze parti non è richiesta una
-        password, ma alcuni strumenti o server aggiuntivi potrebbero ancora averne
-        bisogno.
       continue: Registrati
       terms accepted: Grazie di aver accettato le nuove regole per contribuire!
-      email_confirmation_help_html: Il tuo indirizzo non viene visualizzato pubblicamente,
-        consulta la nostra %{privacy_policy_link} per ulteriori informazioni.
+      email_help_html: Il tuo indirizzo non viene visualizzato pubblicamente, consulta
+        la nostra %{privacy_policy_link} per ulteriori informazioni.
       privacy_policy: normativa sulla privacy
       privacy_policy_title: Informativa sulla privacy di OSM Foundation compresa la
         sezione sugli indirizzi e-mail
+      use external auth: In alternativa, effettua l'accesso tramite terze parti
     terms:
       title: Termini
       heading: Termini
@@ -3123,6 +3123,8 @@ it:
       reason: Motivo del blocco
       status: Stato
       revoker_name: Revocato da
+      older: Blocchi più vecchi
+      newer: Blocchi più recenti
     navigation:
       all_blocks: Tutti i blocchi
       blocks_on_me: Blocchi su di me
index bfa0a45f7e25264d2e7983eea09b825f5ffc5302..25a4eb71fba6c762ec5f4c118c2791c43a7bf8aa 100644 (file)
@@ -199,7 +199,6 @@ ja:
         auth_provider: 認証提供者
         auth_uid: 認証 ID
         email: メール
-        email_confirmation: メールアドレスの確認
         new_email: 新しいメールアドレス
         active: アクティブ
         display_name: 表示名
@@ -378,7 +377,7 @@ ja:
       history_title_html: 'リレーション: %{name} の履歴'
       members: メンバー
       members_count:
-        other: '%{count}'
+        other: '%{count}'
     relation_member:
       entry_role_html: '%{type} %{name} (%{role} として)'
       type:
@@ -718,7 +717,7 @@ ja:
           money_transfer: 送金
           motorcycle_parking: バイクの駐輪場
           music_school: 音楽学校
-          nightclub: ナイト クラブ
+          nightclub: ナイトクラブ
           nursing_home: 老人ホーム
           parking: 駐車場
           parking_entrance: 駐車場の入口
@@ -889,7 +888,7 @@ ja:
           motorway_junction: 高速道路ジャンクション
           motorway_link: 高速道路
           passing_place: 待避所
-          path: パス
+          path: 小道
           pedestrian: 歩行者用通路
           platform: プラットフォーム
           primary: 主要地方道
@@ -950,8 +949,8 @@ ja:
           stone: 岩石
           tomb: 墓地
           tower: 塔
-          wayside_chapel: 祠 (ほこら)
-          wayside_cross: 道路際の十字架
+          wayside_chapel: ほこら
+          wayside_cross: 路傍の十字架
           wayside_shrine: 路傍の神仏
           wreck: 沈没船
           "yes": 史跡
@@ -982,7 +981,7 @@ ja:
           quarry: 採石場
           railway: 鉄道
           recreation_ground: 遊園地
-          religious: 聖域
+          religious: 境内
           reservoir: 貯水池
           reservoir_watershed: 貯水池流域
           residential: 住宅地
@@ -994,8 +993,8 @@ ja:
           adult_gaming_centre: 成人向けゲームセンター
           amusement_arcade: ゲームセンター
           bandstand: 舞台
-          beach_resort: ビーチ リゾート
-          bird_hide: 観察小屋
+          beach_resort: ビーチリゾート
+          bird_hide: 鳥類観察小屋
           bleachers: 外野席
           bowling_alley: ボーリング場
           common: 共有地
@@ -1004,13 +1003,13 @@ ja:
           firepit: 炉
           fishing: 釣り場
           fitness_centre: フィットネスセンター
-          fitness_station: フィットネス ステーション
+          fitness_station: フィットネスステーション
           garden: 庭園
           golf_course: ゴルフ場
           horse_riding: 乗馬センター
           ice_rink: アイススケート場
           marina: マリーナ
-          miniature_golf: ミニチュア ゴルフ
+          miniature_golf: ミニチュアゴルフ
           nature_reserve: 自然保護区
           outdoor_seating: 野外席
           park: 公園
@@ -1020,8 +1019,8 @@ ja:
           recreation_ground: 遊園地
           resort: リゾート
           sauna: サウナ
-          slipway: 船台
-          sports_centre: スポーツ センター
+          slipway: 船台
+          sports_centre: スポーツセンター
           stadium: スタジアム
           swimming_pool: 水泳用プール
           track: 陸上競技用トラック
@@ -1082,10 +1081,10 @@ ja:
           "yes": 人工
         military:
           airfield: 軍用飛行場
-          barracks: バラック
+          barracks: 兵舎
           bunker: 掩体壕
           checkpoint: 検問所
-          trench: 
+          trench: 塹壕
           "yes": 軍用施設
         mountain_pass:
           "yes": 山道
@@ -1122,10 +1121,10 @@ ja:
           ridge: 海嶺
           rock: 岩場
           saddle: 鞍部
-          sand: 砂
+          sand: 砂
           scree: がれ場
           scrub: 低木林
-          shingle: 帯状疱疹
+          shingle: 砂利
           spring: 泉
           stone: 岩石
           strait: 海峡
@@ -1139,13 +1138,13 @@ ja:
           wood: 森林
           "yes": 自然地形
         office:
-          accountant: 会計
+          accountant: 会計事務所
           administrative: 管理
           advertising_agency: 広告代理店
-          architect: 建築
+          architect: 建築事務所
           association: 協会
           company: 会社
-          diplomatic: å¤§ä½¿
+          diplomatic: å¤\96å\9b½å\85¬
           educational_institution: 教育施設
           employment_agency: 職業紹介
           energy_supplier: 電力会社
@@ -1207,7 +1206,7 @@ ja:
           miniature: ミニ鉄道
           monorail: モノレール
           narrow_gauge: 狭軌鉄道
-          platform: é\89\84é\81\93ã\83\97ã\83©ã\83\83ã\83\88ã\83\95ã\82©ーム
+          platform: é\89\84é\81\93ã\81®ã\83\97ã\83©ã\83\83ã\83\88ã\83\9bーム
           preserved: 保存鉄道
           proposed: 計画中の鉄道
           rail: 線路
@@ -1218,7 +1217,7 @@ ja:
           subway_entrance: 地下鉄駅入口
           switch: 鉄道の分岐器
           tram: 路面軌道
-          tram_stop: トラム停留所
+          tram_stop: 路面軌道停留所
           turntable: 転車台
           yard: 車両基地
         shop:
@@ -1243,17 +1242,17 @@ ja:
           car_parts: 自動車部品販売店
           car_repair: 自動車修理
           carpet: カーペット店
-          charity: チャリティ ショップ
+          charity: チャリティショップ
           cheese: チーズ店
           chemist: 薬局
           chocolate: チョコレート屋
           clothes: 洋服店
-          coffee: 珈琲屋
+          coffee: カフェ
           computer: コンピューターショップ
           confectionery: 駄菓子屋
-          convenience: コンビニエンス ストア
+          convenience: コンビニエンスストア
           copyshop: コピー店
-          cosmetics: 化粧品販売
+          cosmetics: 化粧品店
           craft: 工芸用品店
           curtain: カーテン屋
           dairy: 乳製品店
@@ -1271,14 +1270,14 @@ ja:
           fashion: ファッション ショップ
           fishing: 釣具店
           florist: 花屋
-          food: 食品販売
+          food: 惣菜
           frame: 額縁屋
           funeral_directors: 葬儀屋
           furniture: 家具店
           garden_centre: 園芸用品店
           gas: ガソリンスタンド
           general: 雑貨屋
-          gift: ギフト ショップ
+          gift: ギフトショップ
           greengrocer: 八百屋
           grocery: 食料品店
           hairdresser: 美容室
@@ -1308,13 +1307,13 @@ ja:
           newsagent: 新聞販売店
           nutrition_supplements: サプリ
           optician: メガネ店
-          organic: 有機食材
-          outdoor: アウトドア ショップ
+          organic: オーガニック惣菜
+          outdoor: アウトドアショップ
           paint: 画材店
-          pastry: パン屋
+          pastry: 菓子パン屋
           pawnbroker: 質屋
           perfumery: 香水店
-          pet: ペット ショップ
+          pet: ペットショップ
           pet_grooming: トリマー
           photo: 写真屋
           seafood: 海鮮品屋
@@ -1325,7 +1324,7 @@ ja:
           stationery: 文房具店
           storage_rental: トランクルーム
           supermarket: スーパーマーケット
-          tailor: 洋服店
+          tailor: 紳士服仕立て屋
           tattoo: 刺青屋
           tea: 茶舖
           ticket: チケット店
@@ -1335,8 +1334,8 @@ ja:
           tyres: タイヤ販売
           vacant: 空き店舗
           variety_store: 雑貨店
-          video: ビデオ ショップ
-          video_games: ã\83\93ã\83\87ã\82ªã\82¢ã\83¼ã\82±ã\83¼ã\83\89
+          video: ビデオショップ
+          video_games: ã\83\93ã\83\87ã\82ªã\82²ã\83¼ã\83 ã\82¹ã\83\88ã\82¢
           wholesale: 卸売店
           wine: ワイン屋
           "yes": 店舗
@@ -1358,7 +1357,7 @@ ja:
           information: 案内所
           motel: モーテル
           museum: 博物館
-          picnic_site: ピクニック サイト
+          picnic_site: ピクニックサイト
           theme_park: テーマパーク
           viewpoint: 景勝地
           wilderness_hut: 野外施設
@@ -1407,8 +1406,8 @@ ja:
   issues:
     index:
       title: 問題点
-      select_status: ステータスを選択
-      select_type: 種類を選択してください
+      select_status: 状態を選択
+      select_type: タイプを選択
       select_last_updated_by: 最近の更新を選択
       reported_user: 利用者を通報
       not_updated: 更新はありません
@@ -1779,7 +1778,7 @@ ja:
   sessions:
     new:
       title: ログイン
-      heading: ログイン
+      tab_title: ログイン
       email or username: 'メールアドレスまたは利用者名:'
       password: 'パスワード:'
       remember: ログイン状態を保持
@@ -1787,34 +1786,7 @@ ja:
       login_button: ログイン
       register now: 今すぐ登録
       with external: 'サードパーティのアカウントでもログインできます:'
-      no account: アカウントを持っていませんか?
       auth failure: 申し訳ありませんが、入力された情報ではログインできませんでした。
-      openid_logo_alt: OpenID でログイン
-      auth_providers:
-        openid:
-          title: OpenID でログイン
-          alt: OpenID URLでログイン
-        google:
-          title: Googleでログイン
-          alt: Google OpenIDでログイン
-        facebook:
-          title: Facebookでログイン
-          alt: Facebook アカウントを使用してログイン
-        microsoft:
-          title: Microsoftでログイン
-          alt: Microsoftアカウントでログイン
-        github:
-          title: GitHubでログイン
-          alt: GitHubのアカウントでログイン
-        wikipedia:
-          title: ウィキペディアでログイン
-          alt: ウィキペディアのアカウントでログイン
-        wordpress:
-          title: Wordpressでログイン
-          alt: Wordpress OpenIDでログイン
-        aol:
-          title: AOLでログイン
-          alt: AOL OpenIDでログイン
     destroy:
       title: ログアウト
       heading: OpenStreetMap からログアウト
@@ -1894,6 +1866,7 @@ ja:
         contributors_fr_france: フランス
         contributors_nl_netherlands: オランダ
         contributors_nz_new_zealand: ニュージーランド
+        contributors_nz_cc_by: CC BY 4.0
         contributors_rs_serbia: セルビア
         contributors_si_slovenia: スロベニア
         contributors_es_spain: スペイン
@@ -2019,12 +1992,17 @@ ja:
           footway: 歩道
           rail: 鉄道
           subway: 地下鉄
+          bus: バス
           cable_car: 交走式ロープウェイ
           chair_lift: チェアリフト
           runway: 空港滑走路
           taxiway: 空港誘導路
           apron: 空港ビル
           admin: 行政境界
+          capital: 首都
+          city: 都市
+          orchard: 果樹園
+          vineyard: ブドウ園
           forest: 森
           wood: 森林
           golf: ゴルフ場
@@ -2043,10 +2021,12 @@ ja:
           allotments: 家庭菜園
           pitch: 運動場
           centre: スポーツセンター
+          beach: 砂浜
           reserve: 自然保護区
           military: 軍用地域
           school: 学校
           university: 大学
+          hospital: 病院
           building: 重要建造物
           station: 鉄道駅
           summit: 山脈
@@ -2056,6 +2036,7 @@ ja:
           private: 私的通行
           destination: 目的通行
           construction: 建設中の道路
+          bus_stop: バス停
           bicycle_shop: 自転車販売店
           bicycle_parking: 駐輪場
           toilets: トイレ
@@ -2213,6 +2194,32 @@ ja:
       oauth2_applications: OAuth 2 アプリケーション
       oauth2_authorizations: OAuth 2 認証
       muted_users: ミュートした利用者
+    auth_providers:
+      openid_logo_alt: OpenID でログイン
+      openid:
+        title: OpenID でログイン
+        alt: OpenID URLでログイン
+      google:
+        title: Googleでログイン
+        alt: Google OpenIDでログイン
+      facebook:
+        title: Facebookでログイン
+        alt: Facebook アカウントを使用してログイン
+      microsoft:
+        title: Microsoftでログイン
+        alt: Microsoftアカウントでログイン
+      github:
+        title: GitHubでログイン
+        alt: GitHubのアカウントでログイン
+      wikipedia:
+        title: ウィキペディアでログイン
+        alt: ウィキペディアのアカウントでログイン
+      wordpress:
+        title: Wordpressでログイン
+        alt: Wordpress OpenIDでログイン
+      aol:
+        title: AOLでログイン
+        alt: AOL OpenIDでログイン
   oauth:
     authorize:
       title: あなたのアカウントへのアクセスの認証
@@ -2342,11 +2349,10 @@ ja:
         header: フリー、編集可能
       display name description: あなたの公開利用者名です。あとで個人設定で変更できます。
       external auth: 'サードパーティ認証:'
-      use external auth: サードパーティのアカウントでもログインできます
-      auth no password: サードパーティ認証があるとパスワードは不要ですが、それでもその他のツールやサーバーが必要な場合があります。
       continue: 利用者登録
       terms accepted: 新しい協力者規約を承諾していただき、ありがとうございます!
       privacy_policy: プライバシー・ポリシー
+      use external auth: サードパーティのアカウントでもログインできます
     terms:
       title: 規約
       heading: 規約
@@ -2664,6 +2670,7 @@ ja:
         gps: 公開GPSトラッキング
         overlays: トラブルシューティング用の地図オーバーレイ
         title: レイヤー
+      openstreetmap_contributors: OpenStreetMapの貢献者
       make_a_donation: 寄付をする
     site:
       edit_tooltip: 地図を編集
@@ -2697,6 +2704,8 @@ ja:
       descend: 下り坂
       directions: 方向
       distance: 距離
+      distance_m: '%{distance}m'
+      distance_km: '%{distance}km'
       errors:
         no_route: 2点間のルートが見つかりません。
         no_place: 残念ながら、場所「%{place}」は見つかりませんでした。
index 5de173aa9d679f3ce54e65d52cd4611f961935c7..2e9f02aa47411a0eb2728a47a85f7449aff6c1a8 100644 (file)
@@ -870,15 +870,13 @@ ka:
   sessions:
     new:
       title: შესვლა
-      heading: შესვლა
+      tab_title: შესვლა
       email or username: 'ელ. ფოსტის მისამართი, ან მომხმარებლის სახელი:'
       password: 'პაროლი:'
       remember: დამიმახსოვრე
       lost password link: დაგავიწყდათ პაროლი?
       login_button: შესვლა
       register now: დარეგისტრირდით ახლავე
-      no account: არ გაქვთ ანგარიში?
-      openid_logo_alt: შესვლა OpenID-ის საშუალებით
     destroy:
       title: გასვლა
       heading: OpenStreetMap-დან გასვლა
@@ -978,6 +976,9 @@ ka:
       identifiable: იდენტიფიცირებადი
       private: პირადი
       trackable: კონტროლირებადი
+  application:
+    auth_providers:
+      openid_logo_alt: შესვლა OpenID-ის საშუალებით
   oauth:
     authorize:
       allow_write_api: რუკის შეცვლა.
index 22963af6a58d89c8c9a4e0610083b02967ad8fdf..dc9724bc666f211dd8e02f837a2cd9249f91236f 100644 (file)
@@ -142,7 +142,6 @@ kab:
         auth_provider: Asaǧǧaw n usesteb
         auth_uid: UID n usesteb
         email: Imayl
-        email_confirmation: Asentem n yimayl
         new_email: Tansa n yimayl tamaynut
         active: Urmid
         display_name: Mefffer isem
@@ -964,40 +963,13 @@ kab:
   sessions:
     new:
       title: Qqen
-      heading: Qqen
+      tab_title: Qqen
       email or username: 'Tansa imayl neɣ isem n useqdac:'
       password: 'Awal uffir:'
       remember: Cfu fell-i
       lost password link: Tweddreḍ awal-ik uffir?
       login_button: Qqen
       register now: Jerred tura
-      no account: Ur tesɛiḍ ara amiḍan?
-      openid_logo_alt: Qqen s OpenID
-      auth_providers:
-        openid:
-          title: Qqen s OpenID
-          alt: Qqen s tensa URL OpenID
-        google:
-          title: Qqen s Google
-          alt: Qqen s Google OpenID
-        facebook:
-          title: Qqen s Facebook
-          alt: Qqen s umidan Facebook
-        microsoft:
-          title: Qqen s Windows Live
-          alt: Qqen s umiḍan Windows Live
-        github:
-          title: Qqen s GitHub
-          alt: Qqen s umiḍan GitHub
-        wikipedia:
-          title: Qqen s Wikipedia
-          alt: qqes s umiḍan Wikipedia
-        wordpress:
-          title: Qqen s Wordpress
-          alt: Qqen s OpenID
-        aol:
-          title: Qqen s AOL
-          alt: Qqen s AOL OpenID
     destroy:
       title: Tuffɣa
       heading: Tuffɣa si OpenStreetMap
@@ -1171,6 +1143,32 @@ kab:
       blocked_zero_hour: Ɣur-k izen utrib ɣef usmel Web OpenStreetMap. Yessef ad t-ɣreḍ-t
         send ad tizmireḍ ad teskelseḍ asnifel-ik.
       blocked: Anekcum-ik API yewḥel. Qqen ar ugrudem Web i ugar n isallen.
+    auth_providers:
+      openid_logo_alt: Qqen s OpenID
+      openid:
+        title: Qqen s OpenID
+        alt: Qqen s tensa URL OpenID
+      google:
+        title: Qqen s Google
+        alt: Qqen s Google OpenID
+      facebook:
+        title: Qqen s Facebook
+        alt: Qqen s umidan Facebook
+      microsoft:
+        title: Qqen s Windows Live
+        alt: Qqen s umiḍan Windows Live
+      github:
+        title: Qqen s GitHub
+        alt: Qqen s umiḍan GitHub
+      wikipedia:
+        title: Qqen s Wikipedia
+        alt: qqes s umiḍan Wikipedia
+      wordpress:
+        title: Qqen s Wordpress
+        alt: Qqen s OpenID
+      aol:
+        title: Qqen s AOL
+        alt: Qqen s AOL OpenID
   oauth:
     authorize:
       title: Sireg anekcum ar umiḍan-ik
index cff82e6e9b90c76139834befb8e57dfb1c3e405c..fe4518973d73dedf0054bab19e0a5b0637854ee0 100644 (file)
@@ -133,7 +133,6 @@ kk-cyrl:
         auth_provider: Аутентификация провайдері
         auth_uid: Аутентификация UID
         email: Е-пошта
-        email_confirmation: E-mail растау
         new_email: Жаңа е-пошта мекенжайы
         active: Белсенді
         display_name: Көрсетілетін ат
@@ -1021,28 +1020,10 @@ kk-cyrl:
   sessions:
     new:
       title: Кіру
-      heading: Кіру
+      tab_title: Кіру
       password: Құпиясөз
       remember: Жүйеде қалу
       login_button: Кіру
-      no account: Тіркелгіңіз жоқ па?
-      auth_providers:
-        openid:
-          title: OpenID арқылы кіру
-        google:
-          title: Google арқылы кіру
-        facebook:
-          title: Facebook арқылы кіру
-        microsoft:
-          title: Microsoft арқылы кіру
-        github:
-          title: GitHub арқылы кіру
-        wikipedia:
-          title: Уикипедия арқылы кіру
-        wordpress:
-          title: Wordpress арқылы кіру
-        aol:
-          title: AOL арқылы кіру
     destroy:
       title: Шығу
       heading: OpenStreetMap-тен шығу
@@ -1188,6 +1169,23 @@ kk-cyrl:
     settings_menu:
       oauth1_settings: OAuth 1 баптаулары
       oauth2_applications: OAuth 2 қосымшалары
+    auth_providers:
+      openid:
+        title: OpenID арқылы кіру
+      google:
+        title: Google арқылы кіру
+      facebook:
+        title: Facebook арқылы кіру
+      microsoft:
+        title: Microsoft арқылы кіру
+      github:
+        title: GitHub арқылы кіру
+      wikipedia:
+        title: Уикипедия арқылы кіру
+      wordpress:
+        title: Wordpress арқылы кіру
+      aol:
+        title: AOL арқылы кіру
   oauth_clients:
     show:
       confirm: Сенімдісіз бе?
index 77e530ce15a1d35a466d3a33ea4aaad71ce75946..4f7918a50f7e5c9d300c75f7f7212354b7415705 100644 (file)
@@ -660,26 +660,9 @@ km:
   sessions:
     new:
       title: កត់ឈ្មោះចូល
-      heading: កត់ឈ្មោះចូល
+      tab_title: កត់ឈ្មោះចូល
       email or username: អាសយដ្ឋានអ៊ីមែល ឬឈ្មោះអ្នកប្រើប្រាស់​៖
       login_button: កត់ឈ្មោះចូល
-      auth_providers:
-        openid:
-          title: កត់ឈ្មោះចូលដោយប្រើ OpenID
-        google:
-          title: កត់ឈ្មោះចូលដោយប្រើ Google
-        facebook:
-          title: កត់ឈ្មោះចូលដោយប្រើ Facebook
-        microsoft:
-          title: កត់ឈ្មោះចូលដោយប្រើ Windows Live
-        github:
-          title: កត់ឈ្មោះចូលដោយប្រើ GitHub
-        wikipedia:
-          title: កត់ឈ្មោះចូលដោយប្រើវិគីភីឌា
-        wordpress:
-          title: កត់ឈ្មោះចូលដោយប្រើ Wordpress
-        aol:
-          title: កត់ឈ្មោះចូលដោយប្រើ AOL
     destroy:
       title: កត់ឈ្មោះចេញ
       logout_button: កត់ឈ្មោះចេញ
@@ -746,6 +729,24 @@ km:
       private: ឯកជន​
     index:
       tagged_with: '  បានដាកស្លាកជា %{tags}'
+  application:
+    auth_providers:
+      openid:
+        title: កត់ឈ្មោះចូលដោយប្រើ OpenID
+      google:
+        title: កត់ឈ្មោះចូលដោយប្រើ Google
+      facebook:
+        title: កត់ឈ្មោះចូលដោយប្រើ Facebook
+      microsoft:
+        title: កត់ឈ្មោះចូលដោយប្រើ Windows Live
+      github:
+        title: កត់ឈ្មោះចូលដោយប្រើ GitHub
+      wikipedia:
+        title: កត់ឈ្មោះចូលដោយប្រើវិគីភីឌា
+      wordpress:
+        title: កត់ឈ្មោះចូលដោយប្រើ Wordpress
+      aol:
+        title: កត់ឈ្មោះចូលដោយប្រើ AOL
   oauth_clients:
     edit:
       title: កែប្រែ​ទំរង់បែបបទរបស់អ្នក​
@@ -754,8 +755,8 @@ km:
   users:
     new:
       title: ចុះឈ្មោះ​ចូល
-      use external auth: ប្រើភ្នាក់ងារទី៣ដើម្បីកត់ឈ្មោះចូល
       continue: ចុះឈ្មោះចូល
+      use external auth: ប្រើភ្នាក់ងារទី៣ដើម្បីកត់ឈ្មោះចូល
     terms:
       decline: បដិសេធ
       legale_select: ប្រទេស​ស្នាក់​នៅ៖
index 061519ece75744338ad659a485edaae598e55aa5..584c3e5ce1fd1324ebcee9a6d1feca64698ccdbe 100644 (file)
@@ -113,7 +113,6 @@ kn:
         description: ವಿವರಣೆ
       user:
         email: ಇ-ಅಂಚೆ
-        email_confirmation: ಮಿಂಚಂಚೆ ದೃಢೀಕರಣ
         new_email: ಹೊಸ ಇ-ಅಂಚೆ ವಿಳಾಸ
         active: ಸಕ್ರಿಯ
         display_name: ಹೆಸರನ್ನು ಪ್ರದರ್ಶಿಸು
@@ -762,23 +761,9 @@ kn:
   sessions:
     new:
       title: ಲಾಗ್ ಇನ್
-      heading: ಲಾಗಿನ್
+      tab_title: ಲಾಗಿನ್
       password: 'ಪ್ರವೇಶಪದ:'
       login_button: ಲಾಗಿನ್
-      auth_providers:
-        google:
-          title: ಗೂಗಲ್ ಮೂಲಕ ಲಾಗಿನ್ ಆಗಿರಿ
-          alt: ಗೂಗಲ್ ಓಪನ್ ಐಡಿಯೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ
-        facebook:
-          title: ಫೇಸ್ಬುಕ್ ಮೂಲಕ ಲಾಗಿನ್ ಆಗಿರಿ
-          alt: ಫೇಸ್ಬುಕ್ ಖಾತೆಯೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ
-        microsoft:
-          alt: ಮೈಕ್ರೋಸಾಫ್ಟ್ ಖಾತೆಯೊಂದಿಗೆ ಪ್ರವೇಶಿಸಿ
-        github:
-          alt: ಗಿಟ್ಹಬ್ ಖಾತೆಯೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ
-        wikipedia:
-          title: ವಿಕಿಪೀಡಿಯದೊಂದಿಗೆ ಪ್ರವೇಶಿಸಿ
-          alt: ವಿಕಿಪೀಡಿಯ ಖಾತೆಯೊಂದಿಗೆ ಪ್ರವೇಶಿಸಿ
     destroy:
       title: ಲಾಗ್ ಔಟ್
       logout_button: ಲಾಗ್ ಔಟ್
@@ -879,6 +864,21 @@ kn:
   traces:
     new:
       help: ಸಹಾಯ
+  application:
+    auth_providers:
+      google:
+        title: ಗೂಗಲ್ ಮೂಲಕ ಲಾಗಿನ್ ಆಗಿರಿ
+        alt: ಗೂಗಲ್ ಓಪನ್ ಐಡಿಯೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ
+      facebook:
+        title: ಫೇಸ್ಬುಕ್ ಮೂಲಕ ಲಾಗಿನ್ ಆಗಿರಿ
+        alt: ಫೇಸ್ಬುಕ್ ಖಾತೆಯೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ
+      microsoft:
+        alt: ಮೈಕ್ರೋಸಾಫ್ಟ್ ಖಾತೆಯೊಂದಿಗೆ ಪ್ರವೇಶಿಸಿ
+      github:
+        alt: ಗಿಟ್ಹಬ್ ಖಾತೆಯೊಂದಿಗೆ ಲಾಗಿನ್ ಮಾಡಿ
+      wikipedia:
+        title: ವಿಕಿಪೀಡಿಯದೊಂದಿಗೆ ಪ್ರವೇಶಿಸಿ
+        alt: ವಿಕಿಪೀಡಿಯ ಖಾತೆಯೊಂದಿಗೆ ಪ್ರವೇಶಿಸಿ
   oauth_clients:
     show:
       edit: ವಿವರಗಳನ್ನು ಸಂಪಾದಿಸಿ
index b6cd13f24bd1ec5db5fa3afb611883b470ed1167..03188391bb4f3142595e4bc82c752e5c6e9c1865 100644 (file)
@@ -25,6 +25,7 @@
 # Author: Jonghaya
 # Author: Kwj2772
 # Author: Macofe
+# Author: Markingdots
 # Author: Nuevo Paso
 # Author: Priviet
 # Author: Revi
@@ -177,7 +178,6 @@ ko:
         auth_provider: 인증 제공자
         auth_uid: 인증 UID
         email: 이메일
-        email_confirmation: 이메일 인증
         new_email: 새 이메일 주소
         active: 활성
         display_name: 표시되는 이름
@@ -326,6 +326,7 @@ ko:
     deleted_ago_by_html: '%{time_ago}에 %{user}님이 삭제함'
     edited_ago_by_html: '%{time_ago}에 %{user}님이 편집함'
     version: 버전
+    redacted_version: 수정된 버전
     in_changeset: 바뀜집합
     anonymous: 익명
     no_comment: (댓글 없음)
@@ -336,7 +337,10 @@ ko:
       other: 길 %{count}건
     download_xml: XML 다운로드
     view_history: 역사 보기
+    view_unredacted_history: 수정되지 않은 기록 보기
     view_details: 자세한 내용 보기
+    view_redacted_data: 수정된 데이터 보기
+    view_redaction_message: 수정 메시지 보기
     location: '위치:'
     node:
       title_html: '교점: %{name}'
@@ -446,9 +450,21 @@ ko:
         created: 만들어짐
         closed: 닫힘
         belongs_to: 저자
+    subscribe:
+      heading: 다음 바뀜집합 토론을 구독하시겠습니까?
+      button: 토론 구독
+    unsubscribe:
+      heading: 다음 바뀜집합 토론의 구독을 취소하시겠습니까?
+      button: 토론 구독 취소
+    heading:
+      title: 바뀜집합 %{id}
+      created_by_html: '%{created}에 의해 %{link_user}이(가) 생성되었습니다.'
+    no_such_entry:
+      title: 해당 바뀜집합이 없습니다.
     show:
       title: '바뀜집합: %{id}'
       created: '생성 시기: %{when}'
+      closed: '닫힘: %{when}'
       created_ago_html: '%{time_ago}에 생성됨'
       closed_ago_html: '%{time_ago}에 닫힘'
       created_ago_by_html: '%{time_ago}에 %{user}님이 생성함'
@@ -526,6 +542,7 @@ ko:
     show:
       title: '%{user}의 일기 | %{title}'
       user_title: '%{user}의 일기'
+      discussion: 토론
       leave_a_comment: 의견 남기기
       login_to_leave_a_comment_html: 덧글을 남기려면 %{login_link}해야 합니다.
       login: 로그인
@@ -576,6 +593,11 @@ ko:
       comment: 의견
       newer_comments: 새 의견
       older_comments: 이전 의견
+    subscribe:
+      heading: 다음 일기 항목 토론에 구독하시겠습니까?
+      button: 토론 구독
+    unsubscribe:
+      button: 토론 구독 취소
   doorkeeper:
     flash:
       applications:
@@ -748,6 +770,7 @@ ko:
           townhall: 마을 회관
           training: 교육시설
           university: 대학
+          vehicle_inspection: 차량검사
           vending_machine: 자동 판매기
           veterinary: 동물병원
           village_hall: 커뮤니티 센터
@@ -755,6 +778,7 @@ ko:
           waste_disposal: 폐기물 처리장
           watering_place: 급수지
           water_point: 급수장
+          weighbridge: 차량계근대
           "yes": 시설
         boundary:
           aboriginal_lands: 원주민 영역
@@ -1615,8 +1639,8 @@ ko:
         partial_changeset_without_comment: 의견 없이
       details: 바뀜집합에 대한 자세한 사항은 %{url}에서 찾을 수 있습니다.
       details_html: 바뀜집합에 대한 자세한 사항은 %{url}에서 찾을 수 있습니다.
-      unsubscribe: 이 바뀜집합의 업데이트를 받지 않으려면 %{url} 에 방문하여 "구ë\8f\85 í\95´ì§\80"를 í\81´ë¦­í\95\98ì\8b­ì\8b\9cì\98¤.
-      unsubscribe_html: ì\9d´ ë°\94ë\80\9cì§\91í\95©ì\9d\98 ì\97\85ë\8d°ì\9d´í\8a¸ë¥¼ ë°\9bì§\80 ì\95\8aì\9c¼ë ¤ë©´ %{url} ì\97\90 ë°©ë¬¸í\95\98ì\97¬ '구ë\8f\85 í\95´ì§\80'를 í\81´ë¦­í\95\98ì\84¸ì\9a\94.
+      unsubscribe: 이 바뀜집합의 업데이트를 받지 않으려면 %{url} 에 방문하여 '구ë\8f\85 í\95´ì§\80'를 í\95  ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤.
+      unsubscribe_html: ì\9d´ ë°\94ë\80\9cì§\91í\95©ì\9d\98 ì\97\85ë\8d°ì\9d´í\8a¸ë¥¼ ë°\9bì§\80 ì\95\8aì\9c¼ë ¤ë©´ %{url} ì\97\90 ë°©ë¬¸í\95\98ì\97¬ '구ë\8f\85 í\95´ì§\80'를 í\95  ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤.
   confirmations:
     confirm:
       heading: 이메일을 확인하세요!
@@ -1710,7 +1734,7 @@ ko:
     new:
       title: 잊어버린 비밀번호
       heading: 비밀번호를 잊으셨나요?
-      email address: '이메일 주소:'
+      email address: 이메일 주소
       new password button: 비밀번호 재설정
       help_text: 가입할 때 사용한 이메일 주소를 입력하세요, 비밀번호를 재설정하여 사용할 수 있는 링크를 보내드립니다.
     edit:
@@ -1720,6 +1744,7 @@ ko:
       flash token bad: 토큰을 찾지 못했습니다. URL을 확인했습니까?
     update:
       flash changed: 비밀번호가 바뀌었습니다.
+      flash token bad: 토큰을 찾지 못했습니다. URL을 확인했습니까?
   preferences:
     show:
       title: 내 환경 설정
@@ -1762,42 +1787,15 @@ ko:
   sessions:
     new:
       title: 로그인
-      heading: 로그인
-      email or username: '이메일 주소 또는 사용자 이름:'
-      password: '비밀번호:'
+      tab_title: 로그인
+      email or username: 이메일 주소 또는 사용자 이름
+      password: 비밀번호
       remember: 로그인 상태를 기억하기
       lost password link: 비밀번호를 잊으셨나요?
       login_button: 로그인
       register now: 지금 등록하세요
       with external: '다른 제3자 로그인 방식 사용하기:'
-      no account: 계정이 없나요?
       auth failure: 죄송합니다, 입력한 정보로 로그인할 수 없습니다.
-      openid_logo_alt: OpenID로 로그인
-      auth_providers:
-        openid:
-          title: OpenID로 로그인하기
-          alt: OpenID URL로 로그인
-        google:
-          title: 구글로 로그인하기
-          alt: Google OpenID로 로그인하기
-        facebook:
-          title: 페이스북으로 로그인
-          alt: 페이스북 계정으로 로그인하기
-        microsoft:
-          title: 마이크로소프트로 로그인하기
-          alt: 마이크로소프트 계정으로 로그인하기
-        github:
-          title: GitHub로 로그인
-          alt: GitHub 계정으로 로그인
-        wikipedia:
-          title: 위키백과로 로그인하기
-          alt: 위키백과 계정으로 로그인
-        wordpress:
-          title: 워드프레스로 로그인하기
-          alt: Wordpress OpenID로 로그인하기
-        aol:
-          title: AOL로 로그인하기
-          alt: AOL OpenID로 로그인하기
     destroy:
       title: 로그아웃
       heading: 오픈스트리트맵에서 로그아웃
@@ -1941,6 +1939,7 @@ ko:
           데이터를 포함합니다.
         contributors_fr_france: 프랑스
         contributors_hr_croatia: 크로아티아
+        contributors_hr_open_data_portal: 국가 공개 데이터 포털
         contributors_nl_credit_html: '%{netherlands}: 2007년 &copy; AND 데이터 (%{and_link})를
           포함합니다.'
         contributors_nl_netherlands: 네덜란드
@@ -2069,8 +2068,8 @@ ko:
         title: 초보자 길라잡이
         description: 커뮤니티에서 관리하는 초보자 길라잡이
       community:
-        title: 공동체 포럼
-        description: ì\98¤í\94\88ì\8a¤í\8a¸ë¦¬í\8a¸ë§µê³¼ ê´\80ë ¨í\95\9c ë\8c\80í\99\94를 ë\82\98ë\88\84는 장소입니다.
+        title: 도움말 및 커뮤니티 포럼
+        description: ì\98¤í\94\88ì\8a¤í\8a¸ë¦¬í\8a¸ë§µê³¼ ê´\80ë ¨í\95´ì\84\9c ë\8f\84ì\9b\80ì\9d\84 êµ¬í\95\98ê³  ë\8c\80í\99\94를 ë\82\98ë\88\8c ì\88\98 ì\9e\88는 장소입니다.
       mailing_lists:
         title: 메일링 리스트
         description: 국소 또는 지역의 메일링 리스트의 넓은 범위에서 관심사에 대해 질문하거나 토론을 합니다.
@@ -2122,23 +2121,40 @@ ko:
           primary: 1차 도로
           secondary: 2차 도로
           unclassified: 4차 도로(연결 도로)
+          pedestrian: 보도
           track: 농·임도
           bridleway: 승마로
           cycleway: 자전거 도로
           cycleway_national: 국립 자전거 도로
           cycleway_regional: 지역별 자전거 도로
           cycleway_local: 일반 자전거 도로
+          cycleway_mtb: 산악자전거 코스
           footway: 보도
           rail: 철도
+          train: 기차
           subway: 지하철
+          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: 공유지
@@ -2149,16 +2165,20 @@ ko:
           heathland: 황무지
           lake: 호수
           reservoir: 저수지
+          glacier: 빙하
+          wetland: 습지
           farm: 농장
           brownfield: 재개발지역
           cemetery: 묘역
           allotments: 텃밭
           pitch: 운동장
           centre: 스포츠 센터
+          beach: 해변
           reserve: 자연 보호구역
           military: 군사 지역
           school: 학교
           university: 대학
+          hospital: 병원
           building: 주요 건물
           station: 철도역
           summit: 산꼭대기
@@ -2168,8 +2188,12 @@ ko:
           private: 개인 통행
           destination: 목적 통행
           construction: 공사 중인 도로
+          bus_stop: 버스 정류장
+          stop: 중지
           bicycle_shop: 자전거 가게
+          bicycle_rental: 자전거 대여
           bicycle_parking: 자전거 주차장
+          bicycle_parking_small: 소형 자전거 주차장
           toilets: 화장실
     welcome:
       title: 환영합니다!
@@ -2344,6 +2368,32 @@ ko:
       oauth1_settings: OAuth 1 설정
       oauth2_applications: OAuth 2 애플리케이션
       oauth2_authorizations: OAuth 2 인가
+    auth_providers:
+      openid_logo_alt: OpenID로 로그인
+      openid:
+        title: OpenID로 로그인하기
+        alt: OpenID URL로 로그인
+      google:
+        title: 구글로 로그인하기
+        alt: Google OpenID로 로그인하기
+      facebook:
+        title: 페이스북으로 로그인
+        alt: 페이스북 계정으로 로그인하기
+      microsoft:
+        title: 마이크로소프트로 로그인하기
+        alt: 마이크로소프트 계정으로 로그인하기
+      github:
+        title: GitHub로 로그인
+        alt: GitHub 계정으로 로그인
+      wikipedia:
+        title: 위키백과로 로그인하기
+        alt: 위키백과 계정으로 로그인
+      wordpress:
+        title: 워드프레스로 로그인하기
+        alt: Wordpress OpenID로 로그인하기
+      aol:
+        title: AOL로 로그인하기
+        alt: AOL OpenID로 로그인하기
   oauth:
     authorize:
       title: 내 계정에 접근 인증
@@ -2461,6 +2511,7 @@ ko:
       title: 내 인증한 애플리케이션
       application: 애플리케이션
       permissions: 권한
+      last_authorized: 마지막 승인
       no_applications_html: 아직 %{oauth2} 애플리케이션을 승인하지 않았습니다.
     application:
       revoke: 접근 취소
@@ -2479,14 +2530,12 @@ ko:
         paragraph_2: 기여를 시작하려면 가입하세요. 당신의 계정 확인을 위해 이메일을 보내드리겠습니다.
       display name description: 공개적으로 표시되는 사용자 이름입니다. 나중에 환경 설정에서 바꿀 수 있습니다.
       external auth: '제3자 인증:'
-      use external auth: 다른 제3자 로그인 방식 사용하기
-      auth no password: 제3자 인증은 비밀번호가 필요하지 않지만, 일부 추가 도구나 서버는 여전히 필요할 수 있습니다.
       continue: 가입하기
       terms accepted: 새 기여자 약관에 동의해 주셔서 감사합니다!
-      email_confirmation_help_html: 당신의 주소는 공개적으로 노출되지 않습니다. 자세한 내용은 %{privacy_policy_link}를
-        참조하세요.
+      email_help_html: 당신의 주소는 공개적으로 노출되지 않습니다. 자세한 내용은 %{privacy_policy_link}를 참조하세요.
       privacy_policy: 개인정보처리방침
       privacy_policy_title: 이메일 주소 섹션을 포함한 OSMF 개인 정보 보호 정책
+      use external auth: 다른 제3자 로그인 방식 사용하기
     terms:
       title: 약관
       heading: 약관
@@ -2567,6 +2616,7 @@ ko:
           importer: 임포터 접근 권한 취소
       block_history: 활성화된 차단
       moderator_history: 실행된 차단
+      revoke_all_blocks: 모든 블록 취소
       comments: 의견
       create_block: 이 사용자를 차단
       activate_user: 이 사용자 활성화
@@ -2583,6 +2633,7 @@ ko:
     index:
       title: 사용자
       heading: 사용자
+      newer: 신규 사용자
       summary_html: '%{name}님이 %{date}에 %{ip_address}에서 만들어짐'
       summary_no_ip_html: '%{name}이(가) %{date}에 만들어짐'
       confirm: 선택한 사용자 확인
@@ -2662,6 +2713,8 @@ ko:
       confirm: 이 차단을 해제하겠습니까?
       revoke: 해제!
       flash: 이 차단을 해제했습니다.
+    revoke_all:
+      revoke: 해제!
     helper:
       time_future_html: '%{time}에 끝납니다.'
       until_login: 사용자가 로그인할 때까지 활성합니다.
@@ -2713,6 +2766,13 @@ ko:
     navigation:
       all_blocks: 모든 차단
       block: '#%{id} 차단'
+  user_mutes:
+    index:
+      table:
+        thead:
+          actions: 동작
+        tbody:
+          send_message: 메시지 보내기
   notes:
     index:
       title: '%{user} 님이 제출했거나 덧글을 남긴 참고'
@@ -2748,6 +2808,7 @@ ko:
       reactivate: 다시 활성화
       comment_and_resolve: 의견 및 해결
       comment: 의견
+      log_in_to_comment: 이 메모에 댓글을 달려면 로그인하세요.
       report_link_html: 이 참고에 삭제해야 하는 민감한 정보가 포함되어 있으면 %{link}할 수 있습니다.
       other_problems_resolve: 참고의 다른 모든 문제는 댓글로 직접 해결하시기 바랍니다.
       other_problems_resolved: 다른 모든 문제는 해결하는 것으로 충분합니다.
@@ -2828,6 +2889,7 @@ ko:
       map_data_zoom_in_tooltip: 지도 데이터를 보려면 확대
       queryfeature_tooltip: 지물 정보
       queryfeature_disabled_tooltip: 지물 정보를 확인하려면 확대
+      embed_html_disabled: 이 지도 레이어에는 HTML 임베딩을 사용할 수 없습니다.
     changesets:
       show:
         comment: 의견
index 6a4251096414452910889ba3c76de6cc25c17b94..4989838edbbc53d1ec01ab385cfa718c192ffb8e 100644 (file)
@@ -218,28 +218,11 @@ ksh:
   sessions:
     new:
       title: Enlogge
-      heading: Enlogge
+      tab_title: Enlogge
       email or username: 'De Adräß för de e-mail udder der Metmaacher_Nahme:'
       password: 'Paßwoot:'
       lost password link: Paßwoot verschött jejange?
       login_button: Enlogge
-      auth_providers:
-        google:
-          title: Övver Google ennlogge
-          alt: Ennlogge medd ener OpenID vun Google
-        facebook:
-          title: Donn övver ene Zohjang op Facebook ennlogge
-          alt: Donn övver ene Zohjang op Facebook ennlogge
-        microsoft:
-          title: Donn medd enem Zohjang op Windows Live ennlogge
-          alt: Donn medd enem Zohjang op Windows Live ennlogge
-        github:
-          title: Övver GitHub ennlogge
-          alt: Donn övver ene Zohjang bei GitHub ennlogge
-        wordpress:
-          title: Övver Wordpress ennlogge
-        aol:
-          title: Övver AOL enlogge
   site:
     about:
       legal_title: Rääschlesch
@@ -349,6 +332,23 @@ ksh:
       cookies_needed: |-
         Et schingk, wi wann De cookies afjeschalldt häz.
         Bes esu jood un donn se en Dingem Brauser aanschallde, ih dat De wigger mähß.
+    auth_providers:
+      google:
+        title: Övver Google ennlogge
+        alt: Ennlogge medd ener OpenID vun Google
+      facebook:
+        title: Donn övver ene Zohjang op Facebook ennlogge
+        alt: Donn övver ene Zohjang op Facebook ennlogge
+      microsoft:
+        title: Donn medd enem Zohjang op Windows Live ennlogge
+        alt: Donn medd enem Zohjang op Windows Live ennlogge
+      github:
+        title: Övver GitHub ennlogge
+        alt: Donn övver ene Zohjang bei GitHub ennlogge
+      wordpress:
+        title: Övver Wordpress ennlogge
+      aol:
+        title: Övver AOL enlogge
   oauth:
     authorize:
       allow_write_api: donn de Landkaat änndere
index f32e21b0cbcaeaf17726f59f788ce30386104a97..c658a429a54f4bff77969ed36d06d0e8942f8e9c 100644 (file)
@@ -143,7 +143,6 @@ ku-Latn:
         auth_provider: Pêşkêşkera teyîdkirina nasnameyê
         auth_uid: UIDa teyîdkirina nasnameyê
         email: E-name
-        email_confirmation: Piştrastkirina e-nameyê
         new_email: Navnîşana e-nameyê yê nû
         active: Çalak
         display_name: Nav nîşan bide
@@ -1842,7 +1841,7 @@ ku-Latn:
   sessions:
     new:
       title: Têkeve
-      heading: Têkeve
+      tab_title: Têkeve
       email or username: Adrêsa E-peyamê an jî Navê Bikarhêneriyêː
       password: 'Şîfre:'
       remember: Min bi bîr bîne
@@ -1850,34 +1849,7 @@ ku-Latn:
       login_button: Têkeve
       register now: Vê gavê xwe qeyd bike
       with external: Wek alternatîv, ji bo têketinê yek ji van sepanan bi kar bîneː
-      no account: Hesabekî te tine?
       auth failure: Bibore, bi van dêtayan re tu têneketî.
-      openid_logo_alt: Têketina bi OpenID'yê
-      auth_providers:
-        openid:
-          title: Bi OpenID'yê têkeve
-          alt: Têketina bi URL'yek OpenID'yê
-        google:
-          title: Bi Google têkeve
-          alt: Têketina bi OpenID ya Googlê
-        facebook:
-          title: Bi Facebookê têkeve
-          alt: Bi hesabekî Facebookê têkeve
-        microsoft:
-          title: Bi Microsoftê têkeve
-          alt: Bi hesabê xwe yê Microsoftê têkeve
-        github:
-          title: Bi GitHub'ê têkeve
-          alt: Bi hesabekî GitHubê têbikeve
-        wikipedia:
-          title: Bi Wîkîpediyayê têkeve
-          alt: Bi hesabekî Wîkîpediyayê têkeve
-        wordpress:
-          title: Bi Wordpressê têkeve
-          alt: Bi OpenID ya Wordpressê têbikeve
-        aol:
-          title: Bi AOL'ê têkeve
-          alt: Bi OpenID ya AOLê têkeve
     destroy:
       title: Derkeve
       heading: Ji OpenStreetMapê derkeve
@@ -2281,6 +2253,32 @@ ku-Latn:
       oauth1_settings: Mîhengên OAuth 1
       oauth2_applications: Aplîkasyonên OAuth 2
       oauth2_authorizations: Destûrdarkirinên OAuth 2
+    auth_providers:
+      openid_logo_alt: Têketina bi OpenID'yê
+      openid:
+        title: Bi OpenID'yê têkeve
+        alt: Têketina bi URL'yek OpenID'yê
+      google:
+        title: Bi Google têkeve
+        alt: Têketina bi OpenID ya Googlê
+      facebook:
+        title: Bi Facebookê têkeve
+        alt: Bi hesabekî Facebookê têkeve
+      microsoft:
+        title: Bi Microsoftê têkeve
+        alt: Bi hesabê xwe yê Microsoftê têkeve
+      github:
+        title: Bi GitHub'ê têkeve
+        alt: Bi hesabekî GitHubê têbikeve
+      wikipedia:
+        title: Bi Wîkîpediyayê têkeve
+        alt: Bi hesabekî Wîkîpediyayê têkeve
+      wordpress:
+        title: Bi Wordpressê têkeve
+        alt: Bi OpenID ya Wordpressê têbikeve
+      aol:
+        title: Bi AOL'ê têkeve
+        alt: Bi OpenID ya AOLê têkeve
   oauth:
     authorize:
       title: Ji bo gihîna hesabê xwe selahiyetê bide
@@ -2423,13 +2421,10 @@ ku-Latn:
       display name description: Navê te yê ku ji her kesê re tê xuyan. Tu paşê dikarî
         vê navê ji hevyazên xwe biguherînî.
       external auth: 'Teyîdkirina bi aliyên sêyem:'
-      use external auth: Wek alternatîv, ji bo têketinê yekî ji van bi kar bîne
-      auth no password: Eger tu bi aliyên sêyem teyîd bikî şîfre hewce nake, lê belê
-        ji bo hinek amûrên din an jî ji bo serverê dibe ku dîsa jî şîfreyek hewce
-        bike.
       continue: Qeyd bibe
       terms accepted: Em spasiya te dikin ji bo ku te şertên beşdariyê yê nû qebûl
         kirǃ
+      use external auth: Wek alternatîv, ji bo têketinê yekî ji van bi kar bîne
     terms:
       title: Şertûmerc
       heading: Şertûmerc
index 2d0f3ecc46d03e512cc73b967753173a2cd235d1..d7bcb433b28557d4f7845357f281dcb7cfcf90c1 100644 (file)
@@ -141,7 +141,6 @@ lb:
         auth_provider: Authentifizéierungsubidder
         auth_uid: Authentifizéierungs UID
         email: E-Mail
-        email_confirmation: E-Mail Bestätegung
         new_email: Nei E-Mail-Adress
         active: Aktiv
         display_name: Numm dee gewise gëtt
@@ -1813,7 +1812,7 @@ lb:
   sessions:
     new:
       title: Aloggen
-      heading: Aloggen
+      tab_title: Aloggen
       email or username: E-Mail-Adress oder Benotzernumm
       password: Passwuert
       remember: Sech u mech erënneren
@@ -1821,34 +1820,7 @@ lb:
       login_button: Aloggen
       register now: Elo aschreiwen
       with external: 'Benotzt alternativ eng Drëtt Partei fir anzeloggen:'
-      no account: Hutt Dir kee Benotzerkont?
       auth failure: Mat dëssen Daten ass leider keng Umeldung méiglech.
-      openid_logo_alt: Alogge mat enger OpenID
-      auth_providers:
-        openid:
-          title: Mat OpenID aloggen
-          alt: Mat enger OpenID-URL aloggen
-        google:
-          title: Mat Google aloggen
-          alt: Mat enger Google-OpenID aloggen
-        facebook:
-          title: Mat Facebook aloggen
-          alt: Mat engem Facebook-Kont aloggen
-        microsoft:
-          title: Mat Microsoft aloggen
-          alt: Mat engem Microsoft-Kont aloggen
-        github:
-          title: Mat GitHub aloggen
-          alt: Mat engem GitHub-Kont aloggen
-        wikipedia:
-          title: Mat Wikipedia aloggen
-          alt: Mat engem Wikipedia-Benotzerkont aloggen
-        wordpress:
-          title: Mat Wordpress aloggen
-          alt: Mat enger Wordpress-OpenID aloggen
-        aol:
-          title: Mat AOL aloggen
-          alt: Mat enger AOL-OpenID aloggen
     destroy:
       title: Ofmellen
       heading: Vun OpenStreetMap ofmellen
@@ -2146,6 +2118,32 @@ lb:
       oauth1_settings: OAuth 1-Astellungen
       oauth2_applications: OAuth 2 Applikatiounen
       oauth2_authorizations: OAuth 2 Autorisatiounen
+    auth_providers:
+      openid_logo_alt: Alogge mat enger OpenID
+      openid:
+        title: Mat OpenID aloggen
+        alt: Mat enger OpenID-URL aloggen
+      google:
+        title: Mat Google aloggen
+        alt: Mat enger Google-OpenID aloggen
+      facebook:
+        title: Mat Facebook aloggen
+        alt: Mat engem Facebook-Kont aloggen
+      microsoft:
+        title: Mat Microsoft aloggen
+        alt: Mat engem Microsoft-Kont aloggen
+      github:
+        title: Mat GitHub aloggen
+        alt: Mat engem GitHub-Kont aloggen
+      wikipedia:
+        title: Mat Wikipedia aloggen
+        alt: Mat engem Wikipedia-Benotzerkont aloggen
+      wordpress:
+        title: Mat Wordpress aloggen
+        alt: Mat enger Wordpress-OpenID aloggen
+      aol:
+        title: Mat AOL aloggen
+        alt: Mat enger AOL-OpenID aloggen
   oauth:
     authorize:
       title: Zougrëff op Äre Benotzerkont autoriséieren
index 8cf035c0682f79011304cdf2f8147a7b9398316a..50cc531389ff0d2f525a1612f8604b5d7d164f91 100644 (file)
@@ -160,7 +160,6 @@ lt:
         auth_provider: Tapatumo nustatymo teikėjas
         auth_uid: Tapatumo nustatymo UID
         email: El. paštas
-        email_confirmation: El. pašto patvirtinimas
         new_email: Naujas el. pašto adresas
         active: Aktyvus
         display_name: Rodomas vardas
@@ -1880,7 +1879,7 @@ lt:
   sessions:
     new:
       title: Prisijungti
-      heading: Prisijungti
+      tab_title: Prisijungti
       email or username: 'El. pašto adresas ar naudotojo vardas:'
       password: Slaptažodis
       remember: Prisiminti prisijungimą
@@ -1888,34 +1887,7 @@ lt:
       login_button: Prisijungti
       register now: Užsiregistruoti
       with external: 'Alternatyviai, naudokite trečią šalį prisijungimui:'
-      no account: Neturite savo paskyros?
       auth failure: Atsiprašome, negalite prisijungti su tokiais duomenimis.
-      openid_logo_alt: Prisijunkite su OpenID
-      auth_providers:
-        openid:
-          title: Prisijunkite su OpenID
-          alt: Prisijunkite su OpenID URL
-        google:
-          title: Prisijunkite su Google
-          alt: Prisijunkite su Google OpenID
-        facebook:
-          title: Prisijungti su Facebook
-          alt: Prisijungti su Facebook paskyra
-        microsoft:
-          title: Prisijungti su Microsoft
-          alt: Prisijungti su Microsoft paskyra
-        github:
-          title: Prisijungti su GitHub
-          alt: Prisijungti su GitHub Paskyra
-        wikipedia:
-          title: Prisijungti su Vikipedija
-          alt: Prisijungti su Vikipedija Paskyra
-        wordpress:
-          title: Prisijunkite su Wordpress
-          alt: Prisijunkite su Wordpress OpenID
-        aol:
-          title: Prisijunkite su AOL
-          alt: Prisijunkite su AOL OpenID
     destroy:
       title: Atsijungti
       heading: Atsijungti nuo OpenStreetMap
@@ -2468,6 +2440,32 @@ lt:
       oauth1_settings: „OAuth 1“ nustatymai
       oauth2_applications: „OAuth 2“ programos
       oauth2_authorizations: „OAuth 2“ prieigos teisės
+    auth_providers:
+      openid_logo_alt: Prisijunkite su OpenID
+      openid:
+        title: Prisijunkite su OpenID
+        alt: Prisijunkite su OpenID URL
+      google:
+        title: Prisijunkite su Google
+        alt: Prisijunkite su Google OpenID
+      facebook:
+        title: Prisijungti su Facebook
+        alt: Prisijungti su Facebook paskyra
+      microsoft:
+        title: Prisijungti su Microsoft
+        alt: Prisijungti su Microsoft paskyra
+      github:
+        title: Prisijungti su GitHub
+        alt: Prisijungti su GitHub Paskyra
+      wikipedia:
+        title: Prisijungti su Vikipedija
+        alt: Prisijungti su Vikipedija Paskyra
+      wordpress:
+        title: Prisijunkite su Wordpress
+        alt: Prisijunkite su Wordpress OpenID
+      aol:
+        title: Prisijunkite su AOL
+        alt: Prisijunkite su AOL OpenID
   oauth:
     authorize:
       title: Autorizuoti priėjimą prie jūsų paskyros
@@ -2609,12 +2607,10 @@ lt:
       display name description: Jūsų viešai rodomas naudotojo vardas. Jei norėsite,
         galėsite jį vėliau pakeisti savo nustatymuose.
       external auth: 'Trečios šalies autentikacija:'
-      use external auth: Alternatyviai, naudokite trečią šalį prisijungimui
-      auth no password: Naudojant trečios šalies autentikaciją nereikia slaptažodžio,
-        bet kai kuriems papildomiems įrankiams arba serveriui gali jo prireikti.
       continue: Užsiregistruoti
       terms accepted: Ačiū, kad patvirtinote naująsias talkininkų sąlygas!
       privacy_policy: privatumo politika
+      use external auth: Alternatyviai, naudokite trečią šalį prisijungimui
     terms:
       title: Sąlygos
       heading: Sąlygos
index 43a84bbadb4e9ee027010a9fd51970e641221042..1fd74892d3af0c82b5ccfb8d0ea1281892dc832a 100644 (file)
@@ -138,7 +138,6 @@ lv:
         details: Lūdzu, sniedziet sīkāku informāciju par problēmu (obligāti).
       user:
         email: E-pasts
-        email_confirmation: E-pasta apstiprinājums
         new_email: Jauna e-pasta adrese
         active: Aktīvs
         display_name: Rādāmais vārds
@@ -1456,7 +1455,7 @@ lv:
   sessions:
     new:
       title: Pieslēgties
-      heading: Pieslēgties
+      tab_title: Pieslēgties
       email or username: 'E-pasta adrese vai lietotājvārds:'
       password: 'Parole:'
       remember: Atcerēties mani
@@ -1464,34 +1463,7 @@ lv:
       login_button: Pieslēgties
       register now: Reģistrēties
       with external: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
-      no account: Nav lietotāja?
       auth failure: Diemžēl nevarēja ieiet ar šiem datiem
-      openid_logo_alt: Pieteikties ar OpenID
-      auth_providers:
-        openid:
-          title: Pieslēgties ar OpenID
-          alt: Pieslēgties ar OpenID saiti
-        google:
-          title: Pieslēgties ar Google
-          alt: Pieslēgties ar Google OpenID
-        facebook:
-          title: Pieslēgties ar Facebook
-          alt: Pieslēgties ar Facebook kontu
-        microsoft:
-          title: Pieslēgties ar Microsoft
-          alt: Pieslēgties ar Microsoft kontu
-        github:
-          title: Pieslēgties ar GitHub
-          alt: Pieslēgties ar GitHub kontu
-        wikipedia:
-          title: Ieiet ar Vikipēdiju
-          alt: Ieiet ar Vikipēdijas kontu
-        wordpress:
-          title: Pieslēgties ar WordPress
-          alt: Pieslēgties ar WordPress OpenID
-        aol:
-          title: Pieslēgties ar AOL
-          alt: Pieslēgties ar AOL OpenID
     destroy:
       title: Iziet
       heading: Iziet no OpenStreetMap
@@ -1863,6 +1835,32 @@ lv:
       need_to_see_terms: Tava piekļuve API un laiku pārtraukta. Lūdzu autorizējies
         mājaslapas interfeisā, lai apskatītu Veidotāju Noteikumus. Tev nevajag piekrist,
         bet tev tie ir jāapskata.
+    auth_providers:
+      openid_logo_alt: Pieteikties ar OpenID
+      openid:
+        title: Pieslēgties ar OpenID
+        alt: Pieslēgties ar OpenID saiti
+      google:
+        title: Pieslēgties ar Google
+        alt: Pieslēgties ar Google OpenID
+      facebook:
+        title: Pieslēgties ar Facebook
+        alt: Pieslēgties ar Facebook kontu
+      microsoft:
+        title: Pieslēgties ar Microsoft
+        alt: Pieslēgties ar Microsoft kontu
+      github:
+        title: Pieslēgties ar GitHub
+        alt: Pieslēgties ar GitHub kontu
+      wikipedia:
+        title: Ieiet ar Vikipēdiju
+        alt: Ieiet ar Vikipēdijas kontu
+      wordpress:
+        title: Pieslēgties ar WordPress
+        alt: Pieslēgties ar WordPress OpenID
+      aol:
+        title: Pieslēgties ar AOL
+        alt: Pieslēgties ar AOL OpenID
   oauth:
     authorize:
       title: Atļaut piekļuvi savam kontam
@@ -1941,11 +1939,9 @@ lv:
       display name description: Vārds, kas tiks rādīts publiski. Jūs to vēlāk varēsiet
         izmainīt iestatījumos.
       external auth: 'Trešo Pušu Autentifikācija:'
-      use external auth: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
-      auth no password: Ar trešās partijas autentifikāciju nav nepieciešama parole,
-        bet dažiem rīkiem vai serveriem tā vēl joprojām varētu būt nepieciešama.
       continue: Reģistrēties
       terms accepted: Paldies, ka pieņēmāt jaunos devuma noteikumus!
+      use external auth: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
     terms:
       title: Dalībnieka noteikumi
       heading: Dalībnieka noteikumi
index 466886758f2aedc115b14edacdac8067d2f39d4f..148f00f85818b3a4e08489a2ddfed3a76c9326f6 100644 (file)
@@ -143,7 +143,6 @@ mk:
         auth_provider: Заверувач
         auth_uid: Назнака за заверката
         email: Е-пошта
-        email_confirmation: Потврда на е-пошта
         new_email: Нова е-пошта
         active: Активно
         display_name: Име за приказ
@@ -1923,7 +1922,7 @@ mk:
   sessions:
     new:
       title: Најава
-      heading: Најава
+      tab_title: Најава
       email or username: Е-пошта или корисничко име
       password: Лозинка
       remember: Запомни ме
@@ -1931,34 +1930,7 @@ mk:
       login_button: Најава
       register now: Зачленете се сега
       with external: 'Во спротивно, најавете преку надворешно место:'
-      no account: Немате сметка?
       auth failure: Жалиме, не можевме да ве најавиме со тие податоци.
-      openid_logo_alt: Најава со OpenID
-      auth_providers:
-        openid:
-          title: Најава со OpenID
-          alt: Најава со URL за OpenID
-        google:
-          title: Најава со Google
-          alt: Најава со OpenID од Google
-        facebook:
-          title: Најава со Фејсбук
-          alt: Најава со профил на Фејсбук
-        microsoft:
-          title: Најава со Microsoft
-          alt: Најава со сметка на Microsoft
-        github:
-          title: Најава со GitHub
-          alt: Најава со сметка на GitHub
-        wikipedia:
-          title: Најава со Википедија
-          alt: Најава со сметка на Википедија
-        wordpress:
-          title: Најава со Wordpress
-          alt: Најава со OpenID од Wordpress
-        aol:
-          title: Најава со AOL
-          alt: Најава со OpenID од AOL
     destroy:
       title: Одјава
       heading: Одјава од OpenStreetMap
@@ -2627,6 +2599,32 @@ mk:
       oauth2_applications: Поставки за OAuth 2
       oauth2_authorizations: Овластувања за OAuth 2
       muted_users: Замолкнати корисници
+    auth_providers:
+      openid_logo_alt: Најава со OpenID
+      openid:
+        title: Најава со OpenID
+        alt: Најава со URL за OpenID
+      google:
+        title: Најава со Google
+        alt: Најава со OpenID од Google
+      facebook:
+        title: Најава со Фејсбук
+        alt: Најава со профил на Фејсбук
+      microsoft:
+        title: Најава со Microsoft
+        alt: Најава со сметка на Microsoft
+      github:
+        title: Најава со GitHub
+        alt: Најава со сметка на GitHub
+      wikipedia:
+        title: Најава со Википедија
+        alt: Најава со сметка на Википедија
+      wordpress:
+        title: Најава со Wordpress
+        alt: Најава со OpenID од Wordpress
+      aol:
+        title: Најава со AOL
+        alt: Најава со OpenID од AOL
   oauth:
     authorize:
       title: Овластете пристап до вашата сметка
@@ -2774,16 +2772,14 @@ mk:
       display name description: Вашето јавно прикажано име. Можете да го смените подоцна
         во прилагодувањата.
       external auth: 'Заверка за надворешното место:'
-      use external auth: Во спротивно, најавете преку надворешно место
-      auth no password: Ако користите надворешно место, тогаш не ви треба лозинка,
-        но може да ја побараат некои дополнителни алатки или опслужувачот.
       continue: Зачленување
       terms accepted: Ви благодариме што ги прифативте новите услови за учество!
-      email_confirmation_help_html: Вашата адреса не се прикажува јавно. Повеќе ќе
-        дознаете на %{privacy_policy_link}.
+      email_help_html: Вашата адреса не се прикажува јавно. Повеќе ќе дознаете на
+        %{privacy_policy_link}.
       privacy_policy: правила за личните податоци
       privacy_policy_title: Правилата за лични податоци на OSMF, со одделот за е-поштенски
         адреси
+      use external auth: Во спротивно, најавете преку надворешно место
     terms:
       title: Услови
       heading: Услови
index 0404ed3d33cec350d7df10343a88b83718dee435..8e4055d51b7b0afc7d584f092eeb1bf965ddfec1 100644 (file)
@@ -561,40 +561,13 @@ mo:
   sessions:
     new:
       title: Презентаци-вэ
-      heading: Презентаци-вэ
+      tab_title: Презентаци-вэ
       email or username: 'Пошта електроникэ сау нумеле де утилизатор:'
       password: 'Паролэ:'
       remember: Пэстраря сесиуний
       lost password link: Аць уйтат парола?
       login_button: Ынтраря ын конт
       register now: Ынреӂистраци-вэ акум
-      no account: Ну авець ун конт де утилизатор?
-      openid_logo_alt: Ынтраря ку ажуторул OpenID
-      auth_providers:
-        openid:
-          title: Ынтраря ку ажуторул OpenID
-          alt: Ынтраря ку ажуторул OpenID URL
-        google:
-          title: Ынтраря ку ажуторул Google
-          alt: Ынтраря ку ажуторул Google OpenID
-        facebook:
-          title: Ынтраря ку ажуторул Facebook
-          alt: Ынтраря ку ажуторул контулуй де Facebook
-        microsoft:
-          title: Ынтраря ку ажуторул Windows Live
-          alt: Ынтраря ку ажуторул контулуй де Windows Live
-        github:
-          title: Ынтраря ку ажуторул GitHub
-          alt: Ынтраря ку ажуторул контулуй де GitHub
-        wikipedia:
-          title: Ынтраря ку ажуторул Википедией
-          alt: Ынтраря ку ажуторул контулуй де Википедия
-        wordpress:
-          title: Ынтраря ку ажуторул Wordpress
-          alt: Ынтраря ку ажуторул Wordpress OpenID
-        aol:
-          title: Ынтраря ку ажуторул AOL
-          alt: Ынтраря ку ажуторул AOL OpenID
     destroy:
       title: Ынкееря сесиуний
       heading: Ешире дин OpenStreetMap
@@ -602,6 +575,33 @@ mo:
   site:
     export:
       title: Експортаре
+  application:
+    auth_providers:
+      openid_logo_alt: Ынтраря ку ажуторул OpenID
+      openid:
+        title: Ынтраря ку ажуторул OpenID
+        alt: Ынтраря ку ажуторул OpenID URL
+      google:
+        title: Ынтраря ку ажуторул Google
+        alt: Ынтраря ку ажуторул Google OpenID
+      facebook:
+        title: Ынтраря ку ажуторул Facebook
+        alt: Ынтраря ку ажуторул контулуй де Facebook
+      microsoft:
+        title: Ынтраря ку ажуторул Windows Live
+        alt: Ынтраря ку ажуторул контулуй де Windows Live
+      github:
+        title: Ынтраря ку ажуторул GitHub
+        alt: Ынтраря ку ажуторул контулуй де GitHub
+      wikipedia:
+        title: Ынтраря ку ажуторул Википедией
+        alt: Ынтраря ку ажуторул контулуй де Википедия
+      wordpress:
+        title: Ынтраря ку ажуторул Wordpress
+        alt: Ынтраря ку ажуторул Wordpress OpenID
+      aol:
+        title: Ынтраря ку ажуторул AOL
+        alt: Ынтраря ку ажуторул AOL OpenID
   users:
     show:
       my diary: Журналул меу
index c5f915a8fb8e9d866c324b9ff7a30c8a85b3b002..e7bec4be0e5f6ef168e8d00ed2a67343b0ceb195 100644 (file)
@@ -1018,14 +1018,13 @@ mr:
   sessions:
     new:
       title: सनोंद प्रवेश करा
-      heading: सनोंद प्रवेश करा
+      tab_title: सनोंद प्रवेश करा
       email or username: 'विपत्रपत्ता किंवा सदस्यनाव:'
       password: 'परवलीचा शब्द:'
       remember: माझी आठवण ठेवा
       lost password link: परवलीचा शब्द विसरलात?
       login_button: सनोंद प्रवेश करा
       register now: आत्ता नोंदणी करा
-      no account: आपले खाते नाही?
   site:
     about:
       next: पुढील
index 1f297b36ab77e1e3668846c5f1ca8ff3913a64ad..e73c511c1a2b8f62b75d8402a608184ad4653bb7 100644 (file)
@@ -145,7 +145,6 @@ ms:
         auth_provider: Pembekal Pengesahan
         auth_uid: UID pengesahan
         email: E-mel
-        email_confirmation: Pengesahan E-mel
         new_email: Alamat E-mel Baru
         active: Aktif
         display_name: Nama Paparan
@@ -191,7 +190,7 @@ ms:
     default: Asali (kini %{name})
     id:
       name: iD
-      description: iD (editor dalam pelayar)
+      description: iD (alat sunting pada pelayar)
     remote:
       name: Kawalan Jauh
       description: Kawalan Jauh (JOSM atau Merkaartor)
@@ -1439,42 +1438,15 @@ ms:
   sessions:
     new:
       title: Log masuk
-      heading: Log masuk
+      tab_title: Log masuk
       email or username: 'Alamat E-mel atau Nama Pengguna:'
       password: 'Kata laluan:'
       remember: Ingati saya
       lost password link: Lupa kata laluan anda?
       login_button: Log masuk
       register now: Daftar sekarang
-      no account: Belum buka akaun?
       auth failure: Maaf, log masuk tidak dapat dibenarkan dengan butiran-butiran
         itu.
-      openid_logo_alt: Log masuk dengan OpenID
-      auth_providers:
-        openid:
-          title: Log masuk dengan OpenID
-          alt: Log masuk dengan OpenID URL
-        google:
-          title: Log masuk dengan Google
-          alt: Log masuk dengan Google OpenID
-        facebook:
-          title: Log masuk dengan Facebook
-          alt: Log masuk dengan Akuan Facebook
-        microsoft:
-          title: Log masuk dengan Window Live
-          alt: Log masuk dengan Akaun Windows Live
-        github:
-          title: Log masuk dengan GitHub
-          alt: Log masuk dengan Akaun GitHub.
-        wikipedia:
-          title: Log masuk dengan Wikipedia
-          alt: Log masuk dengan akaun Wikipedia
-        wordpress:
-          title: Log masuk dengan Wordpress
-          alt: Log masuk dengan OpenID Wordpress
-        aol:
-          title: Log masuk dengan AOL
-          alt: Log masuk dengan OpenID Yahoo
     destroy:
       title: Log keluar
       heading: Log keluar dari OpenStreetMap
@@ -1864,6 +1836,32 @@ ms:
     settings_menu:
       account_settings: Tetapan Akaun
       muted_users: Pengguna yang Diredamkan
+    auth_providers:
+      openid_logo_alt: Log masuk dengan OpenID
+      openid:
+        title: Log masuk dengan OpenID
+        alt: Log masuk dengan OpenID URL
+      google:
+        title: Log masuk dengan Google
+        alt: Log masuk dengan Google OpenID
+      facebook:
+        title: Log masuk dengan Facebook
+        alt: Log masuk dengan Akuan Facebook
+      microsoft:
+        title: Log masuk dengan Window Live
+        alt: Log masuk dengan Akaun Windows Live
+      github:
+        title: Log masuk dengan GitHub
+        alt: Log masuk dengan Akaun GitHub.
+      wikipedia:
+        title: Log masuk dengan Wikipedia
+        alt: Log masuk dengan akaun Wikipedia
+      wordpress:
+        title: Log masuk dengan Wordpress
+        alt: Log masuk dengan OpenID Wordpress
+      aol:
+        title: Log masuk dengan AOL
+        alt: Log masuk dengan OpenID Yahoo
   oauth:
     authorize:
       title: Benarkan akses kepada akaun anda
@@ -1963,10 +1961,10 @@ ms:
       display name description: Nama pengguna anda yang dipaparkan kepada awam. Anda
         boleh menukarnya dalam keutamaan anda pada bila-bila masa.
       external auth: Pengesahan Pihak Ketiga
-      use external auth: Secara alternatif, gunakan khidmat pihak ketiga untuk log
-        masuk
       continue: Daftar
       terms accepted: Terima kasih kerana menerima terma-terma penyumbang yang baru!
+      use external auth: Secara alternatif, gunakan khidmat pihak ketiga untuk log
+        masuk
     terms:
       title: Terma-terma penyumbang
       heading: Terma-terma penyumbang
index 8501a5764448cfefbbfc4d16f828cdf88be2dc21..d192e2ad2e46cf7e9162958969492346b4af24cb 100644 (file)
@@ -602,23 +602,13 @@ my:
   sessions:
     new:
       title: အကောင့်ထဲဝင်ရန်
-      heading: အကောင့်ထဲဝင်ရန်
+      tab_title: အကောင့်ထဲဝင်ရန်
       email or username: အီးမေးလ်လိပ်စာ သို့မဟုတ် အသုံးပြုသူအမည်
       password: စကားဝှက်
       remember: မိမိကို မှတ်မိပါ
       lost password link: စကားဝှက် မေ့နေသလား။
       login_button: အကောင့်ထဲဝင်ရန်
       register now: အခုပဲ မှတ်ပုံတင်ရန်
-      no account: အကောင့် မရှိဘူးလား။
-      auth_providers:
-        google:
-          title: ဂူဂဲလ်ဖြင့် အကောင့်ထဲဝင်ရန်
-        facebook:
-          title: ဖေ့ဘုတ်ဖြင့် အကောင့်ထဲဝင်ရန်
-          alt: ဖေ့ဘုတ်အကောင့်ဖြင့် အကောင့်ထဲဝင်ရန်
-        wikipedia:
-          title: ဝီကီပီးဒီးယားဖြင့် အကောင့်ထဲဝင်ရန်
-          alt: ဝီကီပီးဒီးယားအကောင့်ဖြင့် အကောင့်ထဲဝင်ရန်
     destroy:
       title: အကောင့်မှပြန်ထွက်
       logout_button: အကောင့်မှပြန်ထွက်
@@ -715,6 +705,16 @@ my:
       more: ပို၍
       view_map: မြေပုံကို ကြည့်ရန်
       edit_map: မြေပုံကို တည်းဖြတ်ရန်
+  application:
+    auth_providers:
+      google:
+        title: ဂူဂဲလ်ဖြင့် အကောင့်ထဲဝင်ရန်
+      facebook:
+        title: ဖေ့ဘုတ်ဖြင့် အကောင့်ထဲဝင်ရန်
+        alt: ဖေ့ဘုတ်အကောင့်ဖြင့် အကောင့်ထဲဝင်ရန်
+      wikipedia:
+        title: ဝီကီပီးဒီးယားဖြင့် အကောင့်ထဲဝင်ရန်
+        alt: ဝီကီပီးဒီးယားအကောင့်ဖြင့် အကောင့်ထဲဝင်ရန်
   oauth_clients:
     show:
       confirm: သေချာပါသလား
index 6c95a901abf41f1989a9760f88e24ffb2a48186a..29c43db563607c24f7b0b05ee69e4cb9d42d106b 100644 (file)
@@ -166,7 +166,6 @@ nb:
         auth_provider: Leverandør av autentisering
         auth_uid: Autentisering UID
         email: E-post
-        email_confirmation: E-post-bekreftelse
         new_email: Ny e-postadresse
         active: Aktiv
         display_name: Visningsnavn
@@ -1655,7 +1654,7 @@ nb:
   sessions:
     new:
       title: Logg inn
-      heading: Logg inn
+      tab_title: Logg inn
       email or username: E-postadresse eller brukernavn
       password: Passord
       remember: Husk meg
@@ -1663,34 +1662,7 @@ nb:
       login_button: Logg inn
       register now: Registrer deg nå
       with external: 'Alternativt kan du bruke en tredjepart til å logge inn:'
-      no account: Har du ikke en konto?
       auth failure: Beklager, kunne ikke logge inn med den informasjonen
-      openid_logo_alt: Logg inn med en OpenID
-      auth_providers:
-        openid:
-          title: Logg inn med OpenID
-          alt: Logg inn med en OpenID-URL
-        google:
-          title: Logg inn med Google
-          alt: Logg inn med en Google OpenID
-        facebook:
-          title: Logg inn med Facebook
-          alt: Logg inn med en Facebook-konto
-        microsoft:
-          title: Logg inn med Microsoft
-          alt: Logg inn med en Microsoft-konto
-        github:
-          title: Logg inn med GitHub
-          alt: Logg inn med en GitHub-konto
-        wikipedia:
-          title: Logg inn med Wikipedia
-          alt: Logg inn med en Wikipedia-konto
-        wordpress:
-          title: Logg inn med Wordpress
-          alt: Logg inn med en Wordpress OpenID
-        aol:
-          title: Logg inn med AOL
-          alt: Logg inn med en AOL OpenID
     destroy:
       title: Logg ut
       heading: Logg ut fra OpenStreetMap
@@ -2061,6 +2033,32 @@ nb:
       need_to_see_terms: Din tilgang til API-et er midlertidig stoppet. Logg inn på
         nettsiden for å lese bidragsytervilkårene. Du trenger ikke godta vilkårene,
         men du må lese dem.
+    auth_providers:
+      openid_logo_alt: Logg inn med en OpenID
+      openid:
+        title: Logg inn med OpenID
+        alt: Logg inn med en OpenID-URL
+      google:
+        title: Logg inn med Google
+        alt: Logg inn med en Google OpenID
+      facebook:
+        title: Logg inn med Facebook
+        alt: Logg inn med en Facebook-konto
+      microsoft:
+        title: Logg inn med Microsoft
+        alt: Logg inn med en Microsoft-konto
+      github:
+        title: Logg inn med GitHub
+        alt: Logg inn med en GitHub-konto
+      wikipedia:
+        title: Logg inn med Wikipedia
+        alt: Logg inn med en Wikipedia-konto
+      wordpress:
+        title: Logg inn med Wordpress
+        alt: Logg inn med en Wordpress OpenID
+      aol:
+        title: Logg inn med AOL
+        alt: Logg inn med en AOL OpenID
   oauth:
     authorize:
       title: Autoriser tilgang til din konto
@@ -2160,11 +2158,9 @@ nb:
       display name description: Ditt offentlig fremviste brukernavn. Du kan endre
         dette senere i alternativ.
       external auth: 'Tredjepartsgodkjenning:'
-      use external auth: Alternativt kan du bruke en tredjepart til å logge inn
-      auth no password: Med tredjepartsbekreftelse er passord ikke påkrevd, men en
-        del ekstra verktøy og tjenere kan trenge det.
       continue: Registrer deg
       terms accepted: Takk for at du godtok de nye bidragsytervilkårene!
+      use external auth: Alternativt kan du bruke en tredjepart til å logge inn
     terms:
       title: Vilkår
       heading: Vilkår
index acaed1b3ceb859ccb9831105d5a25a0868af09c1..0d121bd28fcde9ade3001ddc7bcc907590f3d9c8 100644 (file)
@@ -473,7 +473,7 @@ nds:
   sessions:
     new:
       title: Anmellen
-      heading: Anmellen
+      tab_title: Anmellen
       email or username: 'E-Mail-Adress oder Brukernaam:'
       password: 'Passwoord:'
       lost password link: Passwoord vergeten?
index b5d6cdb3c3c5a5921593836fd353ce3a4ccab885..8d7b4561e1f7d7d7b6aa9e4f96cd23fb5674fa17 100644 (file)
@@ -875,14 +875,9 @@ ne:
   sessions:
     new:
       title: प्रवेश
-      heading: प्रवेश
+      tab_title: प्रवेश
       password: 'पासवर्ड:'
       login_button: प्रवेश
-      no account: खाता छैन?
-      auth_providers:
-        wikipedia:
-          title: विकिपिडियाकाे प्रयाेग गरि प्रवेश गर्नुहाेस्
-          alt: विकिपिडिया खाताद्वारा प्रवेश गर्नुहोस्
     destroy:
       title: लगआउट
       logout_button: निर्गमन
@@ -1045,6 +1040,11 @@ ne:
       scheduled_for_deletion: मेट्नको लागि तालिकावद्ध गरिएको ट्रेस
     make_public:
       made_public: सार्वजनिक बनाइएको ट्रेस
+  application:
+    auth_providers:
+      wikipedia:
+        title: विकिपिडियाकाे प्रयाेग गरि प्रवेश गर्नुहाेस्
+        alt: विकिपिडिया खाताद्वारा प्रवेश गर्नुहोस्
   oauth_clients:
     show:
       confirm: निश्चित हुनुहुन्छ ?
index 6563edcaeb423be0c0ad707add66f062cf60d88b..1faa33b3afb263ca4cc2958b46554d7014453da3 100644 (file)
@@ -199,7 +199,6 @@ nl:
         auth_provider: Authenticatiedienst
         auth_uid: Authenticatie-UID
         email: E-mail
-        email_confirmation: E-mailbevestiging
         new_email: Nieuw e-mailadres
         active: Actief
         display_name: Weergavenaam
@@ -2001,7 +2000,7 @@ nl:
   sessions:
     new:
       title: Aanmelden
-      heading: Aanmelden
+      tab_title: Aanmelden
       email or username: 'E-mailadres of gebruikersnaam:'
       password: 'Wachtwoord:'
       remember: Aanmeldgegevens onthouden
@@ -2009,34 +2008,7 @@ nl:
       login_button: Aanmelden
       register now: Nu inschrijven
       with external: 'U kunt ook gebruik maken van een derde partij om aan te melden:'
-      no account: Hebt u geen account?
       auth failure: Met deze gegevens kunt u helaas niet aanmelden.
-      openid_logo_alt: Aanmelden met een OpenID
-      auth_providers:
-        openid:
-          title: Aanmelden met OpenID
-          alt: Aanmelden met een OpenID URL
-        google:
-          title: Aanmelden met Google
-          alt: Aanmelden met een Google OpenID
-        facebook:
-          title: Aanmelden met Facebook
-          alt: Aanmelden met een Facebookaccount
-        microsoft:
-          title: Aanmelden met Microsoft
-          alt: Aanmelden met een Microsoft-account
-        github:
-          title: Aanmelden met GitHub
-          alt: Aanmelden met een GitHub-account
-        wikipedia:
-          title: Aanmelden met Wikipedia
-          alt: Aanmelden met een Wikipedia-account
-        wordpress:
-          title: Aanmelden met Wordpress
-          alt: Aanmelden met een Wordpress OpenID
-        aol:
-          title: Aanmelden met AOL
-          alt: Aanmelden met een AOL OpenID
     destroy:
       title: Afmelden
       heading: Afmelden van OpenStreetMap
@@ -2718,6 +2690,32 @@ nl:
       oauth2_applications: OAuth 2 toepassingen
       oauth2_authorizations: OAuth 2 autorisaties
       muted_users: Gedempte gebruikers
+    auth_providers:
+      openid_logo_alt: Aanmelden met een OpenID
+      openid:
+        title: Aanmelden met OpenID
+        alt: Aanmelden met een OpenID URL
+      google:
+        title: Aanmelden met Google
+        alt: Aanmelden met een Google OpenID
+      facebook:
+        title: Aanmelden met Facebook
+        alt: Aanmelden met een Facebookaccount
+      microsoft:
+        title: Aanmelden met Microsoft
+        alt: Aanmelden met een Microsoft-account
+      github:
+        title: Aanmelden met GitHub
+        alt: Aanmelden met een GitHub-account
+      wikipedia:
+        title: Aanmelden met Wikipedia
+        alt: Aanmelden met een Wikipedia-account
+      wordpress:
+        title: Aanmelden met Wordpress
+        alt: Aanmelden met een Wordpress OpenID
+      aol:
+        title: Aanmelden met AOL
+        alt: Aanmelden met een AOL OpenID
   oauth:
     authorize:
       title: Geef toegang tot uw account
@@ -2867,15 +2865,13 @@ nl:
       display name description: Uw openbare gebruikersnaam. U kunt deze later in uw
         voorkeuren wijzigen.
       external auth: 'Authenticatie van derden:'
-      use external auth: U kunt ook gebruik maken van een derde partij om aan te melden
-      auth no password: Met authenticatie van derden is een wachtwoord niet verplicht,
-        maar sommige extra hulpmiddelen of servers kunnen het nog steeds nodig hebben.
       continue: Registreren
       terms accepted: Dank u wel voor het aanvaarden van de nieuwe bijdragersovereenkomst!
-      email_confirmation_help_html: Uw adres wordt niet openbaar gemaakt, zie ons
-        %{privacy_policy_link} voor meer informatie.
+      email_help_html: Uw adres wordt niet openbaar gemaakt, zie ons %{privacy_policy_link}
+        voor meer informatie.
       privacy_policy: privacybeleid
       privacy_policy_title: OSMF-privacybeleid, met een kopje over e-mailadressen
+      use external auth: U kunt ook gebruik maken van een derde partij om aan te melden
     terms:
       title: Voorwaarden
       heading: Voorwaarden
index 58e2e53023f284c263da80e02216454442087df2..2905c72301ff50bc7b455bcde8c0c88ddb31a437 100644 (file)
@@ -134,7 +134,6 @@ nn:
         description: Skildring
       user:
         email: E-post
-        email_confirmation: Stadfesting av e-post
         new_email: Ny e-postadresse
         active: Aktive
         display_name: Visningsnamn
@@ -1772,7 +1771,7 @@ nn:
   sessions:
     new:
       title: Logg inn
-      heading: Logg inn
+      tab_title: Logg inn
       email or username: 'E-postadresse eller brukarnamn:'
       password: 'Passord:'
       remember: Hugs meg
@@ -1780,34 +1779,7 @@ nn:
       login_button: Logg inn
       register now: Registrer deg no
       with external: 'Alternativt kan du bruke ein tredjepart til å logge inn:'
-      no account: Har du ingen brukarkonto?
       auth failure: Beklagar, kunne ikkje logge inn med den informasjonen
-      openid_logo_alt: Logg inn med ein OpenID
-      auth_providers:
-        openid:
-          title: Logg inn med OpenID
-          alt: Logg inn med ein OpenID-URL
-        google:
-          title: Logg inn med Google
-          alt: Logg inn med ein Google OpenID
-        facebook:
-          title: Logg inn med Facebook
-          alt: Logg inn med ein Facebook-konto
-        microsoft:
-          title: Logg inn med Microsoft
-          alt: Logg inn med ein Microsoft-konto
-        github:
-          title: Logg inn med GitHub
-          alt: Logg inn med ein GitHub-konto
-        wikipedia:
-          title: Logg inn med Wikipedia
-          alt: Logg inn med ein Wikipedia-konto
-        wordpress:
-          title: Logg inn med Wordpress
-          alt: Logg inn med ein Wordpress OpenID
-        aol:
-          title: Logg inn med AOL
-          alt: Logg inn med ein AOL OpenID
     destroy:
       title: Logg ut
       heading: Logg ut frå OpenStreetMap
@@ -2289,6 +2261,32 @@ nn:
       need_to_see_terms: Tilgjenget ditt til API-eit er mellombels stoppa. Logg inn
         på nettsiden for å lese bidragsytervilkårene. Du treng ikkje godta vilkåra,
         men du må lese dei.
+    auth_providers:
+      openid_logo_alt: Logg inn med ein OpenID
+      openid:
+        title: Logg inn med OpenID
+        alt: Logg inn med ein OpenID-URL
+      google:
+        title: Logg inn med Google
+        alt: Logg inn med ein Google OpenID
+      facebook:
+        title: Logg inn med Facebook
+        alt: Logg inn med ein Facebook-konto
+      microsoft:
+        title: Logg inn med Microsoft
+        alt: Logg inn med ein Microsoft-konto
+      github:
+        title: Logg inn med GitHub
+        alt: Logg inn med ein GitHub-konto
+      wikipedia:
+        title: Logg inn med Wikipedia
+        alt: Logg inn med ein Wikipedia-konto
+      wordpress:
+        title: Logg inn med Wordpress
+        alt: Logg inn med ein Wordpress OpenID
+      aol:
+        title: Logg inn med AOL
+        alt: Logg inn med ein AOL OpenID
   oauth:
     authorize:
       title: Autoriser tilgang til kontoen din
index 3422dd68ef1256ec94b708179c9a116f78637572..396c7ca0e630aee6139bdb48c7780289e7718948 100644 (file)
@@ -138,7 +138,6 @@ nqo:
         auth_provider: ߕߎ߬ߡߊ߬ߢߐ߲߰ߦߊ ߡߊߛߐߟߊ߲
         auth_uid: ߕߎ߬ߡߊ߬ߢߐ߲߰ߦߊ UID
         email: ߢ:ߞߏ߲ߘߏ
-        email_confirmation: ߢ:ߞߏ߲ߘߏ ߟߊ߬ߛߙߋ߬ߦߊ߬ߟߌ
         new_email: ߢߎߡߍߙߋ߲߫ ߞߏ߲ߘߏ߫ ߞߎߘߊ
         active: ߞߎ߲߬ߞߊߟߌ߲
         display_name: ߕߐ߮ ߟߊߓߊ߯ߙߊ߫
@@ -1343,41 +1342,14 @@ nqo:
   sessions:
     new:
       title: ߌ ߜߊ߲߬ߞߎ߲߫
-      heading: ߌ ߜߊ߲߬ߞߎ߲߫
+      tab_title: ߌ ߜߊ߲߬ߞߎ߲߫
       email or username: 'ߢ:ߞߏ߲ߘߏ ߛߊ߲߬ߓߊ߬ߕߐ߮ ߥߟߊ߫ ߟߊ߬ߓߊ߰ߙߊ߬ߟߌ߬ ߕߐ߮:'
       password: 'ߕߊ߬ߡߌ߲߬ߞߊ߲:'
       remember: ߒ ߖߊ߲߭ߓߌ߬ߟߊ߬
       lost password link: ߌ ߓߘߊ߫ ߢߌ߬ߣߊ߬ ߌ ߟߊ߫ ߕߊ߬ߡߌ߲߬ߞߊ߲ ߠߊ߫؟
       login_button: ߌ ߜߊ߲߬ߞߎ߲߫
       register now: ߌ ߕߐ߮ ߛߓߍ߫ ߡߎ߬ߕߎ߲߫
-      no account: ߖߊ߬ߕߋ߬ߘߊ߬ ߕߴߌ ߓߟߏ߫ ߓߊ߬؟
       auth failure: ߤߊߞߍ߬ߕߏ߫߸ ߌ ߕߴߛߋ߫ ߌ ߜߊ߲߬ߞߎ߲߬ ߠߊ߫ ߝߊߙߊ߲ߝߊ߯ߛߌ ߏ߬ ߟߐ߬ߟߊ߫.
-      openid_logo_alt: ߌ ߜߊ߲߬ߞߎ߲߬ ߏߔߌ߲ ID ߟߊ߫
-      auth_providers:
-        openid:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߏߔߌ߲ ID ߘߌ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߏߔߌ߲ ID URL ߟߊ߫
-        google:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߎߜ߭ߏߟ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߎߜ߭ߏߟ ߏߔߌ߲ ID ߟߊ߫
-        facebook:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߝߋߛߑߓߎߞ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߝߋߛߑߓߎߞ ߖߊ߬ߕߋ߬ߘߊ ߘߏ߫ ߟߊ߫
-        microsoft:
-          title: ߌ ߜ߭ߊ߲߬ߞߎ߲߫ ߥߌ߲ߘߏߥߛ ߟߊߌߝ߭ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߌ߲ߘߏߥߛ ߟߊߌߝ߭ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
-        github:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߌߕߑߤߐߓ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߌߕߑߤߐߓ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
-        wikipedia:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߞߌߔߋߘߌߦߊ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߞߌߔߋߘߌߦߊ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
-        wordpress:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߐߘߑߔߙߍߛ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߐߘߑߔߙߍߛ ߏߔߌ߲ ID ߟߊ߫
-        aol:
-          title: ߌ ߜߊ߲߬ߞߎ߲߫ ߊߏߍߟ ߟߊ߫
-          alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߊߏߍߟ ߏߔߌ߲ ID ߟߊ߫
     destroy:
       title: ߌ ߜߊ߲߬ߞߎ߲߬ߣߍ߲ ߓߐ߫
       heading: ߌ ߜߊ߲߬ߞߎ߲߬ߣߍ߲ ߓߐ߫ ߏߔߌ߲ߛߑߕߙߌߕߑߡߊߔ ߟߊ߫
@@ -1622,6 +1594,32 @@ nqo:
       oauth1_settings: 0Auth 1 ߟߊ߬ߓߍ߲߬ߢߐ߲߰ߡߦߊ߬ߘߊ
       oauth2_applications: 0Auth 2 ߟߥߊ߬ߟߌ߬ߟߌ ߟߎ߬
       oauth2_authorizations: 0Auth 2 ߖߡߊ߬ߙߌ߬ߦߊ߬ߟߌ
+    auth_providers:
+      openid_logo_alt: ߌ ߜߊ߲߬ߞߎ߲߬ ߏߔߌ߲ ID ߟߊ߫
+      openid:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߏߔߌ߲ ID ߘߌ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߏߔߌ߲ ID URL ߟߊ߫
+      google:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߎߜ߭ߏߟ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߎߜ߭ߏߟ ߏߔߌ߲ ID ߟߊ߫
+      facebook:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߝߋߛߑߓߎߞ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߝߋߛߑߓߎߞ ߖߊ߬ߕߋ߬ߘߊ ߘߏ߫ ߟߊ߫
+      microsoft:
+        title: ߌ ߜ߭ߊ߲߬ߞߎ߲߫ ߥߌ߲ߘߏߥߛ ߟߊߌߝ߭ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߌ߲ߘߏߥߛ ߟߊߌߝ߭ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
+      github:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߌߕߑߤߐߓ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߜ߭ߌߕߑߤߐߓ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
+      wikipedia:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߞߌߔߋߘߌߦߊ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߞߌߔߋߘߌߦߊ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
+      wordpress:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߐߘߑߔߙߍߛ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߐߘߑߔߙߍߛ ߏߔߌ߲ ID ߟߊ߫
+      aol:
+        title: ߌ ߜߊ߲߬ߞߎ߲߫ ߊߏߍߟ ߟߊ߫
+        alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߊߏߍߟ ߏߔߌ߲ ID ߟߊ߫
   oauth:
     authorize:
       title: ߌ ߟߊ߫ ߖߊ߬ߕߋ߬ߘߊ ߟߊߛߐ߬ߘߐ߲ ߠߊߘߌ߬ߢߍ߬
index 0b42826528f295b99730c3d32ee38addaffc9b98..f54a14a337c7ba4a188e7b22f78db3c6e539d045 100644 (file)
@@ -143,7 +143,6 @@ oc:
         auth_provider: Fornidor d'autenticacion
         auth_uid: UID d'autentificacion
         email: Adreiça de corrier electronic
-        email_confirmation: Corrier electronic d'autentificacion
         new_email: 'Novèla adreiça de corrier electronic :'
         active: Actiu
         display_name: Nom afichat
@@ -1784,7 +1783,7 @@ oc:
   sessions:
     new:
       title: Se connectar
-      heading: Connexion
+      tab_title: Connexion
       email or username: 'Adreça e-mail o nom d''utilizaire :'
       password: 'Senhal :'
       remember: Se remembrar de ieu
@@ -1792,35 +1791,8 @@ oc:
       login_button: Se connectar
       register now: S'inscriure ara
       with external: 'A la plaça, utilizatz un tèrç per vos connectar :'
-      no account: Avètz pas de compte ?
       auth failure: O planhèm, mas las informacions provesidas an pas permés de vos
         identificar.
-      openid_logo_alt: Se connectar amb un OpenID
-      auth_providers:
-        openid:
-          title: Se connectar amb OpenID
-          alt: Se connectar amb una URL OpenID
-        google:
-          title: Se connectar amb Google
-          alt: Se connectar amb l'OpenID de Google
-        facebook:
-          title: Se connectar amb Facebook
-          alt: Se connectar amb un commpte Facebook
-        microsoft:
-          title: Se connectar amb Windows Live
-          alt: Se connectar amb un compte Windows Live
-        github:
-          title: Connexion amb GitHub
-          alt: Connexion amb un Compte GitHub
-        wikipedia:
-          title: Se connectar amb Wikipèdia
-          alt: Se connectar amb un compte de Wikipèdia
-        wordpress:
-          title: Se connectar amb Wordpress
-          alt: Se connectar amb l'OpenID de Wordpress
-        aol:
-          title: Se connectar amb AOL
-          alt: Se connectar amb l'OpenID d'AOL
     destroy:
       title: Desconnexion
       heading: Desconnexion d'OpenStreetMap
@@ -2165,6 +2137,32 @@ oc:
         site web per trobar mai d’informacions.
     settings_menu:
       account_settings: Configuracion
+    auth_providers:
+      openid_logo_alt: Se connectar amb un OpenID
+      openid:
+        title: Se connectar amb OpenID
+        alt: Se connectar amb una URL OpenID
+      google:
+        title: Se connectar amb Google
+        alt: Se connectar amb l'OpenID de Google
+      facebook:
+        title: Se connectar amb Facebook
+        alt: Se connectar amb un commpte Facebook
+      microsoft:
+        title: Se connectar amb Windows Live
+        alt: Se connectar amb un compte Windows Live
+      github:
+        title: Connexion amb GitHub
+        alt: Connexion amb un Compte GitHub
+      wikipedia:
+        title: Se connectar amb Wikipèdia
+        alt: Se connectar amb un compte de Wikipèdia
+      wordpress:
+        title: Se connectar amb Wordpress
+        alt: Se connectar amb l'OpenID de Wordpress
+      aol:
+        title: Se connectar amb AOL
+        alt: Se connectar amb l'OpenID d'AOL
   oauth:
     authorize:
       title: Autorizar l’accès a vòstre compte
@@ -2234,9 +2232,9 @@ oc:
       display name description: Vòstre nom d'utilizaire afichat publicament. Podètz
         cambiar aquò ulteriorament dins las preferéncias.
       external auth: 'Autentificacion tèrça :'
-      use external auth: A la plaça, utilizatz un tèrç per vos connectar
       continue: S’inscriure
       terms accepted: Mercé d’aver acceptat los novèls tèrmes del contributor !
+      use external auth: A la plaça, utilizatz un tèrç per vos connectar
     terms:
       title: Tèrmes del contributor
       heading: Tèrmes del contributor
index 28b7c1d8d064c76203de2c72edd4a2098012dfca..1439d1c1e298e860ae4f71d69acd2f0f9540b778 100644 (file)
@@ -829,14 +829,13 @@ pa:
   sessions:
     new:
       title: ਦਾਖ਼ਲ ਹੋਵੋ
-      heading: ਦਾਖ਼ਲ ਹੋਵੋ
+      tab_title: ਦਾਖ਼ਲ ਹੋਵੋ
       email or username: 'ਈਮੇਲ ਪਤਾ ਜਾਂ ਵਰਤੋਂਕਾਰ-ਨਾਂ:'
       password: 'ਪਛਾਣ-ਸ਼ਬਦ:'
       remember: ਮੈਨੂੰ ਯਾਦ ਰੱਖੋ
       lost password link: ਆਪਣਾ ਪਛਾਣ-ਸ਼ਬਦ ਗੁਆ ਦਿੱਤਾ?
       login_button: ਦਾਖ਼ਲ ਹੋਵੋ
       register now: ਹੁਣੇ ਰਜਿਸਟਰ ਕਰੋ
-      no account: ਖਾਤਾ ਨਹੀਂ ਹੈ?
     destroy:
       title: ਲੌਗਆਊਟ
       heading: ਓਪਨ ਸਟਰੀਟ ਮੈਪ ਤੋਂ ਲੌਗਆਊਟ ਕਰੋ
index 0995fe264e03fab8153ee4c4996475694d4eb839..7cb714203003c62722969aa6c01373ba3e04fae9 100644 (file)
@@ -203,7 +203,6 @@ pl:
         auth_provider: Dostawca uwierzytelnienia
         auth_uid: UID uwierzytelnienia
         email: E-mail
-        email_confirmation: Potwierdzenie adresu e‐mail
         new_email: Nowy adres e-mail
         active: Aktywny
         display_name: Wyświetlana nazwa
@@ -887,7 +886,7 @@ pl:
           "yes": Granica
         bridge:
           aqueduct: Akwedukt
-          boardwalk: Promenada
+          boardwalk: Kładka drewniana
           suspension: Most wiszący
           swing: Most obrotowy
           viaduct: Most wieloprzęsłowy
@@ -1957,7 +1956,7 @@ pl:
   sessions:
     new:
       title: Logowanie
-      heading: Logowanie
+      tab_title: Logowanie
       email or username: Adres e-mail lub nazwa użytkownika
       password: Hasło
       remember: Zapamiętaj dane uwierzytelniające
@@ -1965,34 +1964,7 @@ pl:
       login_button: Zaloguj się
       register now: Zarejestruj się
       with external: 'Alternatywnie, zaloguj się przez:'
-      no account: Nie masz konta?
       auth failure: Niestety, podane dane nie pozwoliły na zalogowanie.
-      openid_logo_alt: Zaloguj się przez OpenID
-      auth_providers:
-        openid:
-          title: Zaloguj się przez OpenID
-          alt: Zaloguj się za pomocą adresu URL OpenID
-        google:
-          title: Zaloguj się przez Google
-          alt: Zaloguj się przez Google OpenID
-        facebook:
-          title: Zaloguj się przez Facebooka
-          alt: Zaloguj się przez konto Facebook
-        microsoft:
-          title: Zaloguj się przez Microsoft
-          alt: Zaloguj się kontem Microsoft
-        github:
-          title: Zaloguj się przez GitHub
-          alt: Zaloguj się przez konto GitHub
-        wikipedia:
-          title: Zaloguj się przez Wikipedię
-          alt: Zaloguj się przez konto Wikipedii
-        wordpress:
-          title: Zaloguj się przez Wordpress
-          alt: Zaloguj się przez OpenID Wordpress
-        aol:
-          title: Zaloguj się przez AOL
-          alt: Zaloguj się przez AOL OpenID
     destroy:
       title: Wyloguj się
       heading: Wyloguj się z OpenStreetMap
@@ -2573,6 +2545,32 @@ pl:
       oauth1_settings: Ustawienia OAuth 1
       oauth2_applications: Aplikacje OAuth 2
       oauth2_authorizations: Autoryzacje OAuth 2
+    auth_providers:
+      openid_logo_alt: Zaloguj się przez OpenID
+      openid:
+        title: Zaloguj się przez OpenID
+        alt: Zaloguj się za pomocą adresu URL OpenID
+      google:
+        title: Zaloguj się przez Google
+        alt: Zaloguj się przez Google OpenID
+      facebook:
+        title: Zaloguj się przez Facebooka
+        alt: Zaloguj się przez konto Facebook
+      microsoft:
+        title: Zaloguj się przez Microsoft
+        alt: Zaloguj się kontem Microsoft
+      github:
+        title: Zaloguj się przez GitHub
+        alt: Zaloguj się przez konto GitHub
+      wikipedia:
+        title: Zaloguj się przez Wikipedię
+        alt: Zaloguj się przez konto Wikipedii
+      wordpress:
+        title: Zaloguj się przez Wordpress
+        alt: Zaloguj się przez OpenID Wordpress
+      aol:
+        title: Zaloguj się przez AOL
+        alt: Zaloguj się przez AOL OpenID
   oauth:
     authorize:
       title: Uwierzytelnij dostęp do konta
@@ -2723,16 +2721,14 @@ pl:
       display name description: Twoja publiczna nazwa użytkownika. Można ją później
         zmienić w ustawieniach.
       external auth: 'Logowanie przez:'
-      use external auth: Alternatywnie, zaloguj się przez...
-      auth no password: Jeśli korzystasz z logowania pośredniego, hasło nie jest wymagane,
-        jednak niektóre dodatkowe narzędzia lub serwer mogą go potrzebować.
       continue: Zarejestruj się
       terms accepted: Dziękujemy za przyjęcie nowych Warunków uczestnictwa!
-      email_confirmation_help_html: Twój adres nie jest wyświetlany publicznie, zobacz
-        naszą %{privacy_policy_link}, aby uzyskać więcej informacji.
+      email_help_html: Twój adres nie jest wyświetlany publicznie, zobacz naszą %{privacy_policy_link},
+        aby uzyskać więcej informacji.
       privacy_policy: Polityka prywatności
       privacy_policy_title: Polityka prywatności OSMF, w tym sekcja dotycząca adresów
         e-mail
+      use external auth: Alternatywnie, zaloguj się przez...
     terms:
       title: Warunki
       heading: Warunki
index a8acc3691bb6b8162ca4d60ba184c2183fe48c1d..2a7f0d26925849710ad6468fdfe6bcdcad686b5e 100644 (file)
@@ -136,7 +136,6 @@ pnb:
         auth_provider: تصدیق دیݨ والا
         auth_uid: تصدیق یوآئی‌ڈی
         email: ای‌میل
-        email_confirmation: ای‌میل پکا کرن
         new_email: نواں ای‌میل دا پتہ
         active: سرگرم
         display_name: عوام ناں
@@ -1436,7 +1435,7 @@ pnb:
   sessions:
     new:
       title: لوگ‌این
-      heading: لوگ‌این کرو
+      tab_title: لوگ‌این کرو
       email or username: 'ای‌میل دا پتہ یا ورتنوالے دا ناں:'
       password: 'پاس‌ورڈ:'
       remember: مینوں یاد رکھو
@@ -1444,34 +1443,7 @@ pnb:
       login_button: لوگ‌این
       register now: ہُݨے رجِستر کرو
       with external: 'لوگ‌این کرن لئی ہور چݨ سکیو:'
-      no account: کھاتہ نہیں اے؟
       auth failure: افسوس، یہہ ویروے نال لوگ‌این کر نہیں سکدے۔
-      openid_logo_alt: اوپن آئی ڈی ورتو
-      auth_providers:
-        openid:
-          title: اوپن آئی‌ڈی نال لوگ‌این کرو
-          alt: اوپن آئی ڈی یو آر ایل ورتو
-        google:
-          title: گوگل نال لوگ‌این کرو
-          alt: گوگل ورتو
-        facebook:
-          title: فیس‌بوک نال لوگ‌این کرو
-          alt: فیسبوک ورتو
-        microsoft:
-          title: وینڈوز لائیو نال لوگ‌این کرو
-          alt: وینڈوز لائیو ورتو
-        github:
-          title: گِٹ‌ہب نال لوگ‌این کرو
-          alt: گِٹ ہب ورتو
-        wikipedia:
-          title: وِکیپیڈیا نال لوگ‌این کرو
-          alt: وِکیپیڈیا ورتو
-        wordpress:
-          title: ورڈپریس نال لوگ‌این کرو
-          alt: ورڈ پریس ورتو
-        aol:
-          title: اے او ایل نال لوگ‌این کرو
-          alt: اے او ایل ورتو
     destroy:
       title: لوگ‌آؤٹ
       heading: اِتھے لوگ‌آوٹ کرو
@@ -1764,6 +1736,32 @@ pnb:
       oauth1_settings: آوتھ ورژن 1 سیٹنگاں
       oauth2_applications: آوتھ ورژن 2 اَیپ
       oauth2_authorizations: آوتھ ورژن 2 ورتݨ
+    auth_providers:
+      openid_logo_alt: اوپن آئی ڈی ورتو
+      openid:
+        title: اوپن آئی‌ڈی نال لوگ‌این کرو
+        alt: اوپن آئی ڈی یو آر ایل ورتو
+      google:
+        title: گوگل نال لوگ‌این کرو
+        alt: گوگل ورتو
+      facebook:
+        title: فیس‌بوک نال لوگ‌این کرو
+        alt: فیسبوک ورتو
+      microsoft:
+        title: وینڈوز لائیو نال لوگ‌این کرو
+        alt: وینڈوز لائیو ورتو
+      github:
+        title: گِٹ‌ہب نال لوگ‌این کرو
+        alt: گِٹ ہب ورتو
+      wikipedia:
+        title: وِکیپیڈیا نال لوگ‌این کرو
+        alt: وِکیپیڈیا ورتو
+      wordpress:
+        title: ورڈپریس نال لوگ‌این کرو
+        alt: ورڈ پریس ورتو
+      aol:
+        title: اے او ایل نال لوگ‌این کرو
+        alt: اے او ایل ورتو
   oauth:
     authorize:
       allow_write_diary: روزنامچے وچ لیکھ بݨا سکدیو، ٹپݨی کریو تے دوست جوڑیو
index 2796408464d5693dc5b3b1ec48fc4f50035c180b..8f529e5c8059083e41360c529fc68a3ff0d82a07 100644 (file)
@@ -335,13 +335,9 @@ ps:
   sessions:
     new:
       title: ننوتل
-      heading: ننوتل
+      tab_title: ننوتل
       password: 'پټنوم:'
       login_button: ننوتل
-      auth_providers:
-        github:
-          title: د گېټ هب له لارې ننوتل
-          alt: د يو گېټ هب گڼون له لارې ننوتل
     destroy:
       title: وتل
       logout_button: وتل
@@ -394,6 +390,11 @@ ps:
     trace:
       view_map: نخشه کتل
       edit_map: نخشه سمول
+  application:
+    auth_providers:
+      github:
+        title: د گېټ هب له لارې ننوتل
+        alt: د يو گېټ هب گڼون له لارې ننوتل
   oauth_clients:
     show:
       confirm: آيا تاسې ډاډه ياست؟
index e5dd5182001d75d05df5f9e9bed61573e1e91602..1dc5c537ac548062dc9a93a372d6466b073a967d 100644 (file)
@@ -179,7 +179,6 @@ pt-PT:
         auth_provider: Provedor de autenticação
         auth_uid: UID de autenticação
         email: E-mail
-        email_confirmation: E-mail de confirmação
         new_email: Novo e-mail
         active: Ativo
         display_name: Nome visualizado
@@ -1980,7 +1979,7 @@ pt-PT:
   sessions:
     new:
       title: Entrar
-      heading: Iniciar sessão
+      tab_title: Iniciar sessão
       email or username: 'E-mail ou Nome de utilizador:'
       password: Palavra-passe
       remember: Ficar autenticado entre sessões
@@ -1988,34 +1987,7 @@ pt-PT:
       login_button: Iniciar sessão
       register now: Regista-te agora
       with external: 'Em alternativa, usa um serviço externo para iniciares sessão:'
-      no account: Não tens uma conta?
       auth failure: Lamentamos, mas não foi possível iniciar sessão com os dados fornecidos.
-      openid_logo_alt: Iniciar sessão com um OpenID
-      auth_providers:
-        openid:
-          title: Iniciar sessão com OpenID
-          alt: Iniciar sessão com um URL do OpenID
-        google:
-          title: Iniciar sessão com Google
-          alt: Iniciar sessão com um OpenID do Google
-        facebook:
-          title: Iniciar sessão com Facebook
-          alt: Iniciar sessão com uma conta Facebook
-        microsoft:
-          title: Iniciar sessão com Microsoft
-          alt: Iniciar sessão com uma conta Microsoft
-        github:
-          title: Iniciar sessão com GitHub
-          alt: Iniciar sessão com uma conta GitHub
-        wikipedia:
-          title: Iniciar sessão com a Wikipédia
-          alt: Iniciar sessão com uma conta Wikipédia
-        wordpress:
-          title: Iniciar sessão com Wordpress
-          alt: Iniciar sessão com um OpenID do Wordpress
-        aol:
-          title: Iniciar sessão com AOL
-          alt: Iniciar sessão com um OpenID da AOL
     destroy:
       title: Sair
       heading: Encerrar sessão no OpenStreetMap
@@ -2665,6 +2637,32 @@ pt-PT:
       oauth2_applications: Aplicações OAuth 2
       oauth2_authorizations: Autorizações OAuth 2
       muted_users: Utilizadores Silenciados
+    auth_providers:
+      openid_logo_alt: Iniciar sessão com um OpenID
+      openid:
+        title: Iniciar sessão com OpenID
+        alt: Iniciar sessão com um URL do OpenID
+      google:
+        title: Iniciar sessão com Google
+        alt: Iniciar sessão com um OpenID do Google
+      facebook:
+        title: Iniciar sessão com Facebook
+        alt: Iniciar sessão com uma conta Facebook
+      microsoft:
+        title: Iniciar sessão com Microsoft
+        alt: Iniciar sessão com uma conta Microsoft
+      github:
+        title: Iniciar sessão com GitHub
+        alt: Iniciar sessão com uma conta GitHub
+      wikipedia:
+        title: Iniciar sessão com a Wikipédia
+        alt: Iniciar sessão com uma conta Wikipédia
+      wordpress:
+        title: Iniciar sessão com Wordpress
+        alt: Iniciar sessão com um OpenID do Wordpress
+      aol:
+        title: Iniciar sessão com AOL
+        alt: Iniciar sessão com um OpenID da AOL
   oauth:
     authorize:
       title: Autorizar Acesso À Tua Conta
@@ -2815,17 +2813,14 @@ pt-PT:
       display name description: O nome de utilizador ficará visível publicamente.
         Poderás alterar o nome posteriormente nas configurações do teu perfil.
       external auth: 'Autenticação por terceiros:'
-      use external auth: Em alternativa, usa um serviço externo para iniciares sessão
-      auth no password: Com a autenticação através de terceiros, não é necessário
-        introduzir a palavra-passe, mas certos servidores ou ferramentas poderão precisar
-        de uma.
       continue: Criar conta
       terms accepted: Obrigado por aceitares os novos termos de contribuidor!
-      email_confirmation_help_html: O seu endereço não é mostrado publicamente. Consulte
-        a nossa %{privacy_policy_link} para mais informações.
+      email_help_html: O seu endereço não é mostrado publicamente. Consulte a nossa
+        %{privacy_policy_link} para mais informações.
       privacy_policy: política de privacidade
       privacy_policy_title: Política de privacidade da OSMF incluindo secção sobre
         endereços de correio eletrónico
+      use external auth: Em alternativa, usa um serviço externo para iniciares sessão
     terms:
       title: Termos
       heading: Termos
index 8d7789cd0420e54591bc24a2637a4cd55a68f8de..ff34be4a45f38de648760acdd7b4499abfc03228 100644 (file)
@@ -199,7 +199,6 @@ pt:
         auth_provider: Provedor de autenticação
         auth_uid: UID de autenticação
         email: E-mail
-        email_confirmation: Confirmação do e-mail
         new_email: Novo endereço de e-mail
         active: Ativo
         display_name: Nome de exibição
@@ -1942,7 +1941,7 @@ pt:
   sessions:
     new:
       title: Entrar
-      heading: Entrar
+      tab_title: Entrar
       email or username: E-mail ou nome de usuário
       password: Senha
       remember: Lembrar neste computador
@@ -1950,34 +1949,7 @@ pt:
       login_button: Entrar
       register now: Registre agora
       with external: 'Ou identifique-se através de terceiros:'
-      no account: Não possui uma conta?
       auth failure: Impossível entrar com estas informações.
-      openid_logo_alt: Entrar com um OpenID
-      auth_providers:
-        openid:
-          title: Entrar com o OpenID
-          alt: Entrar com uma URL do OpenID
-        google:
-          title: Entrar com o Google
-          alt: Entrar com um OpenID da Google
-        facebook:
-          title: Entrar com o Facebook
-          alt: Entrar com uma conta do Facebook
-        microsoft:
-          title: Entrar com o Microsoft
-          alt: Entrar com uma conta do Microsoft
-        github:
-          title: Entrar com o GitHub
-          alt: Entrar com conta do GitHub
-        wikipedia:
-          title: Entrar com Wikipédia
-          alt: Entrar com uma conta da Wikipédia
-        wordpress:
-          title: Entrar com o Wordpress
-          alt: Entrar com um OpenID da Wordpress
-        aol:
-          title: Entrar com a AOL
-          alt: Entrar com um OpenID da AOL
     destroy:
       title: Sair
       heading: Sair do OpenStreetMap
@@ -2639,6 +2611,32 @@ pt:
       oauth2_applications: Aplicações OAuth 2
       oauth2_authorizations: Autorizações do OAuth 2
       muted_users: Usuários silenciados
+    auth_providers:
+      openid_logo_alt: Entrar com um OpenID
+      openid:
+        title: Entrar com o OpenID
+        alt: Entrar com uma URL do OpenID
+      google:
+        title: Entrar com o Google
+        alt: Entrar com um OpenID da Google
+      facebook:
+        title: Entrar com o Facebook
+        alt: Entrar com uma conta do Facebook
+      microsoft:
+        title: Entrar com o Microsoft
+        alt: Entrar com uma conta do Microsoft
+      github:
+        title: Entrar com o GitHub
+        alt: Entrar com conta do GitHub
+      wikipedia:
+        title: Entrar com Wikipédia
+        alt: Entrar com uma conta da Wikipédia
+      wordpress:
+        title: Entrar com o Wordpress
+        alt: Entrar com um OpenID da Wordpress
+      aol:
+        title: Entrar com a AOL
+        alt: Entrar com um OpenID da AOL
   oauth:
     authorize:
       title: Autorizar acesso à sua conta
@@ -2787,16 +2785,14 @@ pt:
       display name description: Seu nome de usuário disponível publicamente. Você
         pode mudá-lo depois nas preferências.
       external auth: 'Autenticação de Terceiros:'
-      use external auth: Ou identifique-se através de terceiros
-      auth no password: Com autenticação por terceiros não é necessária uma senha,
-        mas certas ferramentas ou o servidor talvez ainda precisem.
       continue: Registrar-se
       terms accepted: Obrigado por aceitar os novos termos de contribuição!
-      email_confirmation_help_html: Seu endereço não é exibido publicamente, consulte
-        nossa %{privacy_policy_link} para obter mais informações.
+      email_help_html: Seu endereço não é exibido publicamente, consulte nossa %{privacy_policy_link}
+        para obter mais informações.
       privacy_policy: politica de privacidade
       privacy_policy_title: Política de privacidade da OSMF incluindo seção sobre
         endereços de e-mail
+      use external auth: Ou identifique-se através de terceiros
     terms:
       title: Termos
       heading: Termos
index 21aad7862aed395ea4185fd962bc01f77bca237b..28bac391af8314e1babdf9713541833ea32a34d2 100644 (file)
@@ -151,7 +151,6 @@ ro:
         auth_provider: Furnizor de autentificare
         auth_uid: Autentificare UID
         email: E-mail
-        email_confirmation: Confirmare Email
         new_email: Adresa de e-mail nouă
         active: Activ
         display_name: Afișare nume
@@ -1899,7 +1898,7 @@ ro:
   sessions:
     new:
       title: Autentificare
-      heading: Autentificare
+      tab_title: Autentificare
       email or username: 'Adresa de e-mail sau numele de utilizator:'
       password: 'Parolă:'
       remember: Ține-mă minte
@@ -1907,34 +1906,7 @@ ro:
       login_button: Autentificare
       register now: Formular de inregistrare
       with external: 'Alternativ, utilizați o terță parte pentru a vă conecta:'
-      no account: Nu aveți cont încă?
       auth failure: Ne pare rău, nu v-am putut conecta la aceste detalii.
-      openid_logo_alt: Conectați-vă cu un OpenID
-      auth_providers:
-        openid:
-          title: Login with OpenID
-          alt: Conectați-vă cu un URL OpenID
-        google:
-          title: Autentificare cu Google
-          alt: Conectați-vă cu un Google OpenID
-        facebook:
-          title: Autentificare cu Facebook
-          alt: Conectați-vă cu un cont Facebook
-        microsoft:
-          title: Conectare cu Microsoft
-          alt: Conectare cu un Cont Microsoft
-        github:
-          title: Conectare cu GitHub
-          alt: Conectați-vă cu un cont GitHub
-        wikipedia:
-          title: Autentificare la Wikipedia
-          alt: Conectați-vă cu un cont Wikipedia
-        wordpress:
-          title: Conectați-vă cu Wordpress
-          alt: Conectați-vă cu un cont Wordpress OpenID
-        aol:
-          title: Conectați-vă cu AOL
-          alt: Conectare cu un AOL OpenID
     destroy:
       title: Ieșire
       heading: Deconectare din OpenStreetMap
@@ -2601,6 +2573,32 @@ ro:
       oauth1_settings: Setări OAuth 1
       oauth2_applications: Aplicații OAuth 2
       oauth2_authorizations: Autorizări OAuth 2
+    auth_providers:
+      openid_logo_alt: Conectați-vă cu un OpenID
+      openid:
+        title: Login with OpenID
+        alt: Conectați-vă cu un URL OpenID
+      google:
+        title: Autentificare cu Google
+        alt: Conectați-vă cu un Google OpenID
+      facebook:
+        title: Autentificare cu Facebook
+        alt: Conectați-vă cu un cont Facebook
+      microsoft:
+        title: Conectare cu Microsoft
+        alt: Conectare cu un Cont Microsoft
+      github:
+        title: Conectare cu GitHub
+        alt: Conectați-vă cu un cont GitHub
+      wikipedia:
+        title: Autentificare la Wikipedia
+        alt: Conectați-vă cu un cont Wikipedia
+      wordpress:
+        title: Conectați-vă cu Wordpress
+        alt: Conectați-vă cu un cont Wordpress OpenID
+      aol:
+        title: Conectați-vă cu AOL
+        alt: Conectare cu un AOL OpenID
   oauth:
     authorize:
       title: Autorizați accesul la contul dvs.
@@ -2750,16 +2748,14 @@ ro:
       display name description: Numele dvs. de utilizator afișat public. Puteți schimba
         acest lucru mai târziu în preferințe.
       external auth: 'Verificarea terță parte:'
-      use external auth: 'Alternativ, utilizați o terță parte pentru a vă conecta:'
-      auth no password: Cu autentificarea unei terțe parte nu este necesară o parolă,
-        dar unele instrumente suplimentare sau serverul pot avea nevoie de una.
       continue: Înregistrare
       terms accepted: Vă mulțumim pentru acceptarea noilor termeni de contribuire!
-      email_confirmation_help_html: Adresa dvs. nu este afișată public, consultați
-        %{privacy_policy_link} pentru mai multe informații.
+      email_help_html: Adresa dvs. nu este afișată public, consultați %{privacy_policy_link}
+        pentru mai multe informații.
       privacy_policy: Politica de confidențialitate
       privacy_policy_title: Politica de confidențialitate OSMF, inclusiv secțiunea
         privind adresele de e-mail
+      use external auth: 'Alternativ, utilizați o terță parte pentru a vă conecta:'
     terms:
       title: Termeni
       heading: Termeni
index 8581ca33c8a14f4abcdead590d168a624a819173..c5c6a89b70d9e63c03bfa295d52ce7289ab277d2 100644 (file)
@@ -248,7 +248,6 @@ ru:
         auth_provider: Провайдер аутентификации
         auth_uid: UID аутентификации
         email: Адрес электронной почты
-        email_confirmation: Подтверждение электронной почты
         new_email: Новый адрес электронной почты
         active: Активен
         display_name: Отображаемое имя
@@ -285,9 +284,9 @@ ru:
         many: около %{count} часов назад
         other: ""
       about_x_months:
-        one: около часа назад
-        few: около %{count} часов назад
-        many: около %{count} часов назад
+        one: около месяца назад
+        few: около %{count} месяцев назад
+        many: около %{count} месяцев назад
         other: ""
       about_x_years:
         one: около года назад
@@ -2031,7 +2030,7 @@ ru:
   sessions:
     new:
       title: Представьтесь
-      heading: Представьтесь
+      tab_title: Представьтесь
       email or username: 'Эл. почта или имя пользователя:'
       password: Пароль
       remember: Запомнить меня
@@ -2039,34 +2038,7 @@ ru:
       login_button: Представиться
       register now: Зарегистрируйтесь
       with external: 'Кроме того, можете воспользоваться аккаунтом на другом сайте:'
-      no account: Нет учётной записи?
       auth failure: Извините, вход с этими именем или паролем невозможен.
-      openid_logo_alt: Войти с помощью OpenID
-      auth_providers:
-        openid:
-          title: Войти с помощью OpenID
-          alt: Войти с помощью OpenID URL
-        google:
-          title: Войти с помощью Google
-          alt: Войти с помощью  Google OpenID
-        facebook:
-          title: Войти с помощью Facebook
-          alt: Войти с помощью учётной записи в Facebook
-        microsoft:
-          title: Войти с помощью Microsoft
-          alt: Войти с помощью учётной записи Microsoft
-        github:
-          title: Войти с GitHub
-          alt: Войти с учётной записи на GitHub
-        wikipedia:
-          title: Войти с помощью Википедии
-          alt: Вход с использованием учётной записи в Википедии
-        wordpress:
-          title: Войти с помощью Wordpress
-          alt: Войти с помощью Wordpress OpenI
-        aol:
-          title: Войти с помощью AOL
-          alt: Войти с помощью AOL OpenID
     destroy:
       title: Выйти
       heading: Выйти из OpenStreetMap
@@ -2636,6 +2608,32 @@ ru:
       oauth1_settings: Настройки OAuth 1
       oauth2_applications: OAuth 2 приложения
       oauth2_authorizations: OAuth 2 авторизации
+    auth_providers:
+      openid_logo_alt: Войти с помощью OpenID
+      openid:
+        title: Войти с помощью OpenID
+        alt: Войти с помощью OpenID URL
+      google:
+        title: Войти с помощью Google
+        alt: Войти с помощью  Google OpenID
+      facebook:
+        title: Войти с помощью Facebook
+        alt: Войти с помощью учётной записи в Facebook
+      microsoft:
+        title: Войти с помощью Microsoft
+        alt: Войти с помощью учётной записи Microsoft
+      github:
+        title: Войти с GitHub
+        alt: Войти с учётной записи на GitHub
+      wikipedia:
+        title: Войти с помощью Википедии
+        alt: Вход с использованием учётной записи в Википедии
+      wordpress:
+        title: Войти с помощью Wordpress
+        alt: Войти с помощью Wordpress OpenI
+      aol:
+        title: Войти с помощью AOL
+        alt: Войти с помощью AOL OpenID
   oauth:
     authorize:
       title: Разрешить доступ к вашей учётной записи
@@ -2781,16 +2779,14 @@ ru:
       display name description: Ваше имя, как оно будет видно другим пользователям.
         Вы сможете изменить его позже в настройках.
       external auth: 'Внешний сайт с учётной записью:'
-      use external auth: Альтернативно, используйте третье лицо для входа в систему.
-      auth no password: С внешним логином пароль не обязателен, но в некоторых случаях
-        он необходим
       continue: Зарегистрироваться
       terms accepted: Спасибо за принятие новых условий участия!
-      email_confirmation_help_html: Ваш адрес не отображается публично, см. нашу %{privacy_policy_link}
+      email_help_html: Ваш адрес не отображается публично, см. нашу %{privacy_policy_link}
         для получения дополнительной информации.
       privacy_policy: политику конфиденциальности
       privacy_policy_title: Политика конфиденциальности OSMF, включая раздел об адресах
         электронной почты
+      use external auth: Либо воспользуйтесь аккаунтом с другого сайта
     terms:
       title: Условия
       heading: Условия сотрудничества
index 31cd0a1c5c35a3fa1a60d54c31e2243796937984..9c891f96c80b55628198854589b66e3e7901c030 100644 (file)
@@ -531,18 +531,12 @@ sat:
   sessions:
     new:
       title: ᱵᱚᱞᱚᱜ ᱢᱮ
-      heading: ᱵᱚᱞᱚᱜ ᱢᱮ
+      tab_title: ᱵᱚᱞᱚᱜ ᱢᱮ
       password: 'ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ:'
       remember: ᱫᱤᱥᱟᱹᱭᱤᱧ ᱢᱮ
       lost password link: ᱟᱢᱟᱜ ᱫᱟᱱᱟᱝ ᱥᱟᱵᱟᱫᱽ ᱟᱫᱟᱠᱟᱫᱟᱢ?
       login_button: ᱵᱚᱞᱚᱜ ᱢᱮ
       register now: ᱱᱤᱛᱜᱮ ᱚᱞ ᱦᱚᱪᱚᱜ ᱢᱮ
-      no account: ᱠᱷᱟᱛᱟ ᱵᱟᱱᱩᱜ ᱛᱟᱢᱟ?
-      auth_providers:
-        github:
-          title: ᱜᱤᱴᱦᱚᱵ ᱥᱟᱣᱛᱮ ᱞᱚᱜᱤᱱ ᱢᱮ
-        wikipedia:
-          title: ᱩᱭᱠᱤᱯᱤᱰᱤᱭᱟ ᱥᱟᱣᱛᱮ ᱞᱚᱜᱤᱱ ᱢᱮ
     destroy:
       title: ᱩᱰᱩᱜᱚᱜᱢᱮ
       logout_button: ᱩᱰᱩᱜᱚᱜᱢᱮ
@@ -615,6 +609,12 @@ sat:
       view_map: ᱱᱚᱠᱥᱟ ᱧᱮᱞ ᱢᱮ
       edit_map: ᱱᱚᱠᱥᱟ ᱥᱟᱯᱲᱟᱣ ᱢᱮ
       public: ᱦᱚᱲ ᱠᱚᱣᱟ
+  application:
+    auth_providers:
+      github:
+        title: ᱜᱤᱴᱦᱚᱵ ᱥᱟᱣᱛᱮ ᱞᱚᱜᱤᱱ ᱢᱮ
+      wikipedia:
+        title: ᱩᱭᱠᱤᱯᱤᱰᱤᱭᱟ ᱥᱟᱣᱛᱮ ᱞᱚᱜᱤᱱ ᱢᱮ
   oauth:
     authorize:
       allow_write_api: ᱱᱚᱠᱥᱟ ᱵᱚᱫᱚᱞ ᱢᱮ ᱾
index 541977c724aa71bcfcdb91258b489ec03e6dd007..c6d0c1b60578aa7ad30be2f9ff225ef9c08d4e47 100644 (file)
@@ -136,7 +136,6 @@ sc:
         auth_provider: Frunidore de autenticatzione
         auth_uid: UID de autenticatzione
         email: E-lìtera
-        email_confirmation: Cunfirma de s'indiritzu de posta eletrònica
         new_email: Indiritzu nou de posta eletrònica
         active: Ativu
         display_name: Nùmene ammustradu
@@ -1888,7 +1887,7 @@ sc:
   sessions:
     new:
       title: Intra
-      heading: Intra
+      tab_title: Intra
       email or username: 'Indiritzu de posta o nùmene de utente:'
       password: 'Crae:'
       remember: Ammenta·ti de mene
@@ -1896,34 +1895,7 @@ sc:
       login_button: Intra
       register now: Registra·ti como
       with external: 'In alternativa, intra impreende unu servìtziu esternu:'
-      no account: Non tenes unu contu?
       auth failure: Non podes intrare cun custos detàllios.
-      openid_logo_alt: Intra cun un'OpenID
-      auth_providers:
-        openid:
-          title: Intra cun OpenID
-          alt: Intra cun un'URL de OpenID
-        google:
-          title: Intra cun Google
-          alt: Intra cun un'OpenID de Google
-        facebook:
-          title: Intra cun Facebook
-          alt: Intra cun unu contu de Facebook
-        microsoft:
-          title: Intra cun Microsoft
-          alt: Intra cun unu contu de Microsoft
-        github:
-          title: Intra cun GitHub
-          alt: Intra cun unu contu de GitHub
-        wikipedia:
-          title: Intra cun Wikipedia
-          alt: Intra cun unu contu de Wikipedia
-        wordpress:
-          title: Intra cun Wordpress
-          alt: Intra cun un'OpenID de Wordpress
-        aol:
-          title: Intra cun AOL
-          alt: Intra cun un'OpenID de AOL
     destroy:
       title: Essi
       heading: Essi dae OpenStreetMap
@@ -2576,6 +2548,32 @@ sc:
       oauth1_settings: Impostatziones OAuth 1
       oauth2_applications: Aplicatziones OAuth 2
       oauth2_authorizations: Autorizatziones OAuth 2
+    auth_providers:
+      openid_logo_alt: Intra cun un'OpenID
+      openid:
+        title: Intra cun OpenID
+        alt: Intra cun un'URL de OpenID
+      google:
+        title: Intra cun Google
+        alt: Intra cun un'OpenID de Google
+      facebook:
+        title: Intra cun Facebook
+        alt: Intra cun unu contu de Facebook
+      microsoft:
+        title: Intra cun Microsoft
+        alt: Intra cun unu contu de Microsoft
+      github:
+        title: Intra cun GitHub
+        alt: Intra cun unu contu de GitHub
+      wikipedia:
+        title: Intra cun Wikipedia
+        alt: Intra cun unu contu de Wikipedia
+      wordpress:
+        title: Intra cun Wordpress
+        alt: Intra cun un'OpenID de Wordpress
+      aol:
+        title: Intra cun AOL
+        alt: Intra cun un'OpenID de AOL
   oauth:
     authorize:
       title: Autoriza s'atzessu a su contu tuo
@@ -2725,18 +2723,15 @@ sc:
       display name description: Su nùmene de utente chi s'at a mustrare in manera
         pùblica. Lu podes cambiare prus a tardu in sas preferèntzias.
       external auth: 'Autenticatzione pro mèdiu de unu servìtziu esternu:'
-      use external auth: 'In alternativa, intra impreende unu servìtziu esternu:'
-      auth no password: Cun s'autenticatzione pro mèdiu de tertzas partes non serbit
-        una crae de intrada ma carchi aina o serbidore agiuntivu nde diat pòdere tènnere
-        bisòngiu su matessi.
       continue: Iscrie·ti
       terms accepted: Ti torramus gràtzias pro àere atzetadu sas cunditziones noas
         de collaboratzione.
-      email_confirmation_help_html: S'indiritzu tuo no est ammustradu in manera pùblica,
-        consulta sa %{privacy_policy_link} pro àteras informatziones.
+      email_help_html: S'indiritzu tuo no est ammustradu in manera pùblica, consulta
+        sa %{privacy_policy_link} pro àteras informatziones.
       privacy_policy: polìtica de riservadesa
       privacy_policy_title: Informativa subra de sa riservadesa de sa Fundatzione
         OSM chi incluet sa setzione subra de sos indiritzos de posta eletrònica
+      use external auth: 'In alternativa, intra impreende unu servìtziu esternu:'
     terms:
       title: Tèrmines
       heading: Tèrmines
index e4983f4f4cd53a6fd933f7b169d793c20eba024b..8b89f6ba97541b9922ce6d9dfc968b9b01485bec 100644 (file)
@@ -125,7 +125,6 @@ scn:
         description: Discrizzioni
       user:
         email: Posta elittrònica
-        email_confirmation: 'Cunvàlida dâ posta elittrònica:'
         new_email: Nnirizzu di posta elittrònica novu
         active: Attivu
         display_name: Nomu ammustratu
@@ -1282,7 +1281,7 @@ scn:
   sessions:
     new:
       title: Trasi
-      heading: Trasi
+      tab_title: Trasi
       email or username: 'Nnirizzu di posta elittrònica o nomu utenti:'
       password: 'Palora d''òrdini:'
       remember: Arricòrdati di mìa
@@ -1290,34 +1289,7 @@ scn:
       login_button: Trasi
       register now: Scrìviti ora
       with external: 'O puru, trasi pi menzu di na terza parti:'
-      no account: Nun hai un cuntu?
       auth failure: Purtroppu nun fu pussìbbili tràsiri cu sti dittagghî.
-      openid_logo_alt: Trasi cu n'OpenID
-      auth_providers:
-        openid:
-          title: Trasi cu n'OpenID
-          alt: Trasi cu n'URL OpenID
-        google:
-          title: Trasi cu Google
-          alt: Trasi cu n'OpenID di Google
-        facebook:
-          title: Trasi cu Facebook
-          alt: Trasi cûn cuntu di Facebook
-        microsoft:
-          title: Trasi cu Windows Live
-          alt: Trasi cûn cuntu di Windows Live
-        github:
-          title: Trasi cu GitHub
-          alt: Trasi c'un cuntu GitHub
-        wikipedia:
-          title: Trasi cu Wikipedia
-          alt: Trasi c'un cuntu Wikipedia
-        wordpress:
-          title: Trasi cu Wordpress
-          alt: Trasi cu n'OpenID di Wordpress
-        aol:
-          title: Trasi cu AOL
-          alt: Trasi cu n'OpenID d'AOL
     destroy:
       title: Nesci
       heading: Nesci d'OpenStreetMap
@@ -1657,6 +1629,32 @@ scn:
     settings_menu:
       account_settings: Mpustazzioni cuntu
       oauth1_settings: Mpustazzioni OAuth
+    auth_providers:
+      openid_logo_alt: Trasi cu n'OpenID
+      openid:
+        title: Trasi cu n'OpenID
+        alt: Trasi cu n'URL OpenID
+      google:
+        title: Trasi cu Google
+        alt: Trasi cu n'OpenID di Google
+      facebook:
+        title: Trasi cu Facebook
+        alt: Trasi cûn cuntu di Facebook
+      microsoft:
+        title: Trasi cu Windows Live
+        alt: Trasi cûn cuntu di Windows Live
+      github:
+        title: Trasi cu GitHub
+        alt: Trasi c'un cuntu GitHub
+      wikipedia:
+        title: Trasi cu Wikipedia
+        alt: Trasi c'un cuntu Wikipedia
+      wordpress:
+        title: Trasi cu Wordpress
+        alt: Trasi cu n'OpenID di Wordpress
+      aol:
+        title: Trasi cu AOL
+        alt: Trasi cu n'OpenID d'AOL
   oauth:
     authorize:
       title: Auturizzari l'accessu ô tò cuntu
@@ -1748,12 +1746,10 @@ scn:
       display name description: Lu tò nomu d'utenti comu veni ammustratu pubblicamenti.
         Appoi lu poi canciari ntê prifirenzi.
       external auth: 'Autinticazzioni di terzi parti:'
-      use external auth: O puru, trasi pi menzu di na terza parti
-      auth no password: Cu l'autinticazzioni di terzi parti nun ci voli na palora
-        d'òrdini, pirò certi strummenti o sirventi nni ponnu addumannari una lu stissu.
       continue: Scrìviti
       terms accepted: T'arringrazziamu d'aviri accittatu li cunnizzioni di cuntribbuzzioni
         novi!
+      use external auth: O puru, trasi pi menzu di na terza parti
     terms:
       title: Cunnizzioni
       heading: Cunnizzioni
index 389717a4e0cf52090eae8b4b6bca1a78e458bd0c..ac968b36b5c00f2096f30e4a0c5e8f714a91492e 100644 (file)
@@ -799,29 +799,6 @@ sco:
       title: Lost password
       heading: Forgotten Passwird?
   sessions:
-    new:
-      auth_providers:
-        google:
-          title: Login wi Google
-          alt: Login wi a Google OpenID
-        facebook:
-          title: Login wi Facebook
-          alt: Login wi a Facebook Accoont
-        microsoft:
-          title: Login wi Windows Live
-          alt: Login wi a Windows Live Accoont
-        github:
-          title: Login wi GitHub
-          alt: Login wi a GitHub Account
-        wikipedia:
-          title: Login wi Wikipedia
-          alt: Login wi a Wikipedia Accoont
-        wordpress:
-          title: Login wi Wordpress
-          alt: Login wi a Wordpress OpenID
-        aol:
-          title: Login wi AOL
-          alt: Login wi an AOL OpenID
     destroy:
       title: Logoot
       heading: Logoot frae OpenStreetMap
@@ -922,6 +899,29 @@ sco:
   traces:
     create:
       upload_trace: Uplaid GPS Trace
+  application:
+    auth_providers:
+      google:
+        title: Login wi Google
+        alt: Login wi a Google OpenID
+      facebook:
+        title: Login wi Facebook
+        alt: Login wi a Facebook Accoont
+      microsoft:
+        title: Login wi Windows Live
+        alt: Login wi a Windows Live Accoont
+      github:
+        title: Login wi GitHub
+        alt: Login wi a GitHub Account
+      wikipedia:
+        title: Login wi Wikipedia
+        alt: Login wi a Wikipedia Accoont
+      wordpress:
+        title: Login wi Wordpress
+        alt: Login wi a Wordpress OpenID
+      aol:
+        title: Login wi AOL
+        alt: Login wi an AOL OpenID
   users:
     show:
       edits: Eedits
index 5576d97f7d6d7744c3e71fb76caf98f4b21db872..a785e42292405fcd9e716014f8b065363b2f4914 100644 (file)
@@ -127,7 +127,6 @@ sh:
       user:
         auth_provider: Davatelj autentifikacije
         email: Imejl
-        email_confirmation: Potvrda imejla
         new_email: Nova imejl adresa
         active: Aktivan
         display_name: Ime za prikaz
@@ -591,7 +590,7 @@ sh:
   sessions:
     new:
       title: Prijava
-      heading: Prijava
+      tab_title: Prijava
       email or username: 'Imejl adresa ili korisničko ime:'
       password: 'Lozinka:'
       remember: Zapamti me
@@ -599,13 +598,7 @@ sh:
       login_button: Prijava
       register now: Registrirajte se sada
       with external: 'Ili koristite vanjski servis:'
-      no account: Nemate račun?
       auth failure: Žao nam je, ne možemo vas prijaviti s ovim detaljima.
-      openid_logo_alt: Prijavi se sa OpenID-om
-      auth_providers:
-        openid:
-          title: Prijavi se sa OpenID-om
-          alt: Prijavi se sa URL-om OpenID-a
     suspended_flash:
       suspended: Nažalost, vaš je račun obustavljen zbog sumnjive aktivnosti.
       contact_support_html: Molimo kontaktirajte %{support_link} ako želite razgovarati
@@ -775,6 +768,11 @@ sh:
       oauth1_settings: OAuth 1 postavke
       oauth2_applications: OAuth 2 prilozi
       oauth2_authorizations: OAuth 2 ovlaštenja
+    auth_providers:
+      openid_logo_alt: Prijavi se sa OpenID-om
+      openid:
+        title: Prijavi se sa OpenID-om
+        alt: Prijavi se sa URL-om OpenID-a
   oauth:
     authorize:
       title: Autorizujte pristup svom računu
index 0ac667e3f1c3b8faa9b1e875d3067dd8c0951a1c..afa190cd9137808bdd1b342b9d31c0012a66b447 100644 (file)
@@ -156,7 +156,6 @@ sk:
         auth_provider: Poskytovateľ overenia
         auth_uid: UID overenia
         email: E-mail
-        email_confirmation: Potvrdenie e-mailu
         new_email: Nová e-mailová adresa
         active: Aktívny
         display_name: Zobrazované meno
@@ -1774,7 +1773,7 @@ sk:
   sessions:
     new:
       title: Prihlásiť sa
-      heading: Prihlásenie
+      tab_title: Prihlásenie
       email or username: E-mailová adresa alebo prihlasovacie meno
       password: Heslo
       remember: Zapamätať
@@ -1782,34 +1781,7 @@ sk:
       login_button: Prihlásiť
       register now: Zaregistrujte se
       with external: 'Prípadne použite na prihlásenie služby tretích strán:'
-      no account: Nemáte konto?
       auth failure: Ľutujeme, s uvedenými údajmi sa nie je možné prihlásiť.
-      openid_logo_alt: Prihlásenie pomocou OpenID
-      auth_providers:
-        openid:
-          title: Prihlásenie sa pomocou OpenID
-          alt: Prihlásenie sa pomocou OpenID URL
-        google:
-          title: Prihlásenie sa pomocou Google
-          alt: Prihlásenie sa pomocou Google OpenID
-        facebook:
-          title: Prihlásenie sa pomocou Facebooku
-          alt: Prihlásenie sa pomocou účtu na Facebooku
-        microsoft:
-          title: Prihlásenie sa pomocou účtu Microsoft
-          alt: Prihlásenie sa pomocou účtu Microsoft
-        github:
-          title: Prihlásiť sa cez GitHub
-          alt: Prihlásiť sa pomocou účtu na GitHube
-        wikipedia:
-          title: Prihlásiť sa pomocou Wikipédie
-          alt: Prihláste sa pomocou účtu Wikipedia
-        wordpress:
-          title: Prihlásenie sa pomocou Wordpress
-          alt: Prihlásenie sa pomocou Wordpress OpenID
-        aol:
-          title: Prihlásenie sa pomocou AOL
-          alt: Prihlásenie sa pomocou AOL OpenID
     destroy:
       title: Odhlásenie
       heading: Odhlásenie z OpenStreetMap
@@ -2346,6 +2318,32 @@ sk:
       oauth1_settings: Nastavenia OAuth 1
       oauth2_applications: Aplikácie OAuth 2
       oauth2_authorizations: Autorizácie OAuth 2
+    auth_providers:
+      openid_logo_alt: Prihlásenie pomocou OpenID
+      openid:
+        title: Prihlásenie sa pomocou OpenID
+        alt: Prihlásenie sa pomocou OpenID URL
+      google:
+        title: Prihlásenie sa pomocou Google
+        alt: Prihlásenie sa pomocou Google OpenID
+      facebook:
+        title: Prihlásenie sa pomocou Facebooku
+        alt: Prihlásenie sa pomocou účtu na Facebooku
+      microsoft:
+        title: Prihlásenie sa pomocou účtu Microsoft
+        alt: Prihlásenie sa pomocou účtu Microsoft
+      github:
+        title: Prihlásiť sa cez GitHub
+        alt: Prihlásiť sa pomocou účtu na GitHube
+      wikipedia:
+        title: Prihlásiť sa pomocou Wikipédie
+        alt: Prihláste sa pomocou účtu Wikipedia
+      wordpress:
+        title: Prihlásenie sa pomocou Wordpress
+        alt: Prihlásenie sa pomocou Wordpress OpenID
+      aol:
+        title: Prihlásenie sa pomocou AOL
+        alt: Prihlásenie sa pomocou AOL OpenID
   oauth:
     authorize:
       request_access_html: Aplikácia %{app_name} požaduje prístup k vášmu kontu (%{user}).
@@ -2456,13 +2454,13 @@ sk:
       display name description: Vaše verejne zobrazené meno užívateľa. Môžete ho potom
         zmeniť v nastaveniach.
       external auth: 'Autentifikácia treťou stranou:'
-      use external auth: Prípadne použite na prihlásenie služby tretích strán
       continue: Zaregistrovať sa
       terms accepted: Ďakujeme za odsúhlasenie nových podmienok prispievania!
-      email_confirmation_help_html: Vaša adresa sa nezobrazuje verejne, pre ďalšie
-        informácie venujte pozornosť našim %{privacy_policy_link}.
+      email_help_html: Vaša adresa sa nezobrazuje verejne, pre ďalšie informácie venujte
+        pozornosť našim %{privacy_policy_link}.
       privacy_policy_title: Pravidlá ochrany osobných údajov OSMF vrátane sekcie o
         e-mailových adresách
+      use external auth: Prípadne použite na prihlásenie služby tretích strán
     terms:
       title: Podmienky
       heading: Podmienky
index cd252515db9095596fcd75a9107f93890f530ddd..bcfccddd12b044aebae6e039fc3890e15aa3cd56 100644 (file)
@@ -123,7 +123,6 @@ skr-arab:
         description: تفصیل
       user:
         email: ای میل
-        email_confirmation: ای میل دی تصدیق
         new_email: نواں ای میل پتہ
         active: متحرک
         display_name: ظاہری ناں
@@ -1099,33 +1098,12 @@ skr-arab:
   sessions:
     new:
       title: لاگ ان
-      heading: لاگ ان
+      tab_title: لاگ ان
       email or username: ای میل پتہ یا ورتݨ ناں
       password: پاس ورڈ
       remember: میکوں یاد رکھو
       lost password link: پاسورڈ بھل ڳئے ہو؟
       login_button: لاگ ان
-      openid_logo_alt: اوپن آئی ڈی نال لاگ ان تھیوو
-      auth_providers:
-        openid:
-          title: اوپن آئی ڈی نال لاگ ان تھیوو
-          alt: اوپن آئی ڈی یوآرایل نال لاگ ان تھیوو
-        google:
-          title: گوگل نال لاگ ان تھیوو
-          alt: گوگل اوپن آئی ڈی نال لاگ ان تھیوو
-        facebook:
-          title: فیس بک نال لاگ ان تھیوو
-        microsoft:
-          title: مائیکروسافٹ نال لاگ ان تھیوو
-          alt: مائیکروسافٹ کھاتے نال لاگ ان تھیوو
-        github:
-          title: گٹ ہب نال لاگ ان تھیوو
-          alt: گٹ ہب کھاتے نال لاگ ان تھیوو
-        wikipedia:
-          title: وکی پیڈیا نال لاگ ان تھیوو
-          alt: وکی پیڈیا کھاتے نال لاگ ان تھیوو
-        wordpress:
-          title: ورڈپریس نال لاگ ان تھیوو
     destroy:
       title: لاگ آؤٹ
       logout_button: لاگ آؤٹ
@@ -1168,6 +1146,7 @@ skr-arab:
         contributors_ca_canada: کنیڈا
         contributors_fi_finland: فِن لینڈ
         contributors_fr_france: فرانس
+        contributors_hr_croatia: کروشین
         contributors_nl_netherlands: نیدرلینڈز
         contributors_nz_new_zealand: نیوزی لینڈ
         contributors_nz_cc_by: سی سی بی وائی ٤.٠
@@ -1276,6 +1255,27 @@ skr-arab:
   application:
     settings_menu:
       account_settings: کھاتہ ترتیباں
+    auth_providers:
+      openid_logo_alt: اوپن آئی ڈی نال لاگ ان تھیوو
+      openid:
+        title: اوپن آئی ڈی نال لاگ ان تھیوو
+        alt: اوپن آئی ڈی یوآرایل نال لاگ ان تھیوو
+      google:
+        title: گوگل نال لاگ ان تھیوو
+        alt: گوگل اوپن آئی ڈی نال لاگ ان تھیوو
+      facebook:
+        title: فیس بک نال لاگ ان تھیوو
+      microsoft:
+        title: مائیکروسافٹ نال لاگ ان تھیوو
+        alt: مائیکروسافٹ کھاتے نال لاگ ان تھیوو
+      github:
+        title: گٹ ہب نال لاگ ان تھیوو
+        alt: گٹ ہب کھاتے نال لاگ ان تھیوو
+      wikipedia:
+        title: وکی پیڈیا نال لاگ ان تھیوو
+        alt: وکی پیڈیا کھاتے نال لاگ ان تھیوو
+      wordpress:
+        title: ورڈپریس نال لاگ ان تھیوو
   oauth2_applications:
     index:
       name: ناں
index da660c4f633e5d2b17590bf5d12934425aafa3d9..5a26e34239466e9c60592dbd8996c25b05199e5b 100644 (file)
@@ -156,7 +156,6 @@ sl:
         auth_provider: Ponudnik avtentikacije
         auth_uid: UID avtentikacije
         email: E-poštni naslov
-        email_confirmation: Potrditev e-pošte
         new_email: Novi e-poštni naslov
         active: Aktiven
         display_name: Prikazano ime
@@ -1976,7 +1975,7 @@ sl:
   sessions:
     new:
       title: Prijava
-      heading: Prijava
+      tab_title: Prijava
       email or username: E-poštni naslov ali uporabniško ime
       password: Geslo
       remember: Zapomni si me
@@ -1984,34 +1983,7 @@ sl:
       login_button: Prijava
       register now: Registrirajte se
       with external: 'Lahko pa se prijavite prek tretje osebe:'
-      no account: Še nimate uporabniškega računa?
       auth failure: Oprostite, prijava s temi podatki ni uspela.
-      openid_logo_alt: Prijavite se z OpenID
-      auth_providers:
-        openid:
-          title: Prijava z OpenID
-          alt: Prijava s povezavo OpenID
-        google:
-          title: Prijava z Googlom
-          alt: Prijava z Google OpenID-jem
-        facebook:
-          title: Prijavi se s Facebookom
-          alt: Prijavi se z računom Facebook
-        microsoft:
-          title: Prijava z Microsoftom
-          alt: Prijava z računom Microsoft
-        github:
-          title: Vpis z GitHub-om
-          alt: Vpis z računom pri GitHub-u
-        wikipedia:
-          title: Prijavi se z Wikipedijo
-          alt: Prijavi se z računom Wikipedije
-        wordpress:
-          title: Prijava z Wordpressom
-          alt: Prijava z Wordpress OpenID-jem
-        aol:
-          title: Prijavi se z AOL-om
-          alt: Prijavi se z z OpenID-jem AOL
     destroy:
       title: Odjava
       heading: Odjava iz OpenStreetMap
@@ -2679,6 +2651,32 @@ sl:
       oauth2_applications: Aplikacije OAuth 2
       oauth2_authorizations: Pooblastila OAuth 2
       muted_users: Utišani uporabniki
+    auth_providers:
+      openid_logo_alt: Prijavite se z OpenID
+      openid:
+        title: Prijava z OpenID
+        alt: Prijava s povezavo OpenID
+      google:
+        title: Prijava z Googlom
+        alt: Prijava z Google OpenID-jem
+      facebook:
+        title: Prijavi se s Facebookom
+        alt: Prijavi se z računom Facebook
+      microsoft:
+        title: Prijava z Microsoftom
+        alt: Prijava z računom Microsoft
+      github:
+        title: Vpis z GitHub-om
+        alt: Vpis z računom pri GitHub-u
+      wikipedia:
+        title: Prijavi se z Wikipedijo
+        alt: Prijavi se z računom Wikipedije
+      wordpress:
+        title: Prijava z Wordpressom
+        alt: Prijava z Wordpress OpenID-jem
+      aol:
+        title: Prijavi se z AOL-om
+        alt: Prijavi se z z OpenID-jem AOL
   oauth:
     authorize:
       title: Dovoljenje za dostop do vašega računa
@@ -2827,16 +2825,14 @@ sl:
       display name description: Vaše javno prikazano uporabniško ime. To lahko spremenite
         pozneje v prilagoditvah.
       external auth: Avtentikacija prek tretje osebe
-      use external auth: Lahko pa se prijavite prek tretje osebe
-      auth no password: Pri overitvi tretje osebe geslo ni zahtevano, vendar ga bodo
-        nekatera dodatna orodja ali strežnik morda še vedno zahtevala.
       continue: Registracija
       terms accepted: Hvala za sprejem novih pogojev prispevanja!
-      email_confirmation_help_html: Vaš naslov ni javno prikazan, za več informacij
-        glejte naš %{privacy_policy_link}.
+      email_help_html: Vaš naslov ni javno prikazan, za več informacij glejte naš
+        %{privacy_policy_link}.
       privacy_policy: pravilnik o zasebnosti
       privacy_policy_title: Pravilnik o zasebnosti OSMF, vključno z razdelkom o e-poštnih
         naslovih
+      use external auth: Lahko pa se prijavite prek tretje osebe
     terms:
       title: Pogoji
       heading: Pogoji
@@ -3400,7 +3396,7 @@ sl:
     create:
       flash: Redakcija ustvarjena.
     update:
-      flash: Spremembe shranjene.
+      flash: Spremembe so shranjene.
     destroy:
       not_empty: Ta redakcija ni prazna. Prosimo, razkrijte vse različice, ki pripadajo
         tej redakciji, preden jo uničite.
index ae9a032febf439007ad914f99442aeda8704b91f..a0ab8c0e76f028c3d4c353d9c8c65b500ed0ec06 100644 (file)
@@ -1035,23 +1035,14 @@ sq:
   sessions:
     new:
       title: Identifikohu
-      heading: Identifikohu
+      tab_title: Identifikohu
       email or username: 'Adresa e emailit ose emri i përdoruesit:'
       password: 'Fjalëkalimi:'
       remember: Më mbaj mend
       lost password link: Ke humbur fjalëkalimin?
       login_button: Identifikohu
       register now: Regjistrohu tani
-      no account: Nuk ke llogari?
       auth failure: Na vjen keq, nuk mund të identifikohemi me ato detaje.
-      openid_logo_alt: Identifikohu me ndonjë ID të hapur
-      auth_providers:
-        openid:
-          title: Identifikohu me OpenID
-        github:
-          title: Identifikohuni me GitHub
-        wikipedia:
-          alt: Identifikohuni me një llogari të Wikipedia-s
     destroy:
       title: Çidentifikohu
       heading: Çidentifikohu nga OpenStreetMap
@@ -1253,6 +1244,14 @@ sq:
   application:
     require_admin:
       not_an_admin: Ju duhet të jeni administrator për të kryer atë veprim.
+    auth_providers:
+      openid_logo_alt: Identifikohu me ndonjë ID të hapur
+      openid:
+        title: Identifikohu me OpenID
+      github:
+        title: Identifikohuni me GitHub
+      wikipedia:
+        alt: Identifikohuni me një llogari të Wikipedia-s
   oauth_clients:
     show:
       edit: Redakto detajet
index 6468174b172d45677503d78dc532c7ee6669dca1..f426266ecdde4e175e59566e8beed8f570741555 100644 (file)
@@ -913,16 +913,14 @@ sr-Latn:
   sessions:
     new:
       title: Prijava
-      heading: Prijava
+      tab_title: Prijava
       email or username: 'Imejl adresa ili korisničko ime:'
       password: 'Lozinka:'
       remember: Zapamti me
       lost password link: Zaboravili ste lozinku?
       login_button: Prijavi me
       register now: Otvorite nalog
-      no account: Nemate nalog?
       auth failure: Ne mogu da vas prijavim s unetim podacima.
-      openid_logo_alt: Prijavite se s OpenID-jem
     destroy:
       title: Odjava
       heading: Odjava
@@ -1127,6 +1125,8 @@ sr-Latn:
       need_to_see_terms: Vaš pristup API-ju je privremeno ukinut. Prijavite se da
         biste pogledali uslove uređivanja. Ne morate da ih prihvatite, već samo da
         ih vidite.
+    auth_providers:
+      openid_logo_alt: Prijavite se s OpenID-jem
   oauth:
     authorize:
       request_access_html: Program %{app_name} zahteva pristup vašem nalogu, %{user}.
index 6c7d1dd0682455f01731a55c4cea4f04d7a71154..ba9efd6e29685d6bac4ea5a2218635dd7e547012 100644 (file)
@@ -154,7 +154,6 @@ sr:
         auth_provider: Провајдер провере идентитета
         auth_uid: UID идентитета
         email: Имејл
-        email_confirmation: Имејл потврда
         new_email: Нова имејл адреса
         active: Активан
         display_name: Име за приказ
@@ -1627,7 +1626,7 @@ sr:
   sessions:
     new:
       title: Пријава
-      heading: Пријава
+      tab_title: Пријава
       email or username: Имејл адреса или корисничко име
       password: Лозинка
       remember: Запамти ме
@@ -1635,34 +1634,7 @@ sr:
       login_button: Пријави ме
       register now: Отворите налог
       with external: 'Алтернативно, користите трећу страну да се пријавите:'
-      no account: Немате налог?
       auth failure: Није могуће пријавити се са тим детаљима.
-      openid_logo_alt: Пријавите се с OpenID-јем
-      auth_providers:
-        openid:
-          title: Пријавити се са OpenID
-          alt: Пријава преко OpenID URL-а
-        google:
-          title: Пријава преко Google-а
-          alt: Пријава преко Google OpenID-а
-        facebook:
-          title: Пријавити се са Facebook-ом
-          alt: Пријава преко Facebook налога
-        microsoft:
-          title: Пријава преко Microsoft-а
-          alt: Пријава преко Microsoft налога
-        github:
-          title: Пријава коришћењем GitHub-а
-          alt: Пријава преко GitHub налога
-        wikipedia:
-          title: Пријава преко Википедије
-          alt: Пријава преко Википедијиног налога
-        wordpress:
-          title: Пријава преко Wordpress-а
-          alt: Пријава преко Wordpress OpenID-а
-        aol:
-          title: Пријава преко AOL-а
-          alt: Пријава преко AOL OpenID-а
     destroy:
       title: Одјава
       heading: Одјава
@@ -2088,6 +2060,32 @@ sr:
     settings_menu:
       account_settings: Подешавња налога
       muted_users: Пригушени корисници
+    auth_providers:
+      openid_logo_alt: Пријавите се с OpenID-јем
+      openid:
+        title: Пријавити се са OpenID
+        alt: Пријава преко OpenID URL-а
+      google:
+        title: Пријава преко Google-а
+        alt: Пријава преко Google OpenID-а
+      facebook:
+        title: Пријавити се са Facebook-ом
+        alt: Пријава преко Facebook налога
+      microsoft:
+        title: Пријава преко Microsoft-а
+        alt: Пријава преко Microsoft налога
+      github:
+        title: Пријава коришћењем GitHub-а
+        alt: Пријава преко GitHub налога
+      wikipedia:
+        title: Пријава преко Википедије
+        alt: Пријава преко Википедијиног налога
+      wordpress:
+        title: Пријава преко Wordpress-а
+        alt: Пријава преко Wordpress OpenID-а
+      aol:
+        title: Пријава преко AOL-а
+        alt: Пријава преко AOL OpenID-а
   oauth:
     authorize:
       title: Ауторизујте приступ свом налогу
@@ -2189,12 +2187,10 @@ sr:
       display name description: Јавно приказано корисничко име. Касније га можете
         променити у поставкама.
       external auth: 'Аутентификација треће стране:'
-      use external auth: Алтернативно, користите трећу страну за пријаву
-      auth no password: Са аутентификацијом треће стране, лозинка није потребна —
-        али неки додатни алати или сервер можда је ипак буду захтевали.
       continue: Отвори налог
       terms accepted: Хвала вам што прихватате нове услове уређивања.
       privacy_policy: политика приватности
+      use external auth: Алтернативно, користите трећу страну за пријаву
     terms:
       title: Услови
       heading: Услови
index d723e336d6805b0d762b3bbb90af7feacf1dc719..184082f24e115d5275b0818ceac0baa2459f816c 100644 (file)
@@ -188,7 +188,6 @@ sv:
         auth_provider: Autentiseringsleverantör
         auth_uid: Autentiserings-UID
         email: E-post
-        email_confirmation: E-postbekräftelse
         new_email: Ny e-postadress
         active: Aktiv
         display_name: Visa namn
@@ -1928,7 +1927,7 @@ sv:
   sessions:
     new:
       title: Logga in
-      heading: Logga in
+      tab_title: Logga in
       email or username: E-postadress eller Användarnamn
       password: Lösenord
       remember: Kom ihåg mig
@@ -1936,34 +1935,7 @@ sv:
       login_button: Logga in
       register now: Registrera dig nu
       with external: 'Alternativt kan du använda en tredje part för att logga in:'
-      no account: Har du inget konto?
       auth failure: Kunde inte logga in med de uppgifterna.
-      openid_logo_alt: Logga in med ett OpenID
-      auth_providers:
-        openid:
-          title: Logga in med OpenID
-          alt: Logga in med en OpenID-URL
-        google:
-          title: Logga in med Google
-          alt: Logga in med ett Google OpenID
-        facebook:
-          title: Logga in med Facebook
-          alt: Logga in med ett Facebook-konto
-        microsoft:
-          title: Logga in med Microsoft
-          alt: Logga in med ett Microsoft-konto
-        github:
-          title: Logga in med GitHub
-          alt: Logga in med ett GitHub-Konto
-        wikipedia:
-          title: Logga in med Wikipedia
-          alt: Logga in med ett Wikipedia-konto
-        wordpress:
-          title: Logga in med Wordpress
-          alt: Logga in med ett Wordpress OpenID
-        aol:
-          title: Logga in med AOL
-          alt: Logga in med ett AOL OpenID
     destroy:
       title: Logga ut
       heading: Logga ut från OpenStreetMap
@@ -2607,6 +2579,32 @@ sv:
       oauth2_applications: OAuth 2-applikationer
       oauth2_authorizations: OAuth 2-auktoriseringar
       muted_users: Tystade användare
+    auth_providers:
+      openid_logo_alt: Logga in med ett OpenID
+      openid:
+        title: Logga in med OpenID
+        alt: Logga in med en OpenID-URL
+      google:
+        title: Logga in med Google
+        alt: Logga in med ett Google OpenID
+      facebook:
+        title: Logga in med Facebook
+        alt: Logga in med ett Facebook-konto
+      microsoft:
+        title: Logga in med Microsoft
+        alt: Logga in med ett Microsoft-konto
+      github:
+        title: Logga in med GitHub
+        alt: Logga in med ett GitHub-Konto
+      wikipedia:
+        title: Logga in med Wikipedia
+        alt: Logga in med ett Wikipedia-konto
+      wordpress:
+        title: Logga in med Wordpress
+        alt: Logga in med ett Wordpress OpenID
+      aol:
+        title: Logga in med AOL
+        alt: Logga in med ett AOL OpenID
   oauth:
     authorize:
       title: Auktorisera tillgång till ditt konto
@@ -2758,16 +2756,14 @@ sv:
       display name description: Ditt offentligt visade användarnamn. Du kan ändra
         detta senare i alternativ.
       external auth: 'Tredjepartsautentisering:'
-      use external auth: Alternativt kan du använda en tredje part för att logga in
-      auth no password: Med autentisering av tredje part krävs inte lösenord, men
-        en del extra verktyg eller server kan fortfarande behöva det.
       continue: Registrera
       terms accepted: Tack för att du accepterat de nya villkoren för bidrag till
         kartan!
-      email_confirmation_help_html: Din adress visas inte offentligt, se vår %{privacy_policy_link}
+      email_help_html: Din adress visas inte offentligt, se vår %{privacy_policy_link}
         för mer information.
       privacy_policy: integritetspolicy
       privacy_policy_title: OSMFs integritetspolicy inklusive avsnitt om e-postadresser
+      use external auth: Alternativt kan du använda en tredje part för att logga in
     terms:
       title: Villkor för deltagare
       heading: Villkor för deltagare
index 2a8efd873d40101cb324a6140980dcc9d19e3bcd..d7359ff762730251091a6c0a116bf93ebcdb0dad 100644 (file)
@@ -148,7 +148,6 @@ ta:
         auth_provider: அங்கீகார வழங்குநர்
         auth_uid: அங்கீகார UID
         email: மின்னஞ்சல்
-        email_confirmation: மின்னஞ்சலை உறுதிசெய்தல்
         new_email: புதிய மின்னஞ்சல் முகவரி
         active: செயல்பாட்டிலுள்ளது
         display_name: காட்டவிரும்பும் பெயர்
@@ -693,7 +692,7 @@ ta:
   sessions:
     new:
       title: புகுபதிகை
-      heading: புகுபதிகை
+      tab_title: புகுபதிகை
       email or username: 'மின்னஞ்சல் முகவரி அல்லது பயனர் பெயர்:'
       password: 'கடவுச்சொல்:'
       remember: என்னை நினைவில் வைத்துக்கொள்ளவும்
index 325e8ec3e9e08d21dc5721ea14c4d66ce02c86ae..73afebf568c9422edf1a8cd5497698b243db22b1 100644 (file)
@@ -141,7 +141,6 @@ te:
         auth_provider: ఆథెంటికేషను ఇచ్చేవారు
         auth_uid: ఆథెంటికేషను UID
         email: ఈ-మెయిల్
-        email_confirmation: ఈమెయిలు నిర్థారణ
         new_email: కొత్త ఈమెయిలు చిరునామా
         active: క్రియాశీలం
         display_name: కనిపించే పేరు
@@ -1752,7 +1751,7 @@ te:
   sessions:
     new:
       title: ప్రవేశం
-      heading: ప్రవేశం
+      tab_title: ప్రవేశం
       email or username: 'ఈమెయిల్ చిరునామా లేదా వాడుకరిపేరు:'
       password: 'సంకేతపదం:'
       remember: నన్ను గుర్తుంచుకో
@@ -1760,34 +1759,7 @@ te:
       login_button: ప్రవేశించు
       register now: ఇప్పుడే నమోదవ్వండి
       with external: 'లేదా, ఏదైనా థర్డ్ పార్టీతో లాగినవండి:'
-      no account: మీకు ఖాతా లేదా?
       auth failure: సారీ, ఈ వివరాలతో లాగిన్ చెయ్యలేకపోయాం.
-      openid_logo_alt: ఏదైనా OpenID తో లాగినవండి
-      auth_providers:
-        openid:
-          title: OpenID తో లాగినవండి
-          alt: ఏదైనా OpenID URL తో లాగినవండి
-        google:
-          title: Google తో లాగినవండి
-          alt: Google OpenID తో లాగినవండి
-        facebook:
-          title: Facebook తో లాగినవండి
-          alt: Facebook ఖాతాతో లాగినవండి
-        microsoft:
-          title: Windows Live తో లాగినవండి
-          alt: Windows Live ఖాతాతో లాగినవండి
-        github:
-          title: GitHub తో లాగినవండి
-          alt: GitHub ఖాతాతో లాగినవండి
-        wikipedia:
-          title: వికీపీడియాతో లాగినవండి
-          alt: వికీపీడియా ఖాతాతో లాగినవండి
-        wordpress:
-          title: వర్డ్‌ప్రెస్‌తో లాగినవండి
-          alt: వర్డ్‌ప్రెస్ OpenID తో లాగినవండి
-        aol:
-          title: AOL తో లాగినవండి
-          alt: AOL OpenID తో లాగినవండి
     destroy:
       title: నిష్క్రమించు
       heading: ఓపెన్‌స్ట్రీట్‌మ్యాప్‌ నుండి నిష్క్రమించండి
@@ -2139,6 +2111,32 @@ te:
       oauth1_settings: OAuth 1 అమరికలు
       oauth2_applications: OAuth 2 అనువర్తనాలు
       oauth2_authorizations: OAuth 2 ఆథరైజేషన్లు
+    auth_providers:
+      openid_logo_alt: ఏదైనా OpenID తో లాగినవండి
+      openid:
+        title: OpenID తో లాగినవండి
+        alt: ఏదైనా OpenID URL తో లాగినవండి
+      google:
+        title: Google తో లాగినవండి
+        alt: Google OpenID తో లాగినవండి
+      facebook:
+        title: Facebook తో లాగినవండి
+        alt: Facebook ఖాతాతో లాగినవండి
+      microsoft:
+        title: Windows Live తో లాగినవండి
+        alt: Windows Live ఖాతాతో లాగినవండి
+      github:
+        title: GitHub తో లాగినవండి
+        alt: GitHub ఖాతాతో లాగినవండి
+      wikipedia:
+        title: వికీపీడియాతో లాగినవండి
+        alt: వికీపీడియా ఖాతాతో లాగినవండి
+      wordpress:
+        title: వర్డ్‌ప్రెస్‌తో లాగినవండి
+        alt: వర్డ్‌ప్రెస్ OpenID తో లాగినవండి
+      aol:
+        title: AOL తో లాగినవండి
+        alt: AOL OpenID తో లాగినవండి
   oauth:
     authorize:
       title: మీ ఖాతాను అందుకునేందుకు ఆథరైజు చెయ్యండి
index 042fcccc9d9f18271067f25e43e881f1d7ce0f11..ad6dc41a1e2b76dba96525ab2830d18e3462eca3 100644 (file)
@@ -146,7 +146,6 @@ th:
         auth_provider: ผู้ให้การยืนยัน
         auth_uid: UID การยืนยัน
         email: อีเมล
-        email_confirmation: การยืนยันอีเมล
         new_email: ที่อยู่อีเมลใหม่
         active: เปิดใช้
         display_name: ชื่อที่ใช้แสดง
@@ -1441,7 +1440,7 @@ th:
   sessions:
     new:
       title: ลงชื่อเข้าใช้
-      heading: ลงชื่อเข้าใช้
+      tab_title: ลงชื่อเข้าใช้
       email or username: 'อีเมลหรือชื่อผู้ใช้:'
       password: 'รหัสผ่าน:'
       remember: จดจำฉันไว้ในระบบ
@@ -1449,34 +1448,7 @@ th:
       login_button: ลงชื่อเข้าใช้
       register now: สมัครเลย!
       with external: นอกจากนี้ ท่านสามารถใช้บัญชีผู้ใช้จากเว็บอื่นในการเข้าใช้งานได้
-      no account: ยังไม่ได้เป็นสมาชิก?
       auth failure: ขออภัย ไม่สามารถเข้าระบบด้วยชื่อผู้ใช้และรหัสผ่านดังกล่าวได้
-      openid_logo_alt: เข้าใช้งานด้วย OpenID
-      auth_providers:
-        openid:
-          title: เข้าใช้งานด้วย OpenID
-          alt: เข้าใช้งานด้วยลิงก์ OpenID
-        google:
-          title: เข้าใช้งานด้วย Google
-          alt: เข้าใช้งานด้วย Google OpenID
-        facebook:
-          title: เข้าใช้งานด้วย Facebook
-          alt: เข้าใช้งานด้วยบัญชี Facebook
-        microsoft:
-          title: เข้าใช้งานด้วย Windows Live
-          alt: เข้าใช้งานด้วยบัญชี Windows Live
-        github:
-          title: เข้าใช้งานด้วย GitHub
-          alt: เข้าใช้งานด้วยบัญชี GitHub
-        wikipedia:
-          title: เข้าใช้งานด้วยวิกิพีเดีย
-          alt: เข้าสู่ระบบด้วยบัญชีวิกิพีเดีย
-        wordpress:
-          title: เข้าใช้งานด้วย Wordpress
-          alt: เข้าสู่ระบบด้วย Wordpress OpenID
-        aol:
-          title: เข้าใช้งานด้วย AOL
-          alt: เข้าใช้งานด้วย AOL OpenID
     destroy:
       title: ออกจากระบบ
       heading: ออกจากระบบ OpenStreetMap
@@ -1755,6 +1727,32 @@ th:
       cookies_needed: ดูเหมือนว่าคุณปิดใช้งานคุกกี้อยู่, กรุณาเปิดใช้งานคุกกี้ในบราวเซอร์ของคุณก่อนจะดำเนินการต่อ
     setup_user_auth:
       blocked: คุณถูกระงับการเข้าถึง API, กรุณาเข้าระบบทางหน้าเว็บหลักหากต้องการทราบสาเหตุที่ถูกระงับในครั้งนี้
+    auth_providers:
+      openid_logo_alt: เข้าใช้งานด้วย OpenID
+      openid:
+        title: เข้าใช้งานด้วย OpenID
+        alt: เข้าใช้งานด้วยลิงก์ OpenID
+      google:
+        title: เข้าใช้งานด้วย Google
+        alt: เข้าใช้งานด้วย Google OpenID
+      facebook:
+        title: เข้าใช้งานด้วย Facebook
+        alt: เข้าใช้งานด้วยบัญชี Facebook
+      microsoft:
+        title: เข้าใช้งานด้วย Windows Live
+        alt: เข้าใช้งานด้วยบัญชี Windows Live
+      github:
+        title: เข้าใช้งานด้วย GitHub
+        alt: เข้าใช้งานด้วยบัญชี GitHub
+      wikipedia:
+        title: เข้าใช้งานด้วยวิกิพีเดีย
+        alt: เข้าสู่ระบบด้วยบัญชีวิกิพีเดีย
+      wordpress:
+        title: เข้าใช้งานด้วย Wordpress
+        alt: เข้าสู่ระบบด้วย Wordpress OpenID
+      aol:
+        title: เข้าใช้งานด้วย AOL
+        alt: เข้าใช้งานด้วย AOL OpenID
   oauth:
     authorize:
       title: อนุญาตการเข้าถึงบัญชีของคุณ
@@ -1837,11 +1835,9 @@ th:
         header: เสรีและแก้ไขได้
       display name description: ชื่อที่แสดงต่อสาธารณะ ท่านสามารถเปลี่ยนในภายหลังได้ในหน้าการตั้งค่า
       external auth: 'บัญชีผู้ใช้จากเว็บอื่น:'
-      use external auth: นอกจากนี้ ท่านสามารถใช้บัญชีผู้ใช้จากเว็บอื่นในการเข้าใช้งานได้
-      auth no password: ถ้ามีบัญชีผู้ใช้จากเว็บอื่น โดยปกติไม่จำเป็นต้องมีรหัสผ่าน
-        แต่ถ้าเข้าใช้งานเครื่องมือบางตัวหรือเซิร์ฟเวอร์ก็ยังจำเป็นต้องมีรหัสผ่านอยู่
       continue: สมัครบัญชี
       terms accepted: ขอบคุณสำหรับการตอบรับเงื่อนไขผู้ร่วมสร้างสรรค์!
+      use external auth: นอกจากนี้ ท่านสามารถใช้บัญชีผู้ใช้จากเว็บอื่นในการเข้าใช้งานได้
     terms:
       title: ข้อกำหนด
       heading: ข้อกำหนด
index e74b8b89d06efda07fcf08030a55887a79ed204f..a5133d852943238e060360e02a8ffb7331d42b72 100644 (file)
@@ -1463,7 +1463,7 @@ tl:
   sessions:
     new:
       title: Lumagda
-      heading: Lumagda
+      tab_title: Lumagda
       email or username: 'Tirahan ng E-liham o Pangalan ng Tagagamit:'
       password: 'Password:'
       remember: Tandaan ako
@@ -1472,34 +1472,7 @@ tl:
       register now: Magpatala na ngayon
       with external: 'Bilang alternatibo, gumamit ng serbisyo ikatlong partido para
         lumagda:'
-      no account: Wala ka pa bang akawnt?
       auth failure: Paumanhin, hindi makalagda sa pamamagitan ng mga detalyeng iyan.
-      openid_logo_alt: Lumagda sa pamamagitan ng isang OpenID
-      auth_providers:
-        openid:
-          title: Lumagda gamit ang OpenID
-          alt: Lumagda gamit ang isang OpenID URL
-        google:
-          title: Lumagda gamit ang Google
-          alt: Lumagda gamit ang isang Google OpenID
-        facebook:
-          title: Lumagda gamit ang Facebook
-          alt: Lumagda gamit ang isang akawnt sa Facebook
-        microsoft:
-          title: Lumagda gamit ang Windows Live
-          alt: Lumagda gamit ang isang akawnt sa Windows Live
-        github:
-          title: Lumagda gamit ang GitHub
-          alt: Lumagda gamit ang isang akawnt sa GitHub
-        wikipedia:
-          title: Lumagda gamit ang Wikipedia
-          alt: Lumagda gamit ang isang akawnt sa Wikipedia
-        wordpress:
-          title: Lumagda gamit ang Wordpress
-          alt: Lumagda gamit ang isang Wordpress OpenID
-        aol:
-          title: Lumagda gamit ang AOL
-          alt: Lumagda gamit ang isang AOL OpenID
     destroy:
       title: Umalis sa pagkakalagda
       heading: Umalis sa pagkakalagda mula sa OpenStreetMap
@@ -1812,6 +1785,32 @@ tl:
     settings_menu:
       account_settings: Mga Katakdaan ng Akawnt
       oauth2_authorizations: Mga pahintulot para sa OAuth 2
+    auth_providers:
+      openid_logo_alt: Lumagda sa pamamagitan ng isang OpenID
+      openid:
+        title: Lumagda gamit ang OpenID
+        alt: Lumagda gamit ang isang OpenID URL
+      google:
+        title: Lumagda gamit ang Google
+        alt: Lumagda gamit ang isang Google OpenID
+      facebook:
+        title: Lumagda gamit ang Facebook
+        alt: Lumagda gamit ang isang akawnt sa Facebook
+      microsoft:
+        title: Lumagda gamit ang Windows Live
+        alt: Lumagda gamit ang isang akawnt sa Windows Live
+      github:
+        title: Lumagda gamit ang GitHub
+        alt: Lumagda gamit ang isang akawnt sa GitHub
+      wikipedia:
+        title: Lumagda gamit ang Wikipedia
+        alt: Lumagda gamit ang isang akawnt sa Wikipedia
+      wordpress:
+        title: Lumagda gamit ang Wordpress
+        alt: Lumagda gamit ang isang Wordpress OpenID
+      aol:
+        title: Lumagda gamit ang AOL
+        alt: Lumagda gamit ang isang AOL OpenID
   oauth:
     authorize:
       request_access_html: Ang aplikasyong %{app_name} ay humihiling na mapuntahan
@@ -1913,10 +1912,10 @@ tl:
         header: Libre at pwedeng baguhin
       display name description: Ang iyong pangalan ng tagagamit na ipinapakita sa
         madla. Maaari mo itong baguhin mamaya sa loob ng mga kanaisan.
-      use external auth: Bilang alternatibo, gumamit ng serbisyo ikatlong partido
-        para lumagda
       continue: Magpatala
       terms accepted: Salamat sa pagtanggap ng bagong mga tuntunin ng tagapag-ambag!
+      use external auth: Bilang alternatibo, gumamit ng serbisyo ikatlong partido
+        para lumagda
     terms:
       title: 'Mga tuntunin:'
       heading: Mga tuntunin
index c964aa9274e457d85ea217e4d1fb42b0d352857d..7a5cb9787faa0e8d350c2106656bfa08358af3d4 100644 (file)
@@ -188,7 +188,6 @@ tr:
         auth_provider: Kimlik Doğrulama Sağlayıcısı
         auth_uid: Kimlik Doğrulama UIDsi
         email: E-posta
-        email_confirmation: E-posta Onayı
         new_email: Yeni E-posta Adresi
         active: Etkin
         display_name: Görünen Ad
@@ -1982,7 +1981,7 @@ tr:
   sessions:
     new:
       title: Oturum Aç
-      heading: Oturum Aç
+      tab_title: Oturum Aç
       email or username: E-posta Adresi veya Kullanıcı Adı
       password: Parola
       remember: Beni hatırla
@@ -1991,34 +1990,7 @@ tr:
       register now: Şimdi kaydol
       with external: 'Alternatif olarak bir üçüncü parti uygulaması kullanarak oturum
         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ş
-      auth_providers:
-        openid:
-          title: OpenID ile giriş
-          alt: OpenID Bağlantısı ile giriş
-        google:
-          title: Google ile giriş
-          alt: Google OpenID ile giriş
-        facebook:
-          title: Facebook ile giriş
-          alt: Facebook Hesabı ile giriş
-        microsoft:
-          title: Microsoft ile giriş
-          alt: Microsoft Hesabı ile giriş
-        github:
-          title: GitHub ile giriş
-          alt: GitHub Hesabı ile giriş
-        wikipedia:
-          title: Vikipedi ile giriş
-          alt: Vikipedi Hesabı ile giriş
-        wordpress:
-          title: Wordpress ile oturum aç
-          alt: Wordpress OpenID ile giriş
-        aol:
-          title: AOL ile giriş
-          alt: AOL OpenID ile giriş
     destroy:
       title: Oturumu kapat
       heading: OpenStreetMap'den çıkış
@@ -2689,6 +2661,32 @@ tr:
       oauth2_applications: OAuth 2 uygulamaları
       oauth2_authorizations: OAuth 2 yetkilendirmeleri
       muted_users: Sessize Alınan Kullanıcılar
+    auth_providers:
+      openid_logo_alt: OpenID ile giriş
+      openid:
+        title: OpenID ile giriş
+        alt: OpenID Bağlantısı ile giriş
+      google:
+        title: Google ile giriş
+        alt: Google OpenID ile giriş
+      facebook:
+        title: Facebook ile giriş
+        alt: Facebook Hesabı ile giriş
+      microsoft:
+        title: Microsoft ile giriş
+        alt: Microsoft Hesabı ile giriş
+      github:
+        title: GitHub ile giriş
+        alt: GitHub Hesabı ile giriş
+      wikipedia:
+        title: Vikipedi ile giriş
+        alt: Vikipedi Hesabı ile giriş
+      wordpress:
+        title: Wordpress ile oturum aç
+        alt: Wordpress OpenID ile giriş
+      aol:
+        title: AOL ile giriş
+        alt: AOL OpenID ile giriş
   oauth:
     authorize:
       title: Hesabınıza erişimi yetkilendirin
@@ -2838,17 +2836,15 @@ tr:
       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çı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
       terms accepted: Yeni katılımcı şartları kabul ettiğin için teşekkür ederiz!
-      email_confirmation_help_html: Adresiniz herkese açık olarak görüntülenmiyor,
-        daha fazla bilgi için %{privacy_policy_link} sayfasına bakın.
+      email_help_html: Adresiniz herkese açık olarak görüntülenmiyor, daha fazla bilgi
+        için %{privacy_policy_link} sayfasına bakın.
       privacy_policy: gizlilik politikası
       privacy_policy_title: E-posta adresleriyle ilgili bölümü içeren OSMF gizlilik
         politikası
+      use external auth: 'Alternatif olarak bir üçüncü parti uygulaması kullanarak
+        oturum açın:'
     terms:
       title: Koşullar
       heading: Koşullar
index d32e95d5fe556bbfdd87311b60e70a03b6f44d47..3f576290b0aebdb98291e1055e8de2e86ef6c6dd 100644 (file)
@@ -137,7 +137,6 @@ tt:
         auth_provider: Аутентификация провайдеры
         auth_uid: Аутентификациянең UID коды
         email: Электрон почтасы
-        email_confirmation: E-mail раслау
         new_email: Яңа электрон почта адресы
         active: Актив
         display_name: Күрсәтелүче исем
@@ -850,7 +849,7 @@ tt:
   sessions:
     new:
       title: Керү
-      heading: Керү
+      tab_title: Керү
       password: 'Серсүз:'
       login_button: Керү
       register now: Теркәлегезче
index 599232039ed463879243961d7efec6652f2d8001..a2b46449b2abdd0863ada85af20e63f90add2070 100644 (file)
@@ -184,7 +184,6 @@ uk:
         auth_provider: Автентифікатор
         auth_uid: Ідентифікатор автентифікації
         email: Ел. пошта
-        email_confirmation: Підтвердження адреси
         new_email: Нова адреса електронної пошти
         active: Активний
         display_name: 'Прізвисько:'
@@ -959,7 +958,7 @@ uk:
           office: Офісний будинок
           public: Суспільна будівля
           residential: Житловий будинок
-          retail: Ð¦ÐµÐ½Ñ\82Ñ\80 Ñ\80оздÑ\80Ñ\96бноÑ\97 Ñ\82оÑ\80гÑ\96влÑ\96
+          retail: Ð\91Ñ\83дÑ\96влÑ\8f Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ñ\83
           roof: Дах
           ruins: Зруйнована будівля
           school: Школа
@@ -2025,7 +2024,7 @@ uk:
   sessions:
     new:
       title: Ласкаво просимо
-      heading: Ласкаво просимо
+      tab_title: Ласкаво просимо
       email or username: Ел. пошта або прізвисько
       password: Пароль
       remember: Запам’ятати мене
@@ -2033,34 +2032,7 @@ uk:
       login_button: Увійти
       register now: Зареєструйтеся зараз
       with external: 'Або використовуйте, облікові записи з інших ресурсів:'
-      no account: Не маєте облікового запису?
       auth failure: Вибачте, вхід з цими ім’ям або паролем неможливий.
-      openid_logo_alt: Увійти з допомогою OpenID
-      auth_providers:
-        openid:
-          title: Увійти за допомогою OpenID
-          alt: Увійти за допомогою OpenID URL
-        google:
-          title: Увійти через Google
-          alt: Увійти через Google OpenID
-        facebook:
-          title: Увійти з Facebook
-          alt: Увійти з облікового запису Facebook
-        microsoft:
-          title: Увійти з Microsoft
-          alt: Увійти з облікового запису Microsoft
-        github:
-          title: Увійти через GitHub
-          alt: Вхід через обліковий запис GitHub
-        wikipedia:
-          title: Увійти через Вікіпедію
-          alt: Вхід через обліковий запис у Вікіпедії
-        wordpress:
-          title: Увійти через Wordpress
-          alt: Увійти через Wordpress OpenID
-        aol:
-          title: Увійти через AOL
-          alt: Увійти через AOL OpenID
     destroy:
       title: Вийти
       heading: Вийти з OpenStreetMap
@@ -2237,6 +2209,11 @@ uk:
         contributors_fr_credit_html: '%{france}: Дані отримані від Direction Générale
           des Impôts (Генеральне управління з оподаткування).'
         contributors_fr_france: Франція
+        contributors_hr_credit_html: '%{croatia}: Дані від %{dgu_link} та %{open_data_portal}
+          (публічна інформація Хорватії).'
+        contributors_hr_croatia: Хорватія
+        contributors_hr_dgu: Державне геодезичне управління Хорватії
+        contributors_hr_open_data_portal: Національний портал відкритих даних
         contributors_nl_credit_html: '%{netherlands}: Містить дані © AND, 2007 (%{and_link})'
         contributors_nl_netherlands: Нідерланди
         contributors_nz_credit_html: |-
@@ -2726,6 +2703,32 @@ uk:
       oauth2_applications: застосунки OAuth 2
       oauth2_authorizations: авторизації OAuth 2
       muted_users: Стишені учасники
+    auth_providers:
+      openid_logo_alt: Увійти з допомогою OpenID
+      openid:
+        title: Увійти за допомогою OpenID
+        alt: Увійти за допомогою OpenID URL
+      google:
+        title: Увійти через Google
+        alt: Увійти через Google OpenID
+      facebook:
+        title: Увійти з Facebook
+        alt: Увійти з облікового запису Facebook
+      microsoft:
+        title: Увійти з Microsoft
+        alt: Увійти з облікового запису Microsoft
+      github:
+        title: Увійти через GitHub
+        alt: Вхід через обліковий запис GitHub
+      wikipedia:
+        title: Увійти через Вікіпедію
+        alt: Вхід через обліковий запис у Вікіпедії
+      wordpress:
+        title: Увійти через Wordpress
+        alt: Увійти через Wordpress OpenID
+      aol:
+        title: Увійти через AOL
+        alt: Увійти через AOL OpenID
   oauth:
     authorize:
       title: Авторизувати доступ до облікового запису
@@ -2878,18 +2881,15 @@ uk:
       display name description: Ваше ім’я учасника, доступне всім. Ви можете змінити
         його потім у ваших налаштуваннях.
       external auth: 'Автентифікація через:'
-      use external auth: Або використовуйте, облікові записи з інших ресурсів для
-        входу
-      auth no password: Під час автентифікації з допомогою сторонніх сервісів пароль
-        не потрібен, але для деяких додаткових інструментів або серверів він все ще
-        знадобиться.
       continue: Зареєструватись
       terms accepted: Дякуємо за прийняття нових умов співпраці!
-      email_confirmation_help_html: Ваша адреса ніколи не показуватиметься публічно.
-        Ð\9eзнайомÑ\82еÑ\81Ñ\8c Ð· Ð½Ð°Ñ\88оÑ\8e %{privacy_policy_link} Ð´Ð»Ñ\8f Ð¾Ñ\82Ñ\80иманнÑ\8f Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾Ñ\97 Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\97.
+      email_help_html: Ваша адреса ніколи не показуватиметься публічно. Ознайомтесь
+        з нашою %{privacy_policy_link} для отримання докладної інформації.
       privacy_policy: Політикою конфіденційності
       privacy_policy_title: Політика конфіденційності OSMF, включаючи розділ про адреси
         електронної пошти
+      use external auth: Або використовуйте, облікові записи з інших ресурсів для
+        входу
     terms:
       title: Умови
       heading: Умови
@@ -3169,6 +3169,13 @@ uk:
       revoker_name: Розблокував
       older: Старіші блокування
       newer: Новіші блокування
+    navigation:
+      all_blocks: Всі блокування
+      blocks_on_me: Мої блокування
+      blocks_on_user: Блокування для %{user}
+      blocks_by_me: Заблокований(а) мною
+      blocks_by_user: Блокування, що їх наклав %{user}
+      block: Блокування №%{id}
   user_mutes:
     index:
       title: Стишені учасники
index 86a8949407e242b427983f136ca813ad49f85699..5566e2f97998f55ab5787ab2a518fbadadd54fa0 100644 (file)
@@ -158,7 +158,6 @@ vi:
         auth_provider: Nhà cung cấp Xác thực
         auth_uid: Định dạng Duy nhất Xác thực
         email: Thư điện tử
-        email_confirmation: Xác nhận Thư điện tử
         new_email: Địa chỉ Thư điện tử Mới
         active: Tích cực
         display_name: Tên Hiển thị
@@ -1828,7 +1827,7 @@ vi:
   sessions:
     new:
       title: Đăng nhập
-      heading: Đăng nhập
+      tab_title: Đăng nhập
       email or username: Địa chỉ Thư điện tử hoặc Tên người dùng
       password: Mật khẩu
       remember: Nhớ tôi
@@ -1836,34 +1835,7 @@ vi:
       login_button: Đăng nhập
       register now: Mở tài khoản ngay
       with external: 'Hoặc đăng nhập qua dịch vụ bên thứ ba:'
-      no account: Chưa có tài khoản?
       auth failure: Rất tiếc, không thể đăng nhập với những chi tiết đó.
-      openid_logo_alt: Đăng nhập dùng OpenID
-      auth_providers:
-        openid:
-          title: Đăng nhập qua OpenID
-          alt: Đăng nhập dùng URL OpenID
-        google:
-          title: Đăng nhập qua Google
-          alt: Đăng nhập dùng OpenID của Google
-        facebook:
-          title: Đăng nhập qua Facebook
-          alt: Đăng nhập dùng tài khoản Facebook
-        microsoft:
-          title: Đăng nhập qua Microsoft
-          alt: Đăng nhập dùng Tài khoản Microsoft
-        github:
-          title: Đăng nhập qua GitHub
-          alt: Đăng nhập dùng tài khoản GitHub
-        wikipedia:
-          title: Đăng nhập qua Wikipedia
-          alt: Đăng nhập qua Tài khoản Wikipedia
-        wordpress:
-          title: Đăng nhập qua WordPress
-          alt: Đăng nhập dùng OpenID của WordPress
-        aol:
-          title: Đăng nhập qua AOL
-          alt: Đăng nhập dùng OpenID của AOL
     destroy:
       title: Đăng xuất
       heading: Đăng xuất OpenStreetMap
@@ -2462,6 +2434,32 @@ vi:
       oauth2_applications: Ứng dụng OAuth 2
       oauth2_authorizations: Ủy quyền OAuth 2
       muted_users: Người dùng bị Tắt tiếng
+    auth_providers:
+      openid_logo_alt: Đăng nhập dùng OpenID
+      openid:
+        title: Đăng nhập qua OpenID
+        alt: Đăng nhập dùng URL OpenID
+      google:
+        title: Đăng nhập qua Google
+        alt: Đăng nhập dùng OpenID của Google
+      facebook:
+        title: Đăng nhập qua Facebook
+        alt: Đăng nhập dùng tài khoản Facebook
+      microsoft:
+        title: Đăng nhập qua Microsoft
+        alt: Đăng nhập dùng Tài khoản Microsoft
+      github:
+        title: Đăng nhập qua GitHub
+        alt: Đăng nhập dùng tài khoản GitHub
+      wikipedia:
+        title: Đăng nhập qua Wikipedia
+        alt: Đăng nhập qua Tài khoản Wikipedia
+      wordpress:
+        title: Đăng nhập qua WordPress
+        alt: Đăng nhập dùng OpenID của WordPress
+      aol:
+        title: Đăng nhập qua AOL
+        alt: Đăng nhập dùng OpenID của AOL
   oauth:
     authorize:
       title: Cho phép truy cập tài khoản của bạn
@@ -2612,16 +2610,14 @@ vi:
       display name description: Tên người dùng của bạn được hiển thị công khai. Bạn
         có thể thay đổi tên này về sau trong tùy chọn.
       external auth: 'Xác minh qua Dịch vụ Bên thứ ba:'
-      use external auth: Hoặc đăng nhập qua dịch vụ bên thứ ba
-      auth no password: Nếu xác minh qua dịch vụ bên thứ ba, bạn không cần nhập mật
-        khẩu, nhưng một số công cụ hoặc máy chủ khác có thể vẫn yêu cầu mật khẩu.
       continue: Mở tài khoản
       terms accepted: Cám ơn bạn đã chấp nhận các điều khoản đóng góp mới!
-      email_confirmation_help_html: Địa chỉ thư điện tử không được hiển thị công khai,
-        xem thêm thông tin trong %{privacy_policy_link} của chúng tôi.
+      email_help_html: Địa chỉ thư điện tử không được hiển thị công khai, xem thêm
+        thông tin trong %{privacy_policy_link} của chúng tôi.
       privacy_policy: quy định về quyền riêng tư
       privacy_policy_title: Quy định về quyền riêng tư của OSMF, bao gồm phần về địa
         chỉ thư điện tử
+      use external auth: Hoặc đăng nhập qua dịch vụ bên thứ ba
     terms:
       title: Điều khoản
       heading: Điều khoản
index 5dfe084d52ac7444421bdde516507a9822b5857f..2b2ea8bae5e0ea2c00f21966fdcc34a4c738b988 100644 (file)
@@ -137,7 +137,6 @@ xmf:
         auth_provider: ავთენტიფიკაციაშ პროვაიდერი
         auth_uid: ავთენტიფიკაციაშ UID
         email: ელ. ფოსტა
-        email_confirmation: ელ-ფოსტაშ დოდასურაფა
         new_email: ახალი ელ-ფოსტაშ მიოწურაფუ
         active: აქტიური
         display_name: ჯოხო ეკრანს
index db03f5a884ccc4d2fcf9d5866efea6130118a884..3c4f5cc139c5fa8f271064bfad4f9f8ed24acb8d 100644 (file)
@@ -54,7 +54,7 @@ yo:
   sessions:
     new:
       title: Wole
-      heading: Wole
+      tab_title: Wole
       lost password link: Se eh ti san password nu?
       auth failure: Pele, e le wole pelu details yi.
   site:
index a8a6a779bb97b70f124321c797314d1cd65272b9..ba763ce77b21ed9146dbbf1df83a51c96e05fb02 100644 (file)
@@ -220,7 +220,6 @@ zh-CN:
         auth_provider: 验证提供商
         auth_uid: 验证UID
         email: 电子邮件
-        email_confirmation: 电子邮件确认
         new_email: 新电子邮件地址
         active: 激活
         display_name: 显示名称
@@ -525,6 +524,8 @@ zh-CN:
       body: 对不起,没有ID为 %{id} 的变更集。请检查您的拼写,或者可能是点击了错误的链接。
     show:
       title: 变更集:%{id}
+      created: 创建于:%{when}
+      closed: 关闭于:%{when}
       created_ago_html: 创建于 %{time_ago}
       closed_ago_html: 关闭于 %{time_ago}
       created_ago_by_html: 由 %{user} 创建于 %{time_ago}
@@ -1887,7 +1888,7 @@ zh-CN:
   sessions:
     new:
       title: 登录
-      heading: 登录
+      tab_title: 登录
       email or username: 电子邮件地址或用户名
       password: 密码
       remember: 记住我
@@ -1895,34 +1896,7 @@ zh-CN:
       login_button: 登录
       register now: 立即注册
       with external: 或者使用第三方服务登录:
-      no account: 没有账户?
       auth failure: 对不起,凭这些信息您无法登录。
-      openid_logo_alt: 使用 OpenID 登录
-      auth_providers:
-        openid:
-          title: 使用OpenID登录
-          alt: 使用OpenID URL登录
-        google:
-          title: 使用Google登录
-          alt: 使用Google OpenID登录
-        facebook:
-          title: 使用Facebook登录
-          alt: 使用Facebook账户登录
-        microsoft:
-          title: 使用Microsoft登录
-          alt: 使用Microsoft账户登录
-        github:
-          title: 使用GitHub登录
-          alt: 通过GitHub账户登录
-        wikipedia:
-          title: 使用维基百科登录
-          alt: 使用维基百科账户登录
-        wordpress:
-          title: 使用Wordpress登录
-          alt: 使用 Wordpress OpenID 登录
-        aol:
-          title: 使用AOL登录
-          alt: 使用AOL OpenID登录
     destroy:
       title: 退出
       heading: 退出登录OpenStreetMap
@@ -2419,6 +2393,8 @@ zh-CN:
       identifiable: 可识别
       private: 私有
       trackable: 可追踪
+      details_with_tags_html: 由%{user}在%{tags}于%{time_ago}
+      details_without_tags_html: 由%{user}于%{time_ago}
     index:
       public_traces: 公开GPS轨迹
       my_gps_traces: 我的 GPS 轨迹
@@ -2466,6 +2442,32 @@ zh-CN:
       oauth2_applications: OAuth 2应用程序
       oauth2_authorizations: OAuth 2授权
       muted_users: 已忽视用户
+    auth_providers:
+      openid_logo_alt: 使用 OpenID 登录
+      openid:
+        title: 使用OpenID登录
+        alt: 使用OpenID URL登录
+      google:
+        title: 使用Google登录
+        alt: 使用Google OpenID登录
+      facebook:
+        title: 使用Facebook登录
+        alt: 使用Facebook账户登录
+      microsoft:
+        title: 使用Microsoft登录
+        alt: 使用Microsoft账户登录
+      github:
+        title: 使用GitHub登录
+        alt: 通过GitHub账户登录
+      wikipedia:
+        title: 使用维基百科登录
+        alt: 使用维基百科账户登录
+      wordpress:
+        title: 使用Wordpress登录
+        alt: 使用 Wordpress OpenID 登录
+      aol:
+        title: 使用AOL登录
+        alt: 使用AOL OpenID登录
   oauth:
     authorize:
       title: 授权访问您的账户
@@ -2601,13 +2603,12 @@ zh-CN:
         paragraph_2: 注册以开始贡献。我们将发送一封电子邮件以确认您的帐户。
       display name description: 你的公开展示的用户名。你可以稍后在设置中进行修改。
       external auth: 第三方身份验证:
-      use external auth: 或者使用第三方服务登录
-      auth no password: 通过第三方身份验证,您不再需要密码,但一些额外工具或服务器可能仍然需要。
       continue: 注册
       terms accepted: 感谢您接受新的贡献条款!
-      email_confirmation_help_html: 您的地址不会公开显示,请参阅我们的%{privacy_policy_link}了解更多信息。
+      email_help_html: 您的地址不会公开显示,请参阅我们的%{privacy_policy_link}了解更多信息。
       privacy_policy: 隐私政策
       privacy_policy_title: OSM基金会隐私政策包括电子邮件地址部分
+      use external auth: 或者使用第三方服务登录
     terms:
       title: 条款
       heading: 条款
@@ -2703,6 +2704,9 @@ zh-CN:
       heading: 用户
       older: 老用户
       newer: 新用户
+      found_users:
+        one: 找到%{count}位用户
+        other: 找到%{count}位用户
       summary_html: '%{name}在%{date}从%{ip_address}创建'
       summary_no_ip_html: '%{name} 创建于 %{date}'
       confirm: 确认所选用户
@@ -2844,6 +2848,15 @@ zh-CN:
       reason: 封禁的原因
       status: 状态
       revoker_name: 撤销者
+      older: 旧的封禁
+      newer: 新的封禁
+    navigation:
+      all_blocks: 所有封禁
+      blocks_on_me: 对我的封禁
+      blocks_on_user: 对%{user}的封禁
+      blocks_by_me: 由我做出的封禁
+      blocks_by_user: 由%{user}做出的封禁
+      block: 封禁#%{id}
   user_mutes:
     index:
       title: 已忽视用户
index 0f5b241bf5872c8923b16d1711edfa26066ed05b..97c6366162d8348c4e4659b317dd57d7eb87286c 100644 (file)
@@ -136,7 +136,6 @@ zh-HK:
         auth_provider: 認證提供者
         auth_uid: 認證UID
         email: 電郵
-        email_confirmation: 電郵確認
         new_email: 新電郵地址
         active: 活躍
         display_name: 顯示名稱
@@ -1182,7 +1181,6 @@ zh-HK:
         header: 自由而可編輯
       display name description: 您公開顯示的用戶名稱。以後還可以在設定中更換。
       external auth: 第三方身份認證:
-      auth no password: 啟用第三方認證後密碼並非必須,但一些額外的工具或伺服器可能仍需要使用密碼。
       continue: 註冊
       terms accepted: 感謝您接受新的貢獻條款!
     terms:
index 0a77485eff0bd30a66d6bd1f3c4c1249f565c40e..11ae40eb0c6d9a7af1ed48d252897aba925e593e 100644 (file)
@@ -183,7 +183,6 @@ zh-TW:
         auth_provider: 認證提供方
         auth_uid: 認證 UID
         email: 電子郵件
-        email_confirmation: 電子郵件確認
         new_email: 新的電子郵件地址
         active: 開啟中
         display_name: 顯示名稱
@@ -1871,7 +1870,7 @@ zh-TW:
   sessions:
     new:
       title: 登入
-      heading: 登入
+      tab_title: 登入
       email or username: 電子郵件地址或使用者名稱
       password: 密碼
       remember: 記住我
@@ -1879,34 +1878,7 @@ zh-TW:
       login_button: 登入
       register now: 立即註冊
       with external: 或者使用第三方服務登入:
-      no account: 還沒有帳號嗎?
       auth failure: 很抱歉,無法以這些資料登入。
-      openid_logo_alt: 使用 OpenID 登入
-      auth_providers:
-        openid:
-          title: 使用 OpenID 登入
-          alt: 使用 OpenID 網址登入
-        google:
-          title: 使用 Google 登入
-          alt: 使用 Google OpenID 登入
-        facebook:
-          title: 使用臉書登入
-          alt: 使用臉書帳號登入
-        microsoft:
-          title: 使用 Microsoft 登入
-          alt: 使用 Microsoft 帳號登入
-        github:
-          title: 使用 GitHub 登入
-          alt: 使用 GitHub 帳號登入
-        wikipedia:
-          title: 使用維基百科登入
-          alt: 使用維基百科帳號登入
-        wordpress:
-          title: 使用 Wordpress 登入
-          alt: 使用 Wordpress OpenID 登入
-        aol:
-          title: 使用 AOL 登入
-          alt: 使用 AOL OpenID 登入
     destroy:
       title: 登出
       heading: 從 OpenStreetMap 登出
@@ -2458,6 +2430,32 @@ zh-TW:
       oauth2_applications: OAuth 2 應用程式
       oauth2_authorizations: OAuth 2 授權
       muted_users: 已忽視使用者
+    auth_providers:
+      openid_logo_alt: 使用 OpenID 登入
+      openid:
+        title: 使用 OpenID 登入
+        alt: 使用 OpenID 網址登入
+      google:
+        title: 使用 Google 登入
+        alt: 使用 Google OpenID 登入
+      facebook:
+        title: 使用臉書登入
+        alt: 使用臉書帳號登入
+      microsoft:
+        title: 使用 Microsoft 登入
+        alt: 使用 Microsoft 帳號登入
+      github:
+        title: 使用 GitHub 登入
+        alt: 使用 GitHub 帳號登入
+      wikipedia:
+        title: 使用維基百科登入
+        alt: 使用維基百科帳號登入
+      wordpress:
+        title: 使用 Wordpress 登入
+        alt: 使用 Wordpress OpenID 登入
+      aol:
+        title: 使用 AOL 登入
+        alt: 使用 AOL OpenID 登入
   oauth:
     authorize:
       title: 授權使用您的帳號
@@ -2594,13 +2592,12 @@ zh-TW:
         paragraph_2: 註冊來開始貢獻,我們會寄送email來確認你的帳號。
       display name description: 您公開顯示的使用者名稱。您可以稍後在偏好設定中改變它。
       external auth: 第三方身份認證
-      use external auth: 或者使用第三方服務登入
-      auth no password: 使用第三方認証無須填寫密碼,但部份額外工具或伺服器可能仍需要使用密碼。
       continue: 註冊
       terms accepted: 感謝您接受新的貢獻條款!
-      email_confirmation_help_html: 您的地址不會公開顯示,請參閱我們的%{privacy_policy_link}來了解更多資訊。
+      email_help_html: 您的地址不會公開顯示,請參閱我們的%{privacy_policy_link}來了解更多資訊。
       privacy_policy: 隱私權政策
       privacy_policy_title: OSMF 隱私權政策包含電子郵件地址部份
+      use external auth: 或者使用第三方服務登入
     terms:
       title: 條款
       heading: 條款
index d1e4c74ae5e06c0d00736051520e1031bdd96411..8271e7e4dba1b95f05b4027af56a5d5cc0aac605 100644 (file)
@@ -122,7 +122,7 @@ OpenStreetMap::Application.routes.draw do
     match :subscribe, :unsubscribe, :on => :member, :via => [:get, :post]
   end
   get "/changeset/:id/comments/feed" => "changeset_comments#index", :as => :changeset_comments_feed, :id => /\d*/, :defaults => { :format => "rss" }
-  resources :notes, :path => "note", :only => [:show, :new]
+  resources :notes, :path => "note", :id => /\d+/, :only => [:show, :new]
 
   get "/user/:display_name/history" => "changesets#index"
   get "/user/:display_name/history/feed" => "changesets#feed", :defaults => { :format => :atom }
index 1fd9de2e810fb8a9735731055213fecd5148f967..3d264181c4cde89bb6e65dea54d6291d4351bb5a 100644 (file)
@@ -321,13 +321,26 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
 
   def test_show_adjacent_changesets
     user = create(:user)
-    changesets = create_list(:changeset, 3, :user => user)
+    changesets = create_list(:changeset, 3, :user => user, :num_changes => 1)
 
     sidebar_browse_check :changeset_path, changesets[1].id, "changesets/show"
     assert_dom "a[href='#{changeset_path changesets[0]}']", :count => 1
     assert_dom "a[href='#{changeset_path changesets[2]}']", :count => 1
   end
 
+  def test_show_adjacent_nonempty_changesets
+    user = create(:user)
+    changeset1 = create(:changeset, :user => user, :num_changes => 1)
+    create(:changeset, :user => user, :num_changes => 0)
+    changeset3 = create(:changeset, :user => user, :num_changes => 1)
+    create(:changeset, :user => user, :num_changes => 0)
+    changeset5 = create(:changeset, :user => user, :num_changes => 1)
+
+    sidebar_browse_check :changeset_path, changeset3.id, "changesets/show"
+    assert_dom "a[href='#{changeset_path changeset1}']", :count => 1
+    assert_dom "a[href='#{changeset_path changeset5}']", :count => 1
+  end
+
   ##
   # This should display the last 20 non-empty changesets
   def test_feed
index 0f4315e4f339604e33aa608c620a0cfe12f534b0..79213441f19a2e8cf757429e91ab2205b0020e12 100644 (file)
@@ -38,7 +38,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
   def test_confirm_get
     user = build(:user, :pending)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     get user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
@@ -50,7 +49,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     # Get the confirmation page
@@ -71,7 +69,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post logout_path
@@ -85,7 +82,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
@@ -96,7 +92,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post logout_path
@@ -111,7 +106,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post logout_path
@@ -125,7 +119,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
@@ -136,7 +129,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post logout_path
@@ -151,7 +143,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     travel 2.weeks do
@@ -165,7 +156,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     post user_confirm_path, :params => { :display_name => user.display_name, :confirm_string => confirm_string, :referer => new_diary_entry_path }
@@ -183,7 +173,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = build(:user, :pending)
     stub_gravatar_request(user.email)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
     confirm_string = User.find_by(:email => user.email).generate_token_for(:new_user)
 
     User.find_by(:display_name => user.display_name).hide!
@@ -201,7 +190,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
   def test_confirm_resend_success
     user = build(:user, :pending)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
 
     assert_difference "ActionMailer::Base.deliveries.size", 1 do
       perform_enqueued_jobs do
@@ -220,25 +208,9 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
-  def test_confirm_resend_no_token
-    user = build(:user, :pending)
-    # only complete first half of registration
-    post user_new_path, :params => { :user => user.attributes }
-
-    assert_no_difference "ActionMailer::Base.deliveries.size" do
-      perform_enqueued_jobs do
-        get user_confirm_resend_path(user)
-      end
-    end
-
-    assert_redirected_to login_path
-    assert_match "User #{user.display_name} not found.", flash[:error]
-  end
-
   def test_confirm_resend_deleted
     user = build(:user, :pending)
     post user_new_path, :params => { :user => user.attributes }
-    post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
 
     User.find_by(:display_name => user.display_name).hide!
 
index dfec6346f19f2c3a42783ad9bc4aba5ae5bc832e..db3a200b644711b40bfd91fbffcb20510c443878 100644 (file)
@@ -233,42 +233,38 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     user = create(:user)
     recipient_user = create(:user)
     other_user = create(:user)
-    unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user)
+    message = create(:message, :unread, :sender => user, :recipient => recipient_user)
 
     # Check that the message reply page requires us to login
-    get message_reply_path(:message_id => unread_message)
-    assert_redirected_to login_path(:referer => message_reply_path(:message_id => unread_message.id))
+    get message_reply_path(message)
+    assert_redirected_to login_path(:referer => message_reply_path(message))
 
     # Login as the wrong user
     session_for(other_user)
 
     # Check that we can't reply to somebody else's message
-    get message_reply_path(:message_id => unread_message)
-    assert_redirected_to login_path(:referer => message_reply_path(:message_id => unread_message.id))
+    get message_reply_path(message)
+    assert_redirected_to login_path(:referer => message_reply_path(message))
     assert_equal "You are logged in as `#{other_user.display_name}' but the message you have asked to reply to was not sent to that user. Please log in as the correct user in order to reply.", flash[:notice]
 
     # Login as the right user
     session_for(recipient_user)
 
     # Check that the message reply page loads
-    get message_reply_path(:message_id => unread_message)
+    get message_reply_path(message)
     assert_response :success
     assert_template "new"
-    assert_select "title", "Re: #{unread_message.title} | OpenStreetMap"
+    assert_select "title", "Re: #{message.title} | OpenStreetMap"
     assert_select "form[action='/messages']", :count => 1 do
       assert_select "input[type='hidden'][name='display_name'][value='#{user.display_name}']"
-      assert_select "input#message_title[value='Re: #{unread_message.title}']", :count => 1
+      assert_select "input#message_title[value='Re: #{message.title}']", :count => 1
       assert_select "textarea#message_body", :count => 1
       assert_select "input[type='submit'][value='Send']", :count => 1
     end
-    assert Message.find(unread_message.id).message_read
-
-    # Asking to reply to a message with no ID should fail
-    get message_reply_path
-    assert_response :success
+    assert Message.find(message.id).message_read
 
     # Asking to reply to a message with a bogus ID should fail
-    get message_reply_path(:message_id => 99999)
+    get message_reply_path(99999)
     assert_response :not_found
     assert_template "no_such_message"
   end
@@ -279,46 +275,42 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     user = create(:user)
     recipient_user = create(:user)
     other_user = create(:user)
-    unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user)
+    message = create(:message, :unread, :sender => user, :recipient => recipient_user)
 
     # Check that the show message page requires us to login
-    get message_path(:id => unread_message)
-    assert_redirected_to login_path(:referer => message_path(:id => unread_message.id))
+    get message_path(message)
+    assert_redirected_to login_path(:referer => message_path(message))
 
     # Login as the wrong user
     session_for(other_user)
 
     # Check that we can't read the message
-    get message_path(:id => unread_message)
-    assert_redirected_to login_path(:referer => message_path(:id => unread_message.id))
+    get message_path(message)
+    assert_redirected_to login_path(:referer => message_path(message))
     assert_equal "You are logged in as `#{other_user.display_name}' but the message you have asked to read was not sent by or to that user. Please log in as the correct user in order to read it.", flash[:notice]
 
     # Login as the message sender
     session_for(user)
 
     # Check that the message sender can read the message
-    get message_path(:id => unread_message)
+    get message_path(message)
     assert_response :success
     assert_template "show"
     assert_select "a[href='#{user_path recipient_user}']", :text => recipient_user.display_name
-    assert_not Message.find(unread_message.id).message_read
+    assert_not Message.find(message.id).message_read
 
     # Login as the message recipient
     session_for(recipient_user)
 
     # Check that the message recipient can read the message
-    get message_path(:id => unread_message)
+    get message_path(message)
     assert_response :success
     assert_template "show"
     assert_select "a[href='#{user_path user}']", :text => user.display_name
-    assert Message.find(unread_message.id).message_read
-
-    # Asking to read a message with no ID should fail
-    get message_path
-    assert_response :success
+    assert Message.find(message.id).message_read
 
     # Asking to read a message with a bogus ID should fail
-    get message_path(:id => 99999)
+    get message_path(99999)
     assert_response :not_found
     assert_template "no_such_message"
   end
@@ -380,17 +372,17 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     user = create(:user)
     recipient_user = create(:user)
     other_user = create(:user)
-    unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user)
+    message = create(:message, :unread, :sender => user, :recipient => recipient_user)
 
     # Check that the marking a message requires us to login
-    post message_mark_path(:message_id => unread_message)
+    post message_mark_path(message)
     assert_response :forbidden
 
     # Login as a user with no messages
     session_for(other_user)
 
     # Check that marking a message we didn't send or receive fails
-    post message_mark_path(:message_id => unread_message)
+    post message_mark_path(message)
     assert_response :not_found
     assert_template "no_such_message"
 
@@ -398,31 +390,27 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     session_for(recipient_user)
 
     # Check that the marking a message read works
-    post message_mark_path(:message_id => unread_message, :mark => "read")
+    post message_mark_path(message, :mark => "read")
     assert_redirected_to inbox_messages_path
-    assert Message.find(unread_message.id).message_read
+    assert Message.find(message.id).message_read
 
     # Check that the marking a message unread works
-    post message_mark_path(:message_id => unread_message, :mark => "unread")
+    post message_mark_path(message, :mark => "unread")
     assert_redirected_to inbox_messages_path
-    assert_not Message.find(unread_message.id).message_read
+    assert_not Message.find(message.id).message_read
 
-    # Check that the marking a message read via XHR works
-    post message_mark_path(:message_id => unread_message, :mark => "read")
-    assert_response :see_other
-    assert Message.find(unread_message.id).message_read
-
-    # Check that the marking a message unread via XHR works
-    post message_mark_path(:message_id => unread_message, :mark => "unread")
-    assert_response :see_other
-    assert_not Message.find(unread_message.id).message_read
+    # Check that the marking a message read works and redirects to inbox from the message page
+    post message_mark_path(message, :mark => "read"), :headers => { :referer => message_path(message) }
+    assert_redirected_to inbox_messages_path
+    assert Message.find(message.id).message_read
 
-    # Asking to mark a message with no ID should fail
-    post message_mark_path
+    # Check that the marking a message unread works and redirects to inbox from the message page
+    post message_mark_path(message, :mark => "unread"), :headers => { :referer => message_path(message) }
     assert_redirected_to inbox_messages_path
+    assert_not Message.find(message.id).message_read
 
     # Asking to mark a message with a bogus ID should fail
-    post message_mark_path(:message_id => 99999)
+    post message_mark_path(99999)
     assert_response :not_found
     assert_template "no_such_message"
   end
@@ -437,14 +425,14 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     sent_message = create(:message, :unread, :recipient => second_user, :sender => user)
 
     # Check that destroying a message requires us to login
-    delete message_path(:id => read_message)
+    delete message_path(read_message)
     assert_response :forbidden
 
     # Login as a user with no messages
     session_for(other_user)
 
     # Check that destroying a message we didn't send or receive fails
-    delete message_path(:id => read_message)
+    delete message_path(read_message)
     assert_response :not_found
     assert_template "no_such_message"
 
@@ -452,7 +440,7 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     session_for(user)
 
     # Check that the destroy a received message works
-    delete message_path(:id => read_message)
+    delete message_path(read_message)
     assert_redirected_to inbox_messages_path
     assert_equal "Message deleted", flash[:notice]
     m = Message.find(read_message.id)
@@ -460,19 +448,15 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
     assert_not m.to_user_visible
 
     # Check that the destroying a sent message works
-    delete message_path(:id => sent_message, :referer => outbox_messages_path)
+    delete message_path(sent_message, :referer => outbox_messages_path)
     assert_redirected_to outbox_messages_path
     assert_equal "Message deleted", flash[:notice]
     m = Message.find(sent_message.id)
     assert_not m.from_user_visible
     assert m.to_user_visible
 
-    # Asking to destroy a message with no ID should fail
-    delete message_path
-    assert_redirected_to inbox_messages_path
-
     # Asking to destroy a message with a bogus ID should fail
-    delete message_path(:id => 99999)
+    delete message_path(99999)
     assert_response :not_found
     assert_template "no_such_message"
   end
index e68a5f33beec2f4eb3c44a2d76da25c9f88788ec..5ecece0f4c842ef8c05bc03c7983609c10e8c6c6 100644 (file)
@@ -93,7 +93,7 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
   def test_read_note
     open_note = create(:note_with_comments)
 
-    browse_check :note_path, open_note.id, "notes/show"
+    sidebar_browse_check :note_path, open_note.id, "notes/show"
   end
 
   def test_read_hidden_note
@@ -111,7 +111,7 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
 
     session_for(create(:moderator_user))
 
-    browse_check :note_path, hidden_note_with_comment.id, "notes/show"
+    sidebar_browse_check :note_path, hidden_note_with_comment.id, "notes/show"
   end
 
   def test_read_note_hidden_comments
@@ -119,12 +119,12 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
       create(:note_comment, :note => note, :visible => false)
     end
 
-    browse_check :note_path, note_with_hidden_comment.id, "notes/show"
+    sidebar_browse_check :note_path, note_with_hidden_comment.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 1
 
     session_for(create(:moderator_user))
 
-    browse_check :note_path, note_with_hidden_comment.id, "notes/show"
+    sidebar_browse_check :note_path, note_with_hidden_comment.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 2
   end
 
@@ -134,12 +134,12 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
       create(:note_comment, :note => note, :author => hidden_user)
     end
 
-    browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
+    sidebar_browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 1
 
     session_for(create(:moderator_user))
 
-    browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
+    sidebar_browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 1
   end
 
@@ -147,7 +147,7 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
     user = create(:user)
     closed_note = create(:note_with_comments, :closed, :closed_by => user, :comments_count => 2)
 
-    browse_check :note_path, closed_note.id, "notes/show"
+    sidebar_browse_check :note_path, closed_note.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 2
     assert_select "div.details", /Resolved by #{user.display_name}/
 
@@ -155,7 +155,7 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
 
     reset!
 
-    browse_check :note_path, closed_note.id, "notes/show"
+    sidebar_browse_check :note_path, closed_note.id, "notes/show"
     assert_select "div.note-comments ul li", :count => 1
     assert_select "div.details", /Resolved by deleted/
   end
@@ -165,42 +165,4 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
     assert_response :success
     assert_template "notes/new"
   end
-
-  private
-
-  # This is a convenience method for most of the above checks
-  # First we check that when we don't have an id, it will correctly return a 404
-  # then we check that we get the correct 404 when a non-existant id is passed
-  # then we check that it will get a successful response, when we do pass an id
-  def browse_check(path, id, template)
-    path_method = method(path)
-
-    assert_raise ActionController::UrlGenerationError do
-      get path_method.call
-    end
-
-    # assert_raise ActionController::UrlGenerationError do
-    #   get path_method.call(:id => -10) # we won't have an id that's negative
-    # end
-
-    get path_method.call(:id => 0)
-    assert_response :not_found
-    assert_template "browse/not_found"
-    assert_template :layout => "map"
-
-    get path_method.call(:id => 0), :xhr => true
-    assert_response :not_found
-    assert_template "browse/not_found"
-    assert_template :layout => "xhr"
-
-    get path_method.call(:id => id)
-    assert_response :success
-    assert_template template
-    assert_template :layout => "map"
-
-    get path_method.call(:id => id), :xhr => true
-    assert_response :success
-    assert_template template
-    assert_template :layout => "xhr"
-  end
 end
index 62bb34279eafa50c69a465ff65d5a2442768e693..c5566e65db4ae534015fa97331fba7c6f2c7fd05 100644 (file)
@@ -82,7 +82,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
         assert_select "div#content", :count => 1 do
           assert_select "form[action='/user/new'][method='post']", :count => 1 do
             assert_select "input[id='user_email']", :count => 1
-            assert_select "input[id='user_email_confirmation']", :count => 1
             assert_select "input[id='user_display_name']", :count => 1
             assert_select "input[id='user_pass_crypt'][type='password']", :count => 1
             assert_select "input[id='user_pass_crypt_confirmation'][type='password']", :count => 1
@@ -106,18 +105,10 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
   def test_new_success
     user = build(:user, :pending)
 
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
     assert_difference "User.count", 1 do
       assert_difference "ActionMailer::Base.deliveries.size", 1 do
         perform_enqueued_jobs do
-          post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
+          post user_new_path, :params => { :user => user.attributes }
         end
       end
     end
@@ -151,55 +142,14 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     assert_select "form > div > input.is-invalid#user_email"
   end
 
-  def test_save_duplicate_email
-    user = build(:user, :pending)
-
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
-    # Now create another user with that email
-    create(:user, :email => user.email)
-
-    # Check that the second half of registration fails
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
-        end
-      end
-    end
-
-    assert_response :success
-    assert_template "new"
-    assert_select "form > div > input.is-invalid#user_email"
-  end
-
-  def test_save_duplicate_email_uppercase
+  def test_new_duplicate_email_uppercase
     user = build(:user, :pending)
-
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
-    # Now create another user with that email, but uppercased
     create(:user, :email => user.email.upcase)
 
-    # Check that the second half of registration fails
     assert_no_difference "User.count" do
       assert_no_difference "ActionMailer::Base.deliveries.size" do
         perform_enqueued_jobs do
-          post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
+          post user_new_path, :params => { :user => user.attributes }
         end
       end
     end
@@ -209,26 +159,14 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     assert_select "form > div > input.is-invalid#user_email"
   end
 
-  def test_save_duplicate_name
+  def test_new_duplicate_name
     user = build(:user, :pending)
-
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
-    # Now create another user with that display name
     create(:user, :display_name => user.display_name)
 
-    # Check that the second half of registration fails
     assert_no_difference "User.count" do
       assert_no_difference "ActionMailer::Base.deliveries.size" do
         perform_enqueued_jobs do
-          post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
+          post user_new_path, :params => { :user => user.attributes }
         end
       end
     end
@@ -238,26 +176,14 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     assert_select "form > div > input.is-invalid#user_display_name"
   end
 
-  def test_save_duplicate_name_uppercase
+  def test_new_duplicate_name_uppercase
     user = build(:user, :pending)
-
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
-    # Now create another user with that display_name, but uppercased
     create(:user, :display_name => user.display_name.upcase)
 
-    # Check that the second half of registration fails
     assert_no_difference "User.count" do
       assert_no_difference "ActionMailer::Base.deliveries.size" do
         perform_enqueued_jobs do
-          post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
+          post user_new_path, :params => { :user => user.attributes }
         end
       end
     end
@@ -267,18 +193,9 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     assert_select "form > div > input.is-invalid#user_display_name"
   end
 
-  def test_save_blocked_domain
+  def test_new_blocked_domain
     user = build(:user, :pending, :email => "user@example.net")
 
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
     # Now block that domain
     create(:acl, :domain => "example.net", :k => "no_account_creation")
 
@@ -286,7 +203,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     assert_no_difference "User.count" do
       assert_no_difference "ActionMailer::Base.deliveries.size" do
         perform_enqueued_jobs do
-          post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
+          post user_new_path, :params => { :user => user.attributes }
         end
       end
     end
@@ -298,18 +215,9 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
   def test_save_referer_params
     user = build(:user, :pending)
 
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes, :referer => "/edit?editor=id#map=1/2/3" }
-        end
-      end
-    end
-
     assert_difference "User.count", 1 do
       assert_difference "ActionMailer::Base.deliveries.size", 1 do
-        post user_save_path, :params => { :read_ct => 1, :read_tou => 1 }
+        post user_new_path, :params => { :user => user.attributes, :referer => "/edit?editor=id#map=1/2/3" }
         assert_enqueued_with :job => ActionMailer::MailDeliveryJob,
                              :args => proc { |args| args[3][:args][2] == welcome_path(:editor => "id", :zoom => 1, :lat => 2, :lon => 3) }
         perform_enqueued_jobs
@@ -319,24 +227,6 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
-  def test_terms_new_user
-    user = build(:user, :pending)
-
-    # Set up our user as being half-way through registration
-    assert_no_difference "User.count" do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
-        perform_enqueued_jobs do
-          post user_new_path, :params => { :user => user.attributes }
-        end
-      end
-    end
-
-    get user_terms_path
-
-    assert_response :success
-    assert_template :terms
-  end
-
   def test_terms_agreed
     user = create(:user, :terms_seen => true, :terms_agreed => Date.yesterday)
 
index a905090dba6133a8c20908f8ee308a6fbb817015..24d74c85f3b0ad5d1a06aaad93f8eaf6f4739e2d 100644 (file)
@@ -31,12 +31,12 @@ class ApplicationHelperTest < ActionView::TestCase
 
   def test_rss_link_to
     link = rss_link_to(:controller => :diary_entries, :action => :rss)
-    assert_dom_equal "<a class=\"rsssmall\" href=\"/diary/rss\"><img border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
+    assert_dom_equal "<a href=\"/diary/rss\"><img height=\"16\" src=\"/images/RSS.png\" width=\"16\" class=\"align-text-bottom\" /></a>", link
   end
 
   def test_atom_link_to
     link = atom_link_to(:controller => :changesets, :action => :feed)
-    assert_dom_equal "<a class=\"rsssmall\" href=\"/history/feed\"><img border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
+    assert_dom_equal "<a href=\"/history/feed\"><img height=\"16\" src=\"/images/RSS.png\" width=\"16\" class=\"align-text-bottom\" /></a>", link
   end
 
   def test_dir
index f7d2726dbf96667654b6eb89bbad377a8476b088..c2883c2c09e4dffd85e51120e8852c793ec039ed 100644 (file)
@@ -116,8 +116,8 @@ class UserHelperTest < ActionView::TestCase
 
   def test_auth_button
     button = auth_button("google", "google")
-    img_tag = "<img alt=\"Log in with a Google OpenID\" class=\"rounded-3\" src=\"/images/google.svg\" width=\"36\" height=\"36\" />"
-    assert_equal("<a class=\"auth_button\" title=\"Log in with Google\" rel=\"nofollow\" data-method=\"post\" href=\"/auth/google\">#{img_tag}</a>", button)
+    img_tag = "<img alt=\"Log in with a Google OpenID\" class=\"rounded-1\" src=\"/images/google.svg\" width=\"24\" height=\"24\" />"
+    assert_equal("<a class=\"auth_button p-2 d-block\" title=\"Log in with Google\" rel=\"nofollow\" data-method=\"post\" href=\"/auth/google\">#{img_tag}</a>", button)
   end
 
   private
index ba51dd14f4b60a3181fafc6078e3d63da29387dc..41366199c4f828479e25de389bc2d9cc2473fe3a 100644 (file)
@@ -13,74 +13,74 @@ class UserRolesHelperTest < ActionView::TestCase
     assert_dom_equal "", icon
 
     icon = role_icon(create(:moderator_user), "moderator")
-    expected = <<~HTML.delete("\n")
-      <img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
-    HTML
-    assert_dom_equal expected, icon
+    icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+    assert_dom icon_dom, "svg:root", :count => 1 do
+      assert_dom "> title", :text => "This user is a moderator"
+    end
 
     icon = role_icon(create(:importer_user), "importer")
-    expected = <<~HTML.delete("\n")
-      <img srcset="/images/roles/importer.svg" border="0" alt="This user is a importer" title="This user is a importer" src="/images/roles/importer.png" width="20" height="20" />
-    HTML
-    assert_dom_equal expected, icon
+    icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+    assert_dom icon_dom, "svg:root", :count => 1 do
+      assert_dom "> title", :text => "This user is a importer"
+    end
   end
 
   def test_role_icon_administrator
     self.current_user = create(:administrator_user)
 
-    user = create(:user)
-
-    icon = role_icon(user, "moderator")
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `moderator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
-      <img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icon
-
-    icon = role_icon(user, "importer")
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `importer&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/importer/grant">
-      <img srcset="/images/roles/blank_importer.svg" border="0" alt="Grant importer access" title="Grant importer access" src="/images/roles/blank_importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icon
-
-    moderator_user = create(:moderator_user)
-
-    icon = role_icon(moderator_user, "moderator")
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to revoke the role `moderator&#39; from the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
-      <img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icon
-
-    icon = role_icon(user, "importer")
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `importer&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/importer/grant">
-      <img srcset="/images/roles/blank_importer.svg" border="0" alt="Grant importer access" title="Grant importer access" src="/images/roles/blank_importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icon
-
-    importer_user = create(:importer_user)
-
-    icon = role_icon(user, "moderator")
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `moderator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
-      <img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icon
-
-    icon = role_icon(importer_user, "importer")
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to revoke the role `importer&#39; from the user `#{importer_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(importer_user.display_name)}/role/importer/revoke">
-      <img srcset="/images/roles/importer.svg" border="0" alt="Revoke importer access" title="Revoke importer access" src="/images/roles/importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icon
+    create(:user) do |user|
+      icon = role_icon(user, "moderator")
+      icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+      assert_dom icon_dom, "a:root[href='#{grant_role_path(user, 'moderator')}']", :count => 1 do
+        assert_dom "> svg", :count => 1 do
+          assert_dom "> title", :text => "Grant moderator access"
+        end
+      end
+
+      icon = role_icon(user, "importer")
+      icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+      assert_dom icon_dom, "a:root[href='#{grant_role_path(user, 'importer')}']", :count => 1 do
+        assert_dom "> svg", :count => 1 do
+          assert_dom "> title", :text => "Grant importer access"
+        end
+      end
+    end
+
+    create(:moderator_user) do |user|
+      icon = role_icon(user, "moderator")
+      icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+      assert_dom icon_dom, "a:root[href='#{revoke_role_path(user, 'moderator')}']", :count => 1 do
+        assert_dom "> svg", :count => 1 do
+          assert_dom "> title", :text => "Revoke moderator access"
+        end
+      end
+
+      icon = role_icon(user, "importer")
+      icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+      assert_dom icon_dom, "a:root[href='#{grant_role_path(user, 'importer')}']", :count => 1 do
+        assert_dom "> svg", :count => 1 do
+          assert_dom "> title", :text => "Grant importer access"
+        end
+      end
+    end
+
+    create(:importer_user) do |user|
+      icon = role_icon(user, "moderator")
+      icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+      assert_dom icon_dom, "a:root[href='#{grant_role_path(user, 'moderator')}']", :count => 1 do
+        assert_dom "> svg", :count => 1 do
+          assert_dom "> title", :text => "Grant moderator access"
+        end
+      end
+
+      icon = role_icon(user, "importer")
+      icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
+      assert_dom icon_dom, "a:root[href='#{revoke_role_path(user, 'importer')}']", :count => 1 do
+        assert_dom "> svg", :count => 1 do
+          assert_dom "> title", :text => "Revoke importer access"
+        end
+      end
+    end
   end
 
   def test_role_icons_normal
@@ -90,87 +90,83 @@ class UserRolesHelperTest < ActionView::TestCase
     assert_dom_equal "", icons
 
     icons = role_icons(create(:moderator_user))
-    expected = <<~HTML.delete("\n")
-      <img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
-    HTML
-    assert_dom_equal expected, icons
+    icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+    assert_dom icons_dom, "svg:root > title", :text => "This user is a moderator"
 
     icons = role_icons(create(:importer_user))
-    expected = <<~HTML.delete("\n")
-      <img srcset="/images/roles/importer.svg" border="0" alt="This user is a importer" title="This user is a importer" src="/images/roles/importer.png" width="20" height="20" />
-    HTML
-    assert_dom_equal expected, icons
+    icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+    assert_dom icons_dom, "svg:root > title", :text => "This user is a importer"
 
     icons = role_icons(create(:super_user))
-    expected = <<~HTML.delete("\n")
-      <img srcset="/images/roles/administrator.svg" border="0" alt="This user is an administrator" title="This user is an administrator" src="/images/roles/administrator.png" width="20" height="20" />
-      <img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
-      <img srcset="/images/roles/importer.svg" border="0" alt="This user is a importer" title="This user is a importer" src="/images/roles/importer.png" width="20" height="20" />
-    HTML
-    assert_dom_equal expected, icons
+    icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+    assert_dom icons_dom, "svg:root", :count => 3 do
+      assert_dom "> title", :text => "This user is an administrator"
+      assert_dom "> title", :text => "This user is a moderator"
+      assert_dom "> title", :text => "This user is a importer"
+    end
   end
 
   def test_role_icons_administrator
     self.current_user = create(:administrator_user)
 
-    user = create(:user)
-    icons = role_icons(user)
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `administrator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/administrator/grant">
-      <img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to grant the role `moderator&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
-      <img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to grant the role `importer&#39; to the user `#{user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/importer/grant">
-      <img srcset="/images/roles/blank_importer.svg" border="0" alt="Grant importer access" title="Grant importer access" src="/images/roles/blank_importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icons
-
-    moderator_user = create(:moderator_user)
-    icons = role_icons(moderator_user)
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `administrator&#39; to the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/administrator/grant">
-      <img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to revoke the role `moderator&#39; from the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
-      <img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to grant the role `importer&#39; to the user `#{moderator_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/importer/grant">
-      <img srcset="/images/roles/blank_importer.svg" border="0" alt="Grant importer access" title="Grant importer access" src="/images/roles/blank_importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icons
-
-    importer_user = create(:importer_user)
-    icons = role_icons(importer_user)
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to grant the role `administrator&#39; to the user `#{importer_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(importer_user.display_name)}/role/administrator/grant">
-      <img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to grant the role `moderator&#39; to the user `#{importer_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(importer_user.display_name)}/role/moderator/grant">
-      <img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to revoke the role `importer&#39; from the user `#{importer_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(importer_user.display_name)}/role/importer/revoke">
-      <img srcset="/images/roles/importer.svg" border="0" alt="Revoke importer access" title="Revoke importer access" src="/images/roles/importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icons
-
-    super_user = create(:super_user)
-    icons = role_icons(super_user)
-    expected = <<~HTML.delete("\n")
-      <a data-confirm="Are you sure you want to revoke the role `administrator&#39; from the user `#{super_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/administrator/revoke">
-      <img srcset="/images/roles/administrator.svg" border="0" alt="Revoke administrator access" title="Revoke administrator access" src="/images/roles/administrator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to revoke the role `moderator&#39; from the user `#{super_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/moderator/revoke">
-      <img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
-      </a>
-      <a data-confirm="Are you sure you want to revoke the role `importer&#39; from the user `#{super_user.display_name}&#39;?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/importer/revoke">
-      <img srcset="/images/roles/importer.svg" border="0" alt="Revoke importer access" title="Revoke importer access" src="/images/roles/importer.png" width="20" height="20" />
-      </a>
-    HTML
-    assert_dom_equal expected, icons
+    create(:user) do |user|
+      icons = role_icons(user)
+      icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+      assert_dom icons_dom, "a:root", :count => 3
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'administrator')}']" do
+        assert_dom "> svg > title", :text => "Grant administrator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'moderator')}']" do
+        assert_dom "> svg > title", :text => "Grant moderator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'importer')}']" do
+        assert_dom "> svg > title", :text => "Grant importer access"
+      end
+    end
+
+    create(:moderator_user) do |user|
+      icons = role_icons(user)
+      icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+      assert_dom icons_dom, "a:root", :count => 3
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'administrator')}']" do
+        assert_dom "> svg > title", :text => "Grant administrator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{revoke_role_path(user, 'moderator')}']" do
+        assert_dom "> svg > title", :text => "Revoke moderator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'importer')}']" do
+        assert_dom "> svg > title", :text => "Grant importer access"
+      end
+    end
+
+    create(:importer_user) do |user|
+      icons = role_icons(user)
+      icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+      assert_dom icons_dom, "a:root", :count => 3
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'administrator')}']" do
+        assert_dom "> svg > title", :text => "Grant administrator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{grant_role_path(user, 'moderator')}']" do
+        assert_dom "> svg > title", :text => "Grant moderator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{revoke_role_path(user, 'importer')}']" do
+        assert_dom "> svg > title", :text => "Revoke importer access"
+      end
+    end
+
+    create(:super_user) do |user|
+      icons = role_icons(user)
+      icons_dom = Rails::Dom::Testing.html_document_fragment.parse(icons)
+      assert_dom icons_dom, "a:root", :count => 3
+      assert_dom icons_dom, "a:root[href='#{revoke_role_path(user, 'administrator')}']" do
+        assert_dom "> svg > title", :text => "Revoke administrator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{revoke_role_path(user, 'moderator')}']" do
+        assert_dom "> svg > title", :text => "Revoke moderator access"
+      end
+      assert_dom icons_dom, "a:root[href='#{revoke_role_path(user, 'importer')}']" do
+        assert_dom "> svg > title", :text => "Revoke importer access"
+      end
+    end
   end
 end
index 1f749f9579617b27fd4af4f3c68cb0a82d994d94..4611860d02552705267c588419d8e275353d1faa 100644 (file)
@@ -32,10 +32,74 @@ class UserCreationTest < ActionDispatch::IntegrationTest
         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" } }
+                                       :pass_crypt_confirmation => "testtest",
+                                       :consider_pd => "1" } }
+        end
+      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_association_bad_auth_provider
+    assert_difference("User.count", 0) do
+      assert_no_difference("ActionMailer::Base.deliveries.size") do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => "test@example.com",
+                                       :display_name => "new_tester",
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest",
+                                       :auth_provider => "noprovider",
+                                       :auth_uid => "123454321",
+                                       :consider_pd => "1" } }
+          assert_redirected_to auth_path(:provider => "noprovider", :origin => "/user/new")
+          post response.location
+        end
+      end
+    end
+    assert_response :not_found
+  end
+
+  def test_user_create_association_no_auth_uid
+    OmniAuth.config.mock_auth[:google] = :invalid_credentials
+    assert_difference("User.count", 0) do
+      assert_no_difference("ActionMailer::Base.deliveries.size") do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => "test@example.com",
+                                       :display_name => "new_tester",
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest",
+                                       :auth_provider => "google",
+                                       :consider_pd => "1" } }
+          assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
+          post response.location
+        end
+      end
+    end
+    follow_redirect!
+    assert_redirected_to auth_failure_path(:strategy => "google", :message => "invalid_credentials", :origin => "/user/new")
+  end
+
+  def test_user_create_association_submit_duplicate_email
+    dup_email = create(:user).email
+    display_name = "new_tester"
+    assert_difference("User.count", 0) do
+      assert_no_difference("ActionMailer::Base.deliveries.size") do
+        perform_enqueued_jobs do
+          post "/user/new",
+               :params => { :user => { :email => dup_email,
+                                       :display_name => display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest",
+                                       :auth_provider => "google",
+                                       :auth_uid => "123454321",
+                                       :consider_pd => "1" } }
         end
       end
     end
@@ -53,7 +117,6 @@ class UserCreationTest < ActionDispatch::IntegrationTest
         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" } }
@@ -73,42 +136,52 @@ class UserCreationTest < ActionDispatch::IntegrationTest
         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" } }
+                                       :pass_crypt_confirmation => "blahblah",
+                                       :consider_pd => "1" } }
         end
       end
     end
     assert_response :success
     assert_template "users/new"
-    assert_select "form > div > input.is-invalid#user_pass_crypt_confirmation"
+    assert_select "form > div > div > div > input.is-invalid#user_pass_crypt_confirmation"
   end
 
-  def test_user_create_success
-    new_email = "newtester@osm.org"
-    display_name = "new_tester"
-
+  def test_user_create_association_submit_duplicate_username
+    dup_display_name = create(:user).display_name
+    email = "new_tester"
     assert_difference("User.count", 0) do
-      assert_difference("ActionMailer::Base.deliveries.size", 0) do
+      assert_no_difference("ActionMailer::Base.deliveries.size") 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" } }
+               :params => { :user => { :email => email,
+                                       :display_name => dup_display_name,
+                                       :auth_provider => "google",
+                                       :auth_uid => "123454321",
+                                       :consider_pd => "1" } }
         end
       end
     end
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_display_name"
+  end
 
-    assert_redirected_to "/user/terms"
+  def test_user_create_success
+    new_email = "newtester@osm.org"
+    display_name = "new_tester"
 
-    assert_difference("User.count") do
+    assert_difference("User.count", 1) do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
-          post "/user/save",
-               :params => { :read_ct => 1, :read_tou => 1 }
+          post "/user/new",
+               :params => { :user => { :email => new_email,
+                                       :display_name => display_name,
+                                       :pass_crypt => "testtest",
+                                       :pass_crypt_confirmation => "testtest",
+                                       :consider_pd => "1" } }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
           follow_redirect!
         end
       end
@@ -138,33 +211,6 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     assert_equal user, User.authenticate(:username => new_email, :password => "testtest")
   end
 
-  def test_user_create_no_tou_failure
-    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"
-
-    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
   def test_lost_password_recovery_success
     # Open the lost password form
@@ -185,19 +231,13 @@ class UserCreationTest < ActionDispatch::IntegrationTest
         perform_enqueued_jobs do
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :pass_crypt => password,
-                                       :pass_crypt_confirmation => password },
+                                       :pass_crypt_confirmation => password,
+                                       :consider_pd => "1" },
                             :referer => referer }
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :pass_crypt => password,
-                                       :pass_crypt_confirmation => password },
-                            :read_ct => 1, :read_tou => 1 }
+          assert_response(:redirect)
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
           follow_redirect!
         end
       end
@@ -233,45 +273,61 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_openid_success
-    OmniAuth.config.add_mock(:openid, :uid => "http://localhost:1123/new.tester")
-
     new_email = "newtester-openid@osm.org"
     display_name = "new_tester-openid"
-    password = "testtest"
+    auth_uid = "http://localhost:1123/new.tester"
+
+    OmniAuth.config.add_mock(:openid,
+                             :uid => auth_uid,
+                             :info => { :email => new_email, :name => display_name })
+
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => new_email,
+                               :auth_provider => "openid", :auth_uid => auth_uid
+          follow_redirect!
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "openid",
                                        :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" } }
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
           post response.location
-          assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
-          follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "openid",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => password,
-                                       :pass_crypt_confirmation => password },
-                            :read_ct => 1, :read_tou => 1 }
-          assert_response :redirect
           follow_redirect!
         end
       end
     end
 
     # Check the page
+    assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+
+    ActionMailer::Base.deliveries.clear
+  end
+
+  def test_user_create_openid_duplicate_email
+    dup_user = create(:user)
+    display_name = "new_tester-openid"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:openid,
+                             :uid => auth_uid,
+                             :info => { :email => dup_user.email, :name => display_name })
+
+    post auth_path(:provider => "openid", :origin => "/user/new")
+    assert_redirected_to auth_success_path(:provider => "openid", :origin => "/user/new")
+    follow_redirect!
+    assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => dup_user.email,
+                         :auth_provider => "openid", :auth_uid => auth_uid
+    follow_redirect!
+
     assert_response :success
-    assert_template "confirmations/confirm"
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_email"
 
     ActionMailer::Base.deliveries.clear
   end
@@ -298,10 +354,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
           follow_redirect!
           assert_redirected_to auth_failure_path(:strategy => "openid", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
-          assert_response :redirect
-          follow_redirect!
-          assert_response :success
-          assert_template "users/new"
+          assert_redirected_to "/user/new"
         end
       end
     end
@@ -310,38 +363,34 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_openid_redirect
-    OmniAuth.config.add_mock(:openid, :uid => "http://localhost:1123/new.tester")
-
+    auth_uid = "http://localhost:1123/new.tester"
     new_email = "redirect_tester_openid@osm.org"
     display_name = "redirect_tester_openid"
-    # nothing special about this page, just need a protected page to redirect back to.
-    referer = "/traces/mine"
+
+    OmniAuth.config.add_mock(:openid,
+                             :uid => auth_uid,
+                             :info => { :email => new_email, :name => display_name })
+
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => new_email,
+                               :auth_provider => "openid", :auth_uid => auth_uid
+          follow_redirect!
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "openid",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" },
-                            :referer => referer }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "openid",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "testtest",
-                                       :pass_crypt_confirmation => "testtest" },
-                            :read_ct => 1, :read_tou => 1 }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
           follow_redirect!
         end
       end
@@ -378,35 +427,37 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
   def test_user_create_google_success
     new_email = "newtester-google@osm.org"
+    email_hmac = UsersController.message_hmac(new_email)
     display_name = "new_tester-google"
-    password = "testtest"
+    auth_uid = "123454321"
 
-    OmniAuth.config.add_mock(:google, :uid => "123454321", :info => { "email" => new_email })
+    OmniAuth.config.add_mock(:google,
+                             :uid => auth_uid,
+                             :extra => { :id_info => { :openid_id => "http://localhost:1123/new.tester" } },
+                             :info => { :email => new_email, :name => display_name })
 
     assert_difference("User.count") do
       assert_no_difference("ActionMailer::Base.deliveries.size") do
         perform_enqueued_jobs do
+          post auth_path(:provider => "google", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "google")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => new_email, :email_hmac => email_hmac,
+                               :auth_provider => "google", :auth_uid => auth_uid
+          follow_redirect!
+
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "google",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" } }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" },
+                            :email_hmac => email_hmac }
           assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "google")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "google",
-                                       :auth_uid => "123454321",
-                                       :pass_crypt => password,
-                                       :pass_crypt_confirmation => password },
-                            :read_ct => 1, :read_tou => 1 }
           assert_redirected_to welcome_path
           follow_redirect!
         end
@@ -420,6 +471,31 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
+  def test_user_create_google_duplicate_email
+    dup_user = create(:user)
+    display_name = "new_tester-google"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:google,
+                             :uid => auth_uid,
+                             :extra => { :id_info => { :openid_id => "http://localhost:1123/new.tester" } },
+                             :info => { :email => dup_user.email, :name => display_name })
+
+    post auth_path(:provider => "google", :origin => "/user/new")
+    assert_redirected_to auth_success_path(:provider => "google")
+    follow_redirect!
+    assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => dup_user.email,
+                         :email_hmac => UsersController.message_hmac(dup_user.email),
+                         :auth_provider => "google", :auth_uid => auth_uid
+    follow_redirect!
+
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_email"
+
+    ActionMailer::Base.deliveries.clear
+  end
+
   def test_user_create_google_failure
     OmniAuth.config.mock_auth[:google] = :connection_failed
 
@@ -433,6 +509,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "google",
+                                       :auth_uid => "123454321",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
@@ -441,10 +518,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
           follow_redirect!
           assert_redirected_to auth_failure_path(:strategy => "google", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
-          assert_response :redirect
-          follow_redirect!
-          assert_response :success
-          assert_template "users/new"
+          assert_redirected_to "/user/new"
         end
       end
     end
@@ -453,39 +527,39 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_google_redirect
-    OmniAuth.config.add_mock(:google, :uid => "123454321", :extra => {
-                               :id_info => { "openid_id" => "http://localhost:1123/new.tester" }
-                             })
-
-    new_email = "redirect_tester_google@osm.org"
+    orig_email = "redirect_tester_google_orig@google.com"
+    email_hmac = UsersController.message_hmac(orig_email)
+    new_email =  "redirect_tester_google@osm.org"
     display_name = "redirect_tester_google"
-    # nothing special about this page, just need a protected page to redirect back to.
-    referer = "/traces/mine"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:google,
+                             :uid => auth_uid,
+                             :extra => { :id_info => { :openid_id => "http://localhost:1123/new.tester" } },
+                             :info => { :email => orig_email, :name => display_name })
+
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "google", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "google")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => orig_email, :email_hmac => email_hmac,
+                               :auth_provider => "google", :auth_uid => auth_uid
+          follow_redirect!
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
+                                       :email_hmac => email_hmac,
                                        :display_name => display_name,
                                        :auth_provider => "google",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" },
-                            :referer => referer }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "google")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "google",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "testtest",
-                                       :pass_crypt_confirmation => "testtest" },
-                            :read_ct => 1, :read_tou => 1 }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
           follow_redirect!
         end
       end
@@ -522,35 +596,36 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
   def test_user_create_facebook_success
     new_email = "newtester-facebook@osm.org"
+    email_hmac = UsersController.message_hmac(new_email)
     display_name = "new_tester-facebook"
-    password = "testtest"
+    auth_uid = "123454321"
 
-    OmniAuth.config.add_mock(:facebook, :uid => "123454321", :info => { "email" => new_email })
+    OmniAuth.config.add_mock(:facebook,
+                             :uid => auth_uid,
+                             :info => { "email" => new_email, :name => display_name })
 
     assert_difference("User.count") do
       assert_no_difference("ActionMailer::Base.deliveries.size") do
         perform_enqueued_jobs do
+          post auth_path(:provider => "facebook", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "facebook")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => new_email, :email_hmac => email_hmac,
+                               :auth_provider => "facebook", :auth_uid => auth_uid
+          follow_redirect!
+
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "facebook",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" } }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" },
+                            :email_hmac => email_hmac }
           assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "facebook")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "facebook",
-                                       :auth_uid => "123454321",
-                                       :pass_crypt => password,
-                                       :pass_crypt_confirmation => password },
-                            :read_ct => 1, :read_tou => 1 }
           assert_redirected_to welcome_path
           follow_redirect!
         end
@@ -564,6 +639,30 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
+  def test_user_create_facebook_duplicate_email
+    dup_user = create(:user)
+    display_name = "new_tester-facebook"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:facebook,
+                             :uid => auth_uid,
+                             :info => { :email => dup_user.email, :name => display_name })
+
+    post auth_path(:provider => "facebook", :origin => "/user/new")
+    assert_redirected_to auth_success_path(:provider => "facebook")
+    follow_redirect!
+    assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => dup_user.email,
+                         :email_hmac => UsersController.message_hmac(dup_user.email),
+                         :auth_provider => "facebook", :auth_uid => auth_uid
+    follow_redirect!
+
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_email"
+
+    ActionMailer::Base.deliveries.clear
+  end
+
   def test_user_create_facebook_failure
     OmniAuth.config.mock_auth[:facebook] = :connection_failed
 
@@ -577,6 +676,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "facebook",
+                                       :auth_uid => "123454321",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
@@ -585,10 +685,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
           follow_redirect!
           assert_redirected_to auth_failure_path(:strategy => "facebook", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
-          assert_response :redirect
-          follow_redirect!
-          assert_response :success
-          assert_template "users/new"
+          assert_redirected_to "/user/new"
         end
       end
     end
@@ -597,37 +694,41 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_facebook_redirect
-    OmniAuth.config.add_mock(:facebook, :uid => "123454321")
-
+    orig_email = "redirect_tester_facebook_orig@osm.org"
+    email_hmac = UsersController.message_hmac(orig_email)
     new_email = "redirect_tester_facebook@osm.org"
     display_name = "redirect_tester_facebook"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:facebook,
+                             :uid => auth_uid,
+                             :info => { :email => orig_email, :name => display_name })
+
     # nothing special about this page, just need a protected page to redirect back to.
-    referer = "/traces/mine"
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "facebook", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "facebook")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => orig_email, :email_hmac => email_hmac,
+                               :auth_provider => "facebook", :auth_uid => auth_uid
+          follow_redirect!
+
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
+                                       :email_hmac => email_hmac,
                                        :display_name => display_name,
                                        :auth_provider => "facebook",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" },
-                            :referer => referer }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "facebook")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "facebook",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "testtest",
-                                       :pass_crypt_confirmation => "testtest" },
-                            :read_ct => 1, :read_tou => 1 }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+          assert_response :redirect
           follow_redirect!
         end
       end
@@ -664,35 +765,35 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
   def test_user_create_microsoft_success
     new_email = "newtester-microsoft@osm.org"
+    email_hmac = UsersController.message_hmac(new_email)
     display_name = "new_tester-microsoft"
-    password = "testtest"
+    auth_uid = "123454321"
 
-    OmniAuth.config.add_mock(:microsoft, :uid => "123454321", :info => { "email" => new_email })
+    OmniAuth.config.add_mock(:microsoft,
+                             :uid => auth_uid,
+                             :info => { "email" => new_email, :name => display_name })
 
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 0) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "microsoft", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "microsoft")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => new_email, :email_hmac => email_hmac,
+                               :auth_provider => "microsoft", :auth_uid => auth_uid
+          follow_redirect!
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "microsoft",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" } }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" },
+                            :email_hmac => email_hmac }
           assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "microsoft")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "microsoft",
-                                       :auth_uid => "123454321",
-                                       :pass_crypt => password,
-                                       :pass_crypt_confirmation => password },
-                            :read_ct => 1, :read_tou => 1 }
           assert_redirected_to welcome_path
           follow_redirect!
         end
@@ -706,6 +807,30 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
+  def test_user_create_microsoft_duplicate_email
+    dup_user = create(:user)
+    display_name = "new_tester-microsoft"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:microsoft,
+                             :uid => auth_uid,
+                             :info => { :email => dup_user.email, :name => display_name })
+
+    post auth_path(:provider => "microsoft", :origin => "/user/new")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
+    follow_redirect!
+    assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => dup_user.email,
+                         :email_hmac => UsersController.message_hmac(dup_user.email),
+                         :auth_provider => "microsoft", :auth_uid => auth_uid
+    follow_redirect!
+
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_email"
+
+    ActionMailer::Base.deliveries.clear
+  end
+
   def test_user_create_microsoft_failure
     OmniAuth.config.mock_auth[:microsoft] = :connection_failed
 
@@ -719,6 +844,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "microsoft",
+                                       :auth_uid => "123454321",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
@@ -727,10 +853,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
           follow_redirect!
           assert_redirected_to auth_failure_path(:strategy => "microsoft", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
-          assert_response :redirect
-          follow_redirect!
-          assert_response :success
-          assert_template "users/new"
+          assert_redirected_to "/user/new"
         end
       end
     end
@@ -739,37 +862,40 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_microsoft_redirect
-    OmniAuth.config.add_mock(:microsoft, :uid => "123454321")
-
+    orig_email = "redirect_tester_microsoft_orig@osm.org"
+    email_hmac = UsersController.message_hmac(orig_email)
     new_email = "redirect_tester_microsoft@osm.org"
     display_name = "redirect_tester_microsoft"
-    # nothing special about this page, just need a protected page to redirect back to.
-    referer = "/traces/mine"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:microsoft,
+                             :uid => auth_uid,
+                             :info => { :email => orig_email, :name => display_name })
+
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "microsoft", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "microsoft")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => orig_email, :email_hmac => email_hmac,
+                               :auth_provider => "microsoft", :auth_uid => auth_uid
+          follow_redirect!
+
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
+                                       :email_hmac => email_hmac,
                                        :display_name => display_name,
                                        :auth_provider => "microsoft",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" },
-                            :referer => referer }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "microsoft")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "microsoft",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "testtest",
-                                       :pass_crypt_confirmation => "testtest" },
-                            :read_ct => 1, :read_tou => 1 }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+          assert_response :redirect
           follow_redirect!
         end
       end
@@ -806,36 +932,40 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
   def test_user_create_github_success
     new_email = "newtester-github@osm.org"
+    email_hmac = UsersController.message_hmac(new_email)
     display_name = "new_tester-github"
     password = "testtest"
+    auth_uid = "123454321"
 
-    OmniAuth.config.add_mock(:github, :uid => "123454321", :info => { "email" => new_email })
+    OmniAuth.config.add_mock(:github,
+                             :uid => auth_uid,
+                             :info => { "email" => new_email, :name => display_name })
 
     assert_difference("User.count") do
       assert_no_difference("ActionMailer::Base.deliveries.size") do
         perform_enqueued_jobs do
-          post "/user/new",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "github",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" } }
-          assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
-          post response.location
+          post auth_path(:provider => "github", :origin => "/user/new")
           assert_redirected_to auth_success_path(:provider => "github")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => new_email, :email_hmac => email_hmac,
+                               :auth_provider => "github", :auth_uid => auth_uid
+          follow_redirect!
+
+          post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "github",
                                        :auth_uid => "123454321",
                                        :pass_crypt => password,
                                        :pass_crypt_confirmation => password },
                             :read_ct => 1,
-                            :read_tou => 1 }
+                            :read_tou => 1,
+                            :email_hmac => email_hmac }
+          assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
+          post response.location
+          assert_redirected_to auth_success_path(:provider => "github")
+          follow_redirect!
           assert_redirected_to welcome_path
           follow_redirect!
         end
@@ -849,6 +979,31 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
+  def test_user_create_github_duplicate_email
+    dup_user = create(:user)
+    display_name = "new_tester-github"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:github,
+                             :uid => auth_uid,
+                             :extra => { :id_info => { :openid_id => "http://localhost:1123/new.tester" } },
+                             :info => { :email => dup_user.email, :name => display_name })
+
+    post auth_path(:provider => "github", :origin => "/user/new")
+    assert_redirected_to auth_success_path(:provider => "github")
+    follow_redirect!
+    assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                         :email => dup_user.email, :email_hmac => UsersController.message_hmac(dup_user.email),
+                         :auth_provider => "github", :auth_uid => auth_uid
+    follow_redirect!
+
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_email"
+
+    ActionMailer::Base.deliveries.clear
+  end
+
   def test_user_create_github_failure
     OmniAuth.config.mock_auth[:github] = :connection_failed
 
@@ -862,6 +1017,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "github",
+                                       :auth_uid => "123454321",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
@@ -870,10 +1026,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
           follow_redirect!
           assert_redirected_to auth_failure_path(:strategy => "github", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
-          assert_response :redirect
-          follow_redirect!
-          assert_response :success
-          assert_template "users/new"
+          assert_redirected_to "/user/new"
         end
       end
     end
@@ -882,38 +1035,39 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_github_redirect
-    OmniAuth.config.add_mock(:github, :uid => "123454321")
-
+    orig_email = "redirect_tester_github_orig@osm.org"
+    email_hmac = UsersController.message_hmac(orig_email)
     new_email = "redirect_tester_github@osm.org"
     display_name = "redirect_tester_github"
-    # nothing special about this page, just need a protected page to redirect back to.
-    referer = "/traces/mine"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:github,
+                             :uid => auth_uid,
+                             :info => { :email => orig_email, :name => display_name })
+
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "github", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "github")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => orig_email, :email_hmac => email_hmac,
+                               :auth_provider => "github", :auth_uid => auth_uid
+          follow_redirect!
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
+                                       :email_hmac => email_hmac,
                                        :display_name => display_name,
                                        :auth_provider => "github",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" },
-                            :referer => referer }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "github")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "github",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "testtest",
-                                       :pass_crypt_confirmation => "testtest" },
-                            :read_ct => 1,
-                            :read_tou => 1 }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+          assert_response :redirect
           follow_redirect!
         end
       end
@@ -950,36 +1104,39 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
   def test_user_create_wikipedia_success
     new_email = "newtester-wikipedia@osm.org"
+    email_hmac = UsersController.message_hmac(new_email)
     display_name = "new_tester-wikipedia"
     password = "testtest"
+    auth_uid = "123454321"
 
-    OmniAuth.config.add_mock(:wikipedia, :uid => "123454321", :info => { "email" => new_email })
+    OmniAuth.config.add_mock(:wikipedia,
+                             :uid => auth_uid,
+                             :info => { :email => new_email, :name => display_name })
 
     assert_difference("User.count") do
       assert_no_difference("ActionMailer::Base.deliveries.size") do
         perform_enqueued_jobs do
-          post "/user/new",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "wikipedia",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" } }
-          assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
-          post response.location
+          post auth_path(:provider => "wikipedia", :origin => "/user/new")
           assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => new_email, :email_hmac => email_hmac,
+                               :auth_provider => "wikipedia", :auth_uid => auth_uid
+          follow_redirect!
+          post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "wikipedia",
                                        :auth_uid => "123454321",
                                        :pass_crypt => password,
                                        :pass_crypt_confirmation => password },
                             :read_ct => 1,
-                            :read_tou => 1 }
+                            :read_tou => 1,
+                            :email_hmac => email_hmac }
+          assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
+          post response.location
+          assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+          follow_redirect!
           assert_redirected_to welcome_path
           follow_redirect!
         end
@@ -989,6 +1146,28 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     # Check the page
     assert_response :success
     assert_template "site/welcome"
+  end
+
+  def test_user_create_wikipedia_duplicate_email
+    dup_user = create(:user)
+    display_name = "new_tester-wikipedia"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:wikipedia,
+                             :uid => auth_uid,
+                             :info => { "email" => dup_user.email, :name => display_name })
+
+    post auth_path(:provider => "wikipedia", :origin => "/user/new")
+    assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+    follow_redirect!
+    assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                         :email => dup_user.email, :email_hmac => UsersController.message_hmac(dup_user.email),
+                         :auth_provider => "wikipedia", :auth_uid => auth_uid
+    follow_redirect!
+
+    assert_response :success
+    assert_template "users/new"
+    assert_select "form > div > input.is-invalid#user_email"
 
     ActionMailer::Base.deliveries.clear
   end
@@ -1006,6 +1185,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
                                        :auth_provider => "wikipedia",
+                                       :auth_uid => "123454321",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
@@ -1014,10 +1194,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
           follow_redirect!
           assert_redirected_to auth_failure_path(:strategy => "wikipedia", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
-          assert_response :redirect
-          follow_redirect!
-          assert_response :success
-          assert_template "users/new"
+          assert_redirected_to "/user/new"
         end
       end
     end
@@ -1026,38 +1203,41 @@ class UserCreationTest < ActionDispatch::IntegrationTest
   end
 
   def test_user_create_wikipedia_redirect
-    OmniAuth.config.add_mock(:wikipedia, :uid => "123454321")
-
+    orig_email = "redirect_tester_wikipedia_orig@osm.org"
+    email_hmac = UsersController.message_hmac(orig_email)
     new_email = "redirect_tester_wikipedia@osm.org"
     display_name = "redirect_tester_wikipedia"
+    auth_uid = "123454321"
+
+    OmniAuth.config.add_mock(:wikipedia,
+                             :uid => auth_uid,
+                             :info => { :email => orig_email, :name => display_name })
+
     # nothing special about this page, just need a protected page to redirect back to.
-    referer = "/traces/mine"
     assert_difference("User.count") do
       assert_difference("ActionMailer::Base.deliveries.size", 1) do
         perform_enqueued_jobs do
+          post auth_path(:provider => "wikipedia", :origin => "/user/new")
+          assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+          follow_redirect!
+          assert_redirected_to :controller => :users, :action => "new", :nickname => display_name,
+                               :email => orig_email, :email_hmac => email_hmac,
+                               :auth_provider => "wikipedia", :auth_uid => auth_uid
+          follow_redirect!
+
           post "/user/new",
                :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
+                                       :email_hmac => email_hmac,
                                        :display_name => display_name,
                                        :auth_provider => "wikipedia",
-                                       :pass_crypt => "",
-                                       :pass_crypt_confirmation => "" },
-                            :referer => referer }
+                                       :auth_uid => auth_uid,
+                                       :consider_pd => "1" } }
           assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
           post response.location
           assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
           follow_redirect!
-          assert_redirected_to "/user/terms"
-          post "/user/save",
-               :params => { :user => { :email => new_email,
-                                       :email_confirmation => new_email,
-                                       :display_name => display_name,
-                                       :auth_provider => "wikipedia",
-                                       :auth_uid => "http://localhost:1123/new.tester",
-                                       :pass_crypt => "testtest",
-                                       :pass_crypt_confirmation => "testtest" },
-                            :read_ct => 1,
-                            :read_tou => 1 }
+          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+          assert_response :redirect
           follow_redirect!
         end
       end
index 31b9ed7bb10204350f87c93288b25bcf0c279bce..6ef85818ada8e21a39ae25ac2d1f45e252992d47 100644 (file)
@@ -7,16 +7,11 @@ class ConfirmationResendSystemTest < ApplicationSystemTestCase
 
     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_on "Continue"
   end
 
   test "flash message should not contain raw html" do
index e97046800738edf107ce30c586873f96d6e958b1..0835df741779eb05d306ae670639d0ea163d5e1d 100644 (file)
@@ -4,29 +4,8 @@ class UserSignupTest < ApplicationSystemTestCase
   test "Sign up from login page" do
     visit login_path
 
-    click_on "Register now"
+    click_on "Sign up"
 
     assert_content "Confirm Password"
   end
-
-  test "externally redirect when contributor terms declined" do
-    user = build(:user)
-
-    visit root_path
-    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_on "Cancel"
-
-    assert_current_path "https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
-  end
 end
index dceec9cb967d6d784bdc2fb0104c2c476400d654..f40f5e46bd8e4a54f88fd3bc43593c8b9e8c3b36 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@9.1.1":
-  version "9.1.1"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.1.1.tgz#eb0f82461d12779bbafc1b5045cde3143d350a8a"
-  integrity sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==
+"@eslint/js@9.2.0":
+  version "9.2.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.2.0.tgz#b0a9123e8e91a3d9a2eed3a04a6ed44fdab639aa"
+  integrity sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==
 
 "@humanwhocodes/config-array@^0.13.0":
   version "0.13.0"
@@ -251,14 +251,14 @@ eslint-visitor-keys@^4.0.0:
   integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==
 
 eslint@^9.0.0:
-  version "9.1.1"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.1.1.tgz#39ec657ccd12813cb4a1dab2f9229dcc6e468271"
-  integrity sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==
+  version "9.2.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.2.0.tgz#0700ebc99528753315d78090876911d3cdbf19fe"
+  integrity sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^3.0.2"
-    "@eslint/js" "9.1.1"
+    "@eslint/js" "9.2.0"
     "@humanwhocodes/config-array" "^0.13.0"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@humanwhocodes/retry" "^0.2.3"
@@ -581,9 +581,9 @@ optionator@^0.9.3:
     type-check "^0.4.0"
 
 osm-community-index@^5.2.0:
-  version "5.6.2"
-  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.6.2.tgz#920ccbde1638be09a96f35276818493b1798045f"
-  integrity sha512-r+zUbh25uaYGwnQMLpIqhngxEQcoGTVg8ycwYBOzmhVDUjd8vFhtfHelyqCv8PwYB1kfPp76luIQmx3JE+iSZw==
+  version "5.6.3"
+  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.6.3.tgz#8c7621683a2a4c1037ddb14d060b8442a3aa15cb"
+  integrity sha512-UnJBRbaMPIM3J08CA1crKeAok6c1HYiK6tB8AdnjvrvGNnl2JXPxdztA4Jcb3pbrjq/0q14v1mBr300TmtMwbQ==
   dependencies:
     diacritics "^1.3.0"