From 329ccd2560917ba0f29a9f793c1741a4ccbb12e2 Mon Sep 17 00:00:00 2001 From: sonora Date: Mon, 18 May 2020 23:21:48 +0200 Subject: [PATCH 001/509] Combine Save GPX with Stop action --- OsmAnd/res/values/strings.xml | 2 +- .../net/osmand/plus/monitoring/OsmandMonitoringPlugin.java | 3 +++ .../src/net/osmand/plus/notifications/GpxNotification.java | 7 ++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 190461e9ee..010e63866b 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -2071,7 +2071,7 @@ On demand track logging General position logging to a GPX file can be turned on or off using the GPX logging widget on the map. Save current track as GPX file now. - Save current track + Stop and save current track Auto-record track during navigation A GPX track is automatically saved to the tracks folder during navigation. Logging interval diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index 2a81894017..4809a318ea 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -393,6 +393,9 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { public void saveCurrentTrack(@Nullable final Runnable onComplete, @Nullable Activity activity) { + // #8911: Include stopRecording in saveCurrentTrack + stopRecording(); + final WeakReference activityRef = activity != null ? new WeakReference<>(activity) : null; app.getTaskManager().runInBackground(new OsmAndTaskRunnable() { diff --git a/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java b/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java index dfb955c610..e853785459 100644 --- a/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java +++ b/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java @@ -44,9 +44,10 @@ public class GpxNotification extends OsmandNotification { final OsmandMonitoringPlugin plugin = OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class); if (plugin != null) { plugin.saveCurrentTrack(); - if (!app.getSettings().SAVE_GLOBAL_TRACK_TO_GPX.get()) { - plugin.stopRecording(); - } + // #8911: Include stopRecording in saveCurrentTrack + //if (!app.getSettings().SAVE_GLOBAL_TRACK_TO_GPX.get()) { + // plugin.stopRecording(); + //} } } }, new IntentFilter(OSMAND_SAVE_GPX_SERVICE_ACTION)); From 0032123359616465219a6c1c0734b37d4829f1b3 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 19 May 2020 16:41:56 +0300 Subject: [PATCH 002/509] Revert string changes --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 742a740f3e..c59d5301a9 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -50,7 +50,7 @@ Extra maps Combine POI types from different categories. Tapping \"Switch\" selects all, and the left side selects category. Search for POI types - Your Google Play account is charged after confirmation, and for the same period (month/three month/year) upon renewal, (unless canceled from its settings). + Payment will be charged to your Google Play account at the confirmation of purchase.\n\n Subscription automatically renews unless it is canceled before the renewal date. Your account will be charged for renewal period(month/three month/year) only on the renewal date.\n\n You can manage and cancel your subscriptions by going to your Google Play settings. %1$s / %2$s Custom color Lombard From 42f772ae7be74a6001f5e1dee99d35b39d130201 Mon Sep 17 00:00:00 2001 From: vshcherb Date: Tue, 19 May 2020 17:51:56 +0200 Subject: [PATCH 003/509] Update strings.xml --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 010e63866b..190461e9ee 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -2071,7 +2071,7 @@ On demand track logging General position logging to a GPX file can be turned on or off using the GPX logging widget on the map. Save current track as GPX file now. - Stop and save current track + Save current track Auto-record track during navigation A GPX track is automatically saved to the tracks folder during navigation. Logging interval From 515198443d0b902ab7ca8028c30489e96753c283 Mon Sep 17 00:00:00 2001 From: vshcherb Date: Tue, 19 May 2020 17:53:26 +0200 Subject: [PATCH 004/509] Update OsmandMonitoringPlugin.java --- .../src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index 4809a318ea..8656c01019 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -392,8 +392,6 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { } public void saveCurrentTrack(@Nullable final Runnable onComplete, @Nullable Activity activity) { - - // #8911: Include stopRecording in saveCurrentTrack stopRecording(); final WeakReference activityRef = activity != null ? new WeakReference<>(activity) : null; From a450e02a77eb9be3ef0f245b3cf1df161a56ea46 Mon Sep 17 00:00:00 2001 From: vshcherb Date: Tue, 19 May 2020 17:54:11 +0200 Subject: [PATCH 005/509] Update GpxNotification.java --- OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java b/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java index e853785459..b84640bcfe 100644 --- a/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java +++ b/OsmAnd/src/net/osmand/plus/notifications/GpxNotification.java @@ -44,10 +44,6 @@ public class GpxNotification extends OsmandNotification { final OsmandMonitoringPlugin plugin = OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class); if (plugin != null) { plugin.saveCurrentTrack(); - // #8911: Include stopRecording in saveCurrentTrack - //if (!app.getSettings().SAVE_GLOBAL_TRACK_TO_GPX.get()) { - // plugin.stopRecording(); - //} } } }, new IntentFilter(OSMAND_SAVE_GPX_SERVICE_ACTION)); From 03d012f7951053fe0bc979fdb5f57914906ad9b3 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Tue, 19 May 2020 10:38:00 +0000 Subject: [PATCH 006/509] Translated using Weblate (French) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-fr/strings.xml | 72 +++++++++++++++++--------------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index d857b332ea..8f3822e5c7 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -179,8 +179,7 @@ Installer plus… Utiliser les cartes matricielles (raster) à partir de ce niveau de zoom. Niveau de zoom vectoriel minimal - - OSM en ligne classification des cartes en images + OSM en ligne classification des cartes avec images. Impossible d\'effectuer la recherche hors-ligne. Rechercher par geo location Système @@ -396,8 +395,8 @@ Sélectionnez l\'arrêt où descendre parcourir ensuite parcourir au préalable - nombre d\'arrêts : - Distance de l\'itinéraire : + nombre d\'arrêts + Distance de l\'itinéraire Transport OK Afficher les arrêts de transport publics sur la carte @@ -410,10 +409,10 @@ Zoomer permet de mettre à jour les points d\'intérêt Mettre à jour les points d\'intérêt Mettre à jour les données locales via Internet ? - Ville :\n{0} - Rue :\n{0}\n{1} - Intersection :\n{0} x {1} à {2} - Bâtiment :\n{0} {1}\n{2} + Ville : {0} + Rue : {0}, {1} + Intersection : {0} x {1} à {2} + Bâtiment : {0}, {1}, {2} Favoris Tout supprimer Historique @@ -466,12 +465,12 @@ L\'itinéraire calculé est vide. Itinéraire recalculé, distance Vous êtes arrivés. - Coordonnées invalides ! + Coordonnées invalides Retourner à la carte Fermer Chargement des données Lecture des index… - Oups … OsmAnd a planté. Souhaitez-vous nous envoyer le fichier journal ? + La dernière exécution d\'OsmAnd a plantée. Le fichier journal se trouve sur {0}. Veuillez signaler cette anomalie et joindre le fichier journal. Enregistrement du fichier GPX… Terminé Utiliser Internet pour calculer l\'itinéraire @@ -2174,11 +2173,11 @@ Sous-couche de la carte modifiée pour « %s ». Ouvrir un code d\'emplacement Code d\'emplacement incorrect - - Code d\'emplacement court -Merci d\'indiquer un code long +\n + Code d\'emplacement court. +\nMerci d\'indiquer un code long. Code d\'emplacement valide -représentant la zone : %1$s x %2$s +\nreprésentant la zone : %1$s x %2$s Découper automatiquement les enregistrements Débuter un nouveau segment après une interruption de 6 min, une nouvelle trace après 2 h ou un nouveau fichier en cas de changement de date. Bouton pour faire défiler la liste ci-dessous. @@ -2240,7 +2239,7 @@ représentant la zone : %1$s x %2$s \n • Téléversez des traces GPX vers OSM directement depuis l\'application \n • Ajoutez des Points d\'intérêt et téléversez-les vers OSM (immédiatement ou plus tard si vous êtes hors ligne) \n - Couverture et qualité des cartes (de 1 à 4 étoiles) + Couverture et qualité des cartes (de 1 à 4 étoiles) : \n • Europe de l\'Ouest : **** (4) \n • Europe de l\'Est : *** (3) \n • Russie : *** (3) @@ -2251,13 +2250,15 @@ représentant la zone : %1$s x %2$s \n • Moyen-Orient : ** (2) \n • Afrique : ** (2) \n • Antarctique : * (1) -\n La grande majorité des pays sont couverts de l\'Afghanistan au Zimbabwe, téléchargez les cartes dont vous avez besoin ! +\n La grande majorité des pays sont couverts de l\'Afghanistan au Zimbabwe, téléchargez les cartes dont vous avez besoin ! +\n Polices de caractères sur la carte - Fonctions liées à la sécurité -\n • Bascule automatique en mode jour / nuit (option) -\n • Affichage des limitations de vitesse avec rappels en cas de dépassement (option) -\n • Zoom adapté à la vitesse (option) -\n • Partage de votre position afin qu\'on puisse vous rejoindre rapidement + Fonctions liées à la sécurité +\n • Bascule automatique en mode jour / nuit (option) +\n • Affichage des limitations de vitesse avec rappels en cas de dépassement (option) +\n • Zoom adapté à la vitesse (option) +\n • Partage de votre position afin qu\'on puisse vous rejoindre rapidement +\n Restaurer vos achats Visible Contribuez concrètement à l\'amélioration d\'OpenStreetMap : @@ -2269,7 +2270,7 @@ représentant la zone : %1$s x %2$s \nOsmAnd est une application open source très active. Toutes les contributions sont bienvenues que ce soit en signalant des bugs, en participant à la traduction ou en développant de nouvelles fonctionnalités. Grâce aux interactions entre les utilisateurs et les développeurs l\'application est en évolution permanente. Le projet est bien sûr ouvert à toute participation financière pour accélérer encore son développement. \n Analyser sur la carte - OsmAnd+ (OpenStreetMap Automated Navigation and Directions) est une application de visualisation de cartes et de navigation utilisant les données gratuites couvrant le monde entier du projet OpenStreetMap. Bénéficiez d\'un guidage vocal comme visuel ; découvrez des points d\'intérêt ; créez et gérez des traces GPX ; installez des greffons pour visualiser l\'altitude et les courbes de niveaux ; utilisez les modes Automobile, Piéton, Cycliste ; contribuez à l\'amélioration des cartes et bien plus encore ! + OsmAnd+ (OpenStreetMap Automated Navigation and Directions) est une application de visualisation de cartes et de navigation utilisant les données gratuites couvrant le monde entier du projet OpenStreetMap. Bénéficiez d\'un guidage vocal comme visuel ; découvrez des points d\'intérêt ; créez et gérez des traces GPX ; installez des greffons pour visualiser l\'altitude et les courbes de niveaux ; utilisez les modes Automobile, Piéton, Cycliste ; contribuez à l\'amélioration des cartes et bien plus encore ! \n \nOsmAnd+ est la version payante de l\'application, en l\'achetant vous supportez le projet, financez le développement de nouvelles fonctionnalités et recevez les dernières mises à jour. \n @@ -2353,14 +2354,15 @@ représentant la zone : %1$s x %2$s \n • Possibilité d\'ajouter des points de passage à votre itinéraire \n • Enregistrez votre itinéraire au format GPX ou téléversez une trace GPX existante et suivez-la \n - Carte -\n • Affichage des points d’intérêt autour de vous -\n • Orientation de la carte selon votre direction de déplacement (ou selon la boussole) -\n • Indication de votre position et de votre orientation -\n • Partagez votre position pour que vos proches puissent vous trouver -\n • Enregistrez vos endroits préférés comme Favoris -\n • Sélectionnez les noms affichés sur la carte : en anglais, noms locaux ou phonétique -\n • Affichez des tuiles en lignes spécialisées, la vue satellite (source Bing), un itinéraires GPX et bien d\'autres couches avec transparence personnalisée + Carte +\n • Affichage des points d’intérêt autour de vous +\n • Orientation de la carte selon votre direction de déplacement (ou selon la boussole) +\n • Indication de votre position et de votre orientation +\n • Partagez votre position pour que vos proches puissent vous trouver +\n • Enregistrez vos endroits préférés comme Favoris +\n • Sélectionnez les noms affichés sur la carte : en anglais, noms locaux ou phonétique +\n • Affichez des tuiles en lignes spécialisées, la vue satellite (source Bing), un itinéraires GPX et bien d\'autres couches avec transparence personnalisée +\n Cyclisme \n • Trouvez des pistes cyclables sur la carte \n • Le guidage GPS en mode vélo calcule votre itinéraire en empruntant les pistes cyclables @@ -2482,7 +2484,8 @@ représentant la zone : %1$s x %2$s \n• En option : indication des voies, affichage du nom des rues et de l\'heure estimée d\'arrivée \n• Ajout d\'étapes sur votre itinéraire \n• Recalcule automatique de la route si vous vous écartez de l\'itinéraire -\n• Recherchez des lieux par adresse, par type (par exemple : restaurant, hôtel, station-service, musée) ou par coordonnées géographiques +\n• Recherchez des lieux par adresse, par type (par exemple : restaurant, hôtel, station-service, musée) ou par coordonnées géographiques +\n Affichage de la carte : \n• Affichez votre position et votre orientation \n• Orientez la carte au choix selon la boussole ou selon la direction de votre déplacement @@ -2738,7 +2741,7 @@ représentant la zone : %1$s x %2$s Vous pouvez contribuer aux articles sur Wikivoyage et ainsi partager vos connaissances, vos expériences et votre talent. Démarrer les modifications Obtenir un accès illimité - Bienvenue dans cette bêta ouverte ! + Bienvenue dans cette bêta publique Cartes avec courbes de niveaux et ombrage du relief Téléchargez les articles Wikipédia pour %1$s afin de pouvoir les lire hors ligne. Télécharger les données Wikipedia @@ -2750,7 +2753,7 @@ représentant la zone : %1$s x %2$s Application payante Greffon payant Destinations populaires - "Les guides de voyage s’appuient sur Wikivoyage. Durant la phase bêta, évaluez toutes les fonctionnalités gratuitement. Par la suite, les guides de voyage seront accessibles aux abonnés de OsmAnd illimité ainsi qu\'aux propriétaires d\'OsmAnd+. " + Les guides de voyage s’appuient sur Wikivoyage. Durant la phase bêta, évaluez toutes les fonctionnalités gratuitement. Par la suite, les guides de voyage seront accessibles aux abonnés de OsmAnd illimité ainsi qu\'aux propriétaires d\'OsmAnd+. Recherche de l\'article Wiki correspondant Équipe OsmAnd D\'après les articles que vous avez marqué comme favori, nous vous conseillons de télécharger les cartes suivantes : @@ -3030,7 +3033,7 @@ représentant la zone : %1$s x %2$s Métro À cheval Hélicoptère - "Vous pouvez ajouter votre propre version du fichier routing.xml dans ..osmand/routing" + Vous pouvez ajouter votre propre version du fichier routing.xml dans ..osmand/routing À ski Mode : %s Ski @@ -3702,4 +3705,5 @@ représentant la zone : %1$s x %2$s Reprendre Ajouter un profil Modifier le profil d\'application + Carte mondiale générale (plus détaillée) \ No newline at end of file From d16b34eaa9b806e10c9eae42d7014eb1b0b7a367 Mon Sep 17 00:00:00 2001 From: solokot Date: Tue, 19 May 2020 08:09:42 +0000 Subject: [PATCH 007/509] Translated using Weblate (Russian) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-ru/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index a4da84f49c..ba0721c392 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -1494,7 +1494,7 @@ Метки точек " \n -\nДолго удерживайте для просмотра на карте" +\nУдерживайте для просмотра на карте" Путевые точки: %1$s %1$s точек Точка %1$s @@ -3722,4 +3722,5 @@ Изменить профиль приложения Профили, выбранные для данного действия, не найдены. Продолжить + Мировая обзорная карта (подробная) \ No newline at end of file From e018944f2a10b9d9357dd12fecf8772979b6e13c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Tue, 19 May 2020 08:50:00 +0000 Subject: [PATCH 008/509] Translated using Weblate (Turkish) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-tr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 29e0cbc997..9d179360bc 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3678,4 +3678,5 @@ Profil ekle Uygulama profilini değiştir Bu eylem için seçilen profiller bulunamadı. + Dünya genel bakış haritası (ayrıntılı) \ No newline at end of file From c1535e746814c541bb30dace0054df4e3f237158 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 19 May 2020 08:17:28 +0000 Subject: [PATCH 009/509] Translated using Weblate (Hebrew) Currently translated at 99.9% (3338 of 3340 strings) --- OsmAnd/res/values-he/strings.xml | 38 ++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 008c34b797..d17979df8b 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -616,7 +616,7 @@ התקרבות למפה מאפשר עדכון נקודות עניין עדכון נ״ע לעדכן את הנתונים המקומיים שלך מהאינטרנט? - עיר:\n {0} + עיר: {0} שיטת מיקום לשימוש על ידי שירות הרקע: ספק מיקום מעקב אחר המיקום שלך כשהמסך כבוי. @@ -830,7 +830,7 @@ המסנן ‚%1$s’ נמחק המסנן ‚%1$s’ נוצר דוא״ל - רחוב:\n {0}, {1} + רחוב: {0}, {1} OsmAnd+‎ ‏(OSM הכוונת ניווט אוטומטית) \n \n OsmAnd+‎ הנו יישום ניווט בקוד פתוח עם גישה למגוון רחב של נתוני OSM. ניתן לשמור את כל נתוני המפה על כרטיס הזיכרון של הטלפון לצורך שימוש ללא אינטרנט. OsmAnd מציעה גם תכונת טוויית מסלול הפועלת עם וללא אינטרנט וכוללת הנחייה קולית לכל פנייה ופנייה. @@ -2383,10 +2383,11 @@ ללא כבישים סלולים נמנע מכבישים סלולים הנחיות קוליות משהות מוזיקה שברקע. - תרומה ל־OSM -\n • דיווח על תקלה בנתונים -\n • העלאת מסלולי GPX ישירות מהיישומון אל OSM -\n • הוספת נקודות עניין והעלאה ישירה שלהן ל־OSM (או לאחר מכן אם אין חיבור) + תרומה ל־OSM +\n • דיווח על תקלה בנתונים +\n • העלאת מסלולי GPX ישירות מהיישומון אל OSM +\n • הוספת נקודות עניין והעלאה ישירה שלהן ל־OSM (או לאחר מכן אם אין חיבור) +\n כמה לפני המועד ברצונך להיוודע על הגעה ליעד? חוצץ זמן למעקב מקוון הערת OSM נמחקה @@ -2526,11 +2527,12 @@ נא לבחור את הפרופילים שיופיעו. מפת בסיס עולמית פרטי ניפוי שגיאות לתמונות לשנייה - תכונות בטיחות -\n • החלפה אוטומטית בין מצבי יום/לילה לבחירתך -\n • הצגת מגבלת מהירות כרשות, עם תזכורת במקרה של חריגה -\n • תקריב תלוי מהירות -\n • שיתוף המיקום שלך כדי שחברים יוכלו למצוא אותך + תכונות בטיחות +\n • החלפה אוטומטית בין מצבי יום/לילה לבחירתך +\n • הצגת מגבלת מהירות כרשות, עם תזכורת במקרה של חריגה +\n • תקריב תלוי מהירות +\n • שיתוף המיקום שלך כדי שחברים יוכלו למצוא אותך +\n תכונות אופניים והולכי רגל \n • הצגת נתיבי הליכה ברגל, טיפוס הרים ואופניים, נהדר לפעילויות חוץ \n • מצבי ניווט ותצוגה מיוחדים לאופניים ולהולכי רגל @@ -2565,14 +2567,15 @@ זיכרון מטמון תמונות מחיקת היסטוריית חיפוש הצגת תמונות - מפה + מפה \n • הצגת נקודות עניין מסביבך \n • התאמת המפה לכיוון התנועה שלך (או המצפן) \n • הצגת המיקום שלך וכיוון המבט שלך \n • שיתוף המיקום שלך כדי שחברים יוכלו למצוא אותך \n • שמירה על המקומות החשובים ביותר ב‚מועדפים’ \n • בחירה איך להציג שמות במפה: באנגלית, השם המקומי או איות לפי צליל -\n • הצגת אריחים מקוונים מיוחדים, תצוגת לוויין (מ־Bing), שכבות על נוספות כגון מסלולי GPX לסיור/ניווט ושכבות נוספות עם שקיפות מתכווננת +\n • הצגת אריחים מקוונים מיוחדים, תצוגת לוויין (מ־Bing), שכבות על נוספות כגון מסלולי GPX לסיור/ניווט ושכבות נוספות עם שקיפות מתכווננת +\n לא לעשות לעשות רק עם רשת אלחוטית @@ -2705,13 +2708,15 @@ הערך לא נמצא כיצד לפתוח ערכים בוויקיפדיה? הפעלת תצוגה זו משנה את סגנון המפה של OsmAnd ל‚תצוגת סיור’, מדובר בתצוגה מיוחדת עם פרטים רבים למטיילים ולנהגים מקצועיים. -\n +\n \nתצוגה זו מספקת, בכל רמת תקריב שהיא, את כמות הפרטים המרבית לצורך הטיול בנתוני המפה (בעיקר דרכים, מסילות, מסלולים וצייני כיוון). \n +\nהיא גם מציינת את כל סוגי הדרכים באופן מובחן באמצעות קוד צבע שעשוי להיות מאוד שימוש כאשר נוהגים בכלי רכב גדולים למשל. +\n \nהתצוגה גם מספקת אפשרויות סיור מיוחדות כגון הצגת מסלולי אופניים או מסלולי הרים אלפינים. -\n +\n \nלא נדרשת הורדה של מפה מיוחדת, התצוגה נוצרת מהמפות הרגילות שלנו. -\n +\n \nניתן לצאת מתצוגה זו על ידי השבתתה או על ידי שינוי ‚סגנון המפה’ תחת ‚הגדרת המפה’ כרצונך. דרגות קושי בטיפוס (SAC - מועדון האלפים השווייצרי) עיבוד מסלולים לפי מדד מועדון האלפים השווייצרי (SAC). @@ -3724,4 +3729,5 @@ הוספת פרופיל החלפת פרופיל יישומון הפרופיל שנבחרו לפעולה הזאת לא נמצאו. + מפת סקירת העולם (מפורטת) \ No newline at end of file From 7a551cc33d6cfe01d7ab02a2f258996e1dd000a3 Mon Sep 17 00:00:00 2001 From: Zmicer Turok Date: Tue, 19 May 2020 10:13:23 +0000 Subject: [PATCH 010/509] Translated using Weblate (Belarusian) Currently translated at 96.8% (3234 of 3340 strings) --- OsmAnd/res/values-be/strings.xml | 152 +++++++++++++++++++++++-------- 1 file changed, 115 insertions(+), 37 deletions(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 0220584acd..0282f38a6e 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -1178,8 +1178,7 @@ Падзяліцца маршрутам праз GPX-файл Маршрут апублікаваны з дапамогай OsmAnd Хібны фармат: %s - - Online OSM мапа з выявамі. + Online OSM мапа з выявамі. Толькі ўласнаручна (націскаць на стрэлку) Паўтараць навігацыйныя інструкцыі праз рэгулярныя прамежкі часу. Паўтараць навігацыйныя інструкцыі @@ -1188,9 +1187,7 @@ \n \nГлабальныя даныя (паміж 70 ° на поўначы і 70 ° на поўдні) грунтуюцца на вымярэннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даных інструменту візуалізацыі Terra, флагманскага спадарожніка сістэмы назірання Зямлі ад NASA. ASTER — гэта вынік сумеснай працы NASA, міністэрства эканомікі Японіі, міністэрства гандлю і прамысловасці Японіі (METI), агенцтва касмічных сістэм Японіі (J-spacesystems). Гэтая ўбудова паказвае як контурныя лініі, так і рэльеф на стандартных мапах OsmAnd. Гэта, магчыма, спатрэбіцца спартоўцам, турыстам, падарожнікам і ўсім, хто цікавіцца структурай рэльефу мясцовасці. (Звярніце ўвагу, што даныя вышынь і рэльефу асобныя, дадаткова даступныя да спампоўвання, пасля актывацыі ўбудовы.) -\n \n -\n \nГлабальныя даныя (паміж 70 ° на поўначы і 70 ° на поўдні) грунтуюцца на вымярэннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даных інструмента візуалізацыі Terra, флагманскага спадарожніка сістэмы назірання Зямлі ад NASA. ASTER — гэта вынік сумеснай працы NASA, міністэрства эканомікі Японіі, міністэрства гандлю і прамысловасці Японіі (METI), агенцтва касмічных сістэм Японіі (J-spacesystems). Як хутка вы хочаце чуць паведамленне аб прыбыцці? Улюбёныя мясціны, якімі падзяліліся праз OsmAnd @@ -1257,7 +1254,7 @@ Iнтэрвал абуджэння GPS Суахілі Іўрыт - Пачаць запіс GPX + Працягнуць запіс GPX Пачаць новы адрэзак Персідская Спыніць фонавы рэжым GPS? @@ -1267,7 +1264,7 @@ Наперад Панэль кіравання Пакінуць - Спыніць запіс GPX + Прыпыніць запіс GPX Пачаць адсочванне праз Інтэрнэт Спыніць адсочванне праз Інтэрнэт Адсочванне праз Інтэрнэт (патрабуецца GPX) @@ -2017,7 +2014,7 @@ Венгерская (афіцыйная) Перамясціце мапу, каб змяніць пазіцыю адзнакі Змяніць пазіцыю адзнакі - "Беларуская (Лацінка) " + Беларуская (Лацінка) Іспанская (ЗША) Англійская (Вялікабрытанія) Дзейны след @@ -2150,7 +2147,8 @@ Фільтр: задайце мінімальную адлегласць ад кропкі для лагавання новай. Мінімальная дакладнасць лагавання Фільтр: Не запісваць, пакуль дакладнасць не дасягне зададзенай. - Хібны OLC + Хібны OLC +\n Кароткі OLC \nКалі ласка, увядзіце поўны код Карэктны поўны OLC @@ -2385,7 +2383,8 @@ \n • Вікіпедыя абранай мовай распавядзе вам шмат чаго цікавага падчас экскурсіі \n • Прыпынкі грамадскага транспарту (аўтобус, травай, цягнік), уключаючы назвы маршрутаў, дапамогуць арыентавацца ў новым горадзе \n • GPS-навігацыя ў пешаходным рэжыме вылічвае маршрут, выкарыстоўваючы пешаходныя сцежкі -\n • Спампоўванне і прытрымліванне GPX-маршрута або запіс і магчымасць дзяліцца сваім уласным +\n • Спампоўванне і прытрымліванне GPX-маршрута або запіс і магчымасць дзяліцца сваім уласным +\n Удзел у OSM \n • Паведамленне аб памылках \n • Спампоўванне GPX-слядоў у OSM проста з дадатку @@ -2429,47 +2428,37 @@ \n Большасць краін свету даступная да спампоўвання! \n Атрымайце надзейны навігатар у вашай краіне — будзь то Беларусь, Францыя, Германія, Мексіка, Вялікабрытанія, Іспанія, Нідэрланды, ЗША, Расія, Бразілія ці якая іншая. OsmAnd+ (OSM Automated Navigation Directions) — мапа і навігацыйны дадатак з доступам да бясплатных, сусветных і высокаякасных даных OpenStreetMap (OSM). -\n Атрымлівайце асалоду ад галасавой і візуальная навігацыі, праглядайце пукты цікавасцяў (POI), запісвайце GPX-сляды, выкарыстоўвайце візуалізацыю контурных ліній ды даных вышыні, пераключайцеся паміж рэжымамі кіравання, яздой на ровары ды шпацырамі, рэдагуйце OSM-даныя і шмат іншага. +\n Атрымлівайце асалоду ад галасавой і візуальная навігацыі, праглядайце пукты цікавасцяў (POI), запісвайце GPX-сляды, выкарыстоўвайце візуалізацыю контурных ліній ды даных вышыні, пераключайцеся паміж рэжымамі кіравання, яздой на ровары ды шпацырамі, рэдагуйце OSM-даныя і шмат іншага. +\n \n OsmAnd+ — платная версія. Пры набыцці вы падтрымліваеце праект, фінансуеце распрацоўку новых магчымасцяў ды атрымліваеце апошнія абнаўленні. +\n \nНекаторыя з галоўных магчымасцяў: Прагляд мапы \n -\n -\n -\n \n • Паказвае дзе вы знаходзіцеся і куды глядзіце \n -\n -\n -\n \n • Пры патрэбе выраўняе мапу па компасе ці па напрамку вашага руху \n -\n -\n -\n \n • Захавае вашыя найважнейшыя месцы ва ўлюблёных \n -\n -\n -\n \n • Адлюстроўвае пункты цікавасцяў вакол вас \n -\n -\n -\n \n • Паказвае адмысловыя сеціўныя мапы, спадарожнікавыя здымкі (Bing), розныя накладкі накшталт турыстычных/навігацыйных GPX-слядоў і дадатковыя пласты з наладжвальнай празрыстасцю \n -\n -\n -\n \n • Можа адлюстроўваць на мапе беларускія, англійскія, мясцовыя назвы ці фанетычным напісаннем \n - Выкарыстоўваюцца даныя OSM ды Вікіпедыі -\n • Высокаякасная інфармацыя ад найлепшых праектаў свету -\n • OSM-даныя даступныя па краіне ці рэгіёну -\n • Пункты цікавасцяў з Вікіпедыі, выдатна падыходзіць для агляду выбітнасцяў -\n • Неабмежаваная колькасць бясплатных спампоўванняў непасрэдна з дадатку -\n • Кампактныя пазасеціўныя вектарныя мапы абнаўляюцца не радзей за раз на месяц + Выкарыстоўваюцца даныя OSM ды Вікіпедыі +\n +\n • Высокаякасная інфармацыя ад найлепшых праектаў свету +\n +\n • OSM-даныя даступныя па краіне ці рэгіёну +\n +\n • Пункты цікавасцяў з Вікіпедыі, выдатна падыходзіць для агляду выбітнасцяў +\n +\n • Неабмежаваная колькасць бясплатных спампоўванняў непасрэдна з дадатку +\n +\n • Кампактныя пазасеціўныя вектарныя мапы абнаўляюцца не радзей за раз на месяц +\n \n • Выбар паміж поўнымі данымі рэгіёна ці толькі дарожнай сеткай (напрыклад, уся Японія займае 700 МБ, а дарожная сетка — 200 МБ) Асаблівасці бяспекі \n • Магчамасць аўтаматычнага пераключэння рэжыма дзень/ноч @@ -2506,7 +2495,7 @@ Паказваць толькі дададзеныя выявы Дата Увядзіце імя карыстальніка - "Паглядзець толькі выявы, дададзеныя" + Паглядзець толькі выявы, дададзеныя Імя карыстальніка Фільтраваць выявы па адпраўніку, па даце або па тыпу. Актыўныя толькі для буйнога павелічэння. Перазагрузіць @@ -2661,7 +2650,7 @@ Налева Больш Пошук слядоў з пунктамі шляху - "Стварыць альбо змяніць аб’екты OSM " + Стварыць альбо змяніць аб’екты OSM Выдалена Адрэдагавана Адзнака %s актываваная. @@ -3285,21 +3274,29 @@ Па-за трасай Freerides і offpiste - неафіцыйныя маршруты і праходы. Як правіла, недагледжаныя, неразмечаныя, не асвятляюцца ўвечары. Будзьце вельмі ўважлівымі. • Профілі дадатку: стварыце ўласны профіль адпаведна вашых патрэб, выкарыстаўшы адмысловыя значок і колер. +\n \n \n • Для профіляў дададзеныя прадвызначаныя налады і мінімальная / максімальная хуткасць \n +\n \n • Дададзены віджэт з бягучымі каардынатамі \n +\n \n • Дададзены параметры для адлюстравання на мапе компаса і радыуснай лінейкі \n +\n \n • Палепшана загрузка мапаў у фонавым рэжыме \n +\n \n • Вернуты параметр \"Уключыць экран\" \n +\n \n • Выпраўлены выбар мовы Вікіпедыі \n +\n \n • Выпраўлены паводзіны кнопкі компаса падчас навігацыі \n +\n \n • Выпраўленні памылак \n \n @@ -3539,6 +3536,87 @@ Аднавіць прадвызначаны парадак элементаў Вярнуцца да рэдагавання Паказаць грамадскі транспарт - Кнопка, каб паказаць ці схаваць грамадскі транспарт на карце. + Кнопка, каб паказаць ці схаваць грамадскі транспарт на мапе. Дадаць профіль + %1$s з %2$s + Схілы + Паказаць/схаваць рэльеф + Схаваць рэльеф + Паказаць рэльеф + Выдаліць апісанне + Дадаць апісанне + Абраць групу + Абраць фігуру + Круг + Васьмівугольнік + Квадрат + Мін + Элементы ніжэй падзяляюцца. + Гэтыя элементы прыбраныя з меню, але функцыі ці ўбудовы, якія яны падаюць, працягваюць працаваць. + Вы можаце атрымаць доступ да гэтых дзеянняў, калі націснеце кнопку “%1$s”. + Вы можаце перамяшчаць элементы толькі ўнутры катэгорыі. + Для прагляду POI Вікіпедыі на мапе патрабуюцца дадатковыя мапы. + Абярыце мовы, на якіх на мапе будуць адлюстроўвацца артыкулы Вікіпедыі. Падчас чытання артыкула вы зможаце пераключацца паміж імі. + Элементы панэлі, кантэкстнае меню + Наладка інтэрфейсу + Панэль + Дзеянні кантэкстнага меню + Змяніць парадак альбо схаваць элементы з %1$s. + Падзяляльнік + Схавана + Калі схаваць налады, то яны скінуцца да зыходнага стану. + \"Асноўныя дзеянні\" змяшчаюць толькі 4 кнопкі. + Асноўныя дзеянні + Убудова для распрацоўшчыкаў + Замяніць іншы пункт на гэты + Лыжныя туры + Снегаход + Адвольная ўбудова OsmAnd + Элементы + Змены ўжытыя да профілю \"%1$s\". + Немагчыма прачытаць з \"%1$s\". + Немагчыма запісаць у \"%1$s\". + Немагчыма імпартаваць з \"%1$s\". + Абраць файл следу + Мовы + Мова + Усе мовы + Некаторых артыкулаў Вікіпедыі можа не быць на вашай мове. + Паўднёвая Мін + Варай + Урду + Таджыкская + Сіцылійская + Непальская + Бірманская + Мінанкабау + Кіргызская + Яванская + Чувашская + Баварская + Арагонская + Адвольны колер + Пошук тыпаў POI + Абраныя профілі пераключаюцца націскам на кнопку \"Дзеянне\". + Профіляў, абраных для гэтага дзеяння, не знойдзена. + Кантонская + Ёруба + Узбекская + Татарская + Шатландская + Панджабі + Неапалітанская + Мангольская + Малагасійская + Казахская + Гуджараці + Чачэнская + Башкірская + Ламбардская + %1$s / %2$s + Можна спалучаць тыпы POI з розных катэгорый. Націсніце \"Пераключыць\", каб абраць усе ці націсніце злева, каб абраць катэгорыю. + Змяніць профіль дадатку + Аглядная мапа свету (падрабязная) + Схаваць грамадскі транспарт + Паказаць/схаваць грамадскі транспарт \ No newline at end of file From 930535c7bb94f27ed1e61529eab33b5e20e92a49 Mon Sep 17 00:00:00 2001 From: Viktar Palsciuk Date: Tue, 19 May 2020 13:54:58 +0000 Subject: [PATCH 011/509] Translated using Weblate (Belarusian) Currently translated at 96.8% (3234 of 3340 strings) --- OsmAnd/res/values-be/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 0282f38a6e..dde803e8d7 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -3619,4 +3619,5 @@ Аглядная мапа свету (падрабязная) Схаваць грамадскі транспарт Паказаць/схаваць грамадскі транспарт + Пералічыць маршрут у выпадку адхілення \ No newline at end of file From f523143763a1116f6503100f895be6eb01a1e1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Tue, 19 May 2020 06:56:48 +0000 Subject: [PATCH 012/509] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 8.0% (268 of 3339 strings) --- OsmAnd/res/values-nb/strings.xml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 2d21918809..d8a0b77701 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -1882,7 +1882,7 @@ Tildelt minne %1$s MB (Android-grense %2$s MB, Dalvik %3$s MB). Tildelt minne Finn bilen der den er parkert - Et varsel om å hente bilen er lagt til i kalenderen din og kan redigeres eller fjernes der. + En merknad om å hente bilen er lagt til i kalenderen din, og kan redigeres eller fjernes der. Angi tidsgrense for parkering Slett parkeringsmarkøren\? Velg parkeringstype @@ -3590,4 +3590,16 @@ Langobardisk Parkeringsposisjoner Legg til / rediger profil + All data fra %1$s er importert, du kan bruke knappene nedenfor for å åpne den delen du trenger for å håndtere den. + Alle profilinnstillinger vil bli gjenopprette til deres opprinnelige tilstand etter opprettelse/import av denne profilen. + Er du sikker på at du vil tømme lagret data\? + Anvis ny rute ved avvik + Løyper + Skuffeelementer, bindeleddsmeny + Grensesnittstilpasning + Skuff + OsmAnd-sporer + OsmAnd + Mapillary + Handlingsknappen veksler mellom valgte profiler. + Endre programprofil \ No newline at end of file From d716f807ea827a2a9b780156faed1c618325b61d Mon Sep 17 00:00:00 2001 From: nautilusx Date: Tue, 19 May 2020 07:51:36 +0000 Subject: [PATCH 013/509] Translated using Weblate (German) Currently translated at 99.9% (3803 of 3804 strings) --- OsmAnd/res/values-de/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 6c83ed8942..a6795fd120 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -1450,7 +1450,7 @@ ja Nicht automatisiert Bürstenlos: nein - Autowäsche: nein + Nein Männlich Für Männer verboten Weiblich @@ -1795,7 +1795,7 @@ Reparatur von elektrischen Fahrzeugen Motorradreparatur ja - Keine Selbstbedienung + Nein Rundumservice Flugzeugtankstelle Öffentliches Bad From 8857831f453419f85afe60958fedfa0c0d3856d5 Mon Sep 17 00:00:00 2001 From: Zmicer Turok Date: Tue, 19 May 2020 10:50:40 +0000 Subject: [PATCH 014/509] Translated using Weblate (Belarusian) Currently translated at 95.1% (3618 of 3804 strings) --- OsmAnd/res/values-be/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-be/phrases.xml b/OsmAnd/res/values-be/phrases.xml index 3b0e6a519a..5a66eeae18 100644 --- a/OsmAnd/res/values-be/phrases.xml +++ b/OsmAnd/res/values-be/phrases.xml @@ -1186,13 +1186,13 @@ Рамонт электратранспарту Рамонт матацыклаў Так - Самаабслугоўванне: няма + Няма Так Без аўтаматызацыі Поўны комплекс паслуг Так Кантактная - Без аўтамыйні + Няма Авіяцыйная запраўка Грамадская лазня Для мужчын From 46ba5ef78f4458d73c989680949d3683b8fa86a8 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Tue, 19 May 2020 09:50:39 +0000 Subject: [PATCH 015/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-eo/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 0f0e95bc68..a3c7baa602 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3716,4 +3716,5 @@ Aldoni profilon Ŝanĝi aplikaĵan profilon Ne trovis profilojn elektitajn por tiu ĉi ago. + Fundamenta mapo de mondo (detala) \ No newline at end of file From e7e258af9412da252f8d2feb349e8484f88c5588 Mon Sep 17 00:00:00 2001 From: Zmicer Turok Date: Tue, 19 May 2020 10:49:56 +0000 Subject: [PATCH 016/509] Translated using Weblate (Belarusian) Currently translated at 100.0% (267 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/be/ --- OsmAnd-telegram/res/values-be/strings.xml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/OsmAnd-telegram/res/values-be/strings.xml b/OsmAnd-telegram/res/values-be/strings.xml index 47b4a67654..eec8513da5 100644 --- a/OsmAnd-telegram/res/values-be/strings.xml +++ b/OsmAnd-telegram/res/values-be/strings.xml @@ -30,7 +30,7 @@ Яшчэ не знойдзена Пераадправіць звесткі аб месцазнаходжанні Апошняе даступнае месца - "Статус абмену " + Статус абмену Абмен: %1$s Уключана Статус @@ -75,7 +75,7 @@ Вызначыць мінімальны інтэрвал для абмену інфармацыяй аб месцазнаходжанні. Адправіць маё месцазнаходжанне Пазіцыя - "Час абмену " + Час абмену Сыходзіць Абмен уключаны (выключыць) Выключыць абмен @@ -168,9 +168,7 @@ г хвіл сек - - Назіральнік OsmAnd Дае магчымасць дзяліцца сваім месцазнаходжаннем і бачыць месцазнаходжанне іншых у OsmAnd.
-
Дадатак выкарыстоўвае Telegram API, таму вам неабходны акаўнт Тэлеграм.
+ Назіральнік OsmAnd Дае магчымасць дзяліцца сваім месцазнаходжаннем і бачыць месцазнаходжанне іншых у OsmAnd.

Дадатак выкарыстоўвае Telegram API, таму вам неабходны акаўнт Тэлеграм.
Маё месцазнаходжанне Зараз дзейнічае Адправіць месцазнаходжанне як @@ -246,10 +244,10 @@ Даныя для абранага дня адсутнічаюць Няма даных Канец - Пачатак + Запусціць назіральнік Ужыць Абраць час для паказу - Пачатак - дата завяршэння + Дата пачатку - дата завяршэння Захаваныя паведамленні Абярыце часавы пояс, каб паказваць ваш час у паведамленнях. Часавы пояс From 0d1c7ad7beed6c48927412e19d30118ecbadd309 Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Wed, 20 May 2020 15:22:31 +0300 Subject: [PATCH 017/509] allow to edit all the quick actions on long tap --- .../net/osmand/plus/quickaction/CreateEditActionDialog.java | 2 +- .../src/net/osmand/plus/quickaction/QuickActionsWidget.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java index 9fdc94c8df..1875cc31a5 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java @@ -223,7 +223,7 @@ public class CreateEditActionDialog extends DialogFragment implements CallbackWi } }); - name.setEnabled(action.isActionEditable()); +// name.setEnabled(action.isActionEditable()); action.setAutoGeneratedTitle(name); if (savedInstanceState == null) name.setText(action.getName(getContext())); diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java index 48a0a12ba3..55007d2cee 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionsWidget.java @@ -246,7 +246,7 @@ public class QuickActionsWidget extends LinearLayout { if (selectionListener != null) selectionListener.onActionSelected(action); } }); - if (action.isActionEditable()) { +// if (action.isActionEditable()) { view.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { @@ -262,7 +262,7 @@ public class QuickActionsWidget extends LinearLayout { return true; } }); - } +// } if (!action.isActionEnable(application)) { view.setEnabled(false); view.setAlpha(0.5f); From 0e1c8ac8fae6fc776be3c505b4113737f8a80097 Mon Sep 17 00:00:00 2001 From: Hinagiku Zeppeki Date: Wed, 20 May 2020 12:04:41 +0000 Subject: [PATCH 018/509] Translated using Weblate (Japanese) Currently translated at 96.1% (3212 of 3340 strings) --- OsmAnd/res/values-ja/strings.xml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-ja/strings.xml b/OsmAnd/res/values-ja/strings.xml index 134a3c5b4d..b93ff74430 100644 --- a/OsmAnd/res/values-ja/strings.xml +++ b/OsmAnd/res/values-ja/strings.xml @@ -2227,9 +2227,7 @@ POIの更新は利用できません
目的地を置き換え 最初の中間地点を追加 画面の中心を目的地として設定するボタンです。以前の目的地は最後に寄る経由地点として置き換わります。 - アクションボタンをタップすると、画面中央アイコンの地点を新しい目的地として置き換えます。 -\n -\n画面の中心を新しい目的地に設定するするボタンです。既存の目的地が存在する場合は置き換わります。 + 画面中央を新しい目的地として設定するボタンで、以前に選択した目的地がある場合は置き換わります。 画面中央アイコンの地点を最初の経由地点として追加するボタンです。 オーバーレイ無し アンダーレイ無し @@ -3607,4 +3605,18 @@ POIの更新は利用できません
四角形 ひし形 最小 + 公共交通機関を非表示 + 公共交通機関を表示 + 公共交通機関の表示/非表示 + マップ内公共交通機関の表示/非表示を切り替えるボタンです。 + POIの作成/編集 + 駐車位置 + お気に入りの追加/編集 + アイテム順序をデフォルトに戻す + 編集に戻る + 選択したプロファイルを切り替えるボタンです。 + プロファイルの追加 + アプリプロファイルの変更 + 世界地図(詳細) + それらしいプロファイルは見つかりませんでした。 \ No newline at end of file From 3b80a9369f0793ec125d8a17e2d9344734990ac7 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Tue, 19 May 2020 17:45:08 +0000 Subject: [PATCH 019/509] Translated using Weblate (French) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-fr/strings.xml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 8f3822e5c7..67b2836171 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2027,7 +2027,7 @@ Téléchargements illimités des cartes, des mises à jour et des données pour le greffon Wikipédia. Don à la communauté OpenStreetMap L\'abonnement permet de bénéficier des mises à jour horaires, quotidiennes, hebdomadaires et de télécharger de nouvelles cartes sans limite. - Abonnement facturé chaque mois. Annulation possible à tout moment depuis Google Play. + Abonnement facturé périodiquement. Annulation possible à tout moment depuis Google Play. Une partie de votre don sera reversée aux contributeurs OSM qui mettent à jour OpenStreetMap. Le coût de l\'abonnement reste identique. Australie Kabyle @@ -3402,7 +3402,7 @@ Icône, couleur et nom Modifiez la liste des profils Profil sélectionné - Cliquer sur %1$s effacera toutes vos modifications. + Cliquer sur %1$s ignore toutes vos modifications. Réinitialiser tous les paramètres de profil aux valeurs par défaut. Ré-initialiser tous les paramètres de profil \? %1$s : %2$s @@ -3471,7 +3471,7 @@ Réorganiser les catégories Modifiez l\'ordre de tri de la liste, masquez des catégories. Vous pouvez importer et exporter toutes vos modifications via les profils. Restaurer les valeurs par défaut réinitialisera l\'ordre de tri. - Le mode d\'accessibilité est désactivé dans votre système. + Le mode d\'accessibilité est désactivé dans votre système Android. Vous pouvez ajouter une catégorie personnelle en sélectionnant la ou les catégories souhaitées. Utiliser le délai système pour mettre en veille l\'écran Inactif par défaut (lorsqu\'OsmAnd s’exécute en avant-plan, l\'écran reste toujours allumé). @@ -3516,11 +3516,11 @@ %1$s — %2$s — %3$s Calcul d\'itinéraire Inclure des données supplémentaires - Le profil importé contient des données supplémentaires. Cliquez sur Importer pour n\'importer que les données de profil ou sélectionnez des données supplémentaires à importer. + Le profil importé contient des données supplémentaires. Cliquez sur Importer pour n\'importer que les données de profil ou sélectionnez les données supplémentaires à importer. Vous pouvez sélectionner des données supplémentaires à exporter en même temps que le profil. Antarctique Par défaut pour l\'application (%s) - Désactiver le re-calcul + Sans re-calcul Distance à partir de laquelle recalculer l’itinéraire L’itinéraire sera recalculé si votre éloignement de l\'itinéraire est supérieur à ce paramètre Profil personnel @@ -3576,7 +3576,7 @@ Permet d\'afficher l\'ombrage du relief ou les pistes. Vous pouvez en apprendre plus sur ces types de cartes sur notre site. Ombrage du relief Pistes - Afficher/masquer le terrain + Afficher / masquer le terrain Masquer le terrain Afficher le terrain Un bouton pour afficher ou masquer la couche terrain sur la carte. @@ -3602,9 +3602,9 @@ Toutes les langues D’autres cartes sont nécessaires pour afficher les POI Wikipédia sur la carte. Éléments sous ce point isolés par un séparateur. - Personnalisez le nombre d’éléments dans le panneau déroulant, paramétrez la carte et le menu contextuel. -\n -\nVous pouvez désactiver les greffons inutilisés, pour masquer leurs contrôles dans l’application %1$s. + Personnalisez le nombre d’éléments dans le panneau déroulant, le menu Paramétrer la carte et le menu contextuel. +\n +\nVous pouvez désactiver les greffons inutilisés, pour masquer leurs contrôles. %1$s. Ces éléments sont masqués dans le menu mais les options présentes ou les greffons continueront à fonctionner. Masquer les paramètres les réinitialise à leurs valeurs par défaut. Éléments du panneau déroulant, menu contextuel @@ -3615,7 +3615,7 @@ Actions du menu contextuel Séparateur Masqué - Les actions principales contiennent seulement 4 boutons. + Seulement 4 boutons. Actions principales Greffon de développement Éléments @@ -3657,11 +3657,11 @@ \n \nVous pouvez gérer et annuler vos abonnements dans vos paramètres Google Play. %1$s / %2$s - Combinez des PI de différentes catégories. Appuyez pour tout sélectionner, appuyez sur le côté gauche pour sélectionner les catégories. + Combinez des PI de différentes catégories. Appuyez sur \"basculer\" pour tout sélectionner, le côté gauche sélectionne une catégorie. Rechercher des types de PI Règle de mesure par rayon Marques - Le guide des symboles cartographiques + Le guide des symboles cartographiques. OsmAnd Tracker OsmAnd + Mapillary Action rapide @@ -3675,7 +3675,7 @@ \n \n - Personnalisation complète des favoris et des points de passage GPX - couleurs, icônes et formes personnalisées \n -\n - Personnalisez l\'ordre des éléments dans le menu contextuel, configurez la carte et le panneau déroulant +\n - Personnalisez l\'ordre des éléments dans le menu contextuel, le menu configurer la carte et le panneau déroulant \n \n - Wikipédia comme couche séparée dans Paramétrer la carte, sélectionnez uniquement les langues nécessaires \n @@ -3700,8 +3700,8 @@ Ajouter / Modifier un favori Rétablir l\'ordre par défaut des éléments Retour en modification - Appuyer sur le bouton d’action basculera entre les profils sélectionnés. - Les profils sélectionnés pour cette action sont introuvables. + Le bouton d’action bascule entre les profils sélectionnés. + Ces profils sont introuvables. Reprendre Ajouter un profil Modifier le profil d\'application From 58630627d24e5d04978a2f8b3e0ab82defd42699 Mon Sep 17 00:00:00 2001 From: solokot Date: Tue, 19 May 2020 19:06:05 +0000 Subject: [PATCH 020/509] Translated using Weblate (Russian) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-ru/strings.xml | 48 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index ba0721c392..bde38b8bf4 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -2250,7 +2250,7 @@ Получайте неограниченное количество загрузок карт, вдобавок к еженедельным, ежедневным и даже почасовым обновлениям. Неограниченный доступ к картам, обновлениям и плагину Wikipedia. Выберите голосовое сопровождение - Абонентская плата взимается ежемесячно. Отменить подписку можно в Google Play в любой момент. + Абонентская плата взимается за выбранный период. Отменить подписку можно в Google Play в любой момент. Пожертвование для сообщества OSM Часть вашего пожертвования будет отправлена участникам OSM. Стоимость подписки при этом остаётся прежней. Подписка позволяет получать ежечасные, ежедневные, еженедельные обновления и неограниченные загрузки для всех карт по всему миру. @@ -3421,7 +3421,7 @@ Профили, добавленные плагином Выключить Добавлен новый плагин - Нажимая %1$s, вы отмените все сделанные изменения. + Нажатие %1$s отменит все сделанные изменения. Все настройки профиля будут сброшены в значения по умолчанию после установки. Сбросить все настройки профиля\? %1$s: %2$s @@ -3481,7 +3481,7 @@ %1$s — %2$s — %3$s Маршрутизация Включить дополнительные данные - Импортированный профиль содержит дополнительные данные. Нажмите «Импорт», чтобы импортировать только данные профиля, или выберите дополнительные данные для импорта. + Импортируемый профиль содержит дополнительные данные. Нажмите «Импорт», чтобы импортировать только данные профиля, или выберите дополнительные данные. Вы можете выбрать дополнительные данные для экспорта вместе с профилем. Приложение по умолчанию (%s) Отключить перерасчёт @@ -3620,7 +3620,7 @@ Для просмотра POI Википедии на карте необходимы дополнительные карты. Настройка количества элементов в разделах «Панель», «Настройка карты» и контекстном меню. \n -\nМожно отключить неиспользуемые плагины, чтобы скрыть их элементы управления из приложения %1$s. +\nМожно отключить неиспользуемые плагины, чтобы скрыть их элементы управления. %1$s. Элементы панели, контекстное меню Панель Элементы ниже разделённые делителем. @@ -3632,7 +3632,7 @@ Скрыто Эти элементы скрыты из меню, но представляемые ими функции или плагины продолжают работать. Скрытие настроек сбрасывает их в исходное состояние. - «Основные действия» содержат только 4 кнопки. + Только четыре кнопки. Основные действия Перемещать элементы можно только внутри данной категории. Плагин для разработчиков @@ -3685,25 +3685,25 @@ Маркеры Подписка — OsmAnd Live Покупки OsmAnd - Справка по символике карты + Справка по символике карты. Избранное Профили навигации - • Новые автономные карты склонов -\n -\n • Полная настройка избранных и путевых точек GPX: пользовательские цвета, значки, формы -\n -\n • Изменение порядка элементов в контекстном меню, настройках карты, панели -\n -\n • Википедия как отдельный слой в настройках карты, можно выбрать только нужные языки -\n -\n • Можно создать собственный очень гибкий фильтр POI/карты -\n -\n • Добавлены параметры для восстановления настроек пользовательских профилей -\n -\n • Полные GPX-маршруты в «Навигации» с поддержкой полос движения и подробными инструкциями поворотов -\n -\n • Исправлены размеры интерфейса на планшетах -\n + • Новые автономные карты склонов +\n +\n • Полная настройка избранных и путевых точек GPX: пользовательские цвета, значки, формы +\n +\n • Изменение порядка элементов в контекстном меню, настройках карты и панели +\n +\n • Википедия как отдельный слой в настройках карты, можно выбрать только нужные языки +\n +\n • Можно создать собственный очень гибкий фильтр POI/карты +\n +\n • Добавлены параметры для восстановления настроек пользовательских профилей +\n +\n • Полные GPX-маршруты в «Навигации» с поддержкой полос движения и подробными инструкциями поворотов +\n +\n • Исправлены размеры интерфейса на планшетах +\n \n • Исправлены ошибки для языков, пишущихся справа налево \n \n @@ -3712,7 +3712,7 @@ Показать общественный транспорт Показать/скрыть общественный транспорт Добавить/редактировать избранные - Создать/редактировать POI + Создать/изменить POI Возврат к редактированию Место стоянки Переключатель, чтобы отобразить или скрыть общественный транспорт на карте. @@ -3720,7 +3720,7 @@ Нажатие кнопки «Действия» переключает между выбранными профилями. Добавить профиль Изменить профиль приложения - Профили, выбранные для данного действия, не найдены. + Не найдено подходящих профилей. Продолжить Мировая обзорная карта (подробная) \ No newline at end of file From 6ce9f0d2f073a7ca9f75f07040f4120c47bd555c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Tue, 19 May 2020 16:50:36 +0000 Subject: [PATCH 021/509] Translated using Weblate (Turkish) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-tr/strings.xml | 70 ++++++++++++++++---------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 9d179360bc..e99a7b5151 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -2057,7 +2057,7 @@ Alt kategoriler Seçilen kategoriler Lütfen yeni süzgeç için bir ad girin, bu \'Kategoriler\' sekmenize eklenecek. - Abonelik aylık ücretlendirilir. İstediğiniz zaman Google Play\'den iptal edin. + Abonelik seçilen dönem başına ücretlendirilir. İstediğiniz zaman Google Play\'den iptal edin. OSM topluluğuna bağış Bağışınızın bir kısmı, OSM\'ye katkıda bulunanlara gönderilir. Abonelik ücretiniz aynı kalır. Abonelik; tüm küresel haritalar için sınırsız indirmeyi ve saatlik, günlük, haftalık güncellemeleri etkinleştirir. @@ -2114,7 +2114,7 @@ Tarihe göre Türe göre Daha fazla - Harita üzerinde görünüş + Harita üzerinde görünüm Favoriler kategorisi Grup ekle Grupları Sık Kullanılanlar ya da GPX referans noktalarından içe aktarın. @@ -2123,7 +2123,7 @@ Grupları al İki Bir - Yön göstergesi sayısını belirtin: + Yön göstergelerinin sayısını belirtin: Ondalık hane sayısı Sağ Sol @@ -3376,7 +3376,7 @@ Simge, renk ve isim Profil listesini düzenle Seçilen profil - %1$s\'e dokunmak tüm değişikliklerinizi atacaktır. + %1$s düğmesine dokunmak tüm değişikliklerinizi atar. Tüm profil ayarlarını kurulum anındaki öntanımlılarına sıfırlayın. Tüm profil ayarları sıfırlansın mı\? %1$s: %2$s @@ -3445,7 +3445,7 @@ %1$s/%2$s %1$s\'de gün batımı %1$s\'de gün doğumu - Sisteminizde erişilebilirlik modu devre dışı. + Android cihazınızda erişilebilirlik modu kapalı. Öntanımlılara sıfırla, sıralama düzenini kurulumdan sonraki öntanımlı duruma sıfırlayacaktır. Sistem ekran zaman aşımını kullan Öntanımlı olarak devre dışıdır, OsmAnd ön planda çalışıyorsa ekran zaman aşımına uğramaz. @@ -3482,7 +3482,7 @@ Kategoriye göre sırala Lütfen profil için bir ad girin Ayarları aç - Eklenti devre dışı + Eklenti kapalı Bu eklenti ayrı bir uygulamadır, artık kullanmayı düşünmüyorsanız ayrı olarak kaldırmanız gerekecektir. \n \nEklenti, OsmAnd kaldırıldıktan sonra cihazda kalacaktır. @@ -3490,11 +3490,11 @@ %1$s — %2$s — %3$s Yönlendirme İlave veriler ekle - İçe aktarılan profil ilave veriler içermektedir. Yalnızca profil verilerini içe aktarmak için İçe Aktar\'ı tıklayın veya içe aktarılacak ilave verileri seçin. + İçe aktarılan profil ek veriler içermektedir. Sadece profil verilerini içe aktarmak için \"İçe Aktar\" düğmesine tıklayın veya ek verileri seçin. Profil ile birlikte dışa aktarılacak ilave veriler seçebilirsiniz. Antarktika Uygulama Öntanımlı Değeri (%s) - Yeniden hesaplamayı devre dışı bırak + Yeniden hesaplama yok Rotayı yeniden hesaplamak için minimum mesafe Rotaya olan mesafe belirtilen parametreden daha uzunsa rota yeniden hesaplanacak Özel profil @@ -3549,7 +3549,7 @@ Rotadan geçerli konuma olan mesafe seçilen değerden fazla ise rota yeniden hesaplanacaktır. %1$s / %2$s Yamaçlar - Araziyi göster/gizle + Araziyi göster / gizle Araziyi gizle Araziyi göster Haritada arazi katmanını göstermek veya gizlemek için bir düğme. @@ -3578,9 +3578,9 @@ Çekmece Ayarları gizlemek onları orijinal durumlarına sıfırlar. Ögeler - Çekmece, Haritayı Yapılandır ve İçerik Menüsündeki ögelerin sayısını özelleştirin. + \"Çekmece\", \"Haritayı Yapılandır\" ve \"İçerik Menüsü\"ndeki ögelerin sayısını özelleştirin. \n -\nTüm denetimlerini uygulamadan gizlemek için kullanılmayan eklentileri kapatabilirsiniz. %1$s. +\nTüm denetimlerini gizlemek için kullanılmayan eklentileri kapatın. %1$s. Kullanıcı Arayüzü Özelleştirme İçerik menüsü eylemleri %1$s\'den ögeleri yeniden sırala veya gizle. @@ -3588,7 +3588,7 @@ Bu noktanın altındaki ögeler bir bölücü ile ayrılır. Gizli Bu ögeler menüden gizlenir, ancak temsil edilen seçenekler veya eklentiler çalışmaya devam eder. - \'Ana eylemler\' sadece 4 düğme içerir. + Sadece 4 düğme var. Ana eylemler Ögeleri yalnızca bu kategorinin içine taşıyabilirsiniz. Geliştirici Eklentisi @@ -3631,7 +3631,7 @@ \n \n Google Play ayarlarınıza giderek aboneliklerinizi yönetebilir ve iptal edebilirsiniz. POI türleri ara - Farklı kategorilerdeki POI türlerini birleştirin. Tümünü seçmek için \"Değiştir\" düğmesine, kategori seçimi için sol tarafa dokunun. + Farklı kategorilerdeki POI türlerini birleştirin. \"Değiştir\" düğmesine dokunmak hepsini, sol taraf kategoriyi seçer. Yarıçap cetveli OsmAnd izleyici OsmAnd + Mapillary @@ -3642,24 +3642,24 @@ Sık kullanılanlar Abonelik - OsmAnd Live OsmAnd satın almaları - Bir haritadaki sembollerin rehberi + Bir haritadaki sembollerin rehberi. Navigasyon profilleri - • Yeni çevrim dışı Yamaç haritaları -\n -\n • Sık Kullanılanlar ve GPX Ara Noktalarını tamamen özelleştirme – özel renkler, simgeler, şekiller -\n -\n • İçerik Menüsü, Harita Yapılandırma, Çekmece ögelerinin sırasını özelleştirme -\n -\n • Harita yapılandırma bölümünde ayrı bir katman olarak Wikipedia, yalnızca gerekli dilleri seçin -\n -\n • Tamamen esnek olarak kendi POI filtrenizi/haritalarınızı oluşturun -\n -\n • Özel profiller için ayarları geri yükleme seçenekleri eklendi -\n -\n • GPX rota navigasyonu için trafik şeritleri ve dönüş talimatları için tam destek -\n -\n • Tabletlerde kullanıcı arayüzü boyutlarını düzeltme -\n + • Yeni çevrim dışı Yamaç haritaları +\n +\n • Sık Kullanılanlar ve GPX Ara Noktalarını tamamen özelleştirme – özel renkler, simgeler, şekiller +\n +\n • İçerik Menüsü, Harita Yapılandırma, Çekmece ögelerinin sırasını özelleştirme +\n +\n • Harita yapılandırma bölümünde ayrı bir katman olarak Wikipedia, yalnızca gerekli dilleri seçin +\n +\n • Tamamen esnek olarak kendi POI filtrenizi / haritalarınızı oluşturun +\n +\n • Özel profiller için ayarları geri yükleme seçenekleri eklendi +\n +\n • GPX rota navigasyonu için trafik şeritleri ve dönüş talimatları için tam destek +\n +\n • Tabletlerde kullanıcı arayüzü boyutlarını düzeltme +\n \n • RTL hatalarını düzeltme \n \n @@ -3667,16 +3667,16 @@ Bu eylemlere “%1$s” düğmesine dokunarak erişebilirsiniz. Toplu taşıma araçlarını gizle Toplu taşıma araçlarını göster - Toplu taşıma araçlarını göster/gizle - Haritada toplu taşıma araçlarını göstermek veya gizlemek için bir düğme. - POI Oluştur/Düzenle + Toplu taşıma araçlarını göster / gizle + Haritada toplu taşıma araçlarını gösteren veya gizleyen düğme. + POI Oluştur / Düzenle Park etme alanları Sık Kullanılan Ekle / Düzenle Öntanımlı öge sıralamasını geri yükle Düzenlemeye geri dön - Eylem düğmesine dokunulduğunda seçilen profiller arasında geçiş yapılır. + Eylem düğmesi seçilen profiller arasında geçiş yapar. Profil ekle Uygulama profilini değiştir - Bu eylem için seçilen profiller bulunamadı. + Böyle bir profil bulunamadı. Dünya genel bakış haritası (ayrıntılı) \ No newline at end of file From 99333f8561972dc1c81a13da5a0bac2acba46c00 Mon Sep 17 00:00:00 2001 From: Athoss Date: Tue, 19 May 2020 16:35:00 +0000 Subject: [PATCH 022/509] Translated using Weblate (Hungarian) Currently translated at 95.8% (3200 of 3340 strings) --- OsmAnd/res/values-hu/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index 9a0687f98e..69da8051d1 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -3626,4 +3626,5 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Alkalmazásprofil módosítása Kombináljon POI típusokat különböző kategóriákból. Koppintson egy kapcsolóra az összes altípus kiválasztásához, vagy koppintson egy szövegre az egyes altípusok kijelöléséhez. POI típusok keresése + Áttekintő világtérkép (részletes) \ No newline at end of file From df444aa245722ac80807f24c367c30d22d894a22 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 19 May 2020 21:23:03 +0000 Subject: [PATCH 023/509] Translated using Weblate (Serbian) Currently translated at 96.3% (3219 of 3340 strings) --- OsmAnd/res/values-sr/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index 1a3340e84b..9798255f75 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -3587,4 +3587,6 @@ Језици Језик Сви језици + Не може се наћи такав профил. + Светска општа мапа (детаљна) \ No newline at end of file From 220bebe70f1b199e78cf7c1948d88e89114217f1 Mon Sep 17 00:00:00 2001 From: D M Date: Tue, 19 May 2020 21:24:13 +0000 Subject: [PATCH 024/509] Translated using Weblate (Serbian) Currently translated at 96.3% (3219 of 3340 strings) --- OsmAnd/res/values-sr/strings.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index 9798255f75..2e341576cf 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -734,7 +734,7 @@ Време кретања: %1$s Одсечак %1$s тачака - "Тачка %1$s" + Тачка %1$s %1$s\nТачке путање %2$s %1$s\nТачака %1$s\nСтаза %2$s @@ -974,7 +974,7 @@ Још увек немате ниједан GPX фајл Такође, можете додати GPX фајлове у фасциклу Додај још… - Приказ + Изглед Укључи брзо снимање Приказуј обавештење које омогућава снимање путовања. Обавештења @@ -2596,8 +2596,7 @@ Користите трекбол за зумирање Скините податке (\'ван мреже\') да користити карте ван мреже. Апликација не може да скине слој са картама %1$s, поновна инсталација апликације можда помогне. - - Интернет ОСМ класификација карти са сликама. + Интернет ОСМ класификација карти са сликама. NameFinder на мрежи На нивоу увећања {0} треба скинути {1} сличица ({2} MB) Резултати превоза (без одредишта): @@ -3589,4 +3588,9 @@ Сви језици Не може се наћи такав профил. Светска општа мапа (детаљна) + Креирај / Уреди ПОИ + Додај / Уреди фаворит + Повратак уређивању + Додај профил + Промени профил апликације \ No newline at end of file From cb191ba0016582f802dcea95ad02d606bacd85f2 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Wed, 20 May 2020 06:28:14 +0000 Subject: [PATCH 025/509] Translated using Weblate (Hebrew) Currently translated at 99.9% (3338 of 3340 strings) --- OsmAnd/res/values-he/strings.xml | 58 ++++++++++++++++---------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index d17979df8b..dc3a91f654 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -2334,7 +2334,7 @@ יצירת מסנן בהתאמה אישית חיפוש בהתאמה אישית נא להקליד שם למסנן החדש, שם זה יצטרף ללשוניות ה‚קטגוריות’ שלך. - עמלת המינוי תיגבה כל חודש. ניתן לבטל את המינוי ב־Google Play בכל עת. + עמלת המינוי תיגבה בהתאם לתקופה הנבחרת. ניתן לבטל את המינוי ב־Google Play בכל עת. תרומה לקהילת OSM חלק מהתרומה שלך נשלחת למתנדבי OSM. עלות המינוי נותרת בעינה. מינוי מאפשר עדכונים שעתיים, יומיים או שבועיים ואפשרות להורדת כל המפות בכל העולם ללא הגבלה. @@ -3420,7 +3420,7 @@ סמל, צבע ושם עריכת רשימת הפרופילים פרופיל נבחר - נגיעה ב־%1$s תוביל לאבדן כל השינויים שערכת. + נגיעה ב־%1$s תסלק את כל השינויים שערכת. איפוס כל הגדרות הפרופיל לבררות המחדל של ההתקנה. לאפס את הגדרות הפרופיל\? %1$s:‏ %2$s @@ -3462,17 +3462,17 @@ %1$s/%2$s שקיעה ב־%1$s זריחה ב־%1$s - מצב נגישות מושבת במערכת שלך. + מצב הנגישות כבוי ב־Android שלך. נא לבחור שם לפרופיל פתיחת ההגדרות - התוסף מושבת + התוסף כבוי מחיקת הנתונים שהוקלטו העתקת נקודות ציון תוסף זה הוא יישומון נפרד, יהיה עליך להסיר אותו בנפרד אם אין לך כוונה להשתמש בו עוד. \n \nהתוסף יישאר על המכשיר גם לאחר הסרת OsmAnd. תפריט - השבתת חישוב מחדש + ללא חישוב מחדש מרחק מזערי לחישוב המסלול מחדש המסלול יחושב מחדש אם המרחק למסלול הוא ארוך מהמשתנה שצוין להציג את התראות המערכת בזמן הניווט עם הנחיות ניווט. @@ -3518,7 +3518,7 @@ סגנון העיבוד חלק מהפריטים קיימים נא לבחור את הנתונים לייבוא. - הפרופיל המיובא מכיל נתונים נוספים. יש ללחוץ על ייבוא כדי לייבא את נתוני הפרופיל בלבד או לבחור בנתונים נוספים לייבוא. + הפרופיל המיובא מכיל נתונים נוספים. יש ללחוץ על „ייבוא” כדי לייבא את נתוני הפרופיל בלבד או לבחור בנתונים נוספים. בהכנה סוגי נקודות עניין שום דבר לא נבחר @@ -3622,9 +3622,9 @@ \nניתן יהיה להחליף בין כל השפות הזמינות בזמן קריאת הערך. פריטים תוסף מפתח - התאמת כמות הפריטים במגירה, הגדרת המפה ותפריט ההקשר. + התאמת כמות הפריטים ב„מגירה”, „הגדרת המפה” ו„תפריט ההקשר”. \n -\nניתן לכבות את התוספים שאינם בשימוש כדי להסתיר את כל הפקדים שלהם מהיישומון %1$s. +\nכיבוי התוספים שאינם בשימוש מסתיר את כל הפקדים שלהם. %1$s. פריטי מגירה, תפריט הקשר התאמות מנשק משתמש מגירה @@ -3635,7 +3635,7 @@ מוסתר הפריטים האלו מוסתרים מהתפריט אבל האפשרויות המיוצגות או התוספים ימשיכו לעבוד. הסתרת הגדרות מאפסת אותן למצבן ההתחלתי. - ‚פעולות ראשיות’ מכילות 4 כפתורים בלבד. + מכילות 4 כפתורים בלבד. פעולות ראשית ניתן להעביר פריטים בתוך קטגוריה זו בלבד. נא לבחור את השפות בהן יופיעו ערכים של ויקיפדיה במפה. ניתן להחליף בין כל השפות הזמינות בזמן קריאת הערך. @@ -3677,7 +3677,7 @@ \n \nניתן לנהל ולבטל את המינויים שלך דרך ההגדרות שלך ב־Google Play. חיפוש סוגי נקודות עניין - שילוב סוגי נקודות עניין מקטגוריות שונות. יש לגעת ב„החלפה” כדי לבחור את כולן, נגיעה בצד השמאלי לבחירת קטגוריה. + שילוב סוגי נקודות עניין מקטגוריות שונות. נגיעה ב„החלפה” בוחרת את כולן, נגיעה בצד השמאלי בוחרת קטגוריה. עוקב OsmAnd OsmAnd ו־Mapillary פעולה מהירה @@ -3688,7 +3688,7 @@ מועדפים מינוי - OsmAnd Live רכישות OsmAnd - המדריך לסמלי מפה + המדריך לסמלי מפה. פרופילי ניווט תקן מר״ב ב־OsmAnd נעשה שימוש בתקן מר״ב, שדומה אך לא זהה לתצורת המר״ב של נאט״ו. @@ -3706,28 +3706,28 @@ Open Location Code הערה: אם ה־GPS היה כבוי מיד לפני ההקלטה, יתכן שהדיוק של הנקודה הראשונה יהיה נמוך, לכן בקוד שלנו אנו מעדיפים להמתין כשנייה בטרם הקלטת נקודה (או להקליט את הטובה מבין שלוש נקודות רציפות, וכו׳) אך תכונה זו טרם הוטמעה. חידוש - • מפות שיפועים בלתי מקוונות חדשות -\n -\n • התאמה מלאה של מועדפים ונקודת דרך GPX - צבעים, סמלים וצורות בהתאמה אישית -\n -\n • התאמת סדר הפריטים בתפריט ההקשר, הגדרת המפה, מגירה -\n -\n • ויקיפדיה כשכבה נפרדת בהגדרת המפה, אפשרות לבחור את השפה הנדרשת בלבד -\n -\n • יצירת מסנני/מפות נקודות עניין משלך בגמישות מלאה -\n -\n • נוספו אפשרויות לשחזר הגדרות לפרופילים מותאמים אישית -\n -\n • מסלולי GPX מלאים מניווט עם תמיכה בנתיבי תנועה והנחיות פנייה מלאות -\n -\n • תיקון גודלי מנשקי משתמש במחשבי לוח -\n + • מפות שיפועים בלתי מקוונות חדשות +\n +\n • התאמה מלאה של מועדפים ונקודת דרך GPX - צבעים, סמלים וצורות בהתאמה אישית +\n +\n • התאמת סדר הפריטים ב„תפריט ההקשר”, „הגדרת המפה”, „מגירה” +\n +\n • ויקיפדיה כשכבה נפרדת בהגדרת המפה, אפשרות לבחור את השפה הנדרשת בלבד +\n +\n • יצירת מסנני/מפות נקודות עניין משלך בגמישות מלאה +\n +\n • נוספו אפשרויות לשחזר הגדרות לפרופילים מותאמים אישית +\n +\n • מסלולי GPX מלאים מניווט עם תמיכה בנתיבי תנועה והנחיות פנייה מלאות +\n +\n • תיקון גודלי מנשקי משתמש במחשבי לוח +\n \n • תיקון תקלות ביישור מימין לשמאל \n \n - לחיצה על כפתור הפעולה תחליף בין הפרופילים הנבחרים. + כפתור הפעולה מחליף בין הפרופילים הנבחרים. הוספת פרופיל החלפת פרופיל יישומון - הפרופיל שנבחרו לפעולה הזאת לא נמצאו. + לא ניתן למצוא פרופילים שכאלו. מפת סקירת העולם (מפורטת) \ No newline at end of file From 42456c5bc5db35790918521a811069158de4c2bb Mon Sep 17 00:00:00 2001 From: iman Date: Tue, 19 May 2020 21:01:03 +0000 Subject: [PATCH 026/509] Translated using Weblate (Persian) Currently translated at 99.4% (3320 of 3340 strings) --- OsmAnd/res/values-fa/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index 77e8486b80..d189deae1e 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -3683,7 +3683,7 @@ \n \nبرای مدیریت یا لغو اشتراک خود، به تنظیمات گوگل‌پلی بروید. OsmAnd tracker - راهنمای نمادهای نقشه + راهنمای نمادشناسی نقشه. پروفایل‌های ناوبری کانتونی مین‌نانی @@ -3748,5 +3748,6 @@ با لمس دکمهٔ عملیاتی بین پروفایل‌های انتخاب‌شده جابه‌جا شوید. افزودن پروفایل تغییر پروفایل برنامه - پروفایل‌های انتخاب‌شده برای این کنش، پیدا نشدند. + چنین پروفایلی پیدا نشد. + نقشهٔ نمای کلی جهان ( با جزئیات) \ No newline at end of file From aa5e8ed509ef0647f310e2dc279c46da7254cc76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Wed, 20 May 2020 00:08:42 +0000 Subject: [PATCH 027/509] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 8.1% (271 of 3340 strings) --- OsmAnd/res/values-nb/strings.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index d8a0b77701..8557eab8df 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3602,4 +3602,13 @@ OsmAnd + Mapillary Handlingsknappen veksler mellom valgte profiler. Endre programprofil + Nåværende elementer vil erstattes med elementer fra filen + Minimumsvinkel mellom min plassering og rute + Importer opptegningsfil + Løyper bruker farger for å visualisere bratthet. + Ytterligere kart trengs for å vise løyper på kartet. + Abonnement - OsmAnd Live + Gjenopprett forvalgt elementrekkefølge + Fant ingen slike profiler. + Verdensoversiktskart (detaljert) \ No newline at end of file From c84b80f7a5715d561807569d414ac2d21b681000 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Tue, 19 May 2020 22:46:28 +0000 Subject: [PATCH 028/509] Translated using Weblate (Sardinian) Currently translated at 98.9% (3305 of 3340 strings) --- OsmAnd/res/values-sc/strings.xml | 34 ++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index c139c22493..bdb32f0e7c 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -317,7 +317,7 @@ Issèbera una cumbinatzione de colores pro sos caminos: Ischema de colores de sos caminos Ammustra sa diretzione de sa destinatzione - "Abìlita s’estensione de registratzione biàgios pro impreare sos servìtzios de registratzione de sa positzione (registratzione GPX, arrastamentu in lìnia)" + Abìlita s’estensione de registratzione biàgios pro impreare sos servìtzios de registratzione de sa positzione (registratzione GPX, arrastamentu in lìnia) Càrcula un’àndala, s’in casu mai fintzas non primorosa, pro sas distantzias longas Allughe su GPS in sas impostatziones Servitzios de registratzione @@ -910,8 +910,7 @@ Installa àteru… Imprea sas mapas vetoriales pro totu su chi b\'est a in antis de custu livellu. Livellu mìnimu ismanniamentu vetoriale - - OSM in lìnia classificatzione mapas cun immàgines. + OSM in lìnia classificatzione mapas cun immàgines. Impossìbile fàghere sa chirca chene lìnia. Chirca impreende sa positzione geogràfica Sistema @@ -1491,7 +1490,7 @@ Dispinta/Sìmula sa positzione tua Lista ebbia Lat %1$s -Lon %2$s +\nLon %2$s Dimandas fitianas, ùrtimas modìficas e àteru. Impostatziones de navigatzione Impostatziones generales @@ -1834,7 +1833,7 @@ Lon %2$s Tempus de agiornamentu Non ischertadu Torra a iscrìere sas notas si non b\'est logu bastante in sa memòria. - "Longària de sa nota" + Longària de sa nota Longària màssima de registratzione. Mannària de sa memòria Cantidade de memòria chi podet èssere impreada dae su totale de sas notas. @@ -2024,7 +2023,7 @@ Lon %2$s Nde b\'est bisòngiu pro iscarrigare mapas. Chirchende sa positzione… Ispàtziu lìberu - "Ispàtziu impreadu pro sos datos de OsmAnd (mapas, documentos GPX etc.): %1$s." + Ispàtziu impreadu pro sos datos de OsmAnd (mapas, documentos GPX etc.): %1$s. Dae su permissu Dae su permissu pro s\'atzessu a sa positzione Agata sa positzione mea @@ -2180,11 +2179,11 @@ Lon %2$s Nùmene de s\'atzione Còdighe Abertu de Logu (OLC) OLC non vàlidu - +\n OLC curtzu -Pro praghere iscrie su còdighe intreu +\nPro praghere iscrie su còdighe intreu OLC intreu vàlidu -Àrea rapresentada: %1$s x %2$s +\nÀrea rapresentada: %1$s x %2$s S\'istradu superiore de sa mapa est istadu mudadu in \"%s\". S\'istratu inferiore de sa mapa est istadu mudadu in \"%s\". Iscroba automaticamente sas registratziones @@ -2280,7 +2279,8 @@ Pro praghere iscrie su còdighe intreu Agiuda a OSM \n• Sinnala errores in sos datos \n• Càrriga rastas GPX in OSM dae s\'aplicatzione -\n• Annanghe PDI e carriga·los in OSM (fintzas prus a tardu, si non ses in lìnia) +\n• Annanghe PDI e carriga·los in OSM (fintzas prus a tardu, si non ses in lìnia) +\n OsmAnd est a mitza aberta e benit megioradu totora. Totus podent contribuire a s\'aplicatzione sinnalende errores, megiorende sas tradutziones o programmende funtzionalidades noas. Su progetu benit sustènnidu fintzas gràtzias a sas donatziones pro sa programmatzione e su collàudu de funtzionalidades noas. \nCobertura e calidade aprosimativa de sas mapas: \n• Europa otzidentale: **** @@ -2320,7 +2320,8 @@ Pro praghere iscrie su còdighe intreu Imprea datos de OSM e Wikipedia \n• Informatziones de calidade arta dae sos mègius progetos collaborativos de su mundu \n• Datos OSM disponìbiles pro istadu o regione -\n• PDI Wikipedia, ispantosos pro su turismu • Iscarrigamentos de badas illimitados, diretamente dae s\'aplicatzione +\n• PDI Wikipedia, ispantosos pro su turismu +\n• Iscarrigamentos de badas illimitados, diretamente dae s\'aplicatzione \n• Mapas vetoriales cumpatas agiornadas a su mancu una borta a su mese \n \n• Issèbera intra sos datos intreos pro sas regiones o petzi sos de sos caminos (esèmpiu: totu su Giapone est 700 MB, sos caminos ebbia sunt 200 MB) @@ -2328,9 +2329,11 @@ Pro praghere iscrie su còdighe intreu \n• Muda automàtica optzionale de sa vista die/note \n• Visulaizatzione automàtica de su lìmite de lestresa, cun avisos cando lu barigas \n• Ismanniamentu automàticu optzionale regoladu dae sa lestresa -\n• Cumpartzi sa positzione tua pro ti fàghere agatare dae sos amigos tuos +\n• Cumpartzi sa positzione tua pro ti fàghere agatare dae sos amigos tuos +\n Funtzionalidades pro sas bitzicletas e a pede -\n• Podes agatare sas pistas tziclàbiles, pro escursionismu e pro passigiadas, ispantosas pro s\'atividades a s\'àera aberta • Modalidades ispetziales pro sa navigatzione e sa mapa pro bitzicletas e a pede +\n• Podes agatare sas pistas tziclàbiles, pro escursionismu e pro passigiadas, ispantosas pro s\'atividades a s\'àera aberta +\n• Modalidades ispetziales pro sa navigatzione e sa mapa pro bitzicletas e a pede \n• Firmadas de sos trasportos pùblicos (bus, tram, trenu) cun sos nùmenes de sas lìnias \n• Registratzione de sos biàgios in rastas GPX in documentos sarvados in locale o in servìtzios in lìnia \n• Podes bìdere sa lestresa e s\'artària tua (optzionale) @@ -2769,7 +2772,7 @@ Pro praghere iscrie su còdighe intreu Rinnova s\'abbonamentu tuo pro sighire a impreare totu sas funtzionalidades: Iscàrriga totu Aberi su ligàmene de Wikipedia in lìnia - "Su ligàmene at a bènnere abertu in un\'esploradore." + Su ligàmene at a bènnere abertu in un\'esploradore. Abbona·ti a OsmAnd Live pro lèghere sos artìculos de Wikipedia e Wikivoyage chene connessione. Comente abèrrere su ligàmene? Leghe Wikipedia chene connessione @@ -3687,7 +3690,7 @@ Pro praghere iscrie su còdighe intreu Preferidos Abbonamentos - OsmAnd Live Còmporas de OsmAnd - Sa ghia pro sa simbologia de sa mapa + Sa ghia pro sa simbologia de sa mapa. Profilos de navigatzione • Mapas noas non in lìnia de sas pendèntzias \n @@ -3723,4 +3726,5 @@ Pro praghere iscrie su còdighe intreu Annanghe unu profilu Càmbia su profilu de s\'aplicatzione Sos profilos ischertados pro custa atzione non s\'agatant. + Mapa mundiale generale (a sa minuda) \ No newline at end of file From 24ff50e376a856cc19a19ae2e237bb6623603f1e Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Tue, 19 May 2020 19:34:54 +0000 Subject: [PATCH 029/509] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 72 ++++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 878e071c9d..2891e50a39 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -578,7 +578,7 @@ Destino Para: Confirma que deseja remover o destino (inclusive os intermediários)? - "Configurar áudio/vídeo " + Configurar áudio/vídeo Via: De: Perfil predefinido @@ -1208,8 +1208,7 @@ Pôr do Sol: %2$s Instalar mais… Use mapas raster para qualquer coisa além desse nível. Mínimo nível de zoom vetorial - - OSM on-line classificação de mapa com imagens. + OSM on-line classificação de mapa com imagens. Não foi possível realizar a pesquisa off-line. Sistema Idioma de exibição do aplicativo (usado após o reinício do OsmAnd). @@ -2290,7 +2289,7 @@ Pôr do Sol: %2$s Envie sua Nota OSM anonimamente ou através do seu perfil do OpenStreetMap.org. Exibir uma notificação do sistema permitindo a gravação de viagem. Antecipando os feriados de Natal e ano novo, você pode optar por exibir POIs relacionados ao Natal, como árvores de Natal, mercados, etc. - Assinatura cobrada mensalmente. Pode ser cancelada no Google Play a qualquer momento. + Assinatura cobrada por período selecionado. Cancele-o no Google Play a qualquer momento. Parte da sua doação é enviada aos colaboradores do OSM. O custo da assinatura permanece o mesmo. A assinatura permite atualizações a cada hora, diariamente e semanais, e downloads ilimitados para todos os mapas globalmente. Adquira já @@ -3410,7 +3409,7 @@ Pôr do Sol: %2$s Ícone, cor e nome Editar lista de perfil Perfil selecionado - Tocar em %1$s descartará todas as suas alterações. + Tocar em %1$s descarta todas as suas alterações. Redefina todas as configurações de perfil para os padrões de instalação. Redefinir todas as configurações de perfil\? %1$s: %2$s @@ -3479,7 +3478,7 @@ Pôr do Sol: %2$s %1$s/%2$s Pôr do sol em %1$s Nascer do sol em %1$s - Modo de acessibilidade desativado em seu sistema. + Modo de acessibilidade desativado no seu Android. Redefinir como padrão redefinirá a ordem de classificação para o estado padrão após a instalação. Usar tempo limite da tela do sistema Desabilitada por padrão, se OsmAnd estiver sendo executado em primeiro plano, a tela não atingirá o tempo limite. @@ -3524,11 +3523,11 @@ Pôr do Sol: %2$s %1$s — %2$s — %3$s Roteamento Incluir dados adicionais - O perfil importado contém dados adicionais. Clique em Importar para importar apenas dados do perfil ou selecione dados adicionais a serem importados. + O perfil importado contém dados adicionais. Clique em \"Importar\" para importar apenas dados do perfil ou selecione dados adicionais. Você pode selecionar dados adicionais para exportar junto com o perfil. Antártida Aplicativo padrão (%s) - Desativar recálculo + Sem recálculo Distância mínima para recalcular a rota A rota será recalculada se a distância até a rota for maior que o parâmetro especificado Perfil personalizado @@ -3583,7 +3582,7 @@ Pôr do Sol: %2$s Sombras de relevo %1$s de %2$s Encostas - Mostrar/ocultar terreno + Mostrar / ocultar terreno Ocultar terreno Mostrar terreno Um botão para mostrar ou ocultar a camada do terreno no mapa. @@ -3608,9 +3607,9 @@ Pôr do Sol: %2$s Idioma Todos os idiomas Mapas adicionais são necessários para visualizar os POIs da Wikipédia no mapa. - Personalize a quantidade de itens na gaveta, configure o mapa e o menu de contexto. -\n -\nVocê pode desativar os plugins não utilizados para ocultar todos os controles do aplicativo %1$s. + Personalize a quantidade de itens na \"gaveta\", \"configure o mapa\" e o \"menu de contexto\". +\n +\nDesative plugins não utilizados para ocultar todos os seus controles. %1$s. Itens da gaveta, menu de contexto Personalização da interface do usuário Gaveta @@ -3621,7 +3620,7 @@ Pôr do Sol: %2$s Escondido Esses itens estão ocultos no menu, mas as opções ou plug-ins representados continuarão funcionando. Ocultar configurações redefine-as para o estado original. - \'Ações principais\' contém apenas 4 botões. + Só tem quatro botões. Principais ações Você pode mover itens somente dentro desta categoria. Plugin do desenvolvedor @@ -3665,7 +3664,7 @@ Pôr do Sol: %2$s \n \n  Você pode gerenciar e cancelar suas assinaturas acessando as configurações do Google Play. Pesquisar tipos de POI - Combine tipos de PIs de diferentes categorias. Toque em \"Alternar\" para selecionar todos, toque no lado esquerdo para selecionar a categoria. + Combine tipos de POI de diferentes categorias. Tocar em \"Alternar\" seleciona tudo e o lado esquerdo seleciona a categoria. Rastreador do OsmAnd OsmAnd + Mapillary Ação rápida @@ -3676,40 +3675,41 @@ Pôr do Sol: %2$s Favoritos Assinatura - OsmAnd Live Compras no OsmAnd - O guia para a simbologia de um mapa + O guia para a simbologia de um mapa. Perfis de navegação - • Novos mapas de inclinação offline -\n -\n  • Personalização completa de Favoritos e Waypoints GPX - cores, ícones e formas personalizados -\n -\n  • Personalize a ordem dos itens no menu de contexto, configurar mapa, gaveta -\n -\n  • Wikipédia como uma camada separada no mapa Configurar, selecione apenas os idiomas necessários -\n -\n  • Crie seu próprio filtro / mapa de POI com total flexibilidade -\n -\n  • Adicionadas opções para restaurar configurações de perfis personalizados -\n -\n  • Rotas GPX completas das faixas de tráfego da Navigation Support e instruções completas de curva -\n -\n  • Corrigir tamanhos de interface do usuário em tablets -\n + • Novos mapas de inclinação offline +\n +\n  • Personalização completa de Favoritos e Waypoints GPX - cores, ícones e formas personalizados +\n +\n  • Personalize a ordem dos itens no menu de contexto, configurar mapa, gaveta +\n +\n  • Wikipédia como uma camada separada no mapa Configurar, selecione apenas os idiomas necessários +\n +\n  • Crie seu próprio filtro / mapa de POI com total flexibilidade +\n +\n  • Adicionadas opções para restaurar configurações de perfis personalizados +\n +\n  • Rotas GPX completas das faixas de tráfego da Navigation Support e instruções completas de curva +\n +\n  • Corrigir tamanhos de interface do usuário em tablets +\n \n  • Corrija bugs com RTL \n \n Você pode acessar essas ações tocando no botão “%1$s”. Ocultar transporte público Mostrar transporte público - Mostrar/ocultar transporte público - Um botão para mostrar ou ocultar o transporte público no mapa. - Criar/Editar POI + Mostrar / ocultar transporte público + Botão que mostra ou oculta o transporte público no mapa. + Criar / Editar POI Posições de estacionamento Adicionar / Editar favorito Restaurar ordem de itens padrão Voltar à edição Retomar - Tocar no botão de ação alterna entre os perfis selecionados. + O botão de ação alterna entre os perfis selecionados. Adicionar perfil Alterar perfil do aplicativo - Perfis selecionados para esta ação não encontrados. + Não foi possível encontrar nenhum desses perfis. + Mapa geral do mundo (detalhado) \ No newline at end of file From 933f9bec6ff7da796c264d642d32df88784c2f49 Mon Sep 17 00:00:00 2001 From: Rami Lehtinen Date: Tue, 19 May 2020 17:44:15 +0000 Subject: [PATCH 030/509] Translated using Weblate (Finnish) Currently translated at 37.9% (1445 of 3804 strings) --- OsmAnd/res/values-fi/phrases.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/OsmAnd/res/values-fi/phrases.xml b/OsmAnd/res/values-fi/phrases.xml index 80c5afa4fb..9a55a6806b 100644 --- a/OsmAnd/res/values-fi/phrases.xml +++ b/OsmAnd/res/values-fi/phrases.xml @@ -1448,4 +1448,14 @@ Asuntovaunut: ei Vain ryhmä: ei Ainoastaan ryhmä: kyllä + Tutka + Masto + Tähtitieteellinen + Viinitarha + Folio + Korkki + Tetrapak + Matalaenergialamput + Vesimylly + Tavara hissi \ No newline at end of file From 5cabfd8d61a5d45bdeb6e4481dd3440c9fc9a0c4 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Wed, 20 May 2020 11:07:43 +0000 Subject: [PATCH 031/509] Translated using Weblate (Esperanto) Currently translated at 99.7% (3332 of 3340 strings) --- OsmAnd/res/values-eo/strings.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index a3c7baa602..88401a9be8 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -3612,7 +3612,7 @@ Lingvo Ĉiuj lingvoj Kromaj mapoj estas necesaj por vidigi punktojn de Vikipedio sur la mapo. - La “ĉefaj agoj” povas enhavi nur 4 butonojn. + Povas enhavi nur kvar butonojn. Ĉefaj agoj Vi povas movi elementojn nur ene tiu ĉi kategorio. Programista kromprogramo @@ -3668,7 +3668,7 @@ \n La abono aŭtomate renoviĝos escepte se ĝi estos nuligita antaŭ la dato de renoviĝo. La pago estos prenita por la renoviĝa periodo (monato/tri monatoj/jaro) nur je la data de renoviĝo. \n \n Vi povas administri kaj rezigni viajn abonojn per agordoj de Google Play. - Miksi specojn de interesejoj el diversaj kategorioj. Frapetu “ŝaltilon” por elekti ĉiujn, frapetu ĉe maldekstre por elekti el la kategorio. + Miksi specojn de interesejoj el diversaj kategorioj. Frapetu ŝaltilon por elekti la tutan kategorion, frapetu ĉe maldekstre por elekti detala(j)n objekto(j)n el la kategorio. Serĉi specojn de interesejoj Ŝatataj ejoj Aboni OsmAnd Live @@ -3680,23 +3680,23 @@ Distanc-mezurilo Vojaĝo (Vikivojaĝoj kaj Vikipedio) Map‑markoj - Priskribo al simboloj sur la mapo + Gvidilo al simboloj sur la mapo. Profiloj de navigo - • novaj mapoj de dekliveco por malkonekta uzado + • novaj mapoj de dekliveco por malkonekta uzado \n -\n • plena alĝustigo de ŝatataj punktoj kaj GPX‑navigadpunktoj: propraj koloroj, emblemoj kaj formoj +\n • plena alĝustigo de ŝatataj punktoj kaj GPX‑navigadpunktoj: propraj koloroj, emblemoj kaj formoj \n -\n • reordigi elementojn de la kunteksta menuo, menuo “konfiguri mapon” kaj tirmenuo +\n • reordigi elementojn de la kunteksta menuo, menuo “konfiguri mapon” kaj tirmenuo \n -\n • Vikipedio kiel aparta tavolo vidigebla per la menuo “konfiguri mapon”, eblo elekti nur bezonatajn lingvojn +\n • Vikipedio kiel aparta tavolo vidigebla per la menuo “konfiguri mapon”, eblo elekti nur bezonatajn lingvojn \n -\n • krei viajn proprajn filtrilojn/mapojn de interesejoj, tute agordeblaj +\n • krei viajn proprajn filtrilojn/mapojn de interesejoj, tute agordeblaj \n -\n • restarigi agordojn por propraj profiloj +\n • restarigi agordojn por propraj profiloj \n -\n • plenaj GPX‑spuroj en navigo, subteno por instrukcioj pri (voj)koridoroj kaj turnoj +\n • plenaj GPX‑spuroj en navigo, subteno por instrukcioj pri (voj)koridoroj kaj turnoj \n -\n • riparita grando de fasado ĉe tabulkomputiloj +\n • riparita grando de fasado ĉe tabulkomputiloj \n \n • riparitaj eraroj pri lingvoj skribataj dekstre-maldekstren \n @@ -3715,6 +3715,6 @@ Butono por baskuli inter elektitaj profiloj. Aldoni profilon Ŝanĝi aplikaĵan profilon - Ne trovis profilojn elektitajn por tiu ĉi ago. + Ne trovis tiajn profilojn. Fundamenta mapo de mondo (detala) \ No newline at end of file From 8106ff507c63b0301c7dd1e6c572e405243e796f Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Wed, 20 May 2020 08:16:28 +0000 Subject: [PATCH 032/509] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 53 ++++++++++++++-------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index b99294215a..1a3fdbe2c9 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2027,7 +2027,7 @@ 獲得 %1$s 不要檢查新版本或 OsmAnd 相關的折扣。 獲得 - 每個月會收取訂閱費用。您隨時都能在 Google Play 取消。 + 會定時收取訂閱費用。您隨時都能在 Google Play 取消。 捐款給 OSM 的社群 啟用認購可每小時、每天、每週的更新以及世界各地所有的地圖無限制的下載。 澳洲 @@ -3412,7 +3412,7 @@ 圖示、顏色與名稱 編輯設定檔清單 選定的設定檔 - 點擊 %1$s 將會丟棄您所有的變更。 + 點擊 %1$s 會丟棄您所有的變更。 將所有設定檔設定重設為安裝時的預設值。 重設所有設定檔的設定? %1$s:%2$s @@ -3481,7 +3481,7 @@ %1$s/%2$s 日落於 %1$s 日出於 %1$s - 您的系統停用了無障礙模式。 + 您的 Android 關閉了無障礙模式。 重設為預設值將會把排序重設回安裝後的預設值。 使用系統畫面逾時 預設停用,如果 OsmAnd 在前景執行,畫面就不會有逾時的問題。 @@ -3518,7 +3518,7 @@ 按分類排序 請為設定檔命名 開啟設定 - 外掛程式已停用 + 外掛程式關閉 此外掛程式是獨立的應用程式,如果您不打算再使用它,請將其移除。 \n \n在您移除 OsmAnd 後,這類的外掛程式仍將繼續存在於裝置上。 @@ -3526,7 +3526,7 @@ %1$s — %2$s — %3$s 路徑 包含額外資料 - 已匯入的設定檔包含了額外資料。點擊匯入僅匯入設定檔資料或選取額外的資料以匯入。 + 已匯入的設定檔包含了額外資料。點擊匯入僅匯入設定檔資料或選取額外的資料。 您可以選取額外的資料以與設定檔一起匯出。 南極洲 應用程式預設值 (%s) @@ -3613,7 +3613,7 @@ 需要額外的地圖才能在地圖上檢視維基百科的 POI。 在「抽屜」、「設定地圖」與情境選單中自訂項目數量。 \n -\n您可以關閉未使用的外掛程式,以從應用程式 %1$s 中隱藏它們的控制元件。 +\n您可以關閉未使用的外掛程式,以從 %1$s 中隱藏它們的控制元件。 抽屜項目,情境選單 自訂使用者介面 抽屜 @@ -3624,7 +3624,7 @@ 已隱藏 這些項目已從選單隱藏,但對應的選項或外掛程式將會繼續運作。 隱藏設定將會把它們重設回原始狀態。 - 主要動作僅包含 4 個按鈕。 + 僅有四個按鈕。 主要動作 您只能在此分類中移動項目。 開發者外掛程式 @@ -3679,24 +3679,24 @@ 收藏 訂閱 - OsmAnd Live OsmAnd 購買 - 地圖符號系統指南 + 地圖符號系統指南。 導航設定檔 - • 新的離線坡度圖 -\n -\n • 對收藏與 GPX 路徑點的完整自訂能力 — 自訂顏色、圖示、形狀 -\n -\n • 自訂情境選單、設定地圖、抽屜中的項目順序 -\n -\n • 設定地圖中可將維基百科選取為單獨的圖層,並僅選取需要的語言 -\n -\n • 在超強的彈性下建立您自己的 POI 過濾器/地圖 -\n -\n • 新增選項以恢復自訂設定檔中的選項 -\n -\n • 對 GPX 路徑導航完整支援車道與轉彎提示 -\n -\n • 修復平板電腦上的使用者介面大小 -\n + • 新的離線坡度圖 +\n +\n • 對收藏與 GPX 路徑點的完整自訂能力 — 自訂顏色、圖示、形狀 +\n +\n • 自訂情境選單、設定地圖與抽屜中的項目順序 +\n +\n • 設定地圖中可將維基百科選取為單獨的圖層,並僅選取需要的語言 +\n +\n • 在超強的彈性下建立您自己的 POI 過濾器/地圖 +\n +\n • 新增選項以恢復自訂設定檔中的選項 +\n +\n • 對 GPX 路徑導航完整支援車道與轉彎提示 +\n +\n • 修復平板電腦上的使用者介面大小 +\n \n • 修復 RTL 的臭蟲 \n \n @@ -3711,8 +3711,9 @@ 恢復預設項目排序 返回編輯 恢復 - 點擊動作按鈕將會在選取的設定檔間切換。 + 點擊動作按鈕會在選取的設定檔間切換。 新增設定檔 變更應用程式設定檔 - 找不到為此動作選取的設定檔。 + 找不到任何這類的設定檔。 + 全球地圖總覽(詳細) \ No newline at end of file From 5a42cb60452793d63e249033f52561bad6ffae59 Mon Sep 17 00:00:00 2001 From: D M Date: Tue, 19 May 2020 21:39:06 +0000 Subject: [PATCH 033/509] Translated using Weblate (Serbian) Currently translated at 71.6% (2724 of 3804 strings) --- OsmAnd/res/values-sr/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sr/phrases.xml b/OsmAnd/res/values-sr/phrases.xml index c7a830f3f8..535199d938 100644 --- a/OsmAnd/res/values-sr/phrases.xml +++ b/OsmAnd/res/values-sr/phrases.xml @@ -1869,7 +1869,7 @@ Приступ тоалету: допуштен Приступ тоалету: заједнички Приступ тоалету: јавни - Преузимање пакета и доспеле поште + Преузимање пакета и допремање поште Бицикл вентили Преузимање пакета Поштанска достава пакета From 3fdc51b3aae788ec02a8ace49f53e53e97bc1ad9 Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Tue, 19 May 2020 19:46:56 +0000 Subject: [PATCH 034/509] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (267 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/pt_BR/ --- OsmAnd-telegram/res/values-pt-rBR/strings.xml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/OsmAnd-telegram/res/values-pt-rBR/strings.xml b/OsmAnd-telegram/res/values-pt-rBR/strings.xml index 58839b5cb8..279635af8b 100644 --- a/OsmAnd-telegram/res/values-pt-rBR/strings.xml +++ b/OsmAnd-telegram/res/values-pt-rBR/strings.xml @@ -26,7 +26,7 @@ Posicionando… Conectando-se à Internet Altere as configurações de otimização da bateria para estabilizar o compartilhamento de local. - "Funcionamento em segundo plano " + Funcionamento em segundo plano Desative a otimização da bateria do OsmAnd Tracker para que ele não seja desligado repentinamente quando estiver em segundo plano. Compartilhando em segundo plano Vá para as configurações @@ -72,7 +72,7 @@ Conta no %1$s Escolha a versão OsmAnd que OsmAnd Tracker usa para exibir posições. - "Conectar OsmAnd " + Conectar OsmAnd Ocultar contatos que não foram movidos em um determinado momento. Histórico de localização A última vez que um contato foi movido. @@ -173,9 +173,7 @@ h min seg - - OsmAnd Tracker permite que você compartilhe sua localização e veja a dos outros no OsmAnd.
-
O aplicativo usa a API Telegram e você precisa de uma conta Telegram.
+ OsmAnd Tracker permite que você compartilhe sua localização e veja a dos outros no OsmAnd.

O aplicativo usa a API Telegram e você precisa de uma conta Telegram.
Minha localização Ao vivo agora Monitoramento está ativado @@ -186,13 +184,13 @@ Mostrar no OsmAnd Data final Data de início - "Linha do tempo " + Linha do tempo enviado (%1$d em buffer) - "%1$d pontos " + %1$d pontos Data Coletado Pontos de GPS - "Enviar " + Enviar Por favor, atualize o OsmAnd para ver os dados no mapa Atualizar Telegram @@ -201,7 +199,7 @@ Ao clicar em \"Continuar\", você concorda com as condições da política de privacidade do Telegram- e OsmAnd. Aceitar Política de privacidade do Telegram - "Política de privacidade do OsmAnd " + Política de privacidade do OsmAnd Como funciona Pontos GPX recebidos: %1$s Aparência From 33cf221a3b0f33f961eadef0b48e68c00ceef96f Mon Sep 17 00:00:00 2001 From: D M Date: Tue, 19 May 2020 21:29:59 +0000 Subject: [PATCH 035/509] Translated using Weblate (Serbian) Currently translated at 20.2% (54 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/sr/ --- OsmAnd-telegram/res/values-sr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd-telegram/res/values-sr/strings.xml b/OsmAnd-telegram/res/values-sr/strings.xml index 99bbc1ced0..78d4e8bb2a 100644 --- a/OsmAnd-telegram/res/values-sr/strings.xml +++ b/OsmAnd-telegram/res/values-sr/strings.xml @@ -53,4 +53,5 @@ Мерне јединице & форматирања Промени јединице за дужину. Јединице дужине + Изглед \ No newline at end of file From a70d6aecd0d2a59dae3d0b25661292b2d876a461 Mon Sep 17 00:00:00 2001 From: vshcherb Date: Wed, 20 May 2020 18:59:46 +0200 Subject: [PATCH 036/509] Update CreateEditActionDialog.java --- .../src/net/osmand/plus/quickaction/CreateEditActionDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java index 1875cc31a5..9fdc94c8df 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java @@ -223,7 +223,7 @@ public class CreateEditActionDialog extends DialogFragment implements CallbackWi } }); -// name.setEnabled(action.isActionEditable()); + name.setEnabled(action.isActionEditable()); action.setAutoGeneratedTitle(name); if (savedInstanceState == null) name.setText(action.getName(getContext())); From b8454fbd2ccabac876ddf793380b1dee54bc8ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Wed, 20 May 2020 15:42:56 +0000 Subject: [PATCH 037/509] Translated using Weblate (Turkish) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-tr/strings.xml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index e99a7b5151..f4b30a5b89 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3644,22 +3644,22 @@ OsmAnd satın almaları Bir haritadaki sembollerin rehberi. Navigasyon profilleri - • Yeni çevrim dışı Yamaç haritaları -\n -\n • Sık Kullanılanlar ve GPX Ara Noktalarını tamamen özelleştirme – özel renkler, simgeler, şekiller -\n -\n • İçerik Menüsü, Harita Yapılandırma, Çekmece ögelerinin sırasını özelleştirme -\n -\n • Harita yapılandırma bölümünde ayrı bir katman olarak Wikipedia, yalnızca gerekli dilleri seçin -\n -\n • Tamamen esnek olarak kendi POI filtrenizi / haritalarınızı oluşturun -\n -\n • Özel profiller için ayarları geri yükleme seçenekleri eklendi -\n -\n • GPX rota navigasyonu için trafik şeritleri ve dönüş talimatları için tam destek -\n -\n • Tabletlerde kullanıcı arayüzü boyutlarını düzeltme -\n + • Yeni çevrim dışı Yamaç haritaları +\n +\n • Sık Kullanılanlar ve GPX Ara Noktalarını tamamen özelleştirme – özel renkler, simgeler, şekiller +\n +\n • İçerik Menüsü, Harita Yapılandırma, Çekmece ögelerinin sırasını özelleştirme +\n +\n • Harita yapılandırma bölümünde ayrı bir katman olarak Wikipedia, yalnızca gerekli dilleri seçin +\n +\n • Tamamen esnek olarak kendi POI filtrenizi / haritalarınızı oluşturun +\n +\n • Özel profiller için ayarları geri yükleme seçenekleri eklendi +\n +\n • GPX rota navigasyonu için trafik şeritleri ve dönüş talimatları için tam destek +\n +\n • Tabletlerde kullanıcı arayüzü boyutlarını düzeltme +\n \n • RTL hatalarını düzeltme \n \n From 75cd3b54d458724f33780ab9196f1b30f1786d75 Mon Sep 17 00:00:00 2001 From: Athoss Date: Wed, 20 May 2020 15:40:23 +0000 Subject: [PATCH 038/509] Translated using Weblate (Hungarian) Currently translated at 95.8% (3202 of 3341 strings) --- OsmAnd/res/values-hu/strings.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index 69da8051d1..b7e790be2a 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -3627,4 +3627,24 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Kombináljon POI típusokat különböző kategóriákból. Koppintson egy kapcsolóra az összes altípus kiválasztásához, vagy koppintson egy szövegre az egyes altípusok kijelöléséhez. POI típusok keresése Áttekintő világtérkép (részletes) + • Új offline lejtőtérkép +\n +\n • Kedvencek és GPX-útpontok teljes testreszabhatósága – egyéni színek, ikonok, formák +\n +\n • Opciók menü, Térkép beállítása és Főmenü elemeinek sorrendje testreszabhatók +\n +\n • Wikipédia külön rétegként szerepel a Térkép beállítása menüben, a kívánt nyelvek kiválaszthatók +\n +\n • Saját POI szűrők létrehozhatók / térképek teljes rugalmassággal +\n +\n • Egyéni profilok beállításainak visszaállíthatósága +\n +\n • Teljeskörű GPX útvonalak létrehozása a navigációból, mely támogatja a forgalmi sávokat és a teljes navigációs utasításokat +\n +\n • Felhasználói felület méreteinek javítása táblagépeken +\n +\n • Jobbról balra írt nyelvekkel kapcsolatos hibák javítása +\n +\n + Nem támogatott típus \ No newline at end of file From 2ce0baae1af9dfd9949774d41acd7db1f987feb0 Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Wed, 20 May 2020 17:12:54 +0000 Subject: [PATCH 039/509] Translated using Weblate (Arabic) Currently translated at 99.4% (3321 of 3341 strings) --- OsmAnd/res/values-ar/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 72f5e2b989..f4e1a9cd9e 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -1614,7 +1614,7 @@ \n \nللعودة إلى واحدة من أنماط الخريطة التقليدية، ببساطة إما عطل هذه الأداة مرة أخرى أو غير \'نمط الخريطة\' في \'ضبط الخريطة\' حسب الرغبة. البحث قرب مركز الخريطة الحالية - نشطة + العلامات النشطة علامات الخريطة تخطي الحدود حدد الطرق التي تريد تجنبها أثناء التنقل. From aad43d432e2313e33a360aebcf8e548ece9d2da9 Mon Sep 17 00:00:00 2001 From: solokot Date: Wed, 20 May 2020 19:44:14 +0000 Subject: [PATCH 040/509] Translated using Weblate (Russian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ru/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index bde38b8bf4..f6446df69a 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -3723,4 +3723,5 @@ Не найдено подходящих профилей. Продолжить Мировая обзорная карта (подробная) + Неподдерживаемый тип \ No newline at end of file From 967dd590e5d7b95d58a10aa2ddb84b756868c91d Mon Sep 17 00:00:00 2001 From: ihor_ck Date: Wed, 20 May 2020 18:42:46 +0000 Subject: [PATCH 041/509] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-uk/strings.xml | 79 +++++++++++++++++--------------- 1 file changed, 41 insertions(+), 38 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 52fa6072f6..1c28771902 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -1874,7 +1874,7 @@ Показати елементи з позначок мапи. Вилучити усі задіяні позначки\? Очистити історію позначок мапи\? - Поточні позназчки + Наявні позназчки Позначки Позначка мапи Рекомендується вимкнути промальовку полігонів. @@ -2042,7 +2042,7 @@ Вилучити фільтр Новий фільтр Введіть назву для нового фільтра. Ви зможете його знайти у списку категорій. - Передплата стягується щомісячно. Скасувати передплату можна в Google Play у будь-який момент. + Передплата стягується раз на вибраний період. Скасувати передплату можна в Google Play у будь-який момент. Допомога спільноті OSM Частина вашої допомоги надсилається до OSM-вкладників. Вартість передплати залишається однаковою. Передплата включає щогодинні, щоденні та щотижневі оновлення, а також, необмежену кількість доступних завантажень для всіх мап з усього світу. @@ -2161,12 +2161,12 @@ Авто-розрив запису після перерви Почати новий сегмент після 6 хвилинної перерви, новий трек після 2 годинної перерви, або новий файл після тривалої перерви (якщо змінилася дата). Оберіть файлову теку GPX - Некоректний OLC - - Короткий OLC -Будь ласка, введіть повний код - Коректний повний OLC -Описує область: %1$s x %2$s + Нечинний OLC +\n + Закороткий OLC +\nБудь ласка, введіть увесь код + Чинний повний OLC +\nОписує область: %1$s x %2$s Голос увімк/вимк Зняти приглушення голосу Приглушити голос @@ -2382,12 +2382,13 @@ \n• Може відображати назви на мапі: українською, англійською, локальною чи з фонетичним написанням \n
Використовуйте дані OSM та Вікіпедії -\n • Відомості високої якості від найкращих спільних проєктів світу -\n • Дані OSM доступні за країною чи регіоном -\n • Цікаві місця (POI) з Вікіпедії, чудово підходить для огляду визначних місць -\n • Необмежена кількість безкоштовних звантажень, прямо з застосунку -\n • Компактні автономні векторні мапи оновлюються не рідше одного разу на місяць -\n • Вибір між повними даними регіону та лише дорожньою мережею (приклад: уся Японія займає 700 МБ та лише 200 МБ займає її дорожня мережа) +\n• Відомості високої якості від найкращих спільних проєктів світу +\n• Дані OSM доступні за країною чи регіоном +\n• Цікаві місця (POI) з Вікіпедії, чудово підходить для огляду визначних місць +\n• Необмежена кількість безкоштовних звантажень, прямо з застосунку +\n• Компактні автономні векторні мапи оновлюються не рідше одного разу на місяць +\n +\n• Вибір між повними даними регіону та лише дорожньою мережею (приклад: уся Японія займає 700 МБ та лише 200 МБ займає її дорожня мережа)
Засоби безпеки \n• Опціональне автоматичне перемикання між режимами день/ніч \n• Опціональне відображення обмеження швидкості з нагадуванням, якщо Ви перевищите його @@ -3415,7 +3416,7 @@ Значок, колір та назва Редагувати список профілів Вибраний профіль - Торкніться %1$S, щоб відхилити всі зміни. + Торкання %1$s відхилить всі зміни. Скиньте всі параметри профілю до усталено встановлених. Скинути всі налаштування профілю\? %1$s: %2$s @@ -3484,7 +3485,7 @@ %1$s/%2$s Захід сонця о %1$s Схід сонця о %1$s - У Вашій системі вимкнено режим доступності. + Режим доступності вимкнено у вашому Android. Скидання до усталених після установки усталить упорядкування. Використовувати системний час очікування екрана Усталено вимкнено, якщо OsmAnd працює на передньому плані, час очікування не закінчується. @@ -3521,7 +3522,7 @@ Впорядкувати за категоріями Укажіть назву профілю Відкрити налаштування - Втулок вимкнено + Плагін вимкнено Цей плагін є окремою програмою, якщо ви не плануєте користуватися ним надалі, його потрібно буде видалити окремо. \n \nВтулок залишиться на пристрої після видалення OsmAnd. @@ -3529,11 +3530,11 @@ %1$s — %2$s — %3$s Маршрутизація Включати додаткові дані - Імпортований профіль містить додаткові дані. Натисніть кнопку імпортувати, щоб імпортувати лише дані профілю або вибрати додаткові дані для імпорту. + Імпортований профіль містить додаткові дані. Натисніть кнопку \"Імпорт\", щоб імпортувати дані профілю, або оберіть додаткові дані. Ви можете вибрати додаткові дані для експорту разом із профілем. Антарктида Усталений застосунок (%s) - Вимкнути перерахунок + Без перерахунку Найменша відстань для перерахунку маршруту Маршрут буде перераховано, якщо відстань до нього перевищує вказане Користувацький профіль @@ -3589,7 +3590,7 @@ Пагорб %1$s з %2$s Схили - Показати/приховати місцевість + Показати / приховати місцевість Сховати місцевість Показати місцевість Кнопка для відображення або приховування шару місцевості на мапі. @@ -3614,9 +3615,9 @@ Мова Усі мови Для перегляду POI Вікіпедії на мапі потрібні додаткові мапи. - Налаштуйте кількість елементів у скриньці, налаштуйте мапу та контекстне меню. -\n -\nВи можете вимкнути непотрібні плагіни, щоби приховати всі їхні елементи керування у програмі%1$s. + Встановлення кількості елементів меню \"Скринька\", \"Налаштувати мапу\" та \"Контекстне меню\". +\n +\nВимкніть непотрібні плагіни, щоби приховати всі їхні елементи керування %1$s. Елементи скриньки, контекстне меню Налаштування інтерфейсу Скринька @@ -3627,7 +3628,7 @@ Приховано Ці елементи приховані з меню, але встановлені параметри або плагіни продовжать роботу. Приховування налаштувань призведе до скидання до їхнього початкового стану. - \'Основні дії\' містять лише 4 кнопки. + Має лише 4 кнопки. Основні дії Ви можете переміщувати елементи лише всередині цієї категорії. Втулок розробника @@ -3675,40 +3676,40 @@ Закладки Передплата - OsmAnd Live OsmAnd покупки - Довідник умовних позначень мапи + Довідник умовних позначень мапи. Оплата буде списана з рахунку, прив\'язаного до вашого облікового запису Google Play, при підтвердженні придбання. \n \nПередплата продовжується автоматично, якщо ви не скасуєте її до дати продовження. З вашого рахунку буде стягуватися плата за період продовження (щомісяця/щотримісяці/щорік) разово в день продовження. \n \nВи можете керувати передплатами та скасовувати їх у налаштуваннях Google Play. Пошук видів POI - Поєднуйте види POI з різних категорій. Торкніться \"Переключити\", щоб вибрати все, торкніться лівої сторони для вибору категорії. + Поєднуйте види POI з різних категорій. Торкніться \"Перемикача\", щоб вибрати усі, торкніться лівої сторони для вибору категорії. Профілі навігації - • Нові безмережеві мапи схилів + • Нові автономні мапи схилів \n -\n • Повне налаштування вибраних та GPX шляхових точок - спеціальні кольори, значки, форми +\n• Налаштування вибраних та GPX шляхових точок - спеціальні кольори, піктограми, форми \n -\n • Налаштування порядку елементів у контекстному меню, Налаштувати мапу, панелі +\n• Налаштування порядку елементів меню \"Контекстне меню\", \"Налаштувати мапу\" та \"Скринька\" \n -\n • Вікіпедія як окремий шар у Налаштувати мапу, вибір лише потрібних мов +\n• Вікіпедія, як окремий шар. У налаштуваннях мапи вибір лише потрібних мов \n -\n • Створіть власний фільтр POI/мапи з цілковитою гнучкістю +\n• Створіть власний фільтр POI / мап з цілковитою гнучкістю \n -\n • Додані параметри для відновлення налаштувань для користувацьких профілів +\n• Додані параметри для відновлення налаштувань користувацьких профілів \n -\n • Повні маршрути GPX з Навігації підтримують смуги руху та повні вказівки повороту +\n• Маршрути GPX навігації підтримують смуги руху, та вказівки повороту \n -\n • Виправлено розміри інтерфейсу на планшетах +\n• Виправлено розміри інтерфейсу на планшетах \n -\n • Виправлено помилки для мов що пишуться справа наліво +\n• Виправлено помилки для мов, що пишуться справа наліво \n \n Розташування припаркованого авто Приховати громадський транспорт Показати громадський транспорт - Показати/приховати громадський транспорт + Показати / приховати громадський транспорт Кнопка показу або приховування громадського транспорту на мапі. - Створити/змінити POI + Створити / змінити POI Додати / редагувати вибране Відновити типовий порядок елементів Повернутися до редагування @@ -3717,5 +3718,7 @@ Перемикання між профілями здійснюється торканням до кнопки дій. Додати профіль Змінити профіль програми - Профілі, вибрані для цієї дії, не знайдено. + Не вдалося знайти жодного профілю. + Оглядова карта світу (детальна) + Непідтримуваний тип \ No newline at end of file From a215e541309a107d8a5c7f0e218ed855c2cca125 Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Wed, 20 May 2020 17:54:01 +0000 Subject: [PATCH 042/509] Translated using Weblate (Arabic) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ar/strings.xml | 70 ++++++++++++++++---------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index f4e1a9cd9e..758561c2a9 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -407,7 +407,7 @@ مواقف غير محدودة زمنياً فعّل هذا في حال رغبتك بسماع نغمة التقاط الصّور. نموذج مركتور البيضوي - "N %1$.3f E %2$.3f" + N %1$.3f E %2$.3f يحد من شوشرة البوصلة ولكنه يضيف بطئ بسيط. مرشح كالمان تشغيل صوت التقاط الصورة @@ -498,12 +498,12 @@ تركيز تلقائي التركيز البؤري نوع الكاميرا - "* بعد بدء التعديل: -\n المس الخريطة لوضع نقطة. -\n اضغط باستمرار على الخريطة -\n لحذف النقطة السابقة. * بعد إنهاء العديل: -\n استمر بالضغط على نقطة أو على -\n خط القياس للمزيد من الخيارات." + * بعد بدء التعديل: +\n المس الخريطة لوضع نقطة. +\n اضغط باستمرار على الخريطة +\n لحذف النقطة السابقة. * بعد إنهاء العديل: +\n استمر بالضغط على نقطة أو على +\n خط القياس للمزيد من الخيارات. طبقة التضاريس طبقة التضاريس بيانات الخطوط المحيطية @@ -934,7 +934,7 @@ زيارة بعد زيارة قبل محاكاة تخيلية - "N %1$s E %2$s" + N %1$s E %2$s الأسئلة الشائعة، التغييرات الحديثة، وأخرى. إعدادات الملاحة إعدادات عامة @@ -1004,7 +1004,7 @@ نقاط مفضلة مجاورة حفظ كمجموعة مفضلة أدخل اسم المفضلة - "تم إضافة إحداثية المفضلة \'\'{0}\'\' بنجاح." + تم إضافة إحداثية المفضلة \'\'{0}\'\' بنجاح. استبدال اسم مكرر تم تغيير اسم النقطة إلى %1$s لتجنب تكرار الأسماء. @@ -1029,7 +1029,7 @@ فشل في إعادة التسمية. عودة إلى الخريطة شارك ملاحظة - "الموقع : N %1$s E %2$s" + الموقع : N %1$s E %2$s ملاحظات خريطة إنترنت الطرق فقط @@ -1069,7 +1069,7 @@ يوجد تحديثات ل %1$s من الخرائط البحث عن إحداثيات - "%1$s يحتاج هذا الإذن لإطفاء الشاشة لتوفير الطاقة." + %1$s يحتاج هذا الإذن لإطفاء الشاشة لتوفير الطاقة. تشغيل الشاشة تشغيل شاشة الجهاز إذا كانت مغلقة عند الاقتراب من منعطف. تجنب الطرق… @@ -1091,7 +1091,7 @@ تعيين حجم النص على الخريطة. حجم النص حد السرعة - "إيقاف وضع GPS المفعل في الخلفية ؟" + إيقاف وضع GPS المفعل في الخلفية ؟ إيقاف دائماً اسأل الفاصل الزمني العام للتسجيل @@ -1102,7 +1102,7 @@ تسجيل المسار أثناء الملاحة سيتم حفظ المسار إلى مجلد المسارات أثناء الملاحة. الفاصل الزمني للتسجيل - "الفاصل الزمني للتسجيل أثناء الملاحة" + الفاصل الزمني للتسجيل أثناء الملاحة تحديد التوجيه الصوتي للتنقل. التوجيه الصوتي تمكين بروكسي HTTP @@ -1201,7 +1201,7 @@ السرعة القصوى: %1$s متوسط الارتفاع عن سطح البحر: %1$s مدى الارتفاع: %1$s - "الفترة الزمنية: %1$s" + الفترة الزمنية: %1$s النزول/الصعود: %1$s الوقت المستغرق في الحركة: %1$s قسم @@ -1494,14 +1494,14 @@ الخريطة مرتبطة بالموقع عريض المستخدم المجهول لا يمكنه : - إنشاء مجموعة; - مزامنة المجموعات والأجهزة مع السيرفر; - إدارة المجموعات والأجهزة من خلال لوحة تحكم خاصة على الموقع. - تطبيق الملاحة أوسماند أوسماند + تطبيق الملاحة أوسماند خطأ أثناء تحميل البيانات من الخادم. تحديث البيانات المحلية عبر الإنترنت ؟ الشارع : {0}، {1} تقاطع : {0} x {1} في {2} تحميل البيانات … البحث عن عنوان … - "بحث متصل بالإنترنت باستخدام نوميناتيم OSM" + بحث متصل بالإنترنت باستخدام نوميناتيم OSM البحث على الإنترنت : رقم منزل، شارع، أو مدينة تحميل {0} - {1} ؟ ساعات العمل @@ -1515,7 +1515,7 @@ المرافق الأقرب حذف أعد فتح - هل أعجبك أوسماند أوسماند؟ + هل أعجبك أوسماند؟ نحن نهتم كثيرا برأيك ومن المهم بالنسبة لنا أن نسمع لكم مرة أخرى. قيم هذا التطبيق يرجى تقييم أوسماند على قوقل بلاي @@ -1901,7 +1901,7 @@ هل تريد حقا حفظ POI بدون تحديد نوعه؟ هناك خيار جديد لتحكم بشكل مرن بالتطبيق عبر لوحة القياس أو القائمة الثابتة. اختيارك يمكن تغييره دائما في إعدادات لوحة القياس. ملاحة أوسماند دون نت ميزة تجريبية وهي لا تعمل لمسافات تزيد عن 20 كم. خدمة الملاحة حولت مؤقتا إلى CloudMade على الإنترنت. - "إصدار {0} تثبيت بنجاح ({1})." + إصدار {0} تثبيت بنجاح ({1}). جار تحميل الإصدار… هل تريد تثبيت أوسماند - {0} من {1} {2} مب ؟ فشل في الحصول على قائمة إصدارات التطبيق @@ -3651,24 +3651,24 @@ المفضلة اشتراك أوسماند لايف مشتريات أوسماند - دليل رموز الخريطة + دليل رموز الخريطة. الملفات الشخصية للملاحة - • خرائط جديدة للمنحدرات غير المتصلة بالإنترنت -\n -\n • التخصيص الكامل للمفضلات ونقاط الطرق GPX - الألوان المخصصة والأيقونات والأشكال -\n -\n • تخصيص ترتيب العناصر في قائمة السياق ، تكوين الخريطة ، درج -\n -\n • ويكيبيديا كطبقة منفصلة في تكوين الخريطة ، حدد اللغات المطلوبة فقط -\n -\n • إنشاء مرشح / خرائط POI الخاصة بك مع مرونة تامة -\n -\n • تمت إضافة خيارات لاستعادة إعدادات ملفات التعريف المخصصة -\n + • خرائط جديدة للمنحدرات غير المتصلة بالإنترنت +\n +\n • التخصيص الكامل للمفضلات ونقاط الطرق GPX - الألوان المخصصة والأيقونات والأشكال +\n +\n • تخصيص ترتيب العناصر في قائمة السياق ، تكوين الخريطة ، درج +\n +\n • ويكيبيديا كطبقة منفصلة في تكوين الخريطة ، حدد اللغات المطلوبة فقط +\n +\n • إنشاء مرشح / خرائط POI الخاصة بك مع مرونة تامة +\n +\n • تمت إضافة خيارات لاستعادة إعدادات ملفات التعريف المخصصة +\n \n • مسارات GPX كاملة من الممرات دعم حركة المرور وتعليمات كاملة -\n -\n • إصلاح أحجام واجهة المستخدم على الأجهزة اللوحية -\n +\n +\n • إصلاح أحجام واجهة المستخدم على الأجهزة اللوحية +\n \n • إصلاح الخلل مع RTL \n \n @@ -3687,4 +3687,6 @@ إضافة ملف تعريف تغيير ملف تعريف التطبيق لم يتم العثور على ملفات التعريف المحددة لهذا الإجراء. + خريطة عامة للعالم (تفصيلية) + نوع غير مدعوم \ No newline at end of file From 10a0bb912c73d5c04989a3041e39c7e70163c5b5 Mon Sep 17 00:00:00 2001 From: ihor_ck Date: Wed, 20 May 2020 19:38:13 +0000 Subject: [PATCH 043/509] Translated using Weblate (Ukrainian) Currently translated at 99.9% (3802 of 3804 strings) --- OsmAnd/res/values-uk/phrases.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml index d68b3b152b..2a7e27514e 100644 --- a/OsmAnd/res/values-uk/phrases.xml +++ b/OsmAnd/res/values-uk/phrases.xml @@ -2636,7 +2636,7 @@ Бушеншанк (вишукані австрійські вина) Європейська Так - "Паркувальні талони; квитки на громадський транспорт" + Паркувальні талони; квитки на громадський транспорт Вид розвідного моста: підйомний Без ліфта Історична садиба @@ -3390,17 +3390,17 @@ Вид 2 Вид 2 комбінований Вид 3 - "CHAdeMO " - "Стандарт Тесла " + CHAdeMO + Стандарт Тесла Тесла Supercharger Тесла Родстер - "NEMA 5-15R " - "NEMA 5-20 " - "NEMA 14-30 " - "NEMA 14-50 " + NEMA 5-15R + NEMA 5-20 + NEMA 14-30 + NEMA 14-50 Щуко - "BS 1363 " - "AS/NZS 3112 " + BS 1363 + AS/NZS 3112 CHAdeMO, потужність Вид 2, потужність Вид 2, комбінований, потужність From e69e0d95cc866e1f54d5d627b048624344910771 Mon Sep 17 00:00:00 2001 From: max-klaus Date: Thu, 21 May 2020 13:38:49 +0300 Subject: [PATCH 044/509] Added search test --- .../test/resources/search/navacerrada.json | 3373 +++++++++++++++++ 1 file changed, 3373 insertions(+) create mode 100644 OsmAnd-java/src/test/resources/search/navacerrada.json diff --git a/OsmAnd-java/src/test/resources/search/navacerrada.json b/OsmAnd-java/src/test/resources/search/navacerrada.json new file mode 100644 index 0000000000..41bdccaacf --- /dev/null +++ b/OsmAnd-java/src/test/resources/search/navacerrada.json @@ -0,0 +1,3373 @@ +{ + "settings": { + "lat": "40.22203", + "lon": "-3.52043", + "radiusLevel": 1, + "totalLimit": -1, + "lang": "", + "transliterateIfMissing": false, + "emptyQueryAllowed": false, + "sortByName": false + }, + "phrase": "Calle de las eras 5, Navacerrada", + "results": [ + "5, Calle de las Eras (Uranización Los Corales), Navacerrada", + "5, Calle Navacerrada (Urb. Las Suertes), Las Suertes", + "50, Calle de Francisco Navacerrada, Salamanca", + "52, Calle de Francisco Navacerrada, Salamanca", + "53, Calle de Francisco Navacerrada, Salamanca", + "54, Calle de Francisco Navacerrada, Salamanca", + "55, Calle de Francisco Navacerrada, Salamanca", + "56, Calle de Francisco Navacerrada, Salamanca", + "57, Calle de Francisco Navacerrada, Salamanca", + "58, Calle de Francisco Navacerrada, Salamanca", + "59, Calle de Francisco Navacerrada, Salamanca", + "Calle del Puerto de Navacerrada, Las Nieves", + "Calle Puerto de Navacerrada, La Poveda", + "Calle del Embalse de Navacerrada, Villa de Vallecas", + "Calle del Puerto de Navacerrada, Puente de Vallecas", + "Calle de Francisco Navacerrada, Salamanca", + "Calle de Navacerrada, Moraleja de Enmedio", + "Calle Navacerrada (Urb. Las Suertes), Las Suertes", + "Calle Puerto de Navacerrada, Roman Candelas", + "Calle Navacerrada, Becerril de la Sierra", + "Carretera de Collado Villalba a Navacerrada, El Baillo y las Hojarascas", + "Calle Navacerrada (Cerceda), El Boalo", + "Calle Navacerrada (El Pedregal), Bustarviejo", + "Calle Navacerrada, Buitrago del Lozoya", + "Carretera de Colmenar Viejo a Navacerrada, Becerril de la Sierra", + "Carretera de Colmenar Viejo a Navacerrada, Manzanares el Real", + "Carretera de Collado Villalba a Navacerrada, Dehesa Boyal", + "Carretera de Collado Villalba a Navacerrada, Polideportivo Dehesa Boyal", + "Carretera de Navacerrada, Jazmines", + "Carretera de Colmenar Viejo a Navacerrada (Cerceda), El Boalo", + "Carretera de Collado Villalba a Navacerrada, Cerca de Cascarrilla", + "Carretera de Navacerrada, El Boalo", + "Carretera de Collado Villalba a Navacerrada, Collado Mediano", + "Camino de Navacerrada (Serranía de la Paloma), Collado Mediano", + "Camino de Los Molinos a Navacerrada, Collado Mediano", + "Carretera de Collado Villalba a Navacerrada, Navacerrada" + ], + "amenities": [ + { + "name": "CIMA MA05-2", + "lat": "40.70529", + "lon": "-4.06895", + "id": 637431647, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680", + "ref": "M-614", + "operator": "CIMA, Larrea" + } + }, + { + "name": "Plaça Navacerrada", + "lat": "41.57014", + "lon": "2.09182", + "id": 580630395, + "subType": "square", + "type": "man_made", + "additionalInfo": { + "surface_paving_stones": "paving_stones", + "lit_yes": "yes" + } + }, + { + "name": "CIMA MA05-2", + "lat": "40.70722", + "lon": "-4.06816", + "id": 637431645, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "ref": "M-614", + "operator": "CIMA" + } + }, + { + "name": "Arroyo de Navacerrada", + "lat": "40.79763", + "lon": "-3.71254", + "id": 504296555, + "subType": "stream", + "type": "natural" + }, + { + "name": "CIMA MA05-2", + "lat": "40.71215", + "lon": "-4.06445", + "id": 1549410751, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "ref": "M-614", + "operator": "CIMA" + } + }, + { + "name": "Residencia Militar de Acción Social de Descanso (RMASD) Navacerrada", + "lat": "40.78568", + "lon": "-4.00229", + "id": 206884273, + "subType": "hotel", + "type": "tourism", + "additionalInfo": { + "internet_access_type_wlan": "wlan", + "website": "https://ejercito.defensa.gob.es/diaper/Galerias/ocio/residencias/nacionales/ficheros/20180724_RMASD_NAVACERRADA.pdf", + "phone": "+34 91 849 45 00; +34 91 880 45 00", + "beds": "196", + "email": "navacerrada@et.mde.es", + "operator": "ET", + "rooms": "90", + "fax": "+34 91 749 46 29" + } + }, + { + "name": "Residencia Militar de Acción Social de Descanso (RMASD) Navacerrada", + "lat": "40.78568", + "lon": "-4.00229", + "id": 206884273, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "internet_access_type_wlan": "wlan", + "website": "https://ejercito.defensa.gob.es/diaper/Galerias/ocio/residencias/nacionales/ficheros/20180724_RMASD_NAVACERRADA.pdf", + "phone": "+34 91 849 45 00; +34 91 880 45 00", + "beds": "196", + "email": "navacerrada@et.mde.es", + "operator": "ET", + "rooms": "90", + "fax": "+34 91 749 46 29" + } + }, + { + "name": "Puerto de Navacerrada", + "lat": "40.78892", + "lon": "-4.00344", + "id": 8117318832, + "subType": "saddle", + "type": "natural", + "additionalInfo": { + "ele": "1858" + } + }, + { + "name": "Embalse de Navacerrada", + "lat": "40.71831", + "lon": "-4.00823", + "id": 38209571, + "subType": "water", + "type": "natural" + }, + { + "name": "Puerto de Navacerrada", + "lat": "40.78629", + "lon": "-4.00267", + "id": 607141782, + "subType": "hamlet", + "type": "administrative", + "additionalInfo": { + "population": "105", + "ele": "1812" + } + }, + { + "name": "Plaça Navacerrada", + "lat": "41.57024", + "lon": "2.09157", + "id": 580630399, + "subType": "square", + "type": "man_made", + "additionalInfo": { + "surface_paving_stones": "paving_stones" + } + }, + { + "name": "CIMA MA05-2", + "lat": "40.70070", + "lon": "-4.07155", + "id": 1277749125, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680", + "ref": "M-614", + "operator": "CIMA, Larrea" + } + }, + { + "name": "Depósito de agua Navacerrada", + "lat": "40.73776", + "lon": "-4.01776", + "id": 632179871, + "subType": "storage_tank", + "type": "man_made" + }, + { + "name": "Depósito de agua Navacerrada", + "lat": "40.73776", + "lon": "-4.01776", + "id": 632179871, + "subType": "building", + "type": "man_made" + }, + { + "name": "Arroyo de Navacerrada", + "lat": "40.82982", + "lon": "-3.72370", + "id": 504296571, + "subType": "stream", + "type": "natural" + }, + { + "name": "ADESGAM", + "lat": "40.67421", + "lon": "-4.08404", + "id": 54534453, + "subType": "rcn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "El Porron de Navacerrada", + "lat": "40.73069", + "lon": "-4.01074", + "id": 3638099748, + "subType": "restaurant", + "type": "sustenance", + "additionalInfo": { + "phone": "+34 669 888 301" + } + }, + { + "name": "Pto. Navacerrada", + "lat": "40.78444", + "lon": "-4.00473", + "id": 12363492954, + "subType": "public_transport_station", + "type": "transportation", + "additionalInfo": { + "wikipedia": "http://es.wikipedia.org/wiki/Estación de Puerto de Navacerrada" + } + }, + { + "name": "Pto. Navacerrada", + "lat": "40.78444", + "lon": "-4.00473", + "id": 12363492954, + "subType": "railway_station", + "type": "transportation", + "additionalInfo": { + "wikipedia": "http://es.wikipedia.org/wiki/Estación de Puerto de Navacerrada" + } + }, + { + "name": "Navacerrada", + "lat": "40.72880", + "lon": "-4.01518", + "id": 513208556, + "subType": "village", + "type": "administrative", + "additionalInfo": { + "website": "https://www.aytonavacerrada.org/", + "population": "2863", + "ele": "1195" + } + }, + { + "name": "CIMA MA05-2", + "lat": "40.70646", + "lon": "-4.06848", + "id": 486489283, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680", + "ref": "M-614", + "operator": "CIMA, Larrea" + } + }, + { + "name": "Tanatorio de Navacerrada", + "lat": "40.73280", + "lon": "-4.01261", + "id": 612724219, + "subType": "building", + "type": "man_made" + }, + { + "name": "Presa del Embalse de Navacerrada", + "lat": "40.75282", + "lon": "-3.99287", + "id": 193455239, + "subType": "dam", + "type": "man_made", + "additionalInfo": { + "ele": "1383" + } + }, + { + "name": "Presa del Embalse de Navacerrada", + "lat": "40.75282", + "lon": "-3.99287", + "id": 193455239, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "ele": "1383" + } + }, + { + "name": "ADESGAM", + "lat": "40.67437", + "lon": "-4.08406", + "id": 54534469, + "subType": "rcn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "Casa de Guías de Navacerrada", + "lat": "40.75423", + "lon": "-3.99422", + "id": 5372781178, + "subType": "building", + "type": "man_made" + }, + { + "name": "Pto. Navacerrada", + "lat": "40.78416", + "lon": "-4.00488", + "id": 685245267, + "subType": "public_transport_platform", + "type": "transportation" + }, + { + "name": "Avenida de Navacerrada", + "lat": "40.46203", + "lon": "-3.80318", + "id": 48756909, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.63854", + "lon": "-4.00602", + "id": 599484149, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "route_bus_ref": "691", + "ref": "M-601", + "operator": "Larrea" + } + }, + { + "name": "Carretera de Colmenar Viejo a Navacerrada", + "lat": "40.69764", + "lon": "-3.92253", + "id": 64972109, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "M-607" + } + }, + { + "name": "Carnicería Navacerrada", + "lat": "40.72947", + "lon": "-4.01482", + "id": 6298684474, + "subType": "butcher", + "type": "shop", + "additionalInfo": { + "phone": "+34 91 856 06 60" + } + }, + { + "name": "Parada 17649 Peñalara - Av Navacerrada", + "lat": "40.45939", + "lon": "-3.80052", + "id": 7508826650, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "bench_no": "no", + "covered_no": "no", + "bus_yes": "yes", + "network": "Linea 563 - 656A", + "ref": "17649" + } + }, + { + "name": "Río Navacerrada", + "lat": "40.74012", + "lon": "-3.99430", + "id": 193455251, + "subType": "river", + "type": "natural" + }, + { + "name": "Baltasar Santos - Pto. Navacerrada", + "lat": "40.40194", + "lon": "-3.65729", + "id": 2879406200, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "bus_yes": "yes", + "bench_yes": "yes", + "covered_yes": "yes", + "route_bus_ref": "141", + "ref": "3333", + "operator": "EMT Madrid" + } + }, + { + "name": "Baltasar Santos - Pto. Navacerrada", + "lat": "40.40194", + "lon": "-3.65690", + "id": 2879406204, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "bus_yes": "yes", + "bench_yes": "yes", + "covered_yes": "yes", + "route_bus_ref": "141", + "ref": "3318", + "operator": "EMT Madrid" + } + }, + { + "name": "Estación de Tratamiento de Agua Potable de Navacerrada", + "lat": "40.71319", + "lon": "-4.00578", + "id": 788909087, + "subType": "water_works", + "type": "man_made", + "additionalInfo": { + "operator": "Canal de Isabel II" + } + }, + { + "name": "Estación de Esquí Puerto de Navacerrada", + "lat": "40.78759", + "lon": "-4.00834", + "id": 4410455019520, + "subType": "skiing", + "type": "sport" + }, + { + "name": "Estación de Esquí Puerto de Navacerrada", + "lat": "40.78759", + "lon": "-4.00834", + "id": 4410455019520, + "subType": "ski_resort", + "type": "entertainment" + }, + { + "name": "Alameda Baja-Navacerrada", + "lat": "40.61227", + "lon": "-3.68424", + "id": 14632991214, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "covered_no": "no", + "bus_yes": "yes", + "bench_no": "no" + } + }, + { + "name": "Río Navacerrada", + "lat": "40.70574", + "lon": "-3.91495", + "id": 166715571, + "subType": "river", + "type": "natural", + "additionalInfo": { + "alt_name": "Río Samburiel; Río San Muriel; Río Berrocal" + } + }, + { + "name": "ADESGAM", + "lat": "40.67478", + "lon": "-4.08382", + "id": 489539697, + "subType": "rcn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "Puerto de Navacerrada", + "lat": "40.78923", + "lon": "-4.00342", + "id": 8556022052, + "subType": "viewpoint", + "type": "tourism" + }, + { + "name": "Guardia Civil - GREIM Navacerrada.", + "lat": "40.78727", + "lon": "-4.00158", + "id": 789772209, + "subType": "police", + "type": "emergency", + "additionalInfo": { + "operator": "Ministerio del Interior." + } + }, + { + "name": "Guardia Civil - GREIM Navacerrada.", + "lat": "40.78727", + "lon": "-4.00158", + "id": 789772209, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "operator": "Ministerio del Interior." + } + }, + { + "name": "Río Navacerrada", + "lat": "40.70981", + "lon": "-3.99435", + "id": 166715529, + "subType": "river", + "type": "natural" + }, + { + "name": "Río Navacerrada", + "lat": "40.72427", + "lon": "-4.00134", + "id": 166715649, + "subType": "river", + "type": "natural" + }, + { + "name": "Ctra. M861-Presa de Navacerrada", + "lat": "40.71340", + "lon": "-4.00786", + "id": 6367849404, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "bench_no": "no", + "covered_no": "no", + "bus_yes": "yes", + "website": "https://www.crtm.es/widgets/#/stop/8_10987", + "route_bus_ref": "690, 691, 691 Nocturno, 696", + "ref": "10987", + "operator": "Larrea" + } + }, + { + "name": "Cementerio de Navacerrada", + "lat": "40.73280", + "lon": "-4.01291", + "id": 376766597, + "subType": "cemetery", + "type": "man_made" + }, + { + "name": "Parque de Bomberos - Navacerrada. Nº46.", + "lat": "40.74058", + "lon": "-4.00434", + "id": 401232413, + "subType": "fire_station", + "type": "emergency", + "additionalInfo": { + "operator": "Comunidad de Madrid." + } + }, + { + "name": "Parque de Bomberos - Navacerrada. Nº46.", + "lat": "40.74058", + "lon": "-4.00434", + "id": 401232413, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "operator": "Comunidad de Madrid." + } + }, + { + "name": "Hotel Rural El Torreón de Navacerrada", + "lat": "40.72547", + "lon": "-4.02117", + "id": 400568089, + "subType": "hostel", + "type": "tourism", + "additionalInfo": { + "website": "http://www.eltorreondenavacerrada.com/", + "phone": "+34 900 365 062" + } + }, + { + "name": "Hotel Rural El Torreón de Navacerrada", + "lat": "40.72547", + "lon": "-4.02117", + "id": 400568089, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "website": "http://www.eltorreondenavacerrada.com/", + "phone": "+34 900 365 062" + } + }, + { + "name": "Parque de Navacerrada", + "lat": "40.46048", + "lon": "-3.80616", + "id": 60953689, + "subType": "park", + "type": "entertainment" + }, + { + "name": "ADESGAM", + "lat": "40.67374", + "lon": "-4.08423", + "id": 624211279, + "subType": "rcn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "CIMA MA05-2", + "lat": "40.70958", + "lon": "-4.06666", + "id": 46025413, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "ref": "M-614", + "operator": "CIMA" + } + }, + { + "name": "Escuela de Esquí de Navacerrada", + "lat": "40.78756", + "lon": "-4.00301", + "id": 206884207, + "subType": "school", + "type": "education" + }, + { + "name": "Escuela de Esquí de Navacerrada", + "lat": "40.78756", + "lon": "-4.00301", + "id": 206884207, + "subType": "building", + "type": "man_made" + }, + { + "name": "Consultorio local de Navacerrada", + "lat": "40.72897", + "lon": "-4.01613", + "id": 608506111, + "subType": "clinic", + "type": "healthcare", + "additionalInfo": { + "phone": "+34 91 856 02 94" + } + }, + { + "name": "Consultorio local de Navacerrada", + "lat": "40.72897", + "lon": "-4.01613", + "id": 608506111, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "phone": "+34 91 856 02 94" + } + }, + { + "name": "Embalse del Pueblo de Navacerrada", + "lat": "40.75311", + "lon": "-3.99302", + "id": 75433477, + "subType": "water", + "type": "natural" + }, + { + "name": "Pto. Navacerrada - Vía 2", + "lat": "40.78431", + "lon": "-4.00467", + "id": 6991750080, + "subType": "public_transport_stop_position", + "type": "transportation", + "additionalInfo": { + "operator": "Renfe", + "route_train_ref": "C-9" + } + }, + { + "name": "Calle Marqués de Santillana", + "lat": "40.67533", + "lon": "-4.08329", + "id": 54534529, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "ADESGAM", + "lat": "40.67533", + "lon": "-4.08329", + "id": 54534529, + "subType": "rcn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "Estación esquí Puerto de Navacerrada", + "lat": "40.78910", + "lon": "-3.99497", + "id": 1476307709, + "subType": "ski_resort", + "type": "entertainment" + }, + { + "name": "Glorieta de Navacerrada", + "lat": "40.43148", + "lon": "-3.66559", + "id": 120026928, + "subType": "square", + "type": "man_made" + }, + { + "name": "Ayuntamiento de Navacerrada", + "lat": "40.72900", + "lon": "-4.01456", + "id": 376766589, + "subType": "townhall", + "type": "administrative", + "additionalInfo": { + "website": "https://www.aytonavacerrada.org/", + "phone": "+34 91 856 00 06" + } + }, + { + "name": "Ayuntamiento de Navacerrada", + "lat": "40.72900", + "lon": "-4.01456", + "id": 376766589, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "website": "https://www.aytonavacerrada.org/", + "phone": "+34 91 856 00 06" + } + }, + { + "name": "CIMA MA05-2", + "lat": "40.71194", + "lon": "-4.06460", + "id": 794422033, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "ref": "M-614", + "operator": "CIMA" + } + }, + { + "name": "Ctra. M-601-Puerto de Navacerrada", + "lat": "40.78795", + "lon": "-4.00289", + "id": 7568805810, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "bench_no": "no", + "covered_no": "no", + "bus_yes": "yes", + "website": "https://www.crtm.es/widgets/#/stop/8_09195", + "route_bus_ref": "691", + "ref": "09195", + "operator": "Larrea" + } + }, + { + "name": "Residencia Navacerrada", + "lat": "40.78701", + "lon": "-4.00259", + "id": 206884231, + "subType": "hostel", + "type": "tourism", + "additionalInfo": { + "internet_access_type_wlan": "wlan", + "wheelchair_yes": "yes", + "website": "http://www.madrid.org/cs/Satellite?c=CM_InfPractica_FA&cid=1142638848709&pagename=ComunidadMadrid%2FEstructura", + "phone": "+34 91 852 39 84", + "beds": "107", + "email": "residencia.navacerrada@madrid.org", + "operator": "Comunidad de Madrid", + "rooms": "44", + "fax": "+34 91 852 02 68" + } + }, + { + "name": "Residencia Navacerrada", + "lat": "40.78701", + "lon": "-4.00259", + "id": 206884231, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "internet_access_type_wlan": "wlan", + "wheelchair_yes": "yes", + "website": "http://www.madrid.org/cs/Satellite?c=CM_InfPractica_FA&cid=1142638848709&pagename=ComunidadMadrid%2FEstructura", + "phone": "+34 91 852 39 84", + "beds": "107", + "email": "residencia.navacerrada@madrid.org", + "operator": "Comunidad de Madrid", + "rooms": "44", + "fax": "+34 91 852 02 68" + } + }, + { + "name": "Centro Municipal de Mayores «Navacerrada»", + "lat": "40.40118", + "lon": "-3.65658", + "id": 722127199, + "subType": "community_centre", + "type": "entertainment" + }, + { + "name": "Centro Municipal de Mayores «Navacerrada»", + "lat": "40.40118", + "lon": "-3.65658", + "id": 722127199, + "subType": "building", + "type": "man_made" + }, + { + "name": "ADESGAM", + "lat": "40.67395", + "lon": "-4.08410", + "id": 400005635, + "subType": "rcn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "rcn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680, 690", + "ref": "M-614", + "operator": "Larrea" + } + }, + { + "name": "Ctra. M-601-Puerto de Navacerrada", + "lat": "40.78797", + "lon": "-4.00304", + "id": 7568805812, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "bench_no": "no", + "covered_no": "no", + "bus_yes": "yes", + "website": "https://www.crtm.es/widgets/#/stop/8_09199", + "route_bus_ref": "691", + "ref": "09199", + "operator": "Larrea" + } + }, + { + "name": "Residencia Militar de Acción Social de Descanso (RMD) Navacerrada", + "lat": "40.78499", + "lon": "-4.00419", + "id": 478335835, + "subType": "hotel", + "type": "tourism", + "additionalInfo": { + "phone": "+34 91 849 4300", + "operator": "EA", + "fax": "+34 918494315" + } + }, + { + "name": "Residencia Militar de Acción Social de Descanso (RMD) Navacerrada", + "lat": "40.78499", + "lon": "-4.00419", + "id": 478335835, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "phone": "+34 91 849 4300", + "operator": "EA", + "fax": "+34 918494315" + } + }, + { + "name": "Avenida de Navacerrada", + "lat": "40.46202", + "lon": "-3.80327", + "id": 48731007, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "route_bus_ref": "563" + } + }, + { + "name": "El Torreón de Navacerrada", + "lat": "40.72547", + "lon": "-4.02108", + "id": 6852071664, + "subType": "restaurant", + "type": "sustenance", + "additionalInfo": { + "website": "http://www.eltorreondenavacerrada.com/", + "phone": "+34 900 365 062", + "mobile": "+34 648 227 909" + } + }, + { + "name": "CIMA MA05-2", + "lat": "40.70444", + "lon": "-4.06938", + "id": 637431653, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680", + "ref": "M-614", + "operator": "CIMA, Larrea" + } + }, + { + "name": "Estación de Navacerrada", + "lat": "40.78444", + "lon": "-4.00475", + "id": 478335833, + "subType": "public_transport_station", + "type": "transportation" + }, + { + "name": "Estación de Navacerrada", + "lat": "40.78444", + "lon": "-4.00475", + "id": 478335833, + "subType": "building", + "type": "man_made" + }, + { + "name": "CIMA MA05-2", + "lat": "40.70496", + "lon": "-4.06904", + "id": 637431651, + "subType": "ncn_ref", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bicycle_yes": "yes", + "network": "ncn", + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada", + "route_bus_ref": "680", + "ref": "M-614", + "operator": "CIMA, Larrea" + } + }, + { + "name": "Puerta de Navacerrada", + "lat": "40.73362", + "lon": "-4.00668", + "id": 8823389690, + "subType": "artwork", + "type": "tourism", + "additionalInfo": { + "artwork_type_sculpture": "sculpture", + "artist_name": "Vicente Palacios" + } + }, + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.70291", + "lon": "-4.00402", + "id": 46814485, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "M-601", + "operator": "CIMA", + "network": "ncn" + } + }, + { + "name": "Río de Navacerrada", + "lat": "40.75946", + "lon": "-3.99336", + "id": 715513915, + "subType": "river", + "type": "natural" + } + ], + "cities": [ + { + "name": "Villa de Vallecas", + "lat": "40.37396", + "lon": "-3.61216", + "id": 316755084, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Calle del Embalse de Navacerrada", + "lat": "40.36299", + "lon": "-3.60289", + "id": 23126, + "intersectedStreets": [ + { + "name": "Calle de José Gutiérrez Maroto", + "lat": "40.36388", + "lon": "-3.60470" + }, + { + "name": "Calle del Embalse de Picadas", + "lat": "40.36347", + "lon": "-3.60384" + }, + { + "name": "Calle del Embalse de La Jarosa", + "lat": "40.36299", + "lon": "-3.60289" + }, + { + "name": "Calle del Embalse de San Juan", + "lat": "40.36138", + "lon": "-3.59959" + }, + { + "name": "Calle del Embalse de Pinilla", + "lat": "40.35943", + "lon": "-3.59564" + }, + { + "name": "Gran Vía del Sureste", + "lat": "40.35843", + "lon": "-3.59365" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Buitrago del Lozoya", + "lat": "40.99535", + "lon": "-3.63505", + "id": 291749136, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Calle Navacerrada", + "lat": "40.98835", + "lon": "-3.63540", + "id": 49557, + "intersectedStreets": [ + { + "name": "Calle Somosierra", + "lat": "40.98813", + "lon": "-3.63564" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Cercedilla", + "lat": "40.74129", + "lon": "-4.05580", + "id": 287860053, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Guadarrama a Navacerrada", + "lat": "40.71770", + "lon": "-4.06192", + "id": 33948 + } + ], + "matchStreet": 1 + }, + { + "name": "Salamanca", + "names": { + "ar": "سلامنكا" + }, + "lat": "40.42705", + "lon": "-3.68060", + "id": 365886835, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Calle de Francisco Navacerrada", + "lat": "40.43133", + "lon": "-3.66699", + "id": 12315, + "buildings": [ + { + "name": "50", + "lat": "40.43127", + "lon": "-3.66664", + "postcode": "28028" + }, + { + "name": "52", + "lat": "40.43130", + "lon": "-3.66645", + "postcode": "28028" + }, + { + "name": "53", + "lat": "40.43155", + "lon": "-3.66624", + "postcode": "28028" + }, + { + "name": "54", + "lat": "40.43130", + "lon": "-3.66632", + "postcode": "28028" + }, + { + "name": "55", + "lat": "40.43158", + "lon": "-3.66604", + "postcode": "28028" + }, + { + "name": "56", + "lat": "40.43132", + "lon": "-3.66624", + "postcode": "28028" + }, + { + "name": "57", + "lat": "40.43173", + "lon": "-3.66542", + "postcode": "28028" + }, + { + "name": "58", + "lat": "40.43133", + "lon": "-3.66589", + "postcode": "28028" + }, + { + "name": "59", + "lat": "40.43164", + "lon": "-3.66521", + "postcode": "28028" + }, + { + "name": "60", + "lat": "40.43137", + "lon": "-3.66542", + "postcode": "28028" + }, + { + "name": "62", + "lat": "40.43143", + "lon": "-3.66527", + "postcode": "28028" + }, + { + "name": "63", + "lat": "40.43171", + "lon": "-3.66480", + "postcode": "28028" + }, + { + "name": "64", + "lat": "40.43150", + "lon": "-3.66465", + "postcode": "28028" + } + ], + "intersectedStreets": [ + { + "name": "Calle de Julio Camba", + "lat": "40.43171", + "lon": "-3.66441" + }, + { + "name": "Calle del Cardenal Belluga", + "lat": "40.43150", + "lon": "-3.66561" + }, + { + "name": "Glorieta del Campanar", + "lat": "40.43133", + "lon": "-3.66699" + }, + { + "name": "Calle de Campanar", + "lat": "40.43132", + "lon": "-3.66720" + }, + { + "name": "Calle Cartagena", + "lat": "40.43093", + "lon": "-3.67057" + }, + { + "name": "Calle de Cartagena", + "lat": "40.43093", + "lon": "-3.67057" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "La Poveda", + "lat": "40.31492", + "lon": "-3.47827", + "id": 1779479627, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Calle Puerto de Navacerrada", + "lat": "40.31771", + "lon": "-3.47848", + "id": 51201, + "intersectedStreets": [ + { + "name": "Calle Monte Rosa", + "lat": "40.31695", + "lon": "-3.47964" + }, + { + "name": "Calle Puerto de Somosierra", + "lat": "40.31723", + "lon": "-3.47925" + }, + { + "name": "Calle Puerto de la Morcuera", + "lat": "40.31749", + "lon": "-3.47889" + }, + { + "name": "Calle Puerto de Pajares", + "lat": "40.31772", + "lon": "-3.47848" + }, + { + "name": "Calle Puerto de Contreras", + "lat": "40.31790", + "lon": "-3.47803" + }, + { + "name": "Calle Montes Pirineos", + "lat": "40.31650", + "lon": "-3.48018" + }, + { + "name": "Calle Puerto de Cotos", + "lat": "40.31656", + "lon": "-3.48007" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Polideportivo Dehesa Boyal", + "lat": "40.64154", + "lon": "-4.00246", + "id": 4385398747, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.64118", + "lon": "-4.00557", + "id": 16939 + } + ], + "matchStreet": 1 + }, + { + "name": "Jazmines", + "lat": "40.64216", + "lon": "-4.00733", + "id": 4385398744, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Carretera de Navacerrada", + "lat": "40.64424", + "lon": "-4.00739", + "id": 2270, + "buildings": [ + { + "name": "km0.600", + "lat": "40.64424", + "lon": "-4.00739", + "postcode": "28400" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Manzanares el Real", + "lat": "40.72676", + "lon": "-3.86498", + "id": 200986413, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Colmenar Viejo a Navacerrada", + "lat": "40.68646", + "lon": "-3.89476", + "id": 30733, + "intersectedStreets": [ + { + "name": "Cordel de Navalcaide", + "lat": "40.68679", + "lon": "-3.82938" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Collado Mediano", + "lat": "40.69437", + "lon": "-4.02472", + "id": 198062829, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camino de Los Molinos a Navacerrada", + "lat": "40.71308", + "lon": "-4.05142", + "id": 53626, + "intersectedStreets": [ + { + "name": "Calle de las Pozas (Reajo del Roble)", + "lat": "40.71439", + "lon": "-4.01891" + }, + { + "name": "Avenida Lago", + "lat": "40.71439", + "lon": "-4.01891" + } + ] + }, + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.68539", + "lon": "-4.01346", + "id": 13946, + "buildings": [ + { + "name": "Km 7", + "lat": "40.70254", + "lon": "-4.00368", + "postcode": "28450" + } + ], + "intersectedStreets": [ + { + "name": "Avenida de Buenos Aires", + "lat": "40.68524", + "lon": "-4.01381" + }, + { + "name": "Camino de Navacerrada (Serranía de la Paloma)", + "lat": "40.70834", + "lon": "-4.00555" + } + ] + }, + { + "name": "Camino de Navacerrada (Serranía de la Paloma)", + "lat": "40.70426", + "lon": "-4.00756", + "id": 36508, + "intersectedStreets": [ + { + "name": "Calle Los Abetos (Serranía de la Paloma)", + "lat": "40.70478", + "lon": "-4.00726" + }, + { + "name": "Calle Tejera (Serranía de la Paloma)", + "lat": "40.70490", + "lon": "-4.00726" + }, + { + "name": "Calle Begoña (Serranía de la Paloma)", + "lat": "40.70550", + "lon": "-4.00735" + }, + { + "name": "Calle de Cotos (Serranía de la Paloma)", + "lat": "40.70550", + "lon": "-4.00735" + }, + { + "name": "Calle Pilar (Serranía de la Paloma)", + "lat": "40.70673", + "lon": "-4.00675" + }, + { + "name": "Calle Somosierra (Serranía de la Paloma)", + "lat": "40.70737", + "lon": "-4.00651" + }, + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.70833", + "lon": "-4.00555" + }, + { + "name": "Calle Ignacio", + "lat": "40.70830", + "lon": "-4.00574" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Las Nieves", + "lat": "40.34919", + "lon": "-3.88357", + "id": 1482408061, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Calle del Puerto de Navacerrada", + "lat": "40.34908", + "lon": "-3.88234", + "id": 54919, + "buildings": [ + { + "name": "94", + "lat": "40.34898", + "lon": "-3.88139" + }, + { + "name": "102", + "lat": "40.34910", + "lon": "-3.88234" + }, + { + "name": "104", + "lat": "40.34921", + "lon": "-3.88262" + }, + { + "name": "106", + "lat": "40.34926", + "lon": "-3.88281" + }, + { + "name": "108", + "lat": "40.34946", + "lon": "-3.88294" + }, + { + "name": "110", + "lat": "40.34950", + "lon": "-3.88311" + }, + { + "name": "112", + "lat": "40.34941", + "lon": "-3.88335" + }, + { + "name": "114", + "lat": "40.34955", + "lon": "-3.88345" + }, + { + "name": "116", + "lat": "40.34957", + "lon": "-3.88367" + }, + { + "name": "118", + "lat": "40.34957", + "lon": "-3.88390" + }, + { + "name": "120", + "lat": "40.34955", + "lon": "-3.88414" + }, + { + "name": "122", + "lat": "40.34965", + "lon": "-3.88446" + }, + { + "name": "126", + "lat": "40.34980", + "lon": "-3.88472" + }, + { + "name": "128", + "lat": "40.34980", + "lon": "-3.88508" + } + ], + "intersectedStreets": [ + { + "name": "Calle del Puerto de la Cruz Verde", + "lat": "40.34973", + "lon": "-3.88575" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Becerril de la Sierra", + "lat": "40.71634", + "lon": "-3.98907", + "id": 198062823, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Colmenar Viejo a Navacerrada", + "lat": "40.68160", + "lon": "-3.86704", + "id": 58412 + }, + { + "name": "Calle Navacerrada", + "lat": "40.71101", + "lon": "-3.99834", + "id": 36184, + "intersectedStreets": [ + { + "name": "Calle Campuzano", + "lat": "40.71124", + "lon": "-3.99911" + }, + { + "name": "Calle Marqués de Santillana", + "lat": "40.71129", + "lon": "-3.99754" + }, + { + "name": "Calle del Caz", + "lat": "40.71129", + "lon": "-3.99754" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Roman Candelas", + "lat": "40.62944", + "lon": "-4.02360", + "id": 4328359686, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Calle Puerto de Navacerrada", + "lat": "40.63021", + "lon": "-4.02261", + "id": 17879, + "intersectedStreets": [ + { + "name": "Paseo del Río Guadarrama", + "lat": "40.63021", + "lon": "-4.02261" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Cerca de Cascarrilla", + "lat": "40.65262", + "lon": "-4.01000", + "id": 4328359659, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.65295", + "lon": "-4.00853", + "id": 16936, + "intersectedStreets": [ + { + "name": "Rotonda del Lobo Cojo", + "lat": "40.65163", + "lon": "-4.00866" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Dehesa Boyal", + "lat": "40.64003", + "lon": "-4.00020", + "id": 4328359661, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.64037", + "lon": "-4.00544", + "id": 16941, + "intersectedStreets": [ + { + "name": "Carretera de La Granja", + "lat": "40.63947", + "lon": "-4.00557" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Puente de Vallecas", + "enName": "Vallecas", + "lat": "40.38686", + "lon": "-3.65918", + "id": 316750327, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Calle del Puerto de Navacerrada", + "lat": "40.39972", + "lon": "-3.65789", + "id": 10385, + "buildings": [ + { + "name": "1", + "lat": "40.40119", + "lon": "-3.65662", + "postcode": "28038" + }, + { + "name": "17", + "lat": "40.39972", + "lon": "-3.65789", + "postcode": "28038" + } + ], + "intersectedStreets": [ + { + "name": "Camino de Valderribas", + "lat": "40.39843", + "lon": "-3.65873" + }, + { + "name": "Calle Alto del León", + "lat": "40.39938", + "lon": "-3.65823" + }, + { + "name": "Calle Puerto de Canencia", + "lat": "40.40020", + "lon": "-3.65780" + }, + { + "name": "Calle Sierra de Cuerda Larga", + "lat": "40.40100", + "lon": "-3.65740" + }, + { + "name": "Calle de Baltasar Santos", + "lat": "40.40190", + "lon": "-3.65695" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Las Suertes", + "lat": "40.62089", + "lon": "-4.00423", + "id": 4327015634, + "type": "SUBURB", + "listOfStreets": [ + { + "name": "Calle Navacerrada (Urb. Las Suertes)", + "lat": "40.62377", + "lon": "-4.00347", + "id": 18728, + "buildings": [ + { + "name": "1", + "lat": "40.62343", + "lon": "-4.00368", + "postcode": "28400" + }, + { + "name": "2", + "lat": "40.62358", + "lon": "-4.00351", + "postcode": "28400" + }, + { + "name": "3", + "lat": "40.62353", + "lon": "-4.00321", + "postcode": "28400" + }, + { + "name": "4", + "lat": "40.62333", + "lon": "-4.00314", + "postcode": "28400" + }, + { + "name": "5", + "lat": "40.62330", + "lon": "-4.00284", + "postcode": "28400" + }, + { + "name": "6", + "lat": "40.62348", + "lon": "-4.00265", + "postcode": "28400" + }, + { + "name": "7", + "lat": "40.62345", + "lon": "-4.00235", + "postcode": "28400" + }, + { + "name": "8", + "lat": "40.62364", + "lon": "-4.00274", + "postcode": "28400" + }, + { + "name": "17", + "lat": "40.62399", + "lon": "-4.00355", + "postcode": "28400" + }, + { + "name": "18", + "lat": "40.62420", + "lon": "-4.00319", + "postcode": "28400" + }, + { + "name": "19", + "lat": "40.62403", + "lon": "-4.00299", + "postcode": "28400" + } + ], + "intersectedStreets": [ + { + "name": "Avenida Las Suertes", + "lat": "40.62384", + "lon": "-4.00389" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Bustarviejo", + "names": { + "ru": "Бустарвьехо" + }, + "lat": "40.85867", + "lon": "-3.71015", + "id": 310996890, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Calle Navacerrada (El Pedregal)", + "lat": "40.86253", + "lon": "-3.70147", + "id": 37253, + "intersectedStreets": [ + { + "name": "Calle Canencia", + "lat": "40.86211", + "lon": "-3.70398" + }, + { + "name": "Calle Prado Redondo (El Pedregal)", + "lat": "40.86253", + "lon": "-3.70147" + }, + { + "name": "Calle María de las Casas", + "lat": "40.86253", + "lon": "-3.70147" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "El Baillo y las Hojarascas", + "lat": "40.74321", + "lon": "-4.04124", + "id": 1482405188, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.75496", + "lon": "-4.02076", + "id": 52475 + } + ], + "matchStreet": 1 + }, + { + "name": "El Boalo", + "lat": "40.71735", + "lon": "-3.92025", + "id": 174984610, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Navacerrada", + "lat": "40.70197", + "lon": "-3.94332", + "id": 13564, + "intersectedStreets": [ + { + "name": "Avenida Central", + "lat": "40.70211", + "lon": "-3.94300" + }, + { + "name": "Calle Cerrillo Agustín", + "lat": "40.70072", + "lon": "-3.94120" + }, + { + "name": "Calle Depósito", + "lat": "40.70068", + "lon": "-3.94104" + }, + { + "name": "Calle Prado Gómez", + "lat": "40.70104", + "lon": "-3.94165" + }, + { + "name": "Carretera de Colmenar Viejo a Navacerrada (Cerceda)", + "lat": "40.69964", + "lon": "-3.93158" + }, + { + "name": "Calle Pajar Madedero", + "lat": "40.69995", + "lon": "-3.93641" + }, + { + "name": "Calle Becerril", + "lat": "40.69980", + "lon": "-3.93534" + }, + { + "name": "Carretera de Cerceda-Moralzarzal (San Muriel)", + "lat": "40.70013", + "lon": "-3.93746" + } + ] + }, + { + "name": "Carretera de Colmenar Viejo a Navacerrada (Cerceda)", + "lat": "40.69863", + "lon": "-3.92778", + "id": 11811, + "intersectedStreets": [ + { + "name": "Carretera de Cerceda a Manzanares", + "names": { + "alt_name": "Paseo de Madrid" + }, + "lat": "40.69976", + "lon": "-3.93122" + }, + { + "name": "Carretera de Navacerrada", + "lat": "40.69964", + "lon": "-3.93158" + }, + { + "name": "Calle Granito (San Muriel)", + "lat": "40.69828", + "lon": "-3.92472" + }, + { + "name": "Avenida de los Canteros (Cerceda)", + "lat": "40.69935", + "lon": "-3.93156" + } + ] + }, + { + "name": "Calle Navacerrada (Cerceda)", + "lat": "40.69845", + "lon": "-3.92768", + "id": 39122, + "intersectedStreets": [ + { + "name": "Calle Vista Nieve", + "lat": "40.69845", + "lon": "-3.92768" + }, + { + "name": "Calle Colmenar (Cerceda)", + "lat": "40.69793", + "lon": "-3.93010" + }, + { + "name": "Calle Guadarrama (San Muriel)", + "lat": "40.70132", + "lon": "-3.92931" + }, + { + "name": "Calle Navafría (San Muriel)", + "lat": "40.70172", + "lon": "-3.92866" + }, + { + "name": "Calle Pedriza (Montes Claros)", + "lat": "40.70210", + "lon": "-3.92789" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Navacerrada", + "lat": "40.72879", + "lon": "-4.01517", + "id": 256604278, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Avenida de Madrid", + "lat": "40.72871", + "lon": "-4.01643", + "id": 2175 + }, + { + "name": "Calle Antonio Buero Vallejo", + "lat": "40.72181", + "lon": "-4.01836", + "id": 36357 + }, + { + "name": "Calle Barrio de las Peñas", + "lat": "40.72849", + "lon": "-4.01349", + "id": 6847 + }, + { + "name": "Calle Canto Gordo", + "lat": "40.72085", + "lon": "-4.01499", + "id": 36366 + }, + { + "name": "Calle Dos Castillas", + "lat": "40.78860", + "lon": "-4.00271", + "id": 40864 + }, + { + "name": "Calle Fernando Vizcaíno Casas", + "lat": "40.72836", + "lon": "-4.01849", + "id": 36397 + }, + { + "name": "Calle Fuenlabrada", + "lat": "40.72833", + "lon": "-4.01711", + "id": 5985 + }, + { + "name": "Calle Linar", + "lat": "40.73158", + "lon": "-4.01615", + "id": 9435 + }, + { + "name": "Calle Miguel Antón", + "lat": "40.73077", + "lon": "-4.01926", + "id": 49790 + }, + { + "name": "Calle de Abel", + "lat": "40.73088", + "lon": "-4.01565", + "id": 1914 + }, + { + "name": "Calle de Andrés Segovia", + "lat": "40.72848", + "lon": "-4.01849", + "id": 36394 + }, + { + "name": "Calle de la Audiencia", + "lat": "40.72869", + "lon": "-4.01449", + "id": 8954 + }, + { + "name": "Calle de la Encinilla", + "lat": "40.72991", + "lon": "-4.01501", + "id": 2469 + }, + { + "name": "Calle de la Iglesia", + "lat": "40.72932", + "lon": "-4.01495", + "id": 2468 + }, + { + "name": "Calle de la Magdalena", + "lat": "40.72832", + "lon": "-4.01342", + "id": 6848 + }, + { + "name": "Calle de la Perdiz", + "lat": "40.73328", + "lon": "-4.00353", + "id": 36400 + }, + { + "name": "Calle de la Tejera", + "lat": "40.72645", + "lon": "-4.02040", + "id": 6815 + }, + { + "name": "Calle de las Escuelas", + "lat": "40.72791", + "lon": "-4.01591", + "id": 8329 + }, + { + "name": "Calle de los Arcos", + "lat": "40.73129", + "lon": "-4.02040", + "id": 36868 + }, + { + "name": "Calle de Álvaro Iglesia", + "lat": "40.73513", + "lon": "-4.01134", + "id": 36411 + }, + { + "name": "Calle del Cuartel", + "lat": "40.72958", + "lon": "-4.01432", + "id": 3521 + }, + { + "name": "Calle del Halcón", + "lat": "40.73415", + "lon": "-4.00387", + "id": 36393 + }, + { + "name": "Calle del Mayo", + "lat": "40.72919", + "lon": "-4.01520", + "id": 6000 + }, + { + "name": "Calle del Águila", + "lat": "40.73267", + "lon": "-4.00274", + "id": 36414 + }, + { + "name": "Camino de la Tubería", + "lat": "40.77937", + "lon": "-3.99460", + "id": 33047 + }, + { + "name": "Camino del Calvario", + "lat": "40.74797", + "lon": "-4.03372", + "id": 35661 + }, + { + "name": "Camino del Dedo", + "lat": "40.72718", + "lon": "-3.99801", + "id": 58961 + }, + { + "name": "Camino del Río", + "lat": "40.73563", + "lon": "-4.00188", + "id": 36308 + }, + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.73397", + "lon": "-4.02005", + "id": 31367 + }, + { + "name": "Carretera de Guadarrama a Navacerrada", + "lat": "40.73402", + "lon": "-4.02205", + "id": 35662 + }, + { + "name": "GR-10", + "lat": "40.74550", + "lon": "-4.03284", + "id": 34099 + }, + { + "name": "La Bola del Mundo", + "lat": "40.78389", + "lon": "-3.99113", + "id": 40865 + }, + { + "name": "PR-M 16", + "lat": "40.78007", + "lon": "-3.97435", + "id": 55578 + }, + { + "name": "Paseo de la Magdalena", + "lat": "40.72484", + "lon": "-4.01113", + "id": 36415 + }, + { + "name": "Plaza del Álamo", + "lat": "40.72893", + "lon": "-4.01424", + "id": 6001 + }, + { + "name": "Travesía de la Tejera", + "lat": "40.72438", + "lon": "-4.02140", + "id": 36354 + }, + { + "name": "Travesía de las Huertas", + "lat": "40.72864", + "lon": "-4.01374", + "id": 3500 + }, + { + "name": "Travesía del Cuartel", + "lat": "40.72937", + "lon": "-4.01419", + "id": 36386 + }, + { + "name": "Travesía del Rosal", + "lat": "40.71997", + "lon": "-4.01449", + "id": 36356 + }, + { + "name": "Vereda de las Encinillas", + "lat": "40.78098", + "lon": "-4.02091", + "id": 17270 + }, + { + "name": "Whistler", + "lat": "40.77357", + "lon": "-4.01132", + "id": 35918 + }, + { + "name": "Calle Amanecer (Uranización Los Corales)", + "lat": "40.73220", + "lon": "-4.00503", + "id": 36403 + }, + { + "name": "Calle Atardecer (Uranización Los Corales)", + "lat": "40.73261", + "lon": "-4.00746", + "id": 5476 + }, + { + "name": "Calle Lucero (Uranización Los Corales)", + "lat": "40.73095", + "lon": "-4.00527", + "id": 36405 + }, + { + "name": "Calle Manzanares (Residencial Sanabria)", + "lat": "40.73014", + "lon": "-4.01102", + "id": 1670 + }, + { + "name": "Calle Orión (Uranización Los Corales)", + "lat": "40.73173", + "lon": "-4.00724", + "id": 5477 + }, + { + "name": "Calle Poniente (Uranización Los Corales)", + "lat": "40.73295", + "lon": "-4.00621", + "id": 36422 + }, + { + "name": "Calle de Carmen Conde (Residencial Sanabria)", + "lat": "40.72986", + "lon": "-4.01374", + "id": 36404 + }, + { + "name": "Calle de San Sebastián (Residencial Sanabria)", + "lat": "40.73280", + "lon": "-4.01520", + "id": 8330 + }, + { + "name": "Calle de la Bola del Mundo (Residencial Sanabria)", + "lat": "40.72729", + "lon": "-4.01218", + "id": 6854 + }, + { + "name": "Calle de la Canaleja (Residencial Sanabria)", + "lat": "40.73053", + "lon": "-4.01428", + "id": 6974 + }, + { + "name": "Calle de la Maliciosa (Residencial Sanabria)", + "lat": "40.72801", + "lon": "-4.01166", + "id": 6853 + }, + { + "name": "Calle de las Cruces (Residencial Sanabria)", + "lat": "40.72941", + "lon": "-4.01265", + "id": 5792 + }, + { + "name": "Calle de las Eras (Uranización Los Corales)", + "lat": "40.73121", + "lon": "-4.00964", + "id": 3395, + "buildings": [ + { + "name": "1", + "lat": "40.73123", + "lon": "-4.00997", + "postcode": "28491" + }, + { + "name": "2", + "lat": "40.73121", + "lon": "-4.00964", + "postcode": "28491" + }, + { + "name": "3", + "lat": "40.73154", + "lon": "-4.00958", + "postcode": "28491" + }, + { + "name": "4", + "lat": "40.73181", + "lon": "-4.00874", + "postcode": "28491" + }, + { + "name": "5", + "lat": "40.73163", + "lon": "-4.00943", + "postcode": "28491" + }, + { + "name": "6", + "lat": "40.73186", + "lon": "-4.00859", + "postcode": "28491" + }, + { + "name": "7", + "lat": "40.73173", + "lon": "-4.00932", + "postcode": "28491" + }, + { + "name": "8", + "lat": "40.73197", + "lon": "-4.00855", + "postcode": "28491" + }, + { + "name": "9", + "lat": "40.73183", + "lon": "-4.00924" + }, + { + "name": "10", + "lat": "40.73222", + "lon": "-4.00801", + "postcode": "28491" + }, + { + "name": "11", + "lat": "40.73214", + "lon": "-4.00874", + "postcode": "28491" + }, + { + "name": "12", + "lat": "40.73227", + "lon": "-4.00797", + "postcode": "28491" + }, + { + "name": "13", + "lat": "40.73220", + "lon": "-4.00859", + "postcode": "28491" + }, + { + "name": "14", + "lat": "40.73269", + "lon": "-4.00748", + "postcode": "28491" + }, + { + "name": "15", + "lat": "40.73223", + "lon": "-4.00849", + "postcode": "28491" + }, + { + "name": "16", + "lat": "40.73272", + "lon": "-4.00741", + "postcode": "28491" + }, + { + "name": "17", + "lat": "40.73228", + "lon": "-4.00840", + "postcode": "28491" + }, + { + "name": "18", + "lat": "40.73275", + "lon": "-4.00726", + "postcode": "28491" + }, + { + "name": "19", + "lat": "40.73235", + "lon": "-4.00855", + "postcode": "28491" + }, + { + "name": "20", + "lat": "40.73280", + "lon": "-4.00735", + "postcode": "28491" + }, + { + "name": "21", + "lat": "40.73241", + "lon": "-4.00831", + "postcode": "28491" + }, + { + "name": "22", + "lat": "40.73284", + "lon": "-4.00711", + "postcode": "28491" + }, + { + "name": "24", + "lat": "40.73288", + "lon": "-4.00731", + "postcode": "28491" + }, + { + "name": "26", + "lat": "40.73292", + "lon": "-4.00711", + "postcode": "28491" + }, + { + "name": "28", + "lat": "40.73297", + "lon": "-4.00720", + "postcode": "28491" + }, + { + "name": "30", + "lat": "40.73300", + "lon": "-4.00703", + "postcode": "28491" + }, + { + "name": "32", + "lat": "40.73305", + "lon": "-4.00709", + "postcode": "28491" + }, + { + "name": "34", + "lat": "40.73308", + "lon": "-4.00688", + "postcode": "28491" + }, + { + "name": "36", + "lat": "40.73313", + "lon": "-4.00686", + "postcode": "28491" + } + ], + "intersectedStreets": [ + { + "name": "Pasaje de las Eras (Uranización Los Corales)", + "lat": "40.73139", + "lon": "-4.00958" + }, + { + "name": "Travesía de los Robles", + "lat": "40.73163", + "lon": "-4.00924" + }, + { + "name": "Plaza del Gargantón (Residencial Sanabria)", + "lat": "40.73092", + "lon": "-4.01020" + }, + { + "name": "Calle de los Robles (Uranización Los Corales)", + "lat": "40.73111", + "lon": "-4.00992" + }, + { + "name": "Calle del Sotillo (Uranización Los Corales)", + "lat": "40.73184", + "lon": "-4.00894" + }, + { + "name": "Calle los Corrales", + "lat": "40.73220", + "lon": "-4.00844" + }, + { + "name": "Travesía del Sotillo", + "lat": "40.73246", + "lon": "-4.00808" + }, + { + "name": "Calle Atardecer (Uranización Los Corales)", + "lat": "40.73272", + "lon": "-4.00771" + } + ] + }, + { + "name": "Calle de las Huertas (Residencial Sanabria)", + "lat": "40.72934", + "lon": "-4.01364", + "id": 5659 + }, + { + "name": "Calle de los Enebros (Uranización Los Corales)", + "lat": "40.72993", + "lon": "-4.00703", + "id": 36417 + }, + { + "name": "Calle de los Pradillos (Residencial Sanabria)", + "lat": "40.73202", + "lon": "-4.01314", + "id": 6970 + }, + { + "name": "Calle de los Robles (Uranización Los Corales)", + "lat": "40.73054", + "lon": "-4.00471", + "id": 36387 + }, + { + "name": "Calle del Cóndor (Uranización Los Corales)", + "lat": "40.73315", + "lon": "-4.00568", + "id": 36313 + }, + { + "name": "Calle del Nogal (Residencial Sanabria)", + "lat": "40.73040", + "lon": "-4.01183", + "id": 36416 + }, + { + "name": "Calle del Santísimo (Residencial Sanabria)", + "lat": "40.73036", + "lon": "-4.01394", + "id": 8952 + }, + { + "name": "Calle del Sol Naciente (Uranización Los Corales)", + "lat": "40.73152", + "lon": "-4.00600", + "id": 36406 + }, + { + "name": "Calle del Sotillo (Uranización Los Corales)", + "lat": "40.73277", + "lon": "-4.01098", + "id": 6972 + }, + { + "name": "Calle la Granja (Uranización Los Corales)", + "lat": "40.72994", + "lon": "-4.00501", + "id": 36385 + }, + { + "name": "Calle los Acebos (Uranización Los Corales)", + "lat": "40.72971", + "lon": "-4.00377", + "id": 36419 + }, + { + "name": "Pasaje de las Eras (Uranización Los Corales)", + "lat": "40.73223", + "lon": "-4.00954", + "id": 5479, + "buildings": [ + { + "name": "1", + "lat": "40.73154", + "lon": "-4.00986", + "postcode": "28491" + }, + { + "name": "2", + "lat": "40.73162", + "lon": "-4.00969", + "postcode": "28491" + }, + { + "name": "3", + "lat": "40.73165", + "lon": "-4.01003", + "postcode": "28491" + }, + { + "name": "4", + "lat": "40.73170", + "lon": "-4.00982", + "postcode": "28491" + }, + { + "name": "5", + "lat": "40.73223", + "lon": "-4.00954", + "postcode": "28491" + }, + { + "name": "6", + "lat": "40.73175", + "lon": "-4.00975", + "postcode": "28491" + }, + { + "name": "8", + "lat": "40.73176", + "lon": "-4.00958", + "postcode": "28491" + }, + { + "name": "10", + "lat": "40.73183", + "lon": "-4.00969", + "postcode": "28491" + }, + { + "name": "12", + "lat": "40.73188", + "lon": "-4.00954", + "postcode": "28491" + }, + { + "name": "14", + "lat": "40.73191", + "lon": "-4.00947", + "postcode": "28491" + } + ], + "intersectedStreets": [ + { + "name": "Calle del Sotillo (Uranización Los Corales)", + "lat": "40.73225", + "lon": "-4.00945" + }, + { + "name": "Calle de las Eras (Uranización Los Corales)", + "lat": "40.73137", + "lon": "-4.00958" + } + ] + }, + { + "name": "Plaza del Gargantón (Residencial Sanabria)", + "lat": "40.73071", + "lon": "-4.01074", + "id": 1673 + }, + { + "name": "Avenida del Rosal", + "lat": "40.72097", + "lon": "-4.01353", + "id": 6818 + }, + { + "name": "Barrio de la Fragua", + "lat": "40.73075", + "lon": "-4.01282", + "id": 3408 + }, + { + "name": "Calle Cuarto Creciente", + "lat": "40.73095", + "lon": "-4.00527", + "id": 48420 + }, + { + "name": "Calle Cuarto Menguante", + "lat": "40.73087", + "lon": "-4.00329", + "id": 36396 + }, + { + "name": "Calle Doctor Julio González Villasante", + "lat": "40.72913", + "lon": "-4.01716", + "id": 5660 + }, + { + "name": "Calle Huertona", + "lat": "40.73210", + "lon": "-4.01685", + "id": 36401 + }, + { + "name": "Calle Luna Llena", + "lat": "40.73144", + "lon": "-4.00398", + "id": 36418 + }, + { + "name": "Calle Luna Nueva", + "lat": "40.73129", + "lon": "-4.00553", + "id": 36413 + }, + { + "name": "Calle Namadilla", + "lat": "40.72700", + "lon": "-4.01239", + "id": 6851 + }, + { + "name": "Calle Praderas de San Sebastián", + "lat": "40.72832", + "lon": "-4.02057", + "id": 36402 + }, + { + "name": "Calle Prado Rubia", + "lat": "40.72757", + "lon": "-4.01269", + "id": 6852 + }, + { + "name": "Calle Presbítero Blanco", + "lat": "40.73136", + "lon": "-4.01310", + "id": 36391 + }, + { + "name": "Calle Saúco", + "lat": "40.73155", + "lon": "-4.01117", + "id": 6955 + }, + { + "name": "Calle de Prado Jerez", + "lat": "40.72838", + "lon": "-4.01555", + "id": 1908 + }, + { + "name": "Calle de Rafael Alvarado", + "lat": "40.72819", + "lon": "-4.01868", + "id": 36398 + }, + { + "name": "Calle de Ángel Rojas", + "lat": "40.72129", + "lon": "-4.01713", + "id": 36370 + }, + { + "name": "Calle del Arzobispado", + "lat": "40.73072", + "lon": "-4.01353", + "id": 49624 + }, + { + "name": "Calle del Párroco Desiderio García", + "lat": "40.73339", + "lon": "-4.01900", + "id": 36869 + }, + { + "name": "Calle del Señor Rubio", + "lat": "40.72872", + "lon": "-4.01398", + "id": 2470 + }, + { + "name": "Calle del Trigal", + "lat": "40.72936", + "lon": "-4.00490", + "id": 36399 + }, + { + "name": "Calle la Longuera", + "lat": "40.72921", + "lon": "-4.00336", + "id": 36409 + }, + { + "name": "Calle las Jaras", + "lat": "40.72858", + "lon": "-4.01385", + "id": 49623 + }, + { + "name": "Calle los Corrales", + "lat": "40.73191", + "lon": "-4.00842", + "id": 36408 + }, + { + "name": "Calle los Fresnos", + "lat": "40.72910", + "lon": "-4.00413", + "id": 36421 + }, + { + "name": "Camino Sur de la Maliciosa", + "lat": "40.76727", + "lon": "-3.96892", + "id": 55411 + }, + { + "name": "Carretera M-607", + "lat": "40.73292", + "lon": "-3.99484", + "id": 10727 + }, + { + "name": "Carretera de la Barranca", + "lat": "40.74207", + "lon": "-4.00351", + "id": 13632 + }, + { + "name": "PR-M 26", + "lat": "40.77368", + "lon": "-3.98319", + "id": 30601 + }, + { + "name": "Paseo de la Longuera", + "lat": "40.72593", + "lon": "-4.00321", + "id": 46080 + }, + { + "name": "Paseo de los Abetos", + "lat": "40.72254", + "lon": "-4.01960", + "id": 36347 + }, + { + "name": "Paseo de los Españoles", + "lat": "40.72804", + "lon": "-4.01643", + "id": 5728 + }, + { + "name": "Plaza de la Canaleja", + "lat": "40.73116", + "lon": "-4.01503", + "id": 9516 + }, + { + "name": "Plaza de los Ángeles", + "lat": "40.72921", + "lon": "-4.01456", + "id": 1669 + }, + { + "name": "Plaza del Doctor Gereda", + "lat": "40.72875", + "lon": "-4.01486", + "id": 2467 + }, + { + "name": "SLMN-4", + "lat": "40.76411", + "lon": "-3.98954", + "id": 57164 + }, + { + "name": "Senda Alakan", + "lat": "40.76455", + "lon": "-3.99437", + "id": 30603 + }, + { + "name": "Sendero Local", + "lat": "40.75508", + "lon": "-4.00329", + "id": 57821 + }, + { + "name": "Travesía de Abel", + "lat": "40.73049", + "lon": "-4.01458", + "id": 46084 + }, + { + "name": "Travesía de Prado Jerez", + "lat": "40.72788", + "lon": "-4.01518", + "id": 8953 + }, + { + "name": "Travesía de la Audiencia", + "lat": "40.72828", + "lon": "-4.01385", + "id": 36407 + }, + { + "name": "Travesía de la Encinilla", + "lat": "40.72941", + "lon": "-4.01516", + "id": 5802 + }, + { + "name": "Travesía de los Abetos", + "lat": "40.71879", + "lon": "-4.01527", + "id": 6819 + }, + { + "name": "Travesía de los Robles", + "lat": "40.73136", + "lon": "-4.00810", + "id": 5480 + }, + { + "name": "Travesía del Santísimo", + "lat": "40.72975", + "lon": "-4.01413", + "id": 5794 + }, + { + "name": "Travesía del Sotillo", + "lat": "40.73232", + "lon": "-4.00898", + "id": 5478 + }, + { + "name": "Trialera del Escorpión", + "lat": "40.75031", + "lon": "-4.02840", + "id": 45720 + }, + { + "name": "Urbanización Prado Molero", + "lat": "40.73007", + "lon": "-4.01831", + "id": 36389 + }, + { + "name": "Urbanización el Manantial", + "lat": "40.72531", + "lon": "-4.01778", + "id": 36392 + }, + { + "name": "Urbanización la Garza", + "lat": "40.72937", + "lon": "-4.01688", + "id": 36388 + }, + { + "name": "Urbanización las Brisas", + "lat": "40.73036", + "lon": "-4.01724", + "id": 36420 + }, + { + "name": "Urbanización las Brisas Manzana A", + "lat": "40.73072", + "lon": "-4.01685", + "id": 36412 + }, + { + "name": "Urbanización las Brisas Manzana B", + "lat": "40.73040", + "lon": "-4.01692", + "id": 36395 + }, + { + "name": "Urbanización las Brisas Manzana C", + "lat": "40.73020", + "lon": "-4.01670", + "id": 55675 + }, + { + "name": "Urbanización las Brisas Manzana D", + "lat": "40.72991", + "lon": "-4.01643", + "id": 55674 + }, + { + "name": "Urbanización las Brisas Manzana E", + "lat": "40.72978", + "lon": "-4.01705", + "id": 36410 + } + ], + "matchCity": 1, + "matchStreet": 1 + }, + { + "name": "Los Molinos", + "lat": "40.71481", + "lon": "-4.07423", + "id": 198063628, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Guadarrama a Navacerrada", + "lat": "40.71238", + "lon": "-4.06451", + "id": 13947, + "intersectedStreets": [ + { + "name": "Avenida de la Concordia", + "names": { + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada" + }, + "lat": "40.71228", + "lon": "-4.06451" + }, + { + "name": "Travesía Eduardo López Palop", + "lat": "40.71373", + "lon": "-4.06440" + } + ] + }, + { + "name": "Avenida de la Concordia", + "names": { + "alt_name": "Carretera de Guadarrama (AP-6) a Navacerrada" + }, + "lat": "40.70960", + "lon": "-4.06666", + "id": 13948, + "intersectedStreets": [ + { + "name": "Calle Arizona", + "lat": "40.71143", + "lon": "-4.06505" + }, + { + "name": "Calle del Olmo", + "lat": "40.71100", + "lon": "-4.06546" + }, + { + "name": "Travesía de Majalastablas", + "lat": "40.71052", + "lon": "-4.06586" + }, + { + "name": "Calle de Santa Engracia", + "lat": "40.70960", + "lon": "-4.06666" + }, + { + "name": "Calle San Pascual", + "lat": "40.70869", + "lon": "-4.06745" + }, + { + "name": "Paseo Miguel Menéndez Boneta", + "lat": "40.70725", + "lon": "-4.06818" + }, + { + "name": "Calle Pedro Gutiérrez", + "lat": "40.70725", + "lon": "-4.06818" + }, + { + "name": "Carretera de Guadarrama a Navacerrada", + "lat": "40.71230", + "lon": "-4.06451" + }, + { + "name": "Avenida de los Molinos", + "lat": "40.71218", + "lon": "-4.06475" + }, + { + "name": "Calle de la Capilla", + "lat": "40.70649", + "lon": "-4.06848" + }, + { + "name": "Calle San Joaquín (Matarrubia)", + "lat": "40.70603", + "lon": "-4.06868" + }, + { + "name": "Calle Matarrubias", + "lat": "40.70447", + "lon": "-4.06940" + }, + { + "name": "Calle San Agustín", + "lat": "40.70366", + "lon": "-4.06988" + }, + { + "name": "Calle Buenos Aires (Matarrubia)", + "lat": "40.70366", + "lon": "-4.06988" + }, + { + "name": "Calle Miralmonte", + "lat": "40.70280", + "lon": "-4.07041" + }, + { + "name": "Calle Bellas Vistas", + "lat": "40.70154", + "lon": "-4.07110" + }, + { + "name": "Calle del Río Guadalquivir (Matarrubia)", + "lat": "40.70073", + "lon": "-4.07157" + }, + { + "name": "Calle Río Duero (Matarrubia)", + "lat": "40.69980", + "lon": "-4.07204" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Puerto de Navacerrada", + "lat": "40.78629", + "lon": "-4.00266", + "id": 303570891, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Calle Dos Castillas", + "lat": "40.78782", + "lon": "-4.00201", + "id": 59815 + }, + { + "name": "Calle Vitoria", + "lat": "40.78473", + "lon": "-4.00419", + "id": 17273 + }, + { + "name": "Calle de Peñalara", + "lat": "40.78493", + "lon": "-4.00093", + "id": 36632 + }, + { + "name": "Calle de la Bola del Mundo", + "lat": "40.78400", + "lon": "-4.00437", + "id": 17272 + }, + { + "name": "Calle de la Estación", + "lat": "40.78501", + "lon": "-4.00267", + "id": 55425 + }, + { + "name": "Calle de la Virgen de las Nieves", + "lat": "40.78327", + "lon": "-4.00308", + "id": 31362 + }, + { + "name": "Camino Schmidt", + "lat": "40.78824", + "lon": "-4.02630", + "id": 34134 + }, + { + "name": "Camino del Calvario", + "lat": "40.77029", + "lon": "-4.01235", + "id": 56605 + }, + { + "name": "Carretera de Collado Villalba a Navacerrada", + "lat": "40.76806", + "lon": "-4.00982", + "id": 52476 + }, + { + "name": "Carril del Gallo", + "lat": "40.80168", + "lon": "-4.03818", + "id": 58970 + }, + { + "name": "Cuerda Larga", + "lat": "40.78579", + "lon": "-3.97995", + "id": 18495 + }, + { + "name": "La Bola del Mundo", + "lat": "40.78514", + "lon": "-3.98061", + "id": 59123 + }, + { + "name": "PR-8 Senda Herreros", + "lat": "40.78413", + "lon": "-4.01647", + "id": 36544 + }, + { + "name": "Calle Ginos", + "lat": "40.78542", + "lon": "-4.00259", + "id": 17256 + }, + { + "name": "El Bosque", + "lat": "40.78813", + "lon": "-4.00844", + "id": 36543 + } + ], + "matchCity": 1, + "matchStreet": 1 + }, + { + "name": "Moraleja de Enmedio", + "enName": "Moraleja de Enmedio", + "names": { + "ru": "Уманес-де-Мадрид", + "ja": "モラレハ・デ・エンメディオ", + "zh": "莫拉莱哈登梅迪奥" + }, + "lat": "40.26155", + "lon": "-3.86121", + "id": 306945944, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Calle de Navacerrada", + "lat": "40.26170", + "lon": "-3.86255", + "id": 51011, + "intersectedStreets": [ + { + "name": "Calle de Somosierra", + "lat": "40.26194", + "lon": "-3.86227" + }, + { + "name": "Travesía Real", + "lat": "40.26194", + "lon": "-3.86227" + }, + { + "name": "Calle Real", + "lat": "40.26155", + "lon": "-3.86296" + } + ] + } + ], + "matchStreet": 1 + } + ] +} \ No newline at end of file From 8884f681abd993166dd37b930969f07af4f4ef96 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 22 May 2020 17:00:17 +0300 Subject: [PATCH 045/509] add btn disappear after rotation fix --- .../net/osmand/plus/search/QuickSearchCustomPoiFragment.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java b/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java index 0aaba59974..fe5223c4b8 100644 --- a/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java +++ b/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java @@ -261,6 +261,7 @@ public class QuickSearchCustomPoiFragment extends DialogFragment implements OnFi @Override public void onResume() { super.onResume(); + saveFilter(); getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { @@ -496,6 +497,7 @@ public class QuickSearchCustomPoiFragment extends DialogFragment implements OnFi categoryListAdapter.notifyDataSetChanged(); removeAllHeaders(); listView.addHeaderView(headerDescription, null, false); + saveFilter(); } else { listView.setAdapter(subCategoriesAdapter); subCategoriesAdapter.clear(); @@ -503,6 +505,7 @@ public class QuickSearchCustomPoiFragment extends DialogFragment implements OnFi subCategoriesAdapter.notifyDataSetChanged(); removeAllHeaders(); listView.addHeaderView(headerShadow, null, false); + setupAddButton(); } } else { for (PoiCategory category : poiCategoryList) { @@ -518,8 +521,8 @@ public class QuickSearchCustomPoiFragment extends DialogFragment implements OnFi subCategoriesAdapter.notifyDataSetChanged(); removeAllHeaders(); listView.addHeaderView(headerShadow, null, false); + setupAddButton(); } - setupAddButton(); } private void removeAllHeaders() { From f46a7edbfad9d1dd119299b267ff8a0a5f1101c3 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Fri, 22 May 2020 17:18:04 +0300 Subject: [PATCH 046/509] title textview multiline support --- .../net/osmand/plus/search/QuickSearchCustomPoiFragment.java | 2 ++ OsmAnd/src/net/osmand/plus/search/SubCategoriesAdapter.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java b/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java index fe5223c4b8..a48d759022 100644 --- a/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java +++ b/OsmAnd/src/net/osmand/plus/search/QuickSearchCustomPoiFragment.java @@ -387,6 +387,8 @@ public class QuickSearchCustomPoiFragment extends DialogFragment implements OnFi AppCompatImageView iconView = (AppCompatImageView) row.findViewById(R.id.icon); row.findViewById(R.id.secondary_icon).setVisibility(View.GONE); AppCompatTextView titleView = (AppCompatTextView) row.findViewById(R.id.title); + titleView.setMaxLines(Integer.MAX_VALUE); + titleView.setEllipsize(null); AppCompatTextView descView = (AppCompatTextView) row.findViewById(R.id.description); SwitchCompat check = (SwitchCompat) row.findViewById(R.id.toggle_item); UiUtilities.setupCompoundButton(check, nightMode, UiUtilities.CompoundButtonType.GLOBAL); diff --git a/OsmAnd/src/net/osmand/plus/search/SubCategoriesAdapter.java b/OsmAnd/src/net/osmand/plus/search/SubCategoriesAdapter.java index f1b30792b2..f82203fcc7 100644 --- a/OsmAnd/src/net/osmand/plus/search/SubCategoriesAdapter.java +++ b/OsmAnd/src/net/osmand/plus/search/SubCategoriesAdapter.java @@ -72,6 +72,8 @@ public class SubCategoriesAdapter extends ArrayAdapter { int tintIconColorRes = selected ? activeIconColorRes : secondaryColorRes; if (poiType != null) { TextView title = convertView.findViewById(R.id.title_tv); + title.setMaxLines(Integer.MAX_VALUE); + title.setEllipsize(null); title.setText(poiType.getTranslation()); final CheckBox checkBox = convertView.findViewById(R.id.check_box); checkBox.setChecked(selected); From f6c14e659bdda4b16c33ea001289d669e7677ac6 Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Sat, 23 May 2020 11:46:13 -0400 Subject: [PATCH 047/509] fix some awkward strings --- OsmAnd/res/values/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 8308881ea1..d2bb89400e 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -959,7 +959,7 @@ Actions Marker Create or modify OSM objects - Create or modify OSM POIs, open or comment OSM notes, and contribute recorded GPX files. + Create or modify OSM POIs, open or comment on OSM notes, and contribute recorded GPX files. Deleted Edited Added @@ -967,7 +967,7 @@ Tap a marker on the map to move it to the top of the active markers without opening the context menu. \'One tap\' active Make notes! - Add audio, video or photo note to every point on the map, using widget or context menu. + Add audio, video, or photo notes to any point on the map by using the widgets or context menus. A/V notes by date By date By type @@ -990,7 +990,7 @@ Show directional line from your position to the active marker locations. Show one or two arrows indicating the direction to the active markers. Choose how to display the distance to active markers. - Specify number of direction indicators: + Specify number of direction indicators. Number of decimal digits Right Left @@ -1117,7 +1117,7 @@ Open Mapillary Install Improve photo coverage with Mapillary - Install Mapillary to add one or more photos to this map location. + Install Mapillary to add photos to this map location. Online photos Add photos No photos here. @@ -3681,9 +3681,9 @@ Waypoint 1 Route Point 1 Add GPX files - Import GPX files, or record tracks. + Import GPX files or record tracks. Add Favorites - Import Favorites, or add by marking points on the map. + Import Favorites or add them by marking points on the map. Import GPX file File %1$s does not contain waypoints, import it as a track? Move Point From e34cd39761056248a40d81a63aab352493db7773 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 23 May 2020 07:50:04 +0000 Subject: [PATCH 048/509] Translated using Weblate (German) Currently translated at 99.9% (3338 of 3341 strings) --- OsmAnd/res/values-de/strings.xml | 66 ++++++++++++++++---------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index f7fa57bcae..2351cd1369 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -2043,7 +2043,7 @@ Lon %2$s Unbegrenzte Karten-Downloads, -Aktualisierungen und die Wikipedia-Erweiterung. Für %1$s abonnieren Abonnieren - Monatliche Abonnementabrechnung. Jederzeit auf Google Play kündbar. + Das Abonnement wird pro ausgewähltem Zeitraum berechnet. Sie können das Abonnement jederzeit über Google Play kündigen. Spende an die OSM-Gemeinschaft Ein Teil Ihrer Spende erhalten OSM-Mitwirkende. Die Abonnementskosten bleiben gleich. Das Abonnement macht stündliche, tägliche und wöchentliche Updates sowie unbegrenzte Downloads aller Karten weltweit möglich. @@ -3427,7 +3427,7 @@ Lon %2$s Symbol, Farbe und Name Profilliste bearbeiten Ausgewähltes Profil - Durch Tippen auf %1$s werden alle Ihre Änderungen verworfen. + Durch Antippen von %1$s werden alle Ihre Änderungen verworfen. Alle Profil-Einstellungen auf den Ausgangszustand zurücksetzen. Alle Profil-Einstellungen zurücksetzen\? %1$s: %2$s @@ -3483,7 +3483,7 @@ Lon %2$s System-App verwenden Auslöseton der Kamera Durch das Zurücksetzen auf die Standardeinstellung wird die Sortierung auf den Standardzustand nach der Installation zurückgesetzt. - Eingabehilfenmodus ist in Ihrem System deaktiviert. + Der Zugänglichkeitsmodus ist in Ihrem Android ausgeschaltet. Zeitlimit für den Systembildschirm verwenden Standardmäßig deaktiviert. Wenn OsmAnd im Vordergrund läuft, wird der Bildschirm nicht ausgeblendet. \n @@ -3526,7 +3526,7 @@ Lon %2$s Ihre aufgezeichneten Tracks befinden sich in %1$s oder im OsmAnd-Ordner. Bitte geben Sie einen Namen für das Profil an Einstellungen öffnen - Plugin deaktiviert + Plugin aus Dieses Plugin ist eine separate Anwendung, Sie müssen es separat entfernen, wenn Sie nicht mehr vorhaben, es zu verwenden. \n \nDas Plugin verbleibt nach dem Entfernen von OsmAnd auf dem Gerät. @@ -3534,7 +3534,7 @@ Lon %2$s %1$s — %2$s — %3$s Routing Zusätzliche Daten einschließen - Das importierte Profil enthält zusätzliche Daten. Klicken Sie auf \'Importieren\', um nur Profildaten zu importieren, oder wählen Sie zusätzliche Daten zum Importieren aus. + Das importierte Profil enthält zusätzliche Daten. Klicken Sie auf \"Importieren\", um nur Profildaten zu importieren, oder wählen Sie zusätzliche Daten aus. Sie können zusätzliche Daten zum Exportieren zusammen mit dem Profil auswählen. Antarktis Sie finden Ihre noch nicht übertragenen Änderungen oder OSM-Fehler in %1$s. Hochgeladene Punkte werden nicht mehr angezeigt. @@ -3545,7 +3545,7 @@ Lon %2$s
Auf direktem Weg Geo-Intent \'%s\' konnte nicht analysiert werden. App-Standard (%s) - Neuberechnung deaktivieren + Keine Neuberechnung Mindestabstand für Neuberechnung der Route Die Route wird neu berechnet, wenn der Abstand zur Route größer ist als der festgelegte Wert Benutzerdefiniertes Profil @@ -3596,7 +3596,7 @@ Lon %2$s Eine Schaltfläche zum Ein- und Ausblenden der Geländeebene auf der Karte. Gelände einblenden Gelände ausblenden - Gelände ein-/ausblenden + Gelände ein- / ausblenden Schummerung Zoomstufen Transparenz @@ -3665,7 +3665,7 @@ Lon %2$s Tschetschenisch Bairisch Baschkirisch - Hauptaktionen enthalten nur 4 Schaltflächen. + Hat nur vier Schaltflächen. Wählen Sie die Sprachen aus, in denen Wikipedia-Artikel auf der Karte erscheinen sollen. Sie können zwischen allen verfügbaren Sprachen wechseln, während Sie den Artikel lesen. Diese Elemente werden aus dem Menü ausgeblendet, aber die entsprechenden Optionen oder Plugins funktionieren weiterhin. Ordnen Sie Elemente aus %1$s neu an oder blenden Sie sie aus. @@ -3674,7 +3674,7 @@ Lon %2$s \nund wenn es abläuft (nach einem Monat, drei Monaten oder einem Jahr) \nverlängert es sich nicht von selbst, wenn es vorher in Ihren Google Play-Einstellungen gekündigt wurde. Suche nach POI-Typen - Kombinieren Sie POI-Typen aus verschiedenen Kategorien. Tippen Sie auf \"Wechseln\", um alle auszuwählen, tippen Sie auf die linke Seite für die Kategorieauswahl. + Kombinieren Sie POI-Typen aus verschiedenen Kategorien. Wenn Sie auf \"Wechseln\" tippen, werden alle ausgewählt, und auf der linken Seite wird die Kategorie ausgewählt. Trenner Schnellaktion Zirkel @@ -3687,24 +3687,24 @@ Lon %2$s Reisen (Wikivoyage und Wikipedia) Abonnement - OsmAnd Live OsmAnd Einkäufe - Der Leitfaden zur Symbolik einer Karte + Der Leitfaden zur Symbolik einer Karte. Navigationsprofile - • Neue Offline-Steigungskarten -\n -\n• Vollständige Anpassung von Favoriten und GPX-Wegpunkten - benutzerdefinierte Farben, Symbole, Formen -\n -\n• Anpassen der Reihenfolge der Elemente im Kontextmenü, Karte konfigurieren, Schublade -\n -\n• Wikipedia als separate Ebene in Karte konfigurieren, nur benötigte Sprachen auswählen -\n -\n• Erstellen Sie Ihre eigenen POI-Filter/Karten mit absoluter Flexibilität -\n -\n• Optionen zur Wiederherstellung von Einstellungen für benutzerdefinierte Profile hinzugefügt -\n -\n• Vollständige GPX-Routen aus der Navigation unterstützen Verkehrsspuren und vollständige Abbiegeanweisungen -\n -\n• Größe der Bedienoberfläche auf Tablets verbessert -\n + • Neue Offline-Steigungskarten +\n +\n• Vollständige Anpassung von Favoriten und GPX-Wegpunkten - benutzerdefinierte Farben, Symbole, Formen +\n +\n• Anpassen der Reihenfolge der Elemente im \"Kontextmenü\", \"Karte konfigurieren\" und \"Schublade\" +\n +\n• Wikipedia als separate Ebene in Karte konfigurieren, nur benötigte Sprachen auswählen +\n +\n• Erstellen Sie Ihre eigenen POI-Filter / Karten mit absoluter Flexibilität +\n +\n• Optionen zur Wiederherstellung von Einstellungen für benutzerdefinierte Profile hinzugefügt +\n +\n• Vollständige GPX-Routen aus der Navigation unterstützen Verkehrsspuren und vollständige Abbiegeanweisungen +\n +\n• Größe der Bedienoberfläche auf Tablets verbessert +\n \n• Fehler mit RTL behoben \n \n @@ -3712,15 +3712,17 @@ Lon %2$s Sie können auf diese Aktionen zugreifen, indem Sie auf die Schaltfläche \"%1$s\" tippen. Öffentliche Verkehrsmittel ausblenden Öffentliche Verkehrsmittel anzeigen - Öffentliche Verkehrsmittel anzeigen/ausblenden - Eine Schaltfläche zum Ein- oder Ausblenden der öffentlichen Verkehrsmittel auf der Karte. - POI erstellen/bearbeiten + Öffentliche Verkehrsmittel anzeigen / ausblenden + Schaltfläche zum Ein- oder Ausblenden der öffentlichen Verkehrsmittel auf der Karte. + POI erstellen / bearbeiten Parkpositionen Favorit hinzufügen / bearbeiten Standard-Reihenfolge der Elemente wiederherstellen Zurück zur Bearbeitung - Durch Antippen der Aktionsschaltfläche können Sie zwischen den ausgewählten Profilen wechseln. + Die Aktionsschaltfläche schaltet zwischen den ausgewählten Profilen um. Profil hinzufügen - Anwendungsprofil ändern - Für diese Aktion ausgewählte Profile nicht gefunden. + App-Profil ändern + Konnte keine solchen Profile finden. + Weltübersichtskarte (detailliert) + Nicht unterstützter Typ \ No newline at end of file From e8372ff905c0686d2ad292f260f82cb4a2010184 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Sat, 23 May 2020 21:24:03 +0000 Subject: [PATCH 049/509] Translated using Weblate (German) Currently translated at 99.9% (3338 of 3341 strings) --- OsmAnd/res/values-de/strings.xml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 2351cd1369..1588d72db0 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -379,7 +379,7 @@ Freunde Sehenswertes Andere - "Name " + Name Kategorie Nicht verwendet Laden Sie die Basis-Weltkarte herunter, um einen Überblick über die ganze Welt bei niedrigen Vergrößerungsstufen zu erhalten. @@ -2077,7 +2077,7 @@ Lon %2$s Filter: Mindestgenauigkeit für die Aufzeichnung eines Punktes. Farbschema für Höhenlinien Fortfahren - "Pause " + Pause Aufgezeichnet Keine Daten Strecke @@ -3615,7 +3615,7 @@ Lon %2$s Skitouren Schneemobil Benutzerdefiniertes OsmAnd-Plugin - Farbliche Kennzeichnung von Pisten im Gelände. + Pisten verwendet Farben, um die Geländesteilheit zu visualisieren. Einen anderen Punkt durch diesen ersetzen Die Änderungen wurden auf das \'%1$s\' Profil angewendet. Konnte nicht von \'%1$s\' lesen. @@ -3725,4 +3725,9 @@ Lon %2$s Konnte keine solchen Profile finden. Weltübersichtskarte (detailliert) Nicht unterstützter Typ + Passen Sie die Menge der Elemente in \"Schublade\", \"Karte konfigurieren\" und \"Kontextmenü\" an. +\n +\nSchalten Sie nicht verwendete Plugins aus, um alle ihre Steuerelemente auszublenden. %1$s. + Schubladenelemente, Kontextmenü + Schublade \ No newline at end of file From 7bf7b13c366810e6bd8fe64b574e11763fd1e9ee Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Thu, 21 May 2020 21:01:17 +0000 Subject: [PATCH 050/509] Translated using Weblate (French) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-fr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 67b2836171..1e16e8d152 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -3706,4 +3706,5 @@ Ajouter un profil Modifier le profil d\'application Carte mondiale générale (plus détaillée) + Type non pris en charge \ No newline at end of file From 91de38560c6e410f96f1e65713fffa5c86701332 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Sat, 23 May 2020 21:38:24 +0000 Subject: [PATCH 051/509] Translated using Weblate (German) Currently translated at 99.9% (3338 of 3341 strings) --- OsmAnd/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 1588d72db0..6044f488de 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3603,7 +3603,7 @@ Lon %2$s Stellen Sie die minimale und maximale Zoomstufe ein, bei der die Ebene angezeigt wird. Gelände Pisten - Aktivieren Sie diese Option, um die Schatten- oder Hangkarte anzuzeigen. Weitere Informationen zu diesen Kartentypen finden Sie auf unserer Website + Aktivieren Sie diese Option, um die Schatten- oder Hangkarte anzuzeigen. Weitere Informationen zu diesen Kartentypen finden Sie auf unserer Website. Legende Lesen Sie mehr über Pisten in %1$s. Zusätzliche Karten sind erforderlich, um Pisten auf der Karte anzuzeigen. From bd287e1c282a541fe3af48d91f2ff4a4592d136f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Fri, 22 May 2020 17:55:33 +0000 Subject: [PATCH 052/509] Translated using Weblate (Turkish) Currently translated at 100.0% (3340 of 3340 strings) --- OsmAnd/res/values-tr/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index f4b30a5b89..3ea95e3bfc 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -1807,7 +1807,7 @@ GPX kaydını duraklat Yeni bir segment başlat Araç olmayan otoyollar - Ahşap ve scrubs + Ağaç ve çalılıklar Binalar üzerinde yakınlaştırma 15 Erişim kısıtlamaları Geçiş hakkındaki kısıtlamaları ve geçiş ücretlerini göster From 9e5bc1cc6a5dbe061df992506487aaeb69aea77d Mon Sep 17 00:00:00 2001 From: Athoss Date: Fri, 22 May 2020 09:43:08 +0000 Subject: [PATCH 053/509] Translated using Weblate (Hungarian) Currently translated at 95.8% (3204 of 3341 strings) --- OsmAnd/res/values-hu/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index b7e790be2a..2453df8c53 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -2354,7 +2354,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Max/Min Min/Max Navigáció szüneteltetése/folytatása - A navigáció szüneteltetéséhez vagy folytatásához koppintson erre a gombra. + Gomb a navigáció szüneteltetéséhez vagy folytatásához. „Navigáció véget ért” panel megjelenítése Navigáció indítása/megállítása A navigáció elkezdéséhez vagy befejezéséhez koppintson erre a gombra. @@ -3631,7 +3631,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük \n \n • Kedvencek és GPX-útpontok teljes testreszabhatósága – egyéni színek, ikonok, formák \n -\n • Opciók menü, Térkép beállítása és Főmenü elemeinek sorrendje testreszabhatók +\n • Opciók menü, Térkép beállítása és Főmenü elemeinek sorrendje testreszabható \n \n • Wikipédia külön rétegként szerepel a Térkép beállítása menüben, a kívánt nyelvek kiválaszthatók \n @@ -3647,4 +3647,5 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük \n \n Nem támogatott típus + Folytatás \ No newline at end of file From bdc9d8ddcec21d4c574149164bfe0378e55de08d Mon Sep 17 00:00:00 2001 From: ihor_ck Date: Wed, 20 May 2020 22:01:03 +0000 Subject: [PATCH 054/509] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-uk/strings.xml | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 1c28771902..150624447c 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -262,7 +262,7 @@ Налагоджувальні відомості про відмалювання Відображає плідність відмалювання. Розпаковуються нові дані… - Мережева служба навігації обрана, але Ви не підключені до Всемережжя. + Вибрано мережеву службу навігації, але ви не підключені до Інтернету. Мова не підтримується Вибрана мова не підтримується встановленим двигуном Android TTS (текстовим мовленням), замість цього буде використана його попередньо налаштована мова TTS. Шукаєте інший двигун TTS\? Дані відсутні @@ -801,7 +801,7 @@ Стоп Почати Звуко/відео-нотатки - Втулок OsmAnd для відображення горизонталей в автономному режимі + Плагін OsmAnd для показу горизонталей в автономному режимі Використовувати програму Камера Налаштування авдіо/відео запису. Налаштування аудіо/відео @@ -830,9 +830,9 @@ Звуко/відео-нотатки частин Горизонталі - Цей втулок показує як шар горизонталей, так і шар рельєфу поверх усталених мап OsmAnd. Ця функціональність стане в нагоді спортсменам, туристам, мандрівникам та будь-кому, хто цікавиться структурою рельєфу місцевості. (Зверніть увагу, що дані про горизонталі є окремими від даних про рельєф; додаткові завантаження доступні після задіювання втулку.) + Цей втулок показує як шар горизонталей, так і шар рельєфу поверх усталених мап OsmAnd. Ця функціональність стане в пригоді спортсменам, туристам, мандрівникам та будь-кому, хто цікавиться структурою рельєфу місцевості. (Зверніть увагу, що дані про горизонталі є окремими від даних про рельєф; додаткові завантаження доступні після задіювання втулку.) \n -\nВсесвітні дані (між 70° на півночі і 70° на півдні) засновано на вимірюваннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даних інструменту відмальовування Terra, флагманського супутника устрою спостереження Землі від NASA. ASTER — це підсумок спільної роботи NASA, міністерства економіки Японії, міністерства торгівлі і промисловості Японії (METI), агенції космічних систем Японії (J-spacesystems). +\nВсесвітні дані (між 70° на півночі й 70° на півдні) засновано на вимірюваннях SRTM (Shuttle Radar Topography Mission) і ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), даних інструменту відмальовування Terra, флагманського супутника устрою спостереження Землі від NASA. ASTER — це підсумок спільної роботи NASA, міністерства економіки Японії, міністерства торгівлі та промисловості Японії (METI), агенції космічних систем Японії (J-spacesystems). Горизонталі Інші мапи Тільки дороги @@ -1306,9 +1306,9 @@ Автівка Велосипед Пішки - Цей втулок задіює можливість записувати та зберігати Ваші треки вручну, торкаючись віджету записування GPX на екрані мапи, або автоматично записувати всі Ваші подорожі у файл GPX. + Цей втулок додає функцію запису та збереження ваших пересувань вручну, торканням віджету записування GPX на екрані мапи, або автоматично записувати всі ваші подорожі у файл GPX. \n -\nЗаписаними треками можна поділитись з Вашими друзями або іншими учасниками спільноти OSM. Атлети можуть використовувати записані треки для відстежування власних тренувань. Основний розбір треків наявний безпосередньо в OsmAnd, наприклад: час проходження кола, середня швидкість й т.п., звісно, записані треки можна також проаналізувати за допомогою іншого програмного забезпечення. +\nЗаписаними маршрутами можна поділитись з вашими друзями або іншими учасниками спільноти OSM. Атлети можуть користуватися записаними маршрутами для відстеження власних тренувань. Основні деталі маршрутів наявний безпосередньо в OsmAnd, наприклад: час проходження кола, середня швидкість тощо, звісно, записані маршрути, також можна проаналізувати за допомогою сторонніх інструментів. Писати трек у файл GPX Загальний запис розташування до файлу GPX можна ввімкнути або вимкнути кнопкою запис GPX на екрані з мапою. Інтервал записування @@ -1445,7 +1445,7 @@ Увімкнути Вимкнути Опис - Для встановлення цього втулку вам потрібне з’єднання з Всемережжям. + Для встановлення цього втулка вам потрібне з’єднання з Інтернетом. Отримати Цей втулок збагачує OsmAnd морськими мапами для човнів, вітрильного спорту та інших видів водних видів спорту. \n @@ -1700,7 +1700,7 @@ Зупинити симуляцію Вашої позиції. Пошук адреси Місця - Втулки + Плагіни Без приміських поїздів Уникати приміських поїздів Небезпека @@ -2242,11 +2242,11 @@ Відсортоване за відстанню Пошук у закладках Для того, щоб відобразити затінення рельєфу, потрібно завантажити спеціальну мапу для цієї області. - Щоб побачити рельєф місцевості на мапі, вам потрібно придбати та встановити втулок \'Горизонталі\' (\'Contour Lines\'). + Щоб побачити рельєф місцевості на мапі, вам потрібно придбати та встановити плагін \'Горизонталі\' (\'Contour Lines\'). Приховати від рівня масштабування Завантажте мапу \'Горизонталі\' (\'Contour Line\') для використання у цій області. Втулок - Щоб побачити горизонталі на мапі, вам потрібно придбати і встановити відповідний однойменний втулок (\'Contour Lines\'). + Щоб побачити горизонталі на мапі, вам потрібно придбати та встановити втулок \'Горизонталі\'. Схема кольорів Відображення від рівня масштабування Дозволити приватний доступ @@ -2470,7 +2470,7 @@ Натисніть цю кнопку, щоб почати або закінчити навігацію. Час буферизації для мережевого стеження Задає час буферизації для збереження місць для відправки в автономному режимі - Ви повинні бути підключені до Всемережжя для перегляду світлин від Mapillary. + Ви повинні бути підключені до Інтернету для перегляду світлин від Mapillary. Повторити Перегляньте мапу і додайте точки Вимірювання відстані @@ -2689,7 +2689,7 @@ Додати точку Зберегти як трек Редагувати дії - Отримайте OsmAnd Live, аби розблокувати всі функції: щоденні оновлення мапи з необмеженими завантаженнями, всі платні та безкоштовні втулки, Вікіпедію, Вікімандри та багато іншого. + Отримайте OsmAnd Live, аби розблокувати всі функції: щоденні оновлення мапи з необмеженими завантаженнями, всі платні та безплатні втулки, Вікіпедію, Вікімандри та багато іншого. Закладка Приховати повний опис Показати повний опис @@ -3275,7 +3275,7 @@ Впливає на весь застосунок Навігаційні вказівки та оголошення Буфер logcat - Налаштування втулка + Налаштування плагіна Усталено Розраховує час прибуття для невідомих типів доріг і обмежує швидкість для всіх доріг (може вплинути на маршрутизацію) Завантажте докладну мапу %s, щоб переглянути цю область. @@ -3480,7 +3480,7 @@ Доступні Додати власну категорію Показувати лише вночі - Усі налаштування втулка відновлено до усталеного стану. + Усі налаштування плагіна відновлено до типового стану. Усі налаштування профілю відновлено до усталеного стану. %1$s/%2$s Захід сонця о %1$s @@ -3523,9 +3523,9 @@ Укажіть назву профілю Відкрити налаштування Плагін вимкнено - Цей плагін є окремою програмою, якщо ви не плануєте користуватися ним надалі, його потрібно буде видалити окремо. + Цей втулок є окремою програмою, якщо ви не плануєте користуватися ним надалі, його потрібно буде видалити окремо. \n -\nВтулок залишиться на пристрої після видалення OsmAnd. +\nВін залишиться на пристрої після видалення OsmAnd. Меню %1$s — %2$s — %3$s Маршрутизація @@ -3617,7 +3617,7 @@ Для перегляду POI Вікіпедії на мапі потрібні додаткові мапи. Встановлення кількості елементів меню \"Скринька\", \"Налаштувати мапу\" та \"Контекстне меню\". \n -\nВимкніть непотрібні плагіни, щоби приховати всі їхні елементи керування %1$s. +\nВимкніть непотрібні втулки, щоби приховати всі їхні елементи керування %1$s. Елементи скриньки, контекстне меню Налаштування інтерфейсу Скринька From df8dd749177e0cc17e9cbaf97bae679a1da5de01 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Fri, 22 May 2020 04:50:31 +0000 Subject: [PATCH 055/509] Translated using Weblate (Italian) Currently translated at 88.9% (2973 of 3341 strings) --- OsmAnd/res/values-it/strings.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index 82d219cb9e..dc8ed9599c 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -3628,4 +3628,18 @@ Rappresenta l\'area: %1$s x %2$s \nDurante la lettura potrai cambiare fra tutte le lingue disponibili. Plugin sviluppatore Oggetti + Nascondi i trasporti pubblici + Mostra i trasporti pubblici + Mostra/nascondi i trasporti pubblici + Il pulsante mostra o nasconde nella mappa i trasporti pubblici. + Crea/Modifica PDI + Posizione di parcheggio + Aggiungi/Modifica Preferito + Ripristina l\'ordine preimpostato degli oggetti + Ritorna alla modifica + Il pulsante azione cambia fra i profili selezionati. + Aggiungi profilo + Cambia il profilo dell\'app + Non è possibile trovare alcun profilo. + Mappa mondiale generale (dettagliata) \ No newline at end of file From 62851a5ef5c1274d00d96778a4f41f98905aef40 Mon Sep 17 00:00:00 2001 From: ace shadow Date: Sat, 23 May 2020 17:53:23 +0000 Subject: [PATCH 056/509] Translated using Weblate (Slovak) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-sk/strings.xml | 98 +++++++++++++++++--------------- 1 file changed, 53 insertions(+), 45 deletions(-) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index 601dc971d2..67fbeb98f6 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -310,8 +310,7 @@ Inštalovať viac… Použiť rastrové mapy pre všetko nad touto úrovňou. Minimálna úroveň vektorového priblíženia - - Online OSM mapová klasifikácia s obrázkami. + Online OSM mapová klasifikácia s obrázkami. Nepodarilo sa vykonať offline hľadanie. Nájsť adresu pomocou polohy Systémový @@ -1477,7 +1476,7 @@ Simulovať pozíciu Zoznam Šírka %1$s -Dĺžka %2$s +\nDĺžka %2$s Často kladené otázky, nedávne zmeny a iné. Navigačné nastavenia Všeobecné nastavenia @@ -2029,7 +2028,7 @@ Dĺžka %2$s Získajte neobmedzené sťahovanie máp a aktualizácie každý týždeň, deň alebo hodinu. Neobmedzené sťahovanie máp, aktualizácií a modul Wikipédia. Míle/metre - Predplatné bude spoplatnené každý mesiac. Predplatné zrušte kedykoľvek na Google Play. + Predplatné bude spoplatnené v zvolenom intervale. Predplatné zrušte kedykoľvek na Google Play. Príspevok komunite OSM Časť príspevku bude zaslaná prispievateľom do OSM. Cena predplatného zostáva rovnaká. Predplatné umožňuje hodinové, denné, týždenné aktualizácie a neobmedzené sťahovanie máp celého sveta. @@ -2114,11 +2113,11 @@ Dĺžka %2$s Zobraziť editor Obľúbených Otvorený kód pre polohu (OLC) Neplatný kód OLC - +\n Krátky kód OLC -Prosím zadajte úplný kód +\nProsím zadajte úplný kód Platný kód OLC -Zodpovedá oblasti: %1$s x %2$s +\nZodpovedá oblasti: %1$s x %2$s Rýchla akcia Akcia %d Obrazovka %d @@ -2163,7 +2162,7 @@ Zodpovedá oblasti: %1$s x %2$s Vyberte voliteľnú kategóriu. Zoznam POI Pridať jednu alebo viac kategórií POI, ktoré sa zobrazia na mape. - Tlačidlo pre posunie zoznam dolu na ďalšiu stranu. + Tlačidlo pre posunutie zoznam dolu na ďalšiu stranu. Pridať štýl mapy Vyplňte všetky parametre Štýly mapy @@ -2246,15 +2245,17 @@ Zodpovedá oblasti: %1$s x %2$s \n • Priblíženie mapy sa prispôsobuje rýchlosti \n • Vyhľadávanie miest podľa adresy, typu (napr.: reštaurácie, hotely, čerpacie stanice, múzeá) alebo zemepisných súradníc \n • Umožňuje zadať prechodné body trasy -\n • Nahrajte alebo odošlite GPX stopu a nasledujte ju - "Mapa +\n • Nahrajte alebo odošlite GPX stopu a nasledujte ju +\n + Mapa \n • Zobrazenie POI (bodov záujmu) v okolí \n • Možnosť zobrazenia mapy v smere pohybu (alebo kompasu) \n • Zobrazovanie vašej pozície a orientácie na mape \n • Zdieľajte polohu, aby vás priatelia modli nájsť \n • Uloženie obľúbených miest \n • Môže zvoliť ako zobraziť názvy na mape: v angličtine, lokálnom jazyku alebo foneticky -\n • Umožňuje zobraziť špecializované podkladové mapy z Internetu, satelitné snímky (z Bing), rôzne prekryvné vrstvy ako turistické/navigačné GPX stopy a ďalšie vrstvy s nastaviteľnou priehľadnosťou " +\n • Umožňuje zobraziť špecializované podkladové mapy z Internetu, satelitné snímky (z Bing), rôzne prekryvné vrstvy ako turistické/navigačné GPX stopy a ďalšie vrstvy s nastaviteľnou priehľadnosťou +\n Lyžovanie \n Modul lyžiarskych máp umožňuje zobraziť náročnosť zjazdoviek a ďalšie údaje, ako poloha vlekov a iných služieb. Bicyklovanie @@ -2263,16 +2264,18 @@ Zodpovedá oblasti: %1$s x %2$s \n • Môžete vidieť rýchlosť a nadmorskú výšku \n • Nahrávanie GPX umožňuje nahrať výlet a zdieľať ho \n • Doplnkovým modulom môžete zobraziť vrstevnice a tieňovanie svahov - Prechádzky, turistika, prehliadky miest -\n • Mapy obsahujú aj cesty pre chodcov a turistov -\n • Wikipédia vo vašom jazyku vám povie veľa počas potuliek mestom -\n • Zastávky hromadnej dopravy (autobus, električka, vlak) vrátane názvov liniek -\n • GPS navigácia v režime chodca vytvorí trasu po cestách pre peších -\n • Môžete odoslať a nasledovať GPX trasu výletu alebo nahrať a zdieľať vlastné - Prispievajte do OSM -\n • Hláste chyby v mape -\n • Odosielajte GPX stopy do OSM priamo z aplikácie -\n • Pridávajte body záujmu a priamo ich odošlite do OSM (alebo neskôr, ak ste offline) + Prechádzky, turistika, prehliadky miest +\n • Mapy obsahujú aj cesty pre chodcov a turistov +\n • Wikipédia vo vašom jazyku vám povie veľa počas potuliek mestom +\n • Zastávky hromadnej dopravy (autobus, električka, vlak) vrátane názvov liniek +\n • GPS navigácia v režime chodca vytvorí trasu po cestách pre peších +\n • Môžete odoslať a nasledovať GPX trasu výletu alebo nahrať a zdieľať vlastné +\n + Prispievajte do OSM +\n • Hláste chyby v mape +\n • Odosielajte GPX stopy do OSM priamo z aplikácie +\n • Pridávajte body záujmu a priamo ich odošlite do OSM (alebo neskôr, ak ste offline) +\n OsmAnd je aktívne vyvíjaný slobodný softvér. Každý môže prispieť do aplikácie hlásením chýb, vylepšením prekladu alebo programovaním nových funkcií. Projektu tiež závisí od finančných príspevkov na vývoj a testovanie nových funkcií. \n Približná kvalita pokrytia máp: \n • Západná Európa: **** @@ -2299,7 +2302,8 @@ Zodpovedá oblasti: %1$s x %2$s \n • Voliteľné navádzanie v jazdných pruhoch, zobrazenie názvov ulíc a odhadovaný čas do cieľa \n • Umožňuje zadať prechodné body trasy \n • Automatické prepočítanie trasy ak sa odchýlite z trasy -\n • Vyhľadávanie miest podľa adresy, typu (napr.: reštaurácie, hotely, čerpacie stanice, múzeá) alebo zemepisných súradníc +\n • Vyhľadávanie miest podľa adresy, typu (napr.: reštaurácie, hotely, čerpacie stanice, múzeá) alebo zemepisných súradníc +\n Zobrazenie mapy \n • Zobrazovanie vašej pozície a orientácie na mape \n • Možnosť otočenia mapy v smere pohybu podľa kompasu @@ -2316,18 +2320,19 @@ Zodpovedá oblasti: %1$s x %2$s \n • Kompaktné vektorové offline mapy \n \n • Možnosť voľby medzi kompletnými mapami alebo len cestnou sieťou (napr. celé Japonsko má 700 MB, jeho cestná sieť iba 200 MB) - "Bezpečnostné funkcie + Bezpečnostné funkcie \n • Voliteľné automatické prepínanie medzi denným a nočným režimom \n • Voliteľné zobrazenie povolenej rýchlosti s upozornením na jej prekročenie \n • Voliteľné približovanie mapy podľa rýchlosti -\n • Zdieľajte vašu polohu s priateľmi, aby vás mohli nájsť " - "Funkcie pre cyklistov a chodcov +\n • Zdieľajte vašu polohu s priateľmi, aby vás mohli nájsť +\n + Funkcie pre cyklistov a chodcov \n • Mapy obsahujú aj cesty pre chodcov, turistov a cyklistov - vhodné pre aktivity v prírode \n • Špeciálne režimy zobrazenia a navigácie pre chodcov a cyklistov \n • Voliteľné zobrazenie zastávok hromadnej dopravy (autobus, električka, vlak) vrátane názvov liniek \n • Voliteľné nahrávanie výletu do GPX súboru (lokálneho alebo online služby) \n • Voliteľné zobrazenie rýchlosti a nadmorskej výšky -\n • Zobrazenie vrstevníc a tieňovania svahov (s doplnkovými modulmi) " +\n • Zobrazenie vrstevníc a tieňovania svahov (s doplnkovými modulmi) Prispievajte priamo do OpenStreetMap \n • Hláste chyby v údajoch \n • Odosielajte GPX stopy do OSM priamo z aplikácie @@ -2335,7 +2340,7 @@ Zodpovedá oblasti: %1$s x %2$s \n • Voliteľné nahrávanie výletu na pozadí (keď je zariadenie v režime spánku) \n OsmAnd je aktívne vyvíjaný slobodný softvér. Každý môže prispieť do aplikácie hlásením chýb, vylepšením prekladu alebo programovaním nových funkcií. Projekt tiež závisí od finančných príspevkov na vývoj a testovanie nových funkcií. \n - "Približná kvalita pokrytia máp: + Približná kvalita pokrytia máp: \n • Západná Európa: **** \n • Východná Európa: *** \n • Rusko: *** @@ -2346,8 +2351,9 @@ Zodpovedá oblasti: %1$s x %2$s \n • Blízky Východ: ** \n • Afrika: ** \n • Antarktída: * -\n Väčšina krajín sveta je k dispozícii na stiahnutie! -\n Od Afganistanu po Zimbabwe, od Austrálie po USA. Argentína, Brazília, Kanada, Francúzsko, Nemecko, Mexiko, Spojené kráľovstvo, Španielsko, Slovensko, … " +\n Väčšina krajín sveta je k dispozícii na stiahnutie. +\n Od Afganistanu po Zimbabwe, od Austrálie po USA. Argentína, Brazília, Kanada, Francúzsko, Nemecko, Mexiko, Spojené kráľovstvo, Španielsko, Slovensko, … +\n Obnoviť nákupy Hĺbkové vrstevnice (izobaty) a značky v moriach. Ďakujeme za zakúpenie \"Námorných hĺbkových vrstevníc\" @@ -3410,7 +3416,7 @@ Zodpovedá oblasti: %1$s x %2$s Ikona, farba a názov Upraviť zoznam profilov Zvolený profil - Stlačením %1$s zahodíte všetky vaše zmeny. + Stlačenie %1$s zahodí všetky vaše zmeny. Resetovať všetky nastavenia profilu do východzieho stavu. Resetovať všetky nastavenia profilu\? %1$s: %2$s @@ -3472,7 +3478,7 @@ Zodpovedá oblasti: %1$s x %2$s %1$s/%2$s Západ slnka o %1$s Východ slnka o %1$s - Režim uľahčenia prístupu je na tomto systéme vypnutý. + Režim uľahčenia prístupu je vo vašom Androide vypnutý. Použiť systémový časový limit obrazovky Predvolene vypnuté, ak OsmAnd beží v popredí, obrazovka nezhasne. \n @@ -3536,10 +3542,10 @@ Zodpovedá oblasti: %1$s x %2$s Navigácia Vlastný štýl vykresľovania Zahrnúť dodatočné údaje - Importovaný profil obsahuje dodatočné údaje. Kliknite Import pre importovanie len údaje profilu alebo zvoľte, ktoré dodatočné údaje majú byť importované. + Importovaný profil obsahuje dodatočné údaje. Kliknite \"Import\" pre importovanie len údajov profilu, alebo zvoľte dodatočné údaje. Môžete zvoliť dodatočné údaje na importovanie spolu s profilom. Antarktída - Vypnúť prepočítavanie + Žiadne prepočítavanie Minimálna vzdialenosť pre prepočítanie trasy Trasa bude prepočítaná ak vzdialenosť od trasy je väčšia ako uvedený parameter Zobrazený %1$s už existuje v OsmAnd. @@ -3584,7 +3590,7 @@ Zodpovedá oblasti: %1$s x %2$s Trasa bude prepočítaná ak vzdialenosť od trasy k aktuálnej polohe je väčšia ako zvolená hodnota. %1$s z %2$s Svahy - Zobraziť/skryť terén + Zobraziť / skryť terén Skryť terén Zobraziť terén Tlačidlo pre zobrazenie alebo skrytie vrstvy terénu na mape. @@ -3612,9 +3618,9 @@ Zodpovedá oblasti: %1$s x %2$s Niektoré články Wikipedia nemusia byť dostupné vo vašom jazyku. Zvoľte jazyky, v ktorých sa články Wikipedia budú zobrazovať na mape. \nPri čítaní článku budete môcť prepínať medzi všetkými dostupnými jazykmi. Pre zobrazenie bodov Wikipedie na mape sú potrebné ďalšie mapy. - Upraviť počet položiek v Úvodnom paneli, Nastaviť mapu a Kontextovom menu. -\n -\nMôžete vypnúť nepoužívané moduly, aby sa skryli ich ovládacie prvky z aplikácie %1$s. + Upraviť počet položiek v \"Úvodnom paneli\", \"Nastaviť mapu\" a \"Kontextovom menu\". +\n +\nVypnite nepoužívané moduly pre skrytie ich ovládacích prvkov. %1$s. Položky v úvodnom paneli a kontextovom menu Prispôsobenie používateľského rozhrania Úvodný panel @@ -3625,7 +3631,7 @@ Zodpovedá oblasti: %1$s x %2$s Skryté Tieto položky sú skryté z menu, ale ich možnosti a moduly zostanú funkčné. Skrytie nastavení ich resetuje do pôvodného stavu. - \"Hlavné akcie\" obsahujú len 4 tlačidlá. + Obsahuje len 4 tlačidlá. Hlavné akcie Môžete presúvať položky len v rámci tejto kategórie. Doplnok pre vývojárov @@ -3669,7 +3675,7 @@ Zodpovedá oblasti: %1$s x %2$s \n \n Vaše predplatné môžete spravovať a zrušiť v nastaveniach Google Play. Hľadať typy bodov záujmu - Skombinovať typy bodov záujmov z rôznych kategórií. Stlačte \"Prepnúť\" pre zvolenie všetkých, stlačte ľavú stranu pre výber kategórií. + Skombinovať typy bodov záujmov z rôznych kategórií. Stlačenie \"Prepnúť\" vyberie všetky, stlačenie ľavej strany vyberie kategóriu. Stopovanie OsmAnd OsmAnd + Mapillary Rýchla akcia @@ -3680,13 +3686,13 @@ Zodpovedá oblasti: %1$s x %2$s Obľúbené Predplatné - OsmAnd Live Nákupy v OsmAnd - Sprievodca symbolmi na mape + Sprievodca symbolmi na mape. Navigačné profily • Nové offline mapy svahov \n \n • Plné prispôsobenie Obľúbených a bodov GPX – vlastné farby, ikony a tvary \n -\n • Možnosť prispôsobenia poradia položiek v kontextovom menu, nastavení mapy a úvodnom paneli +\n • Možnosť prispôsobenia poradia položiek v \"kontextovom menu\", \"Nastavenie mapy\" a \"Úvodnom paneli\" \n \n • Wikipédia ako samostatná vrstva v nastavení mapy, možnosť vybrať iba potrebné jazyky \n @@ -3703,16 +3709,18 @@ Zodpovedá oblasti: %1$s x %2$s \n Skryť verejnú dopravu Zobraziť verejnú dopravu - Zobraziť/skryť verejnú dopravu + Zobraziť / skryť verejnú dopravu Tlačidlo na zobrazenie alebo skrytie verejnej dopravy na mape. - Vytvoriť/Upraviť bod záujmu + Vytvoriť / Upraviť bod záujmu Parkovacie miesta Pridať / Upraviť obľúbený bod Obnoviť predvolené poradie položiek Naspäť k úpravám K týmto akciám sa dostanete stlačením tlačidla “%1$s”. - Stlačením tlačidla akcie sa prepne medzi zvolenými profilmi. + Tlačidlo akcie prepne medzi zvolenými profilmi. Pridať profil Zmeniť aplikačný profil - Nenašli sa profily vybrané pre túto akciu. + Nenašli sa žiadne vhodné profily. + Prehľadová mapa sveta (detailná) + Nepodporovaný typ \ No newline at end of file From 38656de0c56ae42523389165b2b9b4c27217e0a7 Mon Sep 17 00:00:00 2001 From: Piotr Kubowicz Date: Sat, 23 May 2020 14:45:08 +0000 Subject: [PATCH 057/509] Translated using Weblate (Polish) Currently translated at 99.4% (3322 of 3341 strings) --- OsmAnd/res/values-pl/strings.xml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 7f4fd9466e..489c16a393 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -1181,7 +1181,7 @@ Adresy krajowe Podstawowa mapa świata Światowa mapa tras narciarskich - Komunikaty głosowe wstrzymają odtwarzanie muzyki. + Komunikaty głosowe zatrzymają odtwarzanie muzyki. Przerywanie muzyki Zawsze wyśrodkowane położenie Głos @@ -1263,7 +1263,7 @@ Rozpocznij śledzenie online Zakończ śledzenie online Kontynuuj rejestrowanie śladu - Wstrzymaj rejestrowanie śladu + Zatrzymaj rejestrowanie śladu Rozpocznij nowy segment Budynki Trasy niedostępne dla aut @@ -1293,7 +1293,7 @@ Pieszo Różne kolory typów budynków Kontynuuj nawigację - Wstrzymaj nawigację + Zatrzymaj nawigację Klasyfikacja trudności wspinaczki alpinistycznej (SAC) Renderuj ścieżki zgodnie ze skalą SAC. Szlaki turystyczne @@ -2070,7 +2070,7 @@ Długość %2$s Oczekując Świąt Bożego Narodzenia i Nowego Roku, możesz włączyć wyświetlanie użytecznych miejsc związanych ze Świętami: choinki, jarmarki, itp. Wyświetlać świąteczne miejsca? Kontynuuj - Wstrzymaj + Zatrzymaj Ślad Zarejestrowany Rejestruj @@ -2368,7 +2368,7 @@ Reprezentuje obszar: %1$s x %2$s Podjazd/zjazd Czas w ruchu Maks./min. - Wstrzymaj/wznów nawigację + Zatrzymaj/wznów nawigację Przycisk do wstrzymania lub wznowienia nawigacji. Rozpocznij/zakończ nawigację Przycisk rozpoczęcia lub zakończenia nawigacji. @@ -3270,7 +3270,7 @@ Reprezentuje obszar: %1$s x %2$s Konfiguruje nawigację Alerty będą wyświetlane w lewym dolnym rogu podczas nawigacji. Przywróć ustawienia domyślne - Konfiguruje opcje działające w całej aplikacji + Konfiguruje opcje dotyczące całej aplikacji Włącz ekran Mapa podczas nawigacji Mapa podczas nawigacji @@ -3480,7 +3480,7 @@ Reprezentuje obszar: %1$s x %2$s Dźwięk migawki aparatu Przywrócenie domyślnej kolejności sortowania spowoduje przywrócenie porządku sortowania do stanu domyślnego po instalacji. Tryb ułatwień dostępu wyłączony w twoim systemie. - Użyj czasu wyświetlania ekranu systemowego + Wygaś ekran zgodnie z ustawieniami systemu Wyczyść zarejestrowane dane - Profile: teraz można zmienić kolejność, ustawić ikonę dla mapy, zmienić wszystkie ustawienia dla profili bazowych i przywrócić je do domyślnych ustawień. \n @@ -3728,4 +3728,6 @@ Reprezentuje obszar: %1$s x %2$s Miejsca parkingowe Przywróć domyślną kolejność elementów Nie znaleziono profili wybranych dla tej czynności. + Mapa przeglądowa świata (szczegółowa) + Nieobsługiwany typ \ No newline at end of file From afbbcaca429b0313f1be505e46cd1f4d0359d1a4 Mon Sep 17 00:00:00 2001 From: Rex_sa Date: Sat, 23 May 2020 08:51:43 +0000 Subject: [PATCH 058/509] Translated using Weblate (Arabic) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ar/strings.xml | 93 ++++++++++++++++++++------------ 1 file changed, 60 insertions(+), 33 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 758561c2a9..06d8831200 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -419,7 +419,8 @@ مساء صباحاً مكان للوقوف - يساعد هذا الملحق بحفظ الأماكن التي ركنت بها سيارتك والوقت المتبقي للركن (في حالة وجود وقت محدد). كل من المكان والزمن متواجدان على لوحة التحكم وكذلك في المؤشرات على شاشة الخريطة. يمكن إضافة منبه إلى التقويم للتذكير. + يساعد هذا الملحق بحفظ الأماكن التي ركنت بها سيارتك والوقت المتبقي للركن (في حالة وجود وقت محدد). +\nكل من المكان والزمن متواجدان على لوحة التحكم وكذلك في المؤشرات على شاشة الخريطة. يمكن إضافة منبه إلى التقويم للتذكير. مكان الموقف موقف السيارة احذف علامة وقوف السيارات @@ -498,12 +499,10 @@ تركيز تلقائي التركيز البؤري نوع الكاميرا - * بعد بدء التعديل: -\n المس الخريطة لوضع نقطة. -\n اضغط باستمرار على الخريطة -\n لحذف النقطة السابقة. * بعد إنهاء العديل: -\n استمر بالضغط على نقطة أو على -\n خط القياس للمزيد من الخيارات. + * انقر لتحديد نقطة. +\n  * اضغط لفترة طويلة على الخريطة لحذف النقطة السابقة. +\n  * اضغط لفترة طويلة على نقطة لعرض وإرفاق الوصف. +\n  * اضغط على أداة القياس لمعرفة المزيد من الإجراءات. طبقة التضاريس طبقة التضاريس بيانات الخطوط المحيطية @@ -549,7 +548,8 @@ اختيار المسار النشط الحالي اختيار مسار محفوظ تذكر اختياري - إجمالي الذاكرة الأصلية المخصصة من قبل التطبيق %1$s م.ب (دلفيك %2$s م.ب, أخرى %3$s م.ب). الذاكرة النسبية %4$s م.ب (حد الأندرويد %5$s م.ب, دلفيك %6$s م.ب). + إجمالي الذاكرة الأصلية المخصصة من قبل التطبيق %1$s م.ب (دلفيك %2$s م.ب, أخرى %3$s م.ب). +\nالذاكرة النسبية %4$s م.ب (حد الأندرويد %5$s م.ب, دلفيك %6$s م.ب). مشي دراجة نارية قارب @@ -589,10 +589,8 @@ \n يجري تطوير أوسماند بنشاط ويعتمد مشروعنا والتقدم المستمر على المساهمات المالية لتطوير واختبار وظائف جديدة. يرجى النظر في شراء أوسماند+ ، أو تمويل ميزات جديدة محددة أو تقديم تبرع عام على https://osmand.net. عن طريق هذه الأداة يمكنك الوصول إلى أنواع عديدة من خرائط النت (تدعى بالقطع أو النقطية)، من قطع OSM مسبقة ( مثل Mapnik) إلى صور أقمار وطبقات مخصصة كخرائط الطقس، الخرائط الجيولوجية، طبقات التضاريس...إلخ. \n -\n \nكل من هذه الخرائط يمكن أن تستخدم إما كخرائط رئيسية (قاعدية) تظهر على واجهة التطبيق، أو كطبقة فوقية أو تحتية لخريطة قاعدية آخرى( كخرائط التطبيق المحلية). لجعل أي طبقة تحتية خريطة أكثر وضوحا، بعض عناصر خرائط التطبيق التوجيهيه يمكن إخفاءها في قائمة \'ضبط الخريطة\' حسب الرغبة. \n -\n \nأجزاء الخرائط يمكن الحصول عليها من مصادر إنترنت، أو تحضيرها للإستخدام دون إنترنت ( ونسخها يدويا إلى مجلد بيانات التطبيق) كقاعدة بيانات SQLite والتي يمكن إنتاجها عن طريق مجموعة متنوعة من أدوات تحضير الخرائط المستقلة. التغييرات POI داخل التطبيق لا تؤثرعلى ملفات الخرائط المحملة، يتم حفظ التغييرات إلى ملف محلي بدلا من ذلك. وضع تركيز الكاميرا: @@ -630,7 +628,8 @@ حالة وضع السكون استخدمها لتشغيل أوسماند عندما تكون الشاشة مُطفأة. لا يوجد مساحة كافية لتحميل %1$s م.ب المساحة الخالية: %2$s. - تحميل {0} ملف ؟ مساحة التخزين المستخدمة هي {1} مب (المساحة المتوفرة هي {2} مب). + تحميل {0} ملف(ات) ؟ +\n مساحة التخزين المستخدمة هي {1} مب (المساحة المتوفرة هي {2} مب). السمة الشفافة المكتبات الأصيلة غير مدعومة على هذا الجهاز. تهيئة المكتبة الأصيلة… @@ -726,7 +725,9 @@ عكس المسار استخدم الوجهة الحالية يمر على طول المسار باكمله - فعل الخريطة المحملة من: الضبط ثم مصدر الخريطة. + "خريطة التنقل المتوفرة حاليا لهذا الموقع. +\n +\nلتفعليها \'القائمة\' → \'تكوين الخريطة\' → \'مصدر الخريطة ...\' → \'خرائط متجهة بدون اتصال\'." مصدر التوجيه الصوتي اختيار قناة لتشغيل التوجيه الصوتي. صوت المكالمة الهاتفية ( كما يحاول قطع ستريو بلوتوث السيارة ) @@ -773,7 +774,8 @@ ميل ساعة ميل شارك المكان باستخدام - الموقع : %1$s %2$s + الموقع: %1$s +\n%2$s إتبع رابط متصفح الويب لمشاهدة المكان %1$s أو استعمل رابط أندرويد الخاص %2$s إرسال الموقع مشاركة المكان @@ -934,7 +936,8 @@ زيارة بعد زيارة قبل محاكاة تخيلية - N %1$s E %2$s + خط العرض %1$s +\nخط الطول %2$s الأسئلة الشائعة، التغييرات الحديثة، وأخرى. إعدادات الملاحة إعدادات عامة @@ -1029,7 +1032,9 @@ فشل في إعادة التسمية. عودة إلى الخريطة شارك ملاحظة - الموقع : N %1$s E %2$s + الموقع: +\n Lat %1$s +\n Lon %2$s ملاحظات خريطة إنترنت الطرق فقط @@ -1493,7 +1498,10 @@ أقل مهلة بين الاخطارات. الخريطة مرتبطة بالموقع عريض - المستخدم المجهول لا يمكنه : - إنشاء مجموعة; - مزامنة المجموعات والأجهزة مع السيرفر; - إدارة المجموعات والأجهزة من خلال لوحة تحكم خاصة على الموقع. + المستخدم المجهول لا يمكنه : +\n- إنشاء مجموعة; +\n- مزامنة المجموعات والأجهزة مع السيرفر; +\n- إدارة المجموعات والأجهزة من خلال لوحة تحكم خاصة على الموقع. تطبيق الملاحة أوسماند خطأ أثناء تحميل البيانات من الخادم. تحديث البيانات المحلية عبر الإنترنت ؟ @@ -1598,7 +1606,9 @@ نحن بحاجة اليه لكي نوفر لك معلومات حول المساهمات. حدد علامة الخريطة عرض شريط الشفافية - المساحة غير كافية! المساحة المطلوبة {3} م.ب مؤقتاً {1} م.ب دائمة المتوفر {2} م.ب + لا توجد مساحة كافية! +\n {3} MB مطلوب مؤقتا ، {1} ميجا بايت بشكل دائم. +\n (فقط {2} ميغابايت المتاحة.) نقطة الانطلاق الصوت حذف @@ -1747,7 +1757,8 @@ الدخول عبر الخريطة عرض عند البدء التأثير النسبي - تحميل {0} ملف؟ مساحة التخزين المستخدمة هي {3} مب مؤقتة، {1} مب دائمة. (المساحة المتوفرة هي {2} مب.) + تحميل {0} ملف؟ +\nمساحة التخزين المستخدمة هي {3} مب مؤقتة، {1} مب دائمة. (المساحة المتوفرة هي {2} مب.) مسافة المسلك خطأ تحيين القائمة المحلية لPOI. تحيين الPOI @@ -1900,7 +1911,9 @@ أوسماند ليس لديه إذن لاستخدام ذاكرة البطاقة هل تريد حقا حفظ POI بدون تحديد نوعه؟ هناك خيار جديد لتحكم بشكل مرن بالتطبيق عبر لوحة القياس أو القائمة الثابتة. اختيارك يمكن تغييره دائما في إعدادات لوحة القياس. - ملاحة أوسماند دون نت ميزة تجريبية وهي لا تعمل لمسافات تزيد عن 20 كم. خدمة الملاحة حولت مؤقتا إلى CloudMade على الإنترنت. + ملاحة أوسماند دون نت ميزة تجريبية وهي لا تعمل لمسافات تزيد عن 20 كم. +\n +\n خدمة الملاحة حولت مؤقتا إلى CloudMade على الإنترنت. إصدار {0} تثبيت بنجاح ({1}). جار تحميل الإصدار… هل تريد تثبيت أوسماند - {0} من {1} {2} مب ؟ @@ -1973,7 +1986,8 @@ البيانات الصوتية المحددة تالفة بطاقة الذاكرة غير متاحة. \nلن تكون قادرا على رؤية الخرائط أو العثور على أماكن. - بطاقة الذاكرة في وضع القراءة فقط. يمكنك فقط مشاهدة الخريطة المحملة مسبقا ولا يمكنك التحميل من الإنترنت. + بطاقة الذاكرة في وضع القراءة فقط. +\n يمكنك فقط مشاهدة الخريطة المحملة مسبقا ولا يمكنك التحميل من الإنترنت. انعطف يميناً بشكل حاد انعطف يساراً بشكل حاد قم بالدوران وواصل @@ -1982,7 +1996,8 @@ المسار اللاحق للرحلة حساب الجزء الأول فقط من الطريق للرحلات الطويلة. إلغاء - خرائط محلية وملاحة + خرائط محلية +\nوملاحة إنشاء إحداثية POI عدد الصفوف في الدفعة %1$s سيتم حذف POI بمجرد إرسال التعديلات @@ -2107,8 +2122,7 @@ إضافة للمفضلة إضافة إجراء حذف إجراء - هل تريد حذف الإجراء -\n \"%s\" ؟ + هل تريد حذف الإجراء \"%s\" ؟ اسم الإجراء إضافة خطأ إلى OSM عرض مربع حوار الأماكن المفضلة @@ -2165,7 +2179,8 @@ قم بالضغط على الزر لفترة أطوَل ثم اسحبه لتغيير مكانه على الشاشة. معالم العمق البحري تقسيم المسارات آلياً إلى أجزاء بعد كل فراغ - تقصير رمز التموضع المفتوح يُرجى تقديم رمزٍ كامل + تقصير رمز التموضع المفتوح +\n يُرجى تقديم رمزٍ كامل اسم الإجراء السريع مكرر سوف تكون تتمة هذه الرسالة تلقائية في المجال المخصص للتعليق. مجلد جديد @@ -2314,7 +2329,9 @@ بدء مقطع جديدة بعد فارق 6 دقائق، مسار جديد بعد فارق 2 ساعة، أو ملف جديد بعد فارق أطول إذا تغير التاريخ. متوقف مؤقتاً قد يكون المسار طويلا جداً للحساب. يرجى إضافة وجهات وسطى إذا لم يتم العثور على نتيجة خلال 10 دقائق. - أوسماند(توجيهات OSM للتنقل الآلية) تطبيق خريطة وتنقل مع إمكانية الوصول إلى بيانات (OSM) مجاناً وفي جميع أنحاء العالم، وبجودة عالية. استمتع بمستكشف بالصوت والصورة، وعرض POI (نقاط الاهتمام)، إنشاء وإدارة مسارات GPX، استخدام عرض ارتفاع بيانات الخطوط الكنتورية (عن طريق المكون)، اختيار بين نمط القيادة، ركوب الدراجات والمشاة، التعديل على الموقع وغيرها. + أوسماند(توجيهات OSM للتنقل الآلية) تطبيق خريطة وتنقل مع إمكانية الوصول إلى بيانات (OSM) مجاناً وفي جميع أنحاء العالم، وبجودة عالية +\n +\n. استمتع بمستكشف بالصوت والصورة، وعرض POI (نقاط الاهتمام)، إنشاء وإدارة مسارات GPX، استخدام عرض ارتفاع بيانات الخطوط الكنتورية (عن طريق المكون)، اختيار بين نمط القيادة، ركوب الدراجات والمشاة، التعديل على الموقع وغيرها. التنقل عبر GPS \n• يمكنك أن تختار بين وضع دون اتصال (لا رسوم تجوال عندما تكون في الخارج) أو بالإنترنت (أسرع) \n• التوجيه الصوتي بالتفصيل يوجهك طوال الطريق (مسجل أو مدرج) @@ -2365,14 +2382,20 @@ \n• أنتاركتيكا: * \nمعظم البلدان في جميع أنحاء العالم متاحة للتحميل! \nاحصل على برنامج تنقل موثوق به في بلدك - سواءاً في فرنسا، ألمانيا، المكسيك، المملكة المتحدة، إسبانيا، هولندا، الولايات المتحدة الأمريكية، روسيا، البرازيل أو أي دولة أخرى. - أوسماند بلس (توجيهات OSM للملاحة الآلية) تطبيق خريطة وملاحة مع إمكانية الوصول إلى بيانات الموقع (OSM) مجاناً وفي جميع أنحاء العالم، وبجودة عالية. استمتع بالملاحة بصوت والصورة، عرض النقاط المهمة حولك (POI)، وإنشاء وإدارة مسارات GPX باستخدام معلومات عن تصور وعلو الخطوط الكنتورية، خياراً بين القيادة، ركوب الدراجات، وضع المشاة، التعديل على OSM وأكثر من ذلك بكثير. أوسماند بلس هو إصدار للتطبيق مدفوع الأجر. قبل شرائه، ادعم المشروع، مول تطوير الميزات الجديدة واحصل على آخر التحديثات. بعض الميزات الرئيسية: + أوسماند بلس (توجيهات OSM للملاحة الآلية) تطبيق خريطة وملاحة مع إمكانية الوصول إلى بيانات الموقع مجاناً وفي جميع أنحاء العالم، وبجودة عالية. +\n +\nاستمتع بالملاحة بصوت والصورة، عرض النقاط المهمة حولك (POI)، وإنشاء وإدارة مسارات GPX باستخدام معلومات عن تصور وعلو الخطوط الكنتورية، خياراً بين القيادة، ركوب الدراجات، وضع المشاة، التعديل على OSM وأكثر من ذلك بكثير. +\n +\nأوسماند بلس هو إصدار للتطبيق مدفوع الأجر. قبل شرائه، ادعم المشروع، بتمويل لتطوير الميزات الجديدة والحصول على آخر التحديثات. +\n +\n بعض الميزات الرئيسية: الملاحة \n• يعمل على الإنترنت (سريع) أو في وضع غير متصل (لا رسوم تجوال خارج الوطن) \n• توجيه صوتي بالتفصيل (الأصوات المسجلة أو مدرجة) \n• موجه مسار اختياري، عرض اسم الشارع، والوقت المقدر للوصول \n• يدعم نقاط وسيطة خلال مسارك \n• إعادة تلقائية للتوجيه كلما انحرفت عن الطريق -\n• البحث عن الأماكن حسب العنوان، النوع (مثل: مطعم، فندق، محطة وقود، متحف)، أو حسب الإحداثيات الجغرافية +\n• البحث عن الأماكن حسب العنوان، النوع (مثل: مطعم، فندق، محطة وقود، متحف)،أو حسب الإحداثيات الجغرافية عرض الخريطة \n• عرض موقعك والتوجيه \n• محاذاة اختيارية للصورة وفق البوصلة أو توجيه الحركة @@ -2712,14 +2735,14 @@ اختر المدينة أولاً استعادة تطبيق من طرف ثالث - عند التفعيل ستبقى العلامات المضافة من مجموعة إحداثيات أو من نقاط طريق على الخريطة عند اختيار \"علامة مُجتازة\". -\n إذا كانت المجموعة غير نشطة ستختفي العلامات من الخريطة. + عند التفعيل ستبقى العلامات المضافة من مجموعة إحداثيات أو من نقاط طريق على الخريطة عند اختيار \"علامة مُجتازة\". إذا كانت المجموعة غير نشطة ستختفي العلامات من الخريطة. إبقاء العلامات المتجاوزة على الخريطة هناك المزيد من وسائل النقل في هذا الموقف. يرجى إعطاء إذن تحديد الموقع للتطبيق لكي يواصل. شكرا على الرد النقطة أو الطريق غير موجود. - لايوجد نتائج للبحث؟ أخبرنا برأيك + لايوجد نتائج للبحث؟ +\nأخبرنا برأيك زيادة نصف قطر البحث إلى %1$s إرسال استفسار البحث؟ العالم @@ -3233,7 +3256,9 @@ حرك يدك أعلى الشاشة لتشغيلها أثناء التنقل. تحديثات الخريطة الشهرية تحديثات الخريطة كل ساعة - سيتم إرسال استعلام البحث إلى: \"%1$s\" ، بالإضافة إلى موقعك. لا يتم جمع المعلومات الشخصية ، فقط بيانات البحث اللازمة لتحسين البحث. + سيتم إرسال استعلام البحث إلى: \"%1$s\" ، بالإضافة إلى موقعك. +\n +\nلا يتم جمع المعلومات الشخصية ، فقط بيانات البحث اللازمة لتحسين البحث. لامركبة ترام تجنب مركبة الترام لا يوجد حافلات @@ -3257,7 +3282,9 @@ عرض الإحداثيات سياسة الخصوصية ساعدنا في جعل أوسماند أفضل - السماح لأوسماند بجمع بيانات استخدام التطبيقات المجهولة ومعالجتها. نحن لا نجمع أو نخزن بيانات عن موقعك ، أو أي مواقع تقوم بعرضها علي الخريطة. + السماح لـ OsmAnd بجمع ومعالجة بيانات استخدام التطبيق المجهول. لا يتم جمع بيانات حول موقعك أو المواقع التي تعرضها على الخريطة. +\n +\nقم بإعدادها في أي وقت لاحق في \'الإعدادات\' → \'الخصوصية والأمان\'. اختر نوع البيانات التي تريد مشاركتها: الخرائط التي تم تنزيلها الشاشات المزارة @@ -3688,5 +3715,5 @@ تغيير ملف تعريف التطبيق لم يتم العثور على ملفات التعريف المحددة لهذا الإجراء. خريطة عامة للعالم (تفصيلية) - نوع غير مدعوم + نوع غير معتمد \ No newline at end of file From 70354fd8cb17a0d4eff741779faf94e0dc701e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 21 May 2020 04:03:57 +0000 Subject: [PATCH 059/509] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 8.5% (286 of 3341 strings) --- OsmAnd/res/values-nb/strings.xml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 8557eab8df..6f180742de 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3513,7 +3513,7 @@ En knapp for å vise eller skjule terrenglag på kartet. Handlinger i bindeleddsmeny Skjult - Hovedhandlinger inneholder kun 4 knapper. + Har kun fire knapper. Hovedhandlinger Du kan kun flytte elementer innenfor denne kategorien. Utvikler-tillegg @@ -3552,7 +3552,7 @@ Legg til/rediger interessepunkt Vis/skjul offentlig transport Legg til profil - En knapp for å vise eller skjule offentlig transport på kartet. + Knapp for vising eller skjuling av offentlig transport på kartet. Direkte-til-punkt Tøm lagret data Inkluder ytterligere data @@ -3611,4 +3611,17 @@ Gjenopprett forvalgt elementrekkefølge Fant ingen slike profiler. Verdensoversiktskart (detaljert) + Sjekk og del detaljert loggføring fra programmet + Bruk systemets skjermtidsavbrudd + Programtillegg av + Ingen omregning + Angi et navn for profilen + Velg data å importere. + Du kan lese mer om løyper i %1$s. + Omarranger eller skjul elementer fra %1$s. + Elementer under dette punktet er inndelt av en skillelinje. + Skjuling av innstillinger tilbakestiller dem til forvalg. + Skigåing + Ustøttet type + Velg hvor mye avviksdistanse som skal utløse omruting. \ No newline at end of file From 47fe09a05b33a931e5478a7d139e35691a8b3645 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Fri, 22 May 2020 15:39:09 +0000 Subject: [PATCH 060/509] Translated using Weblate (Basque) Currently translated at 97.2% (3249 of 3341 strings) --- OsmAnd/res/values-eu/strings.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index bea71fd6e6..2ac310ee14 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -3632,4 +3632,15 @@ Area honi dagokio: %1$s x %2$s Kolore pertsonalizatua Mapa gehigarriak onartu gabeko ekintza %1$s + Sortu / aldatu POIa + Aparkaleku-posizioak + Gehitu / aldatu gogokoa + Berrezarri lehenetsitako ordena + Itzuli ediziora + Ekintza botoiak hautatutako profilen artean txandakatzen du. + Gehitu profila + Aldatu aplikazioaren profila + Ezin izan dira profil horiek aurkitu. + Munduaren gainbegirada mapa (xehetsua) + Onartu gabeko mota \ No newline at end of file From 9fc0af3a7ea4bd1b3fcf67fc51687cba43a7df09 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Thu, 21 May 2020 20:29:29 +0000 Subject: [PATCH 061/509] Translated using Weblate (Sardinian) Currently translated at 99.5% (3326 of 3341 strings) --- OsmAnd/res/values-sc/strings.xml | 61 ++++++++++++++++---------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index bdb32f0e7c..01d36698db 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2034,7 +2034,7 @@ Retzi indicatziones e iscoberi logos noos chene una connessione a ìnternet Retzi pro %1$s Iscàrriga iscarrigamentos de mapas chene lìmites e agiornamentos pro cada chida, cada die o fintzas cada ora. - Costu mensile de s\'abbonamentu. Podes iscantzellare s\'iscritzione tua in Google Play cando boles. + Costu periòdicu de s\'abbonamentu. Lu podes anullare in Google Play cando boles. Donatzione a sa comunidade de OpenStreetMap Parte de sa donatzione tua benit imbiada a sos impreadores chi faghent modìficas in OpenStreetMap. Su costu de iscritzione abarrat su matessi. S\'iscritzione abilitat agiornamentos cada ora, die o chida e sa possibilidade de iscarrigare totu sas mapas chene lìmites. @@ -3137,7 +3137,7 @@ Muda sas impostatziones predefinidas de lestresa Imposta sa lestresa mìnima/màssima Profilu nou - Errore + Serradura arrepente S\'ùrtima sessione de OsmAnd s\'est serrada. Pro praghere agiuda·nos a megiorare OsmAnd cumpartzende su messàgiu de errore. OVNI (UFO) • Profilos de s\'aplicatzione: crea unu profilu personalizadu pro sas netzessidades tuas, cun un\'icona e unu colore personalizados @@ -3487,7 +3487,7 @@ Arbèschida a sas %1$s Custu at a registrare petzi sos puntos medidos cun un\'acuradesa mìnima indicada (in metros/pees, comente benit sinnaladu dae Android pro su chipset tuo). S\'acuradesa si riferit a sa dispersione de movimentos torrados a repìtere, e no est ligada diretamente a sa pretzisione, chi definit canto sa medida tua est a curtzu a sa positzione bera tua. Ripristinende sos valores predefinidos as a torrare a impostare s\'istadu predefinidu a pustis de s\'installatzione. - Sa modalidade de atzessibilidade est disabilitada in su sistema tuo. + Sa modalidade de atzessibilidade est istudada in su sistema Android tuo. Imprea su tempus de isetu de s\'ischermu de su sistema Disabilitadu in sas impostatziones predefinidas. Si OsmAnd est traballende in primu pranu, s\'ischermu non s\'at a mòrrere. \n @@ -3497,7 +3497,7 @@ Deretu a su puntu Issèbera unu nùmene pro su profilu Aberi sas impostatziones - Estensione disabilitada + Estensione istudada S\'estensione est un\'aplicatzione a banda. L\'as a dèpere bogare a banda si non la cheres prus impreare. \n \nS\'estensione at a abarrare in su dispositivu a pustis de b\'àere bogadu OsmAnd. @@ -3505,7 +3505,7 @@ %1$s — %2$s — %3$s Càrculu de s\'àndala Inclue datos additzionales - Su profilu importadu tenet datos additzionales. Incarca in \"Importa\" pro importare sos datos de su profilu ebbia o ischerta sos datos additzionales de importare. + Su profilu importadu tenet datos additzionales. Incarca in \"Importa\" pro importare sos datos de su profilu ebbia, o ischerta sos datos additzionales. Podes ischertare datos additzionales de esportare in paris cun su profilu. Nota: verìfica de lestresa > 0: sa majoria de sos insiemes integrados (sos \"chipsets\") GPS frunit unu valore de lestresa petzi si s\'algoritmu determinat chi ses in movimentu, e perunu si non lu ses. Pro custa resone s\'impreu de s\'impostatzione> 0 in custu filtru, in unu tzertu sensu, impreat su rilevamentu de su movimentu de s\'insieme integradu GPS. Ma, fintzas si non benint filtradas inoghe in su momentu de sa registratzione, impreamus su matessi custa funtzionalidade in s\'anàlisi nostra de sas rastas GPX pro determinare sa distàntzia curreta. Est a nàrrere chi su valore ammustradu in cussu campu est sa distàntzia registrada durante su movimentu. Efetu segundàriu: pro more de su filtru pro acuradesa unos cantos puntos diant pòdere fartare de su totu. A es. in suta de sos pontes, de sos àrbores, intre sos fàbricos artos, o in unas cantas cunditziones metereològicas. @@ -3542,7 +3542,7 @@ Òrdina pro categoria Antàrticu Predefinidu in s\'aplicatzione (%s) - Disabìlita su ri-càrculu de s\'àndala + Perunu ri-càrculu Distàntzia mìnima pro torrare a carculare s\'àndala S\'àndala at a bènnere carculada torra si sa distàntzia dae s\'àndala est prus manna de cussa dislindada Profilu personalizadu @@ -3597,7 +3597,7 @@ Umbraduras de sos rilievos %1$s de %2$s Pistas - Ammustra/cua su terrinu + Ammustra / cua su terrinu Cua su terrinu Ammustra su terrinu Unu butone pro ammustrare o cuare s\'istratu de su terrinu in sa mapa. @@ -3635,7 +3635,7 @@ Cuadu Custos elementos sunt cuados dae su menù, ma sas optziones o sas estensiones rapresentadas ant a sighire a funtzionare. Cuende sas impostatziones las as a torrare a sos istados predefinidos issoro. - Sas \'atziones printzipales\' cuntenent 4 butones ebbia. + Tenet 4 butones ebbia. Atziones printzipales Podes mòere elementos in intro de custa categoria ebbia. Estensione pro sos isvilupadores @@ -3678,7 +3678,7 @@ \n \nPodes amministrare e annullare sos abbonamentos tuos intrende in sas impostatziones de Google Play tuas. Chirca castas de PDI - Cumbina castas de PDI de catogorias diferentes. Incarca su butone pro ischertare totu, incarca s\'ala a manca pro sa seletzione de sas categorias. + Cumbina castas de PDI de catogorias diferentes. Incarchende su butone as a ischertare totu, e s\'ala a manca seletzionat una categoria. %1$s / %2$s Arrastadore de OsmAnd OsmAnd + Mapillary @@ -3692,22 +3692,22 @@ Còmporas de OsmAnd Sa ghia pro sa simbologia de sa mapa. Profilos de navigatzione - • Mapas noas non in lìnia de sas pendèntzias -\n -\n • Peronalizazione intrea de sos preferidos e de sos puntos de coladòrgiu - colores, iconas e formas personalizados -\n -\n • Personaliza s\'oòrdine de sos elementos in su Menù de cuntestu, in Cunfigura mapa e in su Calàssiu -\n -\n • Wikipedia comente un\'istratu a banda in Cunfigura mapa, in ue podes ischertare petzi sas limbas chi cheres -\n -\n • Crea su filtru tuo/sa mapa tua cun sos PDI cun una flessibilidade totale -\n -\n • Optzione pro ripristinare sas impostatziones pro sos profilos personalizados annànghida -\n -\n • Àndalas GPX intreas cun suportu pro sa navigatzione, corsias de tzirculatzione eistrutzione de bortada cumpridas -\n -\n • Mannària de interfache gràfica in sas tauleddas acontzadas -\n + • Mapas noas non in lìnia de sas pendèntzias +\n +\n • Peronalizazione intrea de sos preferidos e de sos puntos de coladòrgiu - colores, iconas e formas personalizados +\n +\n • Personaliza s\'oòrdine de sos elementos in su \"Menù de cuntestu\", in \"Cunfigura mapa\" e in su \"Calàssiu\" +\n +\n • Wikipedia comente un\'istratu a banda in Cunfigura mapa, in ue podes ischertare petzi sas limbas chi cheres +\n +\n • Crea su filtru tuo/sa mapa tua cun sos PDI cun una flessibilidade totale +\n +\n • Optzione pro ripristinare sas impostatziones pro sos profilos personalizados annànghida +\n +\n • Àndalas GPX intreas cun suportu pro sa navigatzione, corsias de tzirculatzione eistrutzione de bortada cumpridas +\n +\n • Mannària de interfache gràfica in sas tauleddas acontzadas +\n \n • Faddinas cun RTL acontzadas \n \n @@ -3715,16 +3715,17 @@ Podes atzèdere a custas atziones incarchende su butone \"%1$s\". Cua su trasportu pùblicu Ammustra su trasportu pùblicu - Ammustra/cua su trasportu pùblicu - Unu butone pro ammustrare o cuare su trasportu pùblicu in sa mapa. - Crea/Modìfica unu PDI + Ammustra / cua su trasportu pùblicu + Butone pro ammustrare o cuare su trasportu pùblicu in sa mapa. + Crea / Modìfica unu PDI Logos de parchègiu Annanghe / Modìfica unu preferidu Riprìstina s\'òrdine predefinidu de sos elementos Torra a modificare - Tocende su butone de atzione as a colare dae unu profilu ischertadu a s\'àteru. + Su butone de atzione faghet colare dae unu profilu ischertadu a s\'àteru. Annanghe unu profilu Càmbia su profilu de s\'aplicatzione - Sos profilos ischertados pro custa atzione non s\'agatant. + Impossìbile a agatare custos profilos. Mapa mundiale generale (a sa minuda) + Casta non suportada \ No newline at end of file From 188484e058db07f49dd84f4cb98bcce4a6dc286c Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Sat, 23 May 2020 21:10:11 +0000 Subject: [PATCH 062/509] Translated using Weblate (German) Currently translated at 100.0% (3804 of 3804 strings) --- OsmAnd/res/values-de/phrases.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index a6795fd120..d497a678d3 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -319,7 +319,7 @@ Motorradparkplatz Motorradgeschäft Autobahnkreuz - Passstraße + Gebirgspass Multi-Sport Museum Musikinstrumente @@ -2711,8 +2711,8 @@ Hygrometer: nein Datumsanzeige Datumsanzeige: nein - Informationsanzeige für Passagiere: ja - Informationsanzeige für Passagiere: nein + Fahrgastinformationsanzeige: ja + Fahrgastinformationsanzeige: nein Mindestalter Verkehrsspiegel Delegation @@ -3826,4 +3826,5 @@ Grundwasser Rohr Druck + Pumpenzustand: fehlender Arm \ No newline at end of file From 53d990b57966cd0dcd6b92d15d98c389c13b448b Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Thu, 21 May 2020 20:58:31 +0000 Subject: [PATCH 063/509] Translated using Weblate (Sardinian) Currently translated at 99.5% (3785 of 3804 strings) --- OsmAnd/res/values-sc/phrases.xml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml index 25187eaf01..1235a11167 100644 --- a/OsmAnd/res/values-sc/phrases.xml +++ b/OsmAnd/res/values-sc/phrases.xml @@ -1248,7 +1248,7 @@ Època istòrica: rennu antigu (2686 – 2181 AC) Època istòrica: primu perìodu intermèdiu (2181 – 2055 AC) Època istòrica: segundu perìodu intermèdiu (1650 – 1550 AC) - "Època istòrica: tertzu perìodu intermèdiu (1069 – 664 AC) " + Època istòrica: tertzu perìodu intermèdiu (1069 – 664 AC) Època istòrica: primu perìodu persianu Època istòrica: perìodu bassu (664 – 332 AC) Època istòrica: segundu perìodu persianu @@ -1912,7 +1912,7 @@ No aztetat cartas pro donos Golden Crown No aztetat cartas Golden Crown - "PRO100 " + PRO100 No aztetat cartas PRO100 Union Card No aztetat Union Card @@ -2955,8 +2955,8 @@ Àrbore de Nadale Pasca de Nadale: perìodu pro s\'eventu Pasca de Nadale: nota - "Pasca de Nadale: oràriu de abertura" - "Pasca de Nadale: positzione" + Pasca de Nadale: oràriu de abertura + Pasca de Nadale: positzione Pasca de Nadale: situ web Libreria pùblica Casta: cabina telefònica @@ -2973,8 +2973,7 @@ Puddu Geladu Sushi - Pische e patatas fritas (Fish and chips) -\n + Pische e patatas fritas (Fish and chips) Frutos de mare Barbecue Ispaghitos (noodles) orientales @@ -3135,8 +3134,7 @@ Shawarma Loteria Pachinko - Machineddas (slot machines) -\n + Machineddas (slot machines) Iscummissas Bingo Integradores alimentares @@ -3723,7 +3721,7 @@ Pamentadore Furru de su pane Ebanista - Tarifa + Càrriga Toeletadura pro animales domèsticos ATM: eja Prelievu de dinare @@ -3788,7 +3786,7 @@ Butega de artìculos pro sa seguresa Tzentru pro su bowling Nùmeru de referèntzia de sa pista - Base pro sa cassa + Base de cassa Tzentru pro sas imbèrghidas in s\'abba SMS Vìdeu @@ -3818,7 +3816,8 @@ Retza de ricàrica de s\'abba potàbile Sutzione Presurizada - Abbas suta de terra + Abba suta de terra Pompa Pressione + Istadu de sa pompa: mancat sa trave \ No newline at end of file From cf264440bcd691188e89ced7caa413fbabaeff8d Mon Sep 17 00:00:00 2001 From: ace shadow Date: Sat, 23 May 2020 18:16:08 +0000 Subject: [PATCH 064/509] Translated using Weblate (Slovak) Currently translated at 92.8% (3533 of 3804 strings) --- OsmAnd/res/values-sk/phrases.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-sk/phrases.xml b/OsmAnd/res/values-sk/phrases.xml index 85066863e3..8293003701 100644 --- a/OsmAnd/res/values-sk/phrases.xml +++ b/OsmAnd/res/values-sk/phrases.xml @@ -1475,13 +1475,13 @@ Oprava elektrických vozidiel Oprava motocyklov Áno - Bez samoobsluhy + Nie Áno Neautomatizované Všetky služby Áno S kefami - Bez autoumyvárne + Nie Čerpacia stanica pre lietadlá Verejná sprcha Muži @@ -3361,7 +3361,7 @@ Antuka Zdroj energie: biomasa Prístup snežným skútrom - "Prístup autobusom" + Prístup autobusom Prístup karavanom Prístup obytným autom Prístup s autom s prívesom From 988b261a6b16ed5d04e01f1eddf6048720b0c8c0 Mon Sep 17 00:00:00 2001 From: Franco Date: Thu, 21 May 2020 22:48:48 +0000 Subject: [PATCH 065/509] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 102 ++++++++++++++------------- 1 file changed, 52 insertions(+), 50 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 836abf832a..f6f12f8258 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -492,7 +492,7 @@ Cálculo sin Internet del segmento de ruta OsmAnd Calcular la ruta OsmAnd para el primer y último segmento de ruta ¿Usar la traza mostrada para la navegación? - Sin ferris/transbordadores + Sin ferris o transbordadores Evitar ferris o transbordadores Desde Android 4.4 (KitKat), la carpeta de almacenamiento antigua (%s) se encuentra en desuso. ¿Copiar todos los archivos de OsmAnd a la nueva ubicación de almacenamiento\? \n Nota 1: Los archivos antiguos permanecerán intactos (pero pueden ser borrados manualmente). @@ -543,7 +543,7 @@ Zoom mínimo URL Elegir existente… - Definir/Editar… + Definir o editar… Información de FPS Región de conducción: EEUU, Europa, Reino Unido, Asia u otras. Región de conducción @@ -698,7 +698,7 @@ GPX No se encontraron edificios. Buscar ciudades incrementalmente - Buscar más pueblos/códigos postales + Buscar más pueblos o códigos postales Elige cuando mostrar mapas viales: Mapas viales Ejecutar aplicación en modo seguro (usando código de Android, más lento, en vez del nativo). @@ -1148,7 +1148,7 @@ Elige que altavoz reproducirá indicaciones por voz. Audio de llamada telefónica (para altavoces estéreos con Bluetooth) Notificación auditiva - Audio de multimedia/navegación + Audio de multimedia o navegación La aplicación no puede descargar la capa del mapa «%1$s», reinstalarla podría ayudar. Ajustar transparencia de la capa superpuesta. Transparencia de superposición @@ -2038,7 +2038,7 @@ Obtenga descargas ilimitadas de mapas, añadiendo actualizaciones semanales, diarias o incluso por hora. Descargas ilimitadas de mapas, actualizaciones y complemento de Wikipedia. Obtener - Suscripción mensual. Puedes cancelarlo en cualquier momento en Google Play. + La suscripción se cobra por el período elegido. Puedes cancelarlo en cualquier momento en Google Play. Donaciones a la comunidad de OSM Parte de tu donación se envía a los colaboradores de OSM. El costo de la suscripción sigue siendo la misma. La suscripción permite actualizaciones cada hora, día o semana y descargas ilimitadas para los mapas de todo el mundo. @@ -2147,10 +2147,10 @@ Nombre de la acción rápida duplicado Un botón que muestra u oculta los puntos favoritos en el mapa. Un botón que muestra u oculta los PDI en el mapa. - Mostrar/ocultar Favoritos + Mostrar u ocultar Favoritos Mostrar Favoritos Ocultar Favoritos - Mostrar/ocultar PDI + Mostrar u ocultar PDI Mostrar %1$s Ocultar %1$s Añadir una categoría @@ -2466,10 +2466,10 @@ Máx/Min Min/Máx Rosa translúcido - Pausar/reanudar navegación + Pausar o reanudar navegación Un botón que pausa o reanuda la navegación. Mostrar diálogo «Navegación finalizada» - Iniciar/parar navegación + Iniciar o parar navegación Un botón que inicia o detiene la navegación. Tiempo del búfer para el seguimiento en línea Indica el tiempo que el búfer mantendrá los sitios para enviar sin conexión @@ -2660,7 +2660,7 @@ Copiar nombre de ubicación/PDI Ubicación sin nombre Mostrar notas de OSM cerradas - Mostrar/ocultar notas de OSM en el mapa. + Mostrar u ocultar notas de OSM en el mapa. GPX - adecuado para exportar a JOSM u otros editores OSM. OSC - adecuado para exportar a OSM. Archivo GPX @@ -2919,7 +2919,7 @@ Tipos de caminos Bajar en Esperar en la parada - Mostrar/ocultar trazas GPX + Mostrar u ocultar trazas GPX Un botón que muestra u oculta las trazas GPX elegidas en el mapa. Ocultar trazas GPX Mostrar trazas GPX @@ -2960,7 +2960,7 @@ Hormigón Adoquín Empedrado (adoquín) - Pavimento intertrabado / Adoquín prefabricado + Pavimento intertrabado o adoquín prefabricado Canto rodado Piedra Metal @@ -2977,16 +2977,16 @@ Muy horrible Intransitable Autopista - Carretera/ruta estatal + Carretera o ruta estatal Carretera principal Calle residencial Vía de servicio - Vereda/Acera + Vereda o acera Camino rural Camino ecuestre Escalera Sendero - Ciclovía/Bicisenda + Ciclovía o bicisenda Indefinido Lea más sobre el cálculo de las rutas de OsmAnd en nuestro blog. La navegación en transporte público se encuentra actualmente en fase de pruebas beta, se esperan errores e imprecisiones. @@ -3013,7 +3013,7 @@ Evitar trenes Sin subterráneos Evitar subterráneos y trenes ligeros - Sin ferris/transbordadores + Sin ferris o transbordadores Evitar ferris o transbordadores • Mostrar el tiempo entre transbordos en transporte público \n @@ -3106,9 +3106,9 @@ Cambia el zoom del mapa desplazando la rueda hacia arriba y abajo. La tecla «Escape» retrocede a la aplicación WunderLINQ. Controlar con WunderLINQ Añadir al menos un elemento a la lista en los ajustes de «Acción rápida» - Esquí alpino/de descenso + Esquí alpino o de descenso Pistas de esquí alpino o de descenso y acceso a remontes mecánicos. - Esquí de travesía/nórdico + Esquí de travesía o nórdico Senderos para esquí nórdico o de travesía. Esquí de travesía Rutas para esquí de travesía. @@ -3367,11 +3367,11 @@ Un botón que muestra u oculta las curvas de nivel en el mapa. Mostrar curvas de nivel Ocultar curvas de nivel - Mostrar/ocultar curvas de nivel + Mostrar u ocultar curvas de nivel Un botón que muestra u oculta el sombreado de las colinas en el mapa. Mostrar el sombreado Ocultar el sombreado - Mostrar/ocultar el sombreado + Mostrar u ocultar el sombreado Imposible iniciar el motor de habla sintetizada. Simular la ubicación usando una traza GPX grabada. Exportar perfil @@ -3424,7 +3424,7 @@ Icono, color y nombre Editar la lista de perfiles Perfil marcado - Al pulsar en «%1$s», serán descartados todos los cambios. + Al pulsar en «%1$s», se descartan todos los cambios. Restablecer todos los ajustes del perfil a los valores predefinidos de la instalación. ¿Restablecer todos los ajustes del perfil\? %1$s %2$s @@ -3494,7 +3494,7 @@ Atardecer a las %1$s Amanecer a las %1$s Restablecer al valor predefinido, restablecerá el orden de clasificación al estado predefinido después de la instalación. - Modo de accesibilidad desactivado en su sistema. + El modo de accesibilidad se encuentra desactivado en el sistema. Usar el tiempo de espera de la pantalla del sistema Desactivado de forma predefinida, si OsmAnd se ejecuta en primer plano, la pantalla se mantendrá encendida. \n @@ -3538,11 +3538,11 @@ %1$s → %2$s → %3$s Enrutamiento Incluir datos adicionales - El perfil importado contiene datos adicionales. Pulsa en «Importar» para importar sólo datos de perfil o marca datos adicionales para importar. + El perfil importado contiene datos adicionales. Pulsa en «Importar» para importar sólo datos de perfil o marca datos adicionales. Puedes marcar datos adicionales para exportar junto con el perfil. Antártida Aplicación predefinida (%s) - Desactivar el recálculo + Sin recálculo Distancia mínima para recalcular la ruta La ruta será recalculada si la distancia a la ruta es mayor que el parámetro especificado Perfil personalizado @@ -3595,7 +3595,7 @@ Permite ver el sombreado o el mapa de pendientes. Puedes leer más sobre estos tipos de mapas en nuestro sitio. Sombreado Pendientes - Mostrar/ocultar terreno + Mostrar u ocultar terreno Ocultar terreno Mostrar terreno Un botón que muestra u oculta la capa del terreno en el mapa. @@ -3618,9 +3618,9 @@ No se pudo escribir en «%1$s». No se pudo importar desde «%1$s». Cambios aplicados al perfil «%1$s». - Personaliza la cantidad de elementos en el menú lateral, la configuración del mapa y el menú contextual. + Personaliza la cantidad de elementos en el «Menú lateral», «Configuración del mapa» y «Menú contextual». \n -\nPuedes desactivar los complementos no utilizados, para ocultar todos sus controles desde «%1$s». +\nDesactiva los complementos no utilizados y oculta todos sus controles en «%1$s». Elementos del menú lateral y menú contextual Personalizar interfaz de usuario Menú lateral @@ -3631,7 +3631,7 @@ Oculto Estos elementos no se muestran en el menú, pero las opciones o complementos que representan seguirán funcionando. Ocultar los ajustes, los restablece a su estado original. - Las «Acciones principales» sólo contienen 4 botones. + Sólo contiene 4 botones. Acciones principales Sólo puedes mover objetos dentro de esta categoría. Complemento de desarrollador @@ -3676,13 +3676,13 @@ Mapas adicionales Acción «%1$s» no admitida %1$s / %2$s - El pago será cargado a la cuenta de Google Play al confirmar la compra. -\n -\nLa suscripción se renueva automáticamente a menos que se cancele antes de la fecha de renovación. La cuenta será cargada por el período de renovación (mes/trimestre/año) sólo en la fecha de renovación. -\n + El pago será cargado a la cuenta de Google Play al confirmar la compra. +\n +\nLa suscripción se renueva automáticamente a menos que se cancele antes de la fecha de renovación. Se le cobrará a su cuenta el período de renovación (mes/trimestre/año) sólo en la fecha de renovación. +\n \nPuedes administrar y cancelar las suscripciones accediendo a los ajustes de Google Play. Buscar por tipos de PDI - Combina tipos de PDI de diferentes categorías. Pulsa «Alternar» para marcar todo, pulsa el lado izquierdo para elegir una categoría. + Combina tipos de PDI de diferentes categorías. Pulsa «Alternar» para marcar todo y el lado izquierdo para elegir una categoría. OsmAnd Tracker OsmAnd + Mapillary Acción rápida @@ -3693,40 +3693,42 @@ Favoritos Suscripción - OsmAnd Live Compras de OsmAnd - La guía para la simbología de un mapa + La guía para la simbología de un mapa. Perfiles de navegación • Nuevos mapas sin conexión de las pendientes -\n +\n \n • Personalización más completa de los favoritos y puntos de referencia GPX (colores personalizados, iconos, formas) -\n -\n • Nueva personalización en el orden de los elementos en Configurar mapa, menú contextual y menú lateral -\n +\n +\n • Personalización en el orden de los elementos en «Configurar mapa», «Menú contextual» y «Menú lateral» +\n \n • Wikipedia ahora se visualiza como una capa separada en Configurar mapa, elige sólo los idiomas necesarios -\n -\n • Crea tu propio filtro/mapas de puntos de interés, con total flexibilidad -\n +\n +\n • Crea tus propios filtros o mapas de puntos de interés, con total flexibilidad +\n \n • Se añadieron opciones para restablecer los ajustes de los perfiles personalizados -\n +\n \n • Las rutas GPX para la navegación, ahora admiten los carriles de tráfico y completan las instrucciones de giro -\n +\n \n • Se ha corregido el tamaño de la interfaz en las tabletas -\n +\n \n • Se corrigieron los errores con RTL \n \n Puedes acceder a estas acciones pulsando el botón «%1$s». Ocultar transporte público Mostrar transporte público - Mostrar/ocultar transporte público - Un botón que muestra u oculta el transporte público en el mapa. - Crear/Editar PDI + Mostrar u ocultar transporte público + Botón que muestra u oculta el transporte público en el mapa. + Crear o editar PDI Puestos de estacionamiento - Añadir / Editar favorito + Añadir o editar favorito Restaurar el orden de los elementos predefinidos Volver a la edición Reanudar - Al pulsar el botón de acción se cambiará entre los perfiles elegidos. + El botón de acción alterna entre los perfiles elegidos. Añadir perfil Cambiar perfil de la aplicación - No se encontraron los perfiles marcados para esta acción. + No se pudo encontrar ninguno de estos perfiles. + Mapa mundial general (detallado) + Tipo no admitido \ No newline at end of file From 18ac1e59a4892d1a7df8fd652e4dce801146f793 Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Wed, 20 May 2020 22:00:21 +0000 Subject: [PATCH 066/509] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 2891e50a39..00fae9b1f8 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3712,4 +3712,5 @@ Pôr do Sol: %2$s Alterar perfil do aplicativo Não foi possível encontrar nenhum desses perfis. Mapa geral do mundo (detalhado) + Tipo não suportado \ No newline at end of file From afb835f78fd80255c12494d7b1c152294d58f0e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Fri, 22 May 2020 17:46:48 +0000 Subject: [PATCH 067/509] Translated using Weblate (Turkish) Currently translated at 62.5% (2380 of 3804 strings) --- OsmAnd/res/values-tr/phrases.xml | 37 +++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-tr/phrases.xml b/OsmAnd/res/values-tr/phrases.xml index 633992c85f..9a59a9adeb 100644 --- a/OsmAnd/res/values-tr/phrases.xml +++ b/OsmAnd/res/values-tr/phrases.xml @@ -1843,7 +1843,7 @@ Demir cevheri Kurşun Linyit - Kireçtaşı + Kireç taşı Mermer Civa Mika @@ -1858,7 +1858,7 @@ Rutil Tuz Kum - Kumtaşı + Kum taşı Silis Gümüş Kayrak;demir cevheri;bakır @@ -2311,7 +2311,7 @@ Uygarlık: minos Uygarlık: tiahuanaco Dil okulu - Hayvanlara izin verilmez + Hayvanlara izin verilmiyor Hayvanlara izin verilir At Köpek @@ -2360,4 +2360,35 @@ Hayır Hayır Hayır + Höyük + Megalit + Basınç + İçme suyu doldurma: hayır + İçme suyu doldurma: evet + İçme suyu doldurma şebekesi + Malzeme: kompozit + Malzeme: mermer + Malzeme: cam + Malzeme: alüminyum + Malzeme: kireç taşı + Malzeme: toprak + Malzeme: granit taşı + Malzeme: plastik + Malzeme: tunç + Malzeme: metal, ahşap + Malzeme: kum taşı + Malzeme: kaya + Malzeme: tuğla + Malzeme: taş + Malzeme: çelik + Malzeme: beton + Malzeme: metal + Tür: arma + Tarihi taş + Atlara izin veriliyor + Malzeme: güçlendirilmiş beton + Malzeme: ahşap + Tür: uzlaşma haçı + Atlara izin verilmiyor + Mutfak \ No newline at end of file From 9e18266b2fdd773d76980cda1a0888f39ed355a9 Mon Sep 17 00:00:00 2001 From: Rami Lehtinen Date: Thu, 21 May 2020 19:10:47 +0000 Subject: [PATCH 068/509] Translated using Weblate (Finnish) Currently translated at 38.9% (1480 of 3804 strings) --- OsmAnd/res/values-fi/phrases.xml | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/OsmAnd/res/values-fi/phrases.xml b/OsmAnd/res/values-fi/phrases.xml index 9a55a6806b..1f7d639c51 100644 --- a/OsmAnd/res/values-fi/phrases.xml +++ b/OsmAnd/res/values-fi/phrases.xml @@ -1458,4 +1458,40 @@ Matalaenergialamput Vesimylly Tavara hissi + Viinikellari + Hautausmaa + Asuntovaunualue + Kello + Internet-yhteys: palvelu + Serbian ortodoksinen + Seitsemännen päivän adventistit + Metsästysmaja + Huoneisto + Alppimaja + Juna (nähtävyys) + Karuselli + Historiallinen laiva + Linnoitus + Taistelukenttä + Pöytätennis + Luistelu + Rullaluistelu + Voimistelu + Kroketti + Kanootti + Jousiammunta + Hevosrata + Juoksurata + Veroneuvojan toimisto + Notaari + Kansalaisjärjestö + Asianajaja + Kuntoutus + Kätilö + Hoitokoti + Tulli + Eläkerahasto + Suurlähetystö + Siilo + Tuulimylly \ No newline at end of file From 37962596f885b8630db4381a2d5ed46e951d8dad Mon Sep 17 00:00:00 2001 From: Verdulo Date: Wed, 20 May 2020 23:02:35 +0000 Subject: [PATCH 069/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-eo/strings.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 88401a9be8..cbc945ce70 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2027,7 +2027,7 @@ Havigu senlimigitan elŝutojn de mapoj kaj ĉiusemajnaj, ĉiutagajn kaj eĉ ĉiuhorajn ĝisdatigojn. Senlimigitaj map-elŝutoj, ĝisdatigoj kaj kromprogramo Vikipedio. Mejloj/metroj - Abon-pagoj prenataj ĉiumonate. Iam ajn rezignebla per Google Play. + La abon‑pago estos prenata por la elektita periodo. Vi ĉiam povos rezigni ĝin en Google Play. Donacoj por la OSM‑komunumo Parto de viaj donacoj estas sendata OSM‑kontribuantoj. La abonpago estas la sama. Abonoj ebligas al vi ĉiuhorajn, ĉiutagajn aŭ ĉiusemajnajn ĝisdatigojn kaj senlimigitajn elŝutaĵojn de mapoj de la tuta mondo. @@ -3483,7 +3483,7 @@ Ŝanĝi ordigon de la listo, kaŝi malnecesajn kategoriojn. Vi povas enporti aŭ elporti ĉiujn ŝanĝojn kun profiloj. Vi povas aldoni novan propran kategorion per elekti kelka(j)n bezonata(j)n kategorio(j)n. Per restarigi implicitajn agordojn, ordigo de elementoj revenos al la postinstalada stato. - Alirebleca reĝimo estas malaktivigita en via sistemo. + Alirebleca reĝimo malaktivigita en Android. Malŝalti ekranon laŭ sistemaj agordoj Implicite neaktiva, se OsmAnd laboras malfone, la ekrano ne malŝaltos aŭtomate. \n @@ -3531,7 +3531,7 @@ Vi povas elekti kromajn datumojn por elporti kune kun la profilo. Antarkto Implicita valoro (%s) - Malaktivigi rekalkulon + Sen rekalkulado Minimuma distanco por rekalkuli kurson Kurso estos rekalkulita se la distanco estos pli granda ol tiu ĉi valoro Propra profilo @@ -3617,9 +3617,9 @@ Vi povas movi elementojn nur ene tiu ĉi kategorio. Programista kromprogramo Elementoj - Alĝustigi kaj kaŝi elementojn en la (maldekstra) tirmenuo, menuo “agordi mapon” kaj kunteksta menuo de mapo. -\n -\nVi povas malaktivigi neuzatajn kromprogramojn por kaŝi ĉiujn iliajn rilatajn butonojn: %1$s. + Alĝustigi kaj kaŝi elementojn en la (maldekstra) tirmenuo, menuo “agordi mapon” kaj kunteksta menuo de mapo. +\n +\nEblas malaktivigi neuzatajn kromprogramojn por kaŝi ĉiujn iliajn rilatajn butonojn: %1$s. Elementoj de tirmenuo, kunteksta menuo, ktp. Alĝustigi fasadon Tirmenuo @@ -3717,4 +3717,5 @@ Ŝanĝi aplikaĵan profilon Ne trovis tiajn profilojn. Fundamenta mapo de mondo (detala) + Nesubtenata speco \ No newline at end of file From 5664219ba09dbda14b57cd99b7795b69b7d6f1a5 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Fri, 22 May 2020 15:36:33 +0000 Subject: [PATCH 070/509] Translated using Weblate (Basque) Currently translated at 100.0% (3804 of 3804 strings) --- OsmAnd/res/values-eu/phrases.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eu/phrases.xml b/OsmAnd/res/values-eu/phrases.xml index 8bef83a950..1802a8843b 100644 --- a/OsmAnd/res/values-eu/phrases.xml +++ b/OsmAnd/res/values-eu/phrases.xml @@ -2187,10 +2187,10 @@ Konponketarik ez Gailu elektrikoen konponketa Motorren konponketa - Autozerbitzurik ez + Ez Automatizatu gabea Zerbitzu osoa - Kotxe-garbiketa: ez + Ez Komun publikoa Gizonezkoa Gizonezkoentzat debekatua @@ -3807,4 +3807,10 @@ Trabatzea Ur maila: batezbestekotik behera Ur maila: batezbestekotik gora + Bonbaren egora: Habea faltan + Xurgatzea + Presiopean + Lurrazpiko ura + Hodia + Presioa \ No newline at end of file From 15286702c8cbaa4eefe0a1b46ad5dc7c4a3a59a1 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Thu, 21 May 2020 05:07:59 +0000 Subject: [PATCH 071/509] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 50 +++++++++++++++------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 1a3fdbe2c9..f246ea92d1 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -80,6 +80,7 @@ \n- 全球離線向量圖資 \n- 直接由手機下載各國或區域圖資 \n- 可疊加不同的多種地圖層於自訂的透明度,如 GPX 或導航軌跡、興趣點、我的收藏、等高線、大眾運輸停靠站 +\n \n- 離線查詢地址、場所(POI) \n- 中程距離的離線路線 \n- 汽車、自行車、步行模式有多種選項: @@ -1196,8 +1197,7 @@ POI 覆蓋標籤 在導航期間顯示縮放按鈕。 顯示縮放按鈕 - - 線上 OSM 地圖的分類與影像。 + 線上 OSM 地圖的分類與影像。 按距離排序 按名稱排序 先長按來指定 GPX 檔案。 @@ -1478,7 +1478,7 @@ 照片 模擬您的位置 緯度 %1$s -經度 %2$s +\n經度 %2$s 常見的問題,最近的更改以及其它。 導航設定 一般設定 @@ -1868,7 +1868,7 @@ 啟動地圖標記功能。 移除所有的活動標記嗎? 清除地圖標記歷史記錄嗎? - 活動標記 + 活躍標記 地圖標記 地圖標記 新增所有的標點到地圖標記嗎? @@ -1988,7 +1988,7 @@ 鄰里 類別 郵遞區號 - "透過 OsmAnd 分享" + 透過 OsmAnd 分享 索布語 (上游) 返回查詢 自「歷程」移除已選取的項目嗎? @@ -2164,7 +2164,7 @@ 在畫面中央新增 POI 的按鈕。 打開位置編碼(OLC) 無效的 OLC - +\n 停用或啟用導航時的語音導引的開關。 在畫面中央新增停車位置的按鈕。 快速動作已重新命名為 %1$s 以避免重複。 @@ -2175,9 +2175,9 @@ 地圖底層變更為「%s」。 動作名稱 簡短 OLC -請提供完整的編碼 +\n請提供完整的編碼 有效完整的 OLC -代表區域:%1$s x %2$s +\n代表區域:%1$s x %2$s 用於翻閱下方列表的按鈕。 自動分割錄製之後的間隙 如果日期已更改,開始新區段在6分鐘後的間隔,新軌跡在2小時後的間隔,或新檔案在更長的間隔之後。 @@ -2294,21 +2294,23 @@ \n享有語音和視覺的導航,檢視 POI(興趣點),建立和管理 GPX 軌跡,使用視覺化的等高線和海拔資訊(透過外掛元件),能在汽車駕駛、騎自行車和步行模式之間選擇、OSM 編輯和更多。 GPS 導航 \n• 您可以在離線(當您在國外時就不需要國際漫遊費用了)或連線(快速)兩種模式間選擇 -\n• 轉向建議(turn by turn)語音導航(真人和合成語音) -\n• 當您偏離了行駛路線,重建改道規劃 -\n• 車道導引、街道名稱和預計抵達時間會有一路的幫助 -\n• 為了讓您的行程安全,有日/夜模式自動切換 -\n• 顯示車速限制,如果超速了則可以獲得提醒 +\n• 轉向建議語音導航(真人和合成語音) +\n• 當您偏離了行駛路線時將會重新計算路線 +\n• 車道導引、街道名稱和預計抵達時間將會一路陪伴您 +\n• 為了讓您的旅程更安全,有日/夜模式自動切換 +\n• 顯示速度限制,如果超速了則會提醒您 \n• 依您的速度調整地圖縮放 -\n• 按照地址、類別(例如:停車場、餐廳、旅店、加油站、博物館)或地理坐標搜尋目的地 -\n• 支援中轉點於您的旅程 -\n• 錄製自己的或上傳一個 GPX 軌跡並跟隨它 +\n• 按照地址、類別(例如:停車場、餐廳、旅店、加油站、博物館)或地理座標搜尋目的地 +\n• 支援在您的旅程中加入中轉點 +\n• 錄製自己的或上傳一個 GPX 軌跡並跟隨它 +\n 使用 OSM 和維基百科的資料 \n• 來自世界最好的協作專案所得的高品質資訊 \n• OSM 資料可用在每個國家或地區 \n• 維基百科 POI 卓越的觀光景點 \n• 直接從應用程式,無限制的免費下載 -\n• 密集的離線向量地圖更新,至少每月一次 +\n• 密集的離線向量地圖更新,至少每月一次 +\n \n• 可在完整的區域資料還是只有公路網之間選擇(舉例來說:整個日本就有 700 MB 而公路網部分僅有 200 MB) 導航 \n• 您可以在離線(當您在國外時就不需要國際漫遊費用了)或連線(快速)兩種模式間選擇 @@ -2331,11 +2333,12 @@ 地圖 \n• 顯示您週遭的 POI(興趣點) \n• 調整地圖到您的移動方向(或羅盤) -\n• 顯示的位置和您正在觀看的方向 +\n• 顯示的位置和您正在觀看的方向 \n• 分享您的位置,讓您的朋友能找到您 \n• 保存您最重要的地點於我的收藏 \n• 允許您選擇怎樣在地圖上顯示名稱:使用英文、裝置端或語言的拼寫 -\n• 顯示專用的線上地圖圖磚、衛星照片(來自 Bing)、不同的疊加層如旅遊/導航 GPX 軌跡以及可自定透明度的附加層 +\n• 顯示專用的線上地圖圖磚、衛星照片(來自 Bing)、不同的疊加層如旅遊/導航 GPX 軌跡以及可自訂透明度的額外圖層 +\n 自行車 \n• 在地圖找到自行車道 \n• GPS 導航在自行車模式下,使用自行車道構建您的路線 @@ -2367,14 +2370,14 @@ \n• 地圖會顯示您的步行和登山健行路徑 \n• 維基百科以您喜好的語言在市區旅遊中可以告訴您很多事 \n• 大眾運輸停靠站(公共汽車、電車、火車),包括路線名稱,有助於在新的城市裡導航 -\n• GPS 導航在行人模式下,使用步行路徑構建您的路線 -\n• 上傳並且跟隨 GPX 路線或著記錄和分享您自己的路線 +\n• GPS 導航在行人模式下,使用步行路徑構建您的路線 +\n• 上傳並且跟隨 GPX 路線或著記錄和分享您自己的路線 +\n OsmAnd+ (OSM Automated Navigation Directions) 是一個地圖和導航應用程式,可以免費存取全球性且高品質的 OSM 圖資。 \n享有語音和視覺的導航、檢視 POI(興趣點)、建立和管理 GPX 軌跡、使用視覺化的等高線和海拔資訊,能在汽車駕駛、騎自行車和步行模式之間選擇、OSM 編輯和更多。 \n \nOsmAnd+ 是 OsmAnd 的付費版本,透過購買這個應用程式來資助開發新功能,並收到最新的更新。 \n -\n \n一些主要特點: 用於速度控制自動縮放開關的按鈕。 概要 @@ -2754,7 +2757,7 @@ OsmAnd 團隊 重新啟動應用程式 顯示圖片 - "您已取消您的 OsmAnd Live 訂閱" + 您已取消您的 OsmAnd Live 訂閱 恢復訂閱以繼續使用所有的功能: 根據您已存書籤的文章,建議您去下載下方的地圖: 您需要的地圖 @@ -3716,4 +3719,5 @@ 變更應用程式設定檔 找不到任何這類的設定檔。 全球地圖總覽(詳細) + 不支援的類型 \ No newline at end of file From 813932c86cde1aab744d61bcf23d462afa0149ab Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Sat, 23 May 2020 21:37:45 +0000 Subject: [PATCH 072/509] Translated using Weblate (German) Currently translated at 100.0% (267 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/de/ --- OsmAnd-telegram/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd-telegram/res/values-de/strings.xml b/OsmAnd-telegram/res/values-de/strings.xml index 9b4b7776df..5d9f88fb35 100644 --- a/OsmAnd-telegram/res/values-de/strings.xml +++ b/OsmAnd-telegram/res/values-de/strings.xml @@ -18,7 +18,7 @@ Standort teilen als Kontakte und Gruppen, die ihren Standort mit Ihnen teilen. Aus OsmAnd Tracker abmelden\? - "Name " + Name Nach Entfernung Nach Namen Nach Gruppe From 87f95b230f1d8e80b19ae01f5b8dbde123f46a09 Mon Sep 17 00:00:00 2001 From: sonora Date: Sun, 24 May 2020 10:42:08 +0200 Subject: [PATCH 073/509] string improvements --- OsmAnd/res/values-de/strings.xml | 2 +- OsmAnd/res/values/strings.xml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 6044f488de..83ba9689b7 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3483,7 +3483,7 @@ Lon %2$s System-App verwenden Auslöseton der Kamera Durch das Zurücksetzen auf die Standardeinstellung wird die Sortierung auf den Standardzustand nach der Installation zurückgesetzt. - Der Zugänglichkeitsmodus ist in Ihrem Android ausgeschaltet. + Einstellung \'Eingabehilfe\' ist in Ihrem Android System ausgeschaltet. Zeitlimit für den Systembildschirm verwenden Standardmäßig deaktiviert. Wenn OsmAnd im Vordergrund läuft, wird der Bildschirm nicht ausgeblendet. \n diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index d2bb89400e..d652340ae7 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -200,18 +200,18 @@ • Added Antarctica map\n\n Copy coordinates - Reset to default will reset sort order to the default state after installation. - Use system screen timeout - Disabled by default, if OsmAnd running on foreground, the screen doesn’t time out.\n\nIf enabled OsmAnd will use system timeout settings. - Accessibility mode turned off in your Android. + \'Reset to default\' will reinstate the sort order to the installation default. + Use the system screen timeout + Disabled by default: While OsmAnd is running in the foreground, the screen will not time out.\n\nIf enabled, OsmAnd will use the system timeout setting. + Accessibility mode is turned off in your Android system. Rearrange categories - Change the sort order of the list, hide unnecessary categories. You can import or export all changes with profiles. - You can add a new custom category by selecting one or a few needed categories. + Change the list sort order, hide categories. You can import or export all changes with profiles. + You can add a new custom category by selecting one or more categories. Available Add custom category Show only at night - All plugin settings restored to default state. - All profile settings restored to default state. + All plugin settings restored to default. + All profile settings restored to default. %1$s/%2$s Sunset at %1$s Sunrise at %1$s From 5d344acf17b763a9522c9450c928cd75b0f6d9d5 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sun, 24 May 2020 15:55:14 +0200 Subject: [PATCH 074/509] Update ui tests & search fixing #8647 --- .../java/net/osmand/search/SearchUICore.java | 2 +- .../net/osmand/search/SearchUICoreTest.java | 23 +++--- .../search/free_street_portland.json | 25 ++++--- .../test/resources/search/navacerrada.json | 73 ++++++++++--------- 4 files changed, 66 insertions(+), 57 deletions(-) diff --git a/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java b/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java index 48e85541ee..7eec13cd94 100644 --- a/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java +++ b/OsmAnd-java/src/main/java/net/osmand/search/SearchUICore.java @@ -851,8 +851,8 @@ public class SearchUICore { private enum ResultCompareStep { TOP_VISIBLE, - UNKNOWN_PHRASE_MATCH_WEIGHT, FOUND_WORD_COUNT, + UNKNOWN_PHRASE_MATCH_WEIGHT, SEARCH_DISTANCE_IF_NOT_BY_NAME, COMPARE_FIRST_NUMBER_IN_NAME, COMPARE_DISTANCE_TO_PARENT_SEARCH_RESULT, // makes sense only for inner subqueries diff --git a/OsmAnd-java/src/test/java/net/osmand/search/SearchUICoreTest.java b/OsmAnd-java/src/test/java/net/osmand/search/SearchUICoreTest.java index 92af480864..0af85e9acb 100644 --- a/OsmAnd-java/src/test/java/net/osmand/search/SearchUICoreTest.java +++ b/OsmAnd-java/src/test/java/net/osmand/search/SearchUICoreTest.java @@ -1,10 +1,7 @@ package net.osmand.search; import java.io.File; -import java.io.FilenameFilter; import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -22,9 +19,6 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.xmlpull.v1.XmlPullParserException; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - import net.osmand.OsmAndCollator; import net.osmand.ResultMatcher; import net.osmand.binary.BinaryMapIndexReader; @@ -35,8 +29,6 @@ import net.osmand.data.MapObject; import net.osmand.data.Street; import net.osmand.osm.AbstractPoiType; import net.osmand.osm.MapPoiTypes; -import net.osmand.router.RouteTestingTest; -import net.osmand.router.TestEntry; import net.osmand.search.SearchUICore.SearchResultCollection; import net.osmand.search.SearchUICore.SearchResultMatcher; import net.osmand.search.core.SearchPhrase; @@ -48,6 +40,7 @@ import net.osmand.util.Algorithms; public class SearchUICoreTest { private static final String SEARCH_RESOURCES_PATH = "src/test/resources/search/"; + private static boolean TEST_EXTRA_RESULTS = true; private File testFile; @@ -98,7 +91,7 @@ public class SearchUICoreTest { } @Test - public void testSearchImpl() throws IOException, JSONException { + public void testSearch() throws IOException, JSONException { File jsonFile = testFile; String sourceJsonText = Algorithms.getFileAsString(jsonFile); Assert.assertNotNull(sourceJsonText); @@ -149,6 +142,12 @@ public class SearchUICoreTest { results.add(resultsArr.getString(i)); } } + if (TEST_EXTRA_RESULTS && sourceJson.has("extra-results")) { + JSONArray resultsArr = sourceJson.getJSONArray("extra-results"); + for (int i = 0; i < resultsArr.length(); i++) { + results.add(resultsArr.getString(i)); + } + } SearchSettings s = SearchSettings.parseJSON(settingsJson); s.setOfflineIndexes(Collections.singletonList(reader)); @@ -181,6 +180,12 @@ public class SearchUICoreTest { String expected = results.get(i++); String present = result.toString(); //System.out.println(present); + if(!Algorithms.stringsEqual(expected, present)) { + System.out.println(String.format("Mismatch for '%s' != '%s'. Result: ", expected, present)); + for (SearchResult r : searchResults) { + System.out.println("\t\""+r.toString()+"\","); + } + } Assert.assertEquals(expected, present); if (i >= results.size()) { break; diff --git a/OsmAnd-java/src/test/resources/search/free_street_portland.json b/OsmAnd-java/src/test/resources/search/free_street_portland.json index 3f73bf1a3e..a4926a4877 100644 --- a/OsmAnd-java/src/test/resources/search/free_street_portland.json +++ b/OsmAnd-java/src/test/resources/search/free_street_portland.json @@ -12,17 +12,20 @@ "phrase": "48 Free Street Portland", "results": [ "48.0, ", - "48, Free Street (Downtown), Portland", - "48, Portland Street, North Berwick", - "48, Portland Avenue, Old Orchard Beach", - "Portland Street (Downtown), Portland", - "Portland Street Pier, South Portland", - "Portland Street, Yarmouth", - "Portland Street, North Berwick", - "Portland Street, Berwick", - "Portland Street, South Berwick", - "Portland Street, Fryeburg", - "Portland Square, Portland" + "48, Free Street (Downtown), Portland"], + "extra-results": [ + "48, Portland Street, North Berwick", + "Free Street (Downtown), Portland", + "Free Street (Ferry Village), South Portland", + "Portland Street", + "48, Portland Avenue, Old Orchard Beach", + "Portland Street (Downtown), Portland", + "Portland Street Pier, South Portland", + "Portland Street, Yarmouth", + "Portland Street, North Berwick", + "Portland Street, Berwick", + "Portland Street, South Berwick", + "Portland Street, Fryeburg" ], "amenities": [ { diff --git a/OsmAnd-java/src/test/resources/search/navacerrada.json b/OsmAnd-java/src/test/resources/search/navacerrada.json index 41bdccaacf..63f33578cb 100644 --- a/OsmAnd-java/src/test/resources/search/navacerrada.json +++ b/OsmAnd-java/src/test/resources/search/navacerrada.json @@ -10,43 +10,44 @@ "sortByName": false }, "phrase": "Calle de las eras 5, Navacerrada", + "results": [ - "5, Calle de las Eras (Uranización Los Corales), Navacerrada", - "5, Calle Navacerrada (Urb. Las Suertes), Las Suertes", - "50, Calle de Francisco Navacerrada, Salamanca", - "52, Calle de Francisco Navacerrada, Salamanca", - "53, Calle de Francisco Navacerrada, Salamanca", - "54, Calle de Francisco Navacerrada, Salamanca", - "55, Calle de Francisco Navacerrada, Salamanca", - "56, Calle de Francisco Navacerrada, Salamanca", - "57, Calle de Francisco Navacerrada, Salamanca", - "58, Calle de Francisco Navacerrada, Salamanca", - "59, Calle de Francisco Navacerrada, Salamanca", - "Calle del Puerto de Navacerrada, Las Nieves", - "Calle Puerto de Navacerrada, La Poveda", - "Calle del Embalse de Navacerrada, Villa de Vallecas", - "Calle del Puerto de Navacerrada, Puente de Vallecas", - "Calle de Francisco Navacerrada, Salamanca", - "Calle de Navacerrada, Moraleja de Enmedio", - "Calle Navacerrada (Urb. Las Suertes), Las Suertes", - "Calle Puerto de Navacerrada, Roman Candelas", - "Calle Navacerrada, Becerril de la Sierra", - "Carretera de Collado Villalba a Navacerrada, El Baillo y las Hojarascas", - "Calle Navacerrada (Cerceda), El Boalo", - "Calle Navacerrada (El Pedregal), Bustarviejo", - "Calle Navacerrada, Buitrago del Lozoya", - "Carretera de Colmenar Viejo a Navacerrada, Becerril de la Sierra", - "Carretera de Colmenar Viejo a Navacerrada, Manzanares el Real", - "Carretera de Collado Villalba a Navacerrada, Dehesa Boyal", - "Carretera de Collado Villalba a Navacerrada, Polideportivo Dehesa Boyal", - "Carretera de Navacerrada, Jazmines", - "Carretera de Colmenar Viejo a Navacerrada (Cerceda), El Boalo", - "Carretera de Collado Villalba a Navacerrada, Cerca de Cascarrilla", - "Carretera de Navacerrada, El Boalo", - "Carretera de Collado Villalba a Navacerrada, Collado Mediano", - "Camino de Navacerrada (Serranía de la Paloma), Collado Mediano", - "Camino de Los Molinos a Navacerrada, Collado Mediano", - "Carretera de Collado Villalba a Navacerrada, Navacerrada" + "5, Calle de las Eras (Uranización Los Corales), Navacerrada" + ], + "extra-results": [ + "Calle de las Eras (Uranización Los Corales), Pasaje de las Eras (Uranización Los Corales), Navacerrada", + "Calle del Sotillo (Uranización Los Corales), Pasaje de las Eras (Uranización Los Corales), Navacerrada", + "5, Calle Navacerrada (Urb. Las Suertes), Las Suertes", + "50, Calle de Francisco Navacerrada, Salamanca", + "52, Calle de Francisco Navacerrada, Salamanca", + "53, Calle de Francisco Navacerrada, Salamanca", + "54, Calle de Francisco Navacerrada, Salamanca", + "55, Calle de Francisco Navacerrada, Salamanca", + "56, Calle de Francisco Navacerrada, Salamanca", + "57, Calle de Francisco Navacerrada, Salamanca", + "58, Calle de Francisco Navacerrada, Salamanca", + "59, Calle de Francisco Navacerrada, Salamanca", + "Calle del Puerto de Navacerrada, Las Nieves", + "Pasaje de las Eras (Uranización Los Corales), Navacerrada", + "Calle Barrio de las Peñas, Navacerrada", + "Calle de las Cruces (Residencial Sanabria), Navacerrada", + "Calle de las Escuelas, Navacerrada", + "Calle de las Huertas (Residencial Sanabria), Navacerrada", + "Calle de la Virgen de las Nieves, Puerto de Navacerrada", + "Calle Puerto de Navacerrada, La Poveda", + "Calle del Embalse de Navacerrada, Villa de Vallecas", + "Calle del Puerto de Navacerrada, Puente de Vallecas", + "Calle de Francisco Navacerrada, Salamanca", + "Calle de Navacerrada, Moraleja de Enmedio", + "Calle Navacerrada (Urb. Las Suertes), Las Suertes", + "Calle Puerto de Navacerrada, Roman Candelas", + "Calle Navacerrada, Becerril de la Sierra", + "Carretera de Collado Villalba a Navacerrada, El Baillo y las Hojarascas", + "Calle de Ángel Rojas, Navacerrada", + "Calle de los Robles (Uranización Los Corales), Navacerrada", + "Calle de los Enebros (Uranización Los Corales), Navacerrada", + "Calle de la Bola del Mundo (Residencial Sanabria), Navacerrada", + "Calle de la Maliciosa (Residencial Sanabria), Navacerrada", ], "amenities": [ { From df2c0f9b00422fb20a02b48fbbc10a62ebdffea0 Mon Sep 17 00:00:00 2001 From: Hardy Date: Mon, 25 May 2020 00:19:27 +0200 Subject: [PATCH 075/509] String improvements --- OsmAnd/res/values-de/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 83ba9689b7..5db2beba1c 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -2224,7 +2224,7 @@ Lon %2$s Wegpunkte, POI, markierte Orte Richtungsänderungen entlang dieser Route Neuen Ordner hinzufügen - Steigung + Gefälle Bevorzugte Geländeform: flach oder bergig. Berber Keine anonymen App-Nutzungsdaten versenden @@ -3602,11 +3602,11 @@ Lon %2$s Transparenz Stellen Sie die minimale und maximale Zoomstufe ein, bei der die Ebene angezeigt wird. Gelände - Pisten + Gefälle Aktivieren Sie diese Option, um die Schatten- oder Hangkarte anzuzeigen. Weitere Informationen zu diesen Kartentypen finden Sie auf unserer Website. Legende - Lesen Sie mehr über Pisten in %1$s. - Zusätzliche Karten sind erforderlich, um Pisten auf der Karte anzuzeigen. + Lesen Sie mehr über Gefällekarten in %1$s. + Zusätzliche Karten sind erforderlich, um Gefälle auf der Karte anzuzeigen. Für die Darstellung der Schummerung werden zusätzliche Karten benötigt. Min Schummerungs-Karte mit dunklen Schattierungen zur Darstellung von Hängen, Gipfeln und Niederungen. @@ -3615,7 +3615,7 @@ Lon %2$s Skitouren Schneemobil Benutzerdefiniertes OsmAnd-Plugin - Pisten verwendet Farben, um die Geländesteilheit zu visualisieren. + Gefällekarten verwendet Farben, um die Geländesteilheit zu visualisieren. Einen anderen Punkt durch diesen ersetzen Die Änderungen wurden auf das \'%1$s\' Profil angewendet. Konnte nicht von \'%1$s\' lesen. @@ -3730,4 +3730,4 @@ Lon %2$s \nSchalten Sie nicht verwendete Plugins aus, um alle ihre Steuerelemente auszublenden. %1$s. Schubladenelemente, Kontextmenü Schublade - \ No newline at end of file + From aca45114995f245d366ebda7bff63ad2983080b7 Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Sun, 24 May 2020 09:28:07 +0000 Subject: [PATCH 076/509] Translated using Weblate (French) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-fr/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 1e16e8d152..35bee79f82 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2376,7 +2376,7 @@ Mapillary Ouvrir Mapillary Améliorez la couverture photo avec Mapillary - Installez Mapillary pour ajouter une ou plusieurs photos à cet emplacement de la carte. + Installez Mapillary pour ajouter des photos à cet emplacement de la carte. Partagez vos photos de rue via Mapillary. Gadget Mapillary Permet de contribuer facilement à Mapillary. @@ -2444,7 +2444,7 @@ Ajouter des fichiers GPX Importer des fichiers GPX ou enregistrer des traces. Ajouter des favoris - Importez des favoris ou ajoutez-en depuis la carte. + Importez des favoris ou créez des favoris sur la carte. Importer le fichier GPX Le fichier %1$s ne contient aucune étape, l\'importer comme trace ? Déplacer le point @@ -2590,7 +2590,7 @@ Afficher les instructions de guidage de votre position vers les marques actives. Afficher une ou deux flèches indiquant la direction vers les marques actives. Indiquez comment afficher la distance avec les marques actives. - Indiquez le nombre d\'indications de direction à afficher : + Définir le nombre d\'indications de direction à afficher. Plus Recherche de fichiers de trace GPX avec points de passage Créer et modifier des éléments OSM From 1875a48bd0affe59249193a140d747e87bff2769 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Sat, 23 May 2020 21:41:05 +0000 Subject: [PATCH 077/509] Translated using Weblate (German) Currently translated at 99.9% (3338 of 3341 strings) --- OsmAnd/res/values-de/strings.xml | 33 +++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 6044f488de..4d394b9771 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -465,7 +465,7 @@ mi Standort mitteilen mittels Standort: %1$s -%2$s +\n%2$s Um den Ort zu sehen, folgen Sie dem Weblink %1$s oder dem Android-Intent-Link %2$s Standort senden Standort mitteilen @@ -541,7 +541,7 @@ Aktualisieren Schnellste Route Zur Berechnung der schnellsten Route aktivieren oder für eine kraftstoffsparende Route deaktivieren. - Bei Zoomlevel {0} lade {1} Kacheln\n ({2} MB) + Bei Zoomlevel {0} lade {1} Kacheln ({2} MB) Karte herunterladen Größte zu ladende Vergrößerung Diese Karte konnte nicht geladen werden @@ -1492,8 +1492,8 @@ \nDiese Ansicht kann zurückgestellt werden, indem sie hier wieder deaktiviert wird oder die \'Kartendarstellung\' unter \'Karte konfigurieren\' wie gewünscht geändert wird. Audio Standort: - Lat %1$s - Lon %2$s +\n Lat %1$s +\n Lon %2$s Audio-/Video-Notizen Online-Karte Nur Straßen @@ -1567,7 +1567,7 @@ Veröffentlicht Suchbegriff Lat %1$s -Lon %2$s +\nLon %2$s Abmelden Deaktiviert Höhenbeschränkung @@ -2439,7 +2439,7 @@ Lon %2$s Keine Fotos hier. Fotos von der Straße für jedermann. Plätze entdecken, mitwirken, die Welt im Bild festhalten. Verbessern Sie die Bildberichterstattung mit Mapillary - Installieren Sie die App \'Mapillary\', um dieser Kartenposition ein oder mehrere Fotos hinzuzufügen. + Installieren Sie Mapillary, um Fotos zu dieser Kartenposition hinzuzufügen. Mapillary öffnen Mapillary-Foto Berechtigungen @@ -2554,7 +2554,7 @@ Lon %2$s Passierte ausblenden Auswahl der Entfernungs- und Richtungsangabe für Kartenmarkierungen in der Karte: Kartenausrichtungsgrenzwert - Auswählen, bei welcher Geschwindigkeit die Kartenausrichtung von \'Nach Bewegungsrichtung\' auf \'Nach Kompass\' umschaltet + Auswählen, bei welcher Geschwindigkeit die Kartenausrichtung von \'Nach Bewegungsrichtung\' auf \'Nach Kompass\' umschaltet. Kartenmarkierung in den Verlauf verschoben Notiz konnte nicht geändert werden. Notiz ändern @@ -2612,7 +2612,7 @@ Lon %2$s Nach Datum Nach Typ kann als Favoriten oder GPX-Datei importiert werden. - Audio-, Video- oder Fotonotizen zu jedem Punkt auf der Karte über Bedienelement oder Kontextmenü hinzufügen. + Audio-, Video- oder Fotonotizen zu einem beliebigen Punkt auf der Karte hinzufügen, indem Sie die Widgets oder Kontextmenüs verwenden. Audio-/Video-Notizen nach Datum Ein Tippen auf die Karte schaltet die Steuertasten und Bedienelemente um. • Neu: Unterstützung weltweiter Offline-Reiseführer. Verknüpfung beschriebener Sehenswürdigkeiten zur Landkarte. Die Inhalte basieren derzeit auf Wikivoyage. @@ -2650,7 +2650,7 @@ Lon %2$s Richtungsanzeiger von Ihrem Standort zu aktiven Markierungspunkten einblenden. Ein oder zwei Pfeile anzeigen, die die Richtung zu den aktiven Markierungen angeben. Wählen Sie aus, wie der Abstand zu aktiven Markierungen angezeigt werden soll. - Wählen Sie die Anzahl der Fahrtrichtungsanzeiger: + Wählen Sie die Anzahl der Fahrtrichtungsanzeiger. %1$s bearbeitet, Summe %2$s mBTC OSM-Empfänger Spenden insgesamt @@ -2806,8 +2806,9 @@ Lon %2$s Als Track speichern Sie haben %1$s Punkte hinzugefügt. Geben Sie einen Dateinamen ein und klicken Sie auf „Speichern“. Punkt %1$s gelöscht - Ihre Suchanfrage wird zusammen mit Ihrem Standort gesendet an: „%1$s“. -\nPersönliche Daten werden nicht gesammelt, zur Verbesserung der Suche werden nur die Suchdaten benötigt. + Ihre Suchanfrage wird an: \"%1 s\" gesendet, zusammen mit Ihrem Standort. +\n +\nPersönliche Informationen werden nicht gesammelt, sondern nur Suchdaten, die zur Verbesserung der Suche benötigt werden. Keine Ergebnisse? \nNehmen Sie Kontakt mit uns auf. Suchanfrage senden? @@ -3670,11 +3671,13 @@ Lon %2$s Diese Elemente werden aus dem Menü ausgeblendet, aber die entsprechenden Optionen oder Plugins funktionieren weiterhin. Ordnen Sie Elemente aus %1$s neu an oder blenden Sie sie aus. %1$s / %2$s - Ihr Google Play-Konto wird beim Kauf eines Abonnements belastet, -\nund wenn es abläuft (nach einem Monat, drei Monaten oder einem Jahr) -\nverlängert es sich nicht von selbst, wenn es vorher in Ihren Google Play-Einstellungen gekündigt wurde. + Die Bezahlung wird Ihrem Google Play-Konto bei der Bestätigung des Kaufs belastet. +\n +\n Das Abonnement verlängert sich automatisch, sofern es nicht vor dem Verlängerungsdatum gekündigt wird. Ihr Konto wird für den Verlängerungszeitraum (Monat / drei Monate / Jahr) nur am Verlängerungsdatum belastet. +\n +\n Sie können Ihre Abonnements verwalten und kündigen, indem Sie zu Ihren Google Play-Einstellungen gehen. Suche nach POI-Typen - Kombinieren Sie POI-Typen aus verschiedenen Kategorien. Wenn Sie auf \"Wechseln\" tippen, werden alle ausgewählt, und auf der linken Seite wird die Kategorie ausgewählt. + Kombinieren Sie POI-Typen aus verschiedenen Kategorien. Tippen Sie auf den Schalter, um alle auszuwählen, tippen Sie auf die linke Seite zur Kategorieauswahl. Trenner Schnellaktion Zirkel From 19798fd8ebe61434c2b5198c1735057a49cac84a Mon Sep 17 00:00:00 2001 From: solokot Date: Sun, 24 May 2020 09:47:30 +0000 Subject: [PATCH 078/509] Translated using Weblate (Russian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ru/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index f6446df69a..7cef175d12 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -2344,7 +2344,7 @@ Фильтровать фотографии по отправителю, дате или типу. Фильтры применяются только для больших масштабов. Не удалось импортировать файл. Пожалуйста, убедитесь что OsmAnd имеет разрешение на его чтение. Откорректированное расстояние - Установите Mapillary, чтобы добавить одну или несколько фотографий к этому месту на карте. + Установите Mapillary, чтобы добавить фотографии этого места. Высота маршрута Имя файла GPX: Показать на карте после сохранения @@ -2478,7 +2478,7 @@ Отображать направляющие линии от вашего местоположения до активных маркеров. Отображать одну или две стрелки, указывающие направление на активные маркеры. Выберите способ отображения расстояния до активных маркеров. - Выберите количество указателей направления: + Выберите количество указателей направления. Количество десятичных цифр Вставить Следующее поле @@ -2600,9 +2600,9 @@ Путевая точка 1 Точка маршрута 1 Добавить файлы GPX - Импорт файлов GPX, или запись треков. + Импорт файлов GPX или запись треков. Добавить избранные - Импортируйте избранное, или добавляйте, отмечая точки на карте. + Избранное можно импортировать или создать, отмечая точки на карте. Импортировать файл GPX Переместить точку Добавить в файл GPX @@ -3674,7 +3674,7 @@ \nПодписка продлевается автоматически, если вы не отмените её до даты продления. С вашего счёта будет взиматься плата за период продления (месяц/три месяца/год) разово в день продления. \n \nВы можете управлять подписками и отменять их в настройках Google Play. - Можно объединить типы POI из разных категорий. Нажмите «Переключить», чтобы выбрать все; нажмите слева, чтобы выбрать категорию. + Можно объединить типы POI из разных категорий. Нажмите переключатель, чтобы выбрать все; нажмите слева, чтобы выбрать категорию. Поиск типов POI OsmAnd и Mapillary Путешествие (Викигид и Википедия) From 77584874e98791c2af17b108e169e3f7f64faba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Sun, 24 May 2020 05:33:46 +0000 Subject: [PATCH 079/509] Translated using Weblate (Turkish) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-tr/strings.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 3ea95e3bfc..90aaa300ec 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -2109,7 +2109,7 @@ İçerik menüsünü açmadan, harita üzerinde bir belirtecin üzerine bas ve aktif belirteçlerin üzerine sürükle. \'Tek basış\' aktif Not alın! - Widget veya içerik menüsünü kullanarak, harita üzerinde her nokta için ses, video veya fotoğraf notları al. + Widget veya içerik menülerini kullanarak, haritadaki herhangi bir nokta için ses, video veya fotoğraf notları ekleyin. Tarihe göre sesli/görüntülü notlar Tarihe göre Türe göre @@ -2123,7 +2123,7 @@ Grupları al İki Bir - Yön göstergelerinin sayısını belirtin: + Yön göstergelerinin sayısını belirtin. Ondalık hane sayısı Sağ Sol @@ -2183,7 +2183,7 @@ İzinler Dosya içe aktarılamadı. Lütfen OsmAnd\'ın okuma iznine sahip olduğundan emin olun. Mapillary ile fotoğraf kapsama alanını geliştir - Bu harita konumuna bir ya da daha fazla fotoğraf eklemek için Mapillary yükleyin. + Bu harita konumuna fotoğraf eklemek için Mapillary yükleyin. Çevrim-içi fotoğraflar Fotoğraf ekle Burada fotoğraf yok. @@ -3631,7 +3631,7 @@ \n \n Google Play ayarlarınıza giderek aboneliklerinizi yönetebilir ve iptal edebilirsiniz. POI türleri ara - Farklı kategorilerdeki POI türlerini birleştirin. \"Değiştir\" düğmesine dokunmak hepsini, sol taraf kategoriyi seçer. + Farklı kategorilerdeki POI türlerini birleştirin. Tümünü seçmek için düğmeye, kategori seçimi için sol tarafa dokunun. Yarıçap cetveli OsmAnd izleyici OsmAnd + Mapillary @@ -3679,4 +3679,5 @@ Uygulama profilini değiştir Böyle bir profil bulunamadı. Dünya genel bakış haritası (ayrıntılı) + Desteklenmeyen tür \ No newline at end of file From 3e9c1c5594e11ad8f11257851ed9a2f88af9be74 Mon Sep 17 00:00:00 2001 From: Tymofij Lytvynenko Date: Sun, 24 May 2020 06:19:45 +0000 Subject: [PATCH 080/509] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-uk/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 150624447c..5bda3f8313 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -2435,7 +2435,7 @@ Відкрити Mapillary Встановити Поліпшити фотопокриття Mapillary - Встановіть Mapillary, щоб додати одну або кілька світлин до цього місця на мапі. + Встановіть Mapillary, щоб додати світлини до цього місця на мапі. Зображення Mapillary Відстань виправлена Права доступу @@ -2597,7 +2597,7 @@ Відображати напрямні смуги від Вашого місця розташування до задіяних позначок. Відображати одну або дві стрілки, що вказують напрямок на задіяні позначки. Виберіть спосіб відображення відстані до задіяних позначок. - Виберіть, скільки відображати показників напрямку: + Виберіть, скільки відображати показників напрямку. Направо Наліво Пошук треків з шляховими точками From 3c32216cbef2925391d95f937e01e3ef8f1ba8db Mon Sep 17 00:00:00 2001 From: ace shadow Date: Sun, 24 May 2020 20:01:15 +0000 Subject: [PATCH 081/509] Translated using Weblate (Slovak) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-sk/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index 67fbeb98f6..e364222459 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -2492,7 +2492,7 @@ Pridať súbory GPX Importovať súbory GPX alebo zaznamenať stopy. Pridať obľúbené - Importovať Obľúbené body alebo pridať označením bodov na mape. + Importovať Obľúbené body alebo pridať ich označením bodov na mape. Importovať súbor GPX Súbor %1$s neobsahuje body trasy, naimportovať ako stopu? Presunúť bod @@ -2593,7 +2593,7 @@ Zobraziť smerové čiary z vašej polohy k polohám aktívnych značiek. Zobraziť jednu alebo dve šípky smerujúce k aktívnym značkám. Zvoliť ako chcete zobraziť vzdialenosť k aktívnym značkám. - Zadajte počet smerových šípok: + Zadajte počet smerových šípok. Viac Hľadajú sa stopy s waypointami Vytvoriť alebo upraviť objekty OSM @@ -2604,7 +2604,7 @@ Značka %s aktivovaná. Potlačte značku na mape na jej presunutie na prvé miesto v aktívnych značkách bez otvárania kontextového menu. Urobte poznámky! - Pridajte zvukové, video alebo fotografické poznámky ku každému bodu na mape, pomocou nástroja alebo kontextového menu. + Pridajte zvukové, video alebo fotografické poznámky k ľubovoľnému bodu na mape, pomocou nástroja alebo kontextového menu. Mediálne poznámky podľa dátumu Podľa dátumu Podľa typu @@ -3675,7 +3675,7 @@ \n \n Vaše predplatné môžete spravovať a zrušiť v nastaveniach Google Play. Hľadať typy bodov záujmu - Skombinovať typy bodov záujmov z rôznych kategórií. Stlačenie \"Prepnúť\" vyberie všetky, stlačenie ľavej strany vyberie kategóriu. + Skombinovať typy bodov záujmov z rôznych kategórií. Stlačte prepínač pre vybratie všetkých, stlačte ľavú stranu pre vybratie kategórie. Stopovanie OsmAnd OsmAnd + Mapillary Rýchla akcia From 1b3b2a1ee1408368a487fcbe5635df6853db30a9 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 24 May 2020 10:39:28 +0000 Subject: [PATCH 082/509] Translated using Weblate (Hebrew) Currently translated at 99.9% (3339 of 3341 strings) --- OsmAnd/res/values-he/strings.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index dc3a91f654..f2a46b2596 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -1119,7 +1119,7 @@ פתיחת Mapillary התקנה שיפור כיסוי התמונות עם Mapillary - ניתן להתקין את Mapillary כדי להוסיף תמונה אחת או יותר למיקום הזה במפה. + ניתן להתקין את Mapillary כדי להוסיף תמונות למיקום הזה במפה. תמונות מקוונות הוספת תמונות אין כאן תמונות. @@ -1327,7 +1327,7 @@ הצגת קווי כיוון מהמיקום שלך למיקומי הסמנים הפעילים. הצגת חץ או שניים המציינים את כיוון הסמנים הפעילים. ניתן לבחור כיצד להציג את המרחק עד לסמנים הפעילים. - ציון כמות מחווני כיוון: + ציון כמות מחווני כיוון. כמות הספרות העשרוניות ימין שמאל @@ -1712,7 +1712,7 @@ הוספת קובצי GPX ייבוא קובצי GPX או הקלטת מסלולים. הוספת מועדפים - ייבוא מועדפים או הוספה על ידי סימון נקודות במפה. + ייבוא מועדפים או הוספתם על ידי סימון נקודות במפה. ייבוא קובץ GPX הקובץ %1$s אינו מכיל נקודות דרך, לייבא אותו כמסלול? הזזת נקודה @@ -2004,7 +2004,7 @@ נוספה הסמן %s הופעל. אפשר ליצור הערות! - ניתן להוסיף הערה מסוג שמע, וידאו או תמונה לכל נקודה במפה באמצעות וידג׳ט או תפריט הקשר. + ניתן להוסיף הערה מסוג שמע, וידאו או תמונה לכל נקודה במפה באמצעות הווידג׳טים או תפריטי ההקשר. הערות שמע/וידאו לפי תאריך לפי תאריך לפי סוג @@ -3730,4 +3730,5 @@ החלפת פרופיל יישומון לא ניתן למצוא פרופילים שכאלו. מפת סקירת העולם (מפורטת) + סוג לא נתמך \ No newline at end of file From 53ab25d032393f492a42fd0b6b4074f32c79d0a8 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Sun, 24 May 2020 11:16:07 +0000 Subject: [PATCH 083/509] Translated using Weblate (Polish) Currently translated at 99.2% (3316 of 3341 strings) --- OsmAnd/res/values-pl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index 489c16a393..3913056526 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -2347,7 +2347,7 @@ Reprezentuje obszar: %1$s x %2$s Poprawiona odległość Uprawnienia Nie można zaimportować pliku. Proszę sprawdzić czy program posiada uprawnienia do jego odczytywania. - Linijka promieniowa + Cyrkiel Załaduj ponownie Nazwa użytkownika Data @@ -3683,7 +3683,7 @@ Reprezentuje obszar: %1$s x %2$s Profile nawigacji OsmAnd + Mapillary Szybka czynność - Pomiar kąta + Cyrkiel Mierzenie odległości Podróże (Wikipodróże i Wikipedia) Znaczniki From ce974c312cb25042f7cf65a22c4b4a11bb5c08bc Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Sun, 24 May 2020 10:02:41 +0000 Subject: [PATCH 084/509] Translated using Weblate (Arabic) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ar/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 06d8831200..bfd3848ef5 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -725,9 +725,9 @@ عكس المسار استخدم الوجهة الحالية يمر على طول المسار باكمله - "خريطة التنقل المتوفرة حاليا لهذا الموقع. -\n -\nلتفعليها \'القائمة\' → \'تكوين الخريطة\' → \'مصدر الخريطة ...\' → \'خرائط متجهة بدون اتصال\'." + خريطة التنقل المتوفرة حاليا لهذا الموقع. +\n +\nلتفعليها \'القائمة\' → \'تكوين الخريطة\' → \'مصدر الخريطة ...\' → \'خرائط متجهة بدون اتصال\'. مصدر التوجيه الصوتي اختيار قناة لتشغيل التوجيه الصوتي. صوت المكالمة الهاتفية ( كما يحاول قطع ستريو بلوتوث السيارة ) @@ -2870,7 +2870,7 @@ خط مباشر من موقعك إلى العلامة النشطة. عرض سهم واحد أو اثنين ليشير إلى اتجاه العلامة النشطة. طريقة عرض المسافة من موقعي إلى العلامات النشطة. - عدد الأسهم تجاه العلامات النشطة ( للملاحة في الصحراء): + عدد الأسهم تجاه العلامات النشطة ( للملاحة في الصحراء). أسود ملفات GPX تشغيل @@ -3282,8 +3282,8 @@ عرض الإحداثيات سياسة الخصوصية ساعدنا في جعل أوسماند أفضل - السماح لـ OsmAnd بجمع ومعالجة بيانات استخدام التطبيق المجهول. لا يتم جمع بيانات حول موقعك أو المواقع التي تعرضها على الخريطة. -\n + السماح ل OsmAnd بجمع ومعالجة بيانات استخدام التطبيق المجهول. لا يتم جمع بيانات حول موقعك أو المواقع التي تعرضها على الخريطة. +\n \nقم بإعدادها في أي وقت لاحق في \'الإعدادات\' → \'الخصوصية والأمان\'. اختر نوع البيانات التي تريد مشاركتها: الخرائط التي تم تنزيلها From 4981a63ed4e2198248e09f6670b7f70725d8183b Mon Sep 17 00:00:00 2001 From: iman Date: Sun, 24 May 2020 04:24:40 +0000 Subject: [PATCH 085/509] Translated using Weblate (Persian) Currently translated at 99.7% (3332 of 3341 strings) --- OsmAnd/res/values-fa/strings.xml | 38 +++++++++++++++++--------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index d189deae1e..b9f2f752bb 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -29,7 +29,7 @@ نصب نسخه ظاهر برنامه را به‌دلخواه تنظیم کنید. پوستهٔ برنامه - تنظیمات دسترسی آسان + تنظیمات قابلیت دسترسی مشخص‌کردن نشانی انتخاب نقطهٔ موردعلاقه تغییرات OsmAnd @@ -423,7 +423,7 @@ راهنما روشن خاموش - طبق تنظیمات کلی دستگاه + طبق تنظیمات دستگاه برگشتن به منو ریزتر درشت‌تر @@ -985,13 +985,13 @@ با ایجاد یا اصلاح نقاط توجه (POI)، ایجاد یادداشت‌های OSM یا نظردادن روی آن‌ها و بارگذاری فایل‌های GPXای که ضبط کرده‌اید در تکمیل نقشهٔ OSM مشارکت کنید. برای این منظور لازم است نام کاربری و گذرواژهٔ خود را در OsmAnd وارد کنید. OpenStreetMap.org یک پروژهٔ نقشه‌کشی جامعه‌محور، جهانی و در مالکیت عمومی است. گفتاری را انتخاب کنید و با پخش پیام‌ها، آن را امتحان کنید: رندر بومی - حالت دسترسی آسان + حالت قابلیت دسترسی امکانات موردنیاز برای کاربران مبتلا به نارسایی جسمی را فعال می‌کند. جهت‌ها (۸سویه) میزان بزرگ‌نمایی نقشه را با حرکت افقی گوی مکان‌نما تغییر دهید. استفاده از گوی مکان‌نما برای کنترل بزرگ‌نمایی - تنظیمات مربوط به دسترسی آسان. - دسترسی آسان + تنظیمات مربوط به قابلیت دسترسی. + قابلیت دسترسی نشانی اینترنتی را با این پارامترها تعریف کنید: \nlat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6} نشانی اینترنتی ردیابی آنلاین @@ -1638,7 +1638,7 @@ مقیاس پیاده‌گردی آلپاین (SAC) بازکردن در بستن در - هزینهٔ اشتراک ماهانه است. هر زمان که خواستید، اشتراک خود را در گوگل‌پلی لغو کنید. + هزینهٔ اشتراک مطابق دورهٔ انتخابی است. هر زمان که خواستید، اشتراک خود را در گوگل‌پلی لغو کنید. کمک مالی به جامعهٔ OSM بخشی از کمک‌های مالی به مشارکت‌کنندگان OSM داده می‌شود. هزینهٔ اشتراک تغییری نمی‌کند. این اشتراک، به‌روزرسانی‌های ساعتی، روزانه و هفتگی و نیز امکان دانلود نامحدود همهٔ نقشه‌ها را فعال می‌کند. @@ -2240,7 +2240,7 @@ تلاش مجدد افزودن خط افزودن نقاط موردعلاقه - نقاط موردعلاقه را درون‌برد کنید یا آن‌ها را روی نقشه علامت بزنید. + علاقه‌مندی‌ها را درون‌برد کنید یا با علامت‌گذاری روی نقشه آن‌ها را اضافه کنید. جابه‌جاکردن نقطه یک کپی از مبدأ را به‌عنوان مقصد بیفزا. ایجاد سفر رفت‌وبرگشتی @@ -2298,7 +2298,7 @@ بازکردن مپیلاری نصب با مَپیلاری پوشش تصویری را بهتر کنید - برنامهٔ Mapillary را نصب کنید و یک یا چند عکس به این نقطه از نقشه اضافه کنید. + برنامهٔ Mapillary را نصب کنید و به این موقعیت در نقشه چند عکس اضافه کنید. تصاویر آنلاین افزودن تصویر اینجا عکسی ندارد. @@ -2614,7 +2614,7 @@ خطوط جهت‌داری را از موقعیت شما به‌سمت نشانه‌های فعال نمایش می‌دهد. با یک یا دو پیکان، سمت قرارگیری نشانه‌های فعال روی نقشه را نمایش می‌دهد. مشخص کنید مسافت شما تا نشانه‌های فعال کجا نشان داده شود. - تعداد جهت‌نماها را مشخص کنید: + تعداد جهت‌نماها را مشخص کنید. تنظیمات ظاهری ردّی را انتخاب کنید تا نقاط بین‌راهیِ آن را به نشانه‌ها اضافه کنید. دسته‌ای از نقاط موردعلاقه را انتخاب کنید تا به نشانه‌ها اضافه شود. @@ -2639,7 +2639,7 @@ فعال‌سازی «با یک لمس» یادداشت بگذارید! با استفاده از ابزارک یا منوی زمینه، برای هر نقطه‌ای روی نقشه یادداشت صوتی، عکسی یا ویدئویی بگذارید. - یادداشت‌های OSM بر اساس تاریخ + یادداشت‌های صوتی/تصویری بر اساس تاریخ بر اساس تاریخ بر اساس نوع جست‌وجوی خود را تغییر دهید. @@ -3449,7 +3449,7 @@ نماد، رنگ و نام ویرایش لیست پروفایل پروفایل انتخاب‌شده - با زدن روی %1$s، همهٔ تغییرات شما از بین می‌رود. + زدن روی %1$s، همهٔ تغییراتتان را از بین می‌برد. همهٔ تنظیمات پروفایل به حالت اولیهٔ پس از نصب بازنشانی می‌شود. همهٔ تنظیمات پروفایل را بازنشانی می‌کنید؟ %1$s: ‪%2$s‬ @@ -3518,7 +3518,7 @@ %1$s‏/%2$s غروب خورشید در %1$s طلوع خورشید در %1$s - حالت دسترسی آسان در دستگاه شما غیرفعال است. + حالت قابلیت دسترسی در دستگاهتان خاموش شده است. استفاده از زمان خاموشی صفحهٔ دستگاه پیشفرض غیرفعال است، اگر OsmAnd در پیش‌زمینه اجرا باشد صفحه خاموش نمی‌شود. \n @@ -3555,7 +3555,7 @@ قابل‌استفاده لطفاً یک نام برای پروفایل بنویسید بازکردن تنظیمات - افزونه غیرفعال شد + افزونه خاموش این افزونه یک برنامهٔ جداگانه است. اگر دیگر لازمش نداشتید باید جداگانه آن را حذف کنید. \n \nبا حذف OsmAnd، این افزونه روی دستگاه باقی می‌ماند. @@ -3563,12 +3563,12 @@ %1$s — %2$s — %3$s مسیریابی شامل دادهٔ افزوده - پروفایلِ درون‌بردی حاوی دادهٔ افزوده است. «درون‌برد» را بزنید تا فقط دادهٔ پروفایل درون‌برد شود. «دادهٔ افزوده» را انتخاب کنید تا آن را نیز درون‌برد کنید. + پروفایلِ درون‌بردی حاوی دادهٔ افزوده است. «درون‌برد» را بزنید تا فقط دادهٔ پروفایل درون‌برد شود، یا «دادهٔ افزوده» را انتخاب کنید تا آن را نیز درون‌برد کنید. می‌توانید همراه پروفایل، دادهٔ افزوده را نیز برون‌برد کنید. جنوبگان اعلام پیشفرض برنامه (%s) - غیرفعال‌سازی محاسبهٔ مجدد + بدون محاسبهٔ مجدد مسافت کمینی برای مسیریابی مجدد اگر مسافت تا مسیر بیش از پارامتر تعیین‌شده باشد، مسیر دوباره محاسبه می‌شود پروفایل سفارشی @@ -3650,9 +3650,9 @@ زبان‌ها زبان همهٔ زبان‌ها - تعداد اقلام کشو را به‌دلخواه تنظیم کنید، نقشه و منوی زمینه را پیکربندی نمایید. + تعداد اقلام «کشو»، «پیکربندی نقشه» و «منوی زمینه» را به‌دلخواه تنظیم کنید. \n -\nمی‌توانید افزونهٔ بی‌استفاده را غیرفعال کنید تا همهٔ کنترل‌های آن از برنامه پنهان شود. +\nافزونه‌های بی‌استفاده را غیرفعال کنید تا همهٔ کنترل‌های آن‌ها از برنامه پنهان شود. پنهان‌سازی تنظیمات آن‌ها را به حالت اولیه بازنشانی می‌کند. این اقلام از منو پنهان می‌شوند، اما گزینه‌ها یا افزونه‌های متناظر همچنان کار می‌کنند. پنهان @@ -3662,7 +3662,7 @@ اقلام کشو، منوی زمینه سفارشی‌سازی واسط کاربری کنش‌های منوی زمینه - کنش‌های اصلی فقط ۴ دکمه است. + فقط چهار دکمه دارد. کنش‌های اصلی افزونهٔ توسعه‌دهنده چیزهایی که از این نقطه به پایین قرار می‌گیرند، با جداکننده جدا می‌شوند. @@ -3750,4 +3750,6 @@ تغییر پروفایل برنامه چنین پروفایلی پیدا نشد. نقشهٔ نمای کلی جهان ( با جزئیات) + ازسرگیری + نوع پشتیبانی‌نشده \ No newline at end of file From 2ec4c5f8b8e0bd5dd6b1198e2c6feba7f6d1e669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Sun, 24 May 2020 05:07:22 +0000 Subject: [PATCH 086/509] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 9.0% (302 of 3341 strings) --- OsmAnd/res/values-nb/strings.xml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 6f180742de..627aa15501 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -2354,7 +2354,7 @@ Vis retningsbestemte linjer fra din posisjon til de aktive markørplasseringene. Vis én eller to piler som indikerer retningen til de aktive markørene. Velg hvordan avstanden til aktive markører skal vises. - Velg antall retningsindikatorer: + Velg antall retningsindikatorer. Et trykk på kartet skjuler/viser kontrollknappene og miniprogrammene. Marker som passert Kunne ikke endre notatet. @@ -3285,7 +3285,7 @@ \n \n • Ny kartnedlasting-dialog foreslår et kart til nedlasting mens man utforsker \n -\n • Nattdraktfikser +\n • Fikser for mørke drakter \n \n • Flere rutingsproblemer rundt om i verden fikset \n @@ -3624,4 +3624,27 @@ Skigåing Ustøttet type Velg hvor mye avviksdistanse som skal utløse omruting. + Du kan velge ytterligere data å eksportere sammen med profilen. + Importer profil inneholder ytterligere data. Klikk «Import» for å importere kun profildata, eller velg ytterligere data. + Alle programtilleggsinnstillinger tilbakestilt til opprinnelse. + Du kan legge til en ny egendefinert kategori ved å velge én eller flere nødvendige kategorier. + Endre listens sorteringsrekkefølge, skjul unødvendige kategorier. Du kan importere eller eksportere alle endringer med profiler. + Endre kategoriforordning + Ruten vil bli kalkulert igjen hvis distansen til ruten er lengre enn angitt parameter + Dette programtillegget er et eget program, du vil måtte fjerne det for seg hvis du ikke lenger vil bruke det. +\n +\nDette programtillegget vil forbli på enheten etter fjerning av OsmAnd. + Importerte elementer vil bli lagt til med fortegnelse + Tilpass mengden elementer i \"Skuff\", \"Sett opp kart\", og \"Bindeleddsmeny\". +\n +\nSkru av ubrukte programtillegg for å skjule alle deres styringskontroller. %1$s. + Disse elementene er skjult fra menyen, men de representerte valgene eller programtilleggene vil fortsette å virke. + Velg språkene Wikipedia-artikler skal vises på i kartet. Du kan bytte mellom alle tilgjengelige språk mens du leser artikkelen. + Veiledning til kartets merking. + Ruteplanlegging + Minste avvik for anvisning av ny rute. + OsmAnd har allerede elementer med samme navn som de i importen. +\n +\nVelg en handling. + Kombiner interessepunkttyper fra forskjellige kategorier. Trykk for å velge alle, og venstre side for kategorivalg. \ No newline at end of file From 06e4761ae2a3ec86622c802019e370a7949d0d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1ns?= Date: Sat, 23 May 2020 23:54:27 +0000 Subject: [PATCH 087/509] Translated using Weblate (Galician) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-gl/strings.xml | 46 +++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml index fa9509ea7b..fef81238d4 100644 --- a/OsmAnd/res/values-gl/strings.xml +++ b/OsmAnd/res/values-gl/strings.xml @@ -1931,7 +1931,7 @@ Lon %2$s Eliminar o filtro Filtro novo Insire o nome do novo filtro, que se engadirá na túa lapela das \"Categorías\". - Cobraráseche unha subscrición mensual. Podes desbotar a túa subscrición na Google Play en calquera intre. + Cobraráseche unha subscrición polo período escollido. Podes desbotar a túa subscrición na Google Play en calquera intre. Doazón á comunidade do OSM Parte da túa doazón envíase ós contribuíntes do OSM. O custo da subscrición segue sendo a mesma. A subscrición permite actualizacións a cada hora, día ou semana e descargas ilimitadas de xeito global para todo os mapas. @@ -2222,7 +2222,7 @@ Lon %2$s Instalar Mellorar a cobertura das imaxes co Mapillary Abrir Mapillary - Instala o Mapillary para engadir unha ou máis imaxes a esta localización do mapa. + Instala o Mapillary para engadir imaxes a esta localización do mapa. Imaxes da rede Deter/Voltar á navegación Un botón para deter ou voltar á navegación. @@ -2337,7 +2337,7 @@ Lon %2$s No mapa aparece unha liña que conecta a túa posición até as localizacións das marcaxes activas. No mapa amósanse unha ou dúas frechas que indican a dirección ás marcaxes activas. Escolle de que xeito che gostaría ollar a distancia ás marcaxes activas. - Especifica o número de indicadores de dirección: + Especifica o número de indicadores de dirección. Número de díxitos decimais Dereita Esquerda @@ -2412,7 +2412,7 @@ Lon %2$s Accións Marcaxe Crear ou modificar obxectos de OSM - Crear ou modificar PDI do OSM, abrir ou comentar Notas do OSM e contribuír con ficheiros GPX gravados. + Crear ou modificar PDI do OSM, abrir ou comentar notas no OSM e contribuír con ficheiros GPX gravados. Eliminado Editado Engadido @@ -2420,7 +2420,7 @@ Lon %2$s Preme nunha marcaxe do mapa para movela cara a parte de enriba das marcaxes activas sen abrir o menú contextual. Activar cun toque Crea notas! - Engada unha nota de son, vídeo ou imaxe a cada punto do mapa empregando o trebello ou o menú de contexto. + Engadir notas de son, vídeo ou imaxe a calquera punto do mapa empregando os trebellos ou os menús contextuais. Notas A/V por data Por data Por tipo @@ -3443,7 +3443,7 @@ Lon %2$s Icona, cor e nome Editar a listaxe de perfís Perfil seleccionado - Ó premer en %1$s, serán desbotadas todas as túas modificacións. + Ó premer en %1$s desbotas todas as túas modificacións. Restabelecer todos os axustes do perfil ós valores por defecto da instalación. Restabelecer todos os axustes do perfil\? %1$s %2$s @@ -3512,7 +3512,7 @@ Lon %2$s %1$s/%2$s Solpor ás %1$s Amencer ás %1$s - Modo de accesibilidade desactivado no teu sistema. + Modo de accesibilidade desactivado no teu Android. Empregar o tempo de espera da pantalla do sistema Desactivado de xeito predefinido, se o OsmAnd é executado en primeiro plano, a pantalla manterase acendida. \n @@ -3556,13 +3556,13 @@ Lon %2$s %1$s — %2$s — %3$s Enrutamento Incluír datos adicionais - O perfil importado contén datos adicionais. Preme en \"Importar\" para importar só datos de perfil ou marca datos adicionais para importar. + O perfil importado contén datos adicionais. Preme en \"Importar\" para importar só datos de perfil ou marca datos adicionais. Podes marcar datos adicionais para exportar ó carón do perfil. Antártida Amosar notificación do sistema durante a navegación con instrucións de navegación. Notificación de navegación Aplicación por defecto (%s) - Desactivar recálculo + Sen recálculo Distancia mínima para recalcular a ruta A ruta será recalculada se a distancia á ruta é maior que o parámetro especificado Perfil personalizado @@ -3606,7 +3606,7 @@ Lon %2$s Lingua Todas as linguas Precísanse mapas adicionais para ollar os PDI da Wikipedia no mapa. - As \"Accións principais\" conteñen só 4 botóns. + Só ten catro botóns. Accións principais Só podes mover obxectos dentro desta categoría. Escolle as linguas nas que os artigos da Wikipedia aparecerán no mapa. Podes trocar entre todos as linguas dispoñíbeis en canto leas o artigo. @@ -3666,7 +3666,7 @@ Lon %2$s A ruta será recalculada se a distancia á localización actual é maior que o valor escollido. %1$s de %2$s Pendentes - Amosar/agochar terreo + Amosar / agochar terreo Agochar terreo Amosar terreo Un botón que amosa ou agocha a capa do terreo no mapa. @@ -3678,9 +3678,9 @@ Lon %2$s Octógono Cadrado Mín - Personaliza a morea de elementos na gabeta, na configuración do mapa e o menú contextual. + Personaliza a cantidade de elementos na \"Gabeta\", na \"Configuración do mapa\" e no \"Menú contextual\". \n -\nPodes desactivar os plugins non enpregados, para agochar todos os seus controis da aplicación %1$s. +\nDesactiva os plugins non enpregados, para agochar todos os seus controis da aplicación %1$s. Elementos da gabeta, menú contextual Personalización da interface de usuario Gabeta @@ -3698,7 +3698,7 @@ Lon %2$s \n \n  Podes xestionar e desbotar as túas subscricións entrando nos axustes da Google Play." Procurar tipos de PDI - Combina tipos de PDI de diferentes categorías. Preme en \"Trocar\" para marcar todo, preme o lado esquerdo para escoller unha categoría. + Combina tipos de PDI de diferentes categorías. Preme en \"trocar\" para marcar todo, preme o lado esquerdo para escoller unha categoría. Acción %1$s non admitida Rastrexador do OsmAnd OsmAnd + Mapillary @@ -3710,17 +3710,17 @@ Lon %2$s Favoritos Subscrición - OsmAnd Live Compras do OsmAnd - A guía para a simboloxía dun mapa + A guía para a simboloxía dun mapa. Perfís de navegación • Novos mapas sen conexión das pendentes \n \n • Personalización máis completa dos favoritos e puntos de referencia GPX (cores personalizadas, iconas, formas) \n -\n • Nova personalización na orde dos elementos en Configurar mapa, menú contextual e menú lateral +\n • Nova personalización na orde dos elementos en \"Configurar mapa\", \"menú contextual\" e \"gabeta\" \n \n • A Wikipedia agora visualízase coma una capa separada en Configurar mapa, escolle só as linguas precisas \n -\n • Crea o teu propio filtro/mapas de puntos de interese, con total flexibilidade +\n • Crea o teu propio filtro / mapas de puntos de interese, con total flexibilidade \n \n • Engadíronse opcións para restabelecer os axustes dos perfís personalizados \n @@ -3735,15 +3735,17 @@ Lon %2$s Podes acceder a estas accións premendo no botón “%1$s”. Agochar transporte público Amosar transporte público - Amosar/agochar transporte público - Un botón que amosa ou agocha o transporte público no mapa. - Crear/Editar PDI + Amosar / agochar transporte público + Botón que amosa ou agocha o transporte público no mapa. + Crear / Editar PDI Posicións de aparcamento Engadir / Editar favorito Restabelecer a orde dos elementos predefinidos Voltar á edición - Premendo no botón de acción mudarase entre os perfís escollidos. + O botón de acción troca entre os perfís escollidos. Engadir perfil Mudar perfil da aplicación - Non se atoparon os perfís marcados para esta acción. + Non foi posíbel atopar ningún destes perfís. + Mapa xeral do mundo (detallado) + Tipo non admitido \ No newline at end of file From faf5d24928e3a307a26e6b45216dc5a2ee007ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1ns?= Date: Sat, 23 May 2020 23:54:04 +0000 Subject: [PATCH 088/509] Translated using Weblate (Galician) Currently translated at 100.0% (3804 of 3804 strings) --- OsmAnd/res/values-gl/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-gl/phrases.xml b/OsmAnd/res/values-gl/phrases.xml index 1c18955685..0ba169567c 100644 --- a/OsmAnd/res/values-gl/phrases.xml +++ b/OsmAnd/res/values-gl/phrases.xml @@ -3816,4 +3816,5 @@ Augas subterráneas Tubaxe Presión + Estado da bomba: sen chave \ No newline at end of file From 6f0ffb7680e6dab358245d70ca9af2b144dd4b78 Mon Sep 17 00:00:00 2001 From: Benjamin Goodger Date: Sat, 23 May 2020 22:25:48 +0000 Subject: [PATCH 089/509] Translated using Weblate (Dutch) Currently translated at 86.0% (3275 of 3804 strings) --- OsmAnd/res/values-nl/phrases.xml | 158 ++++++++++++++++++++++++++++++- 1 file changed, 154 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-nl/phrases.xml b/OsmAnd/res/values-nl/phrases.xml index b690022e15..8f2054e94b 100644 --- a/OsmAnd/res/values-nl/phrases.xml +++ b/OsmAnd/res/values-nl/phrases.xml @@ -1274,7 +1274,7 @@ Sneeuwmobiel Skating Geen - Buckels + Mogul Tuin bij woonhuis Gemeenschappelijke tuin Privé-tuin @@ -1594,13 +1594,13 @@ Reparatie van elektrische voertuigen Motorfiets-reparatie Ja - Geen zelfbediening + Nee Ja Geen automaat Full-service Ja Borstelloos: nee - Auto wassen: nee + Nee Man Verboden voor mannen Vrouw @@ -2372,7 +2372,7 @@ Buschenschank Grill Bagel - Diner + Eethuis Worst Taart Pannenkoeken @@ -3138,4 +3138,154 @@ Militair/openbaar Privaat Balkan + Ondersteuning: hangend + Boven + Onderwater + Metaalrooster + Kunstgras + Berggebied + Couloir + VHF-kanaal + Transportkantoor + Sociale voorzieningen + Overheidsdienst + Rijksarchief + Geen kano’s + Geen kajaks + Geen bijboten + Geen zeilboten + Geen jetskis + Geen waterfietsen + Geen woonboten + Geen motorboten + Bootverhuur + Reservering niet mogelijk + Reservering aangeraden + Geen winterkamer + Richting: uit + Ruimtehaven + Vrijlaten: ja + Adoptie: ja + Standaard + Offroadmotor + Sportmotor + Geen motorkleren + Geen banden + Geen onderdelen + Geen reparatie + Geen verhuur + Verkoop tweedehands + Verkoop: nee + Tribunes + Volière + Verblijf + Dierentuin + Taalschool + Kinderkamp + Telefonisch reparatiebedrijf + Wijn geserveerd + Bouw: verborgen + Bouw: raster + Soort + Fijn voedsel + Website + Emmer + Mosselkwekerij + Geen datumweergave + Soort: paddock + Paarden houden + Dierenhouden + Voedingsmiddelenwinkel + Verlichting + Dierenvoederplaats + Soort: plank + Soort: telefooncel + Openingstijden op kerstdagen + Kerstwinkel + Watertank + Consulaat + Reizigersinformatiedisplay: nee + Ondersteuning: sokkel + Analoge wijzerplaat + Toestelreparatiezaak + Kantoor van energieleverancier + Wijnwinkel + Spoorwegemplacement + Bouw: koepel + Bouw: vrijstandig + Soort: open stal + Schapen houden + Fotoatelier + E-sigarettenwinkel + Pachinko + Goklocatie + Slotenmaker + Feestwinkel + Sagardotegi + Soort: metaalkast + Soort: leesvak + Openbare boekenkast + Kerstmis: locatie + Kerstmis: opmerking + Kerstboomwinkel + Kerstpiramide + Puttenlatrine + Hoge Commissaris + Ereconsulaat + Alleen + Garnalenkwekerij + Ondersteuning: toren + Ondersteuning: billboard + Wandmontage + Zonnewijzer + Kerstevenement + Chemisch toilet + Spoeltoilet + Brandweerkazerne + Ambassadeurswoning + Permanente missie + Consulaat-generaal + Verkeersspiegel + Hoofdverdelingskader (MDF) + Aquacultuur: vis + Aquacultuur + Reizigersinformatiedisplay: ja + Ondersteuning: dak + Ondersteuning: plafond + Ondersteuning: terrein + Ondersteuning: boom + Ondersteuning: paal + Datumaanduiding + Digitaal beeldscherm + Beeldscherm: ja + Vertoning: nee + Pompstation + Uitvoer: biogas + Uitvoervermogen (biogas) + Uitvoer: vacuüm + Uitvoer: perslucht + Uitvoervermogen (perslucht) + Uitvoervermogen (warme water) + Uitvoer: koud water + Uitvoer: warme lucht + Uitvoer: stoom + Uitvoer: warme water + Uitvoer (stroom): nee + Uitvoer: stroom + Uitgangsvermogen + Kaslandbouw + Zwaartekracht + Troika-kaarten niet geaccepteerd + Troika-kaarten + Pompstatus: gesloten + Pompstatus: defecte + Pompstatus: ok + Pompstijl: historische + Pompsoort: India Mk II of III + Pompsoort: balkenmotor + Vrij-vliegen star: nee + Star + Druk + Pompstijl: moderne + Pompsoort: zwaartekracht \ No newline at end of file From c96cdf93c7843ea9fe9b0ab149623b6c06b8f611 Mon Sep 17 00:00:00 2001 From: Franco Date: Sun, 24 May 2020 12:24:13 +0000 Subject: [PATCH 090/509] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 52 ++++++++++++++-------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index f6f12f8258..23460c47da 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -779,24 +779,24 @@ \n Los PDI de OsmAnd están siendo desarrollados activamente. Nuestro proyecto y su continuo progreso, se basa en contribuciones económicas para desarrollar y probar nuevas funcionalidades. Por favor, considera comprar OsmAnd+, financiar nuevas funciones o hacer una donación general en https://osmand.net. Navegación y Mapas OsmAnd+ Visor y navegador móvil global de mapas OSM con y sin conexión - OsmAnd+ (OSM Automated Navigation Directions, y en español, Guía de Navegación Automatizada de OSM) + OsmAnd+ (OSM Automated Navigation Directions, y en español, Guía de Navegación Automatizada de OSM) \n -\nOsmAnd+ es un software de navegación de código abierto con acceso a una amplia variedad de datos globales de OSM. Todos los datos del mapa (vectores y teselas), pueden ser almacenados en la memoria del teléfono para su uso sin conexión. Ofrece funcionalidades de rutas con y sin conexión, incluyendo guía de giro-a-giro por voz. +\nOsmAnd+ es un software de navegación de código abierto con acceso a una amplia variedad de datos globales de OSM. Todos los datos del mapa (vectores y teselas), pueden ser almacenados en la memoria del teléfono para su uso sin conexión. Ofrece funcionalidades de rutas con y sin conexión, incluyendo guía de giro-a-giro por voz. \n -\n OsmAnd+ es la versión de pago de la aplicación, comprándola ayudas al proyecto, financias el desarrollo de nuevas funciones, y recibes las últimas actualizaciones. +\n OsmAnd+ es la versión de pago de la aplicación, comprándola ayudas al proyecto, financias el desarrollo de nuevas funciones, y recibes las últimas actualizaciones. \n -\n Algunas de las funciones fundamentales: -\n - Completa funcionalidad sin conexión (guarda los mapas vectoriales o teselas descargados en el almacenamiento del dispositivo) -\n - Mapas mundiales vectoriales compactos disponibles -\n - Descarga ilimitada de mapas de países o regiones directamente desde la aplicación -\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés, Favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable +\n Algunas de las funciones fundamentales: +\n - Completa funcionalidad sin conexión (guarda los mapas vectoriales o teselas descargados en el almacenamiento del dispositivo) +\n - Mapas mundiales vectoriales compactos disponibles +\n - Descarga ilimitada de mapas de países o regiones directamente desde la aplicación +\n - Posibilidad de superponer varias capas de mapa, como GPX o rutas de navegación, Puntos de Interés, Favoritos, curvas de nivel, paradas de transporte público, mapas adicionales con transparencia personalizable \n -\n - Búsqueda sin conexión de direcciones y sitios (PDI) -\n - Rutas sin conexión para distancias de rango medio -\n - Modos de automóvil, bicicleta y peatón con opcional: -\n - Cambio automático de modo diurno/nocturno -\n - Zoom del mapa según la velocidad -\n - Alineación del mapa, según brújula o dirección del movimiento +\n - Búsqueda sin conexión de direcciones y sitios (PDI) +\n - Rutas sin conexión para distancias de rango medio +\n - Modos de automóvil, bicicleta y peatón con opcional: +\n - Cambio automático de modo diurno/nocturno +\n - Zoom del mapa según la velocidad +\n - Alineación del mapa, según brújula o dirección del movimiento \n - Indicación de carriles, mostrar límites de velocidad, voces grabadas y sintetizadas \n Crear filtro PDI @@ -2437,7 +2437,7 @@ Sin fotos aquí. Instalar Mejorar cobertura de fotos con Mapillary - Instala Mapillary para añadir una o más fotos a esta ubicación del mapa. + Instala Mapillary para añadir fotos a esta ubicación del mapa. Abrir Mapillary Imagen de Mapillary Distancia recorrida @@ -2501,7 +2501,7 @@ Añadir archivos GPX Importa archivos GPX o graba trazas. Añadir favoritos - Importar Favoritos o añadir mediante puntos de marcación en el mapa. + Importa los Favoritos o añádelos marcando puntos en el mapa. Importar archivo GPX El archivo «%1$s» no contiene puntos de referencia, ¿Quieres importarlo como una traza? Mover punto @@ -2601,7 +2601,7 @@ Muestra líneas direccionales desde su ubicación hasta los marcadores activos. Muestra una o dos flechas indicando la dirección a los marcadores activos. Elige cómo mostrar la distancia a los marcadores activos. - Define el número de indicadores de dirección: + Define el número de indicadores de dirección. Aspecto en el mapa Buscando trazas con puntos de referencia Más @@ -2614,7 +2614,7 @@ Pulsa un marcador en el mapa para moverlo al primer lugar de los marcadores activos, sin abrir el menú contextual. Activar «Una pulsación» ¡Hacer notas multimedia! - Añade una nota de audio, vídeo o foto para cada punto del mapa, utilizando el widget o el menú contextual. + Añade una nota de audio, vídeo o foto a cualquier punto del mapa, usando el widget o el menú contextual. Notas multimedia por fecha Por fecha Por tipo @@ -3142,21 +3142,21 @@ Error OsmAnd falló la última vez. Por favor, ayúdanos a mejorar OsmAnd compartiendo el mensaje de error. OVNI - • Perfiles de aplicación: crea un perfil personalizado según tus necesidades, con un icono y color personalizado + • Perfiles de aplicación: crea un perfil personalizado según tus necesidades, con un icono y color personalizado \n -\n • Ahora puedes personalizar las velocidades predefinidas, máximas y mínimas de cualquier perfil +\n • Ahora puedes personalizar las velocidades predefinidas, máximas y mínimas de cualquier perfil \n -\n • Se ha añadido un widget para las coordenadas actuales +\n • Se ha añadido un widget para las coordenadas actuales \n -\n • Se añadieron opciones para mostrar la brújula y una regla radial en el mapa +\n • Se añadieron opciones para mostrar la brújula y una regla radial en el mapa \n -\n • Se ha corregido la grabación de trazas en segundo plano +\n • Se ha corregido la grabación de trazas en segundo plano \n -\n • Se mejoraron las descargas de mapas en segundo plano +\n • Se mejoraron las descargas de mapas en segundo plano \n -\n • Se ha corregido la selección de idioma de Wikipedia +\n • Se ha corregido la selección de idioma de Wikipedia \n -\n • Se ha corregido el comportamiento de los botones de la brújula durante la navegación +\n • Se ha corregido el comportamiento de los botones de la brújula durante la navegación \n \n • Otras correcciones de errores \n From 9441f75c8fb6250ee79dc32f36e2b69c93d75abb Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Sun, 24 May 2020 15:50:00 +0000 Subject: [PATCH 091/509] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.9% (3340 of 3341 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 00fae9b1f8..b5c6b636f7 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -2055,7 +2055,7 @@ Pôr do Sol: %2$s Abrir o Mapillary Instalar Melhorar a cobertura fotográfica com Mapillary - Instale Mapillary para adicionar uma ou mais fotos para este local do mapa. + Instale Mapillary para adicionar fotos neste local do mapa. Fotos on-line Adicionar fotos Não há fotos aqui. @@ -2160,7 +2160,7 @@ Pôr do Sol: %2$s Mostrar linha direcional desde a sua posição até os locais dos marcadores ativos. Mostrar uma ou duas setas indicando a direção para os marcadores ativos. Escolher como exibir a distância para os marcadores ativos. - Especifique o número de indicadores de direção: + Especifique o número de indicadores de direção. Número de casas decimais Direita Esqueda @@ -2278,7 +2278,7 @@ Pôr do Sol: %2$s Transliterar nomes Arquivo %1$s não possui pontos de passagem, importe-o como uma trilha? Adicionar a um arquivo GPX - Adicione notas de áudio, vídeo ou foto em qualquer ponto do mapa, usando o widget ou o menu de contexto. + Adicione notas de áudio, vídeo ou foto em qualquer ponto do mapa, usando o widget ou os menus de contexto. Um botão para fazer com que a tela centralize o destino da rota, um destino selecionado anteriormente se tornaria o último destino intermediário. Um botão para fazer com que a tela centralize o novo destino da rota, substituindo o destino selecionado anteriormente (se houver). Um botão para fazer com que a tela centralize o primeiro destino intermediário. @@ -2539,7 +2539,7 @@ Pôr do Sol: %2$s Adicione arquivos GPX Importe arquivos GPX ou grave trilhas. Adicione Favoritos - Importe Favoritos ou adicione novos marcando pontos do mapa. + Importe Favoritos ou adicione-os marcando pontos do mapa. Importar arquivo GPX Mover Ponto Destinatários OSM @@ -2718,8 +2718,7 @@ Pôr do Sol: %2$s Arquivos GPX Hora de chegada intermediária Hora intermediária - Adquira OsmAnd Live para desbloquear todos estes recursos: -\nAtualização diária de mapa com downloads ilimitados, todos os plugins grátis e pagos, Wikipédia, Wikivoyage e muito mais. + Adquira OsmAnd Live para desbloquear todos estes recursos: Atualização diária de mapa com downloads ilimitados, todos os plugins pagos grátis, Wikipédia, Wikivoyage e muito mais. Modificação do estilo padrão para aumentar o contraste de vias de pedestre e bicicleta. Usa as cores Mapnik antigo. Para condução off-road com base no estilo \"Topo\" e para utilização com imagens de satélite verdes como mapa de fundo. Espessura de via principal reduzido, espessura das trilhas, caminhos, ciclovias e outras vias aumentado. Para navegação náutica. Apresenta boias, faróis, vias fluviais, vias e sinais marítimos, portos, serviços de navegação e curvas batimétricas. @@ -3451,7 +3450,7 @@ Pôr do Sol: %2$s Efeito colateral: como resultado da filtragem por precisão, os pontos podem estar totalmente ausentes por ex. embaixo de pontes, sob árvores, entre prédios altos ou com certas condições climáticas. Recomendação: É difícil prever o que será gravado e o que não será, talvez seja melhor desativar esse filtro. Observação: se o GPS estava desligado imediatamente antes de uma gravação, o primeiro ponto medido pode ter uma precisão diminuída; portanto, em nosso código, podemos esperar um segundo antes da gravação de um ponto (ou gravar o melhor de três pontos consecutivos, etc.), mas isso ainda não foi implementado. - Esse filtro evita que pontos duplicados sejam gravados onde muito pouco movimento real possa ter ocorrido, cria uma aparência espacial mais agradável das faixas que não são processadas posteriormente posteriormente. + Esse filtro evita que pontos duplicados sejam gravados onde muito pouco movimento real possa ter ocorrido, cria uma aparência espacial mais agradável das trilhas que não são processadas posteriormente. Efeitos colaterais: Períodos em repouso não são registrados em absoluto ou em apenas um ponto cada. Pequenos movimentos (do mundo real) (por exemplo, de lado, para marcar um possível desvio na sua viagem) podem ser filtrados. Seu arquivo contém menos informações para pós-processamento e possui estatísticas piores ao filtrar pontos obviamente redundantes no tempo de gravação, mantendo potencialmente artefatos causados por má recepção ou efeitos de chipset GPS. Recomendação: Uma configuração de 5 metros pode funcionar bem se você não precisar capturar detalhes mais refinados do que isso e não desejar capturar dados explicitamente enquanto estiver em repouso. Buffer de tempo From 0a5b8bac7cf114f7695719baec94797e2f3c81c4 Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Sun, 24 May 2020 15:47:34 +0000 Subject: [PATCH 092/509] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3804 of 3804 strings) --- OsmAnd/res/values-pt-rBR/phrases.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml index ff4221d368..39a4535dfc 100644 --- a/OsmAnd/res/values-pt-rBR/phrases.xml +++ b/OsmAnd/res/values-pt-rBR/phrases.xml @@ -242,7 +242,7 @@ Telesquis Telecorda Teleférico de carga - "Esteira rolante " + Esteira rolante Túnel Ponte Radar @@ -1809,11 +1809,11 @@ Aluguel de bicicletas: não Bomba Bomba de bicicleta: não - "Ferramentas para reparação " + Ferramentas para reparação Ferramentas para reparação de bicicleta DIY: não - "Limpeza " + Limpeza Limpeza de bicicletas: não - "Correia " + Correia Ferramenta para correia de bicicleta: não Venda de bicicletas de segunda mão Venda de bicicletas de segunda mão: não @@ -2091,7 +2091,7 @@ Período histórico: império antigo (2686 – 2181 a.C.) Período histórico: primeiro período intermediário (2181 – 2055 a.C.) Período histórico: segundo período intermediário (1650 – 1550 a.C.) - "Período histórico: terceiro período intermediário (1069 – 664 a.C.) " + Período histórico: terceiro período intermediário (1069 – 664 a.C.) Período histórico: primeiro período persa Período histórico: último período (664 – 332 a.C.) Período histórico: segundo período persa @@ -3502,7 +3502,7 @@ Afloramento Sem contato Não aceita Contactless - "Risco nuclear " + Risco nuclear Risco de erosão Risco de avalanche Via escorregadia @@ -3544,7 +3544,7 @@ Acadêmicos Crianças Atol - "Portal de pedágio " + Portal de pedágio Creche Denotação Monumento natural From 7f7a409ace4088dd1a8a5097530926983ae2ede3 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Sun, 24 May 2020 11:12:25 +0000 Subject: [PATCH 093/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-eo/strings.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index cbc945ce70..1eb838c465 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2424,13 +2424,13 @@ Neniuj fotoj tie ĉi. Instali Pliigi fotan atingon de Mapillary - Instalu Mapillary por aldoni unu aŭ pli fotojn al tiu ĉi loko sur la mapo. + Instalu Mapillary por aldoni fotojn al tiu ĉi loko sur la mapo. Malfermi Mapillary Mapillary-foto Korektita distanco Permesoj Ne povas enporti dosieron. Bonvolu kontroli, ĉu OsmAnd estas permesata por legi ĝin. - Radiusa mezurilo + Cirkelo Reŝargi Reŝargi kahelojn por ĝisdatigi datumojn. Kahela memoro @@ -2589,7 +2589,7 @@ Vidigi direktantan linion el via pozicio al pozicioj de aktivaj map-markoj. Vidigi unu aŭ du sagetojn indikantajn direkton al map-markoj. Elekti kiel vidigi distancon al aktivaj map-markoj. - Nombro da indikiloj de direkto por vidigi: + Nombro da indikiloj de direkto por vidigi. Serĉado de kursoj kun navigadpunktoj Pli Krei aŭ redakti OSM-objektojn @@ -2891,7 +2891,7 @@ Speco de vojo Pavimo Glateco - Klineco + Dekliveco Aldoni hejmon Aldoni laborejon Laborejo @@ -3129,23 +3129,23 @@ Paneo OsmAnd paneis dum la antaŭa starto. Helpu al ni plibonigi la aplikaĵon per sendi mesaĝon pri eraro. NIFO - • profiloj de aplikaĵo: krei profilojn laŭ viaj bezonoj kun propra emblemo kaj koloro + • profiloj de aplikaĵo: krei profilojn laŭ viaj bezonoj kun propra emblemo kaj koloro \n -\n • agordo por aldoni kutiman, minimuman kaj maksimuman rapidon por profilo (por kalkuli esperatan tempon de alveno) +\n • agordo por aldoni kutiman, minimuman kaj maksimuman rapidon por profilo (por kalkuli esperatan tempon de alveno) \n \n • fenestraĵo montranta koordinatojn \n -\n • eblo montri kompason kun angul-mezurilo sur la mapo +\n • eblo mezuri distancojn per cirkelo \n -\n • riparita registrado de spuro fone +\n • riparita registrado de spuro fone \n -\n • restarigita eblaĵo “teni ekranon ŝaltita” +\n • restarigita eblaĵo “teni ekranon ŝaltita” \n -\n • plibonigita elŝuto de mapoj fone +\n • plibonigita elŝuto de mapoj fone \n -\n • riparita elekto de lingvo por Vikipedio +\n • riparita elekto de lingvo por Vikipedio \n -\n • riparita sinteno de kompaso butono dum navigado +\n • riparita sinteno de kompaso butono dum navigado \n \n • riparoj de aliaj eraroj \n @@ -3676,7 +3676,7 @@ Enreta spurilo Butono de rapida ago OsmAnd + Mapillary - Radius‑mezurilo + Cirkelo Distanc-mezurilo Vojaĝo (Vikivojaĝoj kaj Vikipedio) Map‑markoj From 6283d5a3d7873978a292c1e28488b8ff90a3c92c Mon Sep 17 00:00:00 2001 From: Verdulo Date: Sun, 24 May 2020 13:55:24 +0000 Subject: [PATCH 094/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3804 of 3804 strings) --- OsmAnd/res/values-eo/phrases.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index 26b6cbd469..4e51aea33c 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -958,7 +958,7 @@ Marmarko: supra-marko Marnavigado: eta metiejo Marmarko: bolardo - Marmarko: radara transsend-respond-ilo (ang. transponder) + Marmarko: radara transsend‑respondilo Marmarko: radiostacio Signalstacio: trafiko Signalstacio: averto @@ -1289,8 +1289,8 @@ Kun dediĉitaj ejoj por gepatroj Sen dediĉitaj ejoj por gepatroj Dediĉitaj ejoj por gepatroj - Nombro da homoj en vagoneto/seĝo - Nombro da homoj hore + Nombro de homoj en vagoneto/seĝo + Nombro de homoj hore Mezuma vojaĝ-tempo (en minutoj) Tegmenteto Sen tegmenteto @@ -1489,7 +1489,7 @@ Inoj malpermesataj Sen-elaŭtiĝa servo (aŭtoparko): ne jes - Sen-elaŭtiĝa servo (trans-veturo): ne + Sen-elaŭtiĝa servo (transveturo): ne Nomo de bierfarejo jes Sen bierfarejeto-restoracio @@ -1969,8 +1969,8 @@ Energifonto (ŝtopilo): CEE 7/4 (F-tipo) Energifonto (ŝtopilo): CEE 7/5 (E-tipo) Energifonto (ŝtopilo): NEMA 5-15 (B-tipo) - Nombro da tendoj - Nombro da kampad‑veturiloj + Nombro de tendoj + Nombro de kampad‑veturiloj Hundoj permesataj Hundoj malpermesataj Orkestrejeto @@ -1978,7 +1978,7 @@ Informo por malkapabluloj Informo por blinduloj Informo por surduloj - Kiom da ŝtupoj + Nombro de ŝtupoj Ŝtonstaka marko Defibrililo Dresejo @@ -2417,7 +2417,7 @@ San-servejo: kampa malsanulejo Diametro de hidranto Premo de hidranto - Kiom da hidrantoj + Nombro de hidrantoj Profundo Teleskopo San-servejo: kuracistejo @@ -2436,7 +2436,7 @@ supertersurfaca (frost-imuna) Manapoteko Pesilo publika - Nombro da litoj + Nombro de litoj Kabineto de doktoro de medicino Kabineto de terapiisto Kabineto de piedisto @@ -2808,8 +2808,8 @@ Seĝoj ekstere Pago Hejmliverado - Sen-elaŭtiga servo (aŭtoparko) - Sen-elaŭtiga servo (trans-veturo) + Sen-elaŭtiĝa servo (aŭtoparko) + Sen-elaŭtiĝa servo (transveturo) Elportado Kokteloj Metia bierfarejeto From ddd1c0652dc509f69b8a02857d48ba2af2d13f72 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Sun, 24 May 2020 02:28:16 +0000 Subject: [PATCH 095/509] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index f246ea92d1..620eef42b9 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2426,7 +2426,7 @@ 這裡沒有照片。 安裝 提高 Mapillary 照片覆蓋的範圍 - 安裝 Mapillary 以將一張或更多張的照片增加到此地圖位置。 + 安裝 Mapillary 以將照片增加到此地圖位置。 開啟 Mapillary Mapillary 圖片 距離已校正 @@ -2490,7 +2490,7 @@ 新增 GPX 檔案 匯入 GPX 檔案或錄製軌跡。 增加到我的收藏 - 匯入最愛或透過地圖上的標記點新增。 + 匯入最愛或透過地圖上的標記點來新增它們。 匯入 GPX 檔案 %1$s 檔案不包含航點,要將其匯入軌跡嗎? 移動標點 @@ -2588,7 +2588,7 @@ 選擇如何顯示活動標記的距離。 - 指定方向指示數量: + 指定方向指示數量。 標記為已通過的標點將顯現在此螢幕上。 顯示指引路線到活動標記位置。 顯示一個或兩個箭頭指示方向到活動標記。 @@ -2602,7 +2602,7 @@ 標記 %s 已啟動。 「點一下」啟動 加註記! - 使用小工具或內容選單,增加音訊、視訊或照片附註在地圖上的每個標點。 + 使用小工具或內容選單,增加音訊、視訊或照片附註在地圖上的任何標點。 以日期排序的音訊/視訊註記 按照日期 按照類型 From aeac8d65d82e018c265fbe73e706751c1683aa06 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Sat, 23 May 2020 21:59:12 +0000 Subject: [PATCH 096/509] Translated using Weblate (German) Currently translated at 100.0% (267 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/de/ --- OsmAnd-telegram/res/values-de/strings.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/OsmAnd-telegram/res/values-de/strings.xml b/OsmAnd-telegram/res/values-de/strings.xml index 5d9f88fb35..44f16c5612 100644 --- a/OsmAnd-telegram/res/values-de/strings.xml +++ b/OsmAnd-telegram/res/values-de/strings.xml @@ -44,7 +44,7 @@ Meinen Standort senden Position OsmAnd öffnen - "Live " + Live Registrierung in Telegram Sie benötigen ein Telegram-Konto, um die Standortfreigabe nutzen zu können. Bitte installieren Sie Telegram und richten Sie ein Konto ein. @@ -151,9 +151,7 @@ Standort freigeben Wählen Sie einen der Standortanbieter aus, um Ihren Standort freizugeben. Standort teilen - - OsmAnd Tracker ermöglicht es Ihnen, Ihren Standort zu teilen und den anderer in OsmAnd zu sehen.
-
Die App verwendet die API von Telegram, also benötigen Sie ein Telegram-Konto.
+ OsmAnd Tracker ermöglicht es Ihnen, Ihren Standort zu teilen und den anderer in OsmAnd zu sehen.

Die App verwendet die API von Telegram, also benötigen Sie ein Telegram-Konto.
Wählen Sie einen Namen, den Sie noch nicht benutzt haben %1$s hinzugefügt. Hinzufügen From 7ef3b77005e7388c5ac1cb767d6b05e9b2b89169 Mon Sep 17 00:00:00 2001 From: max-klaus Date: Mon, 25 May 2020 11:16:29 +0300 Subject: [PATCH 097/509] Added search tests --- .../resources/search/100_bridge_street.json | 6866 ++++++++++++++++ .../test/resources/search/carrer_de_vic.json | 6956 +++++++++++++++++ 2 files changed, 13822 insertions(+) create mode 100644 OsmAnd-java/src/test/resources/search/100_bridge_street.json create mode 100644 OsmAnd-java/src/test/resources/search/carrer_de_vic.json diff --git a/OsmAnd-java/src/test/resources/search/100_bridge_street.json b/OsmAnd-java/src/test/resources/search/100_bridge_street.json new file mode 100644 index 0000000000..84d7b0bc66 --- /dev/null +++ b/OsmAnd-java/src/test/resources/search/100_bridge_street.json @@ -0,0 +1,6866 @@ +{ + "settings": { + "lat": "43.75258", + "lon": "-70.46783", + "radiusLevel": 1, + "totalLimit": -1, + "lang": "", + "transliterateIfMissing": false, + "emptyQueryAllowed": false, + "sortByName": false + }, + "phrase": "100 Bridge Street", + "results": [ + "100.0, ", + "100, Bridge Street, Westbrook", + "100, Bridge Street, Yarmouth", + "Bridge Street", + "Bridge Street Dam", + "Bridge Street" + ], + "amenities": [ + { + "name": "International Avenue Bridge", + "lat": "45.16104", + "lon": "-67.30280", + "id": 736426949, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/International Avenue Bridge" + } + }, + { + "name": "Emerys Bridge Road", + "lat": "43.24381", + "lon": "-70.77249", + "id": 452805855, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "foot_yes": "yes", + "bicycle_yes": "yes", + "horse_yes": "yes", + "alt_name": "Mt Agamenticus Road" + } + }, + { + "name": "Memorial Bridge", + "lat": "43.08149", + "lon": "-70.75185", + "id": 451269827, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "bridge_type_movable": "movable", + "bridge_movable_drawbridge": "drawbridge", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "US 1" + } + }, + { + "name": "Sunday River Covered Bridge", + "lat": "44.49243", + "lon": "-70.84334", + "id": 721923553, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_pedestrian": "yes", + "covered_yes": "yes", + "tourism_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Sunday River Bridge" + } + }, + { + "name": "Town Landing at Bridge End", + "lat": "44.29071", + "lon": "-68.69120", + "id": 14319074654, + "subType": "slipway", + "type": "transportation" + }, + { + "name": "Tukey's Bridge Pathway", + "lat": "43.67673", + "lon": "-70.25669", + "id": 65132233, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "foot_yes": "yes", + "bridge_pedestrian": "yes", + "surface_paved": "paved", + "bicycle_yes": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance" + } + }, + { + "name": "Marsh Bridge Dam", + "lat": "44.02842", + "lon": "-69.59783", + "id": 716455838, + "subType": "dam", + "type": "man_made", + "additionalInfo": { + "ele": "32" + } + }, + { + "name": "Bridge Street", + "lat": "44.54744", + "lon": "-69.62828", + "id": 79664277, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "US 201;ME 137 Business;ME 100" + } + }, + { + "name": "Robyville Bridge", + "lat": "44.94339", + "lon": "-68.96858", + "id": 1414130467, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Robyville Bridge" + } + }, + { + "name": "North Anson Toll Bridge Pylon", + "lat": "44.85873", + "lon": "-69.86378", + "id": 601306297, + "subType": "attraction", + "type": "tourism" + }, + { + "name": "Durham Bridge Road", + "lat": "44.85733", + "lon": "-69.20571", + "id": 881924991, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "43.80652", + "lon": "-70.79869", + "id": 757192465, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes" + } + }, + { + "name": "Sarah Mildred Long Bridge", + "lat": "43.08533", + "lon": "-70.76285", + "id": 1016494949, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "foot_no": "no", + "bridge_car": "yes", + "bicycle_yes": "yes" + } + }, + { + "name": "Ferry Point Bridge", + "lat": "45.19206", + "lon": "-67.28356", + "id": 736427223, + "subType": "bridge", + "type": "man_made" + }, + { + "name": "Bridge Street", + "lat": "44.54734", + "lon": "-69.62828", + "id": 79522447, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "US 201;ME 100;ME 137 Business" + } + }, + { + "name": "Bridges Swamp", + "lat": "43.16828", + "lon": "-70.63703", + "id": 4419289956352, + "subType": "wetland", + "type": "natural", + "additionalInfo": { + "ele": "16" + } + }, + { + "name": "Bridge Street", + "lat": "44.39864", + "lon": "-70.97168", + "id": 661558361, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Chamberlain Bridge", + "lat": "46.17115", + "lon": "-69.20777", + "id": 13624836576, + "subType": "viewpoint", + "type": "tourism" + }, + { + "name": "Bridge Street", + "lat": "47.24314", + "lon": "-68.57999", + "id": 1188446125, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "43.67790", + "lon": "-70.36728", + "id": 1395012635, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "bridge_structure_beam": "beam", + "foot_no": "no", + "network": "lcn", + "operator": "METRO", + "route_bus_ref": "3" + } + }, + { + "name": "Black Bridge Road", + "lat": "44.59258", + "lon": "-70.56328", + "id": 553381561, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "44.54199", + "lon": "-67.88162", + "id": 86354657, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "US 1A" + } + }, + { + "name": "Center Bridge Road", + "lat": "44.25640", + "lon": "-70.17983", + "id": 1533190443, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Sagadahoc Bridge", + "lat": "43.91174", + "lon": "-69.80400", + "id": 22955093, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "US 1" + } + }, + { + "name": "Lovejoy Bridge", + "lat": "44.59343", + "lon": "-70.73369", + "id": 1062686813, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "covered_yes": "yes", + "historic_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Lovejoy Bridge" + } + }, + { + "name": "Bridge Street", + "lat": "44.82459", + "lon": "-70.33898", + "id": 825473529, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Foxwells Bridge Brook Dam", + "lat": "43.55676", + "lon": "-70.38116", + "id": 716457084, + "subType": "dam", + "type": "man_made", + "additionalInfo": { + "ele": "6" + } + }, + { + "name": "Goodwins Bridge Road", + "lat": "43.43187", + "lon": "-70.68775", + "id": 1444433161, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Badger Island Bridge", + "lat": "43.08343", + "lon": "-70.75116", + "id": 353057049, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "bridge_structure_truss": "truss", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "US 1" + } + }, + { + "name": "Lewiston-Auburn Railroad Bridge", + "lat": "44.09292", + "lon": "-70.22298", + "id": 10093557134, + "subType": "information", + "type": "tourism", + "additionalInfo": { + "information_history": "history" + } + }, + { + "name": "Pease Bridge Road", + "lat": "45.14700", + "lon": "-69.49797", + "id": 22965323, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "surface_paved": "paved" + } + }, + { + "name": "Tukey's Bridge", + "lat": "43.67596", + "lon": "-70.25641", + "id": 736361911, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Tukey's Bridge" + } + }, + { + "name": "Adams Bridge Road", + "lat": "43.31228", + "lon": "-70.75440", + "id": 1467631917, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "surface_unpaved": "unpaved" + } + }, + { + "name": "Clair-Fort Kent Bridge", + "lat": "47.25018", + "lon": "-68.60492", + "id": 652983473, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Fort Kent–Clair Border Crossing", + "ref": "NB 161" + } + }, + { + "name": "Edmundston-Madawaska Bridge", + "lat": "47.35893", + "lon": "-68.32863", + "id": 1420577395, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Edmundston–Madawaska Bridge" + } + }, + { + "name": "Androscoggin Swinging Bridge", + "lat": "43.91749", + "lon": "-69.97255", + "id": 79597535, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "foot_yes": "yes", + "bridge_pedestrian": "yes", + "bicycle_yes": "yes", + "historic_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Androscoggin Swinging Bridge", + "start_date": "1892" + } + }, + { + "name": "Broken Bridge Pond", + "lat": "44.31104", + "lon": "-70.81781", + "id": 1351756979, + "subType": "water", + "type": "natural" + }, + { + "name": "Bridge Street", + "lat": "44.23338", + "lon": "-69.77089", + "id": 451132547, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "44.10284", + "lon": "-70.21693", + "id": 793947121, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Flat Rock Bridge Road", + "lat": "43.34319", + "lon": "-70.96619", + "id": 23048699, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "surface_concrete": "concrete" + } + }, + { + "name": "Watson Settlement Bridge", + "lat": "46.20988", + "lon": "-67.79981", + "id": 1417157151, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Watson Settlement Bridge" + } + }, + { + "name": "Milltown Bridge", + "lat": "45.16966", + "lon": "-67.29658", + "id": 179609567, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Grist Mill Bridge", + "lat": "43.39197", + "lon": "-70.85102", + "id": 757186123, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Grist Mill Bridge (Lebanon, Maine)" + } + }, + { + "name": "Jordan Bridge Road", + "lat": "44.10454", + "lon": "-70.10331", + "id": 1224171419, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Clair-Fort Kent Bridge", + "lat": "47.24965", + "lon": "-68.60428", + "id": 22772981, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "US 1;ME 161 Spur" + } + }, + { + "name": "Twin Bridges", + "lat": "44.34216", + "lon": "-70.19017", + "id": 6602003890, + "subType": "hamlet", + "type": "administrative" + }, + { + "name": "Wiggly Bridge", + "lat": "43.13668", + "lon": "-70.64969", + "id": 1355148917, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_structure_suspension": "suspension" + } + }, + { + "name": "Eliot Bridge", + "lat": "43.19046", + "lon": "-70.82525", + "id": 440176713, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "45.05273", + "lon": "-69.88506", + "id": 450152289, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 16" + } + }, + { + "name": "Casco Bay Bridge", + "lat": "43.64738", + "lon": "-70.25965", + "id": 910860541, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Casco Bay Bridge" + } + }, + { + "name": "Bridge Street", + "lat": "46.77422", + "lon": "-67.83216", + "id": 179623875, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "surface_concrete": "concrete", + "ref": "US 1A" + } + }, + { + "name": "Veterans Memorial Bridge", + "lat": "43.64406", + "lon": "-70.28216", + "id": 354835551, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Durrells Bridge Road", + "lat": "43.37887", + "lon": "-70.50510", + "id": 994710771, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "44.58772", + "lon": "-69.59403", + "id": 79521477, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 100;ME 139;ME 11" + } + }, + { + "name": "Bridgewater Corner", + "lat": "46.45116", + "lon": "-67.85169", + "id": 317724554, + "subType": "hamlet", + "type": "administrative", + "additionalInfo": { + "ele": "160" + } + }, + { + "name": "Campbell Field Bridge", + "lat": "45.08625", + "lon": "-70.29606", + "id": 1251230383, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "foot_yes": "yes", + "horse_no": "no", + "bridge_pedestrian": "yes", + "bicycle_yes": "yes", + "motor_vehicle_no": "no" + } + }, + { + "name": "International Avenue Bridge", + "lat": "45.16109", + "lon": "-67.30265", + "id": 310455227, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridgewater", + "lat": "46.42793", + "lon": "-67.84401", + "id": 317751438, + "subType": "village", + "type": "administrative", + "additionalInfo": { + "ele": "130", + "population": "593" + } + }, + { + "name": "Wagner Bridge Road", + "lat": "44.14483", + "lon": "-69.41576", + "id": 523436365, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Ferry Point Bridge", + "lat": "45.19228", + "lon": "-67.28377", + "id": 360101365, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Kittery Bridge Bypass Buoy 4", + "lat": "43.08707", + "lon": "-70.75873", + "id": 6819116278, + "subType": "buoy_lateral", + "type": "seamark", + "additionalInfo": { + "description": "Navigation Buoy" + } + }, + { + "name": "Bridge Hill", + "lat": "43.80370", + "lon": "-69.81061", + "id": 716424886, + "subType": "peak", + "type": "natural", + "additionalInfo": { + "ele": "47" + } + }, + { + "name": "Penobscot Bridge", + "lat": "44.79991", + "lon": "-68.76566", + "id": 86939177, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 15 Business" + } + }, + { + "name": "Bridgeton Junction", + "lat": "43.86784", + "lon": "-70.80167", + "id": 6157601602, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Piscataqua River Bridge", + "lat": "43.09379", + "lon": "-70.76423", + "id": 23052057, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "horse_no": "no", + "foot_no": "no", + "hgv_designated": "designated", + "bicycle_no": "no", + "bridge_structure_humpback": "humpback", + "toll_no": "no", + "ref": "I 95" + } + }, + { + "name": "Saint Leonard–Van Buren Bridge", + "names": { + "fr": "Pont Saint Léonard – Van Buren" + }, + "lat": "47.16006", + "lon": "-67.92950", + "id": 794625557, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridgewater Fire Department", + "lat": "46.42483", + "lon": "-67.84334", + "id": 14359347818, + "subType": "fire_station", + "type": "emergency" + }, + { + "name": "Kittery Bridge Bypass Buoy 6", + "lat": "43.08860", + "lon": "-70.76120", + "id": 6819116280, + "subType": "buoy_lateral", + "type": "seamark", + "additionalInfo": { + "description": "Navigation Buoy" + } + }, + { + "name": "Trout Brook Bridge", + "lat": "44.10374", + "lon": "-69.61772", + "id": 1524565397, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "covered_yes": "yes", + "bridge_railway": "yes", + "operator": "Wiscasset, Waterville and Farmington Railway" + } + }, + { + "name": "Veterans Memorial Bridge Pathway", + "lat": "43.63885", + "lon": "-70.29325", + "id": 354820651, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_paved": "paved", + "bridge_bicycle": "yes", + "network": "lcn" + } + }, + { + "name": "Bridges Cemetery", + "lat": "44.47869", + "lon": "-68.73116", + "id": 716424896, + "subType": "grave_yard", + "type": "tourism", + "additionalInfo": { + "ele": "41" + } + }, + { + "name": "Veterans Bridge Pathway", + "lat": "43.64401", + "lon": "-70.28212", + "id": 365198485, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_paved": "paved", + "foot_yes": "yes", + "bridge_bicycle": "yes", + "network": "lcn" + } + }, + { + "name": "Piscataqua River Bridge", + "lat": "43.09273", + "lon": "-70.76629", + "id": 1417566703, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Piscataqua River Bridge" + } + }, + { + "name": "Jubilee Park Covered Bridge", + "lat": "43.49745", + "lon": "-70.44871", + "id": 10892480814, + "subType": "park", + "type": "entertainment" + }, + { + "name": "Bridges Drive", + "lat": "43.61037", + "lon": "-70.36750", + "id": 22814731, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Swinging Bridge", + "lat": "44.76266", + "lon": "-69.72033", + "id": 550547591, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_pedestrian": "yes" + } + }, + { + "name": "Edgecomb Bridge", + "lat": "43.67383", + "lon": "-70.69539", + "id": 1019238553, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "ref": "ME 117" + } + }, + { + "name": "Bridge Street", + "lat": "44.54351", + "lon": "-70.54656", + "id": 481641389, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Road", + "lat": "45.16926", + "lon": "-69.36068", + "id": 855924057, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 23" + } + }, + { + "name": "Trenton Bridge Lobster Pound", + "lat": "44.43243", + "lon": "-68.36880", + "id": 5905672028, + "subType": "restaurant", + "type": "sustenance", + "openingHours": "Mo-Fr 08:30-16:30", + "additionalInfo": { + "smoking_outside": "outside", + "takeaway_filter_yes": "yes", + "outdoor_seating_yes": "yes", + "outdoor_seating_filter_yes": "yes", + "takeaway_yes": "yes", + "opening_hours": "Mo-Fr 08:30-16:30", + "capacity": "299", + "cuisine": "lobster,_seafood" + } + }, + { + "name": "Big Bridge Hill", + "lat": "43.22232", + "lon": "-70.63368", + "id": 716423598, + "subType": "peak", + "type": "natural", + "additionalInfo": { + "ele": "41" + } + }, + { + "name": "Petit Pont International", + "enName": "Little International Bridge", + "lat": "47.45977", + "lon": "-69.22419", + "id": 1421093035, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_pedestrian": "yes" + } + }, + { + "name": "Bridgeside Market", + "lat": "44.71815", + "lon": "-69.79788", + "id": 5651089200, + "subType": "fuel", + "type": "transportation" + }, + { + "name": "Emery's Bridge", + "lat": "43.24709", + "lon": "-70.72745", + "id": 1487262977, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes" + } + }, + { + "name": "Cobbs Bridge Road", + "lat": "43.97995", + "lon": "-70.26538", + "id": 992741765, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Abol Bridge Campground", + "lat": "45.83562", + "lon": "-68.96625", + "id": 4158722384, + "subType": "camp_site", + "type": "tourism" + }, + { + "name": "Bridge Street Dam", + "lat": "43.80180", + "lon": "-70.18172", + "id": 1062267299, + "subType": "dam", + "type": "man_made" + }, + { + "name": "Tukey's Bridge", + "lat": "43.67704", + "lon": "-70.25658", + "id": 65131861, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "horse_no": "no", + "foot_no": "no", + "hgv_designated": "designated", + "bicycle_no": "no", + "operator": "METRO", + "ref": "I 295;US 1;ME 26", + "route_bus_ref": "BRZ, 9A" + } + }, + { + "name": "Bridge Street", + "lat": "44.58718", + "lon": "-69.59049", + "id": 79521545, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 100;ME 139;ME 11" + } + }, + { + "name": "Veterans Memorial Bridge", + "lat": "43.64440", + "lon": "-70.28141", + "id": 736364371, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Veteran's Memorial Bridge (Portland, Maine)" + } + }, + { + "name": "Tukey's Bridge", + "lat": "43.67704", + "lon": "-70.25632", + "id": 65131863, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "horse_no": "no", + "foot_no": "no", + "hgv_designated": "designated", + "bicycle_no": "no", + "operator": "METRO", + "ref": "I 295;US 1;ME 26", + "route_bus_ref": "BRZ, 9B" + } + }, + { + "name": "Martin Point Bridge", + "lat": "43.69113", + "lon": "-70.24527", + "id": 22821285, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "US 1" + } + }, + { + "name": "Brookline Road", + "lat": "44.60646", + "lon": "-68.87211", + "id": 1270184973, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_dirt": "dirt", + "foot_yes": "yes", + "bridge_pedestrian": "yes", + "bicycle_yes": "yes", + "bridge_structure_truss": "truss", + "motor_vehicle_no": "no", + "artist_name": "American Bridge Company", + "start_date": "1908" + } + }, + { + "name": "Bridge Street", + "lat": "47.36143", + "lon": "-68.32859", + "id": 10178529, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Westport Bridge Road", + "lat": "43.97308", + "lon": "-69.67519", + "id": 22911905, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bennett Bridge", + "lat": "44.91914", + "lon": "-71.03822", + "id": 1300560123, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "wikipedia": "http://en.wikipedia.org/wiki/Bennett Bridge" + } + }, + { + "name": "Bay Bridge Estates", + "lat": "43.93590", + "lon": "-69.87981", + "id": 1176315549, + "subType": "residential", + "type": "administrative" + }, + { + "name": "Bridge Street", + "lat": "44.31692", + "lon": "-69.77303", + "id": 22875357, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "ME 105 Extension" + } + }, + { + "name": "Bridge Street", + "lat": "43.80731", + "lon": "-70.88894", + "id": 757191779, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "ref": "ME 25" + } + }, + { + "name": "Bridge Street", + "lat": "44.23081", + "lon": "-69.77432", + "id": 22875359, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "US 201" + } + }, + { + "name": "Bridge Street", + "lat": "44.66224", + "lon": "-70.15079", + "id": 838960009, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "hgv_yes": "yes", + "ref": "US 2;ME 4;ME 43" + } + }, + { + "name": "International Avenue Bridge", + "lat": "45.16110", + "lon": "-67.30390", + "id": 652976675, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "NB 1" + } + }, + { + "name": "Twin Bridge Market", + "lat": "44.34220", + "lon": "-70.18227", + "id": 10118464656, + "subType": "convenience", + "type": "shop" + }, + { + "name": "Bridge Street", + "lat": "43.46653", + "lon": "-70.79540", + "id": 569183011, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "alt_name": "State Route 224", + "ref": "ME 224" + } + }, + { + "name": "International Avenue Bridge", + "lat": "45.16098", + "lon": "-67.30263", + "id": 652976677, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Bridge Street", + "lat": "44.52567", + "lon": "-67.61491", + "id": 1391500321, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Ferry Point Bridge", + "lat": "45.19187", + "lon": "-67.28360", + "id": 179608805, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "ME 9" + } + }, + { + "name": "Wire Bridge Road", + "lat": "44.89086", + "lon": "-70.09237", + "id": 389800811, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Chester G. Bridges Tennis Complex", + "lat": "44.90527", + "lon": "-68.66603", + "id": 716469478, + "subType": "park", + "type": "entertainment", + "additionalInfo": { + "ele": "35" + } + }, + { + "name": "Bridge Street", + "lat": "44.58758", + "lon": "-69.59255", + "id": 79521519, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 100;ME 139;ME 11" + } + }, + { + "name": "Duck Brook Bridge", + "lat": "44.39161", + "lon": "-68.23587", + "id": 590083197, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "foot_yes": "yes", + "bicycle_yes": "yes", + "horse_yes": "yes", + "motor_vehicle_no": "no" + } + }, + { + "name": "Milltown Bridge", + "lat": "45.16969", + "lon": "-67.29658", + "id": 736427071, + "subType": "bridge", + "type": "man_made" + }, + { + "name": "Piscataqua River Bridge", + "lat": "43.09389", + "lon": "-70.76433", + "id": 58949401, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes", + "horse_no": "no", + "foot_no": "no", + "hgv_designated": "designated", + "bicycle_no": "no", + "bridge_structure_humpback": "humpback", + "toll_no": "no", + "ref": "I 95" + } + }, + { + "name": "Veterans Memorial Bridge", + "lat": "43.64413", + "lon": "-70.28222", + "id": 354850939, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Two Cent Bridge", + "lat": "44.55091", + "lon": "-69.62521", + "id": 22868417, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_pedestrian": "yes" + } + }, + { + "name": "Emerys Bridge", + "lat": "43.24661", + "lon": "-70.72711", + "id": 317646608, + "subType": "hamlet", + "type": "administrative", + "additionalInfo": { + "ele": "32" + } + }, + { + "name": "Sebasticook Bridge Road", + "lat": "44.58568", + "lon": "-69.54985", + "id": 844692347, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "ME 139" + } + }, + { + "name": "Gold Star Memorial Bridge", + "lat": "46.68517", + "lon": "-68.01528", + "id": 194671421, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "surface_concrete": "concrete" + } + }, + { + "name": "Vietnam Veterans Memorial Bridge", + "lat": "44.11534", + "lon": "-70.21401", + "id": 190561149, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "operator": "Lewiston-Auburn Citylink", + "route_bus_ref": "6" + } + }, + { + "name": "Vietnam Veterans Memorial Bridge", + "lat": "44.11526", + "lon": "-70.21412", + "id": 190561137, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "operator": "Lewiston-Auburn Citylink", + "route_bus_ref": "6" + } + }, + { + "name": "Bridgewater Grammar School", + "lat": "46.42172", + "lon": "-67.84504", + "id": 716461146, + "subType": "school", + "type": "education", + "additionalInfo": { + "ele": "125" + } + }, + { + "name": "Bay Bridge Landing Wetland Park", + "lat": "43.93422", + "lon": "-69.88905", + "id": 1244287705, + "subType": "park", + "type": "entertainment" + }, + { + "name": "Wilder Bridge", + "lat": "43.90932", + "lon": "-69.80039", + "id": 255622351, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "ME 127" + } + }, + { + "name": "The Bridge Street Green", + "lat": "44.66229", + "lon": "-70.15522", + "id": 1176243883, + "subType": "park", + "type": "entertainment" + }, + { + "name": "Casco Bay Bridge", + "lat": "43.64230", + "lon": "-70.25656", + "id": 100180481, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "ME 77" + } + }, + { + "name": "Hemlock Bridge", + "lat": "44.07960", + "lon": "-70.90286", + "id": 1004424165, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "covered_yes": "yes", + "historic_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Hemlock Bridge" + } + }, + { + "name": "Casco Bay Bridge", + "lat": "43.64226", + "lon": "-70.25671", + "id": 100180487, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "network": "ncn", + "operator": "East Coast Greenway Alliance", + "ref": "ME 77" + } + }, + { + "name": "Vietnam Veterans Memorial Bridge", + "lat": "44.11729", + "lon": "-70.21719", + "id": 20439497, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "operator": "Lewiston-Auburn Citylink", + "route_bus_ref": "6" + } + }, + { + "name": "Round Pond Bridge", + "lat": "46.22896", + "lon": "-69.56659", + "id": 13624836570, + "subType": "viewpoint", + "type": "tourism" + }, + { + "name": "International Avenue Bridge", + "lat": "45.16099", + "lon": "-67.30390", + "id": 179619895, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "1" + } + }, + { + "name": "Bridge Street Dam", + "lat": "43.46628", + "lon": "-70.79536", + "id": 1467990395, + "subType": "dam", + "type": "man_made", + "additionalInfo": { + "ele": "244" + } + }, + { + "name": "Babb's Bridge", + "lat": "43.76606", + "lon": "-70.44792", + "id": 1378377377, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "covered_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Babb's Bridge" + } + }, + { + "name": "Porter-Parsonsfield Bridge", + "lat": "43.79122", + "lon": "-70.93793", + "id": 1102411581, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_pedestrian": "yes", + "covered_yes": "yes", + "historic_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Porter-Parsonsfield Bridge" + } + }, + { + "name": "Covered Bridge Road", + "lat": "44.94355", + "lon": "-68.96863", + "id": 602618593, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Franklin Delano Roosevelt Bridge", + "lat": "44.85984", + "lon": "-66.97860", + "id": 22994831, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Franklin Delano Roosevelt Bridge" + } + }, + { + "name": "Swetts Bridge Road", + "lat": "43.46312", + "lon": "-70.70809", + "id": 1492069375, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes" + } + }, + { + "name": "Caution, wetland,no bridges", + "lat": "46.08203", + "lon": "-68.79149", + "id": 8792738506, + "subType": "information", + "type": "tourism" + }, + { + "name": "Caution, wetland,no bridges", + "lat": "46.08203", + "lon": "-68.79149", + "id": 8792738506, + "subType": "information_guidepost", + "type": "tourism" + }, + { + "name": "Bridge Ruins", + "lat": "43.30496", + "lon": "-70.90621", + "id": 580558153, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "access_no": "no", + "horse_no": "no", + "foot_no": "no", + "bicycle_no": "no", + "motor_vehicle_no": "no" + } + }, + { + "name": "Bridge End Park", + "lat": "44.29056", + "lon": "-68.69157", + "id": 13147170864, + "subType": "park", + "type": "entertainment" + }, + { + "name": "Eliot Bridge", + "lat": "43.19080", + "lon": "-70.82592", + "id": 436896479, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes" + } + }, + { + "name": "Vietnam Veterans Memorial Bridge", + "lat": "44.11723", + "lon": "-70.21731", + "id": 119279563, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "operator": "Lewiston-Auburn Citylink", + "route_bus_ref": "6" + } + }, + { + "name": "Scotland Bridge Road", + "lat": "43.16019", + "lon": "-70.70912", + "id": 755809243, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "surface_asphalt": "asphalt", + "bridge_car": "yes" + } + }, + { + "name": "Armistice Bridge", + "lat": "44.43289", + "lon": "-69.00674", + "id": 263652897, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_pedestrian": "yes", + "surface_paved": "paved", + "motor_vehicle_no": "no", + "network": "ncn", + "operator": "East Coast Greenway Alliance" + } + }, + { + "name": "Bridge Academy Public Library", + "lat": "44.10484", + "lon": "-69.72613", + "id": 1528016587, + "subType": "library", + "type": "education", + "additionalInfo": { + "ele": "6", + "wikipedia": "http://en.wikipedia.org/wiki/Bridge Academy Public Library" + } + }, + { + "name": "Bridge Academy Public Library", + "lat": "44.10484", + "lon": "-69.72613", + "id": 1528016587, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "ele": "6", + "wikipedia": "http://en.wikipedia.org/wiki/Bridge Academy Public Library" + } + }, + { + "name": "Wiggly Bridge", + "lat": "43.13660", + "lon": "-70.64741", + "id": 1355483921, + "subType": "parking", + "type": "transportation", + "additionalInfo": { + "surface_asphalt": "asphalt", + "parking_surface": "surface", + "access_private": "private", + "capacity": "6" + } + }, + { + "name": "Carlton Bridge", + "lat": "43.91156", + "lon": "-69.80387", + "id": 350006785, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "access_private": "private", + "wikipedia": "http://en.wikipedia.org/wiki/Carlton Bridge" + } + }, + { + "name": "Bailey Island Bridge", + "lat": "43.74978", + "lon": "-69.98808", + "id": 1019482907, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "historic_yes": "yes", + "wikipedia": "http://en.wikipedia.org/wiki/Bailey Island Bridge", + "ref": "ME 24", + "start_date": "1928" + } + } + ], + "cities": [ + { + "name": "Hermon", + "lat": "44.81010", + "lon": "-68.91380", + "id": 158853983, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Lane", + "lat": "44.81057", + "lon": "-68.91543", + "id": 3669 + } + ], + "matchStreet": 1 + }, + { + "name": "Westbrook", + "lat": "43.67703", + "lon": "-70.37116", + "id": 158859102, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Westbrook Arterial", + "lat": "43.66841", + "lon": "-70.33286", + "id": 148869 + }, + { + "name": "Westbrook Public Works", + "lat": "43.66438", + "lon": "-70.37739", + "id": 121293 + }, + { + "name": "Westbrook Common", + "lat": "43.67653", + "lon": "-70.36657", + "id": 1561 + }, + { + "name": "Bridge Street", + "lat": "43.68016", + "lon": "-70.36840", + "id": 18, + "buildings": [ + { + "name": "3", + "lat": "43.67706", + "lon": "-70.36672", + "postcode": "04092" + }, + { + "name": "41", + "lat": "43.67875", + "lon": "-70.36737", + "postcode": "04092" + }, + { + "name": "42", + "lat": "43.67849", + "lon": "-70.36777", + "postcode": "04092" + }, + { + "name": "51", + "lat": "43.67891", + "lon": "-70.36767", + "postcode": "04092" + }, + { + "name": "67", + "lat": "43.67940", + "lon": "-70.36820", + "postcode": "04092" + }, + { + "name": "72", + "lat": "43.67894", + "lon": "-70.36818", + "postcode": "04092" + }, + { + "name": "75", + "lat": "43.67956", + "lon": "-70.36835", + "postcode": "04092" + }, + { + "name": "77", + "lat": "43.67959", + "lon": "-70.36838", + "postcode": "04092" + }, + { + "name": "80", + "lat": "43.67925", + "lon": "-70.36863", + "postcode": "04092" + }, + { + "name": "87", + "lat": "43.68016", + "lon": "-70.36840" + }, + { + "name": "90", + "lat": "43.67914", + "lon": "-70.36857", + "postcode": "04092" + }, + { + "name": "98", + "lat": "43.68001", + "lon": "-70.36953", + "postcode": "04092" + }, + { + "name": "100", + "lat": "43.68026", + "lon": "-70.36921", + "postcode": "04092" + }, + { + "name": "108", + "lat": "43.68044", + "lon": "-70.36898", + "postcode": "04092" + }, + { + "name": "116", + "lat": "43.68072", + "lon": "-70.36876", + "postcode": "04092" + }, + { + "name": "119", + "lat": "43.68060", + "lon": "-70.36825", + "postcode": "04092" + }, + { + "name": "128", + "lat": "43.68109", + "lon": "-70.36853", + "postcode": "04092" + }, + { + "name": "131", + "lat": "43.68085", + "lon": "-70.36784", + "postcode": "04092" + }, + { + "name": "134", + "lat": "43.68130", + "lon": "-70.36833", + "postcode": "04092" + }, + { + "name": "135", + "lat": "43.68113", + "lon": "-70.36780", + "postcode": "04092" + }, + { + "name": "146", + "lat": "43.68161", + "lon": "-70.36810", + "postcode": "04092" + }, + { + "name": "150", + "lat": "43.68168", + "lon": "-70.36801", + "postcode": "04092" + }, + { + "name": "151", + "lat": "43.68150", + "lon": "-70.36754", + "postcode": "04092" + }, + { + "name": "155", + "lat": "43.68173", + "lon": "-70.36732", + "postcode": "04092" + }, + { + "name": "159", + "lat": "43.68185", + "lon": "-70.36724", + "postcode": "04092" + }, + { + "name": "160", + "lat": "43.68206", + "lon": "-70.36782", + "postcode": "04092" + }, + { + "name": "162", + "lat": "43.68209", + "lon": "-70.36780", + "postcode": "04092" + }, + { + "name": "163", + "lat": "43.68203", + "lon": "-70.36709", + "postcode": "04092" + }, + { + "name": "172", + "lat": "43.68241", + "lon": "-70.36754", + "postcode": "04092" + }, + { + "name": "173", + "lat": "43.68220", + "lon": "-70.36694", + "postcode": "04092" + }, + { + "name": "178", + "lat": "43.68257", + "lon": "-70.36735", + "postcode": "04092" + }, + { + "name": "181", + "lat": "43.68252", + "lon": "-70.36681", + "postcode": "04092" + }, + { + "name": "182", + "lat": "43.68266", + "lon": "-70.36720", + "postcode": "04092" + }, + { + "name": "186", + "lat": "43.68277", + "lon": "-70.36709", + "postcode": "04092" + }, + { + "name": "192", + "lat": "43.68296", + "lon": "-70.36709", + "postcode": "04092" + }, + { + "name": "194", + "lat": "43.68300", + "lon": "-70.36705", + "postcode": "04092" + }, + { + "name": "196", + "lat": "43.68311", + "lon": "-70.36692", + "postcode": "04092" + }, + { + "name": "197", + "lat": "43.68296", + "lon": "-70.36640", + "postcode": "04092" + }, + { + "name": "204", + "lat": "43.68338", + "lon": "-70.36681", + "postcode": "04092" + }, + { + "name": "210", + "lat": "43.68356", + "lon": "-70.36668", + "postcode": "04092" + }, + { + "name": "221", + "lat": "43.68353", + "lon": "-70.36593", + "postcode": "04092" + }, + { + "name": "224", + "lat": "43.68404", + "lon": "-70.36604", + "postcode": "04092" + }, + { + "name": "225", + "lat": "43.68350", + "lon": "-70.36567", + "postcode": "04092" + }, + { + "name": "231", + "lat": "43.68381", + "lon": "-70.36561", + "postcode": "04092" + }, + { + "name": "234", + "lat": "43.68423", + "lon": "-70.36584", + "postcode": "04092" + }, + { + "name": "237", + "lat": "43.68403", + "lon": "-70.36531", + "postcode": "04092" + }, + { + "name": "238", + "lat": "43.68438", + "lon": "-70.36546", + "postcode": "04092" + }, + { + "name": "243", + "lat": "43.68417", + "lon": "-70.36509", + "postcode": "04092" + }, + { + "name": "248", + "lat": "43.68459", + "lon": "-70.36524", + "postcode": "04092" + }, + { + "name": "249", + "lat": "43.68440", + "lon": "-70.36486", + "postcode": "04092" + }, + { + "name": "259", + "lat": "43.68463", + "lon": "-70.36460", + "postcode": "04092" + }, + { + "name": "262", + "lat": "43.68496", + "lon": "-70.36488", + "postcode": "04092" + }, + { + "name": "271", + "lat": "43.68491", + "lon": "-70.36423", + "postcode": "04092" + }, + { + "name": "272", + "lat": "43.68518", + "lon": "-70.36460", + "postcode": "04092" + }, + { + "name": "281", + "lat": "43.68518", + "lon": "-70.36400", + "postcode": "04092" + }, + { + "name": "282", + "lat": "43.68538", + "lon": "-70.36430", + "postcode": "04092" + }, + { + "name": "286", + "lat": "43.68559", + "lon": "-70.36413", + "postcode": "04092" + }, + { + "name": "287", + "lat": "43.68544", + "lon": "-70.36366", + "postcode": "04092" + }, + { + "name": "296", + "lat": "43.68575", + "lon": "-70.36396", + "postcode": "04092" + }, + { + "name": "299", + "lat": "43.68570", + "lon": "-70.36346", + "postcode": "04092" + }, + { + "name": "300", + "lat": "43.68587", + "lon": "-70.36372", + "postcode": "04092" + }, + { + "name": "315", + "lat": "43.68601", + "lon": "-70.36271", + "postcode": "04092" + }, + { + "name": "316", + "lat": "43.68637", + "lon": "-70.36331", + "postcode": "04092" + }, + { + "name": "324", + "lat": "43.68660", + "lon": "-70.36301", + "postcode": "04092" + }, + { + "name": "330", + "lat": "43.68670", + "lon": "-70.36295", + "postcode": "04092" + }, + { + "name": "331", + "lat": "43.68653", + "lon": "-70.36252", + "postcode": "04092" + }, + { + "name": "332", + "lat": "43.68680", + "lon": "-70.36282", + "postcode": "04092" + }, + { + "name": "339", + "lat": "43.68671", + "lon": "-70.36235", + "postcode": "04092" + }, + { + "name": "344", + "lat": "43.68712", + "lon": "-70.36258", + "postcode": "04092" + }, + { + "name": "347", + "lat": "43.68698", + "lon": "-70.36205", + "postcode": "04092" + }, + { + "name": "348", + "lat": "43.68732", + "lon": "-70.36243", + "postcode": "04092" + }, + { + "name": "352", + "lat": "43.68741", + "lon": "-70.36226", + "postcode": "04092" + }, + { + "name": "356", + "lat": "43.68749", + "lon": "-70.36217", + "postcode": "04092" + }, + { + "name": "359", + "lat": "43.68725", + "lon": "-70.36183", + "postcode": "04092" + }, + { + "name": "360", + "lat": "43.68764", + "lon": "-70.36211", + "postcode": "04092" + }, + { + "name": "363", + "lat": "43.68755", + "lon": "-70.36155", + "postcode": "04092" + }, + { + "name": "364", + "lat": "43.68775", + "lon": "-70.36198", + "postcode": "04092" + }, + { + "name": "365", + "lat": "43.68767", + "lon": "-70.36149", + "postcode": "04092" + }, + { + "name": "366", + "lat": "43.68786", + "lon": "-70.36187", + "postcode": "04092" + }, + { + "name": "368", + "lat": "43.68797", + "lon": "-70.36179", + "postcode": "04092" + }, + { + "name": "369", + "lat": "43.68778", + "lon": "-70.36134", + "postcode": "04092" + }, + { + "name": "373", + "lat": "43.68797", + "lon": "-70.36125", + "postcode": "04092" + }, + { + "name": "376", + "lat": "43.68823", + "lon": "-70.36157", + "postcode": "04092" + }, + { + "name": "382", + "lat": "43.68839", + "lon": "-70.36136", + "postcode": "04092" + }, + { + "name": "406", + "lat": "43.68935", + "lon": "-70.36022", + "postcode": "04092" + }, + { + "name": "410", + "lat": "43.69023", + "lon": "-70.36160", + "postcode": "04092" + }, + { + "name": "418", + "lat": "43.68957", + "lon": "-70.35994", + "postcode": "04092" + }, + { + "name": "422", + "lat": "43.68989", + "lon": "-70.35962", + "postcode": "04092" + }, + { + "name": "426", + "lat": "43.69134", + "lon": "-70.36035", + "postcode": "04092" + }, + { + "name": "429", + "lat": "43.69047", + "lon": "-70.35820", + "postcode": "04092" + }, + { + "name": "430", + "lat": "43.69033", + "lon": "-70.35939", + "postcode": "04092" + }, + { + "name": "436", + "lat": "43.69065", + "lon": "-70.35921", + "postcode": "04092" + }, + { + "name": "455", + "lat": "43.69090", + "lon": "-70.35868", + "postcode": "04092" + }, + { + "name": "461", + "lat": "43.69109", + "lon": "-70.35866", + "postcode": "04092" + }, + { + "name": "508", + "lat": "43.69158", + "lon": "-70.35917", + "postcode": "04092" + }, + { + "name": "511", + "lat": "43.69188", + "lon": "-70.35866", + "postcode": "04092" + }, + { + "name": "516", + "lat": "43.69188", + "lon": "-70.35926", + "postcode": "04092" + }, + { + "name": "517", + "lat": "43.69217", + "lon": "-70.35876", + "postcode": "04092" + }, + { + "name": "524", + "lat": "43.69213", + "lon": "-70.35930", + "postcode": "04092" + }, + { + "name": "527", + "lat": "43.69256", + "lon": "-70.35825", + "postcode": "04092" + }, + { + "name": "530", + "lat": "43.69236", + "lon": "-70.35941", + "postcode": "04092" + }, + { + "name": "536", + "lat": "43.69267", + "lon": "-70.35986", + "postcode": "04092" + }, + { + "name": "542", + "lat": "43.69282", + "lon": "-70.35928", + "postcode": "04092" + }, + { + "name": "545", + "lat": "43.69276", + "lon": "-70.35868", + "postcode": "04092" + }, + { + "name": "547", + "lat": "43.69296", + "lon": "-70.35861", + "postcode": "04092" + }, + { + "name": "548", + "lat": "43.69317", + "lon": "-70.35906", + "postcode": "04092" + }, + { + "name": "555", + "lat": "43.69332", + "lon": "-70.35848", + "postcode": "04092" + }, + { + "name": "556", + "lat": "43.69338", + "lon": "-70.35896", + "postcode": "04092" + }, + { + "name": "561", + "lat": "43.69351", + "lon": "-70.35838", + "postcode": "04092" + }, + { + "name": "565", + "lat": "43.69371", + "lon": "-70.35829", + "postcode": "04092" + }, + { + "name": "570", + "lat": "43.69396", + "lon": "-70.35870", + "postcode": "04092" + }, + { + "name": "573", + "lat": "43.69391", + "lon": "-70.35816", + "postcode": "04092" + }, + { + "name": "581", + "lat": "43.69408", + "lon": "-70.35799", + "postcode": "04092" + }, + { + "name": "585", + "lat": "43.69424", + "lon": "-70.35793", + "postcode": "04092" + }, + { + "name": "591", + "lat": "43.69449", + "lon": "-70.35780", + "postcode": "04092" + }, + { + "name": "598", + "lat": "43.69511", + "lon": "-70.35893", + "postcode": "04092" + }, + { + "name": "604", + "lat": "43.69494", + "lon": "-70.35823", + "postcode": "04092" + } + ], + "intersectedStreets": [ + { + "name": "Main Street", + "names": { + "old_name": "State Route 25 (Bus)" + }, + "lat": "43.67692", + "lon": "-70.36775" + }, + { + "name": "Riverbank Footpath", + "lat": "43.67745", + "lon": "-70.36754" + }, + { + "name": "Myrtle Street", + "lat": "43.68516", + "lon": "-70.36430" + }, + { + "name": "Falmouth Street", + "lat": "43.68642", + "lon": "-70.36295" + }, + { + "name": "Everett Street", + "lat": "43.68696", + "lon": "-70.36239" + }, + { + "name": "Beechwood Avenue", + "lat": "43.68752", + "lon": "-70.36187" + }, + { + "name": "Cumberland Street", + "lat": "43.68859", + "lon": "-70.36099" + }, + { + "name": "West Jr High", + "lat": "43.69000", + "lon": "-70.35919" + }, + { + "name": "Graham Road", + "lat": "43.69132", + "lon": "-70.35893" + }, + { + "name": "Lugrin Street", + "lat": "43.69309", + "lon": "-70.35883" + }, + { + "name": "East Bridge Street", + "lat": "43.69517", + "lon": "-70.35778" + }, + { + "name": "Methodist Road", + "lat": "43.69517", + "lon": "-70.35778" + }, + { + "name": "Brown Street", + "lat": "43.67875", + "lon": "-70.36762" + }, + { + "name": "Winslow Street", + "lat": "43.67914", + "lon": "-70.36810" + }, + { + "name": "Lincoln Street", + "lat": "43.68049", + "lon": "-70.36861" + }, + { + "name": "Dodge Street", + "lat": "43.68133", + "lon": "-70.36793" + }, + { + "name": "Mitchell Street", + "lat": "43.68209", + "lon": "-70.36735" + }, + { + "name": "Walker Street", + "lat": "43.68285", + "lon": "-70.36679" + }, + { + "name": "North Street", + "lat": "43.68347", + "lon": "-70.36621" + }, + { + "name": "Pierce Street", + "lat": "43.68347", + "lon": "-70.36621" + }, + { + "name": "King Street", + "lat": "43.68401", + "lon": "-70.36559" + }, + { + "name": "Lyman Street", + "lat": "43.68463", + "lon": "-70.36490" + }, + { + "name": "Dana Court", + "lat": "43.67850", + "lon": "-70.36735" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Newry", + "lat": "44.48769", + "lon": "-70.78766", + "id": 158819677, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street (North Newry)", + "lat": "44.54147", + "lon": "-70.83165", + "id": 17280 + } + ], + "matchStreet": 1 + }, + { + "name": "Livermore Falls", + "lat": "44.47534", + "lon": "-70.18811", + "id": 158910039, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.47405", + "lon": "-70.19068", + "id": 50246, + "buildings": [ + { + "name": "3", + "lat": "44.47405", + "lon": "-70.19068", + "postcode": "04254" + }, + { + "name": "8", + "lat": "44.47359", + "lon": "-70.19077", + "postcode": "04254" + } + ], + "intersectedStreets": [ + { + "name": "Federal Road", + "lat": "44.47310", + "lon": "-70.19156" + }, + { + "name": "Water Street", + "lat": "44.47331", + "lon": "-70.19141" + }, + { + "name": "Main Street", + "lat": "44.47402", + "lon": "-70.19019" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Howland", + "lat": "45.23867", + "lon": "-68.66364", + "id": 158835521, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.23728", + "lon": "-68.65758", + "id": 45703 + } + ], + "matchStreet": 1 + }, + { + "name": "Bangor", + "enName": "Bangor", + "names": { + "ru": "Бангор", + "uk": "Бангор", + "he": "בנגור" + }, + "lat": "44.80118", + "lon": "-68.77781", + "id": 158862401, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Lane", + "lat": "44.81055", + "lon": "-68.91543", + "id": 3668 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Fort Fairfield", + "lat": "46.76983", + "lon": "-67.83457", + "id": 158826319, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "46.77297", + "lon": "-67.83513", + "id": 122576 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Bath", + "lat": "43.91076", + "lon": "-69.82086", + "id": 158843471, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.87553", + "lon": "-69.82548", + "id": 105727, + "buildings": [ + { + "name": "7", + "lat": "43.87553", + "lon": "-69.82548", + "postcode": "04530" + }, + { + "name": "8", + "lat": "43.87595", + "lon": "-69.82487", + "postcode": "04530" + }, + { + "name": "10", + "lat": "43.87630", + "lon": "-69.82479", + "postcode": "04530" + } + ], + "intersectedStreets": [ + { + "name": "High Street", + "lat": "43.87647", + "lon": "-69.82545" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Richmond", + "lat": "44.08730", + "lon": "-69.79893", + "id": 158844495, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.09249", + "lon": "-69.79715", + "id": 76629, + "buildings": [ + { + "name": "3", + "lat": "44.09101", + "lon": "-69.79659", + "postcode": "04357" + }, + { + "name": "5", + "lat": "44.09116", + "lon": "-69.79676", + "postcode": "04357" + }, + { + "name": "10", + "lat": "44.09125", + "lon": "-69.79737", + "postcode": "04357" + }, + { + "name": "11", + "lat": "44.09150", + "lon": "-69.79698", + "postcode": "04357" + }, + { + "name": "20", + "lat": "44.09255", + "lon": "-69.79842", + "postcode": "04357" + }, + { + "name": "21", + "lat": "44.09188", + "lon": "-69.79743", + "postcode": "04357" + }, + { + "name": "26", + "lat": "44.09249", + "lon": "-69.79715", + "postcode": "04357" + } + ], + "intersectedStreets": [ + { + "name": "North Front Street", + "lat": "44.09027", + "lon": "-69.79625" + }, + { + "name": "Arch Street", + "lat": "44.09093", + "lon": "-69.79683" + }, + { + "name": "Hill Street", + "lat": "44.09159", + "lon": "-69.79754" + }, + { + "name": "Hillside Street", + "lat": "44.09204", + "lon": "-69.79792" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Presque Isle", + "enName": "Presque Isle", + "names": { + "ru": "Преск-Айл", + "uk": "Преск-Айл" + }, + "lat": "46.68148", + "lon": "-68.01636", + "id": 158814029, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Gorham", + "lat": "43.67969", + "lon": "-70.44293", + "id": 158860614, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "East Millinocket", + "lat": "45.62755", + "lon": "-68.57448", + "id": 158856521, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Lewiston", + "lat": "44.10035", + "lon": "-70.21478", + "id": 158821172, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.10392", + "lon": "-70.21916", + "id": 115087, + "intersectedStreets": [ + { + "name": "EAST COAST GREENWAY", + "lat": "44.10350", + "lon": "-70.21832" + }, + { + "name": "Spring Street", + "lat": "44.10355", + "lon": "-70.21837" + }, + { + "name": "Summer Street", + "lat": "44.10392", + "lon": "-70.21916" + }, + { + "name": "Winter Street", + "lat": "44.10438", + "lon": "-70.21987" + }, + { + "name": "Hammond Street", + "lat": "44.10264", + "lon": "-70.21620" + }, + { + "name": "High Street", + "lat": "44.10264", + "lon": "-70.21620" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Milbridge", + "lat": "44.53535", + "lon": "-67.88117", + "id": 158816308, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.54060", + "lon": "-67.88197", + "id": 144065 + } + ], + "matchStreet": 1 + }, + { + "name": "Old Town", + "lat": "44.93467", + "lon": "-68.64533", + "id": 158842929, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.94519", + "lon": "-68.65249", + "id": 78681 + } + ], + "matchStreet": 1 + }, + { + "name": "Topsham", + "lat": "43.92758", + "lon": "-69.97588", + "id": 158868530, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.92176", + "lon": "-69.97308", + "id": 89197, + "buildings": [ + { + "name": "5", + "lat": "43.91709", + "lon": "-69.97544", + "postcode": "04086" + }, + { + "name": "7", + "lat": "43.91745", + "lon": "-69.97536", + "postcode": "04086" + }, + { + "name": "9", + "lat": "43.91796", + "lon": "-69.97461", + "postcode": "04086" + }, + { + "name": "11", + "lat": "43.91811", + "lon": "-69.97426", + "postcode": "04086" + }, + { + "name": "15", + "lat": "43.91827", + "lon": "-69.97401", + "postcode": "04086" + }, + { + "name": "19", + "lat": "43.91867", + "lon": "-69.97390", + "postcode": "04086" + }, + { + "name": "21", + "lat": "43.91893", + "lon": "-69.97379", + "postcode": "04086" + }, + { + "name": "22", + "lat": "43.91952", + "lon": "-69.97313", + "postcode": "04086" + }, + { + "name": "23", + "lat": "43.91913", + "lon": "-69.97364", + "postcode": "04086" + }, + { + "name": "25", + "lat": "43.91927", + "lon": "-69.97364", + "postcode": "04086" + }, + { + "name": "29", + "lat": "43.91981", + "lon": "-69.97360", + "postcode": "04086" + }, + { + "name": "30", + "lat": "43.92008", + "lon": "-69.97295", + "postcode": "04086" + }, + { + "name": "31", + "lat": "43.92003", + "lon": "-69.97355", + "postcode": "04086" + }, + { + "name": "32", + "lat": "43.92023", + "lon": "-69.97289", + "postcode": "04086" + }, + { + "name": "33", + "lat": "43.92049", + "lon": "-69.97340", + "postcode": "04086" + }, + { + "name": "34", + "lat": "43.92043", + "lon": "-69.97289", + "postcode": "04086" + }, + { + "name": "35", + "lat": "43.92062", + "lon": "-69.97334", + "postcode": "04086" + }, + { + "name": "38", + "lat": "43.92079", + "lon": "-69.97272", + "postcode": "04086" + }, + { + "name": "39", + "lat": "43.92100", + "lon": "-69.97328", + "postcode": "04086" + }, + { + "name": "41", + "lat": "43.92116", + "lon": "-69.97323", + "postcode": "04086" + }, + { + "name": "42", + "lat": "43.92111", + "lon": "-69.97270", + "postcode": "04086" + }, + { + "name": "43", + "lat": "43.92147", + "lon": "-69.97353", + "postcode": "04086" + }, + { + "name": "44", + "lat": "43.92127", + "lon": "-69.97259", + "postcode": "04086" + }, + { + "name": "47", + "lat": "43.92176", + "lon": "-69.97308", + "postcode": "04086" + }, + { + "name": "49", + "lat": "43.92198", + "lon": "-69.97304", + "postcode": "04086" + }, + { + "name": "50", + "lat": "43.92193", + "lon": "-69.97259", + "postcode": "04086" + }, + { + "name": "51", + "lat": "43.92233", + "lon": "-69.97317", + "postcode": "04086" + }, + { + "name": "52", + "lat": "43.92227", + "lon": "-69.97252", + "postcode": "04086" + }, + { + "name": "53", + "lat": "43.92284", + "lon": "-69.97295", + "postcode": "04086" + }, + { + "name": "56", + "lat": "43.92272", + "lon": "-69.97229", + "postcode": "04086" + }, + { + "name": "58", + "lat": "43.92303", + "lon": "-69.97229", + "postcode": "04086" + }, + { + "name": "62", + "lat": "43.92334", + "lon": "-69.97216", + "postcode": "04086" + }, + { + "name": "63", + "lat": "43.92340", + "lon": "-69.97272", + "postcode": "04086" + }, + { + "name": "64", + "lat": "43.92354", + "lon": "-69.97214", + "postcode": "04086" + }, + { + "name": "67", + "lat": "43.92389", + "lon": "-69.97259", + "postcode": "04086" + }, + { + "name": "72", + "lat": "43.92440", + "lon": "-69.97192", + "postcode": "04086" + }, + { + "name": "73", + "lat": "43.92467", + "lon": "-69.97242", + "postcode": "04086" + }, + { + "name": "76", + "lat": "43.92485", + "lon": "-69.97188", + "postcode": "04086" + }, + { + "name": "77", + "lat": "43.92501", + "lon": "-69.97235", + "postcode": "04086" + }, + { + "name": "78", + "lat": "43.92502", + "lon": "-69.97173", + "postcode": "04086" + }, + { + "name": "79", + "lat": "43.92521", + "lon": "-69.97222", + "postcode": "04086" + }, + { + "name": "80", + "lat": "43.92519", + "lon": "-69.97173", + "postcode": "04086" + }, + { + "name": "83", + "lat": "43.92578", + "lon": "-69.97210", + "postcode": "04086" + }, + { + "name": "84", + "lat": "43.92572", + "lon": "-69.97162", + "postcode": "04086" + }, + { + "name": "86", + "lat": "43.92595", + "lon": "-69.97160", + "postcode": "04086" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Fairfield", + "lat": "44.58851", + "lon": "-69.59908", + "id": 158862392, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.58773", + "lon": "-69.59457", + "id": 144847 + } + ], + "matchStreet": 1 + }, + { + "name": "Auburn", + "lat": "44.09785", + "lon": "-70.23117", + "id": 158855461, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Newfield", + "lat": "43.64850", + "lon": "-70.84740", + "id": 158816037, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.64808", + "lon": "-70.84744", + "id": 9994, + "buildings": [ + { + "name": "8", + "lat": "43.62721", + "lon": "-70.84002", + "postcode": "04095" + }, + { + "name": "44", + "lat": "43.62862", + "lon": "-70.83956", + "postcode": "04095" + }, + { + "name": "54", + "lat": "43.62902", + "lon": "-70.84004", + "postcode": "04095" + }, + { + "name": "58", + "lat": "43.62960", + "lon": "-70.84079", + "postcode": "04095" + }, + { + "name": "132", + "lat": "43.63325", + "lon": "-70.84162", + "postcode": "04095" + }, + { + "name": "134", + "lat": "43.63379", + "lon": "-70.84203", + "postcode": "04095" + }, + { + "name": "136", + "lat": "43.63418", + "lon": "-70.84225", + "postcode": "04095" + }, + { + "name": "137", + "lat": "43.63430", + "lon": "-70.84141", + "postcode": "04095" + }, + { + "name": "161", + "lat": "43.63572", + "lon": "-70.84208", + "postcode": "04095" + }, + { + "name": "167", + "lat": "43.63621", + "lon": "-70.84156", + "postcode": "04095" + }, + { + "name": "177", + "lat": "43.63676", + "lon": "-70.84199", + "postcode": "04095" + }, + { + "name": "187", + "lat": "43.63718", + "lon": "-70.84265", + "postcode": "04095" + }, + { + "name": "193", + "lat": "43.63795", + "lon": "-70.84304", + "postcode": "04095" + }, + { + "name": "210", + "lat": "43.63836", + "lon": "-70.84532", + "postcode": "04095" + }, + { + "name": "223", + "lat": "43.63996", + "lon": "-70.84349", + "postcode": "04095" + }, + { + "name": "226", + "lat": "43.63923", + "lon": "-70.84574", + "postcode": "04095" + }, + { + "name": "231", + "lat": "43.64007", + "lon": "-70.84238", + "postcode": "04095" + }, + { + "name": "238", + "lat": "43.64063", + "lon": "-70.84493", + "postcode": "04095" + }, + { + "name": "247", + "lat": "43.64126", + "lon": "-70.84403", + "postcode": "04095" + }, + { + "name": "253", + "lat": "43.64177", + "lon": "-70.84433", + "postcode": "04095" + }, + { + "name": "267", + "lat": "43.64258", + "lon": "-70.84435", + "postcode": "04095" + }, + { + "name": "274", + "lat": "43.64337", + "lon": "-70.84514", + "postcode": "04095" + }, + { + "name": "275", + "lat": "43.64350", + "lon": "-70.84411", + "postcode": "04095" + }, + { + "name": "293", + "lat": "43.64423", + "lon": "-70.84368", + "postcode": "04095" + }, + { + "name": "305", + "lat": "43.64542", + "lon": "-70.84433", + "postcode": "04095" + }, + { + "name": "311", + "lat": "43.64575", + "lon": "-70.84478", + "postcode": "04095" + }, + { + "name": "320", + "lat": "43.64573", + "lon": "-70.84607", + "postcode": "04095" + }, + { + "name": "333", + "lat": "43.64663", + "lon": "-70.84615", + "postcode": "04095" + }, + { + "name": "340", + "lat": "43.64684", + "lon": "-70.84731", + "postcode": "04095" + }, + { + "name": "341", + "lat": "43.64704", + "lon": "-70.84667", + "postcode": "04095" + }, + { + "name": "357", + "lat": "43.64808", + "lon": "-70.84744", + "postcode": "04095" + }, + { + "name": "358", + "lat": "43.64799", + "lon": "-70.84791", + "postcode": "04095" + }, + { + "name": "360", + "lat": "43.64825", + "lon": "-70.84804", + "postcode": "04095" + } + ], + "intersectedStreets": [ + { + "name": "Water Street", + "lat": "43.64845", + "lon": "-70.84778" + }, + { + "name": "North Shore Road (Sprague City)", + "lat": "43.62539", + "lon": "-70.83875" + }, + { + "name": "Poverty Pond Road", + "lat": "43.63281", + "lon": "-70.84098" + }, + { + "name": "Carroll Pit Road", + "lat": "43.64457", + "lon": "-70.84439" + }, + { + "name": "Tuttle Lane", + "lat": "43.64640", + "lon": "-70.84643" + }, + { + "name": "Pickett Mtn Road", + "lat": "43.64640", + "lon": "-70.84643" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Lincoln", + "lat": "45.36224", + "lon": "-68.50472", + "id": 158802992, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.43055", + "lon": "-68.45733", + "id": 86634 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Yarmouth", + "lat": "43.80064", + "lon": "-70.18672", + "id": 158803248, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.80009", + "lon": "-70.18345", + "id": 99270, + "buildings": [ + { + "name": "8", + "lat": "43.79985", + "lon": "-70.18356", + "postcode": "04096" + }, + { + "name": "17", + "lat": "43.79975", + "lon": "-70.18283", + "postcode": "04096" + }, + { + "name": "18", + "lat": "43.80009", + "lon": "-70.18345", + "postcode": "04096" + }, + { + "name": "20", + "lat": "43.80019", + "lon": "-70.18339", + "postcode": "04096" + }, + { + "name": "21", + "lat": "43.80000", + "lon": "-70.18292", + "postcode": "04096" + }, + { + "name": "23", + "lat": "43.80003", + "lon": "-70.18287", + "postcode": "04096" + }, + { + "name": "25", + "lat": "43.80006", + "lon": "-70.18283", + "postcode": "04096" + }, + { + "name": "28", + "lat": "43.80037", + "lon": "-70.18300", + "postcode": "04096" + }, + { + "name": "31", + "lat": "43.80028", + "lon": "-70.18255", + "postcode": "04096" + }, + { + "name": "38", + "lat": "43.80064", + "lon": "-70.18270", + "postcode": "04096" + }, + { + "name": "43", + "lat": "43.80062", + "lon": "-70.18221", + "postcode": "04096" + }, + { + "name": "49", + "lat": "43.80070", + "lon": "-70.18146", + "postcode": "04096" + }, + { + "name": "51", + "lat": "43.80071", + "lon": "-70.18118", + "postcode": "04096" + }, + { + "name": "80", + "lat": "43.80170", + "lon": "-70.18142", + "postcode": "04096" + }, + { + "name": "81", + "lat": "43.80149", + "lon": "-70.18105", + "postcode": "04096" + }, + { + "name": "89", + "lat": "43.80180", + "lon": "-70.18079", + "postcode": "04096" + }, + { + "name": "100", + "lat": "43.80221", + "lon": "-70.18096", + "postcode": "04096" + }, + { + "name": "103", + "lat": "43.80181", + "lon": "-70.17974", + "postcode": "04096" + }, + { + "name": "107", + "lat": "43.80209", + "lon": "-70.17972", + "postcode": "04096" + }, + { + "name": "109", + "lat": "43.80232", + "lon": "-70.18000", + "postcode": "04096" + }, + { + "name": "110", + "lat": "43.80260", + "lon": "-70.18062", + "postcode": "04096" + }, + { + "name": "124", + "lat": "43.80280", + "lon": "-70.18013", + "postcode": "04096" + }, + { + "name": "125", + "lat": "43.80259", + "lon": "-70.17940", + "postcode": "04096" + }, + { + "name": "132", + "lat": "43.80305", + "lon": "-70.17974", + "postcode": "04096" + }, + { + "name": "137", + "lat": "43.80294", + "lon": "-70.17918", + "postcode": "04096" + } + ], + "intersectedStreets": [ + { + "name": "Main Street", + "lat": "43.79941", + "lon": "-70.18367" + }, + { + "name": "Willow Street", + "lat": "43.80342", + "lon": "-70.17893" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Sangerville", + "lat": "45.16478", + "lon": "-69.35644", + "id": 158806316, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.16971", + "lon": "-69.36081", + "id": 139808 + } + ], + "matchStreet": 1 + }, + { + "name": "Fort Kent", + "lat": "47.25873", + "lon": "-68.58971", + "id": 158842923, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "47.24309", + "lon": "-68.58011", + "id": 93959 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Gilead", + "lat": "44.39454", + "lon": "-70.97305", + "id": 158842409, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.39494", + "lon": "-70.97314", + "id": 22840, + "buildings": [ + { + "name": "6", + "lat": "44.39445", + "lon": "-70.97299", + "postcode": "04217" + }, + { + "name": "8", + "lat": "44.39459", + "lon": "-70.97301", + "postcode": "04217" + }, + { + "name": "12", + "lat": "44.39494", + "lon": "-70.97314", + "postcode": "04217" + }, + { + "name": "15", + "lat": "44.39520", + "lon": "-70.97275", + "postcode": "04217" + }, + { + "name": "20", + "lat": "44.39552", + "lon": "-70.97288", + "postcode": "04217" + }, + { + "name": "26", + "lat": "44.39598", + "lon": "-70.97282", + "postcode": "04217" + }, + { + "name": "30", + "lat": "44.39624", + "lon": "-70.97247", + "postcode": "04217" + } + ], + "intersectedStreets": [ + { + "name": "Depot Street", + "lat": "44.39440", + "lon": "-70.97286" + }, + { + "name": "Fire Lane 100", + "lat": "44.39617", + "lon": "-70.97243" + }, + { + "name": "North Road", + "names": { + "alt_name": "North Side Road" + }, + "lat": "44.39873", + "lon": "-70.97172" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Van Buren", + "lat": "47.15751", + "lon": "-67.93533", + "id": 158909978, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "47.15786", + "lon": "-67.93467", + "id": 18084 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "North Brooksville", + "lat": "44.39535", + "lon": "-68.71058", + "id": 158908703, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "44.39531", + "lon": "-68.71047", + "id": 56244 + } + ], + "matchStreet": 1 + }, + { + "name": "Grand Falls", + "enName": "Grand Falls", + "names": { + "fr": "Grand-Sault" + }, + "lat": "47.04670", + "lon": "-67.77684", + "id": 1097017, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "North Dexter", + "lat": "45.07617", + "lon": "-69.33421", + "id": 158859281, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.08243", + "lon": "-69.39289", + "id": 139807 + } + ], + "matchStreet": 1 + }, + { + "name": "Belfast", + "lat": "44.42612", + "lon": "-69.00674", + "id": 158823967, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.42810", + "lon": "-69.00972", + "id": 85919 + } + ], + "matchStreet": 1 + }, + { + "name": "Sprague City", + "lat": "43.62625", + "lon": "-70.83923", + "id": 158853406, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.62719", + "lon": "-70.83999", + "id": 10409, + "buildings": [ + { + "name": "8", + "lat": "43.62719", + "lon": "-70.83999", + "postcode": "04095" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Calais", + "lat": "45.18903", + "lon": "-67.27814", + "id": 5964911273, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "North Waterford", + "lat": "44.23174", + "lon": "-70.76868", + "id": 158814982, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "44.20966", + "lon": "-70.81047", + "id": 31314, + "buildings": [ + { + "name": "11", + "lat": "44.21193", + "lon": "-70.80860", + "postcode": "04088" + }, + { + "name": "20", + "lat": "44.21136", + "lon": "-70.80886", + "postcode": "04088" + }, + { + "name": "26", + "lat": "44.21100", + "lon": "-70.80909", + "postcode": "04088" + }, + { + "name": "32", + "lat": "44.21070", + "lon": "-70.80959", + "postcode": "04088" + }, + { + "name": "52", + "lat": "44.20966", + "lon": "-70.81047", + "postcode": "04088" + } + ], + "intersectedStreets": [ + { + "name": "Button Bend", + "lat": "44.21110", + "lon": "-70.80899" + }, + { + "name": "Point Road", + "lat": "44.21156", + "lon": "-70.80860" + }, + { + "name": "Five Kezar Ponds Road", + "lat": "44.21246", + "lon": "-70.80787" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Saint-Léonard", + "lat": "47.16520", + "lon": "-67.92447", + "id": 34705955, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Edgecomb", + "lat": "43.95841", + "lon": "-69.63060", + "id": 158915597, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "43.97111", + "lon": "-69.67169", + "id": 112282, + "buildings": [ + { + "name": "21", + "lat": "43.97111", + "lon": "-69.67169", + "postcode": "04578" + }, + { + "name": "51", + "lat": "43.96942", + "lon": "-69.67192", + "postcode": "04578" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Bar Harbor", + "lat": "44.39121", + "lon": "-68.20073", + "id": 4307278286, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.39054", + "lon": "-68.20971", + "id": 125419 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Norridgewock", + "lat": "44.71307", + "lon": "-69.79065", + "id": 158821634, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.71423", + "lon": "-69.79737", + "id": 50348 + } + ], + "matchStreet": 1 + }, + { + "name": "Saint-Leonard", + "lat": "47.16390", + "lon": "-67.92423", + "id": 1099568, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Boothbay Harbor", + "lat": "43.85227", + "lon": "-69.62809", + "id": 158857975, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.85180", + "lon": "-69.62710", + "id": 96905, + "buildings": [ + { + "name": "3", + "lat": "43.85174", + "lon": "-69.62751", + "postcode": "04538" + }, + { + "name": "4", + "lat": "43.85188", + "lon": "-69.62755", + "postcode": "04538" + }, + { + "name": "6", + "lat": "43.85186", + "lon": "-69.62746", + "postcode": "04538" + }, + { + "name": "8", + "lat": "43.85184", + "lon": "-69.62740", + "postcode": "04538" + }, + { + "name": "10", + "lat": "43.85183", + "lon": "-69.62734", + "postcode": "04538" + }, + { + "name": "11", + "lat": "43.85166", + "lon": "-69.62718", + "postcode": "04538" + }, + { + "name": "12", + "lat": "43.85180", + "lon": "-69.62710", + "postcode": "04538" + } + ], + "intersectedStreets": [ + { + "name": "Townsend Avenue", + "lat": "43.85188", + "lon": "-69.62774" + }, + { + "name": "By-Way", + "lat": "43.85174", + "lon": "-69.62740" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "West Farmington", + "lat": "44.66284", + "lon": "-70.15534", + "id": 158826737, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.66247", + "lon": "-70.15350", + "id": 148813 + } + ], + "matchStreet": 1 + }, + { + "name": "Waldo", + "lat": "44.51257", + "lon": "-69.07615", + "id": 158816768, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street (Belfast)", + "lat": "44.42808", + "lon": "-69.00972", + "id": 85920 + } + ], + "matchStreet": 1 + }, + { + "name": "Rockwood", + "lat": "45.67782", + "lon": "-69.74089", + "id": 158835199, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.68730", + "lon": "-69.78050", + "id": 145420 + } + ], + "matchStreet": 1 + }, + { + "name": "Hampden", + "lat": "44.74452", + "lon": "-68.83698", + "id": 158862067, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Westbrook Terrace", + "lat": "44.75271", + "lon": "-68.82847", + "id": 137974 + } + ], + "init": 1 + }, + { + "name": "Brunswick", + "lat": "43.91452", + "lon": "-69.96533", + "id": 158864618, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.91858", + "lon": "-69.97362", + "id": 138895, + "intersectedStreets": [ + { + "name": "Front Street", + "lat": "43.91695", + "lon": "-69.97538" + }, + { + "name": "Prospect Street", + "lat": "43.91734", + "lon": "-69.97495" + }, + { + "name": "Union Street", + "lat": "43.91841", + "lon": "-69.97366" + }, + { + "name": "Oak Street", + "lat": "43.92124", + "lon": "-69.97302" + }, + { + "name": "Maple Street (Topsham)", + "lat": "43.92209", + "lon": "-69.97278" + }, + { + "name": "Maple Street Extension", + "lat": "43.92209", + "lon": "-69.97278" + }, + { + "name": "Walnut Street (Topsham)", + "lat": "43.92368", + "lon": "-69.97242" + }, + { + "name": "Winter Street (Topsham)", + "lat": "43.92638", + "lon": "-69.97169" + } + ] + }, + { + "name": "Bridge Road", + "lat": "43.93465", + "lon": "-69.86912", + "id": 102481, + "buildings": [ + { + "name": "14", + "lat": "43.93408", + "lon": "-69.86719", + "postcode": "04011" + }, + { + "name": "15", + "lat": "43.93465", + "lon": "-69.86912", + "postcode": "04011" + }, + { + "name": "26", + "lat": "43.93471", + "lon": "-69.86740", + "postcode": "04011" + }, + { + "name": "36", + "lat": "43.93531", + "lon": "-69.86708", + "postcode": "04011" + }, + { + "name": "38", + "lat": "43.93669", + "lon": "-69.86457", + "postcode": "04011" + }, + { + "name": "40", + "lat": "43.93626", + "lon": "-69.86558", + "postcode": "04011" + }, + { + "name": "57", + "lat": "43.93695", + "lon": "-69.86785", + "postcode": "04011" + }, + { + "name": "73", + "lat": "43.93816", + "lon": "-69.86721", + "postcode": "04011" + }, + { + "name": "83", + "lat": "43.93888", + "lon": "-69.86695", + "postcode": "04011" + }, + { + "name": "110", + "lat": "43.93992", + "lon": "-69.86442", + "postcode": "04011" + }, + { + "name": "121", + "lat": "43.94095", + "lon": "-69.86481", + "postcode": "04011" + }, + { + "name": "128", + "lat": "43.94097", + "lon": "-69.86391", + "postcode": "04011" + }, + { + "name": "131", + "lat": "43.94137", + "lon": "-69.86444", + "postcode": "04011" + }, + { + "name": "140", + "lat": "43.94159", + "lon": "-69.86318", + "postcode": "04011" + }, + { + "name": "156", + "lat": "43.94236", + "lon": "-69.86221", + "postcode": "04011" + }, + { + "name": "171", + "lat": "43.94344", + "lon": "-69.86230", + "postcode": "04011" + }, + { + "name": "172", + "lat": "43.94315", + "lon": "-69.86163", + "postcode": "04011" + }, + { + "name": "190", + "lat": "43.94367", + "lon": "-69.86088", + "postcode": "04011" + }, + { + "name": "196", + "lat": "43.94401", + "lon": "-69.86002", + "postcode": "04011" + }, + { + "name": "204", + "lat": "43.94451", + "lon": "-69.85985", + "postcode": "04011" + }, + { + "name": "218", + "lat": "43.94539", + "lon": "-69.85901", + "postcode": "04011" + } + ], + "intersectedStreets": [ + { + "name": "Eagle Brook Lane", + "lat": "43.93499", + "lon": "-69.86764" + }, + { + "name": "Old Bath Road", + "lat": "43.93315", + "lon": "-69.86824" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Edmundston", + "enName": "Edmundston", + "names": { + "ru": "Эдмундстон", + "uk": "Едмундстон" + }, + "lat": "47.36441", + "lon": "-68.32809", + "id": 34699332, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "47.36144", + "lon": "-68.32859", + "id": 113235 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "York", + "lat": "43.15210", + "lon": "-70.64932", + "id": 6357513599, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Biddeford", + "lat": "43.49258", + "lon": "-70.45338", + "id": 158859755, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "43.44072", + "lon": "-70.37863", + "id": 19069, + "buildings": [ + { + "name": "7", + "lat": "43.44072", + "lon": "-70.37863", + "postcode": "04005" + }, + { + "name": "9", + "lat": "43.44033", + "lon": "-70.37797", + "postcode": "04005" + }, + { + "name": "12", + "lat": "43.43932", + "lon": "-70.37737", + "postcode": "04005" + }, + { + "name": "15", + "lat": "43.44005", + "lon": "-70.37715", + "postcode": "04005" + }, + { + "name": "16", + "lat": "43.43866", + "lon": "-70.37722", + "postcode": "04005" + }, + { + "name": "17", + "lat": "43.43972", + "lon": "-70.37619", + "postcode": "04005" + }, + { + "name": "19", + "lat": "43.43955", + "lon": "-70.37586", + "postcode": "04005" + }, + { + "name": "31", + "lat": "43.43977", + "lon": "-70.37286", + "postcode": "04005" + }, + { + "name": "35", + "lat": "43.43971", + "lon": "-70.37230", + "postcode": "04005" + }, + { + "name": "37", + "lat": "43.43863", + "lon": "-70.37277", + "postcode": "04005" + }, + { + "name": "39", + "lat": "43.43846", + "lon": "-70.37258", + "postcode": "04005" + }, + { + "name": "41", + "lat": "43.43834", + "lon": "-70.37247", + "postcode": "04005" + }, + { + "name": "51", + "lat": "43.43764", + "lon": "-70.37179", + "postcode": "04005" + }, + { + "name": "58", + "lat": "43.43722", + "lon": "-70.37166", + "postcode": "04005" + }, + { + "name": "69", + "lat": "43.43739", + "lon": "-70.37106", + "postcode": "04005" + }, + { + "name": "73", + "lat": "43.43712", + "lon": "-70.37024" + } + ], + "intersectedStreets": [ + { + "name": "Pool Street", + "names": { + "alt_name": "State Route 208" + }, + "lat": "43.44134", + "lon": "-70.38084" + }, + { + "name": "Winter Harbor Lane", + "lat": "43.43898", + "lon": "-70.37518" + }, + { + "name": "Leighton Point Lane", + "lat": "43.43736", + "lon": "-70.37151" + }, + { + "name": "Beach Avenue", + "lat": "43.43669", + "lon": "-70.36958" + }, + { + "name": "Mile Stretch Road", + "lat": "43.43669", + "lon": "-70.36958" + }, + { + "name": "Fortunes Rocks Road", + "lat": "43.43669", + "lon": "-70.36958" + }, + { + "name": "Old Pool Road", + "lat": "43.44060", + "lon": "-70.37956" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Parkman", + "lat": "45.13367", + "lon": "-69.43310", + "id": 158821862, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.08593", + "lon": "-69.39647", + "id": 68103 + }, + { + "name": "Bridge Road", + "lat": "45.07719", + "lon": "-69.39072", + "id": 70183 + } + ], + "matchStreet": 1 + }, + { + "name": "Anson", + "lat": "44.79840", + "lon": "-69.88953", + "id": 158816752, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.79782", + "lon": "-69.89204", + "id": 144849 + } + ], + "matchStreet": 1 + }, + { + "name": "Randolph", + "lat": "44.23035", + "lon": "-69.76671", + "id": 158806509, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.23315", + "lon": "-69.76818", + "id": 150807, + "intersectedStreets": [ + { + "name": "Water Street", + "lat": "44.23313", + "lon": "-69.76782" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Benton Station", + "lat": "44.58923", + "lon": "-69.58505", + "id": 158818539, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.58686", + "lon": "-69.58768", + "id": 125640 + } + ], + "matchStreet": 1 + }, + { + "name": "Berwick", + "lat": "43.27259", + "lon": "-70.86732", + "id": 158846698, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.26688", + "lon": "-70.86630", + "id": 97194, + "buildings": [ + { + "name": "1", + "lat": "43.26621", + "lon": "-70.86619", + "postcode": "03901" + }, + { + "name": "2", + "lat": "43.26646", + "lon": "-70.86583", + "postcode": "03901" + }, + { + "name": "3", + "lat": "43.26611", + "lon": "-70.86714", + "postcode": "03901" + }, + { + "name": "4", + "lat": "43.26660", + "lon": "-70.86602", + "postcode": "03901" + }, + { + "name": "8", + "lat": "43.26688", + "lon": "-70.86630", + "postcode": "03901" + }, + { + "name": "11", + "lat": "43.26683", + "lon": "-70.86679", + "postcode": "03901" + }, + { + "name": "12", + "lat": "43.26707", + "lon": "-70.86652", + "postcode": "03901" + }, + { + "name": "12 R", + "lat": "43.26708", + "lon": "-70.86652", + "postcode": "03901" + }, + { + "name": "15", + "lat": "43.26702", + "lon": "-70.86705", + "postcode": "03901" + }, + { + "name": "16", + "lat": "43.26741", + "lon": "-70.86686", + "postcode": "03901" + }, + { + "name": "17", + "lat": "43.26710", + "lon": "-70.86716", + "postcode": "03901" + }, + { + "name": "19", + "lat": "43.26733", + "lon": "-70.86733", + "postcode": "03901" + }, + { + "name": "20", + "lat": "43.26752", + "lon": "-70.86705", + "postcode": "03901" + }, + { + "name": "27", + "lat": "43.26768", + "lon": "-70.86780", + "postcode": "03901" + }, + { + "name": "31", + "lat": "43.26789", + "lon": "-70.86808", + "postcode": "03901" + }, + { + "name": "35", + "lat": "43.26810", + "lon": "-70.86832", + "postcode": "03901" + }, + { + "name": "40", + "lat": "43.26855", + "lon": "-70.86815", + "postcode": "03901" + }, + { + "name": "41", + "lat": "43.26843", + "lon": "-70.86864", + "postcode": "03901" + }, + { + "name": "42", + "lat": "43.26868", + "lon": "-70.86836", + "postcode": "03901" + }, + { + "name": "44", + "lat": "43.26880", + "lon": "-70.86851", + "postcode": "03901" + }, + { + "name": "45", + "lat": "43.26868", + "lon": "-70.86888", + "postcode": "03901" + }, + { + "name": "51", + "lat": "43.26893", + "lon": "-70.86931", + "postcode": "03901" + }, + { + "name": "53", + "lat": "43.26910", + "lon": "-70.86943", + "postcode": "03901" + }, + { + "name": "57", + "lat": "43.26921", + "lon": "-70.86954", + "postcode": "03901" + }, + { + "name": "59", + "lat": "43.26935", + "lon": "-70.86967", + "postcode": "03901" + }, + { + "name": "63", + "lat": "43.26950", + "lon": "-70.86991", + "postcode": "03901" + }, + { + "name": "64", + "lat": "43.26971", + "lon": "-70.86969", + "postcode": "03901" + }, + { + "name": "65", + "lat": "43.26964", + "lon": "-70.87003", + "postcode": "03901" + }, + { + "name": "69", + "lat": "43.26977", + "lon": "-70.87021", + "postcode": "03901" + }, + { + "name": "71", + "lat": "43.26991", + "lon": "-70.87040", + "postcode": "03901" + }, + { + "name": "79", + "lat": "43.27011", + "lon": "-70.87061", + "postcode": "03901" + } + ], + "intersectedStreets": [ + { + "name": "Bow Street", + "lat": "43.26627", + "lon": "-70.86589" + }, + { + "name": "Penny Lane", + "lat": "43.26685", + "lon": "-70.86656" + }, + { + "name": "River Street", + "lat": "43.26830", + "lon": "-70.86823" + }, + { + "name": "Charles Street", + "lat": "43.26949", + "lon": "-70.86965" + }, + { + "name": "Rochester Street", + "lat": "43.27016", + "lon": "-70.87034" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Brooksville", + "lat": "44.34693", + "lon": "-68.68378", + "id": 158853354, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road (North Brooksville)", + "lat": "44.39531", + "lon": "-68.71047", + "id": 56243 + } + ], + "matchStreet": 1 + }, + { + "name": "Kennebunk", + "lat": "43.38409", + "lon": "-70.54527", + "id": 158807785, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Winslow", + "lat": "44.54742", + "lon": "-69.62174", + "id": 158843866, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.54731", + "lon": "-69.62669", + "id": 76220 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Washburn", + "lat": "46.79019", + "lon": "-68.15781", + "id": 158800583, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "46.79089", + "lon": "-68.15839", + "id": 122574 + } + ], + "matchStreet": 1 + }, + { + "name": "Carrabassett", + "lat": "45.07783", + "lon": "-70.21201", + "id": 158839238, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street (Bigelow)", + "lat": "45.07314", + "lon": "-70.31048", + "id": 107622 + } + ], + "matchStreet": 1 + }, + { + "name": "Sanford", + "lat": "43.43887", + "lon": "-70.77419", + "id": 158837189, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Street (Springvale)", + "names": { + "alt_name": "State Route 224 (Springvale)" + }, + "lat": "43.46610", + "lon": "-70.79607", + "id": 146134, + "buildings": [ + { + "name": "17", + "lat": "43.46572", + "lon": "-70.79551", + "postcode": "04083" + }, + { + "name": "17", + "lat": "43.46600", + "lon": "-70.79571", + "postcode": "04083" + }, + { + "name": "22", + "lat": "43.46652", + "lon": "-70.79590", + "postcode": "04083" + } + ], + "intersectedStreets": [ + { + "name": "Main Street", + "names": { + "alt_name": "State Route 11; State Route 109 (Springvale)" + }, + "lat": "43.46541", + "lon": "-70.79669" + }, + { + "name": "Oak Street", + "names": { + "alt_name": "State Route 11A" + }, + "lat": "43.46541", + "lon": "-70.79669" + }, + { + "name": "Payne Street (Springvale)", + "lat": "43.46669", + "lon": "-70.79491" + }, + { + "name": "Pleasant Street (Springvale)", + "names": { + "alt_name": "State Route 224 (Springvale)" + }, + "lat": "43.46669", + "lon": "-70.79491" + }, + { + "name": "Water Street (Springvale)", + "lat": "43.46669", + "lon": "-70.79491" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Houlton", + "lat": "46.12513", + "lon": "-67.84079", + "id": 1895709513, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "46.12858", + "lon": "-67.85064", + "id": 61267 + }, + { + "name": "Bridge Road", + "lat": "46.19847", + "lon": "-67.98359", + "id": 122846 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Jay", + "lat": "44.50434", + "lon": "-70.21637", + "id": 158800578, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.50417", + "lon": "-70.22096", + "id": 91138, + "buildings": [ + { + "name": "1", + "lat": "44.50443", + "lon": "-70.22161", + "postcode": "04239" + }, + { + "name": "5", + "lat": "44.50431", + "lon": "-70.22167", + "postcode": "04239" + }, + { + "name": "7", + "lat": "44.50420", + "lon": "-70.22184", + "postcode": "04239" + }, + { + "name": "9", + "lat": "44.50408", + "lon": "-70.22197", + "postcode": "04239" + }, + { + "name": "12", + "lat": "44.50417", + "lon": "-70.22096", + "postcode": "04239" + }, + { + "name": "22", + "lat": "44.50388", + "lon": "-70.22236", + "postcode": "04239" + }, + { + "name": "26", + "lat": "44.50408", + "lon": "-70.22246", + "postcode": "04239" + }, + { + "name": "31", + "lat": "44.50459", + "lon": "-70.22246", + "postcode": "04239" + }, + { + "name": "34", + "lat": "44.50465", + "lon": "-70.22296", + "postcode": "04239" + }, + { + "name": "38", + "lat": "44.50491", + "lon": "-70.22313", + "postcode": "04239" + } + ], + "intersectedStreets": [ + { + "name": "Intervale Road", + "lat": "44.50431", + "lon": "-70.22096" + }, + { + "name": "Knight Lane", + "lat": "44.50393", + "lon": "-70.22214" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Oak Terrace", + "lat": "43.08950", + "lon": "-70.75880", + "id": 158808001, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.08903", + "lon": "-70.75682", + "id": 10973, + "buildings": [ + { + "name": "19", + "lat": "43.08903", + "lon": "-70.75682", + "postcode": "03904" + }, + { + "name": "22", + "lat": "43.08943", + "lon": "-70.75661", + "postcode": "03904" + }, + { + "name": "28", + "lat": "43.08875", + "lon": "-70.75908", + "postcode": "03904" + }, + { + "name": "30", + "lat": "43.08889", + "lon": "-70.75923", + "postcode": "03904" + } + ], + "intersectedStreets": [ + { + "name": "Oak Terrace", + "lat": "43.08942", + "lon": "-70.75951" + }, + { + "name": "US 1 Bypass", + "lat": "43.08950", + "lon": "-70.75747" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Kittery", + "lat": "43.08845", + "lon": "-70.73685", + "id": 158863554, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street (Oak Terrace)", + "lat": "43.08906", + "lon": "-70.75506", + "id": 10972, + "buildings": [ + { + "name": "2", + "lat": "43.08959", + "lon": "-70.75449", + "postcode": "03904" + }, + { + "name": "5", + "lat": "43.08906", + "lon": "-70.75506", + "postcode": "03904" + }, + { + "name": "6", + "lat": "43.08948", + "lon": "-70.75489", + "postcode": "03904" + }, + { + "name": "7", + "lat": "43.08917", + "lon": "-70.75552", + "postcode": "03904" + }, + { + "name": "8", + "lat": "43.08954", + "lon": "-70.75517", + "postcode": "03904" + }, + { + "name": "9", + "lat": "43.08915", + "lon": "-70.75571", + "postcode": "03904" + }, + { + "name": "10", + "lat": "43.08951", + "lon": "-70.75536", + "postcode": "03904" + }, + { + "name": "11", + "lat": "43.08914", + "lon": "-70.75599", + "postcode": "03904" + }, + { + "name": "12", + "lat": "43.08958", + "lon": "-70.75575", + "postcode": "03904" + }, + { + "name": "12", + "lat": "43.08959", + "lon": "-70.75592", + "postcode": "03904" + }, + { + "name": "12", + "lat": "43.08959", + "lon": "-70.75584", + "postcode": "03904" + }, + { + "name": "12", + "lat": "43.08959", + "lon": "-70.75579", + "postcode": "03904" + }, + { + "name": "13", + "lat": "43.08917", + "lon": "-70.75618", + "postcode": "03904" + }, + { + "name": "18", + "lat": "43.08947", + "lon": "-70.75637", + "postcode": "03904" + }, + { + "name": "19", + "lat": "43.08906", + "lon": "-70.75682", + "postcode": "03904" + }, + { + "name": "22", + "lat": "43.08945", + "lon": "-70.75661", + "postcode": "03904" + }, + { + "name": "28", + "lat": "43.08876", + "lon": "-70.75908", + "postcode": "03904" + }, + { + "name": "30", + "lat": "43.08890", + "lon": "-70.75923", + "postcode": "03904" + } + ], + "intersectedStreets": [ + { + "name": "Cook Street (Oak Terrace)", + "lat": "43.08907", + "lon": "-70.75459" + }, + { + "name": "Government Street (Kittery Foreside)", + "lat": "43.08907", + "lon": "-70.75459" + }, + { + "name": "Moores Court", + "lat": "43.08925", + "lon": "-70.75494" + }, + { + "name": "Old Post Road (Remick Corners)", + "lat": "43.08934", + "lon": "-70.75710" + }, + { + "name": "Oak Terrace", + "lat": "43.08943", + "lon": "-70.75951" + }, + { + "name": "US 1 Bypass", + "lat": "43.08951", + "lon": "-70.75747" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Saco", + "lat": "43.50092", + "lon": "-70.44283", + "id": 158808782, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Wells", + "lat": "43.32218", + "lon": "-70.58098", + "id": 158808778, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Rumford", + "lat": "44.55427", + "lon": "-70.55145", + "id": 158809528, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.54271", + "lon": "-70.54847", + "id": 136804 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Phillips", + "lat": "44.82311", + "lon": "-70.33951", + "id": 158914491, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.82352", + "lon": "-70.33986", + "id": 123389 + } + ], + "matchStreet": 1 + }, + { + "name": "Frenchtown", + "lat": "43.68346", + "lon": "-70.36017", + "id": 45250075539, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.68018", + "lon": "-70.36840", + "id": 19, + "buildings": [ + { + "name": "41", + "lat": "43.67877", + "lon": "-70.36737", + "postcode": "04092" + }, + { + "name": "42", + "lat": "43.67850", + "lon": "-70.36777", + "postcode": "04092" + }, + { + "name": "51", + "lat": "43.67892", + "lon": "-70.36767", + "postcode": "04092" + }, + { + "name": "67", + "lat": "43.67942", + "lon": "-70.36820", + "postcode": "04092" + }, + { + "name": "72", + "lat": "43.67895", + "lon": "-70.36818", + "postcode": "04092" + }, + { + "name": "75", + "lat": "43.67957", + "lon": "-70.36835", + "postcode": "04092" + }, + { + "name": "77", + "lat": "43.67960", + "lon": "-70.36838", + "postcode": "04092" + }, + { + "name": "80", + "lat": "43.67926", + "lon": "-70.36863", + "postcode": "04092" + }, + { + "name": "87", + "lat": "43.68018", + "lon": "-70.36840" + }, + { + "name": "90", + "lat": "43.67915", + "lon": "-70.36857", + "postcode": "04092" + }, + { + "name": "119", + "lat": "43.68061", + "lon": "-70.36825", + "postcode": "04092" + }, + { + "name": "131", + "lat": "43.68086", + "lon": "-70.36784", + "postcode": "04092" + }, + { + "name": "135", + "lat": "43.68114", + "lon": "-70.36780", + "postcode": "04092" + }, + { + "name": "151", + "lat": "43.68151", + "lon": "-70.36754", + "postcode": "04092" + }, + { + "name": "155", + "lat": "43.68175", + "lon": "-70.36732", + "postcode": "04092" + }, + { + "name": "159", + "lat": "43.68187", + "lon": "-70.36724", + "postcode": "04092" + }, + { + "name": "163", + "lat": "43.68204", + "lon": "-70.36709", + "postcode": "04092" + }, + { + "name": "173", + "lat": "43.68221", + "lon": "-70.36694", + "postcode": "04092" + }, + { + "name": "181", + "lat": "43.68254", + "lon": "-70.36681", + "postcode": "04092" + }, + { + "name": "197", + "lat": "43.68297", + "lon": "-70.36640", + "postcode": "04092" + }, + { + "name": "221", + "lat": "43.68355", + "lon": "-70.36593", + "postcode": "04092" + }, + { + "name": "225", + "lat": "43.68352", + "lon": "-70.36567", + "postcode": "04092" + }, + { + "name": "231", + "lat": "43.68383", + "lon": "-70.36561", + "postcode": "04092" + }, + { + "name": "237", + "lat": "43.68404", + "lon": "-70.36531", + "postcode": "04092" + }, + { + "name": "243", + "lat": "43.68418", + "lon": "-70.36509", + "postcode": "04092" + }, + { + "name": "249", + "lat": "43.68442", + "lon": "-70.36486", + "postcode": "04092" + }, + { + "name": "259", + "lat": "43.68465", + "lon": "-70.36460", + "postcode": "04092" + }, + { + "name": "271", + "lat": "43.68493", + "lon": "-70.36423", + "postcode": "04092" + }, + { + "name": "281", + "lat": "43.68519", + "lon": "-70.36400", + "postcode": "04092" + }, + { + "name": "287", + "lat": "43.68545", + "lon": "-70.36366", + "postcode": "04092" + }, + { + "name": "299", + "lat": "43.68572", + "lon": "-70.36346", + "postcode": "04092" + }, + { + "name": "315", + "lat": "43.68603", + "lon": "-70.36271", + "postcode": "04092" + }, + { + "name": "331", + "lat": "43.68654", + "lon": "-70.36252", + "postcode": "04092" + }, + { + "name": "339", + "lat": "43.68673", + "lon": "-70.36235", + "postcode": "04092" + }, + { + "name": "347", + "lat": "43.68699", + "lon": "-70.36205", + "postcode": "04092" + }, + { + "name": "359", + "lat": "43.68727", + "lon": "-70.36183", + "postcode": "04092" + }, + { + "name": "363", + "lat": "43.68757", + "lon": "-70.36155", + "postcode": "04092" + }, + { + "name": "365", + "lat": "43.68769", + "lon": "-70.36149", + "postcode": "04092" + }, + { + "name": "369", + "lat": "43.68780", + "lon": "-70.36134", + "postcode": "04092" + }, + { + "name": "373", + "lat": "43.68798", + "lon": "-70.36125", + "postcode": "04092" + } + ], + "intersectedStreets": [ + { + "name": "Riverbank Footpath", + "lat": "43.67827", + "lon": "-70.36720" + }, + { + "name": "Dana Court", + "lat": "43.67852", + "lon": "-70.36735" + }, + { + "name": "Brown Street", + "lat": "43.67877", + "lon": "-70.36762" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Milton", + "lat": "43.46802", + "lon": "-70.96797", + "id": 368004, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Beals", + "lat": "44.52001", + "lon": "-67.61536", + "id": 158843569, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.52178", + "lon": "-67.61407", + "id": 144064 + } + ], + "matchStreet": 1 + }, + { + "name": "Madawaska", + "lat": "47.35557", + "lon": "-68.32192", + "id": 158821309, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "47.35676", + "lon": "-68.32865", + "id": 122575 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Farmington", + "lat": "44.67109", + "lon": "-70.15183", + "id": 158855357, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street (West Farmington)", + "lat": "44.66243", + "lon": "-70.15041", + "id": 123388 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Deer Isle", + "lat": "44.22404", + "lon": "-68.67760", + "id": 158806461, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.22286", + "lon": "-68.68376", + "id": 6478 + } + ], + "matchStreet": 1 + }, + { + "name": "Jonesport", + "lat": "44.53323", + "lon": "-67.59888", + "id": 158837181, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street (West Jonesport)", + "lat": "44.52875", + "lon": "-67.61606", + "id": 38527 + } + ], + "matchStreet": 1 + }, + { + "name": "Harpswell", + "lat": "43.80753", + "lon": "-69.93488", + "id": 7414987064, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Milford", + "lat": "44.94618", + "lon": "-68.64392", + "id": 158853798, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.94346", + "lon": "-68.64305", + "id": 138136 + } + ], + "matchStreet": 1 + }, + { + "name": "Cornish", + "lat": "43.80480", + "lon": "-70.80139", + "id": 158918051, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.80533", + "lon": "-70.80092", + "id": 22064, + "buildings": [ + { + "name": "4", + "lat": "43.80528", + "lon": "-70.80116", + "postcode": "04020" + }, + { + "name": "6", + "lat": "43.80533", + "lon": "-70.80092", + "postcode": "04020" + }, + { + "name": "13", + "lat": "43.80531", + "lon": "-70.80017", + "postcode": "04020" + }, + { + "name": "14", + "lat": "43.80556", + "lon": "-70.80045", + "postcode": "04020" + }, + { + "name": "16", + "lat": "43.80559", + "lon": "-70.80028", + "postcode": "04020" + }, + { + "name": "18", + "lat": "43.80568", + "lon": "-70.80010", + "postcode": "04020" + }, + { + "name": "19", + "lat": "43.80551", + "lon": "-70.79978", + "postcode": "04020" + }, + { + "name": "20", + "lat": "43.80576", + "lon": "-70.79985", + "postcode": "04020" + }, + { + "name": "25", + "lat": "43.80570", + "lon": "-70.79907", + "postcode": "04020" + } + ], + "intersectedStreets": [ + { + "name": "Main Street", + "lat": "43.80503", + "lon": "-70.80118" + }, + { + "name": "High Street", + "lat": "43.80506", + "lon": "-70.80143" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "South Portland", + "lat": "43.64147", + "lon": "-70.24088", + "id": 158897572, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Westbrook Street (Thornton Heights)", + "lat": "43.62326", + "lon": "-70.30615", + "id": 53667 + }, + { + "name": "Westbrook St Dead End", + "lat": "43.62025", + "lon": "-70.30544", + "id": 121415 + } + ], + "init": 1 + }, + { + "name": "Bingham", + "lat": "45.05897", + "lon": "-69.88266", + "id": 158803373, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "45.05317", + "lon": "-69.88296", + "id": 87554 + } + ], + "matchStreet": 1 + }, + { + "name": "Old Orchard Beach", + "lat": "43.51768", + "lon": "-70.37773", + "id": 158809517, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street (Ocean Park)", + "lat": "43.50292", + "lon": "-70.39269", + "id": 23573, + "buildings": [ + { + "name": "7", + "lat": "43.50292", + "lon": "-70.39269", + "postcode": "04064" + } + ], + "intersectedStreets": [ + { + "name": "Temple Avenue", + "lat": "43.50351", + "lon": "-70.39185" + }, + { + "name": "Randall Avenue (Ocean Park)", + "lat": "43.50310", + "lon": "-70.39219" + }, + { + "name": "Maine Avenue (Ocean Park)", + "lat": "43.50270", + "lon": "-70.39256" + }, + { + "name": "Massachusetts Avenue (Ocean Park)", + "lat": "43.50232", + "lon": "-70.39290" + }, + { + "name": "Connecticut Avenue (Ocean Park)", + "lat": "43.50189", + "lon": "-70.39327" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Skowhegan", + "lat": "44.76526", + "lon": "-69.71924", + "id": 158901925, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.76214", + "lon": "-69.72134", + "id": 104395 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Augusta", + "enName": "Augusta", + "names": { + "ru": "Огаста", + "uk": "Огаста", + "pl": "Augusta", + "ta": "அகஸ்தா" + }, + "lat": "44.31058", + "lon": "-69.77966", + "id": 158860186, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.31692", + "lon": "-69.77303", + "id": 125643, + "intersectedStreets": [ + { + "name": "Cony Street", + "lat": "44.31668", + "lon": "-69.77144" + }, + { + "name": "State Street", + "names": { + "alt_name": "Memorial Circle" + }, + "lat": "44.31749", + "lon": "-69.77649" + }, + { + "name": "Pleasant Street", + "lat": "44.31751", + "lon": "-69.77739" + }, + { + "name": "Summer Street", + "lat": "44.31739", + "lon": "-69.77848" + }, + { + "name": "Elm Street", + "lat": "44.31740", + "lon": "-69.77949" + }, + { + "name": "Winter Street", + "lat": "44.31754", + "lon": "-69.78026" + }, + { + "name": "Spring Street", + "lat": "44.31781", + "lon": "-69.78140" + }, + { + "name": "North Street", + "lat": "44.31797", + "lon": "-69.78194" + }, + { + "name": "North Chestnut Street", + "lat": "44.31801", + "lon": "-69.78226" + }, + { + "name": "Commercial Street", + "lat": "44.31708", + "lon": "-69.77389" + }, + { + "name": "Crosby Street", + "lat": "44.31739", + "lon": "-69.77533" + }, + { + "name": "Front Street", + "lat": "44.31694", + "lon": "-69.77312" + }, + { + "name": "Water Street", + "lat": "44.31700", + "lon": "-69.77346" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Portland", + "enName": "Portland", + "names": { + "ru": "Портленд", + "uk": "Портленд" + }, + "lat": "43.66103", + "lon": "-70.25486", + "id": 158867610, + "type": "CITY", + "listOfStreets": [ + { + "name": "Westbrook Arterial (Sagamore Village)", + "lat": "43.66658", + "lon": "-70.32952", + "id": 148868 + }, + { + "name": "Westbrook Street", + "lat": "43.66126", + "lon": "-70.33387", + "id": 148884 + } + ], + "init": 1 + }, + { + "name": "Ogunquit", + "lat": "43.24898", + "lon": "-70.59922", + "id": 158844055, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Lane", + "lat": "43.24961", + "lon": "-70.59701", + "id": 147766, + "intersectedStreets": [ + { + "name": "Beach Street", + "lat": "43.24992", + "lon": "-70.59701" + } + ] + }, + { + "name": "Bridge Street", + "lat": "43.24945", + "lon": "-70.59716", + "id": 97101, + "buildings": [ + { + "name": "14", + "lat": "43.24945", + "lon": "-70.59716", + "postcode": "03907" + }, + { + "name": "22", + "lat": "43.24919", + "lon": "-70.59726", + "postcode": "03907" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "West Jonesport", + "lat": "44.52897", + "lon": "-67.62110", + "id": 158856597, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.52777", + "lon": "-67.61538", + "id": 156758 + } + ], + "matchStreet": 1 + }, + { + "name": "Caribou", + "names": { + "ko": "카리부" + }, + "lat": "46.86056", + "lon": "-68.01197", + "id": 158869918, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "46.85784", + "lon": "-68.00593", + "id": 122577 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "North Lincoln", + "lat": "45.42700", + "lon": "-68.46197", + "id": 158817426, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.43089", + "lon": "-68.45763", + "id": 138406 + } + ], + "matchStreet": 1 + }, + { + "name": "West Enfield", + "lat": "45.24339", + "lon": "-68.64975", + "id": 158866578, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "45.23741", + "lon": "-68.64837", + "id": 80408 + } + ], + "matchStreet": 1 + }, + { + "name": "Kezar Falls", + "lat": "43.80785", + "lon": "-70.88895", + "id": 158856838, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "43.80801", + "lon": "-70.88868", + "id": 136808, + "intersectedStreets": [ + { + "name": "High Street", + "lat": "43.80921", + "lon": "-70.88892" + }, + { + "name": "Main Street", + "lat": "43.80921", + "lon": "-70.88892" + }, + { + "name": "River Street", + "lat": "43.80802", + "lon": "-70.88868" + }, + { + "name": "Ridlon Lane", + "lat": "43.80793", + "lon": "-70.88870" + }, + { + "name": "School Street", + "lat": "43.80770", + "lon": "-70.88887" + }, + { + "name": "Ossipee Trail", + "lat": "43.80742", + "lon": "-70.88909" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Eastport", + "lat": "44.90647", + "lon": "-66.99051", + "id": 158853506, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Rollinsford", + "lat": "43.22773", + "lon": "-70.82966", + "id": 370355, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Waterville", + "lat": "44.55201", + "lon": "-69.63171", + "id": 158813569, + "type": "CITY", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.54733", + "lon": "-69.62667", + "id": 76219 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Cambridge", + "lat": "45.02452", + "lon": "-69.47411", + "id": 158844047, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "45.05433", + "lon": "-69.39559", + "id": 101383 + }, + { + "name": "Bridge Road", + "lat": "45.09278", + "lon": "-69.39276", + "id": 70084 + }, + { + "name": "Bridge Road", + "lat": "45.07443", + "lon": "-69.38963", + "id": 70094 + } + ], + "matchStreet": 1 + }, + { + "name": "Gardiner", + "lat": "44.23044", + "lon": "-69.77554", + "id": 158877314, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.23347", + "lon": "-69.77209", + "id": 125641, + "intersectedStreets": [ + { + "name": "Maine Avenue", + "lat": "44.23347", + "lon": "-69.77222" + }, + { + "name": "Summer Street", + "lat": "44.23124", + "lon": "-69.77417" + }, + { + "name": "Highland Avenue", + "lat": "44.23159", + "lon": "-69.77400" + }, + { + "name": "Middle Street", + "lat": "44.23239", + "lon": "-69.77333" + }, + { + "name": "Spring Street", + "lat": "44.23285", + "lon": "-69.77297" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "West Newfield", + "lat": "43.64397", + "lon": "-70.92367", + "id": 158800779, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Bridge Street (Newfield)", + "lat": "43.64806", + "lon": "-70.84742", + "id": 9995, + "buildings": [ + { + "name": "193", + "lat": "43.63794", + "lon": "-70.84302", + "postcode": "04095" + }, + { + "name": "210", + "lat": "43.63834", + "lon": "-70.84529", + "postcode": "04095" + }, + { + "name": "223", + "lat": "43.63994", + "lon": "-70.84347", + "postcode": "04095" + }, + { + "name": "226", + "lat": "43.63921", + "lon": "-70.84572", + "postcode": "04095" + }, + { + "name": "231", + "lat": "43.64005", + "lon": "-70.84235", + "postcode": "04095" + }, + { + "name": "238", + "lat": "43.64061", + "lon": "-70.84491", + "postcode": "04095" + }, + { + "name": "247", + "lat": "43.64125", + "lon": "-70.84401", + "postcode": "04095" + }, + { + "name": "253", + "lat": "43.64176", + "lon": "-70.84431", + "postcode": "04095" + }, + { + "name": "267", + "lat": "43.64257", + "lon": "-70.84433", + "postcode": "04095" + }, + { + "name": "274", + "lat": "43.64336", + "lon": "-70.84512", + "postcode": "04095" + }, + { + "name": "275", + "lat": "43.64348", + "lon": "-70.84409", + "postcode": "04095" + }, + { + "name": "293", + "lat": "43.64421", + "lon": "-70.84366", + "postcode": "04095" + }, + { + "name": "305", + "lat": "43.64541", + "lon": "-70.84431", + "postcode": "04095" + }, + { + "name": "311", + "lat": "43.64573", + "lon": "-70.84476", + "postcode": "04095" + }, + { + "name": "320", + "lat": "43.64572", + "lon": "-70.84605", + "postcode": "04095" + }, + { + "name": "333", + "lat": "43.64662", + "lon": "-70.84613", + "postcode": "04095" + }, + { + "name": "340", + "lat": "43.64682", + "lon": "-70.84729", + "postcode": "04095" + }, + { + "name": "341", + "lat": "43.64702", + "lon": "-70.84665", + "postcode": "04095" + }, + { + "name": "357", + "lat": "43.64806", + "lon": "-70.84742", + "postcode": "04095" + }, + { + "name": "358", + "lat": "43.64797", + "lon": "-70.84789", + "postcode": "04095" + }, + { + "name": "360", + "lat": "43.64823", + "lon": "-70.84802", + "postcode": "04095" + } + ] + }, + { + "name": "Bridge Street (Sprague City)", + "lat": "43.63620", + "lon": "-70.84154", + "id": 9997, + "buildings": [ + { + "name": "8", + "lat": "43.62719", + "lon": "-70.84002", + "postcode": "04095" + }, + { + "name": "44", + "lat": "43.62860", + "lon": "-70.83956", + "postcode": "04095" + }, + { + "name": "54", + "lat": "43.62901", + "lon": "-70.84004", + "postcode": "04095" + }, + { + "name": "58", + "lat": "43.62958", + "lon": "-70.84079", + "postcode": "04095" + }, + { + "name": "132", + "lat": "43.63323", + "lon": "-70.84160", + "postcode": "04095" + }, + { + "name": "134", + "lat": "43.63379", + "lon": "-70.84201", + "postcode": "04095" + }, + { + "name": "136", + "lat": "43.63416", + "lon": "-70.84225", + "postcode": "04095" + }, + { + "name": "137", + "lat": "43.63429", + "lon": "-70.84139", + "postcode": "04095" + }, + { + "name": "161", + "lat": "43.63570", + "lon": "-70.84205", + "postcode": "04095" + }, + { + "name": "167", + "lat": "43.63620", + "lon": "-70.84154", + "postcode": "04095" + }, + { + "name": "177", + "lat": "43.63674", + "lon": "-70.84197", + "postcode": "04095" + }, + { + "name": "187", + "lat": "43.63716", + "lon": "-70.84265", + "postcode": "04095" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "St. Stephen", + "lat": "45.20040", + "lon": "-67.27986", + "id": 204489936, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Bucksport", + "lat": "44.57369", + "lon": "-68.79559", + "id": 158853239, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "44.57167", + "lon": "-68.78789", + "id": 94122 + } + ], + "matchStreet": 1 + }, + { + "name": "Wiscasset", + "lat": "44.00319", + "lon": "-69.66568", + "id": 158858870, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "43.97138", + "lon": "-69.67147", + "id": 133436, + "intersectedStreets": [ + { + "name": "Burnell Road", + "lat": "43.97222", + "lon": "-69.67186" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Ellsworth", + "lat": "44.54348", + "lon": "-68.42018", + "id": 158907508, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Easton", + "lat": "46.64115", + "lon": "-67.90947", + "id": 158874485, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Road", + "lat": "46.65045", + "lon": "-67.91029", + "id": 41826 + } + ], + "matchStreet": 1 + }, + { + "name": "Mars Hill", + "lat": "46.51588", + "lon": "-67.86641", + "id": 158821990, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "lat": "46.51811", + "lon": "-67.86611", + "id": 122573 + } + ], + "matchStreet": 1 + }, + { + "name": "Mexico", + "lat": "44.56112", + "lon": "-70.54596", + "id": 158855781, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Millinocket", + "lat": "45.65773", + "lon": "-68.70987", + "id": 158903664, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Springvale", + "lat": "43.46509", + "lon": "-70.79479", + "id": 158903656, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Bridge Street", + "names": { + "alt_name": "State Route 224" + }, + "lat": "43.46608", + "lon": "-70.79607", + "id": 146135, + "buildings": [ + { + "name": "17", + "lat": "43.46571", + "lon": "-70.79551", + "postcode": "04083" + }, + { + "name": "17", + "lat": "43.46599", + "lon": "-70.79571", + "postcode": "04083" + }, + { + "name": "22", + "lat": "43.46650", + "lon": "-70.79590", + "postcode": "04083" + } + ], + "intersectedStreets": [ + { + "name": "Water Street", + "lat": "43.46667", + "lon": "-70.79491" + } + ] + } + ], + "matchStreet": 1 + } + ] +} \ No newline at end of file diff --git a/OsmAnd-java/src/test/resources/search/carrer_de_vic.json b/OsmAnd-java/src/test/resources/search/carrer_de_vic.json new file mode 100644 index 0000000000..83ce2d7810 --- /dev/null +++ b/OsmAnd-java/src/test/resources/search/carrer_de_vic.json @@ -0,0 +1,6956 @@ +{ + "settings": { + "lat": "41.42389", + "lon": "1.96645", + "radiusLevel": 1, + "totalLimit": -1, + "lang": "", + "transliterateIfMissing": false, + "emptyQueryAllowed": false, + "sortByName": false + }, + "phrase": "carrer de Vic, Sant Bartomeu del grau", + "results": [ + "Carrer de Sant Bartomeu del Grau, Vic", + "Carrer de Vic, Sant Bartomeu del Grau", + "carrer Ponent, Sant Bartomeu del Grau", + "Carrer Pla de l'Oratori, Sant Bartomeu del Grau", + "carrer de Dalt, Sant Bartomeu del Grau", + "Carrer de la Migjorn, Sant Bartomeu del Grau", + "Carrer de la Tramuntana, Sant Bartomeu del Grau", + "Carrer de la Codina (Xalet Mas Reig), Sant Bartomeu del Grau", + "Carrer de Sant Bartomeu, Sant Cugat del Vallès", + "Carretera de Sant Bartomeu del Grau, Muntanyola", + "Carretera de Sant Bartomeu del Grau, Sant Bartomeu del Grau", + "Carretera de Sant Bartomeu, Sant Bartomeu del Grau", + "Carretera de Sant Bartomeu del Grau, Xalet Mas Reig", + "Camí de St. Bartomeu al Sorreig (Xalet Mas Reig), Sant Bartomeu del Grau", + "Carrer Tres Creus, Sant Bartomeu del Grau", + "Carrer del Mig, Sant Bartomeu del Grau", + "carrer Vell, Sant Bartomeu del Grau", + "Carrer Nou, Sant Bartomeu del Grau" + ], + "amenities": [ + { + "name": "Collada de Sant Bartomeu", + "lat": "42.13254", + "lon": "2.36052", + "id": 7047523056, + "subType": "saddle", + "type": "natural", + "additionalInfo": { + "ele": "1289" + } + }, + { + "name": "Esgèsia de Sant Bartomeu", + "lat": "41.26087", + "lon": "1.43803", + "id": 626076983, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Esgèsia de Sant Bartomeu", + "lat": "41.26087", + "lon": "1.43803", + "id": 626076983, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.16079", + "lon": "0.92000", + "id": 773636589, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_chapel": "chapel", + "abandoned": "yes", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "ruins": "yes" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.16079", + "lon": "0.92000", + "id": 773636589, + "subType": "abandoned_poi", + "type": "man_made", + "additionalInfo": { + "building_type_chapel": "chapel", + "abandoned": "yes", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "ruins": "yes" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.16079", + "lon": "0.92000", + "id": 773636589, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_chapel": "chapel", + "abandoned": "yes", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "ruins": "yes" + } + }, + { + "name": "Esglèsia de Sant Bartomeu", + "lat": "41.24611", + "lon": "1.48642", + "id": 589407255, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Església de Sant Bartomeu", + "lat": "42.12274", + "lon": "2.96206", + "id": 594632519, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Església de Sant Bartomeu", + "lat": "42.12274", + "lon": "2.96206", + "id": 594632519, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Carretera de Sant Bartomeu", + "lat": "41.95210", + "lon": "2.23660", + "id": 192305229, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "ref": "BV-4601" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.20114", + "lon": "2.19935", + "id": 1199378759, + "subType": "building", + "type": "man_made" + }, + { + "name": "riera de Sant Bartomeu", + "lat": "41.93689", + "lon": "2.17600", + "id": 761300829, + "subType": "stream", + "type": "natural" + }, + { + "name": "Coll de Sant Bartomeu", + "lat": "41.56389", + "lon": "2.34339", + "id": 2834790858, + "subType": "saddle", + "type": "natural" + }, + { + "name": "Cal Bartomeus", + "lat": "41.89541", + "lon": "1.78277", + "id": 442258781, + "subType": "building", + "type": "man_made" + }, + { + "name": "Sant Bartomeu", + "lat": "41.51886", + "lon": "1.70758", + "id": 595599237, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.51886", + "lon": "1.70758", + "id": 595599237, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian" + } + }, + { + "name": "Monument a Bartomeu Robert", + "names": { + "ca": "Monument a Bartomeu Robert" + }, + "lat": "41.39489", + "lon": "2.17555", + "id": 4538261640, + "subType": "monument", + "type": "tourism", + "additionalInfo": { + "artwork_type_statue": "statue", + "material_metal": "metal", + "length": "11.25", + "artist_name": "Josep Llimona", + "end_date": "1010-11-13", + "alt_name": "Monument al Doctor Robert", + "height": "12.6", + "width": "9.26", + "start_date": "1904-01-31", + "wikipedia": "http://ca.wikipedia.org/wiki/Monument al Doctor Robert" + } + }, + { + "name": "Sant Bartomeu i Santa Tecla", + "lat": "41.23469", + "lon": "1.81169", + "id": 463621227, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu i Santa Tecla", + "lat": "41.23469", + "lon": "1.81169", + "id": 463621227, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Mas Bartomeu", + "lat": "41.20394", + "lon": "1.54401", + "id": 8655443378, + "subType": "internet_access_wlan", + "type": "service", + "additionalInfo": { + "website": "http://www.barthomeus.com/en/rural-tourism/", + "phone": "+34 6007188857" + } + }, + { + "name": "Mas Bartomeu", + "lat": "41.20394", + "lon": "1.54401", + "id": 8655443378, + "subType": "isolated_dwelling", + "type": "administrative", + "additionalInfo": { + "website": "http://www.barthomeus.com/en/rural-tourism/", + "phone": "+34 6007188857" + } + }, + { + "name": "Sant Bartomeu de Favà", + "lat": "42.24723", + "lon": "1.20547", + "id": 1566711339, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Favà" + } + }, + { + "name": "Sant Bartomeu de Favà", + "lat": "42.24723", + "lon": "1.20547", + "id": 1566711339, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Favà" + } + }, + { + "name": "Ferrer i Bassa - Bartomeu Bermejo", + "lat": "41.38650", + "lon": "2.09169", + "id": 10822050304, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "ref": "108121", + "route_bus_ref": "EP2" + } + }, + { + "name": "Sant Bartomeu Sesgorgues", + "lat": "42.01482", + "lon": "2.36041", + "id": 591049713, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu Sesgorgues", + "lat": "42.01482", + "lon": "2.36041", + "id": 591049713, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.75358", + "lon": "1.90508", + "id": 668389083, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "route_hiking_ref_poi": "GR 151", + "operator": "GR" + } + }, + { + "name": "Torrent de Mas Bartomeu", + "lat": "41.29506", + "lon": "1.49365", + "id": 1142622473, + "subType": "stream", + "type": "natural" + }, + { + "name": "Circumval·lació - Sant Bartomeu", + "lat": "41.44305", + "lon": "2.21619", + "id": 11194749018, + "subType": "public_transport_stop_position", + "type": "transportation", + "additionalInfo": { + "bus_yes": "yes", + "ref": "101619", + "route_bus_ref": "B3, B5, B81", + "operator": "AMT (Autoritat Metropolitana del Transport)" + } + }, + { + "name": "Sant Bartomeu de Cabanyes", + "lat": "41.56242", + "lon": "2.34329", + "id": 396898673, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_chapel": "chapel", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Cabanyes" + } + }, + { + "name": "Sant Bartomeu de Cabanyes", + "lat": "41.56242", + "lon": "2.34329", + "id": 396898673, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_chapel": "chapel", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Cabanyes" + } + }, + { + "name": "Circumval·lació - Sant Bartomeu", + "lat": "41.44302", + "lon": "2.21623", + "id": 4298586344, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "covered_yes": "yes", + "bench_yes": "yes", + "bus_yes": "yes", + "operator": "AMT (Autoritat Metropolitana del Transport)", + "ref": "101619", + "route_bus_ref": "B3, B5, B81" + } + }, + { + "name": "Bartomeu", + "lat": "41.60580", + "lon": "1.84918", + "id": 13759518204, + "subType": "restaurant", + "type": "sustenance" + }, + { + "name": "Riera de Sant Bartomeu", + "lat": "41.42218", + "lon": "2.03183", + "id": 569985689, + "subType": "stream", + "type": "natural" + }, + { + "name": "Barranc de Sant Bartomeu", + "lat": "41.32223", + "lon": "0.81964", + "id": 1345538897, + "subType": "stream", + "type": "natural", + "additionalInfo": { + "intermittent": "yes" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.33647", + "lon": "1.68994", + "id": 14053259716, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Ermita de Sant Bartomeu", + "lat": "42.51543", + "lon": "1.14232", + "id": 455023675, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Ermita de Sant Bartomeu", + "lat": "42.51543", + "lon": "1.14232", + "id": 455023675, + "subType": "historic_ruins", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Ermita de Sant Bartomeu", + "lat": "42.51543", + "lon": "1.14232", + "id": 455023675, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Riera de Sant Bartomeu", + "lat": "41.41853", + "lon": "2.02412", + "id": 569985685, + "subType": "stream", + "type": "natural", + "additionalInfo": { + "tunnel_waterway": "yes" + } + }, + { + "name": "Riera de Sant Bartomeu", + "lat": "41.41853", + "lon": "2.02412", + "id": 569985685, + "subType": "tunnel", + "type": "man_made", + "additionalInfo": { + "tunnel_waterway": "yes" + } + }, + { + "name": "Riera de Sant Bartomeu", + "lat": "41.41623", + "lon": "2.01698", + "id": 569985687, + "subType": "stream", + "type": "natural" + }, + { + "name": "Torrent de Sant Bartomeu", + "lat": "41.56362", + "lon": "2.33994", + "id": 1533043985, + "subType": "stream", + "type": "natural", + "additionalInfo": { + "tunnel_waterway": "yes" + } + }, + { + "name": "Torrent de Sant Bartomeu", + "lat": "41.56362", + "lon": "2.33994", + "id": 1533043985, + "subType": "tunnel", + "type": "man_made", + "additionalInfo": { + "tunnel_waterway": "yes" + } + }, + { + "name": "Sant Bartomeu - Av. Amèrica", + "lat": "41.44208", + "lon": "2.21696", + "id": 1209841198, + "subType": "public_transport_platform", + "type": "transportation", + "additionalInfo": { + "covered_yes": "yes", + "bench_yes": "yes", + "bus_yes": "yes", + "operator": "AMT (Autoritat Metropolitana del Transport)", + "ref": "106952", + "route_bus_ref": "B3" + } + }, + { + "name": "Torrent de Sant Bartomeu", + "lat": "41.56328", + "lon": "2.34007", + "id": 1533043987, + "subType": "stream", + "type": "natural" + }, + { + "name": "CEIP Sant Bartomeu", + "lat": "41.77346", + "lon": "0.95373", + "id": 4567668722, + "subType": "school", + "type": "education" + }, + { + "name": "Serra de Sant Bartomeu", + "lat": "42.04293", + "lon": "0.67967", + "id": 2483310648, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Sant Bartomeu", + "lat": "41.25161", + "lon": "0.48567", + "id": 4818161750, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Plana del Mas de Bartomeu", + "lat": "41.32518", + "lon": "1.50174", + "id": 2483585588, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Sant Bartomeu de Covildases", + "lat": "42.12366", + "lon": "2.36092", + "id": 408311831, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Covildases" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.09004", + "lon": "1.83173", + "id": 751409033, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "building_type_church": "church", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Valldan" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.09004", + "lon": "1.83173", + "id": 751409033, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "building_type_church": "church", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Valldan" + } + }, + { + "name": "Sant Bartomeu", + "lat": "40.98393", + "lon": "0.40540", + "id": 365424263, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "40.98393", + "lon": "0.40540", + "id": 365424263, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.12533", + "lon": "2.36084", + "id": 408311829, + "subType": "isolated_dwelling", + "type": "administrative" + }, + { + "name": "Sant Bartomeu", + "lat": "42.12533", + "lon": "2.36084", + "id": 408311829, + "subType": "building", + "type": "man_made" + }, + { + "name": "Riera de Sant Bartomeu", + "lat": "42.12108", + "lon": "2.36333", + "id": 408311827, + "subType": "stream", + "type": "natural" + }, + { + "name": "Parròquia de Sant Bartomeu", + "lat": "41.35682", + "lon": "2.14362", + "id": 4416472365056, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.08986", + "lon": "1.83047", + "id": 14626078594, + "subType": "public_transport_stop_position", + "type": "transportation", + "additionalInfo": { + "bus_yes": "yes", + "route_bus_ref": "L2" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.20096", + "lon": "2.19939", + "id": 11409298500, + "subType": "peak", + "type": "natural", + "additionalInfo": { + "ele": "907.3" + } + }, + { + "name": "Font de Sant Bartomeu", + "lat": "41.56263", + "lon": "2.34039", + "id": 2838332968, + "subType": "drinking_water", + "type": "man_made" + }, + { + "name": "Sant Bartomeu", + "lat": "42.14971", + "lon": "2.43931", + "id": 6957707196, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.14971", + "lon": "2.43931", + "id": 6957707196, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.45913", + "lon": "0.35922", + "id": 881250253, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "tourism_yes": "yes" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.45913", + "lon": "0.35922", + "id": 881250253, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "tourism_yes": "yes" + } + }, + { + "name": "Refugi Bartomeu Puiggrós", + "lat": "41.61103", + "lon": "1.81783", + "id": 356628491, + "subType": "alpine_hut", + "type": "tourism", + "additionalInfo": { + "reservation_no": "no", + "fee_no": "no", + "website": "https://www.feec.cat/refugi/refugi-santa-cecilia-bartomeu-puiggros-actualment-fora-de-servei/", + "operator": "Federació d'Entitats Excursionistes de Catalunya", + "ele": "678" + } + }, + { + "name": "Refugi Bartomeu Puiggrós", + "lat": "41.61103", + "lon": "1.81783", + "id": 356628491, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "reservation_no": "no", + "fee_no": "no", + "website": "https://www.feec.cat/refugi/refugi-santa-cecilia-bartomeu-puiggros-actualment-fora-de-servei/", + "operator": "Federació d'Entitats Excursionistes de Catalunya", + "ele": "678" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.60533", + "lon": "1.19184", + "id": 4915765324, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Serrat de Sant Bartomeu", + "lat": "42.01369", + "lon": "1.52899", + "id": 5287221800, + "subType": "peak", + "type": "natural", + "additionalInfo": { + "ele": "869.7", + "wikipedia": "http://ca.wikipedia.org/wiki/Serrat de Sant Bartomeu" + } + }, + { + "name": "Sant Bartomeu de la Quadra", + "lat": "41.42595", + "lon": "2.03766", + "id": 4303985092, + "subType": "village", + "type": "administrative" + }, + { + "name": "Carretera de Sant Bartomeu", + "lat": "41.94291", + "lon": "2.24117", + "id": 618135959, + "subType": "bridge", + "type": "man_made", + "additionalInfo": { + "bridge_car": "yes", + "foot_no": "no", + "operator": "Eix-Bus, SA, Sagalés", + "ref": "BV-4601", + "route_bus_ref": "L0324, L9" + } + }, + { + "name": "Barranc de Sant Bartomeu", + "lat": "41.31632", + "lon": "0.82661", + "id": 365845663, + "subType": "stream", + "type": "natural", + "additionalInfo": { + "intermittent": "yes" + } + }, + { + "name": "Sant Bartomeu de Malgrat", + "lat": "42.29904", + "lon": "1.30587", + "id": 1567304955, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Malgrat" + } + }, + { + "name": "Sant Bartomeu de Malgrat", + "lat": "42.29904", + "lon": "1.30587", + "id": 1567304955, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Malgrat" + } + }, + { + "name": "Sant Bartomeu de la Quadra", + "lat": "41.42596", + "lon": "2.03734", + "id": 792807189, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.62957", + "lon": "0.83176", + "id": 806154843, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.62957", + "lon": "0.83176", + "id": 806154843, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Església de Sant Bartomeu", + "lat": "41.13746", + "lon": "0.90953", + "id": 1522708629, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Església de Sant Bartomeu", + "lat": "41.13746", + "lon": "0.90953", + "id": 1522708629, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu del Portell", + "lat": "42.18459", + "lon": "2.78257", + "id": 503402073, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu del Portell", + "lat": "42.18459", + "lon": "2.78257", + "id": 503402073, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Bac de Sant Bartomeu", + "lat": "42.01525", + "lon": "2.36002", + "id": 819238709, + "subType": "cliff", + "type": "natural" + }, + { + "name": "St. Bartomeu del Grau / Gurb", + "lat": "41.94245", + "lon": "2.23168", + "id": 287970188, + "subType": "motorway_junction", + "type": "transportation", + "additionalInfo": { + "ref": "178" + } + }, + { + "name": "St. Bartomeu del Grau / Gurb", + "lat": "41.93913", + "lon": "2.23220", + "id": 4186739438, + "subType": "motorway_junction", + "type": "transportation", + "additionalInfo": { + "ref": "62" + } + }, + { + "name": "Torrent de Mas Bartomeu", + "lat": "41.31308", + "lon": "1.49760", + "id": 1346167445, + "subType": "stream", + "type": "natural", + "additionalInfo": { + "intermittent": "yes" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.91855", + "lon": "1.14670", + "id": 1272049979, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "building_type_church": "church", + "religion_christian": "christian", + "tourism_yes": "yes", + "website": "http://www.ponts.cat/ca/administracio/ajuntamentponts/llocs-dinteres/sant-bartomeu-del-tossal/109580.html" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.91855", + "lon": "1.14670", + "id": 1272049979, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "building_type_church": "church", + "religion_christian": "christian", + "tourism_yes": "yes", + "website": "http://www.ponts.cat/ca/administracio/ajuntamentponts/llocs-dinteres/sant-bartomeu-del-tossal/109580.html" + } + }, + { + "name": "Baga de Sant Bartomeu", + "lat": "42.11861", + "lon": "2.36346", + "id": 2483114606, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Coll de Sant Bartomeu", + "lat": "41.56226", + "lon": "2.34337", + "id": 4171544074, + "subType": "saddle", + "type": "natural" + }, + { + "name": "Església Sant Bartomeu", + "lat": "41.18621", + "lon": "1.45425", + "id": 478522345, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Església Sant Bartomeu", + "lat": "41.18621", + "lon": "1.45425", + "id": 478522345, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Font d'en Bartomeu", + "lat": "41.46683", + "lon": "2.21259", + "id": 10342753736, + "subType": "spring", + "type": "natural" + }, + { + "name": "Coveta de Mas Bartomeu", + "lat": "41.31638", + "lon": "1.49745", + "id": 13741861990, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Sant Bartomeu", + "lat": "41.15953", + "lon": "0.98349", + "id": 615003673, + "subType": "historic_ruins", + "type": "tourism" + }, + { + "name": "Sant Bartomeu de Navarcles", + "lat": "41.75479", + "lon": "1.90593", + "id": 383189027, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_chapel": "chapel", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Navarcles" + } + }, + { + "name": "Sant Bartomeu de Navarcles", + "lat": "41.75479", + "lon": "1.90593", + "id": 383189027, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_chapel": "chapel", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Navarcles" + } + }, + { + "name": "Farmàcia Fullana Fiol, Bartomeu", + "names": { + "es": "Farmacia Fullana Fior" + }, + "lat": "41.11690", + "lon": "1.24882", + "id": 8741907834, + "subType": "pharmacy", + "type": "healthcare", + "openingHours": "Mo-Su 09:00-22:00", + "additionalInfo": { + "wheelchair_yes": "yes", + "dispensing_yes": "yes", + "opening_hours": "Mo-Su 09:00-22:00", + "website": "http://www.farmaciafullana.com", + "phone": "+34977214517", + "ref": "3622889" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.11643", + "lon": "0.53704", + "id": 200405579, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.26557", + "lon": "1.36593", + "id": 438850967, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.26557", + "lon": "1.36593", + "id": 438850967, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Ermita de Sant Bartomeu", + "lat": "41.69527", + "lon": "2.23484", + "id": 494172861, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Ermita de Sant Bartomeu", + "lat": "41.69527", + "lon": "2.23484", + "id": 494172861, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Església Sant Bartomeu", + "lat": "41.66652", + "lon": "0.55528", + "id": 662608051, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church" + } + }, + { + "name": "Biblioteca pública Sant Bartomeu", + "lat": "41.66605", + "lon": "0.55723", + "id": 662585265, + "subType": "public_bookcase", + "type": "entertainment" + }, + { + "name": "Sant Bartomeu del Grau", + "lat": "41.98077", + "lon": "2.17504", + "id": 1100085252, + "subType": "village", + "type": "administrative", + "additionalInfo": { + "population": "967", + "ele": "869" + } + }, + { + "name": "Sant Bartomeu de la Vall de Vilaramó", + "lat": "41.96298", + "lon": "1.94203", + "id": 1571465203, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Vall de Vilaramó" + } + }, + { + "name": "Sant Bartomeu de la Vall de Vilaramó", + "lat": "41.96298", + "lon": "1.94203", + "id": 1571465203, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Vall de Vilaramó" + } + }, + { + "name": "Sant Bartomeu de Pincaró", + "lat": "42.33474", + "lon": "2.67644", + "id": 732345343, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Pincaró" + } + }, + { + "name": "Sant Bartomeu de Pincaró", + "lat": "42.33474", + "lon": "2.67644", + "id": 732345343, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Pincaró" + } + }, + { + "name": "Sant Bartomeu i Sant Roc", + "lat": "40.63480", + "lon": "0.27983", + "id": 4403358244864, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.95434", + "lon": "1.00070", + "id": 794066121, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "tourism_yes": "yes" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.95434", + "lon": "1.00070", + "id": 794066121, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_roman_catholic": "roman_catholic", + "religion_christian": "christian", + "tourism_yes": "yes" + } + }, + { + "name": "Sant Bartomeu de la Quadra", + "lat": "41.42818", + "lon": "2.03951", + "id": 305746279, + "subType": "village", + "type": "administrative", + "additionalInfo": { + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Quadra" + } + }, + { + "name": "Sant Bartomeu de la Quadra", + "lat": "41.42818", + "lon": "2.03951", + "id": 305746279, + "subType": "protected_area", + "type": "natural", + "additionalInfo": { + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Quadra" + } + }, + { + "name": "Sant Bartomeu de la Quadra", + "lat": "41.42818", + "lon": "2.03951", + "id": 305746279, + "subType": "residential", + "type": "administrative", + "additionalInfo": { + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Quadra" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.33564", + "lon": "1.68801", + "id": 7517265072, + "subType": "isolated_dwelling", + "type": "administrative" + }, + { + "name": "Sant Bartomeu - Av. Amèrica", + "lat": "41.44205", + "lon": "2.21692", + "id": 11457138432, + "subType": "public_transport_stop_position", + "type": "transportation", + "additionalInfo": { + "bus_yes": "yes", + "ref": "106952", + "route_bus_ref": "B3", + "operator": "AMT (Autoritat Metropolitana del Transport)" + } + }, + { + "name": "Mas Bartomeu", + "lat": "41.32159", + "lon": "1.49588", + "id": 643259774, + "subType": "historic_ruins", + "type": "tourism" + }, + { + "name": "Sant Bartomeu", + "lat": "41.31766", + "lon": "0.82526", + "id": 365845729, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Parròquia de Sant Bartomeu", + "lat": "41.36558", + "lon": "2.13993", + "id": 434957341, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "religion_christian": "christian" + } + }, + { + "name": "Parròquia de Sant Bartomeu", + "lat": "41.36558", + "lon": "2.13993", + "id": 434957341, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "religion_christian": "christian" + } + }, + { + "name": "Cal Bartomeu", + "lat": "41.41150", + "lon": "1.62267", + "id": 638360509, + "subType": "building", + "type": "man_made" + }, + { + "name": "Sant Bartomeu", + "lat": "42.59165", + "lon": "1.14919", + "id": 918469451, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "42.59165", + "lon": "1.14919", + "id": 918469451, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Esglesia de Sant Bartomeu", + "lat": "41.12553", + "lon": "0.73351", + "id": 8392486606, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Roc de Sant Bartomeu", + "lat": "42.45785", + "lon": "1.37662", + "id": 2483279296, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Coves de Bartomeu", + "lat": "40.58388", + "lon": "0.49745", + "id": 9431002076, + "subType": "cave_entrance", + "type": "natural" + }, + { + "name": "Collada de Sant Bartomeu", + "lat": "42.11591", + "lon": "2.36923", + "id": 10218636968, + "subType": "saddle", + "type": "natural", + "additionalInfo": { + "ele": "1251.9" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.44287", + "lon": "1.40528", + "id": 7959004006, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.29483", + "lon": "1.30596", + "id": 7723017360, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu del Grau", + "lat": "41.98385", + "lon": "2.17291", + "id": 843592333, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu del Grau", + "lat": "41.98385", + "lon": "2.17291", + "id": 843592333, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu d'Erta", + "lat": "42.42590", + "lon": "0.84369", + "id": 1569661771, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu d'Erta" + } + }, + { + "name": "Sant Bartomeu d'Erta", + "lat": "42.42590", + "lon": "0.84369", + "id": 1569661771, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu d'Erta" + } + }, + { + "name": "Baixada de Sant Bartomeu", + "lat": "42.43109", + "lon": "1.92945", + "id": 380780603, + "subType": "highway_steps", + "type": "transportation" + }, + { + "name": "Sant Bartomeu", + "lat": "41.99774", + "lon": "0.84477", + "id": 4413779894272, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Baronia de Sant Oïsme" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.99774", + "lon": "0.84477", + "id": 4413779894272, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de la Baronia de Sant Oïsme" + } + }, + { + "name": "Tossal de Sant Bartomeu", + "lat": "41.67410", + "lon": "0.53977", + "id": 2483336656, + "subType": "locality", + "type": "administrative" + }, + { + "name": "Bartomeu Robert", + "lat": "41.35378", + "lon": "2.15326", + "id": 4696518112, + "subType": "memorial", + "type": "tourism" + }, + { + "name": "Sant Bartomeu de Burg", + "lat": "42.50447", + "lon": "1.27216", + "id": 794417303, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "denomination_catholic": "catholic", + "building_type_church": "church", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Burg" + } + }, + { + "name": "Sant Bartomeu de Burg", + "lat": "42.50447", + "lon": "1.27216", + "id": 794417303, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "denomination_catholic": "catholic", + "building_type_church": "church", + "religion_christian": "christian", + "tourism_yes": "yes", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Burg" + } + }, + { + "name": "Capella de Sant Bartomeu", + "lat": "41.95946", + "lon": "2.66841", + "id": 1590434589, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Capella de Sant Bartomeu", + "lat": "41.95946", + "lon": "2.66841", + "id": 1590434589, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu de Llaés", + "lat": "42.15470", + "lon": "2.24838", + "id": 843966623, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Sant Bartomeu de Llaés", + "lat": "42.15470", + "lon": "2.24838", + "id": 843966623, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian" + } + }, + { + "name": "Frutería Casa Bartomeus - Tiendadefruta.es", + "lat": "41.73356", + "lon": "1.83158", + "id": 6585869656, + "subType": "greengrocer", + "type": "shop", + "additionalInfo": { + "wheelchair_yes": "yes", + "website": "https://www.tiendadefruta.es/", + "phone": "+34 93 8730959", + "description:es": "Tienda de fruta expertos en frutas tropicales y exóticas. Disponen de guanábana, mangostán, ñame, ..." + } + }, + { + "name": "Torrent de Sant Bartomeu", + "lat": "41.56515", + "lon": "2.33831", + "id": 454746319, + "subType": "stream", + "type": "natural" + }, + { + "name": "Sant Bartomeu de Carbasí", + "lat": "41.61024", + "lon": "1.43063", + "id": 1570663755, + "subType": "place_of_worship", + "type": "tourism", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Carbasí" + } + }, + { + "name": "Sant Bartomeu de Carbasí", + "lat": "41.61024", + "lon": "1.43063", + "id": 1570663755, + "subType": "building", + "type": "man_made", + "additionalInfo": { + "building_type_church": "church", + "denomination_catholic": "catholic", + "religion_christian": "christian", + "wikipedia": "http://ca.wikipedia.org/wiki/Sant Bartomeu de Carbasí" + } + }, + { + "name": "Sant Bartomeu", + "lat": "41.31775", + "lon": "0.82535", + "id": 3865575034, + "subType": "attraction", + "type": "tourism" + }, + { + "name": "Plaça de Sant Bartomeu", + "lat": "41.29449", + "lon": "1.30596", + "id": 1124433115, + "subType": "square", + "type": "man_made" + } + ], + "cities": [ + { + "name": "Arganda del Rey", + "lat": "40.30077", + "lon": "-3.43807", + "id": 256329511, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Fruitós de Bages", + "lat": "41.75327", + "lon": "1.87494", + "id": 1470839177, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Muntanyola", + "lat": "41.87693", + "lon": "2.17908", + "id": 1460478703, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Sant Bartomeu del Grau", + "lat": "41.95777", + "lon": "2.13628", + "id": 81162 + } + ], + "matchStreet": 1 + }, + { + "name": "Sant Joan de Vilatorrada", + "lat": "41.74221", + "lon": "1.80362", + "id": 1470839184, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Villanueva de la Cañada", + "lat": "40.44721", + "lon": "-4.00280", + "id": 269160430, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Lliçà de Vall", + "lat": "41.59155", + "lon": "2.24224", + "id": 1460478693, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Rosselló Porcel", + "lat": "41.60258", + "lon": "2.21767", + "id": 40502 + } + ], + "matchStreet": 1 + }, + { + "name": "Cambrils", + "lat": "41.06794", + "lon": "1.06576", + "id": 1470838172, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Masllorenç", + "lat": "41.27017", + "lon": "1.41449", + "id": 935240588, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu (Masarbonès)", + "lat": "41.25990", + "lon": "1.43844", + "id": 105689, + "intersectedStreets": [ + { + "name": "Carrer de Sant Antoni (Masarbonès)", + "lat": "41.25981", + "lon": "1.43687" + }, + { + "name": "Carrer Major (Masarbonès)", + "lat": "41.25989", + "lon": "1.43796" + }, + { + "name": "Carrer de Bonastre (Masarbonès)", + "lat": "41.25992", + "lon": "1.43848" + }, + { + "name": "Carrer de les Fassines (Masarbonès)", + "lat": "41.26018", + "lon": "1.43874" + }, + { + "name": "Plaça de l'Om (Masarbonès)", + "lat": "41.26040", + "lon": "1.43854" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Almacelles", + "lat": "41.72950", + "lon": "0.44048", + "id": 352498933, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Blanch 'lo Català'", + "lat": "41.72985", + "lon": "0.44291", + "id": 87670 + } + ], + "matchStreet": 1 + }, + { + "name": "Caldes de Montbui", + "names": { + "es": "Caldes de Montbui" + }, + "lat": "41.63227", + "lon": "2.16764", + "id": 1470838164, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sobremunt", + "lat": "42.03530", + "lon": "2.16516", + "id": 539466271, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí de St. Bartomeu al Sorreig", + "lat": "42.00629", + "lon": "2.17995", + "id": 122291 + } + ], + "matchStreet": 1 + }, + { + "name": "Calonge", + "lat": "41.86210", + "lon": "3.07723", + "id": 1470838168, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Bellmunt d'Urgell", + "lat": "41.77399", + "lon": "0.95381", + "id": 390491452, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Baixada de Sant Bartomeu", + "lat": "41.77357", + "lon": "0.95115", + "id": 96278, + "intersectedStreets": [ + { + "name": "Camí de Linyola", + "lat": "41.77341", + "lon": "0.95096" + }, + { + "name": "Avinguda de Domènec Cardenal", + "lat": "41.77347", + "lon": "0.95107" + }, + { + "name": "Carrer del Terral", + "lat": "41.77379", + "lon": "0.95148" + }, + { + "name": "Carrer del Bancal", + "lat": "41.77390", + "lon": "0.95184" + }, + { + "name": "Carrer de Barcelona", + "names": { + "ca": "carrer de Barcelona" + }, + "lat": "41.77411", + "lon": "0.95195" + }, + { + "name": "Carretera de Bellmunt d'Urgell", + "lat": "41.77214", + "lon": "0.95002" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Calella", + "lat": "41.61329", + "lon": "2.65761", + "id": 1470838165, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cervera", + "lat": "41.67680", + "lon": "1.27499", + "id": 9205876, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Ripollet", + "lat": "41.49934", + "lon": "2.15731", + "id": 3538816683, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "San Agustín del Guadalix", + "names": { + "ru": "Сан-Агустин-дель-Гвадаликс", + "uk": "Сан-Агустін-дель-Гуадалікс" + }, + "lat": "40.67905", + "lon": "-3.61660", + "id": 258640685, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Girona", + "names": { + "ast": "Xirona", + "be": "Жырона", + "ru": "Жирона", + "ko": "지로나", + "pt": "Gerunda", + "gl": "Xirona", + "el": "Ζιρόνα", + "lt": "Žirona", + "fr": "Gérone", + "an": "Chirona", + "es": "Gerona", + "zh": "赫罗纳", + "eu": "Girona", + "ar": "جرندة", + "oc": "Girona", + "uk": "Жірона", + "ja": "ジローナ", + "fa": "خرنا", + "he": "ז'ירונה", + "ca": "Girona", + "nl": "Gerona", + "sr": "Ђирона" + }, + "lat": "41.97930", + "lon": "2.81994", + "id": 30894545, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Tres Cantos", + "names": { + "ru": "Трес-Кантос", + "uk": "Трес-Кантос" + }, + "lat": "40.60658", + "lon": "-3.70653", + "id": 319938844, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Súria", + "lat": "41.83281", + "lon": "1.75266", + "id": 5045067902, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Palamós", + "lat": "41.84954", + "lon": "3.12788", + "id": 1470838632, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Andreu de la Barca", + "lat": "41.45182", + "lon": "1.97248", + "id": 1470839144, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Palafrugell", + "lat": "41.91836", + "lon": "3.16199", + "id": 1470838631, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Andreu de Llavaneres", + "names": { + "ca": "Sant Andreu de Llavaneres" + }, + "lat": "41.57395", + "lon": "2.48282", + "id": 1470839142, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Villaviciosa de Odón", + "lat": "40.35738", + "lon": "-3.90023", + "id": 306574423, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "San Martín de la Vega", + "lat": "40.21105", + "lon": "-3.57718", + "id": 4350968640, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Camallera", + "lat": "42.12271", + "lon": "2.96347", + "id": 365041119, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "42.12202", + "lon": "2.96408", + "id": 35207, + "intersectedStreets": [ + { + "name": "Carrer del Doctor Lluís Fàbrega", + "lat": "42.12202", + "lon": "2.96408" + }, + { + "name": "Carrer de Vicenç Bou", + "lat": "42.12142", + "lon": "2.96453" + }, + { + "name": "Carrer de l'Estació", + "lat": "42.12142", + "lon": "2.96453" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Tossa de Mar", + "names": { + "ca": "Tossa de Mar" + }, + "lat": "41.71978", + "lon": "2.93122", + "id": 331106659, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Mataró", + "names": { + "ar": "ماتارو", + "ru": "Матаро", + "uk": "Матаро", + "el": "Ματαρό", + "lt": "Mataro", + "ca": "Mataró", + "es": "Mataró" + }, + "lat": "41.53983", + "lon": "2.44489", + "id": 65523130, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Celoni", + "lat": "41.69014", + "lon": "2.49167", + "id": 1470839157, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Vielha", + "names": { + "oc": "Vielha", + "es": "Viella" + }, + "lat": "42.70176", + "lon": "0.79547", + "id": 1098278678, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Leganés", + "enName": "Leganés", + "names": { + "ru": "Леганес", + "uk": "Леганес", + "ja": "レガネス", + "hu": "Leganés", + "sr": "Леганес" + }, + "lat": "40.32819", + "lon": "-3.76527", + "id": 306524644, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cervera", + "lat": "41.67307", + "lon": "1.27294", + "id": 1470838211, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Viladecans", + "lat": "41.31631", + "lon": "2.01560", + "id": 2375518653, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Ponts", + "lat": "41.91601", + "lon": "1.18825", + "id": 1470838746, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Camí de Sant Bartomeu (el Tossal)", + "lat": "41.91443", + "lon": "1.15028", + "id": 110593, + "intersectedStreets": [ + { + "name": "Camí del Tossal (el Tossal)", + "lat": "41.91492", + "lon": "1.15232" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Cubelles", + "names": { + "ca": "Cubelles" + }, + "lat": "41.20834", + "lon": "1.67305", + "id": 1470838239, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Carles de la Ràpita", + "names": { + "ca": "Sant Carles de la Ràpita" + }, + "lat": "40.61766", + "lon": "0.58993", + "id": 1407801234, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Santa Coloma de Farners", + "lat": "41.86031", + "lon": "2.66590", + "id": 1470839251, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Colmenar Viejo", + "lat": "40.65879", + "lon": "-3.76632", + "id": 256291070, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cornellà de Llobregat", + "lat": "41.35572", + "lon": "2.07062", + "id": 1470838232, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Corbera de Llobregat", + "lat": "41.41662", + "lon": "1.93386", + "id": 1470838229, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Galapagar", + "lat": "40.57750", + "lon": "-4.00377", + "id": 4279257425, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cardona", + "lat": "41.91428", + "lon": "1.68133", + "id": 1470838186, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cardedeu", + "names": { + "ar": "كارديديو", + "uk": "Кардазеу", + "el": "Καρδεδέου" + }, + "lat": "41.63852", + "lon": "2.35584", + "id": 1470838185, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Vicenç dels Horts", + "lat": "41.39342", + "lon": "2.00995", + "id": 1470839216, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Pineda de Mar", + "lat": "41.62762", + "lon": "2.68976", + "id": 1470838702, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "l'Escala", + "names": { + "es": "La Escala" + }, + "lat": "42.11354", + "lon": "3.13874", + "id": 339019326, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Canet de Mar", + "lat": "41.59009", + "lon": "2.57780", + "id": 1470838178, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "San Sebastián de los Reyes", + "names": { + "ru": "Сан-Себастиан-де-лос-Рейес", + "uk": "Сан-Себастьян-де-лос-Реєс", + "lt": "San Sebastian de los Rejesas", + "es": "San Sebastián de los Reyes" + }, + "lat": "40.54737", + "lon": "-3.62606", + "id": 256150800, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Villanueva del Pardillo", + "lat": "40.49492", + "lon": "-3.96001", + "id": 254637858, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Antoni de Calonge", + "lat": "41.84727", + "lon": "3.10260", + "id": 338084408, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Castelldefels", + "lat": "41.28610", + "lon": "1.98242", + "id": 1470838201, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Òrrius", + "names": { + "ca": "Òrrius" + }, + "lat": "41.55519", + "lon": "2.35494", + "id": 1460478298, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí de Vilassar de Dalt a Sant Bartomeu", + "lat": "41.54631", + "lon": "2.34333", + "id": 56311, + "intersectedStreets": [ + { + "name": "Camí de Òrrius", + "lat": "41.54813", + "lon": "2.34120" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Alcobendas", + "names": { + "ar": "ألكوبينداس", + "ru": "Алькобендас", + "hu": "Alcobendas", + "sr": "Алкобендас" + }, + "lat": "40.54001", + "lon": "-3.63585", + "id": 256150802, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Agramunt", + "lat": "41.78767", + "lon": "1.09868", + "id": 1470837683, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Aiguaviva", + "lat": "41.35223", + "lon": "1.50317", + "id": 721174118, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Camí d'Aiguaviva a Mas Bartomeu", + "lat": "41.33443", + "lon": "1.49972", + "id": 25803 + } + ], + "matchStreet": 1 + }, + { + "name": "Navalcarnero", + "lat": "40.28772", + "lon": "-4.01430", + "id": 258123001, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Terrassa", + "names": { + "ar": "تاراسا", + "ru": "Террасса", + "el": "Τεράσα", + "lt": "Terasa", + "ca": "Terrassa", + "es": "Tarrasa", + "sr": "Тараса" + }, + "lat": "41.56299", + "lon": "2.01024", + "id": 288139569, + "type": "CITY", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Amat", + "lat": "41.57033", + "lon": "2.01221", + "id": 22750, + "intersectedStreets": [ + { + "name": "Passeig del Vint-i-dos de Juliol", + "names": { + "alt_name": "Pont de les Arenes (les Arenes)" + }, + "lat": "41.57033", + "lon": "2.01221" + }, + { + "name": "Carrer de Sant Leopold", + "lat": "41.57016", + "lon": "2.01217" + }, + { + "name": "Avinguda de l'Abat Marcet (Pere Parres)", + "lat": "41.57489", + "lon": "2.01219" + }, + { + "name": "Carrer de les Campiones olímpiques", + "lat": "41.57489", + "lon": "2.01219" + }, + { + "name": "Carrer de l'Autonomia (Sant Pere)", + "lat": "41.57393", + "lon": "2.01224" + }, + { + "name": "Carrer Transversal (Sant Pere)", + "lat": "41.57300", + "lon": "2.01228" + }, + { + "name": "Plaça del Triomf", + "lat": "41.57250", + "lon": "2.01228" + }, + { + "name": "Carrer de Catalunya (Sant Pere)", + "lat": "41.57173", + "lon": "2.01226" + }, + { + "name": "Carrer de Mossèn Pursals", + "lat": "41.57134", + "lon": "2.01226" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Castellbisbal", + "lat": "41.47651", + "lon": "1.98330", + "id": 1470838200, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Castellar del Vallès", + "lat": "41.61381", + "lon": "2.08760", + "id": 1470838199, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Mollerussa", + "lat": "41.63309", + "lon": "0.89549", + "id": 1470838540, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Solsona", + "lat": "41.99458", + "lon": "1.51840", + "id": 1954570210, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Avinguda de Sant Bartomeu", + "lat": "41.99840", + "lon": "1.52549", + "id": 68567, + "intersectedStreets": [ + { + "name": "Carrer del Turb", + "lat": "41.99557", + "lon": "1.52916" + }, + { + "name": "Carrer del Capolatell", + "lat": "41.99599", + "lon": "1.52873" + }, + { + "name": "Carrer de Busa", + "lat": "41.99640", + "lon": "1.52832" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Molins de Rei", + "names": { + "es": "Molins de Rei" + }, + "lat": "41.41381", + "lon": "2.01596", + "id": 1470838538, + "type": "TOWN", + "listOfStreets": [ + { + "name": "G-06 Sant Bartomeu - Can Planes - Les escletxes", + "lat": "41.42627", + "lon": "2.03408", + "id": 54004, + "intersectedStreets": [ + { + "name": "G-14 Cami de la Riera Nova a G-06", + "lat": "41.42712", + "lon": "2.03393" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Vilanova i la Geltrú", + "names": { + "ca": "Vilanova i la Geltrú", + "es": "Vilanova y Geltrú" + }, + "lat": "41.22420", + "lon": "1.72563", + "id": 1470839561, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Griñón", + "lat": "40.21366", + "lon": "-3.85815", + "id": 306948272, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "el Tossal", + "lat": "41.91560", + "lon": "1.15097", + "id": 6000716046, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí de Sant Bartomeu", + "lat": "41.91443", + "lon": "1.15030", + "id": 110594 + } + ], + "matchStreet": 1 + }, + { + "name": "Mollet del Vallès", + "lat": "41.53935", + "lon": "2.21309", + "id": 1470838541, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer del Doctor Bartomeu Robert", + "lat": "41.54199", + "lon": "2.21671", + "id": 81016, + "intersectedStreets": [ + { + "name": "Carrer del Carme", + "lat": "41.54265", + "lon": "2.21720" + }, + { + "name": "Carrer de Roger de Llúria", + "lat": "41.54194", + "lon": "2.21666" + } + ] + }, + { + "name": "Passatge Bartomeu Robert", + "lat": "41.54125", + "lon": "2.21608", + "id": 81527, + "intersectedStreets": [ + { + "name": "Carrer del Sol", + "lat": "41.54125", + "lon": "2.21608" + }, + { + "name": "Plaça de l'Artesania", + "lat": "41.54037", + "lon": "2.21499" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Lleida", + "names": { + "ar": "لاردة", + "ru": "Ллейда", + "oc": "Lhèida", + "el": "Λιέιδα", + "lt": "Lerida", + "fr": "Lérida", + "ca": "Lleida", + "es": "Lérida", + "sr": "Љеида" + }, + "lat": "41.61476", + "lon": "0.62678", + "id": 124083658, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Mollerussa", + "lat": "41.63360", + "lon": "0.89126", + "id": 10598414, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "San Lorenzo de El Escorial", + "lat": "40.59267", + "lon": "-4.14716", + "id": 64835892, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Montornès del Vallès", + "lat": "41.54255", + "lon": "2.26706", + "id": 1470838556, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Bartomeu", + "lat": "41.54066", + "lon": "2.26763", + "id": 108860, + "intersectedStreets": [ + { + "name": "Carrer de Sant Sadurní", + "lat": "41.54059", + "lon": "2.26677" + }, + { + "name": "Baixada de l'Església", + "lat": "41.54066", + "lon": "2.26763" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Montgat", + "lat": "41.46670", + "lon": "2.27897", + "id": 1470838553, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Móra d'Ebre", + "names": { + "ca": "Móra d'Ebre" + }, + "lat": "41.08934", + "lon": "0.64129", + "id": 1470838559, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sabadell", + "names": { + "ru": "Сабадель", + "el": "Σαβαδέλ", + "lt": "Sabadelis", + "ca": "Sabadell" + }, + "lat": "41.54210", + "lon": "2.11390", + "id": 252566396, + "type": "CITY", + "listOfStreets": [ + { + "name": "Carrer de Joan Bartomeu", + "lat": "41.52620", + "lon": "2.10800", + "id": 57906, + "intersectedStreets": [ + { + "name": "Carrer de Josep Guardiet", + "lat": "41.52604", + "lon": "2.10835" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Velilla de San Antonio", + "names": { + "ru": "Велилья-де-Сан-Антонио", + "uk": "Велілья-де-Сан-Антоніо", + "es": "Velilla de San Antonio" + }, + "lat": "40.36717", + "lon": "-3.48744", + "id": 311127037, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cabrera de Mar", + "lat": "41.52770", + "lon": "2.39251", + "id": 523051419, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.52744", + "lon": "2.40262", + "id": 134131, + "intersectedStreets": [ + { + "name": "carrer de Sant Sebastià", + "lat": "41.52680", + "lon": "2.40292" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Cassà de la Selva", + "lat": "41.88747", + "lon": "2.87425", + "id": 5417486419, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "el Pont de Suert", + "names": { + "el": "Ποντ ντε Σουέρτ", + "ca": "el Pont de Suert" + }, + "lat": "42.40761", + "lon": "0.74025", + "id": 151063417, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Collado Villalba", + "names": { + "ru": "Кольядо-Вильяльба", + "uk": "Кольядо-Вільяльба" + }, + "lat": "40.64301", + "lon": "-3.99273", + "id": 256407477, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Manresa", + "names": { + "ru": "Манреса", + "ja": "マンレザ" + }, + "lat": "41.72889", + "lon": "1.82868", + "id": 1470838508, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu (Les Escodines)", + "lat": "41.72261", + "lon": "1.82989", + "id": 83012, + "intersectedStreets": [ + { + "name": "Carrer de les Escodines (Les Escodines)", + "lat": "41.72296", + "lon": "1.82912" + }, + { + "name": "Carrer de l'Aiguader (Les Escodines)", + "lat": "41.72261", + "lon": "1.82989" + }, + { + "name": "Carrer Nou de Santa Clara (Les Escodines)", + "lat": "41.72237", + "lon": "1.83070" + }, + { + "name": "Carrer dels Caputxins (Les Escodines)", + "lat": "41.72237", + "lon": "1.83070" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Manlleu", + "lat": "41.99998", + "lon": "2.28412", + "id": 1470838507, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Villarejo de Salvanés", + "lat": "40.16836", + "lon": "-3.27388", + "id": 249871398, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Arroyomolinos", + "enName": "Arroyomolinos", + "names": { + "ru": "Арройомолинос", + "uk": "Арройомолінос", + "ja": "アロヨモリノス" + }, + "lat": "40.27292", + "lon": "-3.91580", + "id": 311114762, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Torrelodones", + "names": { + "ru": "Торрелодонес", + "uk": "Торрелодонес" + }, + "lat": "40.57628", + "lon": "-3.92860", + "id": 255328636, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Valls", + "names": { + "ru": "Вальс", + "uk": "Бальш" + }, + "lat": "41.28354", + "lon": "1.24736", + "id": 1470839529, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Vic", + "enName": "Vic", + "names": { + "ca": "Vic", + "es": "Vic", + "zh": "比克" + }, + "lat": "41.93020", + "lon": "2.25459", + "id": 1470839536, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu del Grau", + "lat": "41.93676", + "lon": "2.24741", + "id": 58467 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Arbúcies", + "names": { + "ar": "أربوثياس" + }, + "lat": "41.81606", + "lon": "2.51415", + "id": 1470837987, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sevilla la Nueva", + "lat": "40.34754", + "lon": "-4.02753", + "id": 309167783, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "El Escorial", + "lat": "40.58364", + "lon": "-4.12814", + "id": 64835924, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Coll de Nargó", + "lat": "42.17391", + "lon": "1.31613", + "id": 262635753, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "42.17490", + "lon": "1.31784", + "id": 90301, + "intersectedStreets": [ + { + "name": "Plaça del Cap del Roc", + "lat": "42.17497", + "lon": "1.31767" + }, + { + "name": "Carrer de la Rosa", + "lat": "42.17444", + "lon": "1.31716" + }, + { + "name": "La Costerota", + "lat": "42.17468", + "lon": "1.31761" + }, + { + "name": "Carrer Hospital", + "lat": "42.17479", + "lon": "1.31767" + }, + { + "name": "Camí Estret", + "lat": "42.17382", + "lon": "1.31628" + }, + { + "name": "Carrer de la Carretera Nova", + "lat": "42.17382", + "lon": "1.31628" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Vilafranca del Penedès", + "names": { + "ca": "Vilafranca del Penedès" + }, + "lat": "41.34638", + "lon": "1.69952", + "id": 1470839547, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Brunete", + "lat": "40.40505", + "lon": "-3.99799", + "id": 256477660, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Humanes de Madrid", + "enName": "Humanes de Madrid", + "names": { + "ru": "Уманес-де-Мадрид", + "ja": "ウマネス・デ・マドリード", + "zh": "乌马内斯德马德里德" + }, + "lat": "40.25088", + "lon": "-3.82710", + "id": 306946784, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Alpedrete", + "lat": "40.65990", + "lon": "-4.02512", + "id": 64835913, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Badia del Vallès", + "lat": "41.50782", + "lon": "2.11534", + "id": 2794611208, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Argentona", + "lat": "41.55543", + "lon": "2.40028", + "id": 1470838014, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "la Bisbal del Penedès", + "lat": "41.27784", + "lon": "1.49056", + "id": 331028206, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí de Mas Bartomeu", + "lat": "41.31413", + "lon": "1.51637", + "id": 25250, + "intersectedStreets": [ + { + "name": "Camí de la Costa (el Papagai)", + "lat": "41.29803", + "lon": "1.50905" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Arenys de Mar", + "lat": "41.57970", + "lon": "2.54916", + "id": 1470838013, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Vilanova del Camí", + "lat": "41.57143", + "lon": "1.63614", + "id": 1470839540, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Martorell", + "lat": "41.47692", + "lon": "1.92840", + "id": 1470838514, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.47494", + "lon": "1.93668", + "id": 34900, + "intersectedStreets": [ + { + "name": "Carretera de Terrassa", + "lat": "41.47436", + "lon": "1.93692" + }, + { + "name": "Passeig Quarter", + "lat": "41.47494", + "lon": "1.93668" + }, + { + "name": "Passeig del Quarter", + "lat": "41.47494", + "lon": "1.93668" + }, + { + "name": "Carrer d'Àngela Benaca", + "lat": "41.47516", + "lon": "1.93660" + }, + { + "name": "Carrer del Riu", + "lat": "41.47539", + "lon": "1.93651" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Vila-seca", + "lat": "41.10915", + "lon": "1.14649", + "id": 1470839538, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "l'Ametlla del Vallès", + "lat": "41.66933", + "lon": "2.26145", + "id": 393906088, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Sant Bartomeu", + "lat": "41.69352", + "lon": "2.24520", + "id": 45384, + "intersectedStreets": [ + { + "name": "Carrer d'Albeniz", + "lat": "41.69068", + "lon": "2.24797" + }, + { + "name": "Carrer d'Amadeu Vives", + "lat": "41.69099", + "lon": "2.24756" + }, + { + "name": "Carrer de la Cardenera", + "lat": "41.69354", + "lon": "2.24520" + }, + { + "name": "Carrer d'Apel·les Mestres", + "lat": "41.69418", + "lon": "2.24419" + }, + { + "name": "Carrer de Tomás Breton", + "lat": "41.69666", + "lon": "2.23786" + }, + { + "name": "Carrer de Tarragó", + "lat": "41.69624", + "lon": "2.23598" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Vilassar de Mar", + "names": { + "ca": "Vilassar de Mar", + "es": "Vilasar de Mar" + }, + "lat": "41.50640", + "lon": "2.39139", + "id": 1470839541, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Santa Oliva", + "lat": "41.25329", + "lon": "1.55101", + "id": 388127102, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.23670", + "lon": "1.54313", + "id": 95166, + "intersectedStreets": [ + { + "name": "Avinguda de Nostra Senyora del Pilar", + "lat": "41.23622", + "lon": "1.54287" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Montellà", + "lat": "42.35448", + "lon": "1.70488", + "id": 1035806046, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Pista de San t Bartomeu - GR 150", + "lat": "42.34938", + "lon": "1.69994", + "id": 116709 + } + ], + "matchStreet": 1 + }, + { + "name": "Navarcles", + "lat": "41.75316", + "lon": "1.90336", + "id": 1470838604, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.75351", + "lon": "1.90506", + "id": 72318, + "intersectedStreets": [ + { + "name": "Passeig d'Àngel Vivó", + "lat": "41.75347", + "lon": "1.90503" + }, + { + "name": "Passeig de les Fonts", + "lat": "41.75347", + "lon": "1.90503" + }, + { + "name": "Carrer de la Sardana", + "lat": "41.75550", + "lon": "1.90696" + }, + { + "name": "Carrer de la Renaixença", + "lat": "41.75561", + "lon": "1.90701" + }, + { + "name": "Carrer de la Font de la Cura", + "lat": "41.75561", + "lon": "1.90701" + }, + { + "name": "Carrer del Bages", + "lat": "41.75383", + "lon": "1.90508" + }, + { + "name": "Carrer de Tarragona", + "names": { + "ca": "Carrer de Tarragona" + }, + "lat": "41.75439", + "lon": "1.90546" + }, + { + "name": "Carrer de Lleida", + "names": { + "ca": "carrer de Lleida" + }, + "lat": "41.75454", + "lon": "1.90563" + }, + { + "name": "Carrer de Girona", + "lat": "41.75476", + "lon": "1.90598" + }, + { + "name": "Passatge de Badalona", + "lat": "41.75492", + "lon": "1.90626" + }, + { + "name": "Carrer Badalona", + "lat": "41.75507", + "lon": "1.90649" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Mas de Bondia", + "lat": "41.60545", + "lon": "1.19076", + "id": 2457882661, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.60509", + "lon": "1.19298", + "id": 101922 + } + ], + "matchStreet": 1 + }, + { + "name": "Montcada i Reixac", + "lat": "41.48231", + "lon": "2.18700", + "id": 427061659, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Banyoles", + "names": { + "ca": "Banyoles" + }, + "lat": "42.11805", + "lon": "2.76536", + "id": 1470838085, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Coslada", + "lat": "40.42380", + "lon": "-3.55529", + "id": 264240976, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Olot", + "lat": "42.18222", + "lon": "2.48902", + "id": 1470838619, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Casserres", + "names": { + "es": "Casserres" + }, + "lat": "42.01382", + "lon": "1.84304", + "id": 303713456, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer Sant Bartomeu", + "lat": "42.01378", + "lon": "1.84195", + "id": 34434, + "intersectedStreets": [ + { + "name": "Carrer de la Creu", + "lat": "42.01393", + "lon": "1.84216" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Blanes", + "names": { + "ru": "Бланес" + }, + "lat": "41.67562", + "lon": "2.79324", + "id": 1470838110, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Sant Bartomeu", + "lat": "41.68081", + "lon": "2.78145", + "id": 31366, + "intersectedStreets": [ + { + "name": "Carrer del Bosc", + "lat": "41.68041", + "lon": "2.78224" + }, + { + "name": "Carrer Josep Maria de Segarra", + "lat": "41.68081", + "lon": "2.78145" + }, + { + "name": "Carrer Prudenci Bertrana", + "lat": "41.68081", + "lon": "2.78145" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Villanueva de la Torre", + "lat": "40.58309", + "lon": "-3.29936", + "id": 1456260091, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Esplugues de Llobregat", + "lat": "41.37768", + "lon": "2.08997", + "id": 1460478908, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Bermejo", + "lat": "41.38677", + "lon": "2.08946", + "id": 7658, + "intersectedStreets": [ + { + "name": "Avinguda de la Mestra Dolors Barceló", + "lat": "41.38640", + "lon": "2.08993" + }, + { + "name": "Carrer de Pau Vergós", + "lat": "41.38697", + "lon": "2.09150" + }, + { + "name": "Carrer de Ferrer Bassa (Ciutat Diagonal)", + "lat": "41.38697", + "lon": "2.09150" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Majadahonda", + "lat": "40.47306", + "lon": "-3.87241", + "id": 256456063, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Berga", + "lat": "42.10115", + "lon": "1.84548", + "id": 1470838103, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Camí de Sant Bartomeu (la Valldan)", + "lat": "42.09442", + "lon": "1.82216", + "id": 22894, + "intersectedStreets": [ + { + "name": "Camí de Serra Farriols", + "lat": "42.09612", + "lon": "1.82062" + }, + { + "name": "carrer Germans Farguell", + "lat": "42.09466", + "lon": "1.82195" + }, + { + "name": "carrer dels Germans Farguell", + "lat": "42.09442", + "lon": "1.82216" + }, + { + "name": "carrer Bernat Sala", + "lat": "42.09337", + "lon": "1.82309" + }, + { + "name": "Camí de Garreta", + "lat": "42.08999", + "lon": "1.82815" + }, + { + "name": "Carretera de Solsona", + "lat": "42.08993", + "lon": "1.83051" + }, + { + "name": "Carrer del Camí de Cardona", + "lat": "42.09295", + "lon": "1.83504" + }, + { + "name": "Carrer de Fontcaldes", + "lat": "42.09039", + "lon": "1.82579" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Montblanc", + "lat": "41.37623", + "lon": "1.16207", + "id": 331949813, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Olesa de Montserrat", + "lat": "41.54305", + "lon": "1.89319", + "id": 1470838615, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Pozuelo de Alarcón", + "lat": "40.43465", + "lon": "-3.81483", + "id": 256455561, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Artés", + "lat": "41.79867", + "lon": "1.95489", + "id": 1470838058, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Valdemoro", + "names": { + "ru": "Вальдеморо" + }, + "lat": "40.18880", + "lon": "-3.67162", + "id": 308218525, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Boadilla del Monte", + "lat": "40.40535", + "lon": "-3.87647", + "id": 256551822, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Bartomeu del Grau", + "lat": "41.98077", + "lon": "2.17504", + "id": 550042626, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí de Sant Genís", + "lat": "41.97583", + "lon": "2.14111", + "id": 121621 + }, + { + "name": "Carrer Llevant", + "lat": "41.98452", + "lon": "2.17699", + "id": 91662 + }, + { + "name": "Carrer Nou", + "lat": "41.98372", + "lon": "2.17089", + "id": 91661 + }, + { + "name": "Carrer Tres Creus", + "lat": "41.98052", + "lon": "2.17731", + "id": 96366 + }, + { + "name": "Carrer de Vic", + "lat": "41.98061", + "lon": "2.17654", + "id": 125251 + }, + { + "name": "Carrer de la Tramuntana", + "lat": "41.98219", + "lon": "2.19076", + "id": 121637 + }, + { + "name": "Carrer del Garbí", + "lat": "41.98184", + "lon": "2.19044", + "id": 91666 + }, + { + "name": "Carrer del Gregal", + "lat": "41.98195", + "lon": "2.19055", + "id": 91667 + }, + { + "name": "Carrer del Mig", + "lat": "41.98155", + "lon": "2.17630", + "id": 91668 + }, + { + "name": "Carrer del Xaloc", + "lat": "41.98277", + "lon": "2.19126", + "id": 91665 + }, + { + "name": "Carretera de Sant Bartomeu", + "lat": "41.97446", + "lon": "2.17682", + "id": 79220 + }, + { + "name": "Carretera de Sant Bartomeu del Grau", + "names": { + "alt_name": "Camí de les Farreres" + }, + "lat": "41.97414", + "lon": "2.14622", + "id": 55369 + }, + { + "name": "Carretera del Cementiri", + "lat": "41.97994", + "lon": "2.18340", + "id": 91670 + }, + { + "name": "Eix Transversal", + "names": { + "es": "eje transversal" + }, + "lat": "41.93309", + "lon": "2.16735", + "id": 90386 + }, + { + "name": "GR 3", + "lat": "41.98010", + "lon": "2.16776", + "id": 55366 + }, + { + "name": "carrer Ponent", + "names": { + "ca": "carrer de Ponent" + }, + "lat": "41.98063", + "lon": "2.17435", + "id": 105163 + }, + { + "name": "carrer Vell", + "lat": "41.98249", + "lon": "2.17388", + "id": 19061 + }, + { + "name": "carrer de Dalt", + "lat": "41.98178", + "lon": "2.17564", + "id": 105164 + }, + { + "name": "Camí d'Alboquers (Pere-riera)", + "lat": "41.93153", + "lon": "2.13051", + "id": 112325 + }, + { + "name": "Camí de St. Bartomeu al Sorreig (Xalet Mas Reig)", + "lat": "41.98958", + "lon": "2.16821", + "id": 111514 + }, + { + "name": "Carrer de la Codina (Xalet Mas Reig)", + "lat": "41.98738", + "lon": "2.16695", + "id": 91664 + }, + { + "name": "Túnel de la Fontfreda (Pere-riera)", + "lat": "41.91702", + "lon": "2.13495", + "id": 90385 + }, + { + "name": "", + "lat": "41.98028", + "lon": "2.17767", + "id": 96365 + }, + { + "name": "Camí de Ca la Burra", + "lat": "41.92538", + "lon": "2.13864", + "id": 114618 + }, + { + "name": "Camí de Rogers", + "lat": "41.97493", + "lon": "2.17115", + "id": 49207 + }, + { + "name": "Carrer Pla de l'Oratori", + "lat": "41.98100", + "lon": "2.17669", + "id": 105166 + }, + { + "name": "Carrer de la Migjorn", + "lat": "41.98157", + "lon": "2.19141", + "id": 121636 + }, + { + "name": "Eix Transversal C-25 Viaducte de Pere-riera", + "lat": "41.92259", + "lon": "2.14062", + "id": 90387 + }, + { + "name": "Passeig del Grau", + "lat": "41.97996", + "lon": "2.17731", + "id": 96367 + }, + { + "name": "Plaça del Doctor Griera", + "lat": "41.98120", + "lon": "2.17478", + "id": 105165 + } + ], + "matchCity": 1, + "matchStreet": 1 + }, + { + "name": "Artesa de Segre", + "lat": "41.89629", + "lon": "1.04711", + "id": 1470838054, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Alcorcón", + "enName": "Alcorcón", + "names": { + "ru": "Алькоркон", + "uk": "Алькоркон", + "ja": "アルコルコン", + "lt": "Alkorkonas", + "hu": "Alcorcón", + "zh": "阿尔科尔孔", + "sr": "Алкоркон" + }, + "lat": "40.34930", + "lon": "-3.82843", + "id": 306524300, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Balaguer", + "lat": "41.78972", + "lon": "0.80549", + "id": 1470838076, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Fuenlabrada", + "enName": "Fuenlabrada", + "names": { + "ru": "Фуэнлабрада", + "uk": "Фуенлабрада", + "ja": "フエンラブラダ", + "hu": "Fuenlabrada", + "zh": "丰拉夫拉达", + "sr": "Фуенлабрада" + }, + "lat": "40.28248", + "lon": "-3.79234", + "id": 305072315, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Pinto", + "enName": "Pinto", + "names": { + "ru": "Пинто", + "ja": "ピント" + }, + "lat": "40.24099", + "lon": "-3.70051", + "id": 306620052, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Boi de Lluçanès", + "lat": "42.05784", + "lon": "2.15111", + "id": 539465394, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí ramader de Sant Bartomeu", + "names": { + "alt_name": "Camí de Vernera" + }, + "lat": "42.02972", + "lon": "2.13703", + "id": 91597 + } + ], + "matchStreet": 1 + }, + { + "name": "Canovelles", + "names": { + "ca": "Canovelles" + }, + "lat": "41.61739", + "lon": "2.28288", + "id": 1460478422, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Bartomeu Brufalt", + "lat": "41.61608", + "lon": "2.29569", + "id": 56296, + "intersectedStreets": [ + { + "name": "Carrer de Provença", + "lat": "41.61657", + "lon": "2.29584" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Rubí", + "lat": "41.49362", + "lon": "2.03195", + "id": 3248338760, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Santa Susanna", + "names": { + "ca": "Santa Susanna" + }, + "lat": "41.63573", + "lon": "2.70659", + "id": 571272919, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "carrer del Doctor Bartomeu", + "lat": "41.63463", + "lon": "2.70579", + "id": 73937, + "intersectedStreets": [ + { + "name": "Rambla Onze de Setembre", + "lat": "41.63419", + "lon": "2.70594" + }, + { + "name": "Carrer Josep Pla", + "lat": "41.63463", + "lon": "2.70579" + }, + { + "name": "Carrer Jaume Ir", + "lat": "41.63511", + "lon": "2.70560" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Igualada", + "names": { + "ru": "Игуалада" + }, + "lat": "41.57902", + "lon": "1.61735", + "id": 1470838412, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.57823", + "lon": "1.61905", + "id": 84219, + "intersectedStreets": [ + { + "name": "Carrer de Sant Jaume", + "lat": "41.57828", + "lon": "1.61872" + }, + { + "name": "Carrer de Custiol", + "lat": "41.57828", + "lon": "1.61872" + }, + { + "name": "Carreró de Sant Jaume", + "lat": "41.57828", + "lon": "1.61872" + }, + { + "name": "Plaça del Rei", + "lat": "41.57821", + "lon": "1.61956" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Valdemorillo", + "lat": "40.50168", + "lon": "-4.06889", + "id": 26541174, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Porqueres", + "names": { + "es": "Porqueras" + }, + "lat": "42.12139", + "lon": "2.74786", + "id": 3302537661, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Camí de Sant Bartomeu de Matamala", + "lat": "42.12680", + "lon": "2.72392", + "id": 108826 + } + ], + "matchStreet": 1 + }, + { + "name": "Massalcoreig", + "lat": "41.45918", + "lon": "0.35965", + "id": 865313399, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Travessia de Sant Bartomeu", + "lat": "41.45995", + "lon": "0.36036", + "id": 123119 + }, + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.46095", + "lon": "0.36377", + "id": 123151 + } + ], + "matchStreet": 1 + }, + { + "name": "Guadarrama", + "lat": "40.67345", + "lon": "-4.08939", + "id": 283475406, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Daganzo de Arriba", + "lat": "40.54520", + "lon": "-3.45785", + "id": 255463444, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Meco", + "lat": "40.55375", + "lon": "-3.32816", + "id": 310569328, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Parla", + "names": { + "ar": "بارلا", + "ru": "Парла", + "uk": "Парла", + "el": "Πάρλα", + "ja": "パルラ", + "fa": "پارلا", + "hu": "Parla", + "ur": "پرلا", + "zh": "帕尔拉", + "sr": "Парла" + }, + "lat": "40.23740", + "lon": "-3.77189", + "id": 306620202, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Pere de Ribes", + "names": { + "ca": "Sant Pere de Ribes" + }, + "lat": "41.26192", + "lon": "1.77214", + "id": 1470838938, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "la Bisbal d'Empordà", + "lat": "41.95987", + "lon": "3.03962", + "id": 1470838432, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Pere Bartomeu", + "lat": "41.95708", + "lon": "3.03742", + "id": 67806 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Sitges", + "lat": "41.23667", + "lon": "1.82281", + "id": 1470839456, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Passeig de Bartomeu Soler", + "lat": "41.24569", + "lon": "1.80002", + "id": 90642, + "intersectedStreets": [ + { + "name": "Passeig de Sant Dídac", + "lat": "41.24695", + "lon": "1.80152" + }, + { + "name": "Passeig del Fondac", + "lat": "41.24459", + "lon": "1.79714" + } + ] + }, + { + "name": "Carrer Bartomeu Robert", + "lat": "41.22941", + "lon": "1.78884", + "id": 28471, + "intersectedStreets": [ + { + "name": "Avinguda de Navarra", + "lat": "41.22930", + "lon": "1.78777" + }, + { + "name": "Carrer Ferran Casablancas", + "lat": "41.22930", + "lon": "1.78777" + }, + { + "name": "Carrer de Josep Planas Robert (Alt Vinyet)", + "lat": "41.22941", + "lon": "1.78884" + }, + { + "name": "Carrer de Balmes", + "names": { + "ca": "Carrer de Balmes" + }, + "lat": "41.22952", + "lon": "1.78996" + }, + { + "name": "Carrer del Pintor Roig i Soler (Alt Vinyet)", + "lat": "41.22952", + "lon": "1.78996" + } + ] + }, + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.23758", + "lon": "1.80899", + "id": 28352, + "intersectedStreets": [ + { + "name": "Carrer Jesús", + "lat": "41.23682", + "lon": "1.80978" + }, + { + "name": "Carrer de Sant Gaudenci", + "lat": "41.23758", + "lon": "1.80899" + }, + { + "name": "Avinguda d'Artur Carbonell", + "lat": "41.23854", + "lon": "1.80796" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Sils", + "lat": "41.80894", + "lon": "2.74147", + "id": 1470839455, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Cerdanyola del Vallès", + "lat": "41.49103", + "lon": "2.13750", + "id": 1470839444, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Avinguda de Bartomeu", + "lat": "41.50070", + "lon": "2.08863", + "id": 86367, + "intersectedStreets": [ + { + "name": "Carretera de Bellaterra", + "lat": "41.50078", + "lon": "2.08678" + }, + { + "name": "Carrer del Mestre Nicolau (Bellaterra)", + "lat": "41.50085", + "lon": "2.08676" + }, + { + "name": "Camí de la Font de la Bonaigua", + "lat": "41.50078", + "lon": "2.08794" + }, + { + "name": "Carrer de Ramon Llull (Bellaterra)", + "lat": "41.50085", + "lon": "2.08903" + }, + { + "name": "Avinguda de Joan Fàbregas", + "lat": "41.50117", + "lon": "2.09036" + }, + { + "name": "Avinguda de Josep Maria Marcet", + "lat": "41.50117", + "lon": "2.09036" + }, + { + "name": "Carrer de Terranova", + "lat": "41.49759", + "lon": "2.08652" + }, + { + "name": "Carrer de la Bonaigua (Bellaterra)", + "lat": "41.49914", + "lon": "2.08811" + }, + { + "name": "Carrer del Pintor Fortuny (Bellaterra)", + "lat": "41.49914", + "lon": "2.08811" + }, + { + "name": "Carrer d'Octavi Bruix", + "lat": "41.49966", + "lon": "2.08708" + }, + { + "name": "Carrer de Casas i Amigó (Bellaterra)", + "lat": "41.50006", + "lon": "2.08693" + } + ] + }, + { + "name": "Avinguda Bartomeu", + "lat": "41.49930", + "lon": "2.08798", + "id": 3263 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Moralzarzal", + "lat": "40.67914", + "lon": "-3.97210", + "id": 256406580, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "la Seu d'Urgell", + "names": { + "ru": "Сео-де-Уржель", + "uk": "Ла-Сеу-д'Уржель", + "ca": "la Seu d'Urgell", + "es": "Seo de Urgel" + }, + "lat": "42.35757", + "lon": "1.45601", + "id": 1470839447, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Parets del Vallès", + "lat": "41.57299", + "lon": "2.23293", + "id": 395368559, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Torrejón de Ardoz", + "names": { + "ru": "Торрехон-де-Ардос", + "uk": "Торрехон-де-Ардос", + "lt": "Torechon de Ardosas", + "hu": "Torrejón de Ardoz", + "es": "Torrejón de Ardoz", + "sr": "Торехон де Ардос" + }, + "lat": "40.45878", + "lon": "-3.47933", + "id": 230421116, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Fontcoberta", + "lat": "42.14254", + "lon": "2.78978", + "id": 1460477966, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Camí de Sant Bartomeu", + "lat": "42.12563", + "lon": "2.81407", + "id": 130778 + } + ], + "matchStreet": 1 + }, + { + "name": "Deltebre", + "names": { + "fr": "Deltèbre", + "ca": "Deltebre", + "es": "Deltebre" + }, + "lat": "40.72039", + "lon": "0.72434", + "id": 2055370119, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Rivas Vaciamadrid", + "names": { + "ru": "Ривас-Васиамадрид", + "uk": "Рівас-Васіамадрид" + }, + "lat": "40.35361", + "lon": "-3.53109", + "id": 311129997, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Joan les Fonts", + "lat": "42.21330", + "lon": "2.51343", + "id": 260446338, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer Mossèn Bartomeu", + "lat": "42.21457", + "lon": "2.51372", + "id": 67149 + } + ], + "matchStreet": 1 + }, + { + "name": "Esparreguera", + "lat": "41.53933", + "lon": "1.86945", + "id": 1460478465, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Just Desvern", + "lat": "41.38158", + "lon": "2.07507", + "id": 1470838887, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Getafe", + "enName": "Getafe", + "names": { + "ru": "Хетафе", + "ja": "ヘタフェ", + "hu": "Getafe", + "zh": "赫塔费" + }, + "lat": "40.30818", + "lon": "-3.73027", + "id": 2697472985, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Barberà del Vallès", + "lat": "41.51725", + "lon": "2.12659", + "id": 1460477981, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Alió", + "lat": "41.29359", + "lon": "1.30627", + "id": 1460477969, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Plaça de Sant Bartomeu", + "lat": "41.29462", + "lon": "1.30568", + "id": 88748, + "intersectedStreets": [ + { + "name": "Plaça Nova", + "lat": "41.29459", + "lon": "1.30613" + }, + { + "name": "Carrer Major", + "lat": "41.29462", + "lon": "1.30568" + }, + { + "name": "Carrer del Pou", + "lat": "41.29478", + "lon": "1.30557" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Montornès de Segarra", + "lat": "41.60095", + "lon": "1.23120", + "id": 1460477972, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu (Mas de Bondia)", + "lat": "41.60508", + "lon": "1.19296", + "id": 101921 + } + ], + "matchStreet": 1 + }, + { + "name": "Santa Coloma de Gramenet", + "names": { + "ru": "Санта-Колома-де-Граменет" + }, + "lat": "41.45156", + "lon": "2.20834", + "id": 346353020, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Feliu de Llobregat", + "lat": "41.38129", + "lon": "2.04464", + "id": 1389000150, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Lloret de Mar", + "names": { + "ru": "Льорет де Мар" + }, + "lat": "41.69735", + "lon": "2.83924", + "id": 1470838480, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.69990", + "lon": "2.84896", + "id": 64875, + "intersectedStreets": [ + { + "name": "Carrer de la Vila", + "lat": "41.69990", + "lon": "2.84896" + }, + { + "name": "Passeig de Jacint Verdaguer", + "lat": "41.69935", + "lon": "2.84932" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Sant Bartomeu de la Quadra", + "lat": "41.42594", + "lon": "2.03766", + "id": 2151992546, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de l'Església", + "lat": "41.42596", + "lon": "2.03788", + "id": 118868 + }, + { + "name": "Carrer de la Font Fresca", + "lat": "41.42667", + "lon": "2.04047", + "id": 107069 + }, + { + "name": "Carrer del Bosc", + "lat": "41.42841", + "lon": "2.03880", + "id": 107063 + }, + { + "name": "Carrer del Canigó", + "lat": "41.42797", + "lon": "2.03891", + "id": 107065 + }, + { + "name": "Carretera Veïnal de Molins de Rei a Vallvidrera", + "lat": "41.42617", + "lon": "2.03665", + "id": 129706 + }, + { + "name": "Antic Camí de l'Església", + "lat": "41.42580", + "lon": "2.03745", + "id": 118866 + }, + { + "name": "Carrer de la Pepeta de Cal Bardissa", + "lat": "41.42653", + "lon": "2.03850", + "id": 86088 + }, + { + "name": "Carrer de les Penyes d'en Castellví", + "lat": "41.43042", + "lon": "2.03856", + "id": 107067 + }, + { + "name": "Carrer del Turó del Quirze", + "lat": "41.42707", + "lon": "2.04017", + "id": 86086 + }, + { + "name": "Carretera de la Rierada", + "lat": "41.42752", + "lon": "2.04015", + "id": 92335 + } + ], + "matchCity": 1 + }, + { + "name": "Tarragona", + "names": { + "be": "Тарагона", + "ru": "Таррагона", + "ko": "타라고나", + "el": "Ταρραγόνα", + "lt": "Taragona", + "fr": "Tarragone", + "es": "Tarragona", + "zh": "塔拉戈纳", + "ar": "طراغونة", + "oc": "Tarragona", + "la": "Tarraco", + "uk": "Таррагона", + "ja": "タラゴナ", + "fa": "تاراگونا", + "he": "טרגונה", + "sr": "Тарагона" + }, + "lat": "41.11724", + "lon": "1.25461", + "id": 152377920, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Torelló", + "lat": "42.04783", + "lon": "2.26434", + "id": 1470839496, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Sant Bartomeu", + "lat": "42.04652", + "lon": "2.26550", + "id": 107577, + "intersectedStreets": [ + { + "name": "Carrer dels Estudis", + "lat": "42.04728", + "lon": "2.26454" + }, + { + "name": "carrer Sant Miquel", + "lat": "42.04728", + "lon": "2.26454" + }, + { + "name": "Carrer de Capsavila", + "lat": "42.04728", + "lon": "2.26454" + }, + { + "name": "Carreró de la Torrentera", + "lat": "42.04641", + "lon": "2.26567" + }, + { + "name": "Carrer Puigdassalit", + "lat": "42.04612", + "lon": "2.26610" + }, + { + "name": "Carrer Diputació", + "lat": "42.04509", + "lon": "2.26754" + }, + { + "name": "carrer Manlleu", + "lat": "42.04509", + "lon": "2.26754" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Aranjuez", + "lat": "40.03221", + "lon": "-3.60396", + "id": 252751393, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Masies de Sansuies", + "lat": "41.30747", + "lon": "1.48370", + "id": 4864470659, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Camí de Mas Bartomeu", + "lat": "41.32017", + "lon": "1.49697", + "id": 122234 + }, + { + "name": "Camí del Coll d'Arca a Mas Bartomeu", + "lat": "41.32517", + "lon": "1.48665", + "id": 108931, + "intersectedStreets": [ + { + "name": "Camí d'Aiguaviva a Mas Bartomeu", + "lat": "41.32228", + "lon": "1.49401" + } + ] + }, + { + "name": "Camí d'Aiguaviva a Mas Bartomeu", + "lat": "41.32467", + "lon": "1.49702", + "id": 25801, + "intersectedStreets": [ + { + "name": "Camí del Coll d'Arca a Mas Bartomeu", + "lat": "41.32228", + "lon": "1.49401" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Tàrrega", + "lat": "41.64728", + "lon": "1.14091", + "id": 1470839515, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Platja d'Aro", + "names": { + "ru": "Кастель-Пладжа-де-Аро", + "uk": "Кастель-Платжа-д'Ару", + "lt": "Kastiljo de Aras", + "es": "Playa de Aro" + }, + "lat": "41.81847", + "lon": "3.06880", + "id": 290730984, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Torroella de Montgrí", + "lat": "42.04098", + "lon": "3.12620", + "id": 1470839507, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Tortosa", + "lat": "40.81102", + "lon": "0.52093", + "id": 1470839509, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Passeig de Mossèn Valls Bartomeu", + "lat": "40.82737", + "lon": "0.51041", + "id": 121894 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "l'Esquirol", + "names": { + "ru": "Санта-Мария-де-Корко" + }, + "lat": "42.03402", + "lon": "2.36971", + "id": 1360757797, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "42.03584", + "lon": "2.36891", + "id": 53228, + "intersectedStreets": [ + { + "name": "Carrer Major", + "lat": "42.03619", + "lon": "2.36854" + }, + { + "name": "Carrer Nou", + "lat": "42.03514", + "lon": "2.36895" + }, + { + "name": "Passeig de les Gorgues", + "lat": "42.03514", + "lon": "2.36895" + } + ] + }, + { + "name": "Camí de Sant Bartomeu", + "lat": "42.01598", + "lon": "2.37285", + "id": 108831 + }, + { + "name": "Carrer de Sant Bartomeu (Les Planes)", + "lat": "42.03441", + "lon": "2.40064", + "id": 83257, + "intersectedStreets": [ + { + "name": "Camí de l'Esquirol", + "lat": "42.03742", + "lon": "2.40122" + }, + { + "name": "Carrer Major (Cantonigròs)", + "names": { + "ca": "carrer de Sant Roc (Cantonigròs)" + }, + "lat": "42.03742", + "lon": "2.40122" + }, + { + "name": "Carrer de Pere Gabarró Majoral", + "lat": "42.03610", + "lon": "2.40107" + }, + { + "name": "Carrer de Pompeu Fabra (Les Planes)", + "names": { + "ca": "carrer de Pompeu Fabra (Les Planes)" + }, + "lat": "42.03447", + "lon": "2.40064" + }, + { + "name": "Carrer de Osona", + "lat": "42.03275", + "lon": "2.40028" + }, + { + "name": "Carrer de Sant Martí", + "lat": "42.03140", + "lon": "2.40008" + }, + { + "name": "Carrer de la Pineda", + "lat": "42.03065", + "lon": "2.39989" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Vallromanes", + "lat": "41.53232", + "lon": "2.29893", + "id": 1460478032, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.54108", + "lon": "2.28709", + "id": 71373, + "intersectedStreets": [ + { + "name": "Carrer de Sant Joan", + "lat": "41.54048", + "lon": "2.28713" + }, + { + "name": "Carrer de Sant Antoni", + "lat": "41.54169", + "lon": "2.28747" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Palau-solità i Plegamans", + "lat": "41.58739", + "lon": "2.18068", + "id": 1460479055, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Soler", + "lat": "41.59683", + "lon": "2.17630", + "id": 60908, + "intersectedStreets": [ + { + "name": "Carrer de la Pineda", + "lat": "41.59665", + "lon": "2.17392" + }, + { + "name": "Carrer de la Bonança", + "lat": "41.59670", + "lon": "2.17450" + }, + { + "name": "Carrer de les Piscines", + "lat": "41.59675", + "lon": "2.17514" + }, + { + "name": "Carrer de Manresa", + "lat": "41.59678", + "lon": "2.17564" + }, + { + "name": "Carrer de Can Ceferí", + "lat": "41.59683", + "lon": "2.17630" + }, + { + "name": "Carrer del Sol", + "lat": "41.59688", + "lon": "2.17677" + }, + { + "name": "Carrer de Bonavista", + "lat": "41.59677", + "lon": "2.17793" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Madrid", + "enName": "Madrid", + "names": { + "be-tarask": "Мадрыд", + "de": "Madrid", + "hi": "मद्रिद", + "rue": "Мадрід", + "koi": "Мадрид", + "lt": "Madridas", + "lv": "Madride", + "hu": "Madrid", + "xmf": "მადრიდი", + "yi": "מאדריד", + "hy": "Մադրիդ", + "uk": "Мадрид", + "ur": "میدرد", + "mk": "Мадрид", + "haw": "Makelika", + "ml": "മാഡ്രിഡ്", + "ext": "Mairil", + "lez": "Мадрид", + "ab": "Мaдрид", + "mn": "Мадрид", + "tet": "Madríd", + "mr": "माद्रिद", + "pnb": "میڈرڈ", + "el": "Μαδρίτη", + "eo": "Madrido", + "is": "Madrid", + "am": "ማድሪድ", + "an": "Madrit", + "es": "Madrid", + "zh": "馬德里", + "eu": "Madril", + "ar": "مدريد", + "bat-smg": "Madrids", + "mhr": "Мадрид", + "ja": "マドリード", + "fa": "مادرید", + "ba": "Мадрид", + "udm": "Мадрид", + "no": "Madrid", + "be": "Мадрыд", + "ru": "Мадрид", + "bg": "Мадрид", + "yue": "馬德里", + "myv": "Мадрид ош", + "bn": "মাদ্রিদ", + "fr": "Madrid", + "bo": "མ་ད་རིད།", + "sa": "मद्रिद्", + "arc": "ܡܕܪܝܕ", + "oc": "Madrid", + "ka": "მადრიდი", + "sk": "Madrid", + "sl": "Madrid", + "ga": "Maidrid", + "sah": "Мадрид", + "ca": "Madrid", + "sq": "Madridi", + "sr": "Мадрид", + "kk": "Мадрид", + "mzn": "مادرید", + "kn": "ಮಾದ್ರಿದ್", + "sv": "Madrid", + "ko": "마드리드", + "mrj": "Мадрид", + "os": "Мадрид", + "szl": "Madryt", + "nds-nl": "Medrid", + "arz": "مدريد", + "ku": "Madrîd", + "kv": "Мадрид", + "co": "Madridi", + "kbd": "Мадрид", + "ta": "மத்ரித்", + "ky": "Мадрид", + "cv": "Мадрид", + "tg": "Мадрид", + "th": "มาดริด", + "la": "Matritum", + "ckb": "مادرید", + "zh_pinyin": "Mǎdélǐ", + "pl": "Madryt", + "he": "מדריד" + }, + "lat": "40.41670", + "lon": "-3.70358", + "id": 21068295, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Móstoles", + "enName": "Móstoles", + "names": { + "ar": "موستولس", + "ru": "Мостолес", + "el": "Μόστολες", + "ja": "モストレス", + "fa": "موستولس", + "hu": "Móstoles", + "ur": "موستولس", + "zh": "莫斯托莱斯", + "sr": "Мостолес" + }, + "lat": "40.32385", + "lon": "-3.86492", + "id": 306524430, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "la Garriga", + "lat": "41.68491", + "lon": "2.28658", + "id": 1470838435, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Reus", + "names": { + "ru": "Реус", + "uk": "Реус", + "el": "Ρέους", + "lt": "Reusas" + }, + "lat": "41.15556", + "lon": "1.10761", + "id": 152377926, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Torredembarra", + "lat": "41.14616", + "lon": "1.39595", + "id": 1460478559, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Badalona", + "names": { + "kk": "Бадалона", + "be": "Бадалона", + "ru": "Бадалона", + "ko": "바달로나", + "bg": "Бадалона", + "el": "Μπαδαλόνα", + "sa": "बाडालोना", + "zh": "巴达洛纳", + "ar": "بادالونا", + "hy": "Բադալոնա", + "th": "บาดาโลนา", + "ka": "ბადალონა", + "uk": "Бадалона", + "ja": "バダロナ", + "fa": "بادالونا", + "sr": "Бадалона" + }, + "lat": "41.44935", + "lon": "2.24825", + "id": 52228684, + "type": "CITY", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu (Sant Antoni de Llefià)", + "names": { + "wikipedia": "ca:Bartomeu apòstol" + }, + "lat": "41.44260", + "lon": "2.21649", + "id": 11531, + "intersectedStreets": [ + { + "name": "avinguda d'Amèrica (Sant Joan de Llefià)", + "names": { + "wikipedia": "ca:Amèrica (Sant Joan de Llefià)" + }, + "lat": "41.44192", + "lon": "2.21722" + }, + { + "name": "carrer de Sant Frederic", + "names": { + "wikipedia": "ca:Frederic d'Utrecht" + }, + "lat": "41.44194", + "lon": "2.21711" + }, + { + "name": "carrer de Bellavista (Sant Antoni de Llefià)", + "lat": "41.44239", + "lon": "2.21653" + }, + { + "name": "carrer de la Circumval·lació", + "lat": "41.44284", + "lon": "2.21591" + } + ] + }, + { + "name": "carrer del Doctor Robert (Bufalà)", + "names": { + "wikipedia": "ca:Bartomeu Robert i Yarzábal (Bufalà)" + }, + "lat": "41.46008", + "lon": "2.24254", + "id": 15319, + "intersectedStreets": [ + { + "name": "carrer de Sant Jordi", + "names": { + "wikipedia": "ca:Sant Jordi" + }, + "lat": "41.45603", + "lon": "2.24353" + }, + { + "name": "carrer de Jacint Verdaguer (Dalt de la Vila)", + "names": { + "wikipedia": "ca:Jacint Verdaguer i Santaló (Dalt de la Vila)" + }, + "lat": "41.45603", + "lon": "2.24353" + }, + { + "name": "carrer de Baldomer Galofre", + "names": { + "wikipedia": "ca:Baldomer Galofre i Giménez" + }, + "lat": "41.45603", + "lon": "2.24353" + }, + { + "name": "carrer de Sant Felip i d'en Rosés", + "names": { + "wikipedia": "ca:Felip l'Evangelista" + }, + "lat": "41.45603", + "lon": "2.24353" + }, + { + "name": "carrer del Doctor Daudí", + "lat": "41.45698", + "lon": "2.24338" + }, + { + "name": "avinguda de Bufalà", + "names": { + "wikipedia": "ca:Bufalà" + }, + "lat": "41.45873", + "lon": "2.24310" + }, + { + "name": "carrer del Bruc (Bufalà)", + "names": { + "wikipedia": "ca:Batalla del Bruc (Bufalà)" + }, + "lat": "41.45918", + "lon": "2.24299" + }, + { + "name": "carrer de Roncesvalls", + "names": { + "wikipedia": "ca:Batalla de Roncesvalls" + }, + "lat": "41.45952", + "lon": "2.24291" + }, + { + "name": "Carrer de Girona (Bufalà)", + "names": { + "wikipedia": "ca:Setge de Girona de 1809 (Bufalà)" + }, + "lat": "41.45969", + "lon": "2.24280" + }, + { + "name": "carrer de Rubió i Ors", + "names": { + "wikipedia": "ca:Joaquim Rubió i Ors" + }, + "lat": "41.46021", + "lon": "2.24256" + }, + { + "name": "carrer de Bailén", + "names": { + "wikipedia": "ca:Batalla de Bailèn" + }, + "lat": "41.46043", + "lon": "2.24246" + }, + { + "name": "carrer d'Ibèria", + "names": { + "wikipedia": "ca:Ibèria" + }, + "lat": "41.46053", + "lon": "2.24241" + }, + { + "name": "carrer de Castillejos", + "names": { + "wikipedia": "ca:Batalla de Castillejos" + }, + "lat": "41.46096", + "lon": "2.24209" + }, + { + "name": "carrer de la Sardana (Bufalà)", + "names": { + "wikipedia": "ca:Sardana (Bufalà)" + }, + "lat": "41.46153", + "lon": "2.24170" + }, + { + "name": "carrer de l'Alcalde de Móstoles", + "names": { + "wikipedia": "ca:Ban dels alcaldes de Móstoles" + }, + "lat": "41.46207", + "lon": "2.24132" + }, + { + "name": "avinguda de la Cerdanya", + "names": { + "wikipedia": "ca:Cerdanya" + }, + "lat": "41.46373", + "lon": "2.24007" + }, + { + "name": "carreró de Can Pontons", + "lat": "41.46384", + "lon": "2.23969" + }, + { + "name": "carrer de la Independència", + "names": { + "wikipedia": "ca:Guerra del Francès" + }, + "lat": "41.46387", + "lon": "2.23954" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "la Roca del Vallès", + "lat": "41.58834", + "lon": "2.33146", + "id": 1470838451, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Garraf", + "lat": "41.25274", + "lon": "1.90247", + "id": 5025041121, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Passeig de Bartomeu Soler", + "lat": "41.24571", + "lon": "1.80002", + "id": 90643, + "intersectedStreets": [ + { + "name": "Passeig de Sant Dídac", + "lat": "41.24697", + "lon": "1.80152" + }, + { + "name": "Passeig del Fondac", + "lat": "41.24461", + "lon": "1.79714" + } + ] + }, + { + "name": "Carrer Bartomeu Robert", + "lat": "41.22943", + "lon": "1.78884", + "id": 28472, + "intersectedStreets": [ + { + "name": "Avinguda de Navarra (Sitges)", + "lat": "41.22931", + "lon": "1.78777" + }, + { + "name": "Carrer Ferran Casablancas", + "lat": "41.22931", + "lon": "1.78777" + }, + { + "name": "Carrer de Josep Planas Robert (Sitges)", + "lat": "41.22943", + "lon": "1.78884" + }, + { + "name": "Carrer de Balmes (Sitges)", + "names": { + "ca": "Carrer de Balmes (Sitges)" + }, + "lat": "41.22954", + "lon": "1.78996" + }, + { + "name": "Carrer del Pintor Roig i Soler (Sitges)", + "lat": "41.22954", + "lon": "1.78996" + } + ] + }, + { + "name": "Carrer de Sant Bartomeu (Sitges)", + "lat": "41.23759", + "lon": "1.80899", + "id": 28353, + "intersectedStreets": [ + { + "name": "Carrer Jesús (Sitges)", + "lat": "41.23683", + "lon": "1.80978" + }, + { + "name": "Carrer de Sant Gaudenci (Sitges)", + "lat": "41.23759", + "lon": "1.80899" + }, + { + "name": "Avinguda d'Artur Carbonell", + "lat": "41.23856", + "lon": "1.80796" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Calafell", + "lat": "41.20146", + "lon": "1.56803", + "id": 440667418, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Jaume de Llierca", + "lat": "42.21198", + "lon": "2.60743", + "id": 864892113, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Terrades", + "lat": "42.21120", + "lon": "2.60797", + "id": 96353 + } + ], + "matchStreet": 1 + }, + { + "name": "Alcalá de Henares", + "names": { + "ar": "القلعة الحجارة", + "ru": "Алькала-де-Энарес", + "uk": "Алькала-де-Енарес", + "el": "Αλκαλά ντε Ενάρες", + "lt": "Alkala de Henaresas", + "fa": "الکالا د هنارس", + "hu": "Alcalá de Henares", + "ur": "الکالا دے ایناریس", + "es": "Alcalá de Henares", + "sr": "Алкала де Енарес" + }, + "lat": "40.48184", + "lon": "-3.36450", + "id": 209144042, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Quirze del Vallès", + "names": { + "es:1857-1976": "San Quirico de Tarrasa" + }, + "lat": "41.53014", + "lon": "2.08201", + "id": 1470838966, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Figueres", + "names": { + "fr": "Figueres", + "ca": "Figueres", + "es": "Figueras" + }, + "lat": "42.26663", + "lon": "2.96384", + "id": 1470838284, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Falset", + "lat": "41.14510", + "lon": "0.81962", + "id": 1470838282, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Puigcerdà", + "names": { + "lt": "Puigserda" + }, + "lat": "42.43180", + "lon": "1.92787", + "id": 1470838793, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Baixada de Sant Bartomeu", + "lat": "42.43146", + "lon": "1.92919", + "id": 72687 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Paracuellos de Jarama", + "lat": "40.50510", + "lon": "-3.53185", + "id": 256245933, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Gurb", + "lat": "41.94099", + "lon": "2.24330", + "id": 7099361433, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carretera de Sant Bartomeu", + "lat": "41.94163", + "lon": "2.24205", + "id": 74041, + "intersectedStreets": [ + { + "name": "Carrer de Colom", + "lat": "41.94163", + "lon": "2.24205" + }, + { + "name": "Carrer de Sant Roc", + "names": { + "ca": "Carrer de Sant Roc" + }, + "lat": "41.94216", + "lon": "2.24166" + }, + { + "name": "Carrer de Mossèn Jacint Verdaguer", + "lat": "41.94382", + "lon": "2.24052" + }, + { + "name": "Carrer del Ginebrar", + "lat": "41.94543", + "lon": "2.23941" + }, + { + "name": "Plaça de l'Amistat", + "lat": "41.94586", + "lon": "2.23911" + }, + { + "name": "Passeig de Prixana", + "lat": "41.94589", + "lon": "2.23909" + }, + { + "name": "Carrer del Castell", + "lat": "41.94624", + "lon": "2.23885" + }, + { + "name": "Carrer de la Clàudia", + "lat": "41.94696", + "lon": "2.23834" + }, + { + "name": "Carrer de la Carlota", + "lat": "41.94739", + "lon": "2.23804" + }, + { + "name": "Carrer Diagonal", + "lat": "41.94784", + "lon": "2.23771" + }, + { + "name": "Carrer del Canigó", + "lat": "41.94786", + "lon": "2.23769" + }, + { + "name": "Pont de Can Sila", + "lat": "41.96598", + "lon": "2.22402" + }, + { + "name": "Pont de l'Argila", + "lat": "41.97067", + "lon": "2.21733" + }, + { + "name": "Carretera de Vespella", + "lat": "41.97300", + "lon": "2.21312" + }, + { + "name": "BV-4602", + "lat": "41.97174", + "lon": "2.21709" + }, + { + "name": "Camí de Sant Julià Sassorba a Sant Bartomeu", + "lat": "41.97007", + "lon": "2.17504" + }, + { + "name": "Carrer del Montsseny", + "lat": "41.97725", + "lon": "2.20066" + } + ] + }, + { + "name": "Camí de Sant Julià Sassorba a Sant Bartomeu", + "lat": "41.96394", + "lon": "2.17851", + "id": 79968, + "intersectedStreets": [ + { + "name": "Carretera de Sant Bartomeu", + "lat": "41.97007", + "lon": "2.17506" + } + ] + }, + { + "name": "Camí de St. Julià Sassorba a St. Bartomeu", + "lat": "41.94417", + "lon": "2.17607", + "id": 79969 + }, + { + "name": "BV-4601 - Carretera de Sant Bartomeu", + "lat": "41.95368", + "lon": "2.23540", + "id": 1670 + } + ], + "matchStreet": 1 + }, + { + "name": "Gavà", + "lat": "41.30509", + "lon": "2.00631", + "id": 1470838298, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Olost", + "lat": "41.98529", + "lon": "2.09416", + "id": 247461646, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Camí d'Olost a la Carretera de Sant Bartomeu", + "lat": "41.98659", + "lon": "2.09888", + "id": 85617, + "intersectedStreets": [ + { + "name": "Carrer de les Escoles", + "lat": "41.98572", + "lon": "2.09817" + }, + { + "name": "Camí de Pela", + "lat": "41.98698", + "lon": "2.10047" + } + ] + }, + { + "name": "Camí d'Olost a la carretera de Sant Bartomeu", + "lat": "42.01593", + "lon": "2.12459", + "id": 87495 + } + ], + "matchStreet": 1 + }, + { + "name": "Roses", + "names": { + "ca": "Roses", + "es": "Rosas" + }, + "lat": "42.26320", + "lon": "3.17553", + "id": 1470838814, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Santa Perpètua de Mogoda", + "lat": "41.53281", + "lon": "2.18233", + "id": 1470839326, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Las Rozas de Madrid", + "names": { + "es": "Las Rozas de Madrid", + "zh": "奥特莱斯" + }, + "lat": "40.49331", + "lon": "-3.87584", + "id": 256552113, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Gandesa", + "lat": "41.05204", + "lon": "0.43890", + "id": 1470838296, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Ripoll", + "lat": "42.19824", + "lon": "2.19325", + "id": 1470838807, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Sant Bartomeu", + "lat": "42.19804", + "lon": "2.19426", + "id": 60239, + "intersectedStreets": [ + { + "name": "Carrer de l'estació", + "lat": "42.19778", + "lon": "2.19381" + }, + { + "name": "Carrer del Progrés", + "lat": "42.19804", + "lon": "2.19426" + }, + { + "name": "Carrer Indústria", + "lat": "42.19839", + "lon": "2.19480" + }, + { + "name": "Carretera d'Olot", + "lat": "42.19842", + "lon": "2.19488" + }, + { + "name": "Carrer Palmerola", + "lat": "42.19858", + "lon": "2.19512" + }, + { + "name": "Carrer Costabona", + "lat": "42.19866", + "lon": "2.19525" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Xalet Mas Reig", + "lat": "41.98740", + "lon": "2.16424", + "id": 3588223523, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Carretera de Sant Bartomeu del Grau", + "names": { + "alt_name": "Camí de les Farreres" + }, + "lat": "41.98642", + "lon": "2.16519", + "id": 55368 + } + ], + "matchStreet": 1 + }, + { + "name": "Cunit", + "lat": "41.19760", + "lon": "1.63446", + "id": 1470838245, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Barcelona", + "names": { + "de": "Barcelona", + "hi": "बार्सॆलोना", + "be": "Барселона", + "kn": "ಬಾರ್ಸೆಲೋನಾ", + "ru": "Барселона", + "pt": "Barcelona", + "gl": "Barcelona", + "el": "Βαρκελώνη", + "lt": "Barselona", + "it": "Barcellona", + "fr": "Barcelone", + "es": "Barcelona", + "zh": "巴塞罗那", + "eu": "Bartzelona", + "ar": "برشلونة", + "oc": "Barcelona", + "uk": "Барселона", + "ja": "バルセロナ", + "ckb": "بارسێلۆنا", + "ca": "Barcelona", + "mk": "Барселона", + "sr": "Барселона" + }, + "lat": "41.38289", + "lon": "2.17743", + "id": 152364165, + "type": "CITY", + "listOfStreets": [ + { + "name": "Carrer Bartomeu Pi", + "lat": "41.36963", + "lon": "2.13886", + "id": 1156, + "intersectedStreets": [ + { + "name": "Carrer Tort (la Bordeta)", + "lat": "41.37042", + "lon": "2.13984" + }, + { + "name": "Carrer de Viladecans (la Bordeta)", + "lat": "41.36961", + "lon": "2.13894" + }, + { + "name": "Carrer de Mossèn Amadeu Oller (la Bordeta)", + "lat": "41.36900", + "lon": "2.13819" + }, + { + "name": "Carrer de Navarra (la Bordeta)", + "lat": "41.37072", + "lon": "2.14019" + } + ] + }, + { + "name": "Carrer de Sant Bartomeu (el Raval)", + "lat": "41.37816", + "lon": "2.16924", + "id": 18565, + "intersectedStreets": [ + { + "name": "Carrer de la Riereta (el Raval)", + "lat": "41.37786", + "lon": "2.16879" + }, + { + "name": "Rambla del Raval", + "lat": "41.37835", + "lon": "2.16941" + } + ] + }, + { + "name": "Carrer de Sant Bartomeu de la Quadra (les Corts)", + "lat": "41.38987", + "lon": "2.10388", + "id": 121254, + "intersectedStreets": [ + { + "name": "Costa de Sant Bartomeu de la Quadra (les Corts)", + "lat": "41.38966", + "lon": "2.10382" + } + ] + }, + { + "name": "Costa de Sant Bartomeu de la Quadra (les Corts)", + "lat": "41.38943", + "lon": "2.10410", + "id": 13505, + "intersectedStreets": [ + { + "name": "Carrer del Torrent de les Roses (les Corts)", + "lat": "41.38964", + "lon": "2.10365" + }, + { + "name": "Carrer de Sant Bartomeu de la Quadra (les Corts)", + "lat": "41.38966", + "lon": "2.10382" + }, + { + "name": "Passatge de Santa de Vilalba (les Corts)", + "lat": "41.38964", + "lon": "2.10410" + }, + { + "name": "Carrer dels Herois del Bruc (les Corts)", + "lat": "41.38917", + "lon": "2.10429" + }, + { + "name": "Plaça del Coll de Finestrelles (les Corts)", + "lat": "41.38917", + "lon": "2.10429" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Balenyà", + "lat": "41.82161", + "lon": "2.22241", + "id": 4800634741, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu (els Hostalets de Balenyà)", + "lat": "41.81121", + "lon": "2.23308", + "id": 96720, + "intersectedStreets": [ + { + "name": "Avinguda d'Osona (els Hostalets de Balenyà)", + "lat": "41.81139", + "lon": "2.23507" + }, + { + "name": "Carrer de la Verge Montserrat", + "lat": "41.81139", + "lon": "2.23507" + }, + { + "name": "Carrer d'Alfons Amic", + "lat": "41.81097", + "lon": "2.23368" + }, + { + "name": "Carrer de Cervantes (els Hostalets de Balenyà)", + "lat": "41.81121", + "lon": "2.23308" + }, + { + "name": "Carretera de Ribes (la Cugullada)", + "lat": "41.81153", + "lon": "2.23231" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "el Prat de Llobregat", + "names": { + "ru": "Эль-Прат-де-Льобрегат", + "ca": "el Prat de Llobregat", + "es": "El Prat de Llobregat" + }, + "lat": "41.32463", + "lon": "2.09526", + "id": 1470838266, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Premià de Mar", + "lat": "41.49268", + "lon": "2.36058", + "id": 1470838783, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "el Vendrell", + "names": { + "ca": "el Vendrell" + }, + "lat": "41.21997", + "lon": "1.53486", + "id": 1470838269, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "el Masnou", + "lat": "41.47969", + "lon": "2.31183", + "id": 1470838263, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Castelló d'Empuries", + "lat": "42.25935", + "lon": "3.07338", + "id": 1949049715, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Gelida", + "lat": "41.44089", + "lon": "1.86343", + "id": 1460478611, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Bartomeu Raurell", + "lat": "41.44302", + "lon": "1.86574", + "id": 18243, + "intersectedStreets": [ + { + "name": "Avinguda del Funicular", + "lat": "41.44302", + "lon": "1.86474" + }, + { + "name": "Carrer del Poeta Jaume Vila", + "lat": "41.44300", + "lon": "1.86510" + }, + { + "name": "Carretera de Sant Llorenç d'Hortons", + "lat": "41.44298", + "lon": "1.86637" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Reus", + "lat": "41.15510", + "lon": "1.10871", + "id": 6948959184, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Vistabella", + "lat": "41.20940", + "lon": "1.26508", + "id": 886148850, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.20959", + "lon": "1.26502", + "id": 106354, + "intersectedStreets": [ + { + "name": "Plaça de l'Alcalde Joaquim Celma", + "lat": "41.20919", + "lon": "1.26463" + }, + { + "name": "Carrer del Roser", + "lat": "41.20959", + "lon": "1.26502" + }, + { + "name": "Carrer Vell", + "lat": "41.20999", + "lon": "1.26542" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "San Fernando de Henares", + "lat": "40.42485", + "lon": "-3.53504", + "id": 280130897, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sort", + "lat": "42.41140", + "lon": "1.12977", + "id": 151060133, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Ciempozuelos", + "lat": "40.15801", + "lon": "-3.62055", + "id": 308517254, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Vallbona d'Anoia", + "lat": "41.51948", + "lon": "1.70829", + "id": 347532113, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer Bartomeu", + "lat": "41.51862", + "lon": "1.70619", + "id": 3769, + "intersectedStreets": [ + { + "name": "Carrer Major", + "lat": "41.51873", + "lon": "1.70608" + }, + { + "name": "Carrer Nou", + "lat": "41.51809", + "lon": "1.70642" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Tremp", + "lat": "42.16637", + "lon": "0.89462", + "id": 3890310157, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "la Secuita", + "lat": "41.20319", + "lon": "1.27914", + "id": 886148842, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu (Vistabella)", + "lat": "41.20959", + "lon": "1.26502", + "id": 106353, + "intersectedStreets": [ + { + "name": "Plaça de l'Alcalde Joaquim Celma", + "lat": "41.20919", + "lon": "1.26463" + }, + { + "name": "Carrer del Roser (Vistabella)", + "lat": "41.20959", + "lon": "1.26502" + }, + { + "name": "Carrer Vell (Vistabella)", + "lat": "41.20999", + "lon": "1.26542" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Mejorada del Campo", + "lat": "40.39718", + "lon": "-3.48961", + "id": 303821734, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Masarbonès", + "lat": "41.26018", + "lon": "1.43825", + "id": 1896326329, + "type": "HAMLET", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.25992", + "lon": "1.43844", + "id": 105690, + "intersectedStreets": [ + { + "name": "Carrer de Sant Antoni", + "lat": "41.25984", + "lon": "1.43687" + }, + { + "name": "Carrer Major", + "lat": "41.25992", + "lon": "1.43796" + }, + { + "name": "Carrer de Bonastre", + "lat": "41.25995", + "lon": "1.43848" + }, + { + "name": "Carrer de les Fassines", + "lat": "41.26021", + "lon": "1.43874" + }, + { + "name": "Plaça de l'Om", + "lat": "41.26044", + "lon": "1.43854" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Algete", + "names": { + "ar": "الشط" + }, + "lat": "40.59617", + "lon": "-3.49742", + "id": 1487216934, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Sant Cugat del Vallès", + "lat": "41.47284", + "lon": "2.08178", + "id": 1470838828, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.47405", + "lon": "2.08290", + "id": 54668, + "intersectedStreets": [ + { + "name": "Carrer de Santa Anna", + "lat": "41.47421", + "lon": "2.08279" + }, + { + "name": "Carrer de les Escaletes", + "lat": "41.47405", + "lon": "2.08290" + }, + { + "name": "Carrer de Sant Martí", + "lat": "41.47396", + "lon": "2.08296" + }, + { + "name": "Carrer de l'Hospital", + "lat": "41.47341", + "lon": "2.08356" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Òdena", + "lat": "41.60688", + "lon": "1.64222", + "id": 355898040, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer sant Bartomeu", + "lat": "41.58110", + "lon": "1.63784", + "id": 24402, + "intersectedStreets": [ + { + "name": "Carrer de la carretera", + "lat": "41.58093", + "lon": "1.63769" + }, + { + "name": "Carrer de la Calç", + "lat": "41.58110", + "lon": "1.63784" + }, + { + "name": "Carrer de Sant Jaume", + "lat": "41.58142", + "lon": "1.63801" + }, + { + "name": "Carrer de la Línia", + "lat": "41.58142", + "lon": "1.63801" + } + ] + } + ], + "matchStreet": 1 + }, + { + "name": "Sant Boi de Llobregat", + "lat": "41.34590", + "lon": "2.04137", + "id": 1470838825, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Bartomeu Garcia i Subirà", + "lat": "41.33342", + "lon": "2.03535", + "id": 106600, + "intersectedStreets": [ + { + "name": "Avinguda de la Torre de la Vila (Casablanca)", + "lat": "41.33377", + "lon": "2.03494" + }, + { + "name": "carrer d'Aleix Parés i Valls", + "lat": "41.33338", + "lon": "2.03539" + }, + { + "name": "Carrer de la Joventut (Casablanca)", + "lat": "41.33298", + "lon": "2.03584" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Riba-roja d'Ebre", + "lat": "41.25135", + "lon": "0.48730", + "id": 637456379, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.25056", + "lon": "0.48812", + "id": 100817 + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Sant Feliu de Guíxols", + "names": { + "ca": "Sant Feliu de Guíxols" + }, + "lat": "41.78388", + "lon": "3.02832", + "id": 1470838830, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Villalbilla", + "names": { + "ru": "Вильяльбилья", + "uk": "Вільяльбілья", + "es": "Villalbilla" + }, + "lat": "40.43247", + "lon": "-3.29862", + "id": 311122244, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Granollers", + "lat": "41.60796", + "lon": "2.28760", + "id": 1470838306, + "type": "TOWN", + "listOfStreets": [ + { + "name": "Carrer Bartomeu Brufalt (Bellavista)", + "lat": "41.61450", + "lon": "2.29526", + "id": 116993, + "intersectedStreets": [ + { + "name": "Avinguda de Francesc Ribas (Joan Prim)", + "lat": "41.61328", + "lon": "2.29464" + }, + { + "name": "Carrer Zorrilla", + "lat": "41.61450", + "lon": "2.29526" + }, + { + "name": "Carrer de Manuel Cornellà (Bellavista)", + "lat": "41.61523", + "lon": "2.29543" + } + ] + }, + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.60821", + "lon": "2.28567", + "id": 132663, + "intersectedStreets": [ + { + "name": "Carrer de Sant Jaume", + "lat": "41.60817", + "lon": "2.28559" + }, + { + "name": "Carrer Constància (Centre)", + "lat": "41.60878", + "lon": "2.28610" + }, + { + "name": "Carrer de Santa Anna (Centre)", + "lat": "41.60878", + "lon": "2.28610" + } + ] + }, + { + "name": "Carrer de Bartomeu Serret i Argemi", + "lat": "41.59588", + "lon": "2.28739", + "id": 54706, + "intersectedStreets": [ + { + "name": "Carrer Maria Aurèlia Campmany", + "lat": "41.59595", + "lon": "2.28702" + }, + { + "name": "Carrer del Pla de Baix", + "lat": "41.59580", + "lon": "2.28825" + }, + { + "name": "Carrer d'Esteve Terrades", + "lat": "41.59558", + "lon": "2.29013" + }, + { + "name": "Carrer Ramon Dagà", + "lat": "41.59568", + "lon": "2.28938" + } + ] + } + ], + "init": 1, + "matchStreet": 1 + }, + { + "name": "Sant Adrià de Besòs", + "names": { + "ca": "Sant Adrià de Besòs" + }, + "lat": "41.43048", + "lon": "2.21828", + "id": 1470838823, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Salt", + "enName": "Salt", + "names": { + "es": "Salt" + }, + "lat": "41.97417", + "lon": "2.79499", + "id": 1470838822, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Salou", + "lat": "41.07682", + "lon": "1.14404", + "id": 1470838821, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Corbins", + "lat": "41.69057", + "lon": "0.69308", + "id": 2202651293, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.69298", + "lon": "0.69304", + "id": 35417 + } + ], + "matchStreet": 1 + }, + { + "name": "Alpicat", + "lat": "41.66512", + "lon": "0.55607", + "id": 796917354, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.66806", + "lon": "0.55494", + "id": 110134 + }, + { + "name": "Travessia de Sant Bartomeu", + "lat": "41.66854", + "lon": "0.55387", + "id": 131137 + } + ], + "matchStreet": 1 + }, + { + "name": "Sant Joan Despí", + "lat": "41.36680", + "lon": "2.05703", + "id": 1470838836, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Guissona", + "names": { + "es": "Guissona" + }, + "lat": "41.78524", + "lon": "1.28903", + "id": 1470838323, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "l'Hospitalet de Llobregat", + "names": { + "ru": "Оспиталет-де-Льобрегат", + "el": "Οσπιταλέτ ντε Λιοβρεγάτ", + "ca": "l'Hospitalet de Llobregat", + "sr": "Лоспиталет де Љобрегат" + }, + "lat": "41.35986", + "lon": "2.09979", + "id": 939880925, + "type": "CITY", + "listOfStreets": [], + "init": 1 + }, + { + "name": "la Llagosta", + "lat": "41.51399", + "lon": "2.19121", + "id": 1460478680, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Amposta", + "lat": "40.70799", + "lon": "0.58276", + "id": 4678926078, + "type": "TOWN", + "listOfStreets": [], + "init": 1 + }, + { + "name": "Montagut", + "lat": "42.23093", + "lon": "2.59674", + "id": 1297380489, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Carrer de Sant Bartomeu", + "lat": "42.22612", + "lon": "2.57677", + "id": 110634 + } + ], + "matchStreet": 1 + }, + { + "name": "Sidamon", + "lat": "41.62752", + "lon": "0.83082", + "id": 1460478674, + "type": "VILLAGE", + "listOfStreets": [ + { + "name": "Torrent de Sant Bartomeu", + "lat": "41.62890", + "lon": "0.83348", + "id": 97566 + }, + { + "name": "Carrer de Sant Bartomeu", + "lat": "41.62887", + "lon": "0.83256", + "id": 97567 + } + ], + "matchStreet": 1 + } + ] +} \ No newline at end of file From 49d23b63b344e9f5e1d3daa88d17101e63c9173f Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Mon, 25 May 2020 13:11:57 +0300 Subject: [PATCH 098/509] Quick Action redesign --- ...om_sheet_item_description_with_padding.xml | 25 + ...global_preferences_toolbar_with_switch.xml | 17 +- OsmAnd/res/layout/preference_button.xml | 42 +- OsmAnd/res/layout/quick_action_list.xml | 130 +-- .../res/layout/quick_action_list_header.xml | 34 +- OsmAnd/res/layout/quick_action_list_item.xml | 170 ++-- OsmAnd/res/values-ar/strings.xml | 3 +- OsmAnd/res/values-b+kab/strings.xml | 2 - OsmAnd/res/values/strings.xml | 4 + .../osmand/plus/activities/MapActivity.java | 14 +- .../quickaction/ConfirmationBottomSheet.java | 101 +++ .../quickaction/CreateEditActionDialog.java | 29 +- .../quickaction/QuickActionListFragment.java | 831 +++++++++++++----- .../net/osmand/plus/widgets/TextViewEx.java | 9 +- .../plus/widgets/TextViewExProgress.java | 5 - 15 files changed, 1029 insertions(+), 387 deletions(-) create mode 100644 OsmAnd/res/layout/bottom_sheet_item_description_with_padding.xml create mode 100644 OsmAnd/src/net/osmand/plus/quickaction/ConfirmationBottomSheet.java diff --git a/OsmAnd/res/layout/bottom_sheet_item_description_with_padding.xml b/OsmAnd/res/layout/bottom_sheet_item_description_with_padding.xml new file mode 100644 index 0000000000..b6516e85ff --- /dev/null +++ b/OsmAnd/res/layout/bottom_sheet_item_description_with_padding.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml b/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml index 8d062117ae..1b4fc65968 100644 --- a/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml +++ b/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml @@ -34,8 +34,9 @@ + + diff --git a/OsmAnd/res/layout/preference_button.xml b/OsmAnd/res/layout/preference_button.xml index 66d59b377b..5d5deb7500 100644 --- a/OsmAnd/res/layout/preference_button.xml +++ b/OsmAnd/res/layout/preference_button.xml @@ -28,25 +28,37 @@ + android:layout_marginLeft="@dimen/content_padding" + android:layout_marginStart="@dimen/content_padding" + android:orientation="vertical"> - + + + android:layout_height="1dp" + android:visibility="gone" + android:background="?attr/dashboard_divider" /> diff --git a/OsmAnd/res/layout/quick_action_list.xml b/OsmAnd/res/layout/quick_action_list.xml index 7c6f0b8c12..02c9e637ac 100644 --- a/OsmAnd/res/layout/quick_action_list.xml +++ b/OsmAnd/res/layout/quick_action_list.xml @@ -1,6 +1,5 @@ - - + - - - - - - - - - - - - - - - - + android:layout_height="match_parent" + android:layout_below="@id/appbar" + android:clipToPadding="false" /> + app:srcCompat="@drawable/ic_action_plus" /> + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/quick_action_list_header.xml b/OsmAnd/res/layout/quick_action_list_header.xml index 16bdd6c486..37bf925e37 100644 --- a/OsmAnd/res/layout/quick_action_list_header.xml +++ b/OsmAnd/res/layout/quick_action_list_header.xml @@ -1,21 +1,23 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="@dimen/bottom_sheet_list_item_height" + android:background="?attr/bg_color" + android:paddingStart="@dimen/content_padding" + android:paddingLeft="@dimen/content_padding" + android:paddingEnd="@dimen/content_padding" + android:paddingRight="@dimen/content_padding"> - + \ No newline at end of file diff --git a/OsmAnd/res/layout/quick_action_list_item.xml b/OsmAnd/res/layout/quick_action_list_item.xml index 1661bc06cd..df86cc46dc 100644 --- a/OsmAnd/res/layout/quick_action_list_item.xml +++ b/OsmAnd/res/layout/quick_action_list_item.xml @@ -1,92 +1,138 @@ + xmlns:osmand="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/bg_color" + android:orientation="vertical"> - + - + + + + + + android:layout_marginLeft="@dimen/content_padding" + android:layout_marginStart="@dimen/content_padding" + android:layout_height="wrap_content" + android:orientation="vertical"> - + android:minHeight="@dimen/setting_profile_item_height" + android:orientation="horizontal"> - + + + + + + + + + + + + + + + + + + + android:layout_height="1dp" + android:background="?attr/dashboard_divider" /> - - + android:background="?attr/dashboard_divider" /> \ No newline at end of file diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 72f5e2b989..da3ab7066b 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -2107,8 +2107,7 @@ إضافة للمفضلة إضافة إجراء حذف إجراء - هل تريد حذف الإجراء -\n \"%s\" ؟ + هل تريد حذف الإجراء\n \"%s\" ؟ اسم الإجراء إضافة خطأ إلى OSM عرض مربع حوار الأماكن المفضلة diff --git a/OsmAnd/res/values-b+kab/strings.xml b/OsmAnd/res/values-b+kab/strings.xml index e931417beb..fdf37cff65 100644 --- a/OsmAnd/res/values-b+kab/strings.xml +++ b/OsmAnd/res/values-b+kab/strings.xml @@ -1054,12 +1054,10 @@ Sken %1$S Inurifen Sken inurifen - Tebɣiḍ ad tekseḍ tigawt-agi\? Kkes tigawt Tigawt Taɣect: Rnu - Agdil Ali Ṣeggem akken iwat anadi-ik Rnu ugar... diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 65a1231387..3cb9e2e346 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,10 @@ Thx - Hardy --> + Selected: %d + Are you sure you want to irrevocably delete %d quick actions? + Delete all? + You can Export or Import quick actions with application profiles. Unsupported type World overview map (detailed) Could not find any such profiles. diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 75330977de..842ed8af57 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -730,13 +730,15 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven prevActivityIntent = null; return; } - if (getMapView().getLayerByClass(MapQuickActionLayer.class).onBackPressed()) { - return; - } QuickActionListFragment quickActionListFragment = getQuickActionListFragment(); - if (quickActionListFragment != null && quickActionListFragment.isVisible() - && quickActionListFragment.fromDashboard()) { - this.getDashboard().setDashboardVisibility(true, DashboardType.CONFIGURE_SCREEN, null); + if (quickActionListFragment != null && quickActionListFragment.isVisible()) { + if (quickActionListFragment.fromDashboard()) { + this.getDashboard().setDashboardVisibility(true, DashboardType.CONFIGURE_SCREEN, null); + } else { + getMapView().getLayerByClass(MapQuickActionLayer.class).onBackPressed(); + } + } else if (getMapView().getLayerByClass(MapQuickActionLayer.class).onBackPressed()) { + return; } ImportSettingsFragment importSettingsFragment = getImportSettingsFragment(); if (importSettingsFragment != null) { diff --git a/OsmAnd/src/net/osmand/plus/quickaction/ConfirmationBottomSheet.java b/OsmAnd/src/net/osmand/plus/quickaction/ConfirmationBottomSheet.java new file mode 100644 index 0000000000..87af1a0442 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/quickaction/ConfirmationBottomSheet.java @@ -0,0 +1,101 @@ +package net.osmand.plus.quickaction; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.R; +import net.osmand.plus.UiUtilities; +import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.BottomSheetItemWithDescription; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; + +public class ConfirmationBottomSheet extends MenuBottomSheetDialogFragment { + + private static final String TITLE_KEY = "title"; + private static final String MESSAGE_KEY = "message"; + private static final String RIGHT_BUTTON_TITLE_KEY = "right_button_title"; + + private String title; + private CharSequence message; + private int rightButtonTitle; + + public static final String TAG = ConfirmationBottomSheet.class.getSimpleName(); + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { + OsmandApplication app = requiredMyApplication(); + if (savedInstanceState != null) { + title = savedInstanceState.getString(TITLE_KEY); + message = savedInstanceState.getCharSequence(MESSAGE_KEY); + rightButtonTitle = savedInstanceState.getInt(RIGHT_BUTTON_TITLE_KEY); + } + View view = super.onCreateView(inflater, parent, savedInstanceState); + UiUtilities.setupDialogButton(nightMode, rightButton, + UiUtilities.DialogButtonType.SECONDARY, rightButtonTitle); + TextView tvRightButton = rightButton.findViewById(R.id.button_text); + int colorDelete = ContextCompat.getColor(app, R.color.color_osm_edit_delete); + tvRightButton.setTextColor(colorDelete); + return view; + } + + @Override + public void createMenuItems(Bundle savedInstanceState) { + items.add(new TitleItem(title)); + items.add(new BottomSheetItemWithDescription.Builder() + .setDescription(message) + .setLayoutId(R.layout.bottom_sheet_item_preference_descr) + .create()); + } + + @Override + protected void onRightBottomButtonClick() { + Fragment target = getTargetFragment(); + if (target instanceof OnConfirmButtonClickListener) { + ((OnConfirmButtonClickListener) target).onConfirmButtonClick(); + } + dismiss(); + } + + @Override + protected int getRightBottomButtonTextId() { + return rightButtonTitle; + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putString(TITLE_KEY, title); + outState.putCharSequence(MESSAGE_KEY, message); + outState.putInt(RIGHT_BUTTON_TITLE_KEY, rightButtonTitle); + } + + public static void showInstance(@NonNull FragmentManager fm, + Fragment targetFragment, + @NonNull String title, + @NonNull CharSequence message, + int rightButtonTitle, + boolean usedOnMap) { + ConfirmationBottomSheet f = new ConfirmationBottomSheet(); + f.title = title; + f.message = message; + f.rightButtonTitle = rightButtonTitle; + f.setTargetFragment(targetFragment, 0); + f.setUsedOnMap(usedOnMap); + f.show(fm, ConfirmationBottomSheet.TAG); + } + + public interface OnConfirmButtonClickListener { + void onConfirmButtonClick(); + } +} diff --git a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java index 9fdc94c8df..7d013003d5 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java @@ -1,7 +1,6 @@ package net.osmand.plus.quickaction; import android.app.Dialog; -import android.content.Context; import android.content.DialogInterface; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; @@ -34,13 +33,14 @@ import net.osmand.plus.activities.MapActivity; import java.util.List; -import static net.osmand.plus.quickaction.QuickActionListFragment.showConfirmActionDeleteDialog; +import static net.osmand.plus.quickaction.QuickActionListFragment.showConfirmDeleteAnActionBottomSheet; /** * Created by rosty on 12/27/16. */ -public class CreateEditActionDialog extends DialogFragment implements CallbackWithObject { +public class CreateEditActionDialog extends DialogFragment + implements CallbackWithObject, ConfirmationBottomSheet.OnConfirmButtonClickListener { public static final String TAG = CreateEditActionDialog.class.getSimpleName(); @@ -181,19 +181,9 @@ public class CreateEditActionDialog extends DialogFragment implements CallbackWi item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { - Context ctx = getContext(); - if (ctx != null) { - DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - quickActionRegistry.deleteQuickAction(action); - quickActionRegistry.notifyUpdates(); - - dialog.dismiss(); - dismiss(); - } - }; - showConfirmActionDeleteDialog(ctx, action, !isLightContent, listener); - } + showConfirmDeleteAnActionBottomSheet( + getActivity(), CreateEditActionDialog.this, + action, false); return true; } }); @@ -296,4 +286,11 @@ public class CreateEditActionDialog extends DialogFragment implements CallbackWi } return false; } + + @Override + public void onConfirmButtonClick() { + quickActionRegistry.deleteQuickAction(action); + quickActionRegistry.notifyUpdates(); + dismiss(); + } } diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java index 5c6781fbc5..1005caac2c 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java @@ -1,25 +1,32 @@ package net.osmand.plus.quickaction; import android.content.Context; -import android.content.DialogInterface; +import android.graphics.Typeface; +import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; +import android.text.SpannableString; +import android.text.style.StyleSpan; import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.widget.CompoundButton; +import android.widget.FrameLayout; import android.widget.ImageView; -import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.SwitchCompat; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import androidx.core.view.MotionEventCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -32,59 +39,81 @@ import net.osmand.plus.R; import net.osmand.plus.UiUtilities; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.BaseOsmAndFragment; +import net.osmand.plus.settings.backend.ApplicationMode; +import net.osmand.plus.views.MapQuickActionLayer; import net.osmand.plus.views.controls.ReorderItemTouchHelperCallback; import net.osmand.plus.views.controls.ReorderItemTouchHelperCallback.OnItemMoveCallback; import net.osmand.plus.views.controls.ReorderItemTouchHelperCallback.UnmovableItem; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; -import static net.osmand.AndroidUtils.dpToPx; +import static net.osmand.plus.UiUtilities.CompoundButtonType.TOOLBAR; /** * Created by okorsun on 20.12.16. */ -public class QuickActionListFragment extends BaseOsmAndFragment implements QuickActionRegistry.QuickActionUpdatesListener { +public class QuickActionListFragment extends BaseOsmAndFragment + implements QuickActionRegistry.QuickActionUpdatesListener, + ConfirmationBottomSheet.OnConfirmButtonClickListener { public static final String TAG = QuickActionListFragment.class.getSimpleName(); public static final String FROM_DASHBOARD_KEY = "from_dashboard"; + public static final String ACTIONS_TO_DELETE_KEY = "actions_to_delete"; + public static final String SCREEN_TYPE_KEY = "screen_type"; - private RecyclerView quickActionRV; + private static final int REORDER_SCREEN_TYPE = 0; + private static final int DELETING_SCREEN_TYPE = 1; + + private static final int ITEMS_IN_GROUP = 6; + + private RecyclerView rv; private FloatingActionButton fab; + private View bottomPanel; + private Toolbar toolbar; + private View toolbarSwitchContainer; + private ImageView navigationIcon; + private ImageView deleteIconInToolbar; private QuickActionAdapter adapter; private ItemTouchHelper touchHelper; private QuickActionRegistry quickActionRegistry; + private ArrayList actionsToDelete = new ArrayList<>(); + private int screenType = REORDER_SCREEN_TYPE; private boolean fromDashboard; - private boolean isLightContent; + private boolean nightMode; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) { fromDashboard = savedInstanceState.getBoolean(FROM_DASHBOARD_KEY, false); + actionsToDelete = savedInstanceState.getStringArrayList(ACTIONS_TO_DELETE_KEY); + screenType = savedInstanceState.getInt(SCREEN_TYPE_KEY, REORDER_SCREEN_TYPE); } } @Nullable @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - isLightContent = getMyApplication().getSettings().isLightContent(); + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + OsmandApplication app = requireMyApplication(); + nightMode = !app.getSettings().isLightContent(); - View view = UiUtilities.getInflater(getContext(), !isLightContent).inflate(R.layout.quick_action_list, container, false); + View view = UiUtilities.getInflater(getContext(), nightMode).inflate(R.layout.quick_action_list, container, false); - quickActionRV = (RecyclerView) view.findViewById(R.id.recycler_view); + rv = (RecyclerView) view.findViewById(R.id.recycler_view); fab = (FloatingActionButton) view.findViewById(R.id.fabButton); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - AddQuickActionDialog dialog = new AddQuickActionDialog(); - dialog.show(getFragmentManager(), AddQuickActionDialog.TAG); + showAddQuickActionDialog(); } }); @@ -92,61 +121,257 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick AndroidUtils.addStatusBarPadding21v(getContext(), view); } - return view; - } + bottomPanel = view.findViewById(R.id.bottom_panel); + View btnSelectAll = bottomPanel.findViewById(R.id.select_all); + View btnDelete = bottomPanel.findViewById(R.id.delete); - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); + btnSelectAll.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + actionsToDelete = new ArrayList<>(); + for (QuickAction action : adapter.getQuickActions()) { + String id = String.valueOf(action.id); + actionsToDelete.add(id); + } + updateListItems(); + updateToolbarTitle(); + } + }); - quickActionRegistry = getMyApplication().getQuickActionRegistry(); + btnDelete.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + showConfirmDeleteActionsBottomSheet(getMapActivity()); + } + }); + UiUtilities.setupDialogButton(nightMode, btnDelete, + UiUtilities.DialogButtonType.SECONDARY, R.string.shared_string_delete); - setUpToolbar(view); - setUpQuickActionRV(); - } + quickActionRegistry = requireMyApplication().getQuickActionRegistry(); + + toolbar = (Toolbar) view.findViewById(R.id.toolbar); + navigationIcon = toolbar.findViewById(R.id.close_button); + deleteIconInToolbar = toolbar.findViewById(R.id.action_button); + toolbarSwitchContainer = toolbar.findViewById(R.id.toolbar_switch_container); + setUpToolbar(); - private void setUpQuickActionRV() { adapter = new QuickActionAdapter(new OnStartDragListener() { @Override public void onStartDrag(RecyclerView.ViewHolder viewHolder) { touchHelper.startDrag(viewHolder); } }); - quickActionRV.setAdapter(adapter); - quickActionRV.setLayoutManager(new LinearLayoutManager(getContext())); + rv.setAdapter(adapter); + rv.setLayoutManager(new LinearLayoutManager(getContext())); ItemTouchHelper.Callback touchHelperCallback = new ReorderItemTouchHelperCallback(adapter); touchHelper = new ItemTouchHelper(touchHelperCallback); - touchHelper.attachToRecyclerView(quickActionRV); - adapter.addItems(quickActionRegistry.getFilteredQuickActions()); + touchHelper.attachToRecyclerView(rv); - quickActionRV.addOnScrollListener(new RecyclerView.OnScrollListener() { + rv.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { - if (dy > 0 && fab.getVisibility() == View.VISIBLE) - fab.hide(); - else if (dy < 0 && fab.getVisibility() != View.VISIBLE) - fab.show(); + if (screenType == REORDER_SCREEN_TYPE) { + if (dy > 0 && fab.getVisibility() == View.VISIBLE) + fab.hide(); + else if (dy < 0 && fab.getVisibility() != View.VISIBLE) + fab.show(); + } } }); + updateListItems(); + updateVisibility(); + return view; } - private void setUpToolbar(View view) { - Toolbar toolbar = (Toolbar) view.findViewById(R.id.custom_toolbar); + private void setUpToolbar() { + final OsmandApplication app = requireMyApplication(); + TextView tvTitle = toolbar.findViewById(R.id.toolbar_title); + tvTitle.setTextColor(ContextCompat.getColor(app, + nightMode ? R.color.text_color_primary_dark : R.color.color_white)); + boolean isWidgetVisibleOnMap = app.getQuickActionRegistry().isQuickActionOn(); + updateToolbarTitle(); + updateToolbarNavigationIcon(); + updateToolbarActionButton(); + updateToolbarSwitch(isWidgetVisibleOnMap); + } + + private void updateToolbarNavigationIcon() { OsmandApplication app = requireMyApplication(); - Drawable icBack = app.getUIUtilities().getIcon(AndroidUtils.getNavigationIconResId(app), - isLightContent ? R.color.active_buttons_and_links_text_light : R.color.active_buttons_and_links_text_dark); - toolbar.setNavigationIcon(icBack); - toolbar.setNavigationContentDescription(R.string.access_shared_string_navigate_up); - toolbar.setNavigationOnClickListener(new View.OnClickListener() { + + int activeButtonsColorResId = nightMode ? + R.color.active_buttons_and_links_text_dark : + R.color.active_buttons_and_links_text_light; + + if (screenType == REORDER_SCREEN_TYPE) { + Drawable icBack = app.getUIUtilities().getIcon( + AndroidUtils.getNavigationIconResId(app), + activeButtonsColorResId); + navigationIcon.setImageDrawable(icBack); + navigationIcon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + requireActivity().onBackPressed(); + } + }); + } else { + Drawable icClose = getIcon(R.drawable.ic_action_close, activeButtonsColorResId); + navigationIcon.setImageDrawable(icClose); + navigationIcon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + changeScreen(); + } + }); + } + } + + private void updateListItems() { + final MapActivity ma = getMapActivity(); + final OsmandApplication app = ma.getMyApplication(); + final List actions = quickActionRegistry.getFilteredQuickActions(); + + updateToolbarActionButton(); + List items = new ArrayList<>(); + if (actions.size() > 0) { + items.add(new ListItem(ItemType.LIST_DIVIDER)); + int screen = 0; + for (int i = 0; i < actions.size(); i++) { + if (i % ITEMS_IN_GROUP == 0) { + items.add(new ListItem(ItemType.HEADER, ++screen)); + } + items.add(new ListItem(ItemType.ACTION, actions.get(i))); + } + } + if (screenType == REORDER_SCREEN_TYPE) { + items.add(new ListItem(ItemType.LIST_DIVIDER)); + String promo = app.getString(R.string.export_import_quick_actions_with_profiles_promo); + items.add(new ListItem(ItemType.DESCRIPTION, promo)); + items.add(new ListItem(ItemType.BUTTON, + new ControlButton(getString(R.string.quick_action_new_action), + R.drawable.ic_action_plus, + new View.OnClickListener() { + @Override + public void onClick(View view) { + showAddQuickActionDialog(); + } + }))); + items.add(new ListItem(ItemType.BUTTON, + new ControlButton(getString(R.string.shared_string_delete_all), + R.drawable.ic_action_delete_dark, + new View.OnClickListener() { + @Override + public void onClick(View view) { + actionsToDelete = new ArrayList<>(); + for (ListItem item : adapter.items) { + if (item.type == ItemType.ACTION) { + QuickAction action = (QuickAction) item.value; + actionsToDelete.add(String.valueOf(action.id)); + } + } + showConfirmDeleteActionsBottomSheet(ma); + } + }))); + } + items.add(new ListItem(ItemType.BOTTOM_SHADOW)); + adapter.setItems(items); + } + + private void updateVisibility() { + if (screenType == REORDER_SCREEN_TYPE) { + fab.setVisibility(View.VISIBLE); + bottomPanel.setVisibility(View.GONE); + toolbarSwitchContainer.setVisibility(View.VISIBLE); + deleteIconInToolbar.setVisibility(View.VISIBLE); + } else { + fab.setVisibility(View.GONE); + bottomPanel.setVisibility(View.VISIBLE); + toolbarSwitchContainer.setVisibility(View.GONE); + deleteIconInToolbar.setVisibility(View.GONE); + } + } + + private void changeScreen() { + actionsToDelete = new ArrayList<>(); + screenType = screenType == REORDER_SCREEN_TYPE ? + DELETING_SCREEN_TYPE : REORDER_SCREEN_TYPE; + updateToolbarTitle(); + updateToolbarNavigationIcon(); + updateListItems(); + updateVisibility(); + } + + private void updateToolbarActionButton() { + OsmandApplication app = requireMyApplication(); + ImageView deletingModeIcon = toolbar.findViewById(R.id.action_button); + int activeButtonsColorResId = nightMode ? + R.color.active_buttons_and_links_text_dark : + R.color.active_buttons_and_links_text_light; + boolean hasActiveQuickActions = quickActionRegistry.getQuickActions().size() > 0; + int activeColor = ContextCompat.getColor(app, activeButtonsColorResId); + int deleteIconColor = hasActiveQuickActions ? activeColor : + UiUtilities.getColorWithAlpha(activeColor, 0.25f); + Drawable deleteIcon = getPaintedContentIcon( + R.drawable.ic_action_delete_dark, deleteIconColor); + deletingModeIcon.setImageDrawable(deleteIcon); + deletingModeIcon.setOnClickListener(new View.OnClickListener() { @Override - public void onClick(View v) { - getActivity().onBackPressed(); + public void onClick(View view) { + changeScreen(); } }); - toolbar.setTitle(R.string.configure_screen_quick_action); - toolbar.setTitleTextColor(ContextCompat.getColor(getContext(), - isLightContent ? R.color.color_white : R.color.text_color_primary_dark)); + deletingModeIcon.setEnabled(hasActiveQuickActions); + } + + private void updateToolbarTitle() { + if (toolbar != null) { + TextView tvTitle = toolbar.findViewById(R.id.toolbar_title); + if (screenType == REORDER_SCREEN_TYPE) { + tvTitle.setText(getString(R.string.configure_screen_quick_action)); + } else { + int selectedCount = actionsToDelete != null ? actionsToDelete.size() : 0; + String title = String.format( + getString(R.string.shared_string_selected_n_with_colon), selectedCount); + tvTitle.setText(title); + } + } + } + + private void updateToolbarSwitch(final boolean isChecked) { + OsmandApplication app = requireMyApplication(); + ApplicationMode appMode = app.getSettings().getApplicationMode(); + int profileColor = appMode.getIconColorInfo().getColor(nightMode); + int color = ContextCompat.getColor(app, isChecked ? profileColor : R.color.preference_top_switch_off); + AndroidUtils.setBackground(toolbarSwitchContainer, new ColorDrawable(color)); + + SwitchCompat switchView = toolbarSwitchContainer.findViewById(R.id.switchWidget); + switchView.setChecked(isChecked); + UiUtilities.setupCompoundButton(switchView, nightMode, TOOLBAR); + + toolbarSwitchContainer.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + boolean visible = !isChecked; + updateToolbarSwitch(visible); + setWidgetVisibilityOnMap(visible); + } + }); + + TextView title = toolbarSwitchContainer.findViewById(R.id.switchButtonText); + title.setText(isChecked ? R.string.shared_string_enabled : R.string.shared_string_disabled); + } + + private void setWidgetVisibilityOnMap(boolean visible) { + OsmandApplication app = requireMyApplication(); + app.getQuickActionRegistry().setQuickActionFabState(visible); + + MapActivity activity = getMapActivity(); + if (activity != null) { + MapQuickActionLayer mil = activity.getMapLayers().getMapQuickActionLayer(); + if (mil != null) { + mil.refreshLayer(); + } + } } @Override @@ -169,11 +394,13 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); outState.putBoolean(FROM_DASHBOARD_KEY, fromDashboard); + outState.putStringArrayList(ACTIONS_TO_DELETE_KEY, actionsToDelete); + outState.putInt(SCREEN_TYPE_KEY, screenType); } @Override public int getStatusBarColorId() { - return isLightContent ? R.color.status_bar_color_light : R.color.status_bar_color_dark; + return nightMode ? R.color.status_bar_color_dark : R.color.status_bar_color_light; } private MapActivity getMapActivity() { @@ -184,38 +411,27 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick quickActionRegistry.updateQuickActions(adapter.getQuickActions()); } - static void showConfirmActionDeleteDialog(Context ctx, QuickAction action, boolean nightMode, DialogInterface.OnClickListener listener) { - OsmandApplication app = (OsmandApplication) ctx.getApplicationContext(); - - AlertDialog.Builder builder = new AlertDialog.Builder(UiUtilities.getThemedContext(ctx, nightMode)); - builder.setTitle(R.string.quick_actions_delete); - builder.setMessage(app.getString(R.string.quick_actions_delete_text, ctx.getString(action.getNameRes()))); - builder.setIcon(app.getUIUtilities().getThemedIcon(R.drawable.ic_action_delete_dark)); - builder.setPositiveButton(R.string.shared_string_yes, listener); - builder.setNegativeButton(R.string.shared_string_no, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog dialog = builder.show(); - int activeColorId = nightMode ? R.color.active_color_primary_dark : R.color.active_color_primary_light; - int activeColor = ContextCompat.getColor(ctx, activeColorId); - dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(activeColor); - dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(activeColor); + @Override + public void onActionsUpdated() { + updateListItems(); } @Override - public void onActionsUpdated() { - adapter.addItems(quickActionRegistry.getFilteredQuickActions()); + public void onConfirmButtonClick() { + if (adapter != null && actionsToDelete != null) { + adapter.deleteItems(actionsToDelete); + actionsToDelete = new ArrayList<>(); + if (screenType == DELETING_SCREEN_TYPE) { + changeScreen(); + } else { + updateToolbarActionButton(); + } + } } - public class QuickActionAdapter extends RecyclerView.Adapter implements OnItemMoveCallback { - public static final int SCREEN_ITEM_TYPE = 1; - public static final int SCREEN_HEADER_TYPE = 2; + private class QuickActionAdapter extends RecyclerView.Adapter implements OnItemMoveCallback { - private static final int ITEMS_IN_GROUP = 6; - - private List itemsList = new ArrayList<>(); + private List items = new ArrayList<>(); private final OnStartDragListener onStartDragListener; public QuickActionAdapter(OnStartDragListener onStartDragListener) { @@ -224,170 +440,235 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - LayoutInflater inflater = UiUtilities.getInflater(parent.getContext(), !isLightContent); - if (viewType == SCREEN_ITEM_TYPE) - return new QuickActionItemVH(inflater.inflate(R.layout.quick_action_list_item, parent, false)); - else - return new QuickActionHeaderVH(inflater.inflate(R.layout.quick_action_list_header, parent, false)); + Context themedCtx = UiUtilities.getThemedContext(parent.getContext(), nightMode); + LayoutInflater inflater = UiUtilities.getInflater(themedCtx, nightMode); + int listBgColor = ContextCompat.getColor(themedCtx, + AndroidUtils.resolveAttribute(themedCtx, R.attr.bg_color)); + ItemType type = viewType < ItemType.values().length ? ItemType.values()[viewType] : ItemType.LIST_DIVIDER; + View itemView; + switch (type) { + case ACTION: + itemView = inflater.inflate(R.layout.quick_action_list_item, parent, false); + return new QuickActionVH(itemView); + case HEADER: + itemView = inflater.inflate(R.layout.quick_action_list_header, parent, false); + return new QuickActionHeaderVH(itemView); + case DESCRIPTION: + itemView = inflater.inflate(R.layout.bottom_sheet_item_description_with_padding, parent, false); + itemView.setBackgroundColor(listBgColor); + return new DescriptionVH(itemView); + case LIST_DIVIDER: + itemView = inflater.inflate(R.layout.list_item_divider, parent, false); + return new ListDividerVH(itemView); + case BUTTON: + itemView = inflater.inflate(R.layout.preference_button, parent, false); + FrameLayout frame = new FrameLayout(themedCtx); + frame.setLayoutParams(new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); + frame.addView(itemView); + frame.setBackgroundColor(listBgColor); + return new ButtonVH(frame); + case BOTTOM_SHADOW: + itemView = inflater.inflate(R.layout.card_bottom_divider, parent, false); + final int spaceHeight = getResources() + .getDimensionPixelSize(R.dimen.bottom_sheet_big_item_height); + itemView.setMinimumHeight(spaceHeight); + return new BottomShadowVH(itemView); + default: + throw new IllegalArgumentException("Unsupported view type"); + } } @Override public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { - int viewType = getItemViewType(position); - final QuickAction item = QuickActionRegistry.produceAction(itemsList.get(position)); + OsmandApplication app = requireMyApplication(); + ListItem item = items.get(position); + int activeColorResId = nightMode ? + R.color.active_color_primary_dark : R.color.active_color_primary_light; - if (viewType == SCREEN_ITEM_TYPE) { - final QuickActionItemVH itemVH = (QuickActionItemVH) holder; - Context ctx = getContext(); - itemVH.title.setText(item.getName(ctx)); - itemVH.subTitle.setText(getResources().getString(R.string.quick_action_item_action, getActionPosition(position))); - itemVH.icon.setImageDrawable(getMyApplication().getUIUtilities().getThemedIcon(item.getIconRes(ctx))); - itemVH.handleView.setOnTouchListener(new View.OnTouchListener() { - @Override - public boolean onTouch(View v, MotionEvent event) { - if (MotionEventCompat.getActionMasked(event) == - MotionEvent.ACTION_DOWN) { - onStartDragListener.onStartDrag(itemVH); + if (holder instanceof QuickActionVH) { + final QuickActionVH h = (QuickActionVH) holder; + final QuickAction action = (QuickAction) item.value; + + if (screenType == REORDER_SCREEN_TYPE) { + h.handleView.setVisibility(View.VISIBLE); + h.deleteBtn.setVisibility(View.VISIBLE); + h.checkbox.setVisibility(View.GONE); + + h.handleView.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + if (MotionEventCompat.getActionMasked(event) == + MotionEvent.ACTION_DOWN) { + onStartDragListener.onStartDrag(h); + } + return false; } - return false; - } - }); - itemVH.closeBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Context ctx = getContext(); - if (ctx != null) { - DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - adapter.deleteItem(holder.getAdapterPosition()); - dialog.dismiss(); - } - }; - showConfirmActionDeleteDialog(ctx, item, !isLightContent, listener); + }); + + h.deleteBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + actionsToDelete = new ArrayList<>(); + actionsToDelete.add(String.valueOf(action.id)); + showConfirmDeleteAnActionBottomSheet(getActivity(), + QuickActionListFragment.this, action, nightMode); } - } - }); + }); - itemVH.container.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - CreateEditActionDialog dialog = CreateEditActionDialog.newInstance(item.id); - dialog.show(getFragmentManager(), AddQuickActionDialog.TAG); - } - }); + h.itemContainer.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + CreateEditActionDialog dialog = CreateEditActionDialog.newInstance(action.id); + dialog.show(getFragmentManager(), AddQuickActionDialog.TAG); + } + }); - LinearLayout.LayoutParams dividerParams = (LinearLayout.LayoutParams) itemVH.divider.getLayoutParams(); - //noinspection ResourceType - dividerParams.setMargins(!isLongDivider(position) ? dpToPx(ctx, 56f) : 0, 0, 0, 0); - itemVH.divider.setLayoutParams(dividerParams); - } else { - QuickActionHeaderVH headerVH = (QuickActionHeaderVH) holder; - headerVH.headerName.setText(getResources().getString(R.string.quick_action_item_screen, position / (ITEMS_IN_GROUP + 1) + 1)); + } else { + h.handleView.setVisibility(View.GONE); + h.deleteBtn.setVisibility(View.GONE); + h.checkbox.setVisibility(View.VISIBLE); + + h.checkbox.setClickable(false); + + h.itemContainer.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String id = String.valueOf(action.id); + boolean isChecked = actionsToDelete.contains(id); + h.checkbox.setChecked(!isChecked); + if (!isChecked) { + actionsToDelete.add(id); + } else { + actionsToDelete.remove(id); + } + updateToolbarTitle(); + } + }); + + String id = String.valueOf(action.id); + h.checkbox.setChecked(actionsToDelete.contains(id)); + } + + List actions = getQuickActions(); + int actionGlobalPosition = actions.indexOf(action); + int actionPosition = actionGlobalPosition % ITEMS_IN_GROUP + 1; + h.title.setText(action.getName(app)); + h.subTitle.setText(getResources().getString(R.string.quick_action_item_action, actionPosition)); + h.icon.setImageDrawable(getContentIcon(action.getIconRes(app))); + + boolean lastActionInList = actionGlobalPosition == actions.size() - 1; + boolean lastOnScreen = actionPosition == ITEMS_IN_GROUP; + if (!lastActionInList) { + if (lastOnScreen) { + h.itemDivider.setVisibility(View.GONE); + h.longDivider.setVisibility(View.VISIBLE); + } else { + h.itemDivider.setVisibility(View.VISIBLE); + h.longDivider.setVisibility(View.GONE); + } + } else { + h.itemDivider.setVisibility(View.GONE); + h.longDivider.setVisibility(View.GONE); + } + } else if (holder instanceof QuickActionHeaderVH){ + QuickActionHeaderVH h = (QuickActionHeaderVH) holder; + String title = String.format( + getResources().getString(R.string.quick_action_item_screen), + position / (ITEMS_IN_GROUP + 1) + 1); + h.headerName.setText(title); + } else if (holder instanceof ButtonVH) { + ControlButton buttonInfo = (ControlButton) item.value; + ButtonVH h = (ButtonVH) holder; + h.container.setOnClickListener(buttonInfo.listener); + h.title.setText(buttonInfo.title); + int iconColor = ContextCompat.getColor(app, activeColorResId); + int titleColor = ContextCompat.getColor(app, activeColorResId); + if (buttonInfo.iconRes == R.drawable.ic_action_delete_dark) { + boolean hasActiveActions = getQuickActions().size() > 0; + h.container.setEnabled(hasActiveActions); + int deleteAllIconColor = ContextCompat.getColor(app, R.color.color_osm_edit_delete); + iconColor = hasActiveActions ? deleteAllIconColor : UiUtilities.getColorWithAlpha(deleteAllIconColor, 0.25f); + titleColor = hasActiveActions ? titleColor : UiUtilities.getColorWithAlpha(titleColor, 0.25f); + h.divider.setVisibility(View.GONE); + } else { + h.container.setEnabled(true); + h.divider.setVisibility(View.VISIBLE); + } + h.icon.setImageDrawable(getPaintedContentIcon(buttonInfo.iconRes, iconColor)); + h.title.setTextColor(titleColor); + Drawable background = UiUtilities.getColoredSelectableDrawable(app, + ContextCompat.getColor(app, activeColorResId), 0.3f); + View selectableView = h.container.findViewById(R.id.selectable_list_item); + AndroidUtils.setBackground(selectableView, background); + } else if (holder instanceof DescriptionVH) { + String description = (String) item.value; + ((DescriptionVH) holder).tvDescription.setText(description); } } @Override public int getItemCount() { - return itemsList.size(); + return items.size(); } @Override public int getItemViewType(int position) { - return itemsList.get(position).getType() == 0 ? SCREEN_HEADER_TYPE : SCREEN_ITEM_TYPE; + ListItem item = items.get(position); + return item.type.ordinal(); } - public void deleteItem(int position) { - if (position == -1 || position >= itemsList.size()) - return; - - itemsList.remove(position); - notifyItemRemoved(position); - - moveHeaders(position); - showFABIfNotScrollable(); - saveQuickActions(); - } - - private void moveHeaders(int position) { - for (int i = position; i < itemsList.size(); i++) { - if (getItemViewType(i) == SCREEN_HEADER_TYPE) { - if (i != itemsList.size() - 2) { - Collections.swap(itemsList, i, i + 1); - notifyItemMoved(i, i + 1); - i++; - } else { - itemsList.remove(i); - notifyItemRemoved(i); + public void deleteItems(List actionsToDelete) { + if (actionsToDelete != null && actionsToDelete.size() > 0) { + Iterator it = items.iterator(); + while (it.hasNext()) { + ListItem item = it.next(); + if (item.type == ItemType.ACTION) { + for (String actionId : actionsToDelete) { + QuickAction qa = (QuickAction) item.value; + if (actionId != null) { + if (qa.getId() == Long.parseLong(actionId)) { + it.remove(); + break; + } + } + } } } - } - notifyItemRangeChanged(position, itemsList.size() - position); - - int lastPosition = itemsList.size() - 1; - if (getItemViewType(lastPosition) == SCREEN_HEADER_TYPE) { - itemsList.remove(lastPosition); - notifyItemRemoved(lastPosition); + saveQuickActions(); + updateListItems(); + showFABIfNotScrollable(); } } private void showFABIfNotScrollable() { - LinearLayoutManager layoutManager = (LinearLayoutManager) quickActionRV.getLayoutManager(); + LinearLayoutManager layoutManager = (LinearLayoutManager) rv.getLayoutManager(); int lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition(); - if ((lastVisibleItemPosition == itemsList.size() - 1 || lastVisibleItemPosition == itemsList.size()) && + if (screenType == REORDER_SCREEN_TYPE && + (lastVisibleItemPosition == items.size() - 1 + || lastVisibleItemPosition == items.size()) && layoutManager.findFirstVisibleItemPosition() == 0 && fab.getVisibility() != View.VISIBLE || - itemsList.size() == 0) + items.size() == 0) fab.show(); } public List getQuickActions() { List result = new ArrayList<>(); - for (int i = 0; i < itemsList.size(); i++) { - if (getItemViewType(i) == SCREEN_ITEM_TYPE) - result.add(itemsList.get(i)); + for (ListItem item : items) { + if (item.type == ItemType.ACTION) { + result.add((QuickAction) item.value); + } } return result; } - public void addItems(List data) { - List resultList = new ArrayList<>(); - for (int i = 0; i < data.size(); i++) { - if (i % ITEMS_IN_GROUP == 0) - resultList.add(createHeader()); - - resultList.add(data.get(i)); - } - - itemsList = resultList; - notifyDataSetChanged(); - } - - public void addItem(QuickAction item) { - int oldSize = itemsList.size(); - if (oldSize % (ITEMS_IN_GROUP + 1) == 0) - itemsList.add(createHeader()); - itemsList.add(item); - notifyItemRangeInserted(oldSize, itemsList.size() - oldSize); - } - - private QuickAction createHeader() { - return new QuickAction(); - } - - private int getActionPosition(int globalPosition) { - return globalPosition % (ITEMS_IN_GROUP + 1); - } - - private boolean isLongDivider(int globalPosition) { - return getActionPosition(globalPosition) == ITEMS_IN_GROUP || globalPosition == getItemCount() - 1; - } - @Override public boolean onItemMove(int selectedPosition, int targetPosition) { Log.v(TAG, "selected: " + selectedPosition + ", target: " + targetPosition); - Collections.swap(itemsList, selectedPosition, targetPosition); + Collections.swap(items, selectedPosition, targetPosition); if (selectedPosition - targetPosition < -1) { notifyItemMoved(selectedPosition, targetPosition); notifyItemMoved(targetPosition - 1, selectedPosition); @@ -407,32 +688,42 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick saveQuickActions(); } - public class QuickActionItemVH extends RecyclerView.ViewHolder { + public void setItems(List items) { + this.items = items; + notifyDataSetChanged(); + } + + private class QuickActionVH extends RecyclerView.ViewHolder { public TextView title; public TextView subTitle; public ImageView icon; - public View divider; + public View itemDivider; + public View longDivider; public ImageView handleView; - public ImageView closeBtn; - public View container; + public ImageView deleteBtn; + public CompoundButton checkbox; + public View itemContainer; - public QuickActionItemVH(View itemView) { + public QuickActionVH(View itemView) { super(itemView); -// AndroidUtils.setListItemBackground(itemView.getContext(), itemView, getMyApplication().getDaynightHelper().isNightMode()); + OsmandApplication app = requireMyApplication(); title = (TextView) itemView.findViewById(R.id.title); subTitle = (TextView) itemView.findViewById(R.id.subtitle); icon = (ImageView) itemView.findViewById(R.id.imageView); - divider = itemView.findViewById(R.id.divider); - handleView = (ImageView) itemView.findViewById(R.id.handle_view); - closeBtn = (ImageView) itemView.findViewById(R.id.closeImageButton); - container = itemView.findViewById(R.id.searchListItemLayout); + itemDivider = itemView.findViewById(R.id.item_divider); + longDivider = itemView.findViewById(R.id.long_divider); + deleteBtn = (ImageView) itemView.findViewById(R.id.action_icon); + handleView = (ImageView) itemView.findViewById(R.id.move_icon); + checkbox = (CompoundButton) itemView.findViewById(R.id.checkbox); + itemContainer = itemView.findViewById(R.id.searchListItemLayout); - handleView.setImageDrawable(getMyApplication().getUIUtilities().getThemedIcon(R.drawable.ic_action_item_move)); - closeBtn.setImageDrawable(getMyApplication().getUIUtilities().getThemedIcon(R.drawable.ic_action_remove_dark)); + deleteBtn.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_remove, R.color.color_osm_edit_delete)); + handleView.setImageDrawable(app.getUIUtilities().getThemedIcon(R.drawable.ic_action_item_move)); + UiUtilities.setupCompoundButton(checkbox, nightMode, UiUtilities.CompoundButtonType.GLOBAL); } } - public class QuickActionHeaderVH extends RecyclerView.ViewHolder implements UnmovableItem { + private class QuickActionHeaderVH extends RecyclerView.ViewHolder implements UnmovableItem { public TextView headerName; @@ -446,6 +737,105 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick return true; } } + + private class DescriptionVH extends RecyclerView.ViewHolder + implements ReorderItemTouchHelperCallback.UnmovableItem { + + private TextView tvDescription; + + public DescriptionVH(View itemView) { + super(itemView); + tvDescription = itemView.findViewById(R.id.description); + } + + @Override + public boolean isMovingDisabled() { + return true; + } + } + + private class ListDividerVH extends RecyclerView.ViewHolder + implements ReorderItemTouchHelperCallback.UnmovableItem { + + public ListDividerVH(View itemView) { + super(itemView); + } + + @Override + public boolean isMovingDisabled() { + return true; + } + } + + private class BottomShadowVH extends RecyclerView.ViewHolder + implements ReorderItemTouchHelperCallback.UnmovableItem { + + public BottomShadowVH(View itemView) { + super(itemView); + } + + @Override + public boolean isMovingDisabled() { + return true; + } + } + + private class ButtonVH extends RecyclerView.ViewHolder + implements ReorderItemTouchHelperCallback.UnmovableItem { + + private View container; + private ImageView icon; + private TextView title; + private View divider; + + public ButtonVH(View itemView) { + super(itemView); + container = itemView; + icon = itemView.findViewById(android.R.id.icon); + title = itemView.findViewById(android.R.id.title); + divider = itemView.findViewById(R.id.divider); + } + + @Override + public boolean isMovingDisabled() { + return true; + } + } + } + + protected enum ItemType { + ACTION, + HEADER, + DESCRIPTION, + LIST_DIVIDER, + BOTTOM_SHADOW, + BUTTON + } + + private static class ListItem { + ItemType type; + Object value; + + public ListItem(ItemType type) { + this.type = type; + } + + public ListItem(ItemType type, Object value) { + this.type = type; + this.value = value; + } + } + + protected static class ControlButton { + private String title; + private int iconRes; + private View.OnClickListener listener; + + public ControlButton(String title, int iconRes, View.OnClickListener listener) { + this.title = title; + this.iconRes = iconRes; + this.listener = listener; + } } public boolean fromDashboard() { @@ -459,4 +849,35 @@ public class QuickActionListFragment extends BaseOsmAndFragment implements Quick public interface OnStartDragListener { void onStartDrag(RecyclerView.ViewHolder viewHolder); } + + private void showAddQuickActionDialog() { + FragmentManager fm = getFragmentManager(); + if (fm != null) { + AddQuickActionDialog dialog = new AddQuickActionDialog(); + dialog.show(fm, AddQuickActionDialog.TAG); + } + } + + private void showConfirmDeleteActionsBottomSheet(MapActivity ma) { + String message = String.format( + getString(R.string.delete_all_actions_message_q), + actionsToDelete.size()); + ConfirmationBottomSheet.showInstance(ma.getSupportFragmentManager(), + QuickActionListFragment.this, + getString(R.string.shared_string_delete_all_q), + message, R.string.shared_string_delete, false); + } + + static void showConfirmDeleteAnActionBottomSheet(FragmentActivity ctx, Fragment target, + QuickAction action, boolean usedOnMap) { + String actionName = action.getName(ctx); + String message = String.format(ctx.getString( + R.string.quick_actions_delete_text), actionName); + SpannableString styledMessage = UiUtilities.createSpannableString( + message, actionName, new StyleSpan(Typeface.BOLD)); + + ConfirmationBottomSheet.showInstance(ctx.getSupportFragmentManager(), target, + ctx.getString(R.string.quick_actions_delete), styledMessage, + R.string.shared_string_delete, usedOnMap); + } } diff --git a/OsmAnd/src/net/osmand/plus/widgets/TextViewEx.java b/OsmAnd/src/net/osmand/plus/widgets/TextViewEx.java index 8755462ac6..ea1ff0e935 100644 --- a/OsmAnd/src/net/osmand/plus/widgets/TextViewEx.java +++ b/OsmAnd/src/net/osmand/plus/widgets/TextViewEx.java @@ -14,7 +14,7 @@ import androidx.appcompat.text.AllCapsTransformationMethod; import net.osmand.plus.R; import net.osmand.plus.helpers.FontCache; -public class TextViewEx extends TextView { +public class TextViewEx extends androidx.appcompat.widget.AppCompatTextView { public TextViewEx(Context context) { super(context); } @@ -31,13 +31,6 @@ public class TextViewEx extends TextView { parseAttributes(this, attrs, defStyleAttr, 0); } - @TargetApi(21) - public TextViewEx(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - - parseAttributes(this, attrs, defStyleAttr, defStyleRes); - } - /*internal*/ static void parseAttributes(TextView target, AttributeSet attrs, int defStyleAttr, int defStyleRes) { if (attrs == null) { diff --git a/OsmAnd/src/net/osmand/plus/widgets/TextViewExProgress.java b/OsmAnd/src/net/osmand/plus/widgets/TextViewExProgress.java index a7a79088ee..e8819511dd 100644 --- a/OsmAnd/src/net/osmand/plus/widgets/TextViewExProgress.java +++ b/OsmAnd/src/net/osmand/plus/widgets/TextViewExProgress.java @@ -27,11 +27,6 @@ public class TextViewExProgress extends TextViewEx { initPaint(); } - public TextViewExProgress(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - initPaint(); - } - @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); From 4ffd5cb2e2d569d7273ecc681478b5e4202a90eb Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 25 May 2020 14:50:35 +0300 Subject: [PATCH 099/509] Add vector version of Actions menu icon --- OsmAnd/res/drawable/ic_actions_menu.xml | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 OsmAnd/res/drawable/ic_actions_menu.xml diff --git a/OsmAnd/res/drawable/ic_actions_menu.xml b/OsmAnd/res/drawable/ic_actions_menu.xml new file mode 100644 index 0000000000..4658db069c --- /dev/null +++ b/OsmAnd/res/drawable/ic_actions_menu.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + From 80358db2337d58c3379030d8eda1f3b2eca17353 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Mon, 25 May 2020 15:05:03 +0300 Subject: [PATCH 100/509] Add vector compass icons --- OsmAnd/res/drawable/ic_compass.xml | 13 +++++++++++++ OsmAnd/res/drawable/ic_compass_bearing.xml | 12 ++++++++++++ OsmAnd/res/drawable/ic_compass_bearing_white.xml | 12 ++++++++++++ OsmAnd/res/drawable/ic_compass_niu.xml | 12 ++++++++++++ OsmAnd/res/drawable/ic_compass_niu_white.xml | 12 ++++++++++++ OsmAnd/res/drawable/ic_compass_white.xml | 13 +++++++++++++ 6 files changed, 74 insertions(+) create mode 100644 OsmAnd/res/drawable/ic_compass.xml create mode 100644 OsmAnd/res/drawable/ic_compass_bearing.xml create mode 100644 OsmAnd/res/drawable/ic_compass_bearing_white.xml create mode 100644 OsmAnd/res/drawable/ic_compass_niu.xml create mode 100644 OsmAnd/res/drawable/ic_compass_niu_white.xml create mode 100644 OsmAnd/res/drawable/ic_compass_white.xml diff --git a/OsmAnd/res/drawable/ic_compass.xml b/OsmAnd/res/drawable/ic_compass.xml new file mode 100644 index 0000000000..03cf8d94db --- /dev/null +++ b/OsmAnd/res/drawable/ic_compass.xml @@ -0,0 +1,13 @@ + + + + diff --git a/OsmAnd/res/drawable/ic_compass_bearing.xml b/OsmAnd/res/drawable/ic_compass_bearing.xml new file mode 100644 index 0000000000..46be57b5d8 --- /dev/null +++ b/OsmAnd/res/drawable/ic_compass_bearing.xml @@ -0,0 +1,12 @@ + + + + diff --git a/OsmAnd/res/drawable/ic_compass_bearing_white.xml b/OsmAnd/res/drawable/ic_compass_bearing_white.xml new file mode 100644 index 0000000000..46be57b5d8 --- /dev/null +++ b/OsmAnd/res/drawable/ic_compass_bearing_white.xml @@ -0,0 +1,12 @@ + + + + diff --git a/OsmAnd/res/drawable/ic_compass_niu.xml b/OsmAnd/res/drawable/ic_compass_niu.xml new file mode 100644 index 0000000000..90bb87a71b --- /dev/null +++ b/OsmAnd/res/drawable/ic_compass_niu.xml @@ -0,0 +1,12 @@ + + + + diff --git a/OsmAnd/res/drawable/ic_compass_niu_white.xml b/OsmAnd/res/drawable/ic_compass_niu_white.xml new file mode 100644 index 0000000000..4e75ed5fa0 --- /dev/null +++ b/OsmAnd/res/drawable/ic_compass_niu_white.xml @@ -0,0 +1,12 @@ + + + + diff --git a/OsmAnd/res/drawable/ic_compass_white.xml b/OsmAnd/res/drawable/ic_compass_white.xml new file mode 100644 index 0000000000..db5bdd12d6 --- /dev/null +++ b/OsmAnd/res/drawable/ic_compass_white.xml @@ -0,0 +1,13 @@ + + + + From 8c9314de01e8a6c73415a594bfe64261ebc1c94f Mon Sep 17 00:00:00 2001 From: solokot Date: Mon, 25 May 2020 08:34:55 +0000 Subject: [PATCH 101/509] Translated using Weblate (Russian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ru/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index 7cef175d12..aaba7e07d4 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -3429,9 +3429,9 @@ Для использования этой функции требуется разрешение. Это низкоскоростной фильтр отсечки, чтобы не записывать точки ниже определённой скорости. Это может сделать записанные треки более гладкими при просмотре на карте. Упорядочить категории - Изменяйте порядок сортировки списка, скрывайте ненужные категории. Вы можете импортировать или экспортировать все изменения с профилями. - Вы можете добавить новую пользовательскую категорию, выбрав одну или несколько необходимых категорий. - Сброс к настройкам по умолчанию приведёт к сбросу порядка сортировки к настройкам по умолчанию после установки. + Изменяйте порядок сортировки списка, скрывайте категории. Вы можете импортировать или экспортировать все изменения с профилями. + Вы можете добавить новую пользовательскую категорию, выбрав одну или несколько категорий. + Сброс к настройкам по умолчанию приведёт к возврату порядка сортировки по умолчанию. Добавить пользовательскую категорию Показывать только ночью Все настройки плагина восстановлены до состояния по умолчанию. @@ -3441,8 +3441,8 @@ Восход в %1$s Режим специальных возможностей отключён в системе. Использовать системную блокировку экрана - По умолчанию отключено, если OsmAnd работает на переднем плане, экран не отключается. -\n + По умолчанию отключено: пока OsmAnd работает на переднем плане, экран не отключается. +\n \nЕсли включено, OsmAnd будет использовать системные настройки блокировки экрана. Очистить записанные данные • Профили: теперь вы можете изменить порядок, установить значок для карты, изменить все настройки для базовых профилей и вернуть их к настройкам по умолчанию From 7f491f5e8990c0496dec6fd05f4e5885fb2bf5ad Mon Sep 17 00:00:00 2001 From: Ldm Public Date: Mon, 25 May 2020 11:00:52 +0000 Subject: [PATCH 102/509] Translated using Weblate (French) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-fr/strings.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml index 35bee79f82..d527cf7d64 100644 --- a/OsmAnd/res/values-fr/strings.xml +++ b/OsmAnd/res/values-fr/strings.xml @@ -2125,10 +2125,10 @@ Emplacement Ce nom existe déjà, l\'action rapide a été renommée en %1$s. Nom d\'action rapide en double - Afficher / Masquer les favoris + Afficher / masquer les favoris Afficher les favoris Masquer les favoris - Afficher / Masquer les points d\'intérêt + Afficher / masquer les points d\'intérêt Afficher %1$s Masquer %1$s Ajouter une catégorie @@ -2649,7 +2649,7 @@ Copier l\'emplacement / le nom du point Emplacement sans nom Afficher les notes fermées - Afficher / Masquer les notes OSM sur la carte. + Afficher / masquer les notes OSM sur la carte. GPX - adapté à l\'export vers JOSM et d\'autres éditeurs OSM. OSC - adapté à l\'export vers OSM. Fichier GPX @@ -3345,11 +3345,11 @@ Bouton affichant ou masquant les courbes de niveaux sur la carte. Afficher les courbes de niveaux Masquer les courbes de niveaux - Afficher/Masquer les courbes de niveaux + Afficher / masquer les courbes de niveaux Bouton affichant ou masquant l\'ombrage du relief sur la carte. Afficher l\'ombrage du relief Masquer l\'ombrage du relief - Afficher/Masquer l\'ombrage du relief + Afficher / masquer l\'ombrage du relief Impossible de démarrer le moteur de synthèse vocale. Simulez votre position à l\'aide d\'une trace GPX enregistrée. Exporter le profil @@ -3472,9 +3472,9 @@ Modifiez l\'ordre de tri de la liste, masquez des catégories. Vous pouvez importer et exporter toutes vos modifications via les profils. Restaurer les valeurs par défaut réinitialisera l\'ordre de tri. Le mode d\'accessibilité est désactivé dans votre système Android. - Vous pouvez ajouter une catégorie personnelle en sélectionnant la ou les catégories souhaitées. - Utiliser le délai système pour mettre en veille l\'écran - Inactif par défaut (lorsqu\'OsmAnd s’exécute en avant-plan, l\'écran reste toujours allumé). + Vous pouvez ajouter une catégorie personnelle en sélectionnant une ou plusieurs catégories. + Utiliser le délai système de mise en veille de l\'écran + Inactif par défaut : lorsqu\'OsmAnd s’exécute en avant-plan, l\'écran reste toujours allumé. \n \nSi actif, OsmAnd utilisera le délai système pour mettre en veille l\'écran. Effacer les données enregistrées From 8d373da6a4d071fe8bc1815fe52f8934f320e8ac Mon Sep 17 00:00:00 2001 From: Onkar Shinde Date: Mon, 25 May 2020 18:20:45 +0000 Subject: [PATCH 103/509] Translated using Weblate (Marathi) Currently translated at 12.2% (410 of 3341 strings) --- OsmAnd/res/values-mr/strings.xml | 852 +++++++++++++++---------------- 1 file changed, 403 insertions(+), 449 deletions(-) diff --git a/OsmAnd/res/values-mr/strings.xml b/OsmAnd/res/values-mr/strings.xml index a1d76364ab..a7f347d7d4 100644 --- a/OsmAnd/res/values-mr/strings.xml +++ b/OsmAnd/res/values-mr/strings.xml @@ -1,373 +1,334 @@ -डाव्या बाजूने ड्रायव्हिंग - अजून स्थान माहित नाही - पारदर्शकता बदला (० - पारदर्शक, २५५ - अपारदर्शक) - फाइल डाउनलोड थांबवायचे का? - ऑनलाइन नकाशे (टाइल्स) - साधारण नकाशे (वेक्टर) - ऑनलाइन नकाशे (टाइल्स) - ऑनलाइन नकाशे वापरा (डाउनलोड करून एसडी कार्ड वार साठवा) - ऑनलाइन नकाशे - Configure online or cached tile map sources - - प्लगिन्स - प्लगिन्स - निवडलेल्या आवाजाची वाक्ये ऐकवा - आवाज तपासा - जिपीएक्स फाइल्स ओएसएम ला पाठवायच्या का? - वर्णन - जीपीएक्स फाइल्स अपलोड करण्यासाठी ओएसएम युजरनेम आणि पासवर्ड सांगा. - सहाय्य - नविन वैशिठ्यासाठी सहाय्य करा - - पट्टी दाखवा - माहिती - मदत - - चालू - बंद - पुन्हा मेनूकडे - झूम कमी करा - झूम वाढवा - झूम लेवल आहे - उत्तर - इशान्य-उत्तर - इशान्य - इशान्य-पुर्व - पुर्व - आग्नेय-पुर्व - आग्नेय - आग्नेय-दक्षिण - दक्षिण - नैऋत्य-दक्षिण - नैऋत्य - नैऋत्य-पश्चिम - पश्चिम - वायव्य-पश्चिम - वायव्य - वायव्य-उत्तर - पुढचा - पुढील उजवा - उजवीकडे - मागील उजवा - मागे - मागील डावा - डावीकडे - पुढील डावा - वाजता - कडे - अचूकता - उंची - काहि माहिती नाही - बाजूप्रमाणे (८ भाग) - घड्याळासारखे (१२ भाग) - दिशांचा प्रकार - मी इथे आहे - निवडलेले क्षेत्र दाखवण्यासाठी पुरेशी प्रोसेस मेमरी नाही - अपलोड करत आहे … - {0} पीओआय/नोट्स अपलोड झाले - - बदल ओएसएम मधे अपलोड करा - बदल काढून टाका - - निशुल्क व्हर्जन - पिओआय वर्णन दाखवा - उत्तर अमेरिका - उत्तर अमेरिका - युनायटेड स्टेट्स - मध्य अमेरिका - दक्षिण अमेरिका - युरोप - युरोप - फ्रान्स - युरोप - जर्मनी - रशिया - अफ्रिका - आशिया - ऑस्ट्रेलिया आणि ओशेनिया - विकिपेडिया (ऑफलाइन) - - दिशादर्शन - दिशादर्शनाचे पर्याय ठरवा - ऑफलाइन डेटा (डाउनलोड) - सर्वसाधारण पर्याय - तुमचे ओएसएम युजरनेम - तुमचा ओएसएम पासवर्ड - - %1$s एमबी डाउनलोड करण्यसाठी पुरेशी जागा शिल्लक नाही (शिल्लक जागा: %2$s). - {0} फाइल डाउनलोड करायच्या का? + + + डाव्या बाजूने ड्रायव्हिंग + अजून स्थान माहित नाही + पारदर्शकता बदला (० - पारदर्शक, २५५ - अपारदर्शक) + फाइल डाउनलोड थांबवायचे का? + ऑनलाइन नकाशे (टाइल्स) + साधारण नकाशे (वेक्टर) + ऑनलाइन नकाशे (टाइल्स) + ऑनलाइन नकाशे वापरा (डाउनलोड करून एसडी कार्ड वार साठवा) + ऑनलाइन नकाशे + Configure online or cached tile map sources + प्लगिन्स + प्लगिन्स + निवडलेल्या आवाजाची वाक्ये ऐकवा + आवाज तपासा + जिपीएक्स फाइल्स ओएसएम ला पाठवायच्या का? + वर्णन + जीपीएक्स फाइल्स अपलोड करण्यासाठी ओएसएम युजरनेम आणि पासवर्ड सांगा. + सहाय्य + नविन वैशिठ्यासाठी सहाय्य करा + पट्टी दाखवा + माहिती + मदत + चालू + बंद + पुन्हा मेनूकडे + झूम कमी करा + झूम वाढवा + झूम लेवल आहे + उत्तर + इशान्य-उत्तर + इशान्य + इशान्य-पुर्व + पुर्व + आग्नेय-पुर्व + आग्नेय + आग्नेय-दक्षिण + दक्षिण + नैऋत्य-दक्षिण + नैऋत्य + नैऋत्य-पश्चिम + पश्चिम + वायव्य-पश्चिम + वायव्य + वायव्य-उत्तर + पुढचा + पुढील उजवा + उजवीकडे + मागील उजवा + मागे + मागील डावा + डावीकडे + पुढील डावा + वाजता + कडे + अचूकता + उंची + काहि माहिती नाही + बाजूप्रमाणे (८ भाग) + घड्याळासारखे (१२ भाग) + दिशांचा प्रकार + मी इथे आहे + निवडलेले क्षेत्र दाखवण्यासाठी पुरेशी प्रोसेस मेमरी नाही + अपलोड करत आहे … + {0} पीओआय/नोट्स अपलोड झाले + बदल ओएसएम मधे अपलोड करा + बदल काढून टाका + निशुल्क व्हर्जन + पिओआय वर्णन दाखवा + उत्तर अमेरिका + उत्तर अमेरिका - युनायटेड स्टेट्स + मध्य अमेरिका + दक्षिण अमेरिका + युरोप + युरोप - फ्रान्स + युरोप - जर्मनी + रशिया + अफ्रिका + आशिया + ऑस्ट्रेलिया आणि ओशेनिया + विकिपेडिया (ऑफलाइन) + दिशादर्शन + दिशादर्शनाचे पर्याय ठरवा + ऑफलाइन डेटा (डाउनलोड) + सर्वसाधारण पर्याय + तुमचे ओएसएम युजरनेम + तुमचा ओएसएम पासवर्ड + %1$s एमबी डाउनलोड करण्यसाठी पुरेशी जागा शिल्लक नाही (शिल्लक जागा: %2$s). + {0} फाइल डाउनलोड करायच्या का? {1} एमबी जागा लागेल. (सध्या {2} एमबी जागा शिल्लक आहे.) - - - वेक्टर नकाशाचे पर्याय - %1$s काढून टाकायचे का? - उपनगर - खेडं - गाव - तालुका - शहर - फाइलचे नाव बदलू शकत नाही. - ह्या नावाची फाइल आधीच अस्तित्वात आहे. - जिपिएक्स राऊट - नावाने शोधा - नाव बदला - - स्थान शोधत आहे … - माझे स्थान (सापडले) - पत्ता … - आवडती ठिकाणे… - - ह्याच्या जवळ शोधा : - इथे जवळ शोधा - फाइलचे नाव : - ह्या नावाने फाइल आधीच अस्तित्वात आहे. - साठवा - - ओएसएम ला पाठवा - नकाशा सविस्तरपणे दाखवा - घर - मित्र - ठिकाणे - इतर - नाव - वर्गीकरण - नाही, धन्यवाद - नकाशाच्या फाइल्स मॅनेज करा - डाउनलोड - पिओआय डेटा - नविन शोध - नकाशावरील नावांसाठी अक्षरांचा आकार ठरवा - अक्षरांचा आकार - - - पुढे - मागे - मैल/फूट - मैल/यार्ड - किमी/मी - यार्ड - फूट - मैल/तास - शैक्षणिक - आपात्कालिन - मनोरंजन - आर्थिक - आरोग्य - ऐतिहासिक - सैनिकी - नैसर्गिक - कार्यालय - इतर - दुकाने - खेळ - उपजीवन - पर्यटन - परिवहन - किमी - किमी/तास - मी - सर्वात जवळील पिओआय - खाद्य़ - पर्यटकांसाठी - इंधन - दिवस - रात्र - सुर्योदय/सूर्यास्त - सर्व निवडा - वेगवान रस्ता - निवडा सर्वात वेगवान रस्त्यासाठी किंवा निवड काढा सर्वात जवळच्या रस्त्यासाठी - नकाशा डाउनलोड करा - पिओआय वेबसाइट दाखवा - पिओआय फोन दाखवा - वेबसाइट - फोन - - - ध्वनीमुद्रित आवाज - पिओआय बदला - पिओआय काढून टाका - कंपास प्रमाणे - दिशेप्रमाणे - फिरवू नका - मार्ग तपशील - कुठलाही - आवडती ठिकाणे - नकाशाचा स्त्रोत… - पिओआय शोधा - - मी कुठे आहे? - नेटवर्क - जीपीइस - सेकंद - मि. - आवाज चालू आहे - आवाज बंद आहे - दिशादशर्नासाठी आवाज मार्गदर्शन निवडा - आवाज मार्गदर्शन - - उजवीकडे वळा आणि जा - पटकन उजवीकडे वळा आणि जा - हलके उजवीकडे वळा आणि जा - डावीकडे वळा आणि जा - पटकन डावीकडे वळा आणि जा - हलके डावीकडे वळा आणि जा - उलटे वळा आणि जा - सरळ जा - नंतर - सिग्नल शोधत आहे… - जवळपास शोधा - उभा - आडवा - नविन नियम जोडा - मार्ग - थांबा - थांबे - शोध संपवा - उतरण्याचा थांबा निवडा - प्रवासाचे अंतर - परिवहन - ठीक - सार्वजनिक परिवहन थांबे नकाशावर दाखवा - परिवहन थांबे दाखवा - शहर: {0} - रस्ता: {0}, {1} - चौक: {0} x {1} in {2} - इमारत: {0}, {1}, {2} - "सगळे काढून टाका" - डेटा अपलोड करत आहे… - अपलोड करत आहे… - काही सापडले नाही - शोधत आहे… - पत्ता शोधत आहे… - ऑफलाएन शोध - ऑनलाएन शोध - एकुण अंतर %1$s, प्रवासाचा वेळ %2$d ता %3$d मि. - डाउनलोड {0} - {1} ? - पत्ता - डाउनलोड यशस्वी - - - उपलब्ध प्रदेशांची यादी डाउनलोड करत आहे… - प्रदेशांची यादी osmand.net वरून काढू शकलो नाही. - - फक्त दाखवा - पालन करा - परिवहन माध्यम: - क्रुपया आधी इच्छिन स्थळ निवडा - - असफल - - नविन मार्ग निवडला, अंतर - आपण इच्छित स्थळी पोहोचला आहात - बंद करा - डेटा लोड करत आहे… - समाप्त - - मार्ग गणना करण्य़ासाठी इंटरनेटचा वापर करा - ऑनलाइन दिशादर्शन वापरा - डेटा - आधिक सेटिंग्स - सेटिंग्स - नकाशा अपडेट करा - - आवडत्या ठिकणात नोंद करा - इंग्लिश आणि बोली नावांची निवड - नकाशामधे इंग्लिश नावे वापरा - ऍप्लिकेशन सेटिंग्स - पत्ता शोधा - इमारत निवडा - रस्ता निवडा - शहर किंवा पोस्टकोड निवडा - देश निवडा - नकाशाचा स्त्रोत - इंटरनेट वापरा - तुमचे स्थान दाखवा - - - नसलेल्या टाइल्स डाउनलोड करण्यासाठी इंटरनेटचा वापर करा - दिशादर्शन ऍप्लिकेशन - बाहेर पडा - - - - शोधा - शोधा - अजून शोधा - यादिमधून प्रदेश निवडा - कार - सायकल - पादचारी - मध्य़ - खाली - अक्षांश - रेखांश - नकाशावर दाखवा - पत्ता निवडा - प्रदेश - शहर - रस्ता - इमारत - इमारत - - - नकाशा अपडेट करा - पिओआय तयार करा - हो - रद्द करा - नाही - आवडते ठिकण बदला - आवडते ठिकाण काढून टाका - पिओआय बदला - पिओआय तयार करा - पिओआय काढून टाका - काढून टाका - "उघडे असण्याची वेळ" - टिप्पणी - - - पत्त्याचा शोध - सार्वजनिक परिवहन शोध - आवडत्या ठिकणांचा शोध - नकाशा आधिक तपशिलवार दाखवा - - तास - मिनिटे - कंपास वापरा -परिवहन माध्यम निवडा -सुर्योदय : %1$s \nसूर्यास्त : %2$s -दिवस/रात्र माहिती - - - -स्क्रिन कॉन्फिगर करा -कच्चे रस्ते टाळा -टाळा… -पट्टी -बघण्याची दिशा - - -सलग -इमेल -पार्किंग + वेक्टर नकाशाचे पर्याय + %1$s काढून टाकायचे का? + उपनगर + खेडं + गाव + तालुका + शहर + फाइलचे नाव बदलू शकत नाही. + ह्या नावाची फाइल आधीच अस्तित्वात आहे. + जिपिएक्स राऊट + नावाने शोधा + नाव बदला + स्थान शोधत आहे … + माझे स्थान (सापडले) + पत्ता … + आवडती ठिकाणे… + ह्याच्या जवळ शोधा : + इथे जवळ शोधा + फाइलचे नाव : + ह्या नावाने फाइल आधीच अस्तित्वात आहे. + साठवा + ओएसएम ला पाठवा + नकाशा सविस्तरपणे दाखवा + घर + मित्र + ठिकाणे + इतर + नाव + वर्गीकरण + नाही, धन्यवाद + नकाशाच्या फाइल्स मॅनेज करा + डाउनलोड + पिओआय डेटा + नविन शोध + नकाशावरील नावांसाठी अक्षरांचा आकार ठरवा + अक्षरांचा आकार + पुढे + मागे + मैल/फूट + मैल/यार्ड + किमी/मी + यार्ड + फूट + मैल/तास + शैक्षणिक + आपात्कालिन + मनोरंजन + आर्थिक + आरोग्य + ऐतिहासिक + सैनिकी + नैसर्गिक + कार्यालय + इतर + दुकाने + खेळ + उपजीवन + पर्यटन + परिवहन + किमी + किमी/तास + मी + सर्वात जवळील पिओआय + खाद्य़ + पर्यटकांसाठी + इंधन + दिवस + रात्र + सुर्योदय/सूर्यास्त + सर्व निवडा + वेगवान रस्ता + निवडा सर्वात वेगवान रस्त्यासाठी किंवा निवड काढा सर्वात जवळच्या रस्त्यासाठी + नकाशा डाउनलोड करा + पिओआय वेबसाइट दाखवा + पिओआय फोन दाखवा + वेबसाइट + फोन + ध्वनीमुद्रित आवाज + पिओआय बदला + पिओआय काढून टाका + कंपास प्रमाणे + दिशेप्रमाणे + फिरवू नका + मार्ग तपशील + कुठलाही + आवडती ठिकाणे + नकाशाचा स्त्रोत… + पिओआय शोधा + मी कुठे आहे? + नेटवर्क + जीपीइस + सेकंद + मि. + आवाज चालू आहे + आवाज बंद आहे + दिशादशर्नासाठी आवाज मार्गदर्शन निवडा + आवाज मार्गदर्शन + उजवीकडे वळा आणि जा + पटकन उजवीकडे वळा आणि जा + हलके उजवीकडे वळा आणि जा + डावीकडे वळा आणि जा + पटकन डावीकडे वळा आणि जा + हलके डावीकडे वळा आणि जा + उलटे वळा आणि जा + सरळ जा + नंतर + सिग्नल शोधत आहे… + जवळपास शोधा + उभा + आडवा + नविन नियम जोडा + मार्ग + थांबा + थांबे + शोध संपवा + उतरण्याचा थांबा निवडा + प्रवासाचे अंतर + परिवहन + ठीक + सार्वजनिक परिवहन थांबे नकाशावर दाखवा + परिवहन थांबे दाखवा + शहर: {0} + रस्ता: {0}, {1} + चौक: {0} x {1} in {2} + इमारत: {0}, {1}, {2} + "सगळे काढून टाका" + डेटा अपलोड करत आहे… + अपलोड करत आहे… + काही सापडले नाही + शोधत आहे… + पत्ता शोधत आहे… + ऑफलाएन शोध + ऑनलाएन शोध + एकुण अंतर %1$s, प्रवासाचा वेळ %2$d ता %3$d मि. + डाउनलोड {0} - {1} ? + पत्ता + डाउनलोड यशस्वी + उपलब्ध प्रदेशांची यादी डाउनलोड करत आहे… + प्रदेशांची यादी osmand.net वरून काढू शकलो नाही. + फक्त दाखवा + पालन करा + परिवहन माध्यम: + क्रुपया आधी इच्छिन स्थळ निवडा + असफल + नविन मार्ग निवडला, अंतर + आपण इच्छित स्थळी पोहोचला आहात + बंद करा + डेटा लोड करत आहे… + समाप्त + मार्ग गणना करण्य़ासाठी इंटरनेटचा वापर करा + ऑनलाइन दिशादर्शन वापरा + डेटा + आधिक सेटिंग्स + सेटिंग्स + नकाशा अपडेट करा + आवडत्या ठिकणात नोंद करा + इंग्लिश आणि बोली नावांची निवड + नकाशामधे इंग्लिश नावे वापरा + ऍप्लिकेशन सेटिंग्स + पत्ता शोधा + इमारत निवडा + रस्ता निवडा + शहर किंवा पोस्टकोड निवडा + देश निवडा + नकाशाचा स्त्रोत + इंटरनेट वापरा + तुमचे स्थान दाखवा + नसलेल्या टाइल्स डाउनलोड करण्यासाठी इंटरनेटचा वापर करा + दिशादर्शन ऍप्लिकेशन + बाहेर पडा + शोधा + शोधा + अजून शोधा + यादिमधून प्रदेश निवडा + कार + सायकल + पादचारी + मध्य़ + खाली + अक्षांश + रेखांश + नकाशावर दाखवा + पत्ता निवडा + प्रदेश + शहर + रस्ता + इमारत + इमारत + नकाशा अपडेट करा + पिओआय तयार करा + हो + रद्द करा + नाही + आवडते ठिकण बदला + आवडते ठिकाण काढून टाका + पिओआय बदला + पिओआय तयार करा + पिओआय काढून टाका + काढून टाका + "उघडे असण्याची वेळ" + टिप्पणी + पत्त्याचा शोध + सार्वजनिक परिवहन शोध + आवडत्या ठिकणांचा शोध + नकाशा आधिक तपशिलवार दाखवा + तास + मिनिटे + कंपास वापरा + परिवहन माध्यम निवडा + सुर्योदय : %1$s \nसूर्यास्त : %2$s + दिवस/रात्र माहिती + स्क्रिन कॉन्फिगर करा + कच्चे रस्ते टाळा + टाळा… + पट्टी + बघण्याची दिशा + सलग + इमेल + पार्किंग आपत्कालीन सार्वजनिक परिवहन करमणूक - - प्रथम शहर किंवा रस्ता निवडा + प्रथम शहर किंवा रस्ता निवडा वेळ अचूकपणा रस्त्याचे नाव - घर क्रमांक + घर क्रमांक पत्ता निवडा जिपिएस माहिती नकाशा प्राधान्य… - काही नाही + काही नाही दाखवा फोटो घ्या फोटो घ्या विडिओ रेकॉर्ड करा आवाज रेकॉर्ड करा नकाशा पहा - इच्छित स्थळ %1$s + इच्छित स्थळ %1$s इच्छित स्थळ निवडा रस्ता जवळपास्च्या शहरात शोधा वेग @@ -378,115 +339,97 @@ इच्छित स्थळ काढून टाका आवडते ठिकाण निवडा महामार्गांना प्राधान्य द्या - महामार्गांना प्राधान्य द्या + महामार्गांना प्राधान्य द्या क्रम बदला सुरू करा बंद करा - इतर नकाशे फक्त रस्ते साधारण नकाशा फक्त रस्त्याचा नकाशा - - सीमा - वेग मर्यादा + सीमा + वेग मर्यादा जिपिएक्स अक्षांश %1$.3f, रेखांश %2$.3f - - - इमारत सापडली नाही. इच्छित स्थळाची दिशा दाखवा मार्ग नाही - राहण्याची व्यवस्था - - - रस्त्याचे नाव - - मी कुठे आहे - कंपास - वाहनतळ - वेग - इच्छित स्थळ - उंची - पुढचे वळण - पुढचे वळण (लहान) - पुढचे दुसरे वळण - सुरूवातीचे ठिकाण रस्त्यापासून खुप दूर आहे. - डावीकडे रहा आणि जा - उजवीकडे रहा आणि जा - डावीकडून ट्राफिक असलेल्या देशांसाठी निवडा - सुरूवातीचे स्थळ अजून सापडले नाही - मैल - आवडते ठिकाण \'%s\' काढायचे का? - आवडते ठिकाण {0} यशस्वीरित्या काढले. - आवडत्या ठिकाणाचे नाव द्या - छेदणारा रस्ता - - छेदणारा रस्ता निवडा - सर्वात जवळच्या सुविधा - पिओआय निवडा - बघण्याची दिशा दाखवा - - रस्ते/इमारती लोड करत आहे… - पोस्ट कोड लोड करत आहे… - रस्ते लोड करत आहे… - शहरे लोड करत आहे… - पिओआय - पिओआय लोड करत आहे… - उघडण्याची वेळ - आवडते ठिकाण - पिओआय… - - मार्ग - - ऑफलाएन वेक्टर नकाशे - वेक्टर नकाशे लोड झाले नाही - - सार्वजनिक परिवहन शोधा - - डाउनलोड केलेले - मानव निर्मित - प्रशासकीय - अडथळे - लांबीचे माप बदला - लांबीचे एकक - - - - अपूर्ण - भाषा - भाषा निवडा (बदलल्यावर ओएसएमएएनडी पुन्हा चालू करा) - सिस्टिम - - घरक्रमांक + राहण्याची व्यवस्था + रस्त्याचे नाव + मी कुठे आहे + कंपास + वाहनतळ + वेग + इच्छित स्थळ + उंची + पुढचे वळण + पुढचे वळण (लहान) + पुढचे दुसरे वळण + सुरूवातीचे ठिकाण रस्त्यापासून खुप दूर आहे. + डावीकडे रहा आणि जा + उजवीकडे रहा आणि जा + डावीकडून ट्राफिक असलेल्या देशांसाठी निवडा + सुरूवातीचे स्थळ अजून सापडले नाही + मैल + आवडते ठिकाण \'%s\' काढायचे का? + आवडते ठिकाण {0} यशस्वीरित्या काढले. + आवडत्या ठिकाणाचे नाव द्या + छेदणारा रस्ता + छेदणारा रस्ता निवडा + सर्वात जवळच्या सुविधा + पिओआय निवडा + बघण्याची दिशा दाखवा + रस्ते/इमारती लोड करत आहे… + पोस्ट कोड लोड करत आहे… + रस्ते लोड करत आहे… + शहरे लोड करत आहे… + पिओआय + पिओआय लोड करत आहे… + उघडण्याची वेळ + आवडते ठिकाण + पिओआय… + मार्ग + ऑफलाएन वेक्टर नकाशे + वेक्टर नकाशे लोड झाले नाही + सार्वजनिक परिवहन शोधा + डाउनलोड केलेले + मानव निर्मित + प्रशासकीय + अडथळे + लांबीचे माप बदला + लांबीचे एकक + अपूर्ण + भाषा + भाषा निवडा (बदलल्यावर ओएसएमएएनडी पुन्हा चालू करा) + सिस्टिम + घरक्रमांक उघडा ठिकाणे - शोध - तपशील दाखवा - संदेश - वाहतुकीची चिह्ने व नियम नेमकेपणाने दाखविण्यासाठी कृपया आपले वाहनचालनाचे क्षेत्र निवडा: - सुस्वागतम् + शोध + तपशील दाखवा + संदेश + वाहतुकीची चिह्ने व नियम नेमकेपणाने दाखविण्यासाठी कृपया आपले वाहनचालनाचे क्षेत्र निवडा: + सुस्वागतम् आपणांस इतिहास पुसून टाकावयाचा आहे का? ता - मि - उर्वरित - - - किंवा - इतिहास - नकाशावर निवडा - आयात - निर्यात - अधिक… - अधिक क्रिया - क्रिया {0} - पत्ता - माझी ठिकाणे - ध्वनि - चलच्चित्र - छायाचित्र - जिपिएक्स रंग + मि + उर्वरित + + + किंवा + इतिहास + नकाशावर निवडा + आयात + निर्यात + अधिक… + अधिक क्रिया + क्रिया {0} + पत्ता + माझी ठिकाणे + ध्वनि + चलच्चित्र + छायाचित्र + जिपिएक्स रंग जिपिएक्स रुंदी लाल नारंगी @@ -507,12 +450,12 @@ विकिपेडिया विकिपेडिया नकाशे डाउनलोड करा - सद्ध्याचा मार्ग + सद्ध्याचा मार्ग वापरू नका - + मुळ रंग रात्र - महिना आणि देश निवडा + महिना आणि देश: सकाळ इतर नंतर @@ -557,4 +500,15 @@ मेमरी कार्ड बस ट्रेन - \ No newline at end of file + आकार निवडा + वर्तुळ + अष्टकोन + चौरस + भाषा + भाषा + सर्व भाषा + उर्दु + पंजाबी + नेपाळी + गुजराथी + \ No newline at end of file From feb719b5d47ac70995cffdc84c7975b77c09610c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Mon, 25 May 2020 06:20:58 +0000 Subject: [PATCH 104/509] Translated using Weblate (Turkish) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-tr/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml index 90aaa300ec..8337605fd5 100644 --- a/OsmAnd/res/values-tr/strings.xml +++ b/OsmAnd/res/values-tr/strings.xml @@ -3435,22 +3435,22 @@ Kamera deklanşör sesi Yetkilendirme başarılı Kategorileri yeniden düzenle - Listenin sıralama düzenini değiştirin, gereksiz kategorileri gizleyin. Profillerle tüm değişiklikleri içe veya dışa aktarabilirsiniz. - Bir veya birkaç gerekli kategori seçerek yeni bir özel kategori ekleyebilirsiniz. + Liste sıralama düzenini değiştirin, kategorileri gizleyin. Profillerle tüm değişiklikleri içe veya dışa aktarabilirsiniz. + Bir veya daha fazla kategori seçerek yeni bir özel kategori ekleyebilirsiniz. Mevcut Özel kategori ekle Sadece geceleri göster - Tüm eklenti ayarları öntanımlı durumuna geri yüklendi. - Tüm profil ayarları öntanımlı durumuna geri yüklendi. + Tüm eklenti ayarları öntanımlı değerlerine geri yüklendi. + Tüm profil ayarları öntanımlı değerlerine geri yüklendi. %1$s/%2$s %1$s\'de gün batımı %1$s\'de gün doğumu - Android cihazınızda erişilebilirlik modu kapalı. - Öntanımlılara sıfırla, sıralama düzenini kurulumdan sonraki öntanımlı duruma sıfırlayacaktır. + Android sisteminizde erişilebilirlik modu kapalı. + \'Öntanımlılara sıfırla\', sıralama düzenini öntanımlı kurulum durumuna geri döndürecektir. Sistem ekran zaman aşımını kullan - Öntanımlı olarak devre dışıdır, OsmAnd ön planda çalışıyorsa ekran zaman aşımına uğramaz. + Öntanımlı olarak devre dışıdır: OsmAnd ön planda çalışırken ekran zaman aşımına uğramayacaktır. \n -\nEtkinleştirilirse OsmAnd sistem zaman aşımı ayarlarını kullanacaktır. +\nEtkinleştirilirse, OsmAnd sistem zaman aşımı ayarını kullanacaktır. Kaydedilen verileri temizle • Profiller: artık sırayı değiştirebilir, harita simgesini ayarlayabilir, temel profiller için tüm ayarları değiştirebilir ve bunları öntanımlılara geri yükleyebilirsiniz \n @@ -3667,7 +3667,7 @@ Bu eylemlere “%1$s” düğmesine dokunarak erişebilirsiniz. Toplu taşıma araçlarını gizle Toplu taşıma araçlarını göster - Toplu taşıma araçlarını göster / gizle + Toplu taşıma araçlarını göster/gizle Haritada toplu taşıma araçlarını gösteren veya gizleyen düğme. POI Oluştur / Düzenle Park etme alanları From c888b35c7437f3f548ccb89f199a3a3eee1e6666 Mon Sep 17 00:00:00 2001 From: Athoss Date: Mon, 25 May 2020 08:11:21 +0000 Subject: [PATCH 105/509] Translated using Weblate (Hungarian) Currently translated at 96.1% (3213 of 3341 strings) --- OsmAnd/res/values-hu/strings.xml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml index 2453df8c53..d619f0d562 100644 --- a/OsmAnd/res/values-hu/strings.xml +++ b/OsmAnd/res/values-hu/strings.xml @@ -2543,11 +2543,11 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Lezárt jegyzetek megjelenítése OSM-jegyzetek megjelenítése/elrejtése a térképen. GPX – megfelelő export a JOSM és más OSM-szerkesztők számára. - OSC – megfelelő export az OpenStreetMap számára. + OSC – megfelelő export az OSM számára. GPX-fájl OSC-fájl Fájltípus kijelölése - Exportálás típusának kijelölése: OSM-jegyzetek, érdekes pontok (POI-k) vagy mindkettő. + Exportálás OSM-jegyzetként, érdekes pontként (POI) vagy mindkét módon. Minden adat OSM-jegyzetek Holnap ekkor nyit: @@ -2712,7 +2712,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Évente megújul %1$.2f %2$s Fizetési időköz: - Az adományok az OpenStreetMap-térképezést támogatják. + Az adományok az OSM-térképezést támogatják. Törlöd „%s” térképjelölőt\? Térképjelölő szerkesztése Utca keresése @@ -3138,7 +3138,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Navigáció testreszabása Téma, mértékegység, régió Profil testreszabása - A riasztások a képernyő bal alsó sarkában jelennek meg a navigáció közben. + A képernyő bal alsó sarkában megjelenő riasztások navigáció közben. Nyelv és kimenet Profilok létrehozása, importálása, szerkesztése Alkalmazásprofilok kezelése… @@ -3156,7 +3156,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Útvonal paraméterek Bővítménybeállítások Töltsd le a részletes %s térképet a terület megtekintéséhez. - Belső tároló, a felhasználó és a többi alkalmazás számára rejtett, kizárólag az OsmAnd számára hozzáférhető + Az OsmAnd belső tárolója (felhasználók és más alkalmazások számára rejtett). Tárolás mappájának módosítása Szélességkorlátozás Adja meg az útvonalakon a járművekre vonatkozó szélességkorlátozást. @@ -3450,8 +3450,8 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Az alkalmazás részletes naplóinak ellenőrzése és megosztása A beállítás használatához engedélyre van szükség. Kategóriák átrendezése - Lista sorrendjének módosítása, fölösleges kategóriák elrejtése. A lista a profilokkal importálható és exportálható. - Egy vagy több szükséges kategória kijelölésével hozzáadhat egy egyedi kategóriát. + Lista sorrendjének módosítása, kategóriák elrejtése. A lista a profilokkal importálható és exportálható. + Egy vagy több kategória kijelölésével hozzáadhat egy egyedi kategóriát. Rendelkezésre áll Egyedi kategória hozzáadása Csak éjszaka jelenjék meg @@ -3482,7 +3482,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Megjelenítés stílusa Útvonaltervezés %1$s/%2$s - Alapértelmezésben le van tiltva, így amennyiben az OsmAnd az előtérben fut, a kijelző nem kapcsol ki. + Alapértelmezésben le van tiltva: amíg az OsmAnd az előtérben fut, a kijelző nem kapcsol ki. \n \nAmennyiben engedélyezve van, az OsmAnd az időtúllépésre vonatkozó rendszerbeállítást használja. Kijelző időtűllépés rendszerbeállítás használata @@ -3491,9 +3491,9 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Legkisebb távolság, amely felett újraszámítja az útvonalat %1$s — %2$s — %3$s Menü - Bővítmény letiltva + Bővítmény kikapcsolva Beállítások megnyitása - Újraszámítás letiltása + Nincs újraszámítás Kérem, adjon nevet a profilnak Válassza ki az importálandó adatot. Mindkettő megtartása @@ -3515,7 +3515,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Az útvonal újraszámításra kerül, amennyiben az útvonal és a jelenlegi helyzet közötti távolság nagyobb, mint a kiválasztott érték. %1$s a %2$s-ból Lejtők - Domborzat megjelenítése/elrejtése + Domborzat megjelenítése / elrejtése Domborzat elrejtése Domborzat megjelenítése Váltógomb, amely a térképen megjeleníti vagy elrejti a domborzati réteget. @@ -3541,7 +3541,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Elválasztó Az ez alatti elemek elválasztásra kerülnek egy elválasztóval. Ezek az elemek a menüből elrejtésre kerültek, azonban az általuk képviselt beállítások vagy bővítmények továbbra is érvényben maradnak. - A \'fő műveletek\'-hez csak 4 elem tartozhat. + Csak 4 elemet tartalmaz. Rendszeralkalmazás használata Fényképező zárhang Hitelesítés sikeres @@ -3606,7 +3606,7 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Kedvencek Előfizetés - OsmAnd Live OsmAnd vásárlások - Útmutató a térkép szimbolikájához + Útmutató a térkép szimbolikájához. Navigációs profilok Váltógomb, amely a térképen megjeleníti vagy elrejti a tömegközlekedési réteget. Ezekhez a műveletekhez a \"%1$s\" gombra koppintva férhet hozzá. @@ -3615,13 +3615,13 @@ Ha szereted az OsmAndot és az OSM-et, és szeretnéd támogatni a fejlődésük Tömegközlekedés elrejtése Tömegközlekedés megjelenítése Tömegközlekedés megjelenítése/elrejtése - POI készítés/módosítás + POI készítés / módosítás Parkolási pozíció Kedvenc hozzáadása/módosítása Alapértelmezett elemsorrend visszaállítása Vissza a szerkesztéshez - A művelethez kiválasztott profilok nem találhatók. - A műveletgombra koppintva válthat a kiválasztott profilok között. + Nem található ilyen profil + A műveletgomb vált a kiválasztott profilok között. Profil hozzáadása Alkalmazásprofil módosítása Kombináljon POI típusokat különböző kategóriákból. Koppintson egy kapcsolóra az összes altípus kiválasztásához, vagy koppintson egy szövegre az egyes altípusok kijelöléséhez. From c81c750e9912cfd3e653b3070bc3d212037b34d9 Mon Sep 17 00:00:00 2001 From: Tymofij Lytvynenko Date: Mon, 25 May 2020 00:15:33 +0000 Subject: [PATCH 106/509] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-uk/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 5bda3f8313..77e3f8e16f 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -1373,7 +1373,7 @@ Камера контролю швидкості Попередження на дорозі Натисніть на будь-який наявний елемент для перегляду додаткових відомостей, довго утримуйте, щоб знедіяти або вилучити. Наявні дані на пристрої (%1$s вільно): - Годинник + Перегляд Лижні траси Тип лижні Не використовувати маршрутизацію версії 1.9 @@ -3475,12 +3475,12 @@ Звук затвору камери Авторизація пройшла успішно Перевпорядкувати категорії - Змінюйте порядок сортування списку, приховайте непотрібні категорії. Ви можете імпортувати або експортувати всі зміни з профілями. + Змінюйте впорядкування списку, приховайте непотрібні категорії. Ви можете імпортувати або експортувати всі зміни з профілями. Ви можете додати нову власну категорію, вибравши одну або кілька необхідних категорій. Доступні Додати власну категорію Показувати лише вночі - Усі налаштування плагіна відновлено до типового стану. + Усі налаштування втулка відновлено до усталеного стану. Усі налаштування профілю відновлено до усталеного стану. %1$s/%2$s Захід сонця о %1$s @@ -3707,7 +3707,7 @@ Розташування припаркованого авто Приховати громадський транспорт Показати громадський транспорт - Показати / приховати громадський транспорт + Показати/приховати громадський транспорт Кнопка показу або приховування громадського транспорту на мапі. Створити / змінити POI Додати / редагувати вибране From cddb6caf2f431cba6a3981023d505307ac936d68 Mon Sep 17 00:00:00 2001 From: ace shadow Date: Sun, 24 May 2020 23:45:52 +0000 Subject: [PATCH 107/509] Translated using Weblate (Slovak) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-sk/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index e364222459..efdf90c625 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -3467,9 +3467,9 @@ Zvuk spúšte fotoaparátu Prihlásenie je úspešné Usporiadať kategórie - Zmeňte poradie triedenia zoznamu, skryte nepotrebné kategórie. Môžete importovať a exportovať všetky zmeny s profilmi. + Zmeňte poradie triedenia zoznamu, skryte kategórie. Môžete importovať a exportovať všetky zmeny s profilmi. Môžete pridať novú kategóriu zvolením jednej alebo viacerých existujúcich. - Obnovenie do východzieho nastavenia vymaže poradie triedenia ako po novej inštalácii. + \"Obnovenie do východzieho nastavenia\" obnoví poradie triedenia ako po novej inštalácii. Dostupné Pridať vlastnú kategóriu Zobraziť iba v noci @@ -3478,10 +3478,10 @@ %1$s/%2$s Západ slnka o %1$s Východ slnka o %1$s - Režim uľahčenia prístupu je vo vašom Androide vypnutý. + Režim uľahčenia prístupu je vo vašom systéme Android vypnutý. Použiť systémový časový limit obrazovky - Predvolene vypnuté, ak OsmAnd beží v popredí, obrazovka nezhasne. -\n + Predvolene vypnuté: ak OsmAnd beží v popredí, obrazovka nezhasne. +\n \nAk je zapnuté, OsmAnd zhasne obrazovku podľa limitu nastaveného v systéme. Predvolená hodnota aplikácie (%s) Vlastný profil @@ -3709,7 +3709,7 @@ \n Skryť verejnú dopravu Zobraziť verejnú dopravu - Zobraziť / skryť verejnú dopravu + Zobraziť/skryť verejnú dopravu Tlačidlo na zobrazenie alebo skrytie verejnej dopravy na mape. Vytvoriť / Upraviť bod záujmu Parkovacie miesta From 01ec18f4b48f29536ce86260e8c2df85f31452a7 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Mon, 25 May 2020 07:33:25 +0000 Subject: [PATCH 108/509] Translated using Weblate (Hebrew) Currently translated at 99.9% (3339 of 3341 strings) --- OsmAnd/res/values-he/strings.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index f2a46b2596..16d80dc602 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -3451,18 +3451,18 @@ לבדוק ולשתף תיעוד מפורט של יומני היישומון נדרשת הרשאה כדי להשתמש באפשרות הזו. סידור הקטגוריות מחדש - ניתן להחליף את סדר הרשימה ולהסתיר קטגוריות בלתי נחוצות. כמו כן, אפשר לייבא או לייצא את כל השינויים עם פרופילים. - ניתן להוסיף קטגוריה חדשה מותאמת אישית על ידי בחירה בקטגוריה נחוצה אחת או יותר. - איפוס לבררת מחדל יחזיר את הסדר למצב בררת המחדל כמו לאחר ההתקנה. + ניתן להחליף את סדר הרשימה ולהסתיר קטגוריות בלתי נחוצות. אפשר לייבא או לייצא את כל השינויים עם פרופילים. + ניתן להוסיף קטגוריה חדשה מותאמת אישית על ידי בחירה בקטגוריה אחת או יותר. + ‚איפוס לבררת מחדל’ יחזיר את הסדר למצב בררת המחדל כמו בהתקנה. זמין הוספת קטגוריה מותאמת אישית הצגה רק בלילה - כל הגדרות התוסף שוחזרו למצב בררת המחדל. - כל הגדרות הפרופיל אופסו למצב בררת המחדל. + כל הגדרות התוסף שוחזרו לבררת המחדל. + כל הגדרות הפרופיל אופסו לבררת המחדל. %1$s/%2$s שקיעה ב־%1$s זריחה ב־%1$s - מצב הנגישות כבוי ב־Android שלך. + מצב הנגישות כבוי במערכת ה־Android שלך. נא לבחור שם לפרופיל פתיחת ההגדרות התוסף כבוי @@ -3485,8 +3485,8 @@ הזווית המזערית בין המיקום שלי והמסלול המלצה: קשה לחזות מה יוקלט ומה לא, יכול להיות שעדיף לכבות את המסנן הזה. להשתמש בתפוגת שומר המסך של המערכת - מושבת כבררת מחדל, אם OsmAnd מופעל בחזית, המסך לא נכבה. -\n + מושבת כבררת מחדל: בזמן ש־OsmAnd מופעל בחזית, המסך לא יכבה. +\n \nאם פעיל, OsmAnd ישתמש בהגדרות כיבוי המסך של המערכת. • פרופילים: מעתה ניתן לשנות סדר, להגדיר סמל למפה, לשנות את כל ההגדרות לפרופיל הבסיסי ולשחזר אותן לבררות המחדל \n From 953a96c5fd4fb9f26b05c2db3d1a61bbf7fdc194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Mon, 25 May 2020 06:21:42 +0000 Subject: [PATCH 109/509] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 8.9% (299 of 3341 strings) --- OsmAnd/res/values-nb/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 627aa15501..b89931b981 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3040,9 +3040,9 @@ Del din tilbakemelding og legg til en vurdering på Google Play. Personvernspraksis Hjelp oss å forbedre OsmAnd - Tillat OsmAnd å samle inn og behandle anonym programbruksdata. Vi samler ikke inn eller lagrer data om din plassering, eller om plasseringer ser på på kartet. + Tillat OsmAnd å samle inn og behandle anonym programbruksdata. Ingen data om din plassering, eller om plasseringer ser på på kartet blir samlet inn. \n -\nDu kan alltid endre ditt valg i Innstillinger > Personvern og sikkerhet. +\nDu kan alltid endre ditt valg i \"Innstillinger\" → \"Personvern og sikkerhet\". Velg hvilken data du ønsker å dele: Nedlastede kart Besøkte skjermer From 1ebd7b35dd6d638016f3bc1049c8d99b1f76a42c Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Mon, 25 May 2020 14:42:48 +0000 Subject: [PATCH 110/509] Translated using Weblate (Sardinian) Currently translated at 99.6% (3329 of 3341 strings) --- OsmAnd/res/values-sc/strings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml index 01d36698db..fefaf3d7ee 100644 --- a/OsmAnd/res/values-sc/strings.xml +++ b/OsmAnd/res/values-sc/strings.xml @@ -2435,7 +2435,7 @@ Aberi Mapillary Installa Megiora sa cobertura fotogràfica cun Mapillary - Installa Mapillary pro annànghere una o prus fotografias a custa positzione de sa mapa. + Installa Mapillary pro annànghere fotografias a custa positzione de sa mapa. Immàgine de Mapillary Distàntzia curreta Autorizatziones @@ -2496,9 +2496,9 @@ Annanghe puntos a s\'àndala Annanghe una lìnia Annanghe documentos GPX - Importa documentos GPX, o registra rastas. + Importa documentos GPX o registra rastas. Annanghe preferidos - Importa preferidos, o annanghe·los pro mèdiu de marcadores in sa mapa. + Importa preferidos o annanghe·los pro mèdiu de marcadores in sa mapa. Importa unu documentu GPX Su documentu %1$s non cuntenit puntos de coladòrgiu, importare comente rasta? Move puntu @@ -2599,11 +2599,11 @@ Ammustra lìnias diretzionales dae sa positzione tua a sos marcadores ativos. Ammustra una o duas fritzas chi indicant sa diretzione cara a sos marcadores ativos. Issèbera comente ammustrare sa distàntzia cun sos marcadores ativos. - Dislinda su nùmeru de indicadores de diretzione de ammustrare: + Dislinda su nùmeru de indicadores de diretzione. Àteru Chirchende rastas cun puntos de coladòrgiu Crea o modìfica ogetos OSM - Crea o modìfica PDI OSM, aberi o cummenta notas OSM, e contribui cun documentos GPX registrados. + Crea o modìfica PDI OSM, aberi o cummenta sas notas OSM, e contribui cun documentos GPX registrados. Iscantzelladu Modificadu Annantu @@ -2611,7 +2611,7 @@ Incarca in unu marcadore in sa mapa pro lu moere in sa prima positzione in sos marcadores ativos, chene abèrrere su menù contestuale. \'Un\'incarcu\' ativu Piga notas! - Annanghe notas sonoras, vìdeos o fotografias a cada puntu in sa mapa, impreende su widget o su menù contestuale. + Annanghe notas sonoras, vìdeos o fotografias a cada puntu in sa mapa, impreende su widget o sos menùs cuntestuales. Notas sonoras/in vìdeu pro data Pro data Pro casta @@ -3475,8 +3475,8 @@ Impòsitu: est prus difìtzile a intzertare ite at a èssere registradu e ite nono. Diat èssere mègius a istudare custu filtru. Durada de sa memòria tampone (buffer) Torra a ordinare sas categorias - Modìfica s\'òrdine de sa lista e cua sas categorias chi non ti serbint. Podes importare o esportare totu sas modìficas cun sos profilos. - Podes annànghere una categoria personalizada noa ischertende·nde una o unas cantas pagas chi ti serbint. + Modìfica s\'òrdine de sa lista e cua sas categorias. Podes importare o esportare totu sas modìficas cun sos profilos. + Podes annànghere una categoria personalizada noa ischertende·nde una o prus de una. Disponìbile Annanghe una categoria personalizada Ammustra a de note ebbia @@ -3486,7 +3486,7 @@ Intrinada a sas %1$s Arbèschida a sas %1$s Custu at a registrare petzi sos puntos medidos cun un\'acuradesa mìnima indicada (in metros/pees, comente benit sinnaladu dae Android pro su chipset tuo). S\'acuradesa si riferit a sa dispersione de movimentos torrados a repìtere, e no est ligada diretamente a sa pretzisione, chi definit canto sa medida tua est a curtzu a sa positzione bera tua. - Ripristinende sos valores predefinidos as a torrare a impostare s\'istadu predefinidu a pustis de s\'installatzione. + \'Riprìstina sos valores predefinidos\' at a torrare a impostare s\'òrdine predefinidu de installatzione. Sa modalidade de atzessibilidade est istudada in su sistema Android tuo. Imprea su tempus de isetu de s\'ischermu de su sistema Disabilitadu in sas impostatziones predefinidas. Si OsmAnd est traballende in primu pranu, s\'ischermu non s\'at a mòrrere. @@ -3678,7 +3678,7 @@ \n \nPodes amministrare e annullare sos abbonamentos tuos intrende in sas impostatziones de Google Play tuas. Chirca castas de PDI - Cumbina castas de PDI de catogorias diferentes. Incarchende su butone as a ischertare totu, e s\'ala a manca seletzionat una categoria. + Cumbina castas de PDI de catogorias diferentes. Incarca su butone pro ischertare totu, incarca in s\'ala a manca pro ischertare una categoria. %1$s / %2$s Arrastadore de OsmAnd OsmAnd + Mapillary @@ -3715,7 +3715,7 @@ Podes atzèdere a custas atziones incarchende su butone \"%1$s\". Cua su trasportu pùblicu Ammustra su trasportu pùblicu - Ammustra / cua su trasportu pùblicu + Ammustra/cua su trasportu pùblicu Butone pro ammustrare o cuare su trasportu pùblicu in sa mapa. Crea / Modìfica unu PDI Logos de parchègiu From f67e835139c5936dfc3da0db01da6ba20deea461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1ns?= Date: Sun, 24 May 2020 22:57:15 +0000 Subject: [PATCH 111/509] Translated using Weblate (Galician) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-gl/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml index fef81238d4..948647a0c3 100644 --- a/OsmAnd/res/values-gl/strings.xml +++ b/OsmAnd/res/values-gl/strings.xml @@ -3501,22 +3501,22 @@ Lon %2$s Son do obturador da cámara A autorización foi correcta Reorganizar categorías - Muda a orde de clasificación da listaxe ou agocha as categorías innecesarias. Podes importar ou exportar todos as modificacións cos perfís. - Podes engadir unha nova categoría personalizada marcando unha ou varias categorías necesarias. - Restabelecer ó valor por defecto, restabelecerá a orde de clasificación ó estado por defecto após a instalación. + Mudar a orde de clasificación da listaxe ou agochar categorías. Podes importar ou exportar todas as modificacións cos perfís. + Podes engadir unha nova categoría personalizada marcando unha ou máis categorías. + \'Restabelecer ó valor por defecto\' restabelecerá a orde de clasificación ós valores por defecto da instalación. Dispoñíbel Engadir categoría personalizada Amosar só á noite - Todos os axustes do plugin restabelecéronse ó estado por defecto. - Todos os axustes do perfil restabelecéronse ó estado por defecto. + Todos os axustes do plugin restabelecéronse por defecto. + Todos os axustes do perfil restabelecéronse por defecto. %1$s/%2$s Solpor ás %1$s Amencer ás %1$s - Modo de accesibilidade desactivado no teu Android. + O modo de accesibilidade está desactivado no teu sistema. Empregar o tempo de espera da pantalla do sistema - Desactivado de xeito predefinido, se o OsmAnd é executado en primeiro plano, a pantalla manterase acendida. -\n -\nSe se activa, o OsmAnd empregará os axustes de tempo de espera do sistema. + Desactivado por defecto: mentres o OsmAnd está a executarse en primeiro plano, a pantalla non se apagará. +\n +\nSe está activado, o OsmAnd empregará a configuración de tempo de espera do sistema. Limpar datos gravados • Perfís: agora podes mudar a orde, definir a icona para o mapa, mudar todos os axustes para os perfís base e restabelecelos de novo ó valores por defecto \n @@ -3735,7 +3735,7 @@ Lon %2$s Podes acceder a estas accións premendo no botón “%1$s”. Agochar transporte público Amosar transporte público - Amosar / agochar transporte público + Amosar/agochar transporte público Botón que amosa ou agocha o transporte público no mapa. Crear / Editar PDI Posicións de aparcamento From 824b030778e00d9ea4a9e0a3cd436a4065e0eb92 Mon Sep 17 00:00:00 2001 From: Franco Date: Mon, 25 May 2020 18:34:18 +0000 Subject: [PATCH 112/509] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-es-rAR/strings.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml index 23460c47da..82859167d8 100644 --- a/OsmAnd/res/values-es-rAR/strings.xml +++ b/OsmAnd/res/values-es-rAR/strings.xml @@ -3483,21 +3483,21 @@ Reproducir sonido al fotografiar Autorización exitosa Reordenar categorías - Cambia el orden de clasificación de la lista u oculta las categorías innecesarias. Puedes importar o exportar todos los cambios con los perfiles. - Puedes añadir una nueva categoría personalizada marcando una o varias categorías necesarias. + Cambia el orden de clasificación de la lista u oculta las categorías. Puedes importar o exportar todos los cambios con los perfiles. + Puedes añadir una nueva categoría personalizada marcando una o varias categorías. Disponible Añadir categoría personalizada Mostrar solo de noche - Todos los ajustes del complemento se restauraron al estado predefinido. - Todos los ajustes del perfil se restauraron al estado predefinido. + Todos los ajustes del complemento se restauraron al valor predefinido. + Todos los ajustes del perfil se restauraron al valor predefinido. %1$s/%2$s Atardecer a las %1$s Amanecer a las %1$s - Restablecer al valor predefinido, restablecerá el orden de clasificación al estado predefinido después de la instalación. + «Restablecer al valor predefinido», restablecerá el orden de clasificación al valor predefinido de la instalación. El modo de accesibilidad se encuentra desactivado en el sistema. Usar el tiempo de espera de la pantalla del sistema - Desactivado de forma predefinida, si OsmAnd se ejecuta en primer plano, la pantalla se mantendrá encendida. -\n + Desactivado de forma predefinida: Mientras OsmAnd se ejecute en primer plano, la pantalla no se apagará. +\n \nSi se activa, OsmAnd utilizará los ajustes de tiempo de espera del sistema. Vaciar datos grabados • Perfiles: ahora puedes cambiar el orden, definir el icono para el mapa, cambiar todos los ajustes para los perfiles base y restaurarlos de nuevo a los valores predefinidos From 89c1de962ff6937f6e2051aad84a5524c1f9d03f Mon Sep 17 00:00:00 2001 From: Eduardo Addad de Oliveira Date: Mon, 25 May 2020 14:57:56 +0000 Subject: [PATCH 113/509] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index b5c6b636f7..ac2770502c 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -3467,21 +3467,21 @@ Pôr do Sol: %2$s Som do obturador da câmera Autorização bem sucedida Reorganizar categorias - Altere a ordem de classificação da lista, oculte categorias desnecessárias. Você pode importar ou exportar todas as alterações com perfis. - Você pode adicionar uma nova categoria personalizada selecionando uma ou algumas categorias necessárias. + Altere a ordem de classificação da lista, oculte as categorias. Você pode importar ou exportar todas as alterações com perfis. + Você pode adicionar uma nova categoria personalizada selecionando uma ou mais categorias. Disponível Adicionar categoria personalizada Mostrar apenas à noite - Todas as configurações de plug-in restauradas para o estado padrão. - Todas as configurações de perfil restauradas para o estado padrão. + Todas as configurações de plug-in restauradas para o padrão. + Todas as configurações de perfil são restauradas para o padrão. %1$s/%2$s Pôr do sol em %1$s Nascer do sol em %1$s - Modo de acessibilidade desativado no seu Android. - Redefinir como padrão redefinirá a ordem de classificação para o estado padrão após a instalação. + O modo de acessibilidade está desativado no seu sistema Android. + \'Redefinir para padrão\' restabelecerá a ordem de classificação para o padrão de instalação. Usar tempo limite da tela do sistema - Desabilitada por padrão, se OsmAnd estiver sendo executado em primeiro plano, a tela não atingirá o tempo limite. -\n + Desabilitado por padrão: Enquanto o OsmAnd estiver sendo executado em primeiro plano, a tela não atingirá o tempo limite +\n \nSe ativado, o OsmAnd usará as configurações de tempo limite do sistema. Limpar dados gravados • Perfis: agora você pode alterar a ordem, definir o ícone para o mapa, alterar todas as configurações dos perfis básicos e restaurá-los para os padrões @@ -3663,7 +3663,7 @@ Pôr do Sol: %2$s \n \n  Você pode gerenciar e cancelar suas assinaturas acessando as configurações do Google Play. Pesquisar tipos de POI - Combine tipos de POI de diferentes categorias. Tocar em \"Alternar\" seleciona tudo e o lado esquerdo seleciona a categoria. + Combine tipos de POI de diferentes categorias. Toque em para selecionar tudo, toque em lado esquerdo para selecionar a categoria. Rastreador do OsmAnd OsmAnd + Mapillary Ação rápida @@ -3698,7 +3698,7 @@ Pôr do Sol: %2$s Você pode acessar essas ações tocando no botão “%1$s”. Ocultar transporte público Mostrar transporte público - Mostrar / ocultar transporte público + Mostrar/ocultar transporte público Botão que mostra ou oculta o transporte público no mapa. Criar / Editar POI Posições de estacionamento From aa349e70cf85ab5e2374526e568d495176b10dd9 Mon Sep 17 00:00:00 2001 From: Onkar Shinde Date: Mon, 25 May 2020 17:57:53 +0000 Subject: [PATCH 114/509] Translated using Weblate (Marathi) Currently translated at 2.8% (108 of 3804 strings) --- OsmAnd/res/values-mr/phrases.xml | 221 ++++++++++++++++--------------- 1 file changed, 113 insertions(+), 108 deletions(-) diff --git a/OsmAnd/res/values-mr/phrases.xml b/OsmAnd/res/values-mr/phrases.xml index b049308fb0..3356b753bb 100644 --- a/OsmAnd/res/values-mr/phrases.xml +++ b/OsmAnd/res/values-mr/phrases.xml @@ -1,108 +1,113 @@ - -दुकान - तातडीची सेवा - सार्वजनिक परिवहन - पाणीपुरवठा - शिक्षण - प्रशासकीय - पर्यटन - बस थांबा - ट्राम थांबा - कार्यालय - विकिपीडिया - पुस्तकालय - परिवहन - रस्त्यतील अडथळा - व्यक्तिगत परिवहन - वायु परिवहन - जल परिवहन - उर्जा - क्रिडा - कला - नैसर्गिक - बेकरी - मद्य - चॉकलेट दुकान - कॉफी दुकान - मॉल - मांस - चहाचे दुकान - वाइन दुकान - - सायकल दुकान - कपड्याचे दुकान - मुलांचे कपडे - कॉम्प्युटर दुकान - पडद्याचे दुकान - फुलांचे दुकान - फर्निचर - ज्युदो - बॅडमिंटन - मायक्रोव्हेव ओवन: हो - मायक्रोव्हेव ओवन: नाही - बिलियर्डस - - खाद्य - आर्थिक - सैन्य - मिठाई - आइसक्रीम पार्लर - चपलांचे दुकान - मेणबत्त्यांचे दुकान - दरवाजे - भेटवस्तूंचे दुकान - वनौषधी दुकान - शिकारीचे साहित्य - दागिन्याचे दुकान - वैद्यकीय पुरवठा - वाद्ये - संगीत दुकान - रंगाचे दुकान - पाळीव प्राण्यांचे दुकान - खेळण्यांचे दुकान - सौंदर्य प्रसाधने - घड्याळांचे दुकान - शस्त्रांचे दुकान - पोलिस - गाव - तालुका - शहर - फटाक्यांचे दुकान - - लांबी - - नेपाळी विकि - गुजराती विकि - पंजाबी विकि - उर्दु विकि - तामिळ विकि - मल्ल्याळम विकि - मराठी विकि - लॅटिन विकि - बंगाली विकि - तापमान - इमारत प्रकार: चर्च - इमारत प्रकार: मशिद - इमारत प्रकार: मंदिर - चौक - खाद्य दुकान - मनुष्य निर्मित - संभाषण - राहण्याची व्यवस्था - क्लब - शेतीमाल दुकान - दुग्धजन्य पदार्थांचे दुकान - इंधन प्रकार - प्रकार - इंटरनेट प्रकार - वाहनतळ प्रकार - राजधानी - धर्म - धूम्रपान - तंबू - वीज पुरवठा - कचरा विल्हेवाट - करमणूक - फोटो स्टुडिओ - - + + + दुकान + तातडीची सेवा + सार्वजनिक परिवहन + पाणीपुरवठा + शिक्षण + प्रशासकीय + पर्यटन + बस थांबा + ट्राम थांबा + कार्यालय + विकिपीडिया + पुस्तकालय + परिवहन + रस्त्यातील अडथळा + व्यक्तिगत परिवहन + वायु परिवहन + जल परिवहन + उर्जा + क्रिडा + कला + नैसर्गिक + बेकरी + मद्य + चॉकलेट दुकान + कॉफी दुकान + मॉल + मांस + चहाचे दुकान + वाइन दुकान + सायकल दुकान + कपड्याचे दुकान + मुलांचे कपडे + कॉम्प्युटर दुकान + पडद्याचे दुकान + फुलांचे दुकान + फर्निचर + ज्युदो + बॅडमिंटन + मायक्रोव्हेव ओवन: हो + मायक्रोव्हेव ओवन: नाही + बिलियर्डस + खाद्य + आर्थिक + सैन्य + मिठाईचे दुकान + आइसक्रीम पार्लर + चपलांचे दुकान + मेणबत्त्यांचे दुकान + दरवाजे + भेटवस्तूंचे दुकान + वनौषधी दुकान + शिकारीचे साहित्य + दागिन्याचे दुकान + वैद्यकीय पुरवठा + वाद्ये + संगीत दुकान + रंगाचे दुकान + पाळीव प्राण्यांचे दुकान + खेळण्यांचे दुकान + सौंदर्य प्रसाधने + घड्याळांचे दुकान + शस्त्रांचे दुकान + पोलिस + गाव + तालुका + शहर + फटाक्यांचे दुकान + लांबी + नेपाळी विकि + गुजराती विकि + पंजाबी विकि + उर्दु विकि + तामिळ विकि + मल्ल्याळम विकि + मराठी विकि + लॅटिन विकि + बंगाली विकि + तापमान + इमारत प्रकार: चर्च + इमारत प्रकार: मशिद + इमारत प्रकार: मंदिर + चौक + खाद्य दुकान + मनुष्य निर्मित + संभाषण + राहण्याची व्यवस्था + क्लब + शेतीमाल दुकान + दुग्धजन्य पदार्थांचे दुकान + इंधन प्रकार + प्रकार + इंटरनेट प्रकार + वाहनतळ प्रकार + राजधानी + धर्म + धूम्रपान + तंबू + वीज पुरवठा + कचरा विल्हेवाट + करमणूक + फोटो स्टुडिओ + पाणी पुरवठा प्रकार + वॉशिंग मशिन + लांबी + आंतरराष्ट्रीय + ग्रीक + जपानी + चीनी + भारतीय + पाण्याचा स्त्रोत + \ No newline at end of file From 939094c1691b23249d64989a668a50f272b6e21b Mon Sep 17 00:00:00 2001 From: Verdulo Date: Mon, 25 May 2020 13:43:24 +0000 Subject: [PATCH 115/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-eo/strings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index 1eb838c465..f36495d2e2 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -1177,7 +1177,7 @@ Trafikcirklo: enveturu %1$d-an elveturejon Veturu je maldekstra koridoro Veturu je dekstra koridoro - Pila nivelo + Nivelo de baterio Movu la mapon por ŝanĝi pozicion de marko Pluranguloj @@ -3054,8 +3054,8 @@ Vi povas aldoni propran modifitan version de la dosiero routing.xml al “..osmand/routing” Skiado Skiado - Montri mezurilon de kompaso - Kaŝi mezurilon de kompaso + Montri kompasrozon + Kaŝi kompasrozon Elekti emblemon Reĝimo: %s Reĝimo de uzanto bazita sur %s @@ -3470,8 +3470,8 @@ Disponeblaj Aldoni propran kategorion Montri nur dum nokto - Rekomencigis ĉiujn agordojn pri kromprogramoj. - Rekomencigis ĉiujn agordojn pri profiloj. + Restarigis ĉiujn agordojn pri kromprogramoj al implicitaj valoroj. + Restarigis ĉiujn agordojn pri profiloj al implicitaj valoroj. %1$s/%2$s Sunsubiro je %1$s Sunleviĝo je %1$s @@ -3480,14 +3480,14 @@ Registrada intertempo Ne povas pritrakti koordinat‑peton “%s”. Reordigi kategoriojn - Ŝanĝi ordigon de la listo, kaŝi malnecesajn kategoriojn. Vi povas enporti aŭ elporti ĉiujn ŝanĝojn kun profiloj. - Vi povas aldoni novan propran kategorion per elekti kelka(j)n bezonata(j)n kategorio(j)n. - Per restarigi implicitajn agordojn, ordigo de elementoj revenos al la postinstalada stato. + Ŝanĝi ordigon de la listo, kaŝi kategoriojn. Vi povas enporti aŭ elporti ĉiujn ŝanĝojn kun profiloj. + Vi povas aldoni novan propran kategorion per elekti unu aŭ pli kategoriojn. + Frapetu “restarigi implicitajn” por ke la ordigo de elementoj revenu al la postinstalada stato. Alirebleca reĝimo malaktivigita en Android. Malŝalti ekranon laŭ sistemaj agordoj - Implicite neaktiva, se OsmAnd laboras malfone, la ekrano ne malŝaltos aŭtomate. -\n -\nAktivigu tion ĉi por ke OsmAnd uzu sisteman agordon pri malŝalti ekranon. + Implicite neaktiva: se OsmAnd laboras malfone, la ekrano ne malŝaltos aŭtomate. +\n +\nAktivigu tion ĉi por ke OsmAnd uzu la sisteman agordon pri malŝalti ekranon. Forviŝi registritajn datumojn • profiloj: eblo ŝanĝi ilian ordigon, agordi emblemon por mapo, ŝanĝi ĉiujn agordojn por bazaj profiloj kaj restarigi implicitajn valorojn \n From acf19697c99009817145fec6d686ed21893a61d4 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Mon, 25 May 2020 02:50:43 +0000 Subject: [PATCH 116/509] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 620eef42b9..e6f2545021 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -3474,21 +3474,21 @@ 相機快門聲 驗證成功 重新排列分類 - 變更清單順序,隱藏不需要的分類。你可以匯入或匯出所有包含變更的設定檔。 - 您可以透過選取一個或多個需要的分類來新增自訂的分類。 + 變更清單順序、隱藏分類。你可以匯入或匯出所有包含變更的設定檔。 + 您可以透過選取一個或多個分類來新增自訂的分類。 可用 新增自訂分類 僅在夜間顯示 - 所有外掛程式設定都已恢復為預設狀態。 - 所有設定檔的設定都已恢復為預設狀態。 + 所有外掛程式設定都已恢復為預設值。 + 所有設定檔的設定都已恢復為預設值。 %1$s/%2$s 日落於 %1$s 日出於 %1$s - 您的 Android 關閉了無障礙模式。 - 重設為預設值將會把排序重設回安裝後的預設值。 + 您的 Android 系統關閉了無障礙模式。 + 「重設為預設值」會將排序恢復為安裝時的預設值。 使用系統畫面逾時 - 預設停用,如果 OsmAnd 在前景執行,畫面就不會有逾時的問題。 -\n + 預設停用:當 OsmAnd 在前景執行時,畫面就不會有逾時的問題。 +\n \n若啟用,OsmAnd 將會使用系統逾時設定。 清除已紀錄的資料 • 設定檔:現在您可以變更順序、設定地圖圖示、變更基本設定檔的所有設定以及將它們復原 From 5cc9752ec24bdab82ab58bc1435ed6474849ab38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1ns?= Date: Sun, 24 May 2020 23:06:26 +0000 Subject: [PATCH 117/509] Translated using Weblate (Galician) Currently translated at 82.7% (221 of 267 strings) Translation: OsmAnd/Telegram Translate-URL: https://hosted.weblate.org/projects/osmand/telegram/gl/ --- OsmAnd-telegram/res/values-gl/strings.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OsmAnd-telegram/res/values-gl/strings.xml b/OsmAnd-telegram/res/values-gl/strings.xml index c7d9f4cb4e..9e54794229 100644 --- a/OsmAnd-telegram/res/values-gl/strings.xml +++ b/OsmAnd-telegram/res/values-gl/strings.xml @@ -216,4 +216,13 @@ Procura en tódolos teus grupos e contactos. Escribe o nome do contacto ou do grupo Procurar + Estado do Rastrexador do OsmAnd + Suxerido + Voltar ó OsmAnd + hai %1$s + Última resposta: hai %1$s + Última actualización dende o Telegram: hai %1$s + Última resposta: %1$s + Última actualización dende o Telegram: %1$s + ERR \ No newline at end of file From 1df4d0a6dbabd81fa827635bc09806821c53601b Mon Sep 17 00:00:00 2001 From: solokot Date: Mon, 25 May 2020 19:22:42 +0000 Subject: [PATCH 118/509] Translated using Weblate (Russian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ru/strings.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index aaba7e07d4..a4786e862e 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -455,7 +455,7 @@ Автоцентр просмотра карты во время использования. Маршрут GPX Найдено несколько связанных категорий POI. - Загрузите данные для автономного поиска POI. + Загрузите данные для локального поиска POI. Поиск по имени Данные POI «%1$s» устарели и могут быть удалены. Файл с обновляемыми POI не найден и не может быть создан. @@ -786,12 +786,12 @@ Поиск адреса… Поиск адреса в OSM Nominatim Онлайн поиск: Номер дома, улица, Город - Автономный поиск + Локальный поиск Онлайн поиск Уровень детализации Выберите максимальный масштаб для загрузки тайлов карт из интернета. Общая протяжённость = %1$s, время в пути = %2$d ч. %3$d м. - Онлайн или автономный сервис для прокладки маршрута. + Онлайн или локальный сервис для прокладки маршрута. Прокладка маршрута Папка для хранения данных на SD-карте недоступна! Загрузить {0} — {1}\? @@ -1374,7 +1374,7 @@ Настройки навигации Настройки маршрутизации Грузовик - Автономно рассчитать маршрут OsmAnd + Локально рассчитать маршрут OsmAnd Копирование файлов данных OsmAnd… Скорость произношения Выберите отображаемые профили. @@ -1796,7 +1796,7 @@ Для правильного отображения дорожных знаков и правил, пожалуйста, выберите свой регион вождения: Добро пожаловать Отметить для удаления - OsmAnd обеспечивает глобальный автономный просмотр карт и автономную навигацию. + OsmAnd обеспечивает глобальный локальный просмотр карт и автономную навигацию. OSM изменения добавлены в локальную базу данных Во многих странах (Германия, Франция, Италия и другие) использование предупреждения о камерах контроля скорости не допускается законом. OsmAnd не несёт никакой ответственности, если вы нарушите закон. Пожалуйста, нажмите «Да» только если вы имеете право использовать эту функцию. Информация A-GPS @@ -3512,7 +3512,7 @@ Импорт профиля Навигация, точность ведения журнала Размер изображения, качество звука и видео - Логин, пароль, автономное редактирование + Логин, пароль, локальное редактирование Выберите значок, цвет и имя Позволяет обмениваться текущим местоположением с помощью записи поездки. Онлайн-отслеживание From 90fcbc45305bc39849ba2b80deb1f3fc77ce7cbf Mon Sep 17 00:00:00 2001 From: Ahmad Alfrhood Date: Mon, 25 May 2020 22:35:37 +0000 Subject: [PATCH 119/509] Translated using Weblate (Arabic) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ar/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index bfd3848ef5..1f9ab4efe2 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -3471,7 +3471,7 @@ متاح إضافة فئة مخصصة اظهر في الليل فقط - استعادة جميع إعدادات البرنامج المساعد plugin إلى الحالة الافتراضية. + استعادة جميع إعدادات البرنامج المساعد إلى الحالة الافتراضية. تمت استعادة جميع إعدادات الوضع إلى الحالة الافتراضية. %1$s/%2$s غروب الشمس على %1$s From 1fe6b21dc1e8e50e0dbe3b1059801540ab37fe78 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Mon, 25 May 2020 20:59:09 +0000 Subject: [PATCH 120/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-eo/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index f36495d2e2..ab63e4c72e 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -1212,7 +1212,7 @@ Mi estas tie ĉi Senpaga versio Hejmo - Fasada lingvo + Lingvo de aplikaĵo nekompleta Aktivigu la kromprogramon “enretaj mapoj” por elekti aliajn fontojn de mapoj Enretaj kaj kahelaj mapoj From 1985364a2134ccb41bca40f14e80de7baff9f1ff Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 26 May 2020 10:14:17 +0300 Subject: [PATCH 121/509] Add proper icons for FPS widget --- OsmAnd/res/drawable/widget_fps_day.xml | 25 ++++++++++++++++++++++++ OsmAnd/res/drawable/widget_fps_night.xml | 25 ++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 OsmAnd/res/drawable/widget_fps_day.xml create mode 100644 OsmAnd/res/drawable/widget_fps_night.xml diff --git a/OsmAnd/res/drawable/widget_fps_day.xml b/OsmAnd/res/drawable/widget_fps_day.xml new file mode 100644 index 0000000000..53524499ca --- /dev/null +++ b/OsmAnd/res/drawable/widget_fps_day.xml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/OsmAnd/res/drawable/widget_fps_night.xml b/OsmAnd/res/drawable/widget_fps_night.xml new file mode 100644 index 0000000000..4e3836ec82 --- /dev/null +++ b/OsmAnd/res/drawable/widget_fps_night.xml @@ -0,0 +1,25 @@ + + + + + + + From b48a516dd8a6a755fafc0f0fe9bb57a3026e5b6b Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Tue, 26 May 2020 15:15:53 +0200 Subject: [PATCH 122/509] Fix security exception --- .../net/osmand/plus/helpers/ImportHelper.java | 98 +++++++++---------- .../plus/myplaces/FavoritesActivity.java | 2 +- 2 files changed, 49 insertions(+), 51 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java index 96914f4e13..ba8e105ad0 100644 --- a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java +++ b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java @@ -9,7 +9,6 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; -import android.os.ParcelFileDescriptor; import android.provider.OpenableColumns; import android.provider.Settings; import android.widget.Toast; @@ -60,7 +59,6 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; @@ -165,7 +163,7 @@ public class ImportHelper { return false; } - public void handleFavouritesImport(@NonNull Uri uri) { + public void handleGpxOrFavouritesImport(@NonNull Uri uri) { String scheme = uri.getScheme(); boolean isFileIntent = "file".equals(scheme); boolean isContentIntent = "content".equals(scheme); @@ -177,7 +175,7 @@ public class ImportHelper { } else if (isContentIntent) { fileName = getNameFromContentUri(app, uri); } - handleFavouritesImport(uri, fileName, saveFile, false, true); + handleGpxOrFavouritesImport(uri, fileName, saveFile, false, true); } public void handleFileImport(Uri intentUri, String fileName, Bundle extras, boolean useImportDir) { @@ -186,40 +184,48 @@ public class ImportHelper { final boolean saveFile = !isFileIntent || !isOsmandSubdir; - if (fileName != null && fileName.endsWith(KML_SUFFIX)) { + if (fileName == null) { + handleGpxOrFavouritesImport(intentUri, fileName, saveFile, useImportDir, false); + } else if (fileName.endsWith(KML_SUFFIX)) { handleKmlImport(intentUri, fileName, saveFile, useImportDir); - } else if (fileName != null && fileName.endsWith(KMZ_SUFFIX)) { + } else if (fileName.endsWith(KMZ_SUFFIX)) { handleKmzImport(intentUri, fileName, saveFile, useImportDir); - } else if (fileName != null && fileName.endsWith(IndexConstants.BINARY_MAP_INDEX_EXT)) { + } else if (fileName.endsWith(IndexConstants.BINARY_MAP_INDEX_EXT)) { handleObfImport(intentUri, fileName); - } else if (fileName != null && fileName.endsWith(IndexConstants.SQLITE_EXT)) { + } else if (fileName.endsWith(IndexConstants.SQLITE_EXT)) { handleSqliteTileImport(intentUri, fileName); - } else if (fileName != null && fileName.endsWith(OSMAND_SETTINGS_FILE_EXT)) { + } else if (fileName.endsWith(OSMAND_SETTINGS_FILE_EXT)) { handleOsmAndSettingsImport(intentUri, fileName, extras, null); - } else if (fileName != null && fileName.endsWith(ROUTING_FILE_EXT)) { + } else if (fileName.endsWith(ROUTING_FILE_EXT)) { handleXmlFileImport(intentUri, fileName, null); } else { - handleFavouritesImport(intentUri, fileName, saveFile, useImportDir, false); + handleGpxOrFavouritesImport(intentUri, fileName, saveFile, useImportDir, false); } } public static String getNameFromContentUri(OsmandApplication app, Uri contentUri) { - final String name; - final Cursor returnCursor = app.getContentResolver().query(contentUri, new String[] {OpenableColumns.DISPLAY_NAME}, null, null, null); - if (returnCursor != null && returnCursor.moveToFirst()) { - int columnIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); - if (columnIndex != -1) { - name = returnCursor.getString(columnIndex); + try { + final String name; + final Cursor returnCursor = app.getContentResolver().query(contentUri, new String[]{OpenableColumns.DISPLAY_NAME}, null, null, null); + if (returnCursor != null && returnCursor.moveToFirst()) { + int columnIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); + if (columnIndex != -1) { + name = returnCursor.getString(columnIndex); + } else { + name = contentUri.getLastPathSegment(); + } } else { - name = contentUri.getLastPathSegment(); + name = null; } - } else { - name = null; + if (returnCursor != null && !returnCursor.isClosed()) { + returnCursor.close(); + } + return name; + } catch (RuntimeException e) { + log.error(e.getMessage(), e); + return null; } - if (returnCursor != null && !returnCursor.isClosed()) { - returnCursor.close(); - } - return name; + } @SuppressLint("StaticFieldLeak") @@ -236,10 +242,8 @@ public class ImportHelper { protected GPXFile doInBackground(Void... nothing) { InputStream is = null; try { - final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(gpxFile, "r"); - - if (pFD != null) { - is = new FileInputStream(pFD.getFileDescriptor()); + is = app.getContentResolver().openInputStream(gpxFile); + if (is != null) { return GPXUtilities.loadGPXFile(is); } } catch (FileNotFoundException e) { @@ -264,7 +268,7 @@ public class ImportHelper { } @SuppressLint("StaticFieldLeak") - private void handleFavouritesImport(final Uri fileUri, final String fileName, final boolean save, final boolean useImportDir, final boolean forceImportFavourites) { + private void handleGpxOrFavouritesImport(final Uri fileUri, final String fileName, final boolean save, final boolean useImportDir, final boolean forceImportFavourites) { new AsyncTask() { ProgressDialog progress = null; @@ -278,10 +282,8 @@ public class ImportHelper { InputStream is = null; ZipInputStream zis = null; try { - final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(fileUri, "r"); - if (pFD != null) { - is = new FileInputStream(pFD.getFileDescriptor()); - + is = app.getContentResolver().openInputStream(fileUri); + if (is != null) { if (fileName != null && fileName.endsWith(KML_SUFFIX)) { final String result = Kml2Gpx.toGpx(is); if (result != null) { @@ -331,7 +333,7 @@ public class ImportHelper { progress.dismiss(); } - importFavourites(result, fileName, save, useImportDir, forceImportFavourites); + importGpxOrFavourites(result, fileName, save, useImportDir, forceImportFavourites); } }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } @@ -394,9 +396,8 @@ public class ImportHelper { InputStream is = null; ZipInputStream zis = null; try { - final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(kmzFile, "r"); - if (pFD != null) { - is = new FileInputStream(pFD.getFileDescriptor()); + is = app.getContentResolver().openInputStream(kmzFile); + if (is != null) { zis = new ZipInputStream(is); zis.getNextEntry(); final String result = Kml2Gpx.toGpx(zis); @@ -449,9 +450,8 @@ public class ImportHelper { protected GPXFile doInBackground(Void... nothing) { InputStream is = null; try { - final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(kmlFile, "r"); - if (pFD != null) { - is = new FileInputStream(pFD.getFileDescriptor()); + is = app.getContentResolver().openInputStream(kmlFile); + if (is != null) { final String result = Kml2Gpx.toGpx(is); if (result != null) { try { @@ -533,13 +533,12 @@ public class ImportHelper { InputStream in = null; OutputStream out = null; try { - final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(uri, "r"); - if (pFD != null) { - in = new FileInputStream(pFD.getFileDescriptor()); + in = app.getContentResolver().openInputStream(uri); + if (in != null) { out = new FileOutputStream(dest); Algorithms.streamCopy(in, out); try { - pFD.close(); + in.close(); } catch (IOException e) { e.printStackTrace(); } @@ -893,9 +892,8 @@ public class ImportHelper { private void checkImportType() { InputStream is = null; try { - final ParcelFileDescriptor pFD = app.getContentResolver().openFileDescriptor(intentUri, "r"); - if (pFD != null) { - is = new FileInputStream(pFD.getFileDescriptor()); + is = app.getContentResolver().openInputStream(intentUri); + if (is != null) { XmlPullParser parser = PlatformUtil.newXMLPullParser(); parser.setInput(is, "UTF-8"); int tok; @@ -911,7 +909,7 @@ public class ImportHelper { } } try { - pFD.close(); + is.close(); } catch (IOException e) { log.error(e); } @@ -1101,8 +1099,8 @@ public class ImportHelper { } } - private void importFavourites(final GPXFile gpxFile, final String fileName, final boolean save, - final boolean useImportDir, final boolean forceImportFavourites) { + private void importGpxOrFavourites(final GPXFile gpxFile, final String fileName, final boolean save, + final boolean useImportDir, final boolean forceImportFavourites) { if (gpxFile == null || gpxFile.isPointsEmpty()) { if (forceImportFavourites) { final DialogInterface.OnClickListener importAsTrackListener = new DialogInterface.OnClickListener() { diff --git a/OsmAnd/src/net/osmand/plus/myplaces/FavoritesActivity.java b/OsmAnd/src/net/osmand/plus/myplaces/FavoritesActivity.java index e56916bff0..5022942bf8 100644 --- a/OsmAnd/src/net/osmand/plus/myplaces/FavoritesActivity.java +++ b/OsmAnd/src/net/osmand/plus/myplaces/FavoritesActivity.java @@ -155,7 +155,7 @@ public class FavoritesActivity extends TabActivity { } } else if (requestCode == IMPORT_FAVOURITES_REQUEST && resultCode == Activity.RESULT_OK) { if (data != null && data.getData() != null) { - importHelper.handleFavouritesImport(data.getData()); + importHelper.handleGpxOrFavouritesImport(data.getData()); } } else { super.onActivityResult(requestCode, resultCode, data); From d254de8598df7352f13de38ede23560631866cb1 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Tue, 26 May 2020 17:06:14 +0300 Subject: [PATCH 123/509] add/edit map source dialog redesign --- OsmAnd/res/layout/edit_text_with_descr.xml | 42 ++ .../res/layout/fragment_edit_map_source.xml | 125 +++++ .../res/layout/point_editor_fragment_new.xml | 4 +- OsmAnd/res/layout/zoom_levels_with_descr.xml | 102 ++++ OsmAnd/res/values/colors.xml | 1 + OsmAnd/res/values/strings.xml | 17 + OsmAnd/res/values/styles.xml | 12 + .../src/net/osmand/plus/SQLiteTileSource.java | 8 +- .../plus/activities/MapActivityLayers.java | 26 +- .../download/ui/LocalIndexesFragment.java | 23 +- .../EditMapSourceDialogFragment.java | 458 ++++++++++++++++++ .../plus/mapsource/ExpireTimeBottomSheet.java | 119 +++++ .../mapsource/InputZoomLevelsBottomSheet.java | 193 ++++++++ .../MercatorProjectionBottomSheet.java | 119 +++++ .../TileStorageFormatBottomSheet.java | 119 +++++ .../rastermaps/OsmandRasterMapsPlugin.java | 144 +----- 16 files changed, 1332 insertions(+), 180 deletions(-) create mode 100644 OsmAnd/res/layout/edit_text_with_descr.xml create mode 100644 OsmAnd/res/layout/fragment_edit_map_source.xml create mode 100644 OsmAnd/res/layout/zoom_levels_with_descr.xml create mode 100644 OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java create mode 100644 OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java create mode 100644 OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java create mode 100644 OsmAnd/src/net/osmand/plus/mapsource/MercatorProjectionBottomSheet.java create mode 100644 OsmAnd/src/net/osmand/plus/mapsource/TileStorageFormatBottomSheet.java diff --git a/OsmAnd/res/layout/edit_text_with_descr.xml b/OsmAnd/res/layout/edit_text_with_descr.xml new file mode 100644 index 0000000000..a1fe467b94 --- /dev/null +++ b/OsmAnd/res/layout/edit_text_with_descr.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/fragment_edit_map_source.xml b/OsmAnd/res/layout/fragment_edit_map_source.xml new file mode 100644 index 0000000000..b179cc5eb6 --- /dev/null +++ b/OsmAnd/res/layout/fragment_edit_map_source.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/layout/point_editor_fragment_new.xml b/OsmAnd/res/layout/point_editor_fragment_new.xml index 53b1578816..5a08263989 100644 --- a/OsmAnd/res/layout/point_editor_fragment_new.xml +++ b/OsmAnd/res/layout/point_editor_fragment_new.xml @@ -76,7 +76,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:hint="@string/shared_string_name" - app:boxBackgroundColor="#4DCCCCCC"> + app:boxBackgroundColor="@color/input_layout_bg_color"> + app:boxBackgroundColor="@color/input_layout_bg_color"> + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OsmAnd/res/values/colors.xml b/OsmAnd/res/values/colors.xml index 59415b1a6a..dc88bfcfbc 100644 --- a/OsmAnd/res/values/colors.xml +++ b/OsmAnd/res/values/colors.xml @@ -465,5 +465,6 @@ #1AD28521 #80237BFF #80000000 + #4DCCCCCC \ No newline at end of file diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 8308881ea1..01a7f7b6f2 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,23 @@ Thx - Hardy --> + Choose how downloaded tiles will be stored. + Expiration time in minutes. Cached tiles will be reloaded after specified time. + Leave this field empty if you do not need to reload tiles for this source. + \n\nOne day is 1440 minutes.\nOne week is 10 080 minutes.\nOne month is 43 829 minutes. + This parameters will affect the map display when used as a map type or overlay/underlay. + \n\n%1$s: the map will be limited to the selected zooms. \n\n%2$s: Zoom levels at which + tiles will be visible. Upscale or downscale will occur above or below the set values. + Set the minimum and maximum zoom level at which the online map will be displayed or loaded. + Storage format + Mercator Projection + Expire time + Edit online source + Enter or paste URL for online source. + Provide name for online map source. + SQLiteDB file + One image file per tile + Pseudo-Mercator projection Unsupported type World overview map (detailed) Could not find any such profiles. diff --git a/OsmAnd/res/values/styles.xml b/OsmAnd/res/values/styles.xml index 468bdfe57d..56605b7adf 100644 --- a/OsmAnd/res/values/styles.xml +++ b/OsmAnd/res/values/styles.xml @@ -789,4 +789,16 @@ + + + diff --git a/OsmAnd/src/net/osmand/plus/SQLiteTileSource.java b/OsmAnd/src/net/osmand/plus/SQLiteTileSource.java index c63609df37..1f821d7921 100644 --- a/OsmAnd/src/net/osmand/plus/SQLiteTileSource.java +++ b/OsmAnd/src/net/osmand/plus/SQLiteTileSource.java @@ -82,6 +82,8 @@ public class SQLiteTileSource implements ITileSource { if (is.getName().equalsIgnoreCase(sourceName)) { base = is; urlTemplate = is.getUrlTemplate(); + expirationTimeMillis = is.getExpirationTimeMillis(); + inversiveZoom = is.getInversiveZoom(); break; } } @@ -336,6 +338,8 @@ public class SQLiteTileSource implements ITileSource { } public void updateFromTileSourceTemplate(TileSourceTemplate r) { + db = ctx.getSQLiteAPI().getOrCreateDatabase( + ctx.getAppPath(TILES_INDEX_DIR).getAbsolutePath() + "/" + name + SQLITE_EXT, false); if (!onlyReadonlyAvailable) { int maxZoom = r.getMaximumZoomSupported(); int minZoom = r.getMinimumZoomSupported(); @@ -347,10 +351,10 @@ public class SQLiteTileSource implements ITileSource { if (getUrlTemplate() != null && !getUrlTemplate().equals(r.getUrlTemplate())) { db.execSQL("update info set " + URL + " = '" + r.getUrlTemplate() + "'"); } - if (r.getMinimumZoomSupported() != minZoom) { + if (minZoom != this.minZoom) { db.execSQL("update info set " + MIN_ZOOM + " = '" + minZoom + "'"); } - if (r.getMaximumZoomSupported() != maxZoom) { + if (maxZoom != this.maxZoom) { db.execSQL("update info set " + MAX_ZOOM + " = '" + maxZoom + "'"); } if (r.isEllipticYTile() != isEllipticYTile()) { diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java index ae8af82440..2f172a8bbd 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java @@ -445,12 +445,12 @@ public class MapActivityLayers { final String layerOsmVector = "LAYER_OSM_VECTOR"; final String layerInstallMore = "LAYER_INSTALL_MORE"; - final String layerEditInstall = "LAYER_EDIT"; + final String layerAdd = "LAYER_ADD"; entriesMap.put(layerOsmVector, getString(R.string.vector_data)); entriesMap.putAll(settings.getTileSourceEntries()); entriesMap.put(layerInstallMore, getString(R.string.install_more)); - entriesMap.put(layerEditInstall, getString(R.string.maps_define_edit)); + entriesMap.put(layerAdd, getString(R.string.shared_string_add)); final List> entriesMapList = new ArrayList<>(entriesMap.entrySet()); @@ -499,26 +499,8 @@ public class MapActivityLayers { updateMapSource(mapView, null); updateItem(it, adapter, null); break; - case layerEditInstall: - OsmandRasterMapsPlugin.defineNewEditLayer(activity, new ResultMatcher() { - - @Override - public boolean publish(TileSourceTemplate object) { - settings.MAP_TILE_SOURCES.set(object.getName()); - settings.MAP_ONLINE_DATA.set(true); - if(it != null) { - it.setDescription(object.getName()); - } - updateMapSource(mapView, settings.MAP_TILE_SOURCES); - return true; - } - - @Override - public boolean isCancelled() { - return false; - } - - }, null); + case layerAdd: + OsmandRasterMapsPlugin.defineNewEditLayer(activity.getSupportFragmentManager(), null, null); break; case layerInstallMore: OsmandRasterMapsPlugin.installMapLayers(activity, new ResultMatcher() { diff --git a/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java b/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java index bbb0f694e9..426cba0e2d 100644 --- a/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java +++ b/OsmAnd/src/net/osmand/plus/download/ui/LocalIndexesFragment.java @@ -63,6 +63,7 @@ import net.osmand.plus.download.DownloadIndexesThread.DownloadEvents; import net.osmand.plus.download.IndexItem; import net.osmand.plus.helpers.FileNameTranslationHelper; import net.osmand.plus.inapp.InAppPurchaseHelper; +import net.osmand.plus.mapsource.EditMapSourceDialogFragment; import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin; import net.osmand.plus.resources.IncrementalChangesManager; import net.osmand.util.Algorithms; @@ -81,7 +82,7 @@ import java.util.Set; import java.util.regex.Pattern; -public class LocalIndexesFragment extends OsmandExpandableListFragment implements DownloadEvents { +public class LocalIndexesFragment extends OsmandExpandableListFragment implements DownloadEvents, EditMapSourceDialogFragment.OnMapSourceUpdateListener { public static final Pattern ILLEGAL_FILE_NAME_CHARACTERS = Pattern.compile("[?:\"*|/<>]"); public static final Pattern ILLEGAL_PATH_NAME_CHARACTERS = Pattern.compile("[?:\"*|<>]"); @@ -242,19 +243,7 @@ public class LocalIndexesFragment extends OsmandExpandableListFragment implement confirm.setMessage(getString(R.string.clear_confirmation_msg, fn)); confirm.show(); } else if (resId == R.string.shared_string_edit) { - OsmandRasterMapsPlugin.defineNewEditLayer(getDownloadActivity(), - new ResultMatcher() { - @Override - public boolean isCancelled() { - return false; - } - - @Override - public boolean publish(TileSourceManager.TileSourceTemplate object) { - getDownloadActivity().reloadLocalIndexes(); - return true; - } - }, info.getFileName()); + OsmandRasterMapsPlugin.defineNewEditLayer(getDownloadActivity().getSupportFragmentManager(), this, info.getFileName()); } else if (resId == R.string.local_index_mi_restore) { new LocalIndexOperationTask(getDownloadActivity(), listAdapter, LocalIndexOperationTask.RESTORE_OPERATION).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, info); } else if (resId == R.string.shared_string_delete) { @@ -339,7 +328,7 @@ public class LocalIndexesFragment extends OsmandExpandableListFragment implement } } - private static File renameSQLiteFile(OsmandApplication ctx, File source, String newName, + public static File renameSQLiteFile(OsmandApplication ctx, File source, String newName, RenameCallback callback) { File dest = checkRenamePossibility(ctx, source, newName, false); if (dest == null) { @@ -405,6 +394,10 @@ public class LocalIndexesFragment extends OsmandExpandableListFragment implement return dest; } + @Override + public void onMapSourceUpdated() { + getDownloadActivity().reloadLocalIndexes(); + } public class LoadLocalIndexTask extends AsyncTask> implements AbstractLoadLocalIndexTask { diff --git a/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java b/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java new file mode 100644 index 0000000000..cf8381a309 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java @@ -0,0 +1,458 @@ +package net.osmand.plus.mapsource; + +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; + +import net.osmand.AndroidUtils; +import net.osmand.IndexConstants; +import net.osmand.PlatformUtil; +import net.osmand.map.TileSourceManager; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.R; +import net.osmand.plus.SQLiteTileSource; +import net.osmand.plus.UiUtilities; +import net.osmand.plus.base.BaseOsmAndDialogFragment; +import net.osmand.plus.mapsource.InputZoomLevelsBottomSheet.OnZoomSetListener; +import net.osmand.plus.mapsource.ExpireTimeBottomSheet.OnExpireValueSetListener; +import net.osmand.plus.mapsource.MercatorProjectionBottomSheet.OnMercatorSelectedListener; +import net.osmand.plus.mapsource.TileStorageFormatBottomSheet.OnTileStorageFormatSelectedListener; +import net.osmand.util.Algorithms; + + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.logging.Log; + +import java.io.File; +import java.util.List; + +import static net.osmand.plus.download.ui.LocalIndexesFragment.ILLEGAL_FILE_NAME_CHARACTERS; +import static net.osmand.plus.download.ui.LocalIndexesFragment.renameSQLiteFile; + +public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment + implements OnZoomSetListener, OnExpireValueSetListener, OnMercatorSelectedListener, + OnTileStorageFormatSelectedListener, View.OnClickListener { + + public static final String TAG = EditMapSourceDialogFragment.class.getName(); + static final int EXPIRE_TIME_NEVER = -1; + private static final Log LOG = PlatformUtil.getLog(EditMapSourceDialogFragment.class); + private static final String MAPS_PLUGINS_URL = "https://osmand.net/features/online-maps-plugin"; + private static final String PNG_EXT = "png"; + private static final int MAX_ZOOM = 17; + private static final int MIN_ZOOM = 5; + private static final int TILE_SIZE = 256; + private static final int BIT_DENSITY = 16; + private static final int AVG_SIZE = 32000; + private static final String EDIT_LAYER_NAME_KEY = "edit_layer_name_key"; + private static final String MIN_ZOOM_KEY = "min_zoom_key"; + private static final String MAX_ZOOM_KEY = "max_zoom_key"; + private static final String EXPIRE_TIME_KEY = "expire_time_key"; + private static final String ELLIPTIC_KEY = "elliptic_key"; + private static final String SQLITE_DB_KEY = "sqlite_db_key"; + private OsmandApplication app; + private TextInputEditText nameEditText; + private TextInputEditText urlEditText; + private LinearLayout contentContainer; + private FrameLayout saveBtn; + private TextView saveBtnTitle; + private TileSourceManager.TileSourceTemplate template; + @Nullable + private String editedLayerName; + private String urlToLoad = ""; + private int minZoom = MIN_ZOOM; + private int maxZoom = MAX_ZOOM; + private int expireTimeMinutes = EXPIRE_TIME_NEVER; + private boolean elliptic = false; + private boolean sqliteDB = false; + private boolean nightMode; + + public static void showInstance(@NonNull FragmentManager fm, + @Nullable Fragment targetFragment, + @Nullable String editedLayerName) { + EditMapSourceDialogFragment fragment = new EditMapSourceDialogFragment(); + fragment.setTargetFragment(targetFragment, 0); + fragment.setEditedLayerName(editedLayerName); + fragment.show(fm, TAG); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + app = getMyApplication(); + nightMode = !app.getSettings().isLightContent(); + } + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + if (savedInstanceState != null) { + editedLayerName = savedInstanceState.getString(EDIT_LAYER_NAME_KEY); + minZoom = savedInstanceState.getInt(MIN_ZOOM_KEY); + maxZoom = savedInstanceState.getInt(MAX_ZOOM_KEY); + expireTimeMinutes = savedInstanceState.getInt(EXPIRE_TIME_KEY); + elliptic = savedInstanceState.getBoolean(ELLIPTIC_KEY); + sqliteDB = savedInstanceState.getBoolean(SQLITE_DB_KEY); + } + View root = UiUtilities.getMaterialInflater(getContext(), nightMode).inflate(R.layout.fragment_edit_map_source, container, false); + Toolbar toolbar = root.findViewById(R.id.toolbar); + ImageView iconHelp = root.findViewById(R.id.toolbar_action); + Drawable closeDrawable = app.getUIUtilities().getIcon(R.drawable.ic_arrow_back, + nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light); + Drawable helpDrawable = app.getUIUtilities().getIcon(R.drawable.ic_action_help, + nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light); + iconHelp.setImageDrawable(helpDrawable); + iconHelp.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + onHelpClick(); + } + }); + toolbar.setNavigationIcon(closeDrawable); + toolbar.setNavigationContentDescription(R.string.shared_string_close); + toolbar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showExitDialog(); + } + }); + int boxStrokeColor = nightMode + ? getResources().getColor(R.color.app_bar_color_light) + : getResources().getColor(R.color.active_buttons_and_links_bg_pressed_dark); + TextInputLayout nameInputLayout = root.findViewById(R.id.name_input_layout); + nameInputLayout.setBoxStrokeColor(boxStrokeColor); + nameEditText = root.findViewById(R.id.name_edit_text); + TextInputLayout urlInputLayout = root.findViewById(R.id.url_input_layout); + urlInputLayout.setBoxStrokeColor(boxStrokeColor); + urlEditText = root.findViewById(R.id.url_edit_text); + nameEditText.addTextChangedListener(getTextWatcher()); + urlEditText.addTextChangedListener(getTextWatcher()); + contentContainer = root.findViewById(R.id.content_container); + saveBtn = root.findViewById(R.id.save_button); + saveBtnTitle = root.findViewById(R.id.save_button_title); + saveBtn.setOnClickListener(this); + template = new TileSourceManager.TileSourceTemplate("", "", PNG_EXT, MAX_ZOOM, MIN_ZOOM, TILE_SIZE, BIT_DENSITY, AVG_SIZE); + if (editedLayerName != null) { + if (!editedLayerName.endsWith(IndexConstants.SQLITE_EXT)) { + File f = app.getAppPath(IndexConstants.TILES_INDEX_DIR + editedLayerName); + template = TileSourceManager.createTileSourceTemplate(f); + sqliteDB = false; + } else { + List knownTemplates = TileSourceManager.getKnownSourceTemplates(); + File tPath = app.getAppPath(IndexConstants.TILES_INDEX_DIR); + File dir = new File(tPath, editedLayerName); + SQLiteTileSource sqLiteTileSource = new SQLiteTileSource(app, dir, knownTemplates); + sqLiteTileSource.couldBeDownloadedFromInternet(); + template = new TileSourceManager.TileSourceTemplate(sqLiteTileSource.getName(), + sqLiteTileSource.getUrlTemplate(), PNG_EXT, sqLiteTileSource.getMaximumZoomSupported(), + sqLiteTileSource.getMinimumZoomSupported(), sqLiteTileSource.getTileSize(), + sqLiteTileSource.getBitDensity(), AVG_SIZE); + template.setExpirationTimeMinutes(sqLiteTileSource.getExpirationTimeMinutes()); + template.setEllipticYTile(sqLiteTileSource.isEllipticYTile()); + sqliteDB = true; + } + } + if (savedInstanceState == null) { + urlToLoad = template.getUrlTemplate(); + expireTimeMinutes = template.getExpirationTimeMinutes(); + minZoom = template.getMinimumZoomSupported(); + maxZoom = template.getMaximumZoomSupported(); + elliptic = template.isEllipticYTile(); + } + updateUi(); + return root; + } + + @Override + public void onSaveInstanceState(@NonNull Bundle outState) { + outState.putString(EDIT_LAYER_NAME_KEY, editedLayerName); + outState.putInt(MIN_ZOOM_KEY, minZoom); + outState.putInt(MAX_ZOOM_KEY, maxZoom); + outState.putInt(EXPIRE_TIME_KEY, expireTimeMinutes); + outState.putBoolean(ELLIPTIC_KEY, elliptic); + outState.putBoolean(SQLITE_DB_KEY, sqliteDB); + super.onSaveInstanceState(outState); + } + + @Override + public void onResume() { + super.onResume(); + Dialog dialog = getDialog(); + if (dialog != null) { + dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { + @Override + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == android.view.KeyEvent.KEYCODE_BACK) { + if (event.getAction() == KeyEvent.ACTION_DOWN) { + return true; + } else { + showExitDialog(); + return true; + } + } + return false; + } + }); + } + } + + @Override + public void onZoomSet(int min, int max) { + if (isAdded()) { + minZoom = min; + maxZoom = max; + updateDescription(ConfigurationItem.ZOOM_LEVELS); + } + } + + @Override + public void onExpireValueSet(int expireValue) { + if (isAdded()) { + expireTimeMinutes = expireValue; + updateDescription(ConfigurationItem.EXPIRE_TIME); + } + } + + @Override + public void onMercatorSelected(boolean elliptic) { + if (isAdded()) { + this.elliptic = elliptic; + updateDescription(ConfigurationItem.MERCATOR_PROJECTION); + } + } + + @Override + public void onStorageFormatSelected(boolean sqliteDb) { + if (isAdded()) { + this.sqliteDB = sqliteDb; + updateDescription(ConfigurationItem.STORAGE_FORMAT); + } + } + + @Override + public void onClick(View view) { + if (view.getId() == R.id.save_button) { + saveTemplate(); + dismiss(); + } + } + + private TextWatcher getTextWatcher() { + return new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { + + } + + @Override + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { + String s = charSequence.toString(); + if (Algorithms.isEmpty(s)) { + saveBtn.setEnabled(false); + saveBtnTitle.setEnabled(false); + } else { + saveBtn.setEnabled(true); + saveBtnTitle.setEnabled(true); + } + } + + @Override + public void afterTextChanged(Editable editable) { + + } + }; + } + + private void saveTemplate() { + try { + String newName = nameEditText.getText().toString(); + String urlToLoad = urlEditText.getText().toString(); + template.setName(newName); + template.setUrlToLoad(urlToLoad.isEmpty() ? null : urlToLoad.replace("{$x}", "{1}").replace("{$y}", "{2}").replace("{$z}", "{0}")); + template.setMinZoom(minZoom); + template.setMaxZoom(maxZoom); + template.setEllipticYTile(elliptic); + template.setExpirationTimeMinutes(expireTimeMinutes); + File f = app.getAppPath(IndexConstants.TILES_INDEX_DIR + editedLayerName); + if (f.exists()) { + int extIndex = f.getName().lastIndexOf('.'); + String ext = extIndex == -1 ? "" : f.getName().substring(extIndex); + String originalName = extIndex == -1 ? f.getName() : f.getName().substring(0, extIndex); + if (!Algorithms.objectEquals(newName, originalName)) { + if (IndexConstants.SQLITE_EXT.equals(ext) && sqliteDB) { + renameSQLiteFile(app, f, newName, null); + } else if (!sqliteDB) { + f.renameTo(app.getAppPath(IndexConstants.TILES_INDEX_DIR + newName)); + } + } + } + if (sqliteDB) { + if (!f.exists() || f.isDirectory()) { + SQLiteTileSource sqLiteTileSource = + new SQLiteTileSource(app, newName, minZoom, + maxZoom, urlToLoad, "0,1,2,3", + elliptic, false, "", expireTimeMinutes > 0, + expireTimeMinutes * 60 * 1000L, false, "" + ); + sqLiteTileSource.createDataBase(); + } else { + List knownTemplates = TileSourceManager.getKnownSourceTemplates(); + SQLiteTileSource sqLiteTileSource = new SQLiteTileSource(app, f, knownTemplates); + sqLiteTileSource.couldBeDownloadedFromInternet(); + sqLiteTileSource.updateFromTileSourceTemplate(template); + } + } else { + getSettings().installTileSource(template); + } + Fragment fragment = getTargetFragment(); + if (fragment instanceof OnMapSourceUpdateListener) { + ((OnMapSourceUpdateListener) fragment).onMapSourceUpdated(); + } + } catch (RuntimeException e) { + LOG.error("Error on saving template " + e); + } + } + + private void updateUi() { + nameEditText.setText(editedLayerName != null ? editedLayerName.replace(IndexConstants.SQLITE_EXT, "") : ""); + urlEditText.setText(urlToLoad); + addConfigurationItems(ConfigurationItem.values()); + } + + private void onHelpClick() { + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(MAPS_PLUGINS_URL)); + if (AndroidUtils.isIntentSafe(app, i)) { + startActivity(i); + } + } + + private void showExitDialog() { + Context themedContext = UiUtilities.getThemedContext(getActivity(), nightMode); + AlertDialog.Builder dismissDialog = new AlertDialog.Builder(themedContext); + dismissDialog.setTitle(getString(R.string.shared_string_dismiss)); + dismissDialog.setMessage(getString(R.string.exit_without_saving)); + dismissDialog.setNegativeButton(R.string.shared_string_cancel, null); + dismissDialog.setPositiveButton(R.string.shared_string_exit, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dismiss(); + } + }); + dismissDialog.show(); + } + + private String getDescription(ConfigurationItem item) { + switch (item) { + case ZOOM_LEVELS: + String min = getString(R.string.ltr_or_rtl_combine_via_space, getString(R.string.shared_string_min), String.valueOf(minZoom)); + String max = getString(R.string.ltr_or_rtl_combine_via_space, getString(R.string.shared_string_max), String.valueOf(maxZoom)); + return getString(R.string.ltr_or_rtl_combine_via_bold_point, min, max); + case EXPIRE_TIME: + return expireTimeMinutes == EXPIRE_TIME_NEVER + ? getString(R.string.shared_string_never) + : getString(R.string.ltr_or_rtl_combine_via_space, String.valueOf(expireTimeMinutes), getString(R.string.osmand_parking_minute)); + case MERCATOR_PROJECTION: + return elliptic ? getString(R.string.edit_tilesource_elliptic_tile) : getString(R.string.pseudo_mercator_projection); + case STORAGE_FORMAT: + return sqliteDB ? getString(R.string.sqlite_db_file) : getString(R.string.one_image_per_tile); + default: + return ""; + } + } + + private View.OnClickListener getClickListener(final ConfigurationItem item) { + return new View.OnClickListener() { + @Override + public void onClick(View view) { + FragmentManager fm = getFragmentManager(); + if (fm != null) { + switch (item) { + case ZOOM_LEVELS: + InputZoomLevelsBottomSheet.showInstance( + fm, EditMapSourceDialogFragment.this, + R.string.map_source_zoom_levels, R.string.map_source_zoom_levels_descr, + minZoom, maxZoom + ); + break; + case EXPIRE_TIME: + ExpireTimeBottomSheet.showInstance(fm, EditMapSourceDialogFragment.this, expireTimeMinutes); + break; + case MERCATOR_PROJECTION: + MercatorProjectionBottomSheet.showInstance(fm, EditMapSourceDialogFragment.this, elliptic); + break; + case STORAGE_FORMAT: + TileStorageFormatBottomSheet.showInstance(fm, EditMapSourceDialogFragment.this, sqliteDB); + break; + } + } + } + }; + } + + private void addConfigurationItems(ConfigurationItem... items) { + LayoutInflater inflater = UiUtilities.getMaterialInflater(getContext(), nightMode); + for (ConfigurationItem item : items) { + View view = inflater.inflate(R.layout.list_item_ui_customization, null); + ((ImageView) view.findViewById(R.id.icon)).setImageDrawable(app.getUIUtilities().getIcon(item.iconRes, nightMode)); + ((TextView) view.findViewById(R.id.title)).setText(item.titleRes); + ((TextView) view.findViewById(R.id.sub_title)).setText(getDescription(item)); + view.setOnClickListener(getClickListener(item)); + contentContainer.addView(view); + } + } + + private void updateDescription(ConfigurationItem item) { + View view = contentContainer.getChildAt(ArrayUtils.indexOf(ConfigurationItem.values(), item)); + ((TextView) view.findViewById(R.id.sub_title)).setText(getDescription(item)); + } + + private enum ConfigurationItem { + ZOOM_LEVELS(R.drawable.ic_action_layers, R.string.shared_string_zoom_levels), + EXPIRE_TIME(R.drawable.ic_action_time_span, R.string.expire_time), + MERCATOR_PROJECTION(R.drawable.ic_world_globe_dark, R.string.mercator_projection), + STORAGE_FORMAT(R.drawable.ic_sdcard, R.string.storage_format); + + @DrawableRes + public int iconRes; + @StringRes + public int titleRes; + + ConfigurationItem(int iconRes, int titleRes) { + this.titleRes = titleRes; + this.iconRes = iconRes; + } + } + + private void setEditedLayerName(@Nullable String editedLayerName) { + this.editedLayerName = editedLayerName; + } + + public interface OnMapSourceUpdateListener { + void onMapSourceUpdated(); + } +} diff --git a/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java b/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java new file mode 100644 index 0000000000..1f645a3848 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java @@ -0,0 +1,119 @@ +package net.osmand.plus.mapsource; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; + +import net.osmand.PlatformUtil; +import net.osmand.plus.R; +import net.osmand.plus.UiUtilities; +import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; +import net.osmand.util.Algorithms; + +import org.apache.commons.logging.Log; + +import static net.osmand.plus.mapsource.EditMapSourceDialogFragment.EXPIRE_TIME_NEVER; + +public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment { + + public static final String TAG = ExpireTimeBottomSheet.class.getName(); + private static final Log LOG = PlatformUtil.getLog(ExpireTimeBottomSheet.class); + private static final String EXPIRE_VALUE_KEY = "expire_value_key"; + private int expireValue; + private TextInputEditText editText; + + public static void showInstance(@NonNull FragmentManager fm, + @Nullable Fragment targetFragment, + int expireValue) { + ExpireTimeBottomSheet bottomSheet = new ExpireTimeBottomSheet(); + bottomSheet.setTargetFragment(targetFragment, 0); + bottomSheet.setExpireValue(expireValue); + bottomSheet.show(fm, TAG); + } + + @Override + public void createMenuItems(Bundle savedInstanceState) { + if (savedInstanceState != null) { + expireValue = savedInstanceState.getInt(EXPIRE_VALUE_KEY, EXPIRE_TIME_NEVER); + } + LayoutInflater inflater = UiUtilities.getMaterialInflater(getContext(), nightMode); + TitleItem titleItem = new TitleItem(getString(R.string.expire_time)); + items.add(titleItem); + final View inputValueLayout = inflater.inflate(R.layout.edit_text_with_descr, null); + ((TextView) inputValueLayout.findViewById(R.id.dialog_descr)).setText(R.string.expire_time_descr); + editText = inputValueLayout.findViewById(R.id.value_edit_text); + if (expireValue > 0) { + editText.setText(String.valueOf(expireValue)); + } + int boxStrokeColor = nightMode + ? getResources().getColor(R.color.app_bar_color_light) + : getResources().getColor(R.color.active_buttons_and_links_bg_pressed_dark); + TextInputLayout textInputLayout = inputValueLayout.findViewById(R.id.value_input_layout); + textInputLayout.setBoxStrokeColor(boxStrokeColor); + final SimpleBottomSheetItem editTextItem = (SimpleBottomSheetItem) new SimpleBottomSheetItem.Builder() + .setCustomView(inputValueLayout) + .create(); + items.add(editTextItem); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + outState.putLong(EXPIRE_VALUE_KEY, getExpireValue()); + super.onSaveInstanceState(outState); + } + + @Override + protected void onRightBottomButtonClick() { + super.onRightBottomButtonClick(); + Fragment fragment = getTargetFragment(); + if (fragment instanceof OnExpireValueSetListener) { + ((OnExpireValueSetListener) fragment).onExpireValueSet(getExpireValue()); + } + dismiss(); + } + + @Override + protected int getDismissButtonTextId() { + return R.string.shared_string_cancel; + } + + @Override + protected int getRightBottomButtonTextId() { + return R.string.shared_string_apply; + } + + private int getExpireValue() { + int expireValue = EXPIRE_TIME_NEVER; + if (editText.getText() != null) { + String value = editText.getText().toString(); + if (!Algorithms.isEmpty(value)) { + try { + expireValue = Integer.parseInt(value); + } catch (RuntimeException e) { + LOG.error("Error parsing expire value: " + expireValue + " " + e); + } + } + } + return expireValue > 0 ? expireValue : EXPIRE_TIME_NEVER; + } + + private void setExpireValue(int expireValue) { + this.expireValue = expireValue; + } + + public interface OnExpireValueSetListener { + void onExpireValueSet(int expireValue); + } +} diff --git a/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java b/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java new file mode 100644 index 0000000000..8c11a97d70 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java @@ -0,0 +1,193 @@ +package net.osmand.plus.mapsource; + +import android.os.Bundle; +import android.text.SpannableString; +import android.text.Spanned; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import com.google.android.material.slider.Slider; + +import net.osmand.PlatformUtil; +import net.osmand.plus.R; +import net.osmand.plus.UiUtilities; +import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; +import net.osmand.plus.helpers.FontCache; +import net.osmand.plus.widgets.style.CustomTypefaceSpan; + +import org.apache.commons.logging.Log; + +import java.util.List; + +public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment { + + public static final String TAG = InputZoomLevelsBottomSheet.class.getName(); + private static final Log LOG = PlatformUtil.getLog(InputZoomLevelsBottomSheet.class); + private static final String MIN_ZOOM_KEY = "min_zoom_key"; + private static final String MAX_ZOOM_KEY = "max_zoom_key"; + private static final String SLIDER_DESCR_RES_KEY = "slider_descr_key"; + private static final String DIALOG_DESCR_RES_KEY = "dialog_descr_key"; + private static final int SLIDER_FROM = 1; + private static final int SLIDER_TO = 20; + @StringRes + private int sliderDescrRes; + @StringRes + private int dialogDescrRes; + private int minZoom; + private int maxZoom; + + public static void showInstance(@NonNull FragmentManager fm, + @Nullable Fragment targetFragment, + int sliderDescr, + int dialogDescr, + int minZoom, + int maxZoom) { + InputZoomLevelsBottomSheet bottomSheet = new InputZoomLevelsBottomSheet(); + bottomSheet.setTargetFragment(targetFragment, 0); + bottomSheet.setSliderDescrRes(sliderDescr); + bottomSheet.setDialogDescrRes(dialogDescr); + bottomSheet.setMinZoom(Math.max(minZoom, SLIDER_FROM)); + bottomSheet.setMaxZoom(Math.min(maxZoom, SLIDER_TO)); + bottomSheet.show(fm, TAG); + } + + @Override + public void createMenuItems(Bundle savedInstanceState) { + if (savedInstanceState != null) { + minZoom = savedInstanceState.getInt(MIN_ZOOM_KEY); + maxZoom = savedInstanceState.getInt(MAX_ZOOM_KEY); + dialogDescrRes = savedInstanceState.getInt(DIALOG_DESCR_RES_KEY); + sliderDescrRes = savedInstanceState.getInt(SLIDER_DESCR_RES_KEY); + } + LayoutInflater inflater = UiUtilities.getInflater(requiredMyApplication(), nightMode); + TitleItem titleItem = new TitleItem(getString(R.string.shared_string_zoom_levels)); + items.add(titleItem); + final View sliderView = inflater.inflate(R.layout.zoom_levels_with_descr, null); + ((TextView) sliderView.findViewById(R.id.slider_descr)).setText(sliderDescrRes); + TextView dialogDescrTv = sliderView.findViewById(R.id.dialog_descr); + if (dialogDescrRes == R.string.map_source_zoom_levels_descr) { + String mapSource = getString(R.string.map_source); + String overlayUnderlay = getString(R.string.pref_overlay); + String dialogDesr = getString(dialogDescrRes, mapSource, overlayUnderlay); + dialogDescrTv.setText(createSpannableString(dialogDesr, mapSource, overlayUnderlay)); + } else { + dialogDescrTv.setText(getString(dialogDescrRes)); + } + final TextView minZoomValue = sliderView.findViewById(R.id.zoom_value_min); + minZoomValue.setText(String.valueOf(minZoom)); + final TextView maxZoomValue = sliderView.findViewById(R.id.zoom_value_max); + maxZoomValue.setText(String.valueOf(maxZoom)); + Slider slider = sliderView.findViewById(R.id.zoom_slider); + int colorProfileRes = requiredMyApplication().getSettings().getApplicationMode().getIconColorInfo().getColor(nightMode); + int colorProfile = ContextCompat.getColor(requiredMyApplication(), colorProfileRes); + UiUtilities.setupSlider(slider, nightMode, colorProfile, true); + slider.setValueFrom(SLIDER_FROM); + slider.setValueTo(SLIDER_TO); + slider.setValues((float) minZoom, (float) maxZoom); + slider.addOnChangeListener(new Slider.OnChangeListener() { + @Override + public void onValueChange(@NonNull Slider slider, float value, boolean fromUser) { + List values = slider.getValues(); + if (values.size() > 0) { + minZoomValue.setText(String.valueOf(values.get(0).intValue())); + maxZoomValue.setText(String.valueOf(values.get(1).intValue())); + } + } + }); + slider.addOnSliderTouchListener(new Slider.OnSliderTouchListener() { + @Override + public void onStartTrackingTouch(@NonNull Slider slider) { + + } + + @Override + public void onStopTrackingTouch(@NonNull Slider slider) { + List values = slider.getValues(); + if (values.size() > 0) { + minZoom = values.get(0).intValue(); + maxZoom = values.get(1).intValue(); + } + } + }); + final SimpleBottomSheetItem sliderItem = (SimpleBottomSheetItem) new SimpleBottomSheetItem.Builder() + .setCustomView(sliderView) + .create(); + items.add(sliderItem); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + outState.putInt(MIN_ZOOM_KEY, minZoom); + outState.putInt(MAX_ZOOM_KEY, maxZoom); + outState.putInt(SLIDER_DESCR_RES_KEY, sliderDescrRes); + outState.putInt(DIALOG_DESCR_RES_KEY, dialogDescrRes); + super.onSaveInstanceState(outState); + } + + @Override + protected void onRightBottomButtonClick() { + super.onRightBottomButtonClick(); + Fragment fragment = getTargetFragment(); + if (fragment instanceof OnZoomSetListener) { + ((OnZoomSetListener) fragment).onZoomSet(minZoom, maxZoom); + } + dismiss(); + } + + @Override + protected int getDismissButtonTextId() { + return R.string.shared_string_cancel; + } + + @Override + protected int getRightBottomButtonTextId() { + return R.string.shared_string_apply; + } + + private SpannableString createSpannableString(@NonNull String text, @NonNull String... textToStyle) { + SpannableString spannable = new SpannableString(text); + for (String t : textToStyle) { + try { + int startIndex = text.indexOf(t); + spannable.setSpan( + new CustomTypefaceSpan(FontCache.getRobotoMedium(requireContext())), + startIndex, + startIndex + t.length(), + Spanned.SPAN_INCLUSIVE_INCLUSIVE); + } catch (RuntimeException e) { + LOG.error("Error trying to find index of " + t + " " + e); + } + } + return spannable; + } + + private void setSliderDescrRes(int sliderDescrRes) { + this.sliderDescrRes = sliderDescrRes; + } + + private void setDialogDescrRes(int dialogDescrRes) { + this.dialogDescrRes = dialogDescrRes; + } + + private void setMinZoom(int minZoom) { + this.minZoom = minZoom; + } + + private void setMaxZoom(int maxZoom) { + this.maxZoom = maxZoom; + } + + public interface OnZoomSetListener { + void onZoomSet(int min, int max); + } +} diff --git a/OsmAnd/src/net/osmand/plus/mapsource/MercatorProjectionBottomSheet.java b/OsmAnd/src/net/osmand/plus/mapsource/MercatorProjectionBottomSheet.java new file mode 100644 index 0000000000..a1a9150132 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/mapsource/MercatorProjectionBottomSheet.java @@ -0,0 +1,119 @@ +package net.osmand.plus.mapsource; + +import android.content.Context; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.ContextThemeWrapper; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.core.widget.NestedScrollView; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import net.osmand.plus.R; +import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; + +public class MercatorProjectionBottomSheet extends MenuBottomSheetDialogFragment { + + public static final String TAG = MercatorProjectionBottomSheet.class.getName(); + private static final String ELLIPTIC_KEY = "elliptic_key"; + private LinearLayout valuesContainer; + private MercatorProjection mercatorProjection; + + public static void showInstance(@NonNull FragmentManager fm, + @Nullable Fragment targetFragment, + boolean elliptic) { + MercatorProjectionBottomSheet bottomSheet = new MercatorProjectionBottomSheet(); + bottomSheet.setTargetFragment(targetFragment, 0); + bottomSheet.setMercatorProjection(elliptic); + bottomSheet.show(fm, TAG); + } + + @Override + public void createMenuItems(Bundle savedInstanceState) { + if (savedInstanceState != null) { + setMercatorProjection(savedInstanceState.getBoolean(ELLIPTIC_KEY)); + } + Context context = requireContext(); + TitleItem titleItem = new TitleItem(getString(R.string.mercator_projection)); + items.add(titleItem); + NestedScrollView nestedScrollView = new NestedScrollView(context); + valuesContainer = new LinearLayout(context); + valuesContainer.setLayoutParams((new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT))); + valuesContainer.setOrientation(LinearLayout.VERTICAL); + valuesContainer.setPadding(0, getResources().getDimensionPixelSize(R.dimen.bottom_sheet_content_padding_small), 0, 0); + for (int i = 0; i < MercatorProjection.values().length; i++) { + LayoutInflater.from(new ContextThemeWrapper(context, themeRes)) + .inflate(R.layout.bottom_sheet_item_with_radio_btn_left, valuesContainer, true); + } + nestedScrollView.addView(valuesContainer); + items.add(new BaseBottomSheetItem.Builder().setCustomView(nestedScrollView).create()); + populateValuesList(); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + outState.putBoolean(ELLIPTIC_KEY, mercatorProjection == MercatorProjection.ELLIPTIC); + super.onSaveInstanceState(outState); + } + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + Fragment fragment = getTargetFragment(); + if (fragment instanceof OnMercatorSelectedListener) { + ((OnMercatorSelectedListener) fragment).onMercatorSelected(mercatorProjection == MercatorProjection.ELLIPTIC); + } + super.onDismiss(dialog); + } + + @Override + protected int getDismissButtonTextId() { + return R.string.shared_string_close; + } + + private void populateValuesList() { + for (int i = 0; i < MercatorProjection.values().length; i++) { + final MercatorProjection m = MercatorProjection.values()[i]; + boolean selected = mercatorProjection == m; + View view = valuesContainer.getChildAt(i); + ((CompoundButton) view.findViewById(R.id.compound_button)).setChecked(selected); + ((TextView) view.findViewById(R.id.title)).setText(m.titleRes); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + mercatorProjection = m; + populateValuesList(); + } + }); + } + } + + private void setMercatorProjection(boolean elliptic) { + mercatorProjection = elliptic ? MercatorProjection.ELLIPTIC : MercatorProjection.PSEUDO; + } + + public enum MercatorProjection { + ELLIPTIC(R.string.edit_tilesource_elliptic_tile), + PSEUDO(R.string.pseudo_mercator_projection); + + @StringRes + public int titleRes; + + MercatorProjection(@StringRes int titleRes) { + this.titleRes = titleRes; + } + } + + public interface OnMercatorSelectedListener { + void onMercatorSelected(boolean elliptic); + } +} diff --git a/OsmAnd/src/net/osmand/plus/mapsource/TileStorageFormatBottomSheet.java b/OsmAnd/src/net/osmand/plus/mapsource/TileStorageFormatBottomSheet.java new file mode 100644 index 0000000000..2f42110430 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/mapsource/TileStorageFormatBottomSheet.java @@ -0,0 +1,119 @@ +package net.osmand.plus.mapsource; + +import android.content.Context; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.ContextThemeWrapper; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.core.widget.NestedScrollView; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; + +import net.osmand.plus.R; +import net.osmand.plus.base.MenuBottomSheetDialogFragment; +import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem; +import net.osmand.plus.base.bottomsheetmenu.simpleitems.TitleItem; + +public class TileStorageFormatBottomSheet extends MenuBottomSheetDialogFragment { + + public static final String TAG = TileStorageFormatBottomSheet.class.getName(); + private static final String SQLITE_DB_KEY = "sqlite_db_key"; + private LinearLayout valuesContainer; + private TileStorageFormat tileStorageFormat; + + public static void showInstance(@NonNull FragmentManager fm, + @Nullable Fragment targetFragment, + boolean sqliteDb) { + TileStorageFormatBottomSheet bottomSheet = new TileStorageFormatBottomSheet(); + bottomSheet.setTargetFragment(targetFragment, 0); + bottomSheet.setTileStorageFormat(sqliteDb); + bottomSheet.show(fm, TAG); + } + + @Override + public void createMenuItems(Bundle savedInstanceState) { + if (savedInstanceState != null) { + setTileStorageFormat(savedInstanceState.getBoolean(SQLITE_DB_KEY)); + } + Context context = requireContext(); + TitleItem titleItem = new TitleItem(getString(R.string.mercator_projection)); + items.add(titleItem); + NestedScrollView nestedScrollView = new NestedScrollView(context); + valuesContainer = new LinearLayout(context); + valuesContainer.setLayoutParams((new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT))); + valuesContainer.setOrientation(LinearLayout.VERTICAL); + valuesContainer.setPadding(0, getResources().getDimensionPixelSize(R.dimen.bottom_sheet_content_padding_small), 0, 0); + for (int i = 0; i < TileStorageFormat.values().length; i++) { + LayoutInflater.from(new ContextThemeWrapper(context, themeRes)) + .inflate(R.layout.bottom_sheet_item_with_radio_btn_left, valuesContainer, true); + } + nestedScrollView.addView(valuesContainer); + items.add(new BaseBottomSheetItem.Builder().setCustomView(nestedScrollView).create()); + populateValuesList(); + } + + @Override + public void onSaveInstanceState(Bundle outState) { + outState.putBoolean(SQLITE_DB_KEY, tileStorageFormat == TileStorageFormat.SQLITE_DB); + super.onSaveInstanceState(outState); + } + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + Fragment fragment = getTargetFragment(); + if (fragment instanceof OnTileStorageFormatSelectedListener) { + ((OnTileStorageFormatSelectedListener) fragment).onStorageFormatSelected(tileStorageFormat == TileStorageFormat.SQLITE_DB); + } + super.onDismiss(dialog); + } + + @Override + protected int getDismissButtonTextId() { + return R.string.shared_string_close; + } + + private void populateValuesList() { + for (int i = 0; i < TileStorageFormat.values().length; i++) { + final TileStorageFormat m = TileStorageFormat.values()[i]; + boolean selected = tileStorageFormat == m; + View view = valuesContainer.getChildAt(i); + ((CompoundButton) view.findViewById(R.id.compound_button)).setChecked(selected); + ((TextView) view.findViewById(R.id.title)).setText(m.titleRes); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + tileStorageFormat = m; + populateValuesList(); + } + }); + } + } + + private void setTileStorageFormat(boolean sqliteDb) { + tileStorageFormat = sqliteDb ? TileStorageFormat.SQLITE_DB : TileStorageFormat.ONE_IMAGE_PER_TILE; + } + + public enum TileStorageFormat { + ONE_IMAGE_PER_TILE(R.string.one_image_per_tile), + SQLITE_DB(R.string.sqlite_db_file); + + @StringRes + public int titleRes; + + TileStorageFormat(@StringRes int titleRes) { + this.titleRes = titleRes; + } + } + + public interface OnTileStorageFormatSelectedListener { + void onStorageFormatSelected(boolean sqliteDb); + } +} diff --git a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java index 9194949691..2d6d40700b 100644 --- a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java @@ -6,23 +6,17 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.view.ContextThemeWrapper; import android.view.View; -import android.widget.AdapterView; -import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; -import android.widget.CheckBox; -import android.widget.EditText; -import android.widget.Spinner; -import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.AppCompatCheckBox; import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; import net.osmand.AndroidUtils; -import net.osmand.IndexConstants; import net.osmand.ResultMatcher; import net.osmand.StateChangedListener; import net.osmand.map.ITileSource; @@ -38,10 +32,9 @@ import net.osmand.plus.settings.backend.OsmandSettings; import net.osmand.plus.settings.backend.OsmandSettings.CommonPreference; import net.osmand.plus.settings.backend.OsmandSettings.LayerTransparencySeekbarMode; import net.osmand.plus.R; -import net.osmand.plus.SQLiteTileSource; -import net.osmand.plus.UiUtilities; import net.osmand.plus.Version; import net.osmand.plus.activities.DownloadTilesDialog; +import net.osmand.plus.mapsource.EditMapSourceDialogFragment; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.dashboard.DashboardOnMap.DashboardType; @@ -51,7 +44,6 @@ import net.osmand.plus.views.MapTileLayer; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.util.Algorithms; -import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -61,7 +53,6 @@ import static net.osmand.aidlapi.OsmAndCustomizationConstants.MAP_CONTEXT_MENU_U import static net.osmand.aidlapi.OsmAndCustomizationConstants.OVERLAY_MAP; import static net.osmand.aidlapi.OsmAndCustomizationConstants.UNDERLAY_MAP; import static net.osmand.plus.ContextMenuAdapter.makeDeleteAction; -import static net.osmand.plus.UiUtilities.CompoundButtonType.PROFILE_DEPENDENT; public class OsmandRasterMapsPlugin extends OsmandPlugin { @@ -483,133 +474,8 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin { t.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } - public static void defineNewEditLayer(final Activity activity, final ResultMatcher resultMatcher, final String editedLayerName) { - final OsmandApplication app = (OsmandApplication) activity.getApplication(); - final OsmandSettings settings = app.getSettings(); - final Map entriesMap = settings.getTileSourceEntries(true); - final SQLiteTileSource[] sqLiteTileSource = new SQLiteTileSource[1]; - boolean nightMode = isNightMode(activity, app); - final int dp8 = AndroidUtils.dpToPx(app, 8f); - int textColorPrimary = ContextCompat.getColor(app, nightMode ? R.color.text_color_primary_dark : R.color.text_color_primary_light); - TileSourceTemplate ts = new TileSourceTemplate("NewMapnik", "http://mapnik.osmand.net/{0}/{1}/{2}.png", - "png", 17, 5, 256, 16, 32000); - final TileSourceTemplate[] result = new TileSourceTemplate[]{ts}; - AlertDialog.Builder bld = new AlertDialog.Builder(new ContextThemeWrapper(activity, getThemeRes(activity, app))); - View view = UiUtilities.getInflater(activity, isNightMode(activity, app)).inflate(R.layout.editing_tile_source, null); - final EditText name = (EditText) view.findViewById(R.id.Name); - final Spinner existing = (Spinner) view.findViewById(R.id.TileSourceSpinner); - final TextView existingHint = (TextView) view.findViewById(R.id.TileSourceHint); - final EditText urlToLoad = (EditText) view.findViewById(R.id.URLToLoad); - final EditText minZoom = (EditText) view.findViewById(R.id.MinZoom); - final EditText maxZoom = (EditText) view.findViewById(R.id.MaxZoom); - final EditText expire = (EditText) view.findViewById(R.id.ExpirationTime); - final AppCompatCheckBox elliptic = (AppCompatCheckBox) view.findViewById(R.id.EllipticMercator); - elliptic.setTextColor(textColorPrimary); - elliptic.setPadding(dp8, 0, 0, 0); - UiUtilities.setupCompoundButton(elliptic, nightMode, PROFILE_DEPENDENT); - updateTileSourceEditView(ts, name, urlToLoad, minZoom, maxZoom, expire, elliptic); - - final ArrayList templates = new ArrayList<>(entriesMap.keySet()); - templates.add(0, ""); - - ArrayAdapter adapter = new ArrayAdapter<>(view.getContext(), - android.R.layout.simple_spinner_item, - templates - ); - adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - existing.setAdapter(adapter); - TileSourceTemplate template; - if (editedLayerName != null) { - name.setFocusable(false); - name.setFocusableInTouchMode(false); - if (!editedLayerName.endsWith(IndexConstants.SQLITE_EXT)) { - File f = ((OsmandApplication) activity.getApplication()).getAppPath( - IndexConstants.TILES_INDEX_DIR + editedLayerName); - template = TileSourceManager.createTileSourceTemplate(f); - } else { - List knownTemplates = TileSourceManager.getKnownSourceTemplates(); - File tPath = app.getAppPath(IndexConstants.TILES_INDEX_DIR); - File dir = new File(tPath, editedLayerName); - sqLiteTileSource[0] = new SQLiteTileSource(app, dir, knownTemplates); - sqLiteTileSource[0].couldBeDownloadedFromInternet(); - template = new TileSourceManager.TileSourceTemplate(sqLiteTileSource[0].getName(), - sqLiteTileSource[0].getUrlTemplate(), "png", sqLiteTileSource[0].getMaximumZoomSupported(), - sqLiteTileSource[0].getMinimumZoomSupported(), sqLiteTileSource[0].getTileSize(), - sqLiteTileSource[0].getBitDensity(), 32000); - template.setExpirationTimeMinutes(sqLiteTileSource[0].getExpirationTimeMinutes()); - template.setEllipticYTile(sqLiteTileSource[0].isEllipticYTile()); - } - if (template != null) { - result[0] = template.copy(); - updateTileSourceEditView(result[0], name, urlToLoad, minZoom, maxZoom, expire, elliptic); - } - existingHint.setVisibility(View.GONE); - existing.setVisibility(View.GONE); - } - existing.setSelection(0); - existing.setOnItemSelectedListener(new OnItemSelectedListener() { - - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - if (position > 0) { - File f = ((OsmandApplication) activity.getApplication()).getAppPath(IndexConstants.TILES_INDEX_DIR + templates.get(position)); - TileSourceTemplate template = TileSourceManager.createTileSourceTemplate(f); - if (template != null) { - result[0] = template.copy(); - updateTileSourceEditView(result[0], name, urlToLoad, minZoom, maxZoom, expire, elliptic); - } - } - } - - @Override - public void onNothingSelected(AdapterView parent) { - } - }); - - bld.setView(view); - bld.setPositiveButton(R.string.shared_string_save, new DialogInterface.OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, int which) { - TileSourceTemplate r = result[0]; - try { - r.setName(name.getText().toString()); - r.setExpirationTimeMinutes(expire.getText().length() == 0 ? -1 : - Integer.parseInt(expire.getText().toString())); - r.setMinZoom(Integer.parseInt(minZoom.getText().toString())); - r.setMaxZoom(Integer.parseInt(maxZoom.getText().toString())); - r.setEllipticYTile(elliptic.isChecked()); - r.setUrlToLoad(urlToLoad.getText().toString().equals("") ? null : urlToLoad.getText().toString().replace("{$x}", "{1}") - .replace("{$y}", "{2}").replace("{$z}", "{0}")); - if (sqLiteTileSource[0] != null) { - sqLiteTileSource[0].updateFromTileSourceTemplate(r); - } else { - if (r.getName().length() > 0) { - if (settings.installTileSource(r)) { - Toast.makeText(activity, activity.getString(R.string.edit_tilesource_successfully, r.getName()), - Toast.LENGTH_SHORT).show(); - resultMatcher.publish(r); - } - } - } - } catch (RuntimeException e) { - Toast.makeText(activity, e.getMessage(), Toast.LENGTH_SHORT).show(); - } - } - }); - bld.setNegativeButton(R.string.shared_string_cancel, null); - bld.show(); - } - - private static void updateTileSourceEditView(TileSourceTemplate ts, EditText name, final EditText urlToLoad, final EditText minZoom, - final EditText maxZoom, EditText expire, final CheckBox elliptic) { - minZoom.setText(String.valueOf(ts.getMinimumZoomSupported())); - maxZoom.setText(String.valueOf(ts.getMaximumZoomSupported())); - name.setText(ts.getName()); - expire.setText(ts.getExpirationTimeMinutes() < 0 ? "" : ts.getExpirationTimeMinutes() + ""); - urlToLoad.setText(ts.getUrlTemplate() == null ? "" : - ts.getUrlTemplate().replace("{$x}", "{1}").replace("{$y}", "{2}").replace("{$z}", "{0}")); - elliptic.setChecked(ts.isEllipticYTile()); + public static void defineNewEditLayer(@NonNull FragmentManager fm, @Nullable Fragment targetFragment, @Nullable String editedLayerName) { + EditMapSourceDialogFragment.showInstance(fm, targetFragment, editedLayerName); } public MapTileLayer getUnderlayLayer() { From db102c41b6163d55f9ebe3531fb8c215459e4323 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Tue, 26 May 2020 17:11:59 +0300 Subject: [PATCH 124/509] Add icons for Screen settings --- .../res/drawable/ic_action_external_link.xml | 14 +++++++++++++ .../ic_action_notification_navigation.xml | 20 +++++++++++++++++++ .../res/drawable/ic_action_power_button.xml | 19 ++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 OsmAnd/res/drawable/ic_action_external_link.xml create mode 100644 OsmAnd/res/drawable/ic_action_notification_navigation.xml create mode 100644 OsmAnd/res/drawable/ic_action_power_button.xml diff --git a/OsmAnd/res/drawable/ic_action_external_link.xml b/OsmAnd/res/drawable/ic_action_external_link.xml new file mode 100644 index 0000000000..b445171abc --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_external_link.xml @@ -0,0 +1,14 @@ + + + + diff --git a/OsmAnd/res/drawable/ic_action_notification_navigation.xml b/OsmAnd/res/drawable/ic_action_notification_navigation.xml new file mode 100644 index 0000000000..1901192493 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_notification_navigation.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/OsmAnd/res/drawable/ic_action_power_button.xml b/OsmAnd/res/drawable/ic_action_power_button.xml new file mode 100644 index 0000000000..6e88c236a6 --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_power_button.xml @@ -0,0 +1,19 @@ + + + + + From a685634ac3e6ba9082499936e46b7e25a155d7ac Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 27 May 2020 13:06:44 +0300 Subject: [PATCH 125/509] Add icon for option that will allow to change zoom level using volume buttons --- .../ic_action_zoom_volume_buttons.xml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 OsmAnd/res/drawable/ic_action_zoom_volume_buttons.xml diff --git a/OsmAnd/res/drawable/ic_action_zoom_volume_buttons.xml b/OsmAnd/res/drawable/ic_action_zoom_volume_buttons.xml new file mode 100644 index 0000000000..8f8315658b --- /dev/null +++ b/OsmAnd/res/drawable/ic_action_zoom_volume_buttons.xml @@ -0,0 +1,32 @@ + + + + + + + + From 2151028d2db0c8ed079aaade2adad04966a0d2f8 Mon Sep 17 00:00:00 2001 From: veliymolfar Date: Wed, 27 May 2020 17:40:26 +0300 Subject: [PATCH 126/509] small refactor --- .../res/layout/fragment_edit_map_source.xml | 20 +++++----- .../download/ui/LocalIndexesFragment.java | 6 +-- .../EditMapSourceDialogFragment.java | 39 ++++++++----------- .../plus/mapsource/ExpireTimeBottomSheet.java | 11 +++--- .../mapsource/InputZoomLevelsBottomSheet.java | 11 +++--- 5 files changed, 43 insertions(+), 44 deletions(-) diff --git a/OsmAnd/res/layout/fragment_edit_map_source.xml b/OsmAnd/res/layout/fragment_edit_map_source.xml index b179cc5eb6..57370b06a5 100644 --- a/OsmAnd/res/layout/fragment_edit_map_source.xml +++ b/OsmAnd/res/layout/fragment_edit_map_source.xml @@ -16,16 +16,18 @@ app:title="@string/edit_online_source" osmand:titleTextColor="?android:textColorPrimary"> - + android:layout_marginStart="@dimen/list_item_button_padding" + android:layout_marginLeft="@dimen/list_item_button_padding" + android:layout_marginEnd="@dimen/list_item_button_padding" + android:layout_marginRight="@dimen/list_item_button_padding" + android:contentDescription="@string/back_to_map" + app:srcCompat="@drawable/ic_action_help" /> @@ -94,7 +96,7 @@ ]"); public static final Pattern ILLEGAL_PATH_NAME_CHARACTERS = Pattern.compile("[?:\"*|<>]"); diff --git a/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java b/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java index cf8381a309..13a4313d62 100644 --- a/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/mapsource/EditMapSourceDialogFragment.java @@ -14,6 +14,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; @@ -24,6 +25,7 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; @@ -52,12 +54,11 @@ import org.apache.commons.logging.Log; import java.io.File; import java.util.List; -import static net.osmand.plus.download.ui.LocalIndexesFragment.ILLEGAL_FILE_NAME_CHARACTERS; import static net.osmand.plus.download.ui.LocalIndexesFragment.renameSQLiteFile; public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment implements OnZoomSetListener, OnExpireValueSetListener, OnMercatorSelectedListener, - OnTileStorageFormatSelectedListener, View.OnClickListener { + OnTileStorageFormatSelectedListener { public static final String TAG = EditMapSourceDialogFragment.class.getName(); static final int EXPIRE_TIME_NEVER = -1; @@ -118,10 +119,10 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment elliptic = savedInstanceState.getBoolean(ELLIPTIC_KEY); sqliteDB = savedInstanceState.getBoolean(SQLITE_DB_KEY); } - View root = UiUtilities.getMaterialInflater(getContext(), nightMode).inflate(R.layout.fragment_edit_map_source, container, false); + View root = UiUtilities.getMaterialInflater(app, nightMode).inflate(R.layout.fragment_edit_map_source, container, false); Toolbar toolbar = root.findViewById(R.id.toolbar); - ImageView iconHelp = root.findViewById(R.id.toolbar_action); - Drawable closeDrawable = app.getUIUtilities().getIcon(R.drawable.ic_arrow_back, + ImageButton iconHelp = root.findViewById(R.id.toolbar_action); + Drawable closeDrawable = app.getUIUtilities().getIcon(AndroidUtils.getNavigationIconResId(app), nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light); Drawable helpDrawable = app.getUIUtilities().getIcon(R.drawable.ic_action_help, nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light); @@ -141,8 +142,8 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment } }); int boxStrokeColor = nightMode - ? getResources().getColor(R.color.app_bar_color_light) - : getResources().getColor(R.color.active_buttons_and_links_bg_pressed_dark); + ? ContextCompat.getColor(app, R.color.app_bar_color_light) + : ContextCompat.getColor(app, R.color.active_buttons_and_links_bg_pressed_dark); TextInputLayout nameInputLayout = root.findViewById(R.id.name_input_layout); nameInputLayout.setBoxStrokeColor(boxStrokeColor); nameEditText = root.findViewById(R.id.name_edit_text); @@ -154,7 +155,13 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment contentContainer = root.findViewById(R.id.content_container); saveBtn = root.findViewById(R.id.save_button); saveBtnTitle = root.findViewById(R.id.save_button_title); - saveBtn.setOnClickListener(this); + saveBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + saveTemplate(); + dismiss(); + } + }); template = new TileSourceManager.TileSourceTemplate("", "", PNG_EXT, MAX_ZOOM, MIN_ZOOM, TILE_SIZE, BIT_DENSITY, AVG_SIZE); if (editedLayerName != null) { if (!editedLayerName.endsWith(IndexConstants.SQLITE_EXT)) { @@ -222,19 +229,15 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment @Override public void onZoomSet(int min, int max) { - if (isAdded()) { minZoom = min; maxZoom = max; updateDescription(ConfigurationItem.ZOOM_LEVELS); - } } @Override public void onExpireValueSet(int expireValue) { - if (isAdded()) { expireTimeMinutes = expireValue; updateDescription(ConfigurationItem.EXPIRE_TIME); - } } @Override @@ -253,14 +256,6 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment } } - @Override - public void onClick(View view) { - if (view.getId() == R.id.save_button) { - saveTemplate(); - dismiss(); - } - } - private TextWatcher getTextWatcher() { return new TextWatcher() { @Override @@ -390,7 +385,7 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment @Override public void onClick(View view) { FragmentManager fm = getFragmentManager(); - if (fm != null) { + if (fm != null && !fm.isStateSaved()) { switch (item) { case ZOOM_LEVELS: InputZoomLevelsBottomSheet.showInstance( @@ -415,7 +410,7 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment } private void addConfigurationItems(ConfigurationItem... items) { - LayoutInflater inflater = UiUtilities.getMaterialInflater(getContext(), nightMode); + LayoutInflater inflater = UiUtilities.getMaterialInflater(app, nightMode); for (ConfigurationItem item : items) { View view = inflater.inflate(R.layout.list_item_ui_customization, null); ((ImageView) view.findViewById(R.id.icon)).setImageDrawable(app.getUIUtilities().getIcon(item.iconRes, nightMode)); diff --git a/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java b/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java index 1f645a3848..e9016980ba 100644 --- a/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/mapsource/ExpireTimeBottomSheet.java @@ -7,7 +7,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.annotation.StringRes; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; @@ -15,6 +15,7 @@ import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; import net.osmand.PlatformUtil; +import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; import net.osmand.plus.base.MenuBottomSheetDialogFragment; @@ -45,6 +46,7 @@ public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment { @Override public void createMenuItems(Bundle savedInstanceState) { + OsmandApplication app = requiredMyApplication(); if (savedInstanceState != null) { expireValue = savedInstanceState.getInt(EXPIRE_VALUE_KEY, EXPIRE_TIME_NEVER); } @@ -58,8 +60,8 @@ public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment { editText.setText(String.valueOf(expireValue)); } int boxStrokeColor = nightMode - ? getResources().getColor(R.color.app_bar_color_light) - : getResources().getColor(R.color.active_buttons_and_links_bg_pressed_dark); + ? ContextCompat.getColor(app, R.color.app_bar_color_light) + : ContextCompat.getColor(app, R.color.active_buttons_and_links_bg_pressed_dark); TextInputLayout textInputLayout = inputValueLayout.findViewById(R.id.value_input_layout); textInputLayout.setBoxStrokeColor(boxStrokeColor); final SimpleBottomSheetItem editTextItem = (SimpleBottomSheetItem) new SimpleBottomSheetItem.Builder() @@ -70,13 +72,12 @@ public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment { @Override public void onSaveInstanceState(Bundle outState) { - outState.putLong(EXPIRE_VALUE_KEY, getExpireValue()); + outState.putInt(EXPIRE_VALUE_KEY, getExpireValue()); super.onSaveInstanceState(outState); } @Override protected void onRightBottomButtonClick() { - super.onRightBottomButtonClick(); Fragment fragment = getTargetFragment(); if (fragment instanceof OnExpireValueSetListener) { ((OnExpireValueSetListener) fragment).onExpireValueSet(getExpireValue()); diff --git a/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java b/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java index 8c11a97d70..3f44454f22 100644 --- a/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java +++ b/OsmAnd/src/net/osmand/plus/mapsource/InputZoomLevelsBottomSheet.java @@ -17,6 +17,7 @@ import androidx.fragment.app.FragmentManager; import com.google.android.material.slider.Slider; import net.osmand.PlatformUtil; +import net.osmand.plus.OsmandApplication; import net.osmand.plus.R; import net.osmand.plus.UiUtilities; import net.osmand.plus.base.MenuBottomSheetDialogFragment; @@ -38,7 +39,7 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment { private static final String SLIDER_DESCR_RES_KEY = "slider_descr_key"; private static final String DIALOG_DESCR_RES_KEY = "dialog_descr_key"; private static final int SLIDER_FROM = 1; - private static final int SLIDER_TO = 20; + private static final int SLIDER_TO = 22; @StringRes private int sliderDescrRes; @StringRes @@ -63,13 +64,14 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment { @Override public void createMenuItems(Bundle savedInstanceState) { + OsmandApplication app = requiredMyApplication(); if (savedInstanceState != null) { minZoom = savedInstanceState.getInt(MIN_ZOOM_KEY); maxZoom = savedInstanceState.getInt(MAX_ZOOM_KEY); dialogDescrRes = savedInstanceState.getInt(DIALOG_DESCR_RES_KEY); sliderDescrRes = savedInstanceState.getInt(SLIDER_DESCR_RES_KEY); } - LayoutInflater inflater = UiUtilities.getInflater(requiredMyApplication(), nightMode); + LayoutInflater inflater = UiUtilities.getInflater(app, nightMode); TitleItem titleItem = new TitleItem(getString(R.string.shared_string_zoom_levels)); items.add(titleItem); final View sliderView = inflater.inflate(R.layout.zoom_levels_with_descr, null); @@ -88,8 +90,8 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment { final TextView maxZoomValue = sliderView.findViewById(R.id.zoom_value_max); maxZoomValue.setText(String.valueOf(maxZoom)); Slider slider = sliderView.findViewById(R.id.zoom_slider); - int colorProfileRes = requiredMyApplication().getSettings().getApplicationMode().getIconColorInfo().getColor(nightMode); - int colorProfile = ContextCompat.getColor(requiredMyApplication(), colorProfileRes); + int colorProfileRes = app.getSettings().getApplicationMode().getIconColorInfo().getColor(nightMode); + int colorProfile = ContextCompat.getColor(app, colorProfileRes); UiUtilities.setupSlider(slider, nightMode, colorProfile, true); slider.setValueFrom(SLIDER_FROM); slider.setValueTo(SLIDER_TO); @@ -136,7 +138,6 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment { @Override protected void onRightBottomButtonClick() { - super.onRightBottomButtonClick(); Fragment fragment = getTargetFragment(); if (fragment instanceof OnZoomSetListener) { ((OnZoomSetListener) fragment).onZoomSet(minZoom, maxZoom); From 46bb0fcb71fa7155869ecc2a5ac3437004c4f815 Mon Sep 17 00:00:00 2001 From: sonora Date: Wed, 27 May 2020 21:12:08 +0200 Subject: [PATCH 127/509] fix accuracy explanation string --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 00e6ac4823..ff5469b1db 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -229,7 +229,7 @@ Side effect: Your track will be missing all sections where the minimum speed criterion was not met (e.g. where you push your bike up a steep hill). Also, there will be no information about periods at rest, like breaks. This has effects on any analysis or post-processing, like when trying to determine the total length of your trip, time in motion, or your average speed. Recommendation: Try using the motion detection via the "logging minimum displacement" filter (B) first, it may produce better results, and you will lose less data. If your tracks remain noisy at low speeds, try non-zero values here. Please note that some measurements may not report any speed value at all (some network-based methods), in which case you would not record anything. Remark: "speed > 0" check: Most GPS chipsets report a speed value only if the algorithm determines you are in motion, and none if you are not. Hence using the "> 0" setting in this filter in a sense uses the motion detection of the GPS chipset. But even if not filtered here at recording time, we still use this feature in our GPX analysis to determine the "Distance corrected", i.e. the value displayed in that field is the "distance recorded while in motion". - This will record only points measured with a minimum "accuracy" indication (in meters/feet, as reported by Android for your chipset). Accuracy refers to the scatter of repeated measurements, and is not directly related to precision, which defines how close your measurements are to your "true" position. + This will record only points measured with a minimum "accuracy" indication (in meters/feet, as reported by Android for your chipset). Accuracy refers to how close your measurements are to your true position, and is not directly related to precision, which is the scatter of repeated measurements. Side effect: As a result of filtering by accuracy, points may be entirely missing for e.g. below bridges, under trees, between high buildings, or with certain weather conditions. Recommendation: It is hard to predict what will be recorded and what not, it may be best to turn this filter off. Remark: If GPS had been off immediately before a recording, the first point measured may have a decreased accuracy,so in our code we may want to wait a second or so before recording a point (or record the best of 3 consecutive points, etc.), but this is not yet implemented. From 9117cfb6a8b74b09a776b26262c540cf06b0cb5d Mon Sep 17 00:00:00 2001 From: sonora Date: Wed, 27 May 2020 21:31:38 +0200 Subject: [PATCH 128/509] fig de translation --- OsmAnd/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 3403e4225f..4703d42fc6 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3540,7 +3540,7 @@ Antarktis Sie finden Ihre noch nicht übertragenen Änderungen oder OSM-Fehler in %1$s. Hochgeladene Punkte werden nicht mehr angezeigt. Empfehlung: Versuchen Sie zunächst, die Bewegungserkennung über den Filter zur Mindestabstandsmessung (B) zu verwenden. Das kann zu besseren Ergebnissen führen und Sie werden weniger Daten verlieren. Sollten Ihre Tracks bei niedrigen Geschwindigkeiten ungenau bleiben, versuchen Sie hier Werte ungleich Null. Bitte beachten Sie, dass einige Messungen (einige netzwerkbasierte Methoden) möglicherweise überhaupt keine Geschwindigkeitswerte anzeigen. In diesem Fall wird nichts aufgezeichnet. - Es werden nur Punkte aufgezeichnet, die gemäß den Angaben der Mindestgenauigkeit gemessen wurden (in Metern/Fuß, wie von Android je nach Chipsatz bereitgestellt). Die Genauigkeit bezieht sich auf die Streuung wiederholter Messungen und steht nicht unmittelbar in Bezug zur Präzision, die bestimmt, wie nah Messungen und wahre Position beieinanderliegen. + Es werden nur Punkte aufgezeichnet, die mit der gewählten Mindestgenauigkeit bestimmt wurden (in Metern/Fuß, wie von Android je nach Chipsatz bereitgestellt). Die Genauigkeit gibt an, wie nah Messungen und wahre Position statistisch beieinanderliegen und steht nicht unmittelbar in Bezug zur Präzision, der Streuung wiederholter Messungen. Bemerkung: Wenn das GPS unmittelbar vor einer Aufzeichnung ausgeschaltet war, kann der erste gemessene Punkt eine verminderte Genauigkeit haben, sodass wir in unserem Code vielleicht eine Sekunde oder so warten wollen, bevor ein Punkt (oder der beste von 3 aufeinanderfolgenden Punkten usw.) aufgezeichnet wird. Das ist aber noch nicht implementiert. Aufzeichnungsteilung Auf direktem Weg From 31fcbd91e81b025904567757e98e7f5d93de4490 Mon Sep 17 00:00:00 2001 From: Hinagiku Zeppeki Date: Tue, 26 May 2020 22:02:34 +0000 Subject: [PATCH 129/509] Translated using Weblate (Japanese) Currently translated at 96.9% (3238 of 3341 strings) --- OsmAnd/res/values-ja/strings.xml | 71 ++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-ja/strings.xml b/OsmAnd/res/values-ja/strings.xml index b93ff74430..c29692f688 100644 --- a/OsmAnd/res/values-ja/strings.xml +++ b/OsmAnd/res/values-ja/strings.xml @@ -705,7 +705,7 @@ POIの更新は利用できません 昼/夜判別情報 描画方法の属性 マップスタイル - UI設定 + 画面構成 車線 未舗装の道路を避ける フェリーを使わない @@ -719,7 +719,7 @@ POIの更新は利用できません 可能な限り継続 ロックアイコンのタップでロックが解除されます 道路名称(国道、高速道路等) - UI設定 + 画面構成 現在地点を表示 ロック コンパス @@ -2823,7 +2823,7 @@ POIの更新は利用できません 経由地点 1 ルートポイント 1 お気に入りの追加 - お気に入りからインポートするか、マップ上でマークした地点を追加します。 + お気に入りはインポートするか、マップ上でマークした地点を追加できます。 ポイントの移動 寄付総額 OFF @@ -3040,7 +3040,7 @@ POIの更新は利用できません プロファイルの個別設定 設定した値は各プロファイルごとに保持されます 指定プロファイルのマップ設定 - 指定プロファイルのUI(ユーザーインターフェース)設定 + 指定プロファイルの画面構成 指定プロファイルのナビゲーション設定 乗り換えの上限を指定します 乗り換え数 @@ -3619,4 +3619,67 @@ POIの更新は利用できません アプリプロファイルの変更 世界地図(詳細) それらしいプロファイルは見つかりませんでした。 + パンジャーブ語 + ネパール語 + ナポリ語 + ビルマ語 + モンゴル語 + ミナンカバウ語 + マダガスカル語 + キルギス語 + カザフ語 + ジャワ語 + チェチェン語 + バイエルン語 + バシキール語 + アラゴン語 + ロンバルド語 + カスタムカラー + %1$s / %2$s + お支払いは、購入の確認後にGoogle Playアカウントに請求されます。 +\n +\nサブスクリプションは更新日より前にキャンセルしない限り、自動的に更新されます。アカウントの更新期間(月/ 3ヶ月/年)に準じた更新日に請求されます。 +\n +\nサブスクリプションの管理およびキャンセルはGoogle Playの設定からおこなえます。 + POIのタイプで検索 + 異なるカテゴリのPOIタイプを組み合わせます。スイッチをタップしてすべてを選択し、左側をタップしてカテゴリを選択します。 + \"ドロワー\"、\"マップ設定\"、\"コンテキストメニュー\"で表示される項目の数をカスタマイズします。 +\n +\n未使用プラグインをオフにし、必要のない項目を非表示にできます。%1$s. + コンテキストメニューの表示項目 + ユーザーインターフェイスのカスタマイズ + 追加マップ + %1$sのアクションはサポートされていません + OsmAnd Tracker + OsmAnd + Mapillary + クイックアクション + 半径定規 + 距離を測定 + 旅行(Wikivoyage and Wikipedia) + マップマーカー + お気に入り + OsmAnd Liveのサブスクリプション + OsmAndの購入 + マップ上シンボルへのガイドです。 + ナビゲーションプロファイル + • 新しいオフライン傾斜マップ +\n +\n• お気に入りとGPX経由地点の色、アイコン、形状のカスタマイズを可能に +\n +\n• \"コンテキストメニュー\"、\"マップ設定\"、\"ドロワー\"でのメニュー項目順序などをカスタマイズを可能に +\n +\n• マップ設定でのウィキペディア情報を別のレイヤーとして扱う様に、また必要な言語のみを選択可能に +\n +\n• 完全な柔軟性を備えた独自のPOIフィルター/マップを作成可能に +\n +\n• カスタムプロファイルの設定を復元するオプションを追加 +\n +\n• GPXルート利用時、車線のナビゲーションサポートとより精度の高いターン指示ができるように +\n +\n• タブレット向けにユーザーインターフェイスサイズを修正 +\n +\n• RTLのバグを修正 +\n +\n + サポートされていないタイプです \ No newline at end of file From 4c94c0d0713b2c5687a6ac3f84021a29dd5ba035 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 27 May 2020 05:54:13 +0000 Subject: [PATCH 130/509] Translated using Weblate (German) Currently translated at 99.7% (3331 of 3341 strings) --- OsmAnd/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 3403e4225f..9229914225 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3715,7 +3715,7 @@ Sie können auf diese Aktionen zugreifen, indem Sie auf die Schaltfläche \"%1$s\" tippen. Öffentliche Verkehrsmittel ausblenden Öffentliche Verkehrsmittel anzeigen - Öffentliche Verkehrsmittel anzeigen / ausblenden + Öffentliche Verkehrsmittel anzeigen/ausblenden Schaltfläche zum Ein- oder Ausblenden der öffentlichen Verkehrsmittel auf der Karte. POI erstellen / bearbeiten Parkpositionen @@ -3733,4 +3733,4 @@ \nSchalten Sie nicht verwendete Plugins aus, um alle ihre Steuerelemente auszublenden. %1$s. Schubladenelemente, Kontextmenü Schublade - + \ No newline at end of file From 7bc19dc06a47a71181498226aaca682a52258c9a Mon Sep 17 00:00:00 2001 From: solokot Date: Tue, 26 May 2020 07:49:45 +0000 Subject: [PATCH 131/509] Translated using Weblate (Russian) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-ru/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml index a4786e862e..ae6c19b663 100644 --- a/OsmAnd/res/values-ru/strings.xml +++ b/OsmAnd/res/values-ru/strings.xml @@ -115,7 +115,7 @@ Сбалансированный Предпочитать переулки Предпочтительный рельеф: равнинный или холмистый. - Уклон + Склон Добавить новую папку Точки удалены. Вы уверены, что хотите удалить %1$d точки\? From 99e14f1c8ea0d7d62b2e0c0b510fbe2fd0c9b788 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 27 May 2020 14:45:06 +0000 Subject: [PATCH 132/509] Translated using Weblate (Danish) Currently translated at 95.7% (3199 of 3341 strings) --- OsmAnd/res/values-da/strings.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index a1ca94cb83..abb3b39551 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -3671,4 +3671,15 @@ Repræsenterer område: %1$s x %2$s Gendan standardrækkefølge for elementer Tilbage til redigering Tilføj profil + Fortsæt + Tilpas mængden af elementer i \"Panel\", \"Konfigurer Kort\" og \"Menu\". +\n +\nDeaktivere ubrugte programudvidelser for at skjule deres kontroller. %1$s. + Få adgang til handlinger ved at trykke på knappen “%1$s”. + Vejledning til symbolik på kort. + Handlingsknappen skifter mellem valgte profiler. + Ændre programprofil + Kunne ikke finde sådanne profiler. + Verdensoversigtskort (detaljeret) + Ikke understøttet type \ No newline at end of file From 0453f5c659a430857a9856de5c632cfa77aa0ace Mon Sep 17 00:00:00 2001 From: iman Date: Wed, 27 May 2020 12:46:17 +0000 Subject: [PATCH 133/509] Translated using Weblate (Persian) Currently translated at 99.7% (3332 of 3341 strings) --- OsmAnd/res/values-fa/strings.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index b9f2f752bb..9a342f5d2a 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -1322,7 +1322,7 @@ سطح راه مسیرهای دوچرخه بازهٔ زمانی برای ضبط رد را انتخاب کنید (که از طریق ابزار ضبط GPX روی نقشه فعال می‌شود). - بازهٔ زمانی ثبت سراسری + بازهٔ زمانی ثبت (سراسری) می‌توانید با استفاده از ابزارک ضبط GPX روی نقشه، ردنگاری در فایل GPX را خاموش یا روشن کنید. بازهٔ زمانی ثبت این افزونه یک ابزارک ضبط GPX روی نقشه اضافه می‌کند و با انتخاب آن می‌توانید رد خود را ضبط و در قالب فایل GPX ذخیره کنید. همچنین این امکان را فراهم می‌کند که هنگام مسیریابی، به‌طور خودکار این کار برای شما انجام شود. @@ -2031,8 +2031,8 @@ نپال بهاسایی گالیسیایی موقعیت‌یاب خاموش است. روشن شود؟ - از ورود خوداتکای داده‌ها جلوگیری شود - هنگامی که برنامه را از طریق برنامه‌های اخیر ببندید ورود اطلاعات جی‌پی‌ایکس موقتاً متوقف می‌شود. (نشانگر اجرای پس‌زمینه از نوار اعلان حذف می‌شود.) + جلوگیری از ثبت خوداتکا + هنگامی که برنامه را از طریق برنامه‌های اخیر ببندید ثبت اطلاعات GPX موقتاً متوقف می‌شود. (نشانگر اجرای پس‌زمینه از نوار اعلان حذف می‌شود.) درون‌برد به OsmAnd مقالهٔ کامل را بخوانید (آنلاین) ویکی‌پدیا @@ -3508,9 +3508,9 @@ صدای شاتر دوربین احراز هویت موفقیت‌آمیز بود مرتب‌سازی دسته‌ها - ترتیب لیست را تغییر دهید، دسته‌های غیرلازم را مخفی کنید. می‌توانید همهٔ تغییرات را همراه پروفایل‌ها برون‌برد یا درون‌برد کنید. - با انتخاب یک یا چند دستهٔ موردنیاز می‌توانید یک دستهٔ سفارشیِ تازه بیفزایید. - بازنشانی به پیشفرض، ترتیب را به حالت اولیهٔ پس از نصب برمی‌گرداند. + ترتیب لیست را تغییر دهید و دسته‌ها را مخفی کنید. می‌توانید همهٔ تغییرات را همراه پروفایل‌ها برون‌برد یا درون‌برد کنید. + با انتخاب یک یا چند دسته می‌توانید یک دستهٔ شخصیِ تازه بیفزایید. + «بازنشانی به پیشفرض»، ترتیب را به حالت اولیهٔ پس از نصب برمی‌گرداند. افزودن دستهٔ سفارشی فقط هنگام شب نشان بده همهٔ تنظیمات افزونه به حالت پیشفرض بازگشت. @@ -3520,7 +3520,7 @@ طلوع خورشید در %1$s حالت قابلیت دسترسی در دستگاهتان خاموش شده است. استفاده از زمان خاموشی صفحهٔ دستگاه - پیشفرض غیرفعال است، اگر OsmAnd در پیش‌زمینه اجرا باشد صفحه خاموش نمی‌شود. + پیشفرض غیرفعال است: هنگامی که OsmAnd در پیش‌زمینه اجرا باشد صفحه خاموش نمی‌شود. \n \nاگر فعال باشد، OsmAnd از تنظیمات دستگاه برای زمان خاموشی صفحه استفاده می‌کند. پاک‌سازی دادهٔ ضبط‌شده From 36c74c4071240f2f5a940c575699a454582bf986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Tue, 26 May 2020 20:32:55 +0000 Subject: [PATCH 134/509] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 9.0% (301 of 3341 strings) --- OsmAnd/res/values-nb/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index b89931b981..764865da6a 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -3497,9 +3497,9 @@ Sirkel Oktogon Kvadrat - Kunne ikke lese %1$s. + Kunne ikke lese fra \"%1$s\". Kunne ikke importere %1$s. - Kunne ikke skrive %1$s. + Kunne ikke skrive til \"%1$s\". Språk Språk Alle språk From 0132cbdc6ced720b1155f9bda6af61cf68e722f5 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Wed, 27 May 2020 18:44:33 +0000 Subject: [PATCH 135/509] Translated using Weblate (Basque) Currently translated at 97.4% (3257 of 3341 strings) --- OsmAnd/res/values-eu/strings.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/OsmAnd/res/values-eu/strings.xml b/OsmAnd/res/values-eu/strings.xml index 2ac310ee14..f3c9228a12 100644 --- a/OsmAnd/res/values-eu/strings.xml +++ b/OsmAnd/res/values-eu/strings.xml @@ -3643,4 +3643,25 @@ Area honi dagokio: %1$s x %2$s Ezin izan dira profil horiek aurkitu. Munduaren gainbegirada mapa (xehetsua) Onartu gabeko mota + Garraio publikoa mapan erakutsi edo ezkutatzen duen botoia. + Hautatu mapan agertuko diren Wikipediako artikuluen hizkuntzak. Hizkuntza eskuragarrien artean txandakatu dezakezu artikulua irakurtzean. + Wikipediako artikulu batzuk agian ez daude zure hizkuntzan eskuragarri. + Malgaxea + Aragonera + %1$s / %2$s + Bilatu POI motak + OsmAnd + Mapillary + Ekintza azkarra + Erradioaren erregela + Neurtu distantzia + Bidaia (Wikivoyage eta Wikipedia) + Mapa-markatzaileak + Gogokoak + Harpidetza- OsmAnd Live + OsmAnd erosketak + Maparen sinbologiari gida. + Nabigazio profilak + Ezkutatu garraio publikoa + Erakutsi garraio publikoa + Erakutsi/ezkutatu garraio publikoa \ No newline at end of file From 980309dd5cb3d12f2fc6ab05b60d85e0fdc98fe9 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 27 May 2020 15:16:14 +0000 Subject: [PATCH 136/509] Translated using Weblate (Danish) Currently translated at 99.5% (3786 of 3804 strings) --- OsmAnd/res/values-da/phrases.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index 26e9f632c4..09a2605ce2 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -3831,4 +3831,5 @@ Grundvand Rør Lufttryk + Pumpens tilstand: ingen håndtag \ No newline at end of file From b4c5abf932408ceefcc455f16511a6a562031fd7 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Tue, 26 May 2020 20:45:50 +0000 Subject: [PATCH 137/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3341 of 3341 strings) --- OsmAnd/res/values-eo/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index ab63e4c72e..35c721d2e7 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -294,7 +294,7 @@ Taja Telegua Norvega Nynorsk - Nepala + Nevara Malaja Haitia kreola Galega @@ -3643,7 +3643,7 @@ Skota Sicilia Panĝaba (okcidenta) - Nepalia + Nepala Napola Birma Mongola From a358ea77be3b808ba81cbc3bd12a593048bab323 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Tue, 26 May 2020 20:32:44 +0000 Subject: [PATCH 138/509] Translated using Weblate (Esperanto) Currently translated at 100.0% (3804 of 3804 strings) --- OsmAnd/res/values-eo/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index 4e51aea33c..f19503232d 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -1953,9 +1953,9 @@ Duŝejo: jes Duŝejo: ne Duŝejo: varma akvo - Duŝejo: ekster-dome + Duŝejo: eksterdome Duŝejo: malvarma akvo - Duŝejo: en-dome + Duŝejo: endome jes Kampad‑veturiloj: malpermesataj Neformala: jes From aef68a7e21a812a434aa37682b159561015ac58f Mon Sep 17 00:00:00 2001 From: Hardy Date: Wed, 27 May 2020 22:00:22 +0200 Subject: [PATCH 139/509] shorten string --- OsmAnd/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index ff5469b1db..fc255ba0ff 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -229,7 +229,7 @@ Side effect: Your track will be missing all sections where the minimum speed criterion was not met (e.g. where you push your bike up a steep hill). Also, there will be no information about periods at rest, like breaks. This has effects on any analysis or post-processing, like when trying to determine the total length of your trip, time in motion, or your average speed. Recommendation: Try using the motion detection via the "logging minimum displacement" filter (B) first, it may produce better results, and you will lose less data. If your tracks remain noisy at low speeds, try non-zero values here. Please note that some measurements may not report any speed value at all (some network-based methods), in which case you would not record anything. Remark: "speed > 0" check: Most GPS chipsets report a speed value only if the algorithm determines you are in motion, and none if you are not. Hence using the "> 0" setting in this filter in a sense uses the motion detection of the GPS chipset. But even if not filtered here at recording time, we still use this feature in our GPX analysis to determine the "Distance corrected", i.e. the value displayed in that field is the "distance recorded while in motion". - This will record only points measured with a minimum "accuracy" indication (in meters/feet, as reported by Android for your chipset). Accuracy refers to how close your measurements are to your true position, and is not directly related to precision, which is the scatter of repeated measurements. + This will record only points measured with a minimum "accuracy" indication (in meters/feet, as reported by Android for your chipset). Accuracy is the proximity of measurements to the true position, and is not directly related to precision, which is the scatter of repeated measurements. Side effect: As a result of filtering by accuracy, points may be entirely missing for e.g. below bridges, under trees, between high buildings, or with certain weather conditions. Recommendation: It is hard to predict what will be recorded and what not, it may be best to turn this filter off. Remark: If GPS had been off immediately before a recording, the first point measured may have a decreased accuracy,so in our code we may want to wait a second or so before recording a point (or record the best of 3 consecutive points, etc.), but this is not yet implemented. From 357de09abd3989e81bbd22644490606852df4f2e Mon Sep 17 00:00:00 2001 From: Hardy Date: Wed, 27 May 2020 22:18:36 +0200 Subject: [PATCH 140/509] Update strings.xml --- OsmAnd/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index 4703d42fc6..51a0822d92 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -3540,7 +3540,7 @@ Antarktis Sie finden Ihre noch nicht übertragenen Änderungen oder OSM-Fehler in %1$s. Hochgeladene Punkte werden nicht mehr angezeigt. Empfehlung: Versuchen Sie zunächst, die Bewegungserkennung über den Filter zur Mindestabstandsmessung (B) zu verwenden. Das kann zu besseren Ergebnissen führen und Sie werden weniger Daten verlieren. Sollten Ihre Tracks bei niedrigen Geschwindigkeiten ungenau bleiben, versuchen Sie hier Werte ungleich Null. Bitte beachten Sie, dass einige Messungen (einige netzwerkbasierte Methoden) möglicherweise überhaupt keine Geschwindigkeitswerte anzeigen. In diesem Fall wird nichts aufgezeichnet. - Es werden nur Punkte aufgezeichnet, die mit der gewählten Mindestgenauigkeit bestimmt wurden (in Metern/Fuß, wie von Android je nach Chipsatz bereitgestellt). Die Genauigkeit gibt an, wie nah Messungen und wahre Position statistisch beieinanderliegen und steht nicht unmittelbar in Bezug zur Präzision, der Streuung wiederholter Messungen. + Es werden nur Punkte aufgezeichnet, die mit der gewählten Mindestgenauigkeit bestimmt wurden (in Metern/Fuß, wie von Android je nach Chipsatz bereitgestellt). Die Genauigkeit beschreibt die Nähe der Messungen zur wahren Position und steht nicht unmittelbar in Bezug zur Präzision, der Streuung wiederholter Messungen. Bemerkung: Wenn das GPS unmittelbar vor einer Aufzeichnung ausgeschaltet war, kann der erste gemessene Punkt eine verminderte Genauigkeit haben, sodass wir in unserem Code vielleicht eine Sekunde oder so warten wollen, bevor ein Punkt (oder der beste von 3 aufeinanderfolgenden Punkten usw.) aufgezeichnet wird. Das ist aber noch nicht implementiert. Aufzeichnungsteilung Auf direktem Weg From f8e4bc86071cea71308eb8d96406d9d99155090d Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Thu, 28 May 2020 10:12:03 +0300 Subject: [PATCH 141/509] Quick Action redesign p.2 --- ...global_preferences_toolbar_with_switch.xml | 35 ++++--- OsmAnd/res/values/strings.xml | 1 - .../quickaction/CreateEditActionDialog.java | 10 +- .../quickaction/QuickActionListFragment.java | 94 +++++++++++-------- 4 files changed, 86 insertions(+), 54 deletions(-) diff --git a/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml b/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml index 1b4fc65968..9c1c36627e 100644 --- a/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml +++ b/OsmAnd/res/layout/global_preferences_toolbar_with_switch.xml @@ -47,19 +47,30 @@ android:paddingEnd="@dimen/content_padding" android:paddingStart="@dimen/content_padding" /> - + android:layout_gravity="center" + android:layout_width="@dimen/acceptable_touch_radius" + android:layout_height="@dimen/acceptable_touch_radius"> + + + + diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 3cb9e2e346..dfc6f73a8a 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,7 +11,6 @@ Thx - Hardy --> - Selected: %d Are you sure you want to irrevocably delete %d quick actions? Delete all? You can Export or Import quick actions with application profiles. diff --git a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java index 7d013003d5..d82ace3da6 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/CreateEditActionDialog.java @@ -23,6 +23,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.FragmentActivity; import net.osmand.AndroidUtils; import net.osmand.CallbackWithObject; @@ -181,9 +182,12 @@ public class CreateEditActionDialog extends DialogFragment item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { - showConfirmDeleteAnActionBottomSheet( - getActivity(), CreateEditActionDialog.this, - action, false); + FragmentActivity activity = getActivity(); + if (activity != null) { + showConfirmDeleteAnActionBottomSheet( + activity, CreateEditActionDialog.this, + action, false); + } return true; } }); diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java index 1005caac2c..eab0bce092 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionListFragment.java @@ -77,12 +77,12 @@ public class QuickActionListFragment extends BaseOsmAndFragment private Toolbar toolbar; private View toolbarSwitchContainer; private ImageView navigationIcon; - private ImageView deleteIconInToolbar; + private View deleteIconContainer; private QuickActionAdapter adapter; private ItemTouchHelper touchHelper; private QuickActionRegistry quickActionRegistry; - private ArrayList actionsToDelete = new ArrayList<>(); + private ArrayList actionsToDelete = new ArrayList<>(); private int screenType = REORDER_SCREEN_TYPE; private boolean fromDashboard; @@ -93,7 +93,12 @@ public class QuickActionListFragment extends BaseOsmAndFragment super.onCreate(savedInstanceState); if (savedInstanceState != null) { fromDashboard = savedInstanceState.getBoolean(FROM_DASHBOARD_KEY, false); - actionsToDelete = savedInstanceState.getStringArrayList(ACTIONS_TO_DELETE_KEY); + long[] array = savedInstanceState.getLongArray(ACTIONS_TO_DELETE_KEY); + if (array != null) { + for (long id : array) { + actionsToDelete.add(id); + } + } screenType = savedInstanceState.getInt(SCREEN_TYPE_KEY, REORDER_SCREEN_TYPE); } } @@ -105,7 +110,8 @@ public class QuickActionListFragment extends BaseOsmAndFragment OsmandApplication app = requireMyApplication(); nightMode = !app.getSettings().isLightContent(); - View view = UiUtilities.getInflater(getContext(), nightMode).inflate(R.layout.quick_action_list, container, false); + View view = UiUtilities.getInflater(getContext(), nightMode) + .inflate(R.layout.quick_action_list, container, false); rv = (RecyclerView) view.findViewById(R.id.recycler_view); fab = (FloatingActionButton) view.findViewById(R.id.fabButton); @@ -128,10 +134,9 @@ public class QuickActionListFragment extends BaseOsmAndFragment btnSelectAll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - actionsToDelete = new ArrayList<>(); + actionsToDelete.clear(); for (QuickAction action : adapter.getQuickActions()) { - String id = String.valueOf(action.id); - actionsToDelete.add(id); + actionsToDelete.add(action.id); } updateListItems(); updateToolbarTitle(); @@ -151,7 +156,7 @@ public class QuickActionListFragment extends BaseOsmAndFragment toolbar = (Toolbar) view.findViewById(R.id.toolbar); navigationIcon = toolbar.findViewById(R.id.close_button); - deleteIconInToolbar = toolbar.findViewById(R.id.action_button); + deleteIconContainer = toolbar.findViewById(R.id.action_button); toolbarSwitchContainer = toolbar.findViewById(R.id.toolbar_switch_container); setUpToolbar(); @@ -211,7 +216,10 @@ public class QuickActionListFragment extends BaseOsmAndFragment navigationIcon.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - requireActivity().onBackPressed(); + FragmentActivity activity = getActivity(); + if (activity != null) { + activity.onBackPressed(); + } } }); } else { @@ -262,11 +270,11 @@ public class QuickActionListFragment extends BaseOsmAndFragment new View.OnClickListener() { @Override public void onClick(View view) { - actionsToDelete = new ArrayList<>(); + actionsToDelete.clear(); for (ListItem item : adapter.items) { if (item.type == ItemType.ACTION) { QuickAction action = (QuickAction) item.value; - actionsToDelete.add(String.valueOf(action.id)); + actionsToDelete.add(action.id); } } showConfirmDeleteActionsBottomSheet(ma); @@ -282,17 +290,17 @@ public class QuickActionListFragment extends BaseOsmAndFragment fab.setVisibility(View.VISIBLE); bottomPanel.setVisibility(View.GONE); toolbarSwitchContainer.setVisibility(View.VISIBLE); - deleteIconInToolbar.setVisibility(View.VISIBLE); + deleteIconContainer.setVisibility(View.VISIBLE); } else { fab.setVisibility(View.GONE); bottomPanel.setVisibility(View.VISIBLE); toolbarSwitchContainer.setVisibility(View.GONE); - deleteIconInToolbar.setVisibility(View.GONE); + deleteIconContainer.setVisibility(View.GONE); } } private void changeScreen() { - actionsToDelete = new ArrayList<>(); + actionsToDelete.clear(); screenType = screenType == REORDER_SCREEN_TYPE ? DELETING_SCREEN_TYPE : REORDER_SCREEN_TYPE; updateToolbarTitle(); @@ -303,7 +311,8 @@ public class QuickActionListFragment extends BaseOsmAndFragment private void updateToolbarActionButton() { OsmandApplication app = requireMyApplication(); - ImageView deletingModeIcon = toolbar.findViewById(R.id.action_button); + View deleteIconContainer = toolbar.findViewById(R.id.action_button); + ImageView deletingModeIcon = toolbar.findViewById(R.id.action_button_icon); int activeButtonsColorResId = nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light; @@ -314,13 +323,13 @@ public class QuickActionListFragment extends BaseOsmAndFragment Drawable deleteIcon = getPaintedContentIcon( R.drawable.ic_action_delete_dark, deleteIconColor); deletingModeIcon.setImageDrawable(deleteIcon); - deletingModeIcon.setOnClickListener(new View.OnClickListener() { + deleteIconContainer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { changeScreen(); } }); - deletingModeIcon.setEnabled(hasActiveQuickActions); + deleteIconContainer.setEnabled(hasActiveQuickActions); } private void updateToolbarTitle() { @@ -331,7 +340,9 @@ public class QuickActionListFragment extends BaseOsmAndFragment } else { int selectedCount = actionsToDelete != null ? actionsToDelete.size() : 0; String title = String.format( - getString(R.string.shared_string_selected_n_with_colon), selectedCount); + getString(R.string.ltr_or_rtl_combine_via_colon), + getString(R.string.shared_string_selected), + String.valueOf(selectedCount)); tvTitle.setText(title); } } @@ -394,7 +405,11 @@ public class QuickActionListFragment extends BaseOsmAndFragment public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); outState.putBoolean(FROM_DASHBOARD_KEY, fromDashboard); - outState.putStringArrayList(ACTIONS_TO_DELETE_KEY, actionsToDelete); + long[] array = new long[actionsToDelete.size()]; + for (int i = 0; i < actionsToDelete.size(); i++) { + array[i] = actionsToDelete.get(i); + } + outState.putLongArray(ACTIONS_TO_DELETE_KEY, array); outState.putInt(SCREEN_TYPE_KEY, screenType); } @@ -420,7 +435,7 @@ public class QuickActionListFragment extends BaseOsmAndFragment public void onConfirmButtonClick() { if (adapter != null && actionsToDelete != null) { adapter.deleteItems(actionsToDelete); - actionsToDelete = new ArrayList<>(); + actionsToDelete.clear(); if (screenType == DELETING_SCREEN_TYPE) { changeScreen(); } else { @@ -509,8 +524,8 @@ public class QuickActionListFragment extends BaseOsmAndFragment h.deleteBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - actionsToDelete = new ArrayList<>(); - actionsToDelete.add(String.valueOf(action.id)); + actionsToDelete.clear(); + actionsToDelete.add(action.id); showConfirmDeleteAnActionBottomSheet(getActivity(), QuickActionListFragment.this, action, nightMode); } @@ -534,20 +549,17 @@ public class QuickActionListFragment extends BaseOsmAndFragment h.itemContainer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - String id = String.valueOf(action.id); - boolean isChecked = actionsToDelete.contains(id); + boolean isChecked = actionsToDelete.contains(action.id); h.checkbox.setChecked(!isChecked); if (!isChecked) { - actionsToDelete.add(id); + actionsToDelete.add(action.id); } else { - actionsToDelete.remove(id); + actionsToDelete.remove(action.id); } updateToolbarTitle(); } }); - - String id = String.valueOf(action.id); - h.checkbox.setChecked(actionsToDelete.contains(id)); + h.checkbox.setChecked(actionsToDelete.contains(action.id)); } List actions = getQuickActions(); @@ -587,9 +599,12 @@ public class QuickActionListFragment extends BaseOsmAndFragment if (buttonInfo.iconRes == R.drawable.ic_action_delete_dark) { boolean hasActiveActions = getQuickActions().size() > 0; h.container.setEnabled(hasActiveActions); - int deleteAllIconColor = ContextCompat.getColor(app, R.color.color_osm_edit_delete); - iconColor = hasActiveActions ? deleteAllIconColor : UiUtilities.getColorWithAlpha(deleteAllIconColor, 0.25f); - titleColor = hasActiveActions ? titleColor : UiUtilities.getColorWithAlpha(titleColor, 0.25f); + int deleteAllIconColor = ContextCompat.getColor(app, + R.color.color_osm_edit_delete); + iconColor = hasActiveActions ? deleteAllIconColor : + UiUtilities.getColorWithAlpha(deleteAllIconColor, 0.25f); + titleColor = hasActiveActions ? titleColor : + UiUtilities.getColorWithAlpha(titleColor, 0.25f); h.divider.setVisibility(View.GONE); } else { h.container.setEnabled(true); @@ -618,16 +633,16 @@ public class QuickActionListFragment extends BaseOsmAndFragment return item.type.ordinal(); } - public void deleteItems(List actionsToDelete) { + public void deleteItems(List actionsToDelete) { if (actionsToDelete != null && actionsToDelete.size() > 0) { Iterator it = items.iterator(); while (it.hasNext()) { ListItem item = it.next(); if (item.type == ItemType.ACTION) { - for (String actionId : actionsToDelete) { + for (Long actionId : actionsToDelete) { QuickAction qa = (QuickAction) item.value; if (actionId != null) { - if (qa.getId() == Long.parseLong(actionId)) { + if (actionId.equals(qa.getId())) { it.remove(); break; } @@ -717,9 +732,12 @@ public class QuickActionListFragment extends BaseOsmAndFragment checkbox = (CompoundButton) itemView.findViewById(R.id.checkbox); itemContainer = itemView.findViewById(R.id.searchListItemLayout); - deleteBtn.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_remove, R.color.color_osm_edit_delete)); - handleView.setImageDrawable(app.getUIUtilities().getThemedIcon(R.drawable.ic_action_item_move)); - UiUtilities.setupCompoundButton(checkbox, nightMode, UiUtilities.CompoundButtonType.GLOBAL); + deleteBtn.setImageDrawable(app.getUIUtilities() + .getIcon(R.drawable.ic_action_remove, R.color.color_osm_edit_delete)); + handleView.setImageDrawable(app.getUIUtilities() + .getThemedIcon(R.drawable.ic_action_item_move)); + UiUtilities.setupCompoundButton(checkbox, nightMode, + UiUtilities.CompoundButtonType.GLOBAL); } } From 00cebdba080ba9ddb3cf72efe97d34fd92c235ef Mon Sep 17 00:00:00 2001 From: Nazar-Kutz Date: Thu, 28 May 2020 10:13:41 +0300 Subject: [PATCH 142/509] Quick Action redesign p.3 replace "Add action" AlertDialog with BottomSheet --- OsmAnd/res/layout/quick_action_add_dialog.xml | 45 ---- .../layout/quick_action_add_dialog_header.xml | 21 +- .../layout/quick_action_add_dialog_item.xml | 19 +- .../quickaction/AddQuickActionDialog.java | 206 +++++------------- .../quickaction/QuickActionListFragment.java | 11 +- .../plus/quickaction/actions/NewAction.java | 4 +- 6 files changed, 78 insertions(+), 228 deletions(-) delete mode 100644 OsmAnd/res/layout/quick_action_add_dialog.xml diff --git a/OsmAnd/res/layout/quick_action_add_dialog.xml b/OsmAnd/res/layout/quick_action_add_dialog.xml deleted file mode 100644 index 69d9436aba..0000000000 --- a/OsmAnd/res/layout/quick_action_add_dialog.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - -