]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/4304'
authorTom Hughes <tom@compton.nu>
Fri, 20 Oct 2023 16:11:13 +0000 (17:11 +0100)
committerTom Hughes <tom@compton.nu>
Fri, 20 Oct 2023 16:11:13 +0000 (17:11 +0100)
13 files changed:
app/assets/javascripts/index/directions.js
app/assets/stylesheets/common.scss
app/assets/stylesheets/print.scss
app/helpers/geocoder_helper.rb
app/views/geocoder/error.html.erb
app/views/layouts/map.html.erb
config/locales/el.yml
config/locales/es.yml
config/locales/nb.yml
config/locales/pl.yml
config/locales/tr.yml
test/controllers/geocoder_controller_test.rb
test/helpers/geocoder_helper_test.rb

index c86c8ad02ccde0813d9ae03c6011505bd6933536..ef37e73caf42005bdedba351b53ff28c7cd4e9ce 100644 (file)
@@ -244,7 +244,7 @@ OSM.Directions = function (map) {
         map.removeLayer(polyline);
 
         if (reportErrors) {
-          $("#sidebar_content").html("<p class=\"search_results_error\">" + I18n.t("javascripts.directions.errors.no_route") + "</p>");
+          $("#sidebar_content").html("<div class=\"alert alert-danger\">" + I18n.t("javascripts.directions.errors.no_route") + "</div>");
         }
 
         return;
@@ -307,7 +307,7 @@ OSM.Directions = function (map) {
         var row = $("<tr class='turn'/>");
         row.append("<td class='border-0'><div class='direction i" + direction + "'/></td> ");
         row.append("<td>" + instruction);
-        row.append("<td class='distance'>" + dist);
+        row.append("<td class='distance text-muted text-end'>" + dist);
 
         row.on("click", function () {
           popup
index ae5ae2a239f1f0bf321651b27d266e3a1ed354ed..4b62b9af50d31bcb8efd1e83183c6a25745eb42f 100644 (file)
@@ -565,10 +565,6 @@ body.small-nav {
 
 /* Rules for attribution text under the main map shown on printouts */
 
-#attribution {
-  display: none;
-}
-
 .donate-attr { color: darken($green, 10%) !important; }
 
 /* Rules for the sidebar */
@@ -638,9 +634,8 @@ header .search_forms,
 /* Rules for search sidebar */
 
 #sidebar .search_results_entry {
-  ul li {
-    cursor: pointer;
-    &.selected { background: $list-highlight; }
+  ul li.selected {
+    background: $list-highlight;
   }
 
   .search_more .loader {
@@ -648,11 +643,6 @@ header .search_forms,
   }
 }
 
-.search_results_error {
-  color: #f00;
-  padding: 10px 20px;
-}
-
 /* Rules for routing */
 
 div.direction {
@@ -666,8 +656,6 @@ div.direction.i#{$i} { background-position: #{($i)*-20}px 0px; }
 }
 
 td.distance {
-    color: $darkgrey;
-    text-align: right;
     font-size: x-small;
 }
 tr.turn {
index a4afdf576e7e7261956fcd00345ac491bd432db2..35700fc5f2f4c91eb0110b40541b17c4a5f9dcb0 100644 (file)
@@ -55,18 +55,12 @@ header,
   page-break-inside: avoid;
   height: 40px;
   font-size: 12px;
-  text-align: center;
 
   table {
     width: 100%
   }
 }
 
-.attribution_license,
-.attribution_project {
-  text-align: left;
-}
-
 .attribution_notice {
   text-align: center;
 }
index 1826b08a4f269354e52d44f7eb8d1ca0cd50e7ff..f819c1ac5ca665607218f671512988a7d7466b12 100644 (file)
@@ -1,6 +1,6 @@
 module GeocoderHelper
   def result_to_html(result)
-    html_options = { :class => "set_position", :data => {} }
+    html_options = { :class => "set_position stretched-link", :data => {} }
 
     url = if result[:type] && result[:id]
             url_for(:controller => :browse, :action => result[:type], :id => result[:id])
index c4b6f8964bb2b3fbd15b867e87e09789e8fbe7de..37a2f869e0182c260afd111492cedd6377e81400 100644 (file)
@@ -1 +1 @@
-<p class="search_results_error"><%= h(@error) %></p>
+<div class="alert alert-danger mx-2 px-2"><%= h(@error) %></div>
index 377f961499cb7154f07a712701330ad867268cf3..adb0cd8a6a3bdaac4815d217ad27541086d55a9a 100644 (file)
   <div id="map" tabindex="2">
   </div>
 
-  <div id="attribution">
+  <div id="attribution" class="d-none">
     <table>
       <tr>
-        <td class="attribution_license"><%= t "site.index.license.license_url" %></td>
-        <td class="attribution_project"><%= t "site.index.license.project_url" %></td>
+        <td><%= t "site.index.license.license_url" %></td>
+        <td><%= t "site.index.license.project_url" %></td>
       </tr>
       <tr>
         <td colspan="2" class="attribution_notice"><%= t "site.index.license.copyright" %></td>
index b570c6a17ffdc460c03f10d9a2a24524644939c1..07a28c859e2178897279ef87bd2364cac8f82992 100644 (file)
@@ -21,6 +21,7 @@
 # Author: Kongr43gpen
 # Author: Logictheo
 # Author: Macofe
+# Author: McDutchie
 # Author: Michail Angelos Georgoulas
 # Author: Mixasgr
 # Author: NikosLikomitros
index cf001030a8a86e52336896872704e9d2445fd993..7bde15e21ccc21f34afc81ddb813bf115719e624 100644 (file)
@@ -79,6 +79,7 @@
 # Author: Pompilos
 # Author: Remux
 # Author: Reverse88
+# Author: Robot8A
 # Author: Rodhos
 # Author: Rodm23
 # Author: Rodney Araujo
@@ -682,10 +683,35 @@ es:
       messages:
         account_selection_required: El servidor de autorización requiere la selección
           de la cuenta del usuario final
+        consent_required: El servidor de autorización requiere el consentimiento del
+          usuario final
+        interaction_required: El servidor de autorización requiere interacción con
+          el usuario final
+        login_required: El servidor de autorización requiere la autenticación del
+          usuario final
     flash:
       applications:
         create:
           notice: Aplicación registrada.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Fallo debido a la configuración
+            faltante de Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner.
+          reauthenticate_resource_owner_not_configured: Fallo debido a la configuración
+            faltante de Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner.
+          resource_owner_from_access_token_not_configured: Fallo debido a la configuración
+            faltante de Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token.
+          select_account_for_resource_owner_not_configured: Fallo debido a la configuración
+            faltante de Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner.
+          subject_not_configured: La generación de tokens de identificación falló
+            debido a la configuración faltante de Doorkeeper::OpenidConnect.configure.subject.
+    scopes:
+      address: Ver tu dirección física
+      email: Ver tu dirección de correo electrónico
+      openid: Autentica tu cuenta
+      phone: Ver tu número de teléfono
+      profile: Ver la información de tu perfil
   errors:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/ES:Canales_de_contacto
@@ -2202,7 +2228,7 @@ es:
           2010-2023.
         contributors_gb_united_kingdom: Reino Unido
         contributors_2_html: Para obtener más detalles de estas y otras fuentes que
-          se han utilizado para ayudar a mejorar OpenStreetMap, consultq el %{contributors_page_link}
+          se han utilizado para ayudar a mejorar OpenStreetMap, consulta la %{contributors_page_link}
           en el Wiki de OpenStreemMap.
         contributors_2_contributors_page: Página de colaboradores
         contributors_2_contributors_page_url: https://wiki.openstreetmap.org/wiki/ES:Colaboradores
@@ -2688,6 +2714,7 @@ es:
     permissions:
       missing: No has permitido que la aplicación acceda a esta instalación.
     scopes:
+      openid: Iniciar sesión usando OpenStreetMap
       read_prefs: Leer preferiencias de usuario
       write_prefs: Modificar las preferencias de usuario
       write_diary: Crear entradas del diario, comentarios y hacer amigos
index 6d8323aab45a8da327ce43f4cf0bec5a60a355df..8c842cbb3643b197a118840ba478d6d0feb661f0 100644 (file)
@@ -52,6 +52,7 @@ nb:
         create: Registrer
         update: Oppdater
       oauth2_application:
+        create: Registrer deg
         update: Oppdater
       redaction:
         create: Lag maskering
@@ -127,6 +128,7 @@ nb:
       doorkeeper/application:
         name: Navn
         redirect_uri: Omdirigerings-URI-er
+        confidential: Konfidensiell søknad?
         scopes: Tillatelser
       friend:
         user: Bruker
@@ -564,6 +566,9 @@ nb:
       success: '%{name} ble fjernet fra dine venner'
       not_a_friend: '%{name} er ikke en av dine venner.'
   geocoder:
+    search:
+      title:
+        latlon: Intern
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -895,13 +900,14 @@ nb:
           fitness_station: Treningsstudio
           garden: Hage
           golf_course: Golfbane
-          horse_riding: Ridning
+          horse_riding: Ridesenter
           ice_rink: Skøytebane
           marina: Båthavn
           miniature_golf: Minigolf
           nature_reserve: Naturreservat
           outdoor_seating: Utendørs sitteplass
           park: Park
+          picnic_table: Piknikbord
           pitch: Sportsarena
           playground: Lekeplass
           recreation_ground: Rekreasjonsområde
@@ -1103,6 +1109,7 @@ nb:
           car_repair: Bilverksted
           carpet: Teppebutikk
           charity: Veldedighetsbutikk
+          cheese: Ostebutikk
           chemist: Kjemiker
           chocolate: Sjokolade
           clothes: Klesbutikk
@@ -1112,6 +1119,8 @@ nb:
           convenience: Nærbutikk
           copyshop: Kopieringsbutikk
           cosmetics: Kosmetikkforretning
+          craft: Hobbybutikk
+          curtain: Gardinbutikk
           deli: Delikatessebutikk
           department_store: Varehus
           discount: Tilbudsbutikk
@@ -1139,6 +1148,7 @@ nb:
           kiosk: Kiosk
           kitchen: Kjøkkenbutikk
           laundry: Vaskeri
+          locksmith: Låsesmed
           lottery: Lotteri
           mall: Kjøpesenter
           massage: Massasjeinstitutt
@@ -1163,6 +1173,7 @@ nb:
           stationery: Papirbutikk
           supermarket: Supermarked
           tailor: Skredder
+          tattoo: Tatoveringsstudio
           tea: Tehandel
           ticket: Billettformidler
           tobacco: Tobakkshandler
@@ -1181,7 +1192,7 @@ nb:
           artwork: Kunstverk
           attraction: Attraksjon
           bed_and_breakfast: Bed and Breakfast
-          cabin: Hytte
+          cabin: Turisthytte
           camp_site: Teltplass
           caravan_site: Campingplass
           chalet: Fjellhytte
index 0c8b6a912b4c81fb5ef2a0055fe434f550dddd34..f32c4267cb2ad01ef8cfbe0623c2ece925c6c100 100644 (file)
@@ -320,6 +320,7 @@ pl:
         reopened_at_by_html: Ponownie aktywowano %{when} przez %{user}
       rss:
         title: Uwagi OpenStreetMap
+        description_all: Lista zgłoszonych, skomentowanych lub zamkniętych uwag
         description_area: Lista uwag stworzonych, skomentowanych lub zamkniętych w
           twojej okolicy [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Kanał RSS uwagi %{id}
@@ -679,7 +680,11 @@ pl:
         create:
           notice: Zarejestrowano aplikację.
     scopes:
+      address: Wyświetl swój adres
       email: Zobacz swój adres e-mail
+      openid: Uwierzytelnij swoje konto
+      phone: Wyświetl swój numer telefonu
+      profile: Wyświetl informacje o swoim profilu
   errors:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/Pl:Sposoby_komunikacji
@@ -2018,9 +2023,11 @@ pl:
         czy dane w OSM są dokładne i aktualne.
       community_driven_title: Zarządzany przez społeczność
       community_driven_osm_blog: Blog OpenStreetMap
+      community_driven_user_diaries: dzienniki użytkowników
       community_driven_community_blogs: blogi społecznościowe
       community_driven_osm_foundation: Fundacja OSM
       open_data_title: Otwarte dane
+      open_data_copyright_license: Strona dotycząca praw autorskich i licencji
       legal_title: Pytania prawne
       legal_1_1_openstreetmap_foundation: Fundacja OpenStreetMap
       legal_1_1_terms_of_use: Warunki użytkowania
@@ -2587,6 +2594,7 @@ pl:
     permissions:
       missing: Nie zezwoliłeś aplikacji na dostęp do tej funkcji
     scopes:
+      openid: Zaloguj się za pomocą OpenStreetMap
       read_prefs: Odczytywanie preferencji użytkownika
       write_prefs: Modyfikowanie preferencji użytkownika
       write_diary: Tworzenie wpisów w dzienniku, dodawanie komentarzy i nawiązywanie
@@ -2774,6 +2782,7 @@ pl:
       remove as friend: usuń ze znajomych
       add as friend: dodaj do znajomych
       mapper since: 'Mapuje od:'
+      uid: 'Identyfikator użytkownika:'
       ct status: 'Warunki uczestnictwa:'
       ct undecided: niezdecydowane
       ct declined: odrzucone
index 301b5d8cd29b973af586225673adb8671b98c005..637e0b9ffbb80504bd74875b8378e5d6d510d79d 100644 (file)
@@ -627,10 +627,37 @@ tr:
       newer_comments: Daha Yeni Yorumlar
       older_comments: Daha Eski Yorumlar
   doorkeeper:
+    errors:
+      messages:
+        account_selection_required: Yetkilendirme sunucusu son kullanıcı hesabı seçimini
+          gerektiriyor
+        consent_required: Yetkilendirme sunucusu son kullanıcının onayını gerektiriyor
+        interaction_required: Yetkilendirme sunucusu son kullanıcı etkileşimini gerektiriyor
+        login_required: Yetkilendirme sunucusu son kullanıcı kimlik doğrulamasını
+          gerektiriyor
     flash:
       applications:
         create:
           notice: Uygulama Kayıtlı.
+    openid_connect:
+      errors:
+        messages:
+          auth_time_from_resource_owner_not_configured: Doorkeeper::OpenidConnect.configure.auth_time_from_resource_owner
+            eksik yapılandırmasından kaynaklanan hata.
+          reauthenticate_resource_owner_not_configured: Doorkeeper::OpenidConnect.configure.reauthenticate_resource_owner
+            eksik yapılandırmasından kaynaklanan hata.
+          resource_owner_from_access_token_not_configured: Doorkeeper::OpenidConnect.configure.resource_owner_from_access_token
+            eksik yapılandırmasından kaynaklanan hata.
+          select_account_for_resource_owner_not_configured: Doorkeeper::OpenidConnect.configure.select_account_for_resource_owner
+            eksik yapılandırmasından kaynaklanan hata.
+          subject_not_configured: Kimlik Belirteci oluşturma, Doorkeeper::OpenidConnect.configure.subject
+            eksik yapılandırması nedeniyle başarısız oldu.
+    scopes:
+      address: Fiziksel adresinizi görüntüleyin
+      email: E-posta adresinizi görüntüleyin
+      openid: Hesabınızı doğrulayın
+      phone: Telefon numaranızı görüntüleyin
+      profile: Profil bilgilerinizi görüntüleyin
   errors:
     contact:
       contact_url_title: Çeşitli iletişim kanalları açıklandı
@@ -2616,6 +2643,7 @@ tr:
     permissions:
       missing: Uygulamanın bu özelliğe erişimine izin vermediniz
     scopes:
+      openid: OpenStreetMap'i kullanarak oturum açın
       read_prefs: Kullanıcı tercihlerini oku
       write_prefs: Kullanıcı tercihlerini değiştir
       write_diary: Günlük girdiler, yorumlar oluştur ve arkadaşlar edin
@@ -3094,6 +3122,7 @@ tr:
         cyclosm: CyclOSM
         cycle_map: Bisiklet Haritası
         transport_map: Ulaşım Haritası
+        tracestracktop_topo: Tracestrack Topo
         hot: İnsancıl
         opnvkarte: ÖPNVKarte
       layers:
@@ -3113,6 +3142,8 @@ tr:
       andy_allan: Andy Allan
       opnvkarte_credit: Döşemeler, %{memomaps_link} katkılarıyla
       memomaps: MeMo Haritaları
+      tracestrack_credit: Döşemeler, %{tracestrack_link} katkılarıyla
+      tracestrack: Tracestrack
       hotosm_credit: '%{osm_france_link} tarafından barındırılan %{hotosm_link} döşeme
         tarzı'
       hotosm_name: İnsani OpenStreetMap Ekibi
index dd740e57034e749798736eb47f400067fe0aba07..d62eb35b7a19462ab6d7fcbd992f553cafaf141a 100644 (file)
@@ -415,6 +415,6 @@ class GeocoderControllerTest < ActionDispatch::IntegrationTest
     assert_response :success
     assert_template :error
     assert_template :layout => nil
-    assert_select "p.search_results_error", error
+    assert_select ".alert.alert-danger", error
   end
 end
index e7ef180655463326d59f90f767dd7c262b6e35cb..1be1b72a5847150e595ec7b29333286c2fa4f4a2 100644 (file)
@@ -3,21 +3,21 @@ require "test_helper"
 class GeocoderHelperTest < ActionView::TestCase
   def test_result_to_html
     html = result_to_html(:lat => 1.23, :lon => 4.56, :zoom => 16, :name => "Name")
-    assert_dom_equal '<a class="set_position" data-lat="1.23" data-lon="4.56" data-zoom="16" data-name="Name" href="/#map=16/1.23/4.56">Name</a>', html
+    assert_dom_equal '<a class="set_position stretched-link" data-lat="1.23" data-lon="4.56" data-zoom="16" data-name="Name" href="/#map=16/1.23/4.56">Name</a>', html
 
     html = result_to_html(:lat => 1.23, :lon => 4.56, :zoom => 16, :prefix => "Prefix", :name => "Name")
-    assert_dom_equal 'Prefix <a class="set_position" data-lat="1.23" data-lon="4.56" data-zoom="16" data-prefix="Prefix" data-name="Name" href="/#map=16/1.23/4.56">Name</a>', html
+    assert_dom_equal 'Prefix <a class="set_position stretched-link" data-lat="1.23" data-lon="4.56" data-zoom="16" data-prefix="Prefix" data-name="Name" href="/#map=16/1.23/4.56">Name</a>', html
 
     html = result_to_html(:lat => 1.23, :lon => 4.56, :zoom => 16, :name => "Name", :suffix => "Suffix")
-    assert_dom_equal '<a class="set_position" data-lat="1.23" data-lon="4.56" data-zoom="16" data-name="Name" data-suffix="Suffix" href="/#map=16/1.23/4.56">Name</a> Suffix', html
+    assert_dom_equal '<a class="set_position stretched-link" data-lat="1.23" data-lon="4.56" data-zoom="16" data-name="Name" data-suffix="Suffix" href="/#map=16/1.23/4.56">Name</a> Suffix', html
 
     html = result_to_html(:lat => 1.23, :lon => 4.56, :zoom => 16, :prefix => "Prefix", :name => "Name", :suffix => "Suffix")
-    assert_dom_equal 'Prefix <a class="set_position" data-lat="1.23" data-lon="4.56" data-zoom="16" data-prefix="Prefix" data-name="Name" data-suffix="Suffix" href="/#map=16/1.23/4.56">Name</a> Suffix', html
+    assert_dom_equal 'Prefix <a class="set_position stretched-link" data-lat="1.23" data-lon="4.56" data-zoom="16" data-prefix="Prefix" data-name="Name" data-suffix="Suffix" href="/#map=16/1.23/4.56">Name</a> Suffix', html
 
     html = result_to_html(:type => "node", :id => 123456, :name => "Name")
-    assert_dom_equal '<a class="set_position" data-type="node" data-id="123456" data-name="Name" href="/node/123456">Name</a>', html
+    assert_dom_equal '<a class="set_position stretched-link" data-type="node" data-id="123456" data-name="Name" href="/node/123456">Name</a>', html
 
     html = result_to_html(:min_lat => 1.23, :max_lat => 4.56, :min_lon => -1.23, :max_lon => 2.34, :name => "Name")
-    assert_dom_equal '<a class="set_position" data-min-lat="1.23" data-max-lat="4.56" data-min-lon="-1.23" data-max-lon="2.34" data-name="Name" href="/?bbox=-1.23,1.23,2.34,4.56">Name</a', html
+    assert_dom_equal '<a class="set_position stretched-link" data-min-lat="1.23" data-max-lat="4.56" data-min-lon="-1.23" data-max-lon="2.34" data-name="Name" href="/?bbox=-1.23,1.23,2.34,4.56">Name</a', html
   end
 end