]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #4279 from tomhughes/changeset-tags-primary-key
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 18 Oct 2023 14:41:01 +0000 (15:41 +0100)
committerGitHub <noreply@github.com>
Wed, 18 Oct 2023 14:41:01 +0000 (15:41 +0100)
Add a primary key to the changeset_tags table

44 files changed:
.github/workflows/lint.yml
Gemfile
Gemfile.lock
app/assets/stylesheets/common.scss
app/models/changeset_comment.rb
app/models/friendship.rb
app/models/note_comment.rb
app/models/oauth2_application.rb
app/models/oauth_nonce.rb
app/models/old_relation.rb
app/models/old_relation_member.rb
app/models/old_relation_tag.rb
app/models/old_way.rb
app/models/old_way_tag.rb
app/models/tracetag.rb
app/models/user.rb
app/views/layouts/_header.html.erb
app/views/layouts/_search.html.erb
config/i18n-tasks.yml
config/locales/bn.yml
config/locales/br.yml
config/locales/cs.yml
config/locales/cy.yml
config/locales/de.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/fr.yml
config/locales/he.yml
config/locales/ia.yml
config/locales/ja.yml
config/locales/mk.yml
config/locales/nl.yml
config/locales/pl.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sc.yml
config/locales/sh.yml [new file with mode: 0644]
config/locales/skr-arab.yml
config/locales/sl.yml
config/locales/uk.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
lib/tasks/auto_annotate_models.rake
yarn.lock

index 685937b034ea026708e29bb1edc2ebcb5b02ec4f..cdba19949ef891ffec281613e8ea3aa050d7441f 100644 (file)
@@ -72,3 +72,27 @@ jobs:
         bundler-cache: true
     - name: Run brakeman
       run: bundle exec brakeman -q
+  annotate_models:
+    env:
+      RAILS_ENV: test
+    name: Rails Annotate Models
+    runs-on: ubuntu-22.04
+    steps:
+    - name: Check out code
+      uses: actions/checkout@v4
+    - name: Setup ruby
+      uses: ruby/setup-ruby@v1
+      with:
+        ruby-version: ${{ env.ruby }}
+        bundler-cache: true
+    - name: Setup database
+      run: |
+        sudo systemctl start postgresql
+        sudo -u postgres createuser -s $(id -un)
+        createdb openstreetmap
+        cp config/github.database.yml config/database.yml
+        bundle exec rails db:test:load
+    - name: Run Annotate Models
+      run: bundle exec rails annotate_models
+    - name: Fail if model annotations are out of date
+      run: git diff --exit-code
diff --git a/Gemfile b/Gemfile
index 724dd3beccac75ba929b6ac55fa144ad97696215..d8d49a1ceb3be104e6522ad2764d3fc274e1c59f 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -136,7 +136,6 @@ gem "image_processing"
 
 # Gems useful for development
 group :development do
-  gem "annotate"
   gem "better_errors"
   gem "binding_of_caller"
   gem "debug_inspector"
@@ -167,3 +166,7 @@ group :test do
   gem "simplecov-lcov", :require => false
   gem "webmock"
 end
+
+group :development, :test do
+  gem "annotate"
+end
index c8784ed7c2d40195cd5c3f72c31d2a1f183fc4e0..cbad137e1cc16434f5f03cb02adf08e230509fc0 100644 (file)
@@ -95,8 +95,8 @@ GEM
     autoprefixer-rails (10.4.15.0)
       execjs (~> 2)
     aws-eventstream (1.2.0)
-    aws-partitions (1.831.0)
-    aws-sdk-core (3.185.0)
+    aws-partitions (1.836.0)
+    aws-sdk-core (3.185.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.5)
@@ -171,7 +171,7 @@ GEM
     deep_merge (1.2.2)
     delayed_job (4.1.11)
       activesupport (>= 3.0, < 8.0)
-    delayed_job_active_record (4.1.7)
+    delayed_job_active_record (4.1.8)
       activerecord (>= 3.0, < 8.0)
       delayed_job (>= 3.0, < 5)
     docile (1.4.0)
@@ -234,7 +234,7 @@ GEM
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
     faraday-net_http (3.0.2)
-    ffi (1.16.2)
+    ffi (1.16.3)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
@@ -247,7 +247,7 @@ GEM
       ffi (>= 1.0.0)
     globalid (1.2.1)
       activesupport (>= 6.1)
-    google-protobuf (3.24.3)
+    google-protobuf (3.24.4)
     hashdiff (1.0.1)
     hashie (5.0.0)
     highline (2.1.0)
@@ -257,14 +257,14 @@ GEM
       concurrent-ruby (~> 1.0)
     i18n-js (3.9.2)
       i18n (>= 0.6.6)
-    i18n-tasks (1.0.12)
+    i18n-tasks (1.0.13)
       activesupport (>= 4.0.2)
       ast (>= 2.1.0)
       better_html (>= 1.0, < 3.0)
       erubi
       highline (>= 2.0.0)
       i18n
-      parser (>= 2.2.3.0)
+      parser (>= 3.2.2.1)
       rails-i18n
       rainbow (>= 2.2.2, < 4.0)
       terminal-table (>= 1.5.1)
@@ -304,7 +304,7 @@ GEM
     logstasher (2.1.5)
       activesupport (>= 5.2)
       request_store
-    loofah (2.21.3)
+    loofah (2.21.4)
       crass (~> 1.0.2)
       nokogiri (>= 1.12.0)
     mail (2.8.1)
@@ -323,7 +323,7 @@ GEM
     msgpack (1.7.2)
     multi_json (1.15.0)
     multi_xml (0.6.0)
-    net-imap (0.3.7)
+    net-imap (0.4.1)
       date
       net-protocol
     net-pop (0.1.2)
@@ -383,7 +383,7 @@ GEM
       omniauth (~> 2.0)
     openstreetmap-deadlock_retry (1.3.1)
     parallel (1.23.0)
-    parser (3.2.2.3)
+    parser (3.2.2.4)
       ast (~> 2.4.1)
       racc
     pg (1.5.4)
@@ -446,19 +446,19 @@ GEM
     rb-fsevent (0.11.2)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    regexp_parser (2.8.1)
+    regexp_parser (2.8.2)
     request_store (1.5.1)
       rack (>= 1.4)
     rexml (3.2.6)
     rinku (2.0.6)
     rotp (6.3.0)
     rouge (4.1.3)
-    rubocop (1.56.4)
+    rubocop (1.57.1)
       base64 (~> 0.1.1)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)
       parallel (~> 1.10)
-      parser (>= 3.2.2.3)
+      parser (>= 3.2.2.4)
       rainbow (>= 2.2.2, < 4.0)
       regexp_parser (>= 1.8, < 3.0)
       rexml (>= 3.2.5, < 4.0)
@@ -495,7 +495,7 @@ GEM
       google-protobuf (~> 3.23)
       rake (>= 13.0.0)
     secure_headers (6.5.0)
-    selenium-webdriver (4.13.1)
+    selenium-webdriver (4.14.0)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
       websocket (~> 1.0)
index 6ff46c07ce5be5304b8d42d0cfc777bef7974b85..73226a51823d48aebae0d9df8a74736fa6446240 100644 (file)
@@ -109,31 +109,14 @@ header {
     float: left;
   }
 
-  a, a:hover {
-    text-decoration: none;
-  }
-
   img.logo {
-    width: 30px;
-    height: 30px;
     margin-top: -2px;
-    vertical-align: middle;
   }
 
   h1 {
     font-size: 18px;
-    font-weight: 600;
     line-height: 1.2;
-    margin: 0;
     padding-top: 15px;
-
-    a {
-      color: #000;
-    }
-
-    a:hover {
-      color: #000;
-    }
   }
 
   .btn {
@@ -187,22 +170,6 @@ nav.secondary {
     color: darken($darkgrey, 25%);
   }
 
-  .login-menu {
-    .btn-outline-secondary {
-      @include button-outline-variant($darkgrey, $color-hover: $white, $active-color: $white);
-    }
-  }
-
-  .user-menu {
-    .btn-outline-secondary {
-      @include button-outline-variant($darkgrey, $color-hover: $darkgrey, $active-background: white, $active-border: $darkgrey);
-      border-color: $grey;
-      &:hover {
-        border-color: $grey;
-      }
-    }
-  }
-
   #inboxanchor {
     background-color: lighten($grey, 10%);
   }
index 1b78f98e8d2da289ddefa3c25262ffc70e790af3..3bc9483fa9c904da8f65df1be3758a17784f6798 100644 (file)
@@ -11,7 +11,9 @@
 #
 # Indexes
 #
-#  index_changeset_comments_on_created_at  (created_at)
+#  index_changeset_comments_on_author_id_and_created_at     (author_id,created_at)
+#  index_changeset_comments_on_changeset_id_and_created_at  (changeset_id,created_at)
+#  index_changeset_comments_on_created_at                   (created_at)
 #
 # Foreign Keys
 #
index 476821b47ccdb221b31b603cfa97352611425c86..2b1c7ce00a845d0e85181e50b5c495e718237250 100644 (file)
@@ -5,11 +5,12 @@
 #  id             :bigint(8)        not null, primary key
 #  user_id        :bigint(8)        not null
 #  friend_user_id :bigint(8)        not null
+#  created_at     :datetime
 #
 # Indexes
 #
-#  friends_user_id_idx  (user_id)
-#  user_id_idx          (friend_user_id)
+#  index_friends_on_user_id_and_created_at  (user_id,created_at)
+#  user_id_idx                              (friend_user_id)
 #
 # Foreign Keys
 #
index 635a5b0def53444f6b5ead14c4d11685a4af6d63..b870e5558e557b2f2c337586206daf5ac6b8c356 100644 (file)
 #
 # Indexes
 #
-#  index_note_comments_on_body        (to_tsvector('english'::regconfig, body)) USING gin
-#  index_note_comments_on_created_at  (created_at)
-#  note_comments_note_id_idx          (note_id)
+#  index_note_comments_on_author_id_and_created_at  (author_id,created_at)
+#  index_note_comments_on_body                      (to_tsvector('english'::regconfig, body)) USING gin
+#  index_note_comments_on_created_at                (created_at)
+#  note_comments_note_id_idx                        (note_id)
 #
 # Foreign Keys
 #
index 73a02417da5223802459d4e75c50f1eb2206f92c..834f1ded54393b6d8587f5fbc241f6980bee3b9a 100644 (file)
@@ -1,3 +1,28 @@
+# == Schema Information
+#
+# Table name: oauth_applications
+#
+#  id           :bigint(8)        not null, primary key
+#  owner_type   :string           not null
+#  owner_id     :bigint(8)        not null
+#  name         :string           not null
+#  uid          :string           not null
+#  secret       :string           not null
+#  redirect_uri :text             not null
+#  scopes       :string           default(""), not null
+#  confidential :boolean          default(TRUE), not null
+#  created_at   :datetime         not null
+#  updated_at   :datetime         not null
+#
+# Indexes
+#
+#  index_oauth_applications_on_owner_type_and_owner_id  (owner_type,owner_id)
+#  index_oauth_applications_on_uid                      (uid) UNIQUE
+#
+# Foreign Keys
+#
+#  fk_rails_...  (owner_id => users.id)
+#
 class Oauth2Application < Doorkeeper::Application
   belongs_to :owner, :polymorphic => true
 
index 86463f297226e11dce96bcc55af1ffd31e92342e..e08121cfc5d53ec7d24dfcf38fcb4847c0ec50e9 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: oauth_nonces
 #
-#  id         :bigint           not null, primary key
+#  id         :bigint(8)        not null, primary key
 #  nonce      :string
 #  timestamp  :integer
 #  created_at :datetime
index c36d645728a736907596920e0f8e604357069267..6f122b260873e35af24d432b5db28e7c6f5e666a 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: relations
 #
-#  relation_id  :bigint(8)        default(0), not null, primary key
+#  relation_id  :bigint(8)        not null, primary key
 #  changeset_id :bigint(8)        not null
 #  timestamp    :datetime         not null
 #  version      :bigint(8)        not null, primary key
index c99f60e7c95e97d943f42326bf46c40065d45558..b556bd13fd5e0d3ba2c123572e967e510230b0ac 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: relation_members
 #
-#  relation_id :bigint(8)        default(0), not null, primary key
+#  relation_id :bigint(8)        not null, primary key
 #  member_type :enum             not null
 #  member_id   :bigint(8)        not null
 #  member_role :string           not null
index c3a1838912cbfb65ccd57492e4c60bfb05214c78..2ed8f988de74677956344cc78537bb4e85688266 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: relation_tags
 #
-#  relation_id :bigint(8)        default(0), not null, primary key
+#  relation_id :bigint(8)        not null, primary key
 #  k           :string           default(""), not null, primary key
 #  v           :string           default(""), not null
 #  version     :bigint(8)        not null, primary key
index fcff84ededfe0727120794994b5afc5cdaf04ff6..dabf0aafbbfc24afc0ef566b24234f3fda4ef8b4 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: ways
 #
-#  way_id       :bigint(8)        default(0), not null, primary key
+#  way_id       :bigint(8)        not null, primary key
 #  changeset_id :bigint(8)        not null
 #  timestamp    :datetime         not null
 #  version      :bigint(8)        not null, primary key
index 0342cf34485c165d2f2ec8ecfd9466f855c7a257..dd8968cb30342f4a5f3582a555c17d34206f9a55 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: way_tags
 #
-#  way_id  :bigint(8)        default(0), not null, primary key
+#  way_id  :bigint(8)        not null, primary key
 #  k       :string           not null, primary key
 #  v       :string           not null
 #  version :bigint(8)        not null, primary key
index 70296cd54f15115c95a4dcac43d01f234539f554..b1dde095c18f7793e524a704f0d7db8550b0f51a 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Table name: gpx_file_tags
 #
-#  gpx_id :bigint(8)        default(0), not null
+#  gpx_id :bigint(8)        not null
 #  tag    :string           not null
 #  id     :bigint(8)        not null, primary key
 #
index 3eb03a2fe4ae93bfb2010b359265f169b8315f79..638928861bd1caed18ac837c0390b115a15b3ce6 100644 (file)
@@ -12,7 +12,6 @@
 #  home_lat            :float
 #  home_lon            :float
 #  home_zoom           :integer          default(3)
-#  nearby              :integer          default(50)
 #  pass_salt           :string
 #  email_valid         :boolean          default(FALSE), not null
 #  new_email           :string
index 8ff04536d19b6d4cbe99f41117b1448538c619f8..fb5c018392364bb4e5f945c4d7d6f36c2de5afcb 100644 (file)
@@ -1,7 +1,7 @@
 <header class="closed clearfix">
-  <h1>
-    <a href="<%= root_path %>" class="geolink">
-      <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t("layouts.logo.alt_text"), :class => "logo" %>
+  <h1 class="m-0 fw-semibold">
+    <a href="<%= root_path %>" class="text-black text-decoration-none geolink">
+      <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t("layouts.logo.alt_text"), :width => 30, :height => 30, :class => "logo" %>
       <%= t "layouts.project_name.h1" %>
     </a>
   </h1>
@@ -60,7 +60,7 @@
         <%= link_to t("layouts.about"), about_path, :class => "nav-link" %>
       </li>
       <li id="compact-secondary-nav" class="dropdown nav-item">
-        <button class="dropdown-toggle nav-link btn" type="button" data-bs-toggle="dropdown"><%= t "layouts.more" %></button>
+        <button class="dropdown-toggle nav-link btn btn-outline-secondary border-0 bg-white text-secondary" type="button" data-bs-toggle="dropdown"><%= t "layouts.more" %></button>
         <ul class="dropdown-menu">
           <% if Settings.status != "database_offline" && can?(:index, Issue) %>
             <li class="<%= current_page_class(issues_path) %>">
@@ -81,7 +81,7 @@
     </ul>
     <% if current_user && current_user.id %>
       <div class='d-inline-flex dropdown user-menu logged-in clearfix'>
-        <button class='dropdown-toggle btn btn-outline-secondary px-2 py-1 flex-grow-1' type='button' data-bs-toggle='dropdown'>
+        <button class='dropdown-toggle btn btn-outline-secondary border-grey bg-white text-secondary px-2 py-1 flex-grow-1' type='button' data-bs-toggle='dropdown'>
           <%= user_thumbnail_tiny(current_user, :width => 25, :height => 25, :class => "user_thumbnail_tiny rounded-1") %>
           <%= render :partial => "layouts/inbox" %>
           <span class="user-button">
index dc13414b70e4eea55e73e51c166ad5c909e3af14..397fdb8289b16fe3b4249d47ae787c4806685af3 100644 (file)
@@ -11,7 +11,7 @@
         </div>
       </div>
       <div class="col-auto">
-        <%= link_to image_tag("directions.png", :width => "20", :height => "20"), directions_path, :class => "btn btn-sm btn-primary switch_link", :title => t("site.search.get_directions_title") %>
+        <%= link_to image_tag("directions.png", :width => "20", :height => "20", :class => "align-bottom"), directions_path, :class => "btn btn-sm btn-primary switch_link", :title => t("site.search.get_directions_title") %>
       </div>
     </div>
   </form>
index 60f8a09dfecb3e1410f820510d2340d3fb1b47d8..bdd18a965b0168bb126623b565991096a82504c1 100644 (file)
@@ -13,7 +13,7 @@ data:
   ## Provide a custom adapter:
   # adapter: I18n::Tasks::Data::FileSystem
 
-  # Locale files or `File.find` patterns where translations are read from:
+  # Locale files or `Find.find` patterns where translations are read from:
   read:
     ## Default:
     - config/locales/en.yml
@@ -52,7 +52,7 @@ data:
 
 # Find translate calls
 search:
-  ## Paths or `File.find` patterns to search in:
+  ## Paths or `Find.find` patterns to search in:
   # paths:
   #  - app/
 
@@ -110,7 +110,9 @@ search:
 #   deepl_api_key: "48E92789-57A3-466A-9959-1A1A1A1A1A1A"
 #   # deepl_host: "https://api.deepl.com"
 #   # deepl_version: "v2"
-
+#   # add additional options to the DeepL.translate call: https://www.deepl.com/docs-api/translate-text/translate-text/
+#   deepl_options:
+#     formality: prefer_less
 ## Do not consider these keys missing:
 # ignore_missing:
 # - 'errors.messages.{accepted,blank,invalid,too_short,too_long}'
index fdf69b13e82edf27faeb1b1982531ff8257155e9..62a7f2f0fdbc6870f10ffa70c5e803703acc9b5e 100644 (file)
@@ -605,6 +605,8 @@ bn:
       applications:
         create:
           notice: অ্যাপ্লিকেশন নিবন্ধিত।
+    scopes:
+      email: আপনার ইমেইল ঠিকানা দেখুন
   errors:
     contact:
       contact: যোগাযোগ
@@ -1843,6 +1845,8 @@ bn:
   oauth:
     authorize:
       allow_write_api: মানচিত্রটি পরিবর্তন করুন
+    scopes:
+      openid: ওপেনস্ট্রিটম্যাপ ব্যবহার করে সাইন-ইন করুন
   oauth_clients:
     new:
       title: একটি নতুন আবেদন নিবন্ধন করুন
index dce891b2cef7a5d02db62f4c8c26b1a6987dea97..dec0c2050c7590e7a6e134601317039735a3e6d0 100644 (file)
@@ -21,8 +21,6 @@ br:
   time:
     formats:
       friendly: '%e %B %Y da %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Dibab ur restr
@@ -626,7 +624,13 @@ br:
     flash:
       applications:
         create:
-          notice: Arload marilhet.
+          notice: Goulenn marilhet.
+    scopes:
+      address: Gwelet ho chomlec'h
+      email: Gwelet ho chomlec'h postel
+      openid: Gwiriekaat ho kont
+      phone: Gwelet ho niverenn bellgomz
+      profile: Gwelet ho titouroù ho profil
   errors:
     contact:
       contact: darempred
@@ -2454,6 +2458,7 @@ br:
     permissions:
       missing: N'eo ket bet aotreet an arload ganeoc'h d'ober gan an arc'hwel-mañ
     scopes:
+      openid: Kennaskañ gant OpenStreetMap
       read_prefs: Lenn penndibaboù an implijer
       write_prefs: Kemmañ ho penndibaboù implijer
       write_diary: Krouiñ enmonedoù en deizlevr, kemennadennoù ha kavout mignoned
@@ -2667,6 +2672,8 @@ br:
       title: Kont arsavet
       heading: Kont arsavet
       support: Skor
+      automatically_suspended: Hon digarezit, ehanet eo bet ho kont abalamour d'un
+        obererezh arvarus.
     auth_failure:
       connection_failed: C'hwitet eo ar gevreadenn ouzh ur pourchaser dilesa
       invalid_credentials: Titouroù dilesa direizh
index 494e3db258aa1e5345084fdda0601ea8df325b94..1ac748bbb02028187334a73bd01fa7946d52b09a 100644 (file)
@@ -288,6 +288,7 @@ cs:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedie
   api:
@@ -657,10 +658,36 @@ cs:
       newer_comments: Novější komentáře
       older_comments: Starší komentáře
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Autorizační server vyžaduje výběr účtu koncového
+          uživatele
+        consent_required: Autorizační server vyžaduje souhlas koncového uživatele
+        interaction_required: Autorizační server vyžaduje interakci koncového uživatele
+        login_required: Autorizační server vyžaduje ověření koncového uživatele
     flash:
       applications:
         create:
           notice: Aplikace zaregistrována.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Selhání z důvodu chybějící
+            konfigurace Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
+          reauthenticate_resource_owner_not_configured: Selhání z důvodu chybějící
+            konfigurace Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: Selhání z důvodu chybějící
+            konfigurace Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token.
+          select_account_for_resource_owner_not_configured: Selhání z důvodu chybějící
+            konfigurace Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner.
+          subject_not_configured: Generování tokenu ID se nezdařilo kvůli chybějící
+            konfiguraci Doorkeeper::OpenidConnect.configure.subject.
+    scopes:
+      address: Zobrazit svou fyzickou adresu
+      email: Zobrazit svou e-mailovou adresu
+      openid: Ověřte svůj účet
+      phone: Zobrazit své telefonní číslo
+      profile: Zobrazit informace o svém profilu
   errors:
     contact:
       contact_url_title: Vysvětlení různých komunikačních kanálů
@@ -2642,6 +2669,7 @@ cs:
     permissions:
       missing: Aplikaci jste nedovolili přístup k této funkci
     scopes:
+      openid: Přihlaste se pomocí OpenStreetMap
       read_prefs: Číst preference uživatele
       write_prefs: Měnit preference uživatele
       write_diary: Vytvářet deníkové záznamy, komentovat a navazovat přátelství
@@ -3122,6 +3150,7 @@ cs:
         cyclosm: CyclOSM
         cycle_map: Cyklomapa
         transport_map: Dopravní mapa
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitární
         opnvkarte: ÖPNVKarte
       layers:
@@ -3140,6 +3169,8 @@ cs:
       andy_allan: Andyho Allana
       opnvkarte_credit: Dlaždice s laskavým svolením %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Dlaždice s laskavým svolením %{tracestrack_link}
+      tracestrack: Tracetrack
       hotosm_credit: Styl dlaždic od %{hotosm_link} hostuje %{osm_france_link}
       hotosm_name: Humanitárního týmu OpenStreetMap
     site:
index fe807d30c11fc59bd719c4ba91087ff23e9fcdc5..62294a799abb740110bddc4bbbf39ff09524e9e6 100644 (file)
@@ -11,8 +11,6 @@ cy:
   time:
     formats:
       friendly: '%e %B %Y am %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Dewiswch ffeil
index 8eff4d8060cf3ff18d94a714780295941082870a..541cb08ea0a78bb8aedc1ddfb31a11c58843b4a8 100644 (file)
@@ -685,6 +685,14 @@ de:
       newer_comments: Neuere Kommentare
       older_comments: Ältere Kommentare
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Der Autorisierungsserver erfordert die Auswahl
+          eines Endbenutzerkontos
+        consent_required: Der Autorisierungsserver erfordert die Zustimmung des Endbenutzers
+        interaction_required: Der Autorisierungsserver erfordert eine Interaktion
+          des Endbenutzers
+        login_required: Der Autorisierungsserver erfordert eine Endbenutzerauthentifizierung
     flash:
       applications:
         create:
@@ -1251,7 +1259,7 @@ de:
           employment_agency: Arbeitsamt
           energy_supplier: Büro eines Energieversorgers
           estate_agent: Immobilienhändler
-          financial: Finanzamt
+          financial: Finanzdienstleister
           government: Amt
           insurance: Versicherungsbüro
           it: IT-Büro
@@ -2118,6 +2126,14 @@ de:
         credit_2_2: Mache deutlich, dass die Daten unter der Open Database-Lizenz
           verfügbar sind.
         credit_3_attribution_guidelines: Richtlinien für Namensnennungen
+        credit_4_1_html: Um klarzustellen, dass die Daten unter der Open Database
+          License verfügbar sind, kannst Du auf %{this_copyright_page_link} verlinken.
+          Alternativ und als Anforderung, wenn Du OSM in einer Datenform verbreitest,
+          kannst Du die Lizenz(en) direkt benennen und verlinken. In Medien, in denen
+          Links nicht möglich sind (z. B. gedruckte Werke), empfehlen wir, Leser auf
+          openstreetmap.org (vielleicht durch das Erweitern von 'OpenStreetMap' auf
+          diese vollständige Adresse) und auf opendatacommons.org zu verweisen. In
+          diesem Beispiel erscheint der Hinweis in der Ecke der Karte.
         attribution_example:
           alt: Beispiel, wie man auf OpenStreetMap auf einer Webseite hinweist
           title: Namensnennung-Beispiel
@@ -2343,7 +2359,13 @@ de:
       change_preferences: Einstellungen hier ändern
     any_questions:
       title: Fragen?
+      paragraph_1_html: 'OpenStreetMap bietet verschiedene Ressourcen, um mehr über
+        das Projekt zu erfahren, Fragen zu stellen und zu beantworten sowie gemeinsam
+        Themen rund um das Kartieren zu diskutieren und zu dokumentieren. Schau mal
+        hier: %{help_link}. Planst Du, OpenStreetMap in einer Organisation zu verwenden?
+        Dann findest Du hier auch das Willkommenspaket: %{welcome_mat_link}.'
       get_help_here: Hilfe hier erhalten
+      welcome_mat: Schau Dir das Willkommenspaket an
     sidebar:
       search_results: Suchergebnisse
       close: Schließen
@@ -2435,6 +2457,10 @@ de:
         Hier sind noch eine paar nützliche zusätzliche Informationen.
       whats_on_the_map:
         title: Was gehört in die Karte?
+        on_the_map_html: OpenStreetMap ist ein Ort, um Dinge zu kartieren, die sowohl
+          %{real_and_current} sind. Hier findest Du Millionen von Gebäuden, Straßen
+          und anderen Details über Orte. Du kannst diejenigen Merkmale kartieren,
+          die für Dich interessant sind.
       basic_terms:
         title: Grundbegriffe fürs Mapping
         paragraph_1: OpenStreetMap nutzt ein paar spezifische Begriffe. Hier sind
@@ -2454,6 +2480,10 @@ de:
           fehlt, dich einzuarbeiten, wie man in OSM Daten editiert, so gib einfach
           einen Hinweis/melde einen Fehler, dann kann sich ein anderer Mapper darum
           kümmern.
+        para_2_html: 'Gehe einfach zu %{map_link} und klicke dort auf das Notiz-Symbol:
+          %{note_icon}. Dadurch wird ein Marker auf der Karte hinzugefügt, den Du
+          verschieben kannst, indem Du ihn ziehst. Füge Deine Nachricht hinzu, klicke
+          dann auf Speichern, und andere Mapper werden Deinem Hinweis nachgehen.'
         the_map: die Karte
     communities:
       title: Gemeinschaften
@@ -2634,6 +2664,7 @@ de:
     permissions:
       missing: Du hast den Anwendungszugriff auf diese Einrichtung nicht zugelassen.
     scopes:
+      openid: Melde Dich mit OpenStreetMap an
       read_prefs: Benutzereinstellungen lesen
       write_prefs: Benutzereinstellungen verändern
       write_diary: Tagebucheinträge und Kommentare erstellen und Freunde finden
@@ -3124,6 +3155,7 @@ de:
         cyclosm: CyclOSM
         cycle_map: Radfahrerkarte
         transport_map: Verkehrskarte
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitär
         opnvkarte: ÖPNVKarte
       layers:
@@ -3142,6 +3174,7 @@ de:
       andy_allan: Andy Allan
       opnvkarte_credit: Kacheln mit freundlicher Genehmigung von %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Kacheln mit freundlicher Genehmigung von %{tracestrack_link}
       hotosm_credit: Kachelstil von %{hotosm_link}, gehostet von %{osm_france_link}
       hotosm_name: Humanitäres OpenStreetMap Team
     site:
index 63341937e7adb159215fe43275d7e23cf499678a..9bd1698e6e39fe006ad75b3208a64fd393d31a3a 100644 (file)
@@ -31,8 +31,6 @@ eo:
   time:
     formats:
       friendly: '%e %B %Y je %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Elektu dosieron
@@ -598,10 +596,35 @@ eo:
       newer_comments: Pli novaj komentoj
       older_comments: Pli malnovaj komentoj
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: La rajtiga servilo postulas elekti konton de uzanto
+        consent_required: La rajtiga servilo postulas konsenton de uzanto
+        interaction_required: La rajtiga servilo postulas interagon de uzanton
+        login_required: La rajtiga servilo postulas rajtigon de uzanto
     flash:
       applications:
         create:
           notice: Registris aplikaĵon.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Malsukceso pro mankanta agordo
+            «Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner».
+          reauthenticate_resource_owner_not_configured: Malsukceso pro mankanta agordo
+            «Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner».
+          resource_owner_from_access_token_not_configured: Malsukceso pro mankanta
+            agordo «Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token».
+          select_account_for_resource_owner_not_configured: Malsukceso pro mankanta
+            agordo «Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner».
+          subject_not_configured: Generado de identigil-ĵetono mmalsukcesis pro mankanta
+            agordo «Doorkeeper::OpenidConnect.configure.subject».
+    scopes:
+      address: legi viajn real-mondajn adresojn
+      email: legi viajn retpoŝtajn adresojn
+      openid: aŭtentigi vian konton
+      phone: legi vian telefonnumeron
+      profile: legi informojn de via profilo
   errors:
     contact:
       contact_url_title: klarigo pri diversaj kontakt-kanaloj
@@ -2543,12 +2566,13 @@ eo:
     authorize_failure:
       title: Rajtiga peto malakceptita
       denied: Vi malpermesis al aplikaĵo %{app_name} aliron al via konto
-      invalid: La rajtiga ĵeto ne plu validas.
+      invalid: La rajtiga ĵetono ne plu validas.
     revoke:
       flash: Vi malvalidigis la ĵetonon por %{application}
     permissions:
       missing: Vi ne permesis al aplikaĵo aliri al ĉi tiu eblo
     scopes:
+      openid: ensaluti uzante OpenStreetMap
       read_prefs: legi preferojn de uzanto
       write_prefs: modifi preferojn de uzanto
       write_diary: afiŝi en taglibro, komenti kaj aldoni amikojn
index b84e74524429d8498cbe67db4cebdd59f558da41..cf001030a8a86e52336896872704e9d2445fd993 100644 (file)
@@ -99,8 +99,6 @@ es:
   time:
     formats:
       friendly: '%e de %B de %Y a las %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Seleccionar archivo
@@ -680,6 +678,10 @@ es:
       newer_comments: Comentarios más recientes
       older_comments: Comentarios más antiguos
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: El servidor de autorización requiere la selección
+          de la cuenta del usuario final
     flash:
       applications:
         create:
index 2a9a4566d6e173ba1b001c6c397c5a359d90baa2..49ba96f4f163c5924a0af6b66755778fe9bf7c1f 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Alno
 # Author: Amire80
 # Author: Antimuonium
+# Author: BlueCamille
 # Author: Boniface
 # Author: Cantons-de-l'Est
 # Author: Cquoi
@@ -34,6 +35,7 @@
 # Author: Gileri
 # Author: Gomoko
 # Author: Gravitystorm
+# Author: Guilhelma
 # Author: Hashar
 # Author: IAlex
 # Author: JB
@@ -100,8 +102,6 @@ fr:
     formats:
       friendly: '%e %B %Y à %-Hh%M'
       blog: '%e %B %Y'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Choisir un fichier
@@ -694,10 +694,25 @@ fr:
       newer_comments: Commentaires plus récents
       older_comments: Commentaires plus anciens
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Le serveur d'autorisation nécessite la sélection
+          du compte d'utilisateur final
+        consent_required: Le serveur d'autorisation nécessite le consentement de l'utilisateur
+          final
+        interaction_required: Le serveur d'autorisation nécessite une interaction
+          de l'utilisateur final
+        login_required: Le serveur d'autorisation nécessite l'authentification de
+          l'utilisateur final
     flash:
       applications:
         create:
           notice: Application inscrite.
+    scopes:
+      address: Voir votre adresse physique
+      email: Voir votre adresse e-mail
+      phone: Voir votre numéro de téléphone
+      profile: Voir les informations de votre profil
   errors:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/FR:Canaux_de_contact
@@ -2731,6 +2746,7 @@ fr:
     permissions:
       missing: Vous n’avez pas autorisé l’application à accéder à cette fonctionnalité
     scopes:
+      openid: Se connecter avec OpenStreetMap
       read_prefs: Lire les préférences de l’utilisateur
       write_prefs: Modifier les préférences de l’utilisateur
       write_diary: Créer des entrées de journal, des commentaires et se faire des
index 664f90fcbac110ae5dac3b5adc5caa1f724da68f..e57b223abd537a49dd728dcf95ce2cec849c41ef 100644 (file)
@@ -637,10 +637,33 @@ he:
       newer_comments: הערות חדשות
       older_comments: הערות ישנות
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: שרת האימות דורש בחירת חשבון משתמש קצה
+        consent_required: שרת האימות דורש את הסכמת משתמש הקצה
+        interaction_required: שרת האימות דורש פעולה הדדית עם משתמש הקצה
+        login_required: שרת האימות דורש את אימות משתמש הקצה
     flash:
       applications:
         create:
           notice: היישום נרשם.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: |-
+            כשל עקב הגדרה חסרה של Doorkeeper
+            ::OpenidConnect.configure.auth_time_from_resource_owner.
+          reauthenticate_resource_owner_not_configured: כשל עקב הגדרה חסרה של Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: כשל עקב הגדרה חסרה של Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token.
+          select_account_for_resource_owner_not_configured: כשל עקב הגדרה חסרה של
+            Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner.
+          subject_not_configured: יצירת אסימון מזהה נכשלה בשל תצורה חסרה של Doorkeeper::OpenidConnect.configure.subject.
+    scopes:
+      address: הצגת הכתובת הפיזית שלך
+      email: הצגת כתובת הדוא״ל שלך
+      openid: אימות החשבון שלך
+      phone: הצגת מספר הטלפון שלך
+      profile: הצגת פרטי הפרופיל שלך
   errors:
     contact:
       contact_url_title: הסבר על מגוון ערוצי התקשורת
@@ -2585,6 +2608,7 @@ he:
     permissions:
       missing: לא נתת להרשאה גישה למתקן הזה
     scopes:
+      openid: כניסה עם OpenStreetMap
       read_prefs: העדפות קריאה
       write_prefs: שינוי העדפות משתמש
       write_diary: ליצור רשומות ביומן, הערות וליצור חברויות
@@ -3068,6 +3092,7 @@ he:
       andy_allan: אנדי אלן
       opnvkarte_credit: אריחים באדיבות %{memomaps_link}
       memomaps: ממומאפס
+      tracestrack_credit: האריחים באדיבות %{tracestrack_link}
       hotosm_credit: סגנון אריחים מאת %{hotosm_link} מתארח אצל %{osm_france_link}
       hotosm_name: צוות OpenStreetMap הומניטרי
     site:
index c84719348b9d3f08ab42913743bef0851f2b4d79..784d9ae4c9f3d240d93394b78c35c8a986f79735 100644 (file)
@@ -12,8 +12,6 @@ ia:
   time:
     formats:
       friendly: '%e de %B %Y a %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Selige file
@@ -585,10 +583,39 @@ ia:
       newer_comments: Commentos plus recente
       older_comments: Commentos plus ancian
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Le servitor de autorisation require le section
+          de un conto de usator
+        consent_required: Le servitor de autorisation require le consentimento del
+          usator
+        interaction_required: Le servitor de autorisation require un interaction del
+          usator
+        login_required: Le servitor de autorisation require le authentication del
+          usator
     flash:
       applications:
         create:
           notice: Application registrate.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Fallimento a causa del manco
+            de un configuration Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
+          reauthenticate_resource_owner_not_configured: Fallimento a causa del manco
+            de un configuration Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: Fallimento a causa del
+            manco de un configuration  Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token.
+          select_account_for_resource_owner_not_configured: Fallimento a causa del
+            manco de un configuration  Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner.
+          subject_not_configured: Le generation del token identificator ha fallite
+            a causa del manco de un configuration  Doorkeeper::OpenidConnect.configure.subject.
+    scopes:
+      address: Vider tu adresse physic
+      email: Vider tu adresse de e-mail
+      openid: Authenticar tu conto
+      phone: Vider tu numero de telephono
+      profile: Vider tu information de profilo
   errors:
     contact:
       contact_url_title: Varie canales de contacto explicate
@@ -2576,6 +2603,7 @@ ia:
     permissions:
       missing: Tu non ha permittite al application le accesso a iste facilitate
     scopes:
+      openid: Aperir session con OpenStreetMap
       read_prefs: Leger preferentias de usator
       write_prefs: Modificar preferentias de usator
       write_diary: Crear entratas de diario, commentos e adder amicos
index 5d3e3394e2c98f2dab07db55c5110d83a99c7d06..620465c25565e6104e1fcc27ca40785dbd8c7814 100644 (file)
@@ -217,41 +217,29 @@ ja:
   datetime:
     distance_in_words_ago:
       about_x_hours:
-        one: 約1時間前
         other: 約%{count}時間前
       about_x_months:
-        one: 約1ヶ月前
         other: 約%{count}ヶ月前
       about_x_years:
-        one: 約1年前
         other: 約%{count}年前
       almost_x_years:
-        one: ほぼ1年前
         other: ほぼ%{count}年前
       half_a_minute: 30秒前
       less_than_x_seconds:
-        one: 1秒以内
         other: '%{count}秒以内'
       less_than_x_minutes:
-        one: 1分以内
         other: '%{count}分以内'
       over_x_years:
-        one: 1年以上前
         other: '%{count}年以上前'
       x_seconds:
-        one: 1秒前
         other: '%{count}秒前'
       x_minutes:
-        one: 1分前
         other: '%{count}分前'
       x_days:
-        one: 1日前
         other: '%{count}日前'
       x_months:
-        one: 1ヶ月前
         other: '%{count}ヶ月前'
       x_years:
-        one: 1年前
         other: '%{count}年前'
   printable_name:
     with_version: '%{id}、第%{version}版'
@@ -362,10 +350,8 @@ ja:
     no_comment: (コメントなし)
     part_of: 以下の一部
     part_of_relations:
-      one: 1件のリレーション
       other: '%{count}件のリレーション'
     part_of_ways:
-      one: 1件のウェイ
       other: '%{count}件のウェイ'
     download_xml: XMLをダウンロード
     view_history: 履歴を表示
@@ -405,7 +391,6 @@ ja:
       history_title_html: 'リレーション: %{name} の履歴'
       members: メンバー
       members_count:
-        one: 1名
         other: '%{count}名'
     relation_member:
       entry_role_html: '%{type} %{name} (%{role} として)'
@@ -561,8 +546,6 @@ ja:
       comment_link: このエントリにコメント
       reply_link: 筆者にメッセージを送る
       comment_count:
-        zero: コメントなし
-        one: '%{count} コメント'
         other: '%{count} コメント'
       no_comments: (コメントなし)
       edit_link: この記事の編集
@@ -1421,7 +1404,6 @@ ja:
       last_updated: 最近の更新
       link_to_reports: レポートを表示
       reports_count:
-        one: 1件のレポート
         other: '%{count}件のレポート'
       reported_item: レポートした項目
       states:
@@ -1431,8 +1413,6 @@ ja:
     show:
       title: '%{status} 問題 #%{issue_id}'
       reports:
-        zero: レポート0件
-        one: 1件のレポート
         other: '%{count}件のレポート'
       no_reports: 報告はありません
       report_created_at: 最初の通報は%{datetime}です
@@ -2175,7 +2155,6 @@ ja:
     trace:
       pending: 処理中
       count_points:
-        one: 1個の点
         other: '%{count}個の点'
       more: 詳細
       trace_details: トレースの詳細表示
@@ -2538,18 +2517,15 @@ ja:
       time_future_and_until_login_html: 利用者のログイン後%{time}で終了します。
       time_past_html: '%{time}に終了しました。'
       block_duration:
-        hours: '%{count}時間'
+        hours:
+          other: '%{count}時間'
         days:
-          one: 1日
           other: '%{count}日'
         weeks:
-          one: 1週間
           other: '%{count}週間'
         months:
-          one: 1か月
           other: '%{count}か月'
         years:
-          one: 1年
           other: '%{count}年'
     blocks_on:
       title: '%{name} がされたブロック'
@@ -2591,7 +2567,7 @@ ja:
     index:
       title: '%{user} さんが投稿またはコメントしたメモ'
       heading: '%{user}さんのメモ'
-      subheading_html: '%{user}さんが投稿またはコメントしたメモ'
+      subheading_html: '%{user}さんが%{submitted}または%{commented}したメモ'
       no_notes: メモなし
       id: ID
       creator: 作成者
index 45210a371bdf6a3b921864002dd7a689a6ad38b7..d23dd58459d3b0ff5bdd9289417518ae11cfc9fe 100644 (file)
@@ -13,8 +13,6 @@ mk:
     formats:
       friendly: '%e %B %Y г. во %H:%M ч.'
       blog: '%e %B %Y г.'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Одберете податотека
index 02843f1ed06f10ae9fceb039637074c44f4d1a1e..b745bed87120c235f28bea5559893222607d3532 100644 (file)
@@ -641,10 +641,36 @@ nl:
       newer_comments: Nieuwere reacties
       older_comments: Oudere reacties
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Voor de autorisatieserver is de selectie van een
+          eindgebruikersaccount vereist
+        consent_required: De autorisatieserver vereist toestemming van de eindgebruiker
+        interaction_required: De autorisatieserver vereist interactie van de eindgebruiker
+        login_required: De autorisatieserver vereist authenticatie van de eindgebruiker
     flash:
       applications:
         create:
           notice: Toepassing geregistreerd.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Fout vanwege ontbrekende configuratie
+            van Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
+          reauthenticate_resource_owner_not_configured: Fout vanwege ontbrekende configuratie
+            van Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: Fout vanwege ontbrekende
+            configuratie van Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token.
+          select_account_for_resource_owner_not_configured: Fout vanwege ontbrekende
+            configuratie van Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
+          subject_not_configured: Het genereren van het ID-token is mislukt vanwege
+            een ontbrekende configuratie van Doorkeeper::OpenidConnect.configure.subject.
+    scopes:
+      address: Uw fysieke adres bekijken
+      email: Uw e-mailadres bekijken
+      openid: Uw account authenticeren
+      phone: Uw telefoonnummer bekijken
+      profile: Uw profielgegevens bekijken
   errors:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/NL:Contact_channels
@@ -2647,6 +2673,7 @@ nl:
     permissions:
       missing: U heeft niet toegestaan dat de toepassing toegang heeft tot dit kenmerk.
     scopes:
+      openid: Aanmelden met OpenStreetMap
       read_prefs: Gebruikersvoorkeuren lezen
       write_prefs: Gebruikersvoorkeuren wijzigen
       write_diary: Dagboekberichten schrijven, reacties geven en vrienden maken
@@ -3122,6 +3149,7 @@ nl:
         cyclosm: CyclOSM
         cycle_map: Fietskaart
         transport_map: Transportkaart
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitair
         opnvkarte: ÖPNVKarte
       layers:
@@ -3140,6 +3168,8 @@ nl:
       andy_allan: Andy Allan
       opnvkarte_credit: Tegels met dank aan %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Tegels met dank aan %{tracestrack_link}
+      tracestrack: Tracestrack
       hotosm_credit: Kaartstijl door %{hotosm_link} gehost door %{osm_france_link}
       hotosm_name: Humanitair OpenStreetMap-team
     site:
index f622399e82307066e16d60e2941c2995e2b408bf..0c8b6a912b4c81fb5ef2a0055fe434f550dddd34 100644 (file)
@@ -28,6 +28,7 @@
 # Author: Krottyianock
 # Author: Krzyz23
 # Author: Kwiatek 123
+# Author: Luku123
 # Author: M4sk1n
 # Author: Macofe
 # Author: Maraf24
@@ -677,6 +678,8 @@ pl:
       applications:
         create:
           notice: Zarejestrowano aplikację.
+    scopes:
+      email: Zobacz swój adres e-mail
   errors:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/Pl:Sposoby_komunikacji
@@ -2124,6 +2127,7 @@ pl:
         contributors_nz_new_zealand: Nowa Zelandia
         contributors_nz_linz_data_service: LINZ Data Service
         contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_serbia: Serbia
         contributors_si_credit_html: '%{slovenia}: Zawiera dane %{gu_link} oraz %{mkgp_link}
           (informacja publiczna Słowenii).'
         contributors_si_slovenia: Słowenia
@@ -2388,6 +2392,8 @@ pl:
           można edytować mapę.'
         editor: edytor
         node: węzeł
+        way: Linia
+        tag: Znacznik
       rules:
         title: Zasady!
         para_1_html: |-
@@ -3064,6 +3070,7 @@ pl:
         cyclosm: CyclOSM
         cycle_map: Rowerowa
         transport_map: Transportu publicznego
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitarna
         opnvkarte: ÖPNVKarte
       layers:
index 8d330bf6b12cfae4d19246f489d19748252cd7f5..e576a3237ec9297113f8c9cbab7391eda6be682a 100644 (file)
@@ -24,8 +24,6 @@ ro:
   time:
     formats:
       friendly: '%e %B %Y la %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Selectează fișier
@@ -617,10 +615,36 @@ ro:
       newer_comments: Comentarii mai noi
       older_comments: Comentarii mai vechi
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Serverul de autorizare necesită selectarea contului
+          de utilizator
+        consent_required: Serverul de autorizare necesită consimțământul utilizatorului
+        interaction_required: Serverul de autorizare necesită interacțiunea utilizatorului
+        login_required: Serverul de autorizare necesită autentificarea utilizatorului
     flash:
       applications:
         create:
           notice: Aplicație înregistrată.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Eroare datorită lipsei configurației
+            Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
+          reauthenticate_resource_owner_not_configured: Eroare datorită lipsei configurației
+            Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: Eroare datorită lipsei
+            configurației Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token.
+          select_account_for_resource_owner_not_configured: Eroare datorită lipsei
+            configurației Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner.
+          subject_not_configured: Generarea codului ID a eșuat din cauza lipsei configurației
+            Doorkeeper::OpenidConnect.configure.subject.
+    scopes:
+      address: Vizualizați adresa dumneavoastră fizică
+      email: Vizualizați adresa dumneavoastră de e-mail
+      openid: Autentificați-vă contul
+      phone: Vizualizați numărul dumneavoastră de telefon
+      profile: Vizualizați informațiile de profil
   errors:
     contact:
       contact_url_title: Diferite metode de contact explicate
@@ -2617,6 +2641,7 @@ ro:
     permissions:
       missing: Nu ați permis accesul aplicației la această facilitate
     scopes:
+      openid: Conectați-vă folosind OpenStreetMap
       read_prefs: Citiți preferințele utilizatorului
       write_prefs: Modificați preferințele utilizatorului
       write_diary: Creează înregistrări în jurnal, comentarii și fă-ți prieteni
index b3626cb1554a5474c31cc000f82677ba7d6fd1ed..7757049b44cc2cb5a22dc0a0c0d2d48d02130015 100644 (file)
@@ -413,6 +413,8 @@ ru:
       delete_account: Удалить учётную запись…
     go_public:
       heading: Общедоступная правка
+      only_public_can_edit: С момента перехода на API 0.6, только публичные пользователи
+        могут редактировать данные карты.
       find_out_why: узнать почему
       make_edits_public_button: Сделать все мои правки доступными
     update:
@@ -888,7 +890,7 @@ ru:
           "yes": Мост
         building:
           apartment: Квартира
-          apartments: Ð\9aваÑ\80Ñ\82иÑ\80Ñ\8b
+          apartments: Ð\9cногокваÑ\80Ñ\82иÑ\80нÑ\8bй Ð´Ð¾Ð¼
           barn: Амбар
           bungalow: Бунгало
           cabin: Хижина
@@ -2070,6 +2072,9 @@ ru:
         mapping_link: начать картографирование
       legal_babble:
         title_html: Авторские права и лицензирование
+        introduction_1_html: "OpenStreetMap%{registered_trademark_link} — это %{open_data},
+          лицензированные по \n%{odc_odbl_link} (ODbL), разработанной %{osm_foundation_link}
+          (OSMF)."
         introduction_1_open_data: открытые данные
         introduction_2_html: Вы можете свободно копировать, распространять, передавать
           и дорабатывать наши данные до тех пор, пока вы ссылаетесь на OpenStreetMap
@@ -2209,6 +2214,11 @@ ru:
             отсутствие дороги или вашего адреса, лучший способ для дальнейших действий
             — вступить в сообщество OpenStreetMap и добавить или восстановить данные
             самостоятельно.
+        add_a_note:
+          instructions_1_html: |-
+            Просто нажмите %{note_icon} или тот же значок на экране карты.
+            Это добавит на карту маркер, который вы сможете перемещать
+            перетаскиванием. Добавьте свое сообщение, затем нажмите «Сохранить», и другие картографы проведут расследование.
       other_concerns:
         title: Другие проблемы
         copyright: страница авторского права
@@ -2262,6 +2272,11 @@ ru:
       change_preferences: Измените свои предпочтения здесь
     any_questions:
       title: Остались вопросы?
+      paragraph_1_html: |-
+        В OpenStreetMap имеется несколько ресурсов для изучения проекта, вопросов и ответов на них, а также для совместного обсуждения и документирования тем, относящихся к картографированию.
+        %{help_link}. Вы из организации, которая планирует использовать OpenStreetMap? %{welcome_mat_link}.
+      get_help_here: Обратитесь за помощью сюда
+      welcome_mat: Шагните на приветственный коврик
     sidebar:
       search_results: Результаты поиска
       close: Закрыть
@@ -2354,12 +2369,27 @@ ru:
         Вот небольшая инструкция по самым важным вещам, которые необходимо знать.
       whats_on_the_map:
         title: Что находится на карте
+        on_the_map_html: OpenStreetMap — это место для картографирования объектов
+          (%{real_and_current}); сайт содержит миллионы зданий, дорог и других сведений
+          о различных местах. Вы можете нанести на карту любые особенности реального
+          мира, которые вам интересны.
+        real_and_current: реальных и актуальных
+        off_the_map_html: Чего здесь %{doesnt}, так это субъективных данных, таких
+          как рейтинги, исторические или гипотетические характеристики, а также данных
+          из источников, защищённых авторским правом. Не копируйте карты с онлайн-
+          или бумажных карт, если у вас нет специального разрешения.
+        doesnt: нету
       basic_terms:
         title: Небольшой словарь картографа
         paragraph_1: У OpenStreetMap выработался локальный сленг. Вот несколько понятий,
-          которые стоит иметь ввиду.
+          которые стоит иметь в виду.
         an_editor_html: '%{editor} – это программа или веб-сайт, который вы можете
           использовать для редактирования карты.'
+        a_node_html: '%{node} — это точка на карте, например ресторан или дерево.'
+        a_way_html: '%{way} — это линия или область, например дорога, ручей, озеро
+          или здание.'
+        a_tag_html: '%{tag} — это часть данных о точке (узле) или пути, например название
+          ресторана или ограничение скорости на дороге.'
         editor: редактор
         node: точка
         way: линия
@@ -2379,6 +2409,10 @@ ru:
         para_1: Если нужно сделать небольшое уточнение, ради которого слишком долго
           регистрироваться и изучать правила правки, можно просто добавить заметку
           на карту.
+        para_2_html: |-
+          Просто перейдите к %{map_link} и кликните по значку заметки: %{note_icon}.
+          Это добавит на карту маркер, который вы можете перемещать перетаскиванием.
+          Добавьте свое сообщение, затем нажмите «Сохранить» и другие картографы проведут расследование.
         the_map: карта
     communities:
       title: Сообщества
index 8cdab4e5ce182602aeac9216d39da129e009de10..4b22cd44f23ad07f4126df9216b4e8a990c076fc 100644 (file)
@@ -592,6 +592,14 @@ sc:
       newer_comments: Cummentos prus noos
       older_comments: Cummentos prus betzos
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Su serbidore de autorizatzione tenet bisòngiu
+          de sa seletzione de unu contu de utente finale
+        consent_required: Su serbidore de autorizatzione tenet bisòngiu de sa seletzione
+          de s'utente finale
+        interaction_required: Su serbidore de autorizatzione tenet bisòngiu de s'interatzione
+          de s'utente finale
     flash:
       applications:
         create:
diff --git a/config/locales/sh.yml b/config/locales/sh.yml
new file mode 100644 (file)
index 0000000..b529925
--- /dev/null
@@ -0,0 +1,870 @@
+# Messages for Serbo-Croatian (srpskohrvatski / српскохрватски)
+# Exported from translatewiki.net
+# Export driver: phpyaml
+# Author: Vlad5250
+---
+sh:
+  time:
+    formats:
+      friendly: '%e %B %Y u %H:%M'
+  helpers:
+    file:
+      prompt: Izaberi datoteku
+    submit:
+      diary_comment:
+        create: Komentar
+      diary_entry:
+        create: Objavi
+        update: Podnovi
+      issue_comment:
+        create: Dodaj komentar
+      message:
+        create: Pošalji
+      client_application:
+        create: Registriraj
+        update: Podnovi
+      oauth2_application:
+        create: Registracija
+        update: Podnovi
+      redaction:
+        create: Napravi redakciju
+        update: Sačuvaj redakciju
+      trace:
+        create: Otpremi
+        update: Sačuvaj promjene
+      user_block:
+        create: Napravi blokadu
+        update: Podnovi blokadu
+  activerecord:
+    errors:
+      messages:
+        invalid_email_address: ne izgleda kao važeća adresa e-pošte
+        email_address_not_routable: nije povezljiv
+    models:
+      acl: Kontrole pristupa
+      changeset: Set promjena
+      changeset_tag: Oznaka seta promjena
+      country: Zemlja
+      diary_comment: Komentar dnevnika
+      diary_entry: Unos u dnevniku
+      friend: Prijatelj
+      issue: Problem
+      language: Jezik
+      message: Poruka
+      node: Čvor
+      node_tag: Oznaka čvora
+      old_node: Stari čvor
+      old_node_tag: Oznaka starog čvora
+      old_relation: Stara relacija
+      old_relation_member: Stari član relacije
+      old_relation_tag: Oznaka stare relacije
+      old_way: Stara putanja
+      old_way_node: Čvor stare putanje
+      old_way_tag: Oznaka stare putanje
+      relation: Relacija
+      relation_member: Član relacije
+      relation_tag: Oznaka relacije
+      report: Prijavi
+      session: Sesija
+      trace: Trag
+      tracepoint: Tačka traga
+      tracetag: Oznaka traga
+      user: Korisnik
+      user_preference: Korisničke postavke
+      user_token: Korisnički žeton
+      way: Putanja
+      way_node: Čvor putanje
+      way_tag: Oznaka putanje
+    attributes:
+      client_application:
+        name: Ime (obavezno)
+        url: Glavni URL priloga (obavezno)
+        callback_url: URL za povratni poziv
+        support_url: URL podrške
+        allow_read_prefs: čita njihove korisničke postavke
+        allow_write_prefs: mijenja njihove korisničke postavke
+        allow_write_diary: pravi dnevničke zapise, komentare i dodaje prijatelje
+      diary_comment:
+        body: Tijelo
+      diary_entry:
+        user: Korisnik
+        title: Tema
+        body: Tijelo
+        latitude: Geografska širina
+        longitude: Geografska dužina
+        language_code: Jezik
+      doorkeeper/application:
+        name: Naziv
+        redirect_uri: Preusmjeravanje URI-ja
+        confidential: Povjerljivi prilog?
+        scopes: Dozvole
+      friend:
+        user: Korisnik
+        friend: Prijatelj
+      trace:
+        user: Korisnik
+        visible: Vidljivo
+        name: Ime datoteke
+        size: Veličina
+        latitude: Geo. širina
+        longitude: Geo. dužina
+        public: Javno
+        description: Opis
+        gpx_file: Otpremi GPX datoteku
+        visibility: Vidljivost
+        tagstring: Oznake
+      message:
+        sender: Pošiljalac
+        title: Tema
+        body: Tijelo
+        recipient: Primalac
+      redaction:
+        title: Naslov
+        description: Opis
+      report:
+        category: Odaberite razlog prijave
+        details: Navedite više pojedinosti o problemu (obavezno).
+      user:
+        auth_provider: Davatelj autentifikacije
+        email: Imejl
+        email_confirmation: Potvrda imejla
+        new_email: Nova imejl adresa
+        active: Aktivan
+        display_name: Ime za prikaz
+        description: Opis profila
+        home_lat: Geo. širina
+        home_lon: Geo. dužina
+        languages: Željeni jezici
+        preferred_editor: Željeni uređivač
+        pass_crypt: Lozinka
+        pass_crypt_confirmation: Potvrdi lozinku
+    help:
+      doorkeeper/application:
+        confidential: Prilog će se koristiti tamo gdje se tajna klijenta može čuvati
+          u tajnosti (izvorni mobilni prilozi i prilozi na jednoj stranici nisu povjerljivi)
+      trace:
+        tagstring: odvojeno zarezima
+      user_block:
+        reason: Razlog zašto je korisnik blokiran. Molimo vas da budete što smireniji
+          i razumniji, dajući što više detalja o situaciji, imajući na umu da će poruka
+          biti javno vidljiva. Imajte na umu da svi korisnici ne razumiju žargon zajednice,
+          stoga pokušajte koristiti laičke izraze.
+        needs_view: Da li se korisnik mora prijaviti prije nego se očisti blokada?
+      user:
+        new_email: (nikada se ne prikazuje javno)
+  editor:
+    default: Podrazumijevano (trenutno %{name})
+    id:
+      description: iD (uređivač u pregledniku)
+  auth:
+    providers:
+      none: Nijedan
+      openid: OpenID
+      google: Google
+      facebook: Facebook
+      github: GitHub
+      wikipedia: Wikipedia
+  api:
+    notes:
+      comment:
+        opened_at_html: Napravljeno %{when}
+        opened_at_by_html: Napravljeno %{when} korisnikom %{user}
+        commented_at_html: Podnovljeno %{when}
+        commented_at_by_html: Podnovljeno %{when} korisnikom %{user}
+        closed_at_html: Razriješeno %{when}
+        closed_at_by_html: Razriješeno %{when} korisnikom %{user}
+        reopened_at_html: Reaktivirano %{when}
+        reopened_at_by_html: Reaktivirano %{when} korisnikom %{user}
+      rss:
+        title: Bilješke OpenStreetMap-a
+        description_area: Lista bilješki, prijavljenih, iskometiranih ili zatvorenih,
+          u vašem području [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+        description_item: RSS-tok bilješke %{id}
+        opened: nova bilješka (blizu %{place})
+        commented: novi komentar (blizu %{place})
+        closed: zatvorena bilješka (blizu %{place})
+        reopened: reaktivirana bilješka (blizu %{place})
+      entry:
+        comment: Komentar
+        full: Cijela napomena
+  account:
+    deletions:
+      show:
+        title: Izbriši moj račun
+        warning: Upozorenje! Proces brisanja računa je konačan i ne može se poništiti.
+        delete_account: Izbriši račun
+        delete_introduction: 'Svoj OpenStreetMap račun možete izbrisati uporabom gumba
+          ispod. Imajte na umu sljedeće detalje:'
+        delete_profile: Bit će uklonjene informacije o vašem profilu, uključujući
+          vaš avatar, opis i kućnu lokaciju.
+        delete_display_name: Bit će uklonjeno vaše ime za prikaz, i moći će ga ponovno
+          koristiti drugi račun.
+        retain_caveats: 'Međutim, OpenStreetMap će zadržati neke informacije o vama,
+          čak i nakon brisanja vašeg računa:'
+        retain_edits: Vaše izmjene baze podataka karte.
+        retain_traces: Vaši otpremljeni tragovi.
+        retain_diary_entries: Vaši dnevnički zapisi i komentari.
+        retain_notes: Vaše bilješke i komentari na karti (ali skriveni od pogleda).
+        retain_changeset_discussions: Vaše rasprave o skupu promjena.
+        retain_email: Vaše imejl adrese.
+        confirm_delete: Da li ste sigurni?
+        cancel: Otkaži
+  accounts:
+    edit:
+      title: Uredi račun
+      my settings: Moje postavke
+      current email address: Trenutna adresa e-pošte
+      openid:
+        link text: šta je ovo?
+      public editing:
+        heading: Javno uređivanje
+        enabled: Omogućeno. Nije anonimno i mogu se uređivati podaci.
+        enabled link text: šta je ovo?
+        disabled: Onemogućeno i ne mogu se uređivati podaci, sve prethodne izmjene
+          su anonimne.
+        disabled link text: zašto ne mogu uređivati?
+      contributor terms:
+        heading: Uslovi za doprinosioce
+        agreed: Prihvatili ste nove Uslove za doprinosioce.
+        not yet agreed: Niste još uvijek prihvatili nove Uslove za doprinosioce.
+        review link text: Molimo Vas da slijedite ovaj link kada vam bude prikladno
+          da pregledate i prihvatite nove Uslove za doprinosioce
+        agreed_with_pd: Također ste proglasili da će vaše izmjene biti u javnom vlasništvu.
+        link text: šta je ovo?
+      save changes button: Sačuvaj promjene
+      delete_account: Izbriši račun...
+    go_public:
+      heading: Javno uređivanje
+      currently_not_public: Trenutno su vaše izmjene anonimne i ljudi vam ne mogu
+        slati poruke niti vidjeti vašu lokaciju. Da biste prikazali što ste uredili
+        i omogućili ljudima da vas kontaktiraju putem veb-stranice, kliknite gumb
+        ispod.
+      only_public_can_edit: Od promjene приложникот-ja 0.6, kartografske podatke mogu
+        samo uređivati javni korisnici.
+      email_not_revealed: Vaša imejl adresa neće biti otkrivena drugima.
+      not_reversible: Ova se radnja ne može poništiti i svi novi korisnici sada su
+        prema zadanim postavkama javni.
+      make_edits_public_button: Neka sve moje izmjene budu javne
+    update:
+      success_confirm_needed: Korisničke informacije su uspješno osvježene. Provjerite
+        imejl za porukom za potvrdu nove adrese.
+      success: Korisničke informacije su uspješno osvježene.
+  browse:
+    changeset:
+      join_discussion: Prijavite se za uključivanje u raspravu
+      discussion: Razgovor
+    tag_details:
+      wikidata_link: '%{page} stavka na Wikidata'
+      wikipedia_link: Članak o %{page} na Wikipediji
+      wikimedia_commons_link: '%{page} stavka na Wikimedijinoj ostavi'
+      telephone_link: Nazovi %{phone_number}
+    query:
+      title: Informacije o objektima
+  changesets:
+    changeset_paging_nav:
+      next: Sljedeća »
+      previous: « Prethodna
+    changeset:
+      anonymous: Anoniman
+      no_edits: (nema izmjena)
+    changesets:
+      user: Korisnik
+      comment: Komentar
+      area: Područje
+    index:
+      title: Setovi promjena
+      title_user: Setovi promjena od %{user}
+      title_user_link_html: Setovi promjena od %{user_link}
+      title_friend: Promjene mojih prijatelja
+      title_nearby: Promjene obližnjih korisnika
+  diary_entries:
+    new:
+      title: Novi zapis u dnevnik
+    form:
+      location: Lokacija
+      use_map_link: Koristi kartu
+    index:
+      title: Dnevnici korisnika
+      title_friends: Dnevnici prijatelja
+      title_nearby: Dnevnici obližnjih članova
+      user_title: Dnevnik korisnika %{user}
+      in_language_title: 'Zapisi u dnevniku na jeziku: %{language}'
+      new: Novi zapis u dnevnik
+      new_title: Sročite novi zapis u vaš korisnički dnevnik
+      my_diary: Moj dnevnik
+      no_entries: Nema zapisa u dnevniku
+      recent_entries: Nedavni zapisi u dnevnik
+      older_entries: Stariji zapisi
+      newer_entries: Noviji zapisi
+    edit:
+      title: Uredi zapis u dnevnik
+      marker_text: Lokacija unosa u dnevnik
+    show:
+      title: Dnevnik korisnika %{user} | %{title}
+      user_title: Dnevnik korisnika %{user}
+      leave_a_comment: Napiši komentar
+      login_to_leave_a_comment_html: '%{login_link} da bi ostavili komentar'
+      login: Prijava
+    no_such_entry:
+      title: Nema takvog zapisa u dnevnik
+      heading: Nema zapisa s naznakom %{id}
+      body: Žao mi je, ne postoji zapis u dnevniku ili komentar s naznakom %{id}.
+        Provjerite ispravnost upisa, ili link na koji ste kliknuli možda je neispravan.
+    diary_entry:
+      posted_by_html: Poslao %{link_user} u %{created} na jeziku %{language_link}.
+      updated_at_html: Posljednja podnova %{updated}.
+      comment_link: Komentiraj ovaj zapis
+      reply_link: Pošalji poruku autoru
+      comment_count:
+        one: '%{count} komentar'
+        few: '%{count} komentara'
+        other: '%{count} komentara'
+      no_comments: Nema komentara
+      edit_link: Uredi ovaj zapis
+      hide_link: Sakrij ovaj unos
+      confirm: Potvrdi
+    diary_comment:
+      comment_from_html: Komentar od %{link_user} u %{comment_created_at}
+      hide_link: Sakrij ovaj komentar
+      confirm: Potvrdi
+    location:
+      location: 'Lokacija:'
+      view: Prikaži
+      edit: Uredi
+    feed:
+      user:
+        title: Zapisi dnevnika od korisnika %{user}
+        description: Nedavni zapisi dnevnika od %{user}
+      language:
+        title: 'Zapisi u dnevniku na jeziku: %{language_name}'
+        description: 'Nedavni zapisi u dnevniku OpenStreetMap korisnika na jeziku:
+          %{language_name}'
+      all:
+        title: Zapisi u dnevniku
+        description: Nedavni zapisi u dnevnik korisnika OpenStreetMapa
+  errors:
+    contact:
+      contact: kontakt
+    forbidden:
+      description: Operacija koju ste tražili na poslužitelju OpenStreetMap dostupna
+        je samo administratorima (HTTP 403)
+    internal_server_error:
+      title: Greška u prilogu
+      description: Poslužitelj OpenStreetMap naišao je na neočekivano stanje koje
+        ga je spriječilo da ispuni zahtjev (HTTP 500)
+    not_found:
+      title: Datoteka nije pronađena
+      description: Nije moguće pronaći operaciju za datoteku/direktorij/priložnik
+        pod im imenom na poslužitelju OpenStreetMap (HTTP 404)
+  friendships:
+    make_friend:
+      heading: Dodati %{user} kao prijatelja?
+      button: Dodaj kao prijatelja
+      success: '%{name} je sada vaš prijatelj!'
+      failed: Žao mi je, nije uspjelo dodavanje %{name} kao prijatelja.
+      already_a_friend: Već ste prijatelj sa %{name}.
+      limit_exceeded: Nedavno ste se sprijateljili s mnogo korisnika. Molimo sačekajte
+        neko vrijeme, prije nego što se više pokušate sprijateljiti.
+    remove_friend:
+      heading: Ukloniti %{user} iz prijatelja?
+      button: Ukloniti prijatelja
+      success: '%{name} je uklonjen iz prijatelja.'
+      not_a_friend: '%{name} nije vaš prijatelj.'
+  geocoder:
+    search_osm_nominatim:
+      prefix:
+        aerialway:
+          cable_car: Žičara
+          chair_lift: Žičara sa sjedištima
+          drag_lift: Vučnica
+          gondola: Kabinska žičara
+          magic_carpet: Magic Carpet Lift
+          platter: Platter Lift
+          pylon: Pylon
+          station: Stanica žičare
+          t-bar: Sidro
+          "yes": Žičara
+        aeroway:
+          aerodrome: Aerodrom
+          airstrip: Uzletno/sletna pista
+          apron: Pristanišna platforma
+          gate: Vrata aerodroma
+          hangar: Hangar
+          helipad: Heliodrom
+          holding_position: Držanje položaja
+          navigationaid: Zrakoplovna navigacijska pomoć
+          parking_position: Parkirno mjesto
+          runway: Pista
+          taxilane: Taxilane
+          taxiway: Rulna staza
+          terminal: Aerodromski terminal
+          windsock: Vjetrobran
+        amenity:
+          animal_boarding: Hotel za kućne ljubimce
+          animal_shelter: Azil za životinje
+          arts_centre: Umjetnički centar
+          atm: Bankomat
+          bank: Banka
+          bar: Bar
+          bbq: Roštilj
+          bench: Klupa
+          bicycle_parking: Biciklistički parking
+          bicycle_rental: Iznajmljivanje bicikla
+          bicycle_repair_station: Stanica za popravak bicikla
+          biergarten: Pivska bašta
+          blood_bank: Banka krvi
+          boat_rental: Najam brodova
+          brothel: Bordel
+          bureau_de_change: Mjenjačnica
+          bus_station: Autobuska stanica
+          cafe: Kafe
+          car_rental: Iznajmljivanje automobila
+          car_sharing: Carsharing
+          car_wash: Autopraonica
+          casino: Kazino
+          charging_station: Stanica za punjenje
+          childcare: Vrtić
+          cinema: Kino
+          clinic: Klinika
+          clock: Sat
+          college: Koledž
+          community_centre: Društveni centar
+          conference_centre: Konferencijski centar
+          courthouse: Sud
+          crematorium: Krematorij
+          dentist: Zubar
+          doctors: Doktor
+          drinking_water: Pijaća voda
+          driving_school: Autoškola
+          embassy: Ambasada
+          events_venue: Lokalita događaja
+          fast_food: Brza hrana
+          ferry_terminal: Trajektni terminal
+          fire_station: Vatrogasna stanica
+          food_court: Štandovi za brzu hranu
+          fountain: Fontana
+          fuel: Stanica za punjenje
+          gambling: Kockanje
+          grave_yard: Groblje
+          grit_bin: Grit Bin
+          hospital: Bolnica
+          hunting_stand: Lovačka čeka
+          ice_cream: Sladoled
+          internet_cafe: Internet kafe
+          kindergarten: Dječiji vrtić
+          language_school: Škola jezika
+          library: Biblioteka
+          loading_dock: Dock za utovar
+          love_hotel: Ljubavni hotel
+          marketplace: Tržnica
+          mobile_money_agent: Agenta za mobilni novac
+          monastery: Manastir
+          money_transfer: Prijevod novca
+          motorcycle_parking: Parking za motocikle
+          music_school: Muzička škola
+          nightclub: Noćni klub
+          nursing_home: Starački dom
+          parking: Parking
+          parking_entrance: Ulaz u parking
+          parking_space: Parking prostor
+          payment_terminal: Terminal za plaćanje
+          pharmacy: Apoteka
+          place_of_worship: Bogomolja
+          police: Policija
+          post_box: Poštanski sandučić
+          post_office: Pošta
+          prison: Zatvor
+          pub: Pub
+          public_bath: Javno kupalište
+      types:
+        cities: Gradovi
+        towns: Manji gradovi
+        places: Mjesta
+    results:
+      no_results: Nema rezultata
+      more_results: Više rezultata
+  issues:
+    index:
+      search: Pretraga
+      user_not_found: Korisnik ne postoji
+      status: Status
+      last_updated: Posljednja podnova
+  layouts:
+    edit: Uredi
+    history: Historija
+    export: Izvezi
+    data: Podaci
+    export_data: Izvezi podatke
+    gps_traces: GPS tragovi
+    gps_traces_tooltip: Upravljanje GPS tragovima
+    user_diaries: Dnevnici korisnika
+    intro_header: Dobrodošao/la na OpenStreetMap!
+    intro_text: OpenStreetMap je karta svijeta stvorena od strane ljudi kao što ste
+      vi i može se slobodno koristiti pod licencom otvorenog koda.
+    intro_2_create_account: Napravi korisnički račun
+    hosting_partners_html: Hosting podržavaju %{ucl}, %{fastly}, %{bytemark} i drugi
+      %{partners}.
+    partners_ucl: UCL
+    partners_fastly: Fastly
+    partners_bytemark: Bytemark Hosting
+    partners_partners: partneri
+    tou: Uslovi korištenja
+    osm_offline: OpenStreetMap baza podataka je trenutno nedostupna dok se ne završe
+      važni radovi na održavanju.
+    osm_read_only: OpenStreetMap baza podataka je trenutno samo u modu čitanja, dok
+      se ne sprovedu važni radovi na održavanju baze podataka.
+    donate: Podržite OpenStreetMap za %{link} Fond održavanja potrebnog hardvera.
+    help: Pomoć
+    about: O nama
+    copyright: Autorska prava
+    communities: Zajednice
+    community: Zajednica
+    community_blogs: Blogovi zajednice
+    community_blogs_title: Blogovi članova OpenStreetMap zajednice
+    make_a_donation:
+      title: Podržite OpenStreetMap novčanom donacijom
+      text: Donirajte
+    learn_more: Saznajte više
+    more: Više
+  user_mailer:
+    diary_comment_notification:
+      subject: '[OpenStreetMap] %{user} je komentirao vaš unos u dnevniku'
+      hi: Pozdrav, %{to_user},
+    gpx_success:
+      subject: '[OpenStreetMap] Uspješan uvoz GPX-datoteke'
+    signup_confirm:
+      subject: '[OpenStreetMap] Dobrodošli na OpenStreetMap'
+      greeting: Zdravo!
+      created: Neko (nadamo se, Vi) upravo je napravio račun na %{site_url}.
+      confirm: 'Najprije moramo potvrditi da Vi ste onaj što postavio je zahtjev,
+        ako je to istina, molimo Vas da kliknete link ispod da potvrdite Vaš račun:'
+      welcome: Nakon što potvrdite svoj račun, mi ćemo vam dati neke dodatne informacije
+        kako bi ste počeli.
+  confirmations:
+    confirm:
+      heading: Provjerite svoj imejl!
+      introduction_1: Poslali smo ti potvrdni imejl.
+      introduction_2: Potvrdite svoj račun klikom na donji link, pa moći ćete započeti
+        s crtanjem karte.
+      press confirm button: Pritisnite potvrdi da bi aktivirali svoj korisnički račun.
+      button: Potvrdi
+      success: Vaš račun je potvrđen. Hvala vam na upisu!
+      already active: Ovaj račun je već potvrđen.
+      unknown token: Taj kod za potvrdu je istekao ili ne postoji.
+      resend_html: Ako trebate da ponovo pošaljemo potvrdni imejl, %{reconfirm_link}.
+    confirm_resend:
+      failure: Korisnik %{name} nije pronađen.
+    confirm_email:
+      heading: Potvrda promjene e-adrese
+  messages:
+    message_summary:
+      reply_button: Odgovori
+      destroy_button: Izbriši
+    new:
+      title: Pošalji poruku
+      send_message_to_html: Pošalji novu poruku za %{name}
+      back_to_inbox: Nazad u dolaznu poštu
+    create:
+      message_sent: Poruka poslana
+      limit_exceeded: Nedavno ste poslali puno poruke. Molimo sačekajte neko vrijeme,
+        prije nego pokušate poslati druge.
+    no_such_message:
+      title: Nema takve poruke
+      heading: Nema takve poruke
+      body: Nažalost, nema poruke s tom naznakom.
+    outbox:
+      title: Odlazna pošta
+      to: Za
+      subject: Tema
+      date: Datum
+      no_sent_messages_html: Još uvijek nemate poslanih poruka. Zašto ne biste iskontaktirali
+        s nekim %{people_mapping_nearby_link}?
+      people_mapping_nearby: ljudima u vašoj okolini
+  profiles:
+    edit:
+      title: Uredi profil
+      save: Podnovi profil
+      cancel: Otkaži
+      image: Slika
+      gravatar:
+        gravatar: Koristi Gravatar
+        what_is_gravatar: Šta je Gravatar?
+      new image: Dodaj sliku
+      keep image: Zadrži trenutnu sliku
+      delete image: Ukloni trenutnu sliku
+      replace image: Zamijeni trenutnu sliku
+      image size hint: (kvadratne slike od barem 100x100 piksela su najbolje)
+  sessions:
+    new:
+      title: Prijava
+      heading: Prijava
+      email or username: 'Imejl adresa ili korisničko ime:'
+      password: 'Lozinka:'
+      openid_html: '%{logo} OpenID:'
+      remember: Zapamti me
+      lost password link: Izgubili ste lozinku?
+      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
+        o ovome.
+      support: podršku
+  shared:
+    richtext_field:
+      edit: Uredi
+      preview: Pregled
+  site:
+    about:
+      next: Sljedeće
+      used_by_html: '%{name} snabdijeva geografskim podacima tisuće internetskih stranica,
+        mobilnih priloga i uređaja'
+      lede_text: OpenStreetMap je izgradila zajednica kartografa koji donose i održavaju
+        podatke o cestama, stazama, kafićima, željezničkim postajama i još mnogo čemu
+        drugom diljem cijelog svijeta.
+      local_knowledge_title: Lokalno znanje
+      local_knowledge_html: |-
+        OpenStreetMap pridodaje posebnu važnost lokalnom znanju. Doprinositelji koriste
+        zračne snimke, GPS-uređaje i vlastite terenske podatke
+        za provjeru točnosti
+        i ažurnosti OSM-podataka.
+      community_driven_title: Vođen zajednicom
+      community_driven_1_html: |-
+        Zajednica OpenStreetMapa je raznolika, strastvena i raste svakim danom.
+        Među našim suradnicima su kartografi amateri, GIS profesionalci, inženjeri koji održavaju OSM servere,
+        humanitarci koji kartiraju područja pogođena
+        katastrofom i mnogi drugi.
+        Kako biste saznali više o zajednici, pogledajte %{osm_blog_link},
+        %{user_diaries_link}, %{community_blogs_link} i veb-stranicu
+        %{osm_foundation_link}.
+      legal_1_1_openstreetmap_foundation: Zadužbina OpenStreetMap
+      legal_1_1_terms_of_use: Uslovi korištenja
+      legal_1_1_privacy_policy: Politika privatnosti
+      partners_title: Partneri
+    copyright:
+      foreign:
+        title: O ovom prijevodu
+        html: U slučaju sukoba između ove prevedene stranice i %{english_original_link},
+          engleska stranica ima prednost
+        english_link: engleskog originala
+      native:
+        title: O ovoj stranici
+      legal_babble:
+        contributors_title_html: Naši suradnici
+        contributors_intro_html: |-
+          Naši suradnici su hiljade pojedinaca. Koristimo također
+          podatke s otvorenom licencom od nacionalnih kartografskih agencija
+          i drugih izvora, među kojima su:
+        contributors_at_austria: Austrija
+        contributors_at_stadt_wien: Stadt Wien
+        contributors_at_cc_by: CC BY
+        contributors_at_land_vorarlberg: Land Vorarlberg
+        contributors_footer_2_html: |-
+          Uvrštavanje podataka u OpenStreetMap ne podrazumijeva da se izvorni
+          davatelj podataka prihvata ili reklamira OpenStreetMap, pruža bilo kakvu garanciju, ili
+          prihvata bilo kakve obaveze.
+        infringement_title_html: Kršenje autorskih prava
+        infringement_1_html: |-
+          Suradnike OSM-a podsjećamo da nikada ne staju
+          podatke s izvora zaštićenih autorskim pravima (npr. Google karte ili tiskane karte) bez
+          izričitog dopuštenja od strane nositelja.
+    index:
+      js_1: Ili koristite internet preglednik koji ne podržava JavaScript, ili ste
+        onemogućili taj program.
+      js_2: OpenStreetMap koristi JavaScript za slippy kartu.
+      permalink: Trajni link
+      shortlink: Kratki link
+      createnote: Dodaj bilješku
+      license:
+        copyright: Autorska prava pripadaju OpenStreetMap-u i doprinositeljima, pod
+          otvorenom licencom
+      remote_failed: Uređivanje nije uspjelo - provjerite da li je JOSM ili Merkaartor
+        učitan i da je udaljeni pristup omogućen
+    edit:
+      not_public: Niste podesili da promjene vam budu javne.
+      not_public_description_html: Ne možete uređivati kartu dok to ne uradite. Možete
+        podesiti izmjene da vam budu javne na svojoj %{user_page}.
+      user_page_link: korisničkoj stranici
+      anon_edits_link_text: Otkrijte zašto je to slučaj.
+      id_not_configured: Uređivački program "iD" nije konfiguriran
+      no_iframe_support: Vaš preglednik ne podržava "iOkvire" (iframes) sa HTML-om,
+        a oni su potrebni za ovu mogućnost.
+    export:
+      title: Izvoz
+      area_to_export: Područje za izvoz
+      manually_select: Ručno izaberi drukčije područje
+      format_to_export: Format za izvoz
+      osm_xml_data: OpenStreetMap XML podaci
+      map_image: Slika karte (prikazuje standardni sloj)
+      embeddable_html: Ugradivi HTML kod
+      licence: Licenca
+      too_large:
+        advice: 'Ako gornji izvoz podataka ne uspije, molimo pokušajte sa nekim od
+          izvora navedenih ispod:'
+        body: 'Područje je preveliko da bi se izvezlo kao XML-podaci. Molimo povećajte
+          prikaz ili izaberite manju površinu. Možete koristiti jedan od izvora navedenih
+          ispod za masovno preuzimanje:'
+    key:
+      table:
+        entry:
+          motorway: Autoput
+          main_road: Glavna cesta
+          trunk: Brza cesta
+          primary: Primarna cesta
+          secondary: Sekundarna cesta
+          unclassified: Nerazvrstana cesta
+          track: Staza
+          bridleway: Konjička staza
+          cycleway: Biciklistička staza
+          cycleway_national: Državna biciklistička staza
+          cycleway_regional: Regionalna biciklistička staza
+          cycleway_local: Lokalna biciklistička staza
+          footway: Pješačka staza
+          rail: Željeznica
+          subway: Podzemna željeznica
+          tram:
+          - Laka željeznica
+          - tramvaj
+          cable:
+          - Kabinska žičara
+          - sedežnica
+          runway:
+          - Aerodromska pista
+          - rulna staza
+          apron:
+          - Parking za avione
+          - terminal
+          admin: Administrativna granica
+          forest: Šuma
+          wood: Šume (prirodne, neodržavane)
+          golf: Golf teren
+          park: Park
+          resident: Stambeno područje
+          common:
+          - Travnjaci
+          - livada
+          retail: Maloprodajno područje
+          industrial: Industrijsko područje
+          commercial: Poslovno područje
+          heathland: Vriština
+          lake:
+          - Jezero
+          - rezervoar
+          farm: Farma
+          brownfield: Gradilište
+          cemetery: Groblje
+          allotments: Vrtovi
+          pitch: Sportski teren
+          centre: Sportski centar
+          reserve: Rezervat prirode
+          military: Vojno područje
+          school:
+          - Škola
+          - univerzitet
+          building: Značajna zgrada
+          station: Željeznička stanica
+          summit:
+          - Vrh
+          - vrh
+    welcome:
+      title: Dobrodošli!
+      introduction: Dobrodošli u OpenStreetMap — slobodnu i uredljivu kartu svijeta.
+        Sada kada ste se prijavili, spremni ste za početak rada. Evo kratkog vodiča
+        s najvažnijim stvarima koje je potrebno znati.
+      whats_on_the_map:
+        title: Što ova karta sadrži
+        on_the_map_html: Na OpenStreetMap-u se mapiraju najrazčičitije %{real_and_current}
+          stvari — milijune objekata i zgrada, cesta i drugih detalja o mjestima.
+          Možete mapirati sve značajke stvarnog svijeta koje su vam zanimljive.
+        real_and_current: realne i trenutne
+        off_the_map_html: Ono što ovdje %{doesnt} uključuje su prosudbe i procjene,
+          povijesne (više ne postojeće) značajke, nagađanja i podaci iz izvora zaštićenih
+          autorskim pravima. Nemojte kopirati i crtati s internetskih karata ili karata
+          iz knjiga i atlasa, osim ako nemate posebno dopuštenje.
+        doesnt: ne
+      basic_terms:
+        title: Osnovni pojmovi za mapiranje
+        editor: uređivač
+  application:
+    settings_menu:
+      account_settings: Podešavanja računa
+      oauth1_settings: OAuth 1 postavke
+      oauth2_applications: OAuth 2 prilozi
+      oauth2_authorizations: OAuth 2 ovlaštenja
+  oauth:
+    authorize:
+      title: Autorizujte pristup svom računu
+      request_access_html: Izvršnik %{app_name} zahtjeva pristup vašem korisničkom
+        računu, %{user}. Odlučite se da li želite da izvršnik ima sljedeće mogućnosti.
+        Možete odabrati koliko joj pristupa želite dopustiti.
+      allow_to: 'Dozvoli klijentskoj aplikaciji da:'
+      allow_read_prefs: vam čita korisnička podešavanja.
+      allow_write_prefs: mijenja vaša korisnička podešavanja.
+      allow_write_diary: pravi unose u dnevniku, komentariše i dodaje prijatelje.
+      allow_write_api: mijenja kartu.
+      allow_read_gpx: vam čita vaše privatne GPS tragove.
+      allow_write_gpx: otprema GPS tragove.
+      allow_write_notes: mijenja bilješke.
+      grant_access: Dozvoli pristup
+    authorize_success:
+      title: Zahtjev za autorizaciju dopušten
+      allowed_html: Dali ste izvršniku %{app_name} pristup svom računu.
+      verification: Kod za potvrdu je %{code}.
+    authorize_failure:
+      title: Zahtjev za autorizaciju neuspješan
+      denied: Odbili ste izvršniku %{app_name} pristup svom računu.
+      invalid: Autorizacijski žeton nije važeći.
+    revoke:
+      flash: Opozvali ste žeton za %{application}
+    permissions:
+      missing: Niste dopustili pristup priloga ovom objektu
+    scopes:
+      read_prefs: Korisnička podešavanja čitanja
+      write_prefs: Promjena korisničkih postavki
+      write_diary: Pravljenje unosa u dnevniku, komentiranje i dodavanje prijatelja
+      write_api: Promjena karte
+      read_gpx: Čitanje privatnih GPS tragova
+      write_gpx: Otpremanje GPS tragova
+      write_notes: Promjena bilješki
+      read_email: Čitanje korisničke imejl adrese
+      skip_authorization: Automatsko odobravanje priloga
+  oauth_clients:
+    new:
+      title: Registriraj novi prilog
+    edit:
+      title: Uredi svoj prilog
+    show:
+      title: OAuth detalji za %{app_name}
+      key: 'Ključ potrošača:'
+      secret: 'Tajna potrošača:'
+  users:
+    new:
+      title: Prijava
+  javascripts:
+    directions:
+      instructions:
+        exit_counts:
+          first: "1."
+          second: "2."
+          third: "3."
+          fourth: "4."
+          fifth: "5."
+          sixth: "6."
+          seventh: "7."
+          eighth: "8."
+          ninth: "9."
+          tenth: "10."
+      time: Vrijeme
+    query:
+      node: Čvor
+      way: Put
+      relation: Relacija
+...
index ebf024269c63862a0cd3e2dd5bb411721150045b..4fba080b7cdba0052eb578398e834fc880a097e5 100644 (file)
@@ -314,6 +314,9 @@ skr-arab:
       comment: رائے
       newer_comments: نویں رائے
       older_comments: پراݨی رائے
+  doorkeeper:
+    scopes:
+      email: آپݨاں ای میل پتہ ݙیکھو
   errors:
     contact:
       contact: رابطہ
index 3958ff48f0f01df99b7beb52b9940a4c3bdf2c56..f55b5ffeffdca86551aecf1cb9d9ccb5af7dc063 100644 (file)
@@ -24,8 +24,6 @@ sl:
     formats:
       friendly: '%e. %B %Y ob %H:%M'
       blog: '%e %B %Y'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: Izberi datoteko
index f3f97f03a4056aa6bbc2d920b6e2522b82ca6ac6..2975ff3c20e3aca51e530650a93f75ad8266fcde 100644 (file)
@@ -40,6 +40,7 @@
 # Author: Shirayuki
 # Author: SteveR
 # Author: TomH
+# Author: Vil4ckc
 # Author: Vlad5250
 # Author: Ypryima
 # Author: Yurkoy
@@ -51,9 +52,7 @@
 uk:
   time:
     formats:
-      friendly: '%e %B %Y о %H:%M'
-  count:
-    at_least_pattern: '%{count}+'
+      friendly: '%e %B %Y в %H:%M'
   helpers:
     file:
       prompt: Обрати файл
index db4446c358c373209f8c5ba413e758d091aafd9f..5506dbd9cccdcb8df3767287a8890c6773203584 100644 (file)
@@ -88,8 +88,6 @@ zh-CN:
     formats:
       friendly: '%Y年%B%e日 %H:%M'
       blog: '%Y年%B%e日'
-  count:
-    at_least_pattern: '%{count}+'
   helpers:
     file:
       prompt: 选择文件
@@ -463,7 +461,7 @@ zh-CN:
         changeset: 变更集
         note: 注记
     redacted:
-      redaction: 修订 %{id}
+      redaction: 删改 %{id}
       message_html: 该%{type}版本 %{version} 无法显示,因为其已被删改。详情请见%{redaction_link}。
       type:
         node: 节点
index 6ffdfedbb8b49cad94f9e0e1b620dd35420b891d..b6f631b5a832298318c169c95873706107470c28 100644 (file)
@@ -593,10 +593,34 @@ zh-TW:
       newer_comments: 較新的評論
       older_comments: 較舊的評論
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: 授權伺服器需要終端使用者選擇
+        consent_required: 授權伺服器需要終端使用者同意
+        interaction_required: 授權伺服器需要終端使用者互動
+        login_required: 授權伺服器需要終端使用者身份驗證
     flash:
       applications:
         create:
           notice: 應用程式已註冊。
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: 因 Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner
+            缺少設置導致失敗。
+          reauthenticate_resource_owner_not_configured: 因 Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner
+            缺少設置導致失敗。
+          resource_owner_from_access_token_not_configured: 因 Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token
+            缺少設置導致失敗。
+          select_account_for_resource_owner_not_configured: 因 Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner  缺少設置導致失敗。
+          subject_not_configured: 因 Doorkeeper::OpenidConnect.configure.subject 缺少配置,產生
+            ID 權杖失敗。
+    scopes:
+      address: 查看您的實際地址
+      email: 查看您的電子郵件位址
+      openid: 驗證您的帳號
+      phone: 查看您的電話號碼
+      profile: 查看您的個人資訊
   errors:
     contact:
       contact_url_title: 各種聯絡管道說明
@@ -2396,6 +2420,7 @@ zh-TW:
     permissions:
       missing: 您尚未允許應用程式來訪問此設施
     scopes:
+      openid: 使用 OpenStreetMap 登入
       read_prefs: 讀取使用者偏好設定
       write_prefs: 修改使用者偏好設定
       write_diary: 建立日記、評論和加入好友
index 70bc391a0ab0672d944dadfa7ad1ec2535babeb8..103e7fcc9aa8312d9d143769264d6c9f71b521be 100644 (file)
@@ -1,7 +1,7 @@
 # NOTE: only doing this in development as some production environments (Heroku)
 # NOTE: are sensitive to local FS writes, and besides -- it's just not proper
 # NOTE: to have a dev-mode tool do its thing in production.
-if Rails.env.development?
+if Rails.env.development? || Rails.env.test?
   task :set_annotation_options => :environment do
     # You can override any of these by setting an environment variable of the
     # same name.
index bde99b23e26e3c4564fb8a8ff9de0f5da3601c09..c1a15779ef2f9298dd8f084fbc7eb9b9e245e8d8 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@8.50.0":
-  version "8.50.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484"
-  integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==
+"@eslint/js@8.51.0":
+  version "8.51.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa"
+  integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==
 
 "@humanwhocodes/config-array@^0.11.11":
   version "0.11.11"
@@ -224,14 +224,14 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
   integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
 eslint@^8.0.0:
-  version "8.50.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2"
-  integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==
+  version "8.51.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3"
+  integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^2.1.2"
-    "@eslint/js" "8.50.0"
+    "@eslint/js" "8.51.0"
     "@humanwhocodes/config-array" "^0.11.11"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"