diff --git a/OsmAnd-telegram/res/values-da/strings.xml b/OsmAnd-telegram/res/values-da/strings.xml
index caefa87b94..7430554a21 100644
--- a/OsmAnd-telegram/res/values-da/strings.xml
+++ b/OsmAnd-telegram/res/values-da/strings.xml
@@ -20,7 +20,7 @@
Tilføj enhed
Del placering som
Kontakter og grupper som der deles placering med.
- "Bekræft log af OsmAnd Tracker, der kan ikke deles placering eller se placering af andre\?"
+ Bekræft log af OsmAnd Tracker, der kan ikke deles placering eller se placering af andre\?
Log ud af OsmAnd Tracker\?
Navn
Efter afstand
@@ -142,9 +142,7 @@
t
min
sek
-
- OsmAnd Tracker giver mulighed for at dele placering og se placering af andre i OsmAnd.
-
Programmet bruger Telegram API, så der skal bruges en Telegram konto.
+ OsmAnd Tracker giver mulighed for at dele placering og se placering af andre i OsmAnd.
Programmet bruger Telegram API, så der skal bruges en Telegram konto.
Placering
Sidste ajourførte placering:
Sendt korrekt og opdateret
diff --git a/OsmAnd/AndroidManifest.xml b/OsmAnd/AndroidManifest.xml
index 85235f8647..b18c61d0c8 100644
--- a/OsmAnd/AndroidManifest.xml
+++ b/OsmAnd/AndroidManifest.xml
@@ -1053,7 +1053,6 @@
android:label="@string/process_downloading_service"
android:stopWithTask="false" />
-
diff --git a/OsmAnd/res/drawable/ic_action_trail_overview.xml b/OsmAnd/res/drawable/ic_action_trail_overview.xml
new file mode 100644
index 0000000000..edc76c092c
--- /dev/null
+++ b/OsmAnd/res/drawable/ic_action_trail_overview.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/warnings_railways_ca.xml b/OsmAnd/res/drawable/warnings_railways_ca.xml
new file mode 100644
index 0000000000..c6c219c5d8
--- /dev/null
+++ b/OsmAnd/res/drawable/warnings_railways_ca.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml
index f2ce63b2ed..67eea68da9 100644
--- a/OsmAnd/res/values-ar/strings.xml
+++ b/OsmAnd/res/values-ar/strings.xml
@@ -289,7 +289,7 @@
فرز من الباب إلى الباب
الرجاء الانتظار حتى انتهاء المهمة الحالية
توفر %1$d ملفات للتحميل
- إلغاء مسار
+ رفض المسار؟
تسجيل المسار
قم بضبط كيفية تسجيل الرحلات.
تحديد سمة للتطبيق: ليلي، نهاري.
@@ -3990,4 +3990,17 @@
الألمانية (تقليدية)
يمكنك استخدام بيانات الارتفاع للنظر في الصعود / الهبوط لرحلتك
طائرة
+ ربط الأجزاء
+ تقسيم قبل
+ تقسيم بعد
+ إضافة شريحة جديدة
+ • خيار مضاف لتصدير واستيراد جميع البيانات بما في ذلك الإعدادات والموارد والأماكن الخاصة بي
+\n
+\n • مخطط الطريق: الرسوم البيانية للأجزاء مع المسار ، إضافة القدرة على إنشاء وتحرير مسارات مقطع مضاعفة
+\n
+\n • تمت إضافة طريقة مصادقة OAuth لـ OpenStreetMap ، واجهة مستخدم محسنة لمربعات حوار OSM
+\n
+\n • ألوان مخصصة للمفضلة والمسارات نقاط الطريق
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-ca/phrases.xml b/OsmAnd/res/values-ca/phrases.xml
index 5a20a8aa4c..ba7df293dd 100644
--- a/OsmAnd/res/values-ca/phrases.xml
+++ b/OsmAnd/res/values-ca/phrases.xml
@@ -2883,4 +2883,9 @@
Accés d\'autobús
Accés de caravana
Accés per a autocaravanes
+ Serralleria
+ Material elèctric
+ Cajun
+ Burritos
+ Gofres
\ No newline at end of file
diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml
index 2132e2152a..1e6d6cfef8 100644
--- a/OsmAnd/res/values-ca/strings.xml
+++ b/OsmAnd/res/values-ca/strings.xml
@@ -233,7 +233,7 @@
Velocitat de simulació de la ruta:
Mitjà de transport:
Edició fora de línia
- "En desconnexió la edició està activada però llavors els canvis es desen d\'entrada localment i es pujaran quan es demani; altrament els canvis s\'actualitzen immediatament."
+ En desconnexió la edició està activada, però llavors els canvis es desen localment primer i ja es pujaran quan es demani; altrament els canvis s\'actualitzen immediatament.
Edició asincrònica de l\'OSM:
Activa les funcions per a usuaris amb discapacitats.
Els canvis realitzats en els PDI a l\'aplicació no afecten els fitxers de mapa baixats, els canvis es desen en un fitxer local.
@@ -941,7 +941,7 @@
Queden %1$d fitxers
%1$d fitxers pendents de baixar
Versió completa
- Descarta la ruta
+ Voleu descartar la ruta\?
Atura la navegació
Neteja la destinació
No esteu connectats amb Wi-Fi. Voleu utilitzar la connexió a Internet actual per les baixades?
@@ -3903,4 +3903,12 @@
\nWeb / Wikimedia: fotos dels PDIs especificats a les dades d\'OpenStreetMap.
%1$s * %2$s
Equipament
+ Podeu utilitzar les dades d’elevació per tenir en compte l\'ascens / descens de la vostra ruta
+ Avioneta
+ \"Identificable\" vol dir que la traça es mostrarà públicament a les vostres traces GPS i als llistats públics de traces GPS, és a dir, els altres usuaris la podran baixar en brut i associada al vostre usuari. Les dades cronològiques de pas per les fites de l’API GPS que es publiquen mitjançant l’API de fites faran referència a la pàgina de la vostra traça original.
+ \"Privada\" vol dir que la traça no es mostra a cap llistat públic, però les fites que conté estan disponibles a través de l\'API pública GPS, desordenades i sense enregistraments temporals.
+ Uneix segments
+ Separa abans
+ Separa després
+ Afegeix un segment nou
\ No newline at end of file
diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml
index 1267fcdc3e..15b39592a9 100644
--- a/OsmAnd/res/values-da/strings.xml
+++ b/OsmAnd/res/values-da/strings.xml
@@ -3146,7 +3146,7 @@
\n
\n
Person transport
- Monowheel
+ Monohjul
Scooter
Vandret nøjagtighed: %1$s, lodret: %2$s
Vandret præcision: %s
@@ -3863,4 +3863,10 @@
Brug dev.openstreetmap.org
Kan ikke overføre billedet, prøv igen senere
Vælg billede
+ Tysk (uformel)
+ MGRS
+ Hvad er nyt
+ Til kørsel med snescooter med dedikerede veje og spor.
+ MGRS
+ OsmAnd bruger MGRS, som svarer til UTM NATO-formatet.
\ No newline at end of file
diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml
index 7bac4c4162..6793df84f2 100644
--- a/OsmAnd/res/values-de/strings.xml
+++ b/OsmAnd/res/values-de/strings.xml
@@ -1048,7 +1048,7 @@
Es können noch %1$d Dateien heruntergeladen werden
Vollversion
Navigation stoppen
- Route verwerfen
+ Route verwerfen\?
Kompass-Rauschreduzierung (erhöht die Kompassträgheit etwas).
Kalman-Filter verwenden
Für den Kompass Magnetsensor statt Lagesensor verwenden.
diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml
index fb0ab54dc6..54cb470b7e 100644
--- a/OsmAnd/res/values-eo/phrases.xml
+++ b/OsmAnd/res/values-eo/phrases.xml
@@ -3618,7 +3618,7 @@
Aliro por veturiloj: nur armeaj
Aliro por veturiloj: nur liverado
Aliro por veturiloj: nur arbara servo
- Aliro por aŭtoj:
+ Aliro por aŭtoj: jes
Aliro por aŭtoj: nur laŭ privata permeso
Aliro por aŭtoj: ne
Aliro por aŭtoj: nur al celo
@@ -3873,4 +3873,8 @@
jes
subŝtata/provinca oficejo
reprezenta oficejo
+ Alarmsireno
+ Flegist(in)o
+ Agentejo de poŝtelefonaj pagoj
+ Bazo de akvaj savistoj
\ No newline at end of file
diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml
index eeaea93c09..217c78aa25 100644
--- a/OsmAnd/res/values-eo/strings.xml
+++ b/OsmAnd/res/values-eo/strings.xml
@@ -915,7 +915,7 @@
Ankoraŭ %1$d dosieroj
%1$d dosieroj pli por elŝuti
Plena versio
- Forĵeti kurson
+ Ĉu rezigni kurson\?
Ĉesigi navigadon
Forviŝi celpunkton
Strat-nomo
@@ -4000,4 +4000,19 @@
Elektu bildon
%1$s * %2$s
Germana (ordinara)
+ Vi povas uzi datumojn pri altitudo por kalkuli suprenirojn/malsuprenirojn de via kurso
+ Malpeza aviadilo
+ Kunigi segmentojn
+ Dividi antaŭ
+ Dividi post
+ Aldoni novan segmenton
+ • aldonita agordo por el-/en-porti ĉiujn datumojn, inkluzivante agordojn, map‑datumojn kaj miajn lokojn
+\n
+\n • plani kurson: diagramoj por segmentoj kun la kurso, aldonita eblo por krei kaj redakti plurajn segmentojn de kurso
+\n
+\n • aldonita aŭtentiga metodo OAuth por OpenStreetMap, plibonigita fasado de OSM‑rilataj dialogujoj
+\n
+\n • propraj koloroj por ŝatataj ejoj kaj navigadpunktoj de spuro
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml
index cdb42f90dd..8bac002d00 100644
--- a/OsmAnd/res/values-es-rAR/phrases.xml
+++ b/OsmAnd/res/values-es-rAR/phrases.xml
@@ -3632,7 +3632,7 @@
Acceso para vehículos: militar
Acceso para vehículos: entregas
Acceso para vehículos: forestal
- Acceso para automóviles:
+ Acceso para automóviles: sí
Acceso para automóviles: privado
Acceso para automóviles: no
Acceso para automóviles: destino
@@ -3890,4 +3890,5 @@
Sirena
Enfermera
Agente de dinero móvil
+ Base de salvavidas
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rAR/strings.xml b/OsmAnd/res/values-es-rAR/strings.xml
index a23b608939..a06faa2b1f 100644
--- a/OsmAnd/res/values-es-rAR/strings.xml
+++ b/OsmAnd/res/values-es-rAR/strings.xml
@@ -602,7 +602,7 @@
Quedan %1$d archivos
Faltan descargar %1$d archivos
Versión completa
- Descartar ruta
+ ¿Descartar ruta\?
Parar navegación
Limpiar destino
No está conectado a una red Wi-Fi. ¿Usar la conexión actual a Internet para descargar?
@@ -4008,4 +4008,17 @@
%1$s * %2$s
Puedes usar los datos de elevación para considerar el ascenso o descenso de su viaje
Avión ligero
+ Unir segmentos
+ Dividir antes
+ Dividir después
+ Añadir nuevo segmento
+ • Se ha añadido la opción de exportar e importar todos los datos, incluyendo los ajustes, los recursos y «Mis sitios»
+\n
+\n • Planificar ruta: se añadieron gráficos para los segmentos con la ruta y capacidad de crear o editar trazas de segmentos múltiples
+\n
+\n • Se ha añadido el método de autenticación OAuth para OpenStreetMap y se ha mejorado la interfaz de usuario de los diálogos de OSM
+\n
+\n • Se añadieron colores personalizados para los favoritos y los puntos de referencia de la traza
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rUS/phrases.xml b/OsmAnd/res/values-es-rUS/phrases.xml
index 9980bdccd7..0438edd1c5 100644
--- a/OsmAnd/res/values-es-rUS/phrases.xml
+++ b/OsmAnd/res/values-es-rUS/phrases.xml
@@ -3632,7 +3632,7 @@
Acceso para vehículos: militar
Acceso para vehículos: entregas
Acceso para vehículos: forestal
- Acceso para automóviles:
+ Acceso para automóviles: sí
Acceso para automóviles: privado
Acceso para automóviles: no
Acceso para automóviles: destino
@@ -3887,4 +3887,8 @@
Consulado general
Oficina consular
Agencia consular
+ Base de salvavidas
+ Sirena
+ Enfermera
+ Agente de dinero móvil
\ No newline at end of file
diff --git a/OsmAnd/res/values-es-rUS/strings.xml b/OsmAnd/res/values-es-rUS/strings.xml
index 6e8220cde8..d8cadef2b0 100644
--- a/OsmAnd/res/values-es-rUS/strings.xml
+++ b/OsmAnd/res/values-es-rUS/strings.xml
@@ -602,7 +602,7 @@
Quedan %1$d archivos
Faltan descargar %1$d archivos
Versión completa
- Descartar ruta
+ ¿Descartar ruta\?
Parar navegación
Limpiar destino
No está conectado a una red Wi-Fi. ¿Usar la conexión actual a Internet para descargar?
@@ -4001,4 +4001,21 @@
Marca los grupos que serán importados.
No se puede subir la imagen, inténtalo más tarde
Separador
+ • Se ha añadido la opción de exportar e importar todos los datos, incluyendo los ajustes, los recursos y «Mis sitios»
+\n
+\n • Planificar ruta: se añadieron gráficos para los segmentos con la ruta y capacidad de crear o editar trazas de segmentos múltiples
+\n
+\n • Se ha añadido el método de autenticación OAuth para OpenStreetMap y se ha mejorado la interfaz de usuario de los diálogos de OSM
+\n
+\n • Se añadieron colores personalizados para los favoritos y los puntos de referencia de la traza
+\n
+\n
+ Dividir antes
+ Dividir después
+ Unir segmentos
+ Añadir nuevo segmento
+ %1$s * %2$s
+ Alemán (casual)
+ Puedes usar los datos de elevación para considerar el ascenso o descenso del viaje
+ Avión ligero
\ No newline at end of file
diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml
index c4f61547c4..2424d7dddc 100644
--- a/OsmAnd/res/values-es/strings.xml
+++ b/OsmAnd/res/values-es/strings.xml
@@ -3941,4 +3941,13 @@
Seleccione los datos para exportar al fichero.
Necesario para importar
No hay espacio suficiente
+ • Se ha añadido la opción de exportar e importar todos los datos, incluyendo los ajustes, los recursos y «Mis sitios»
+\n
+\n • Planificar ruta: se añadieron gráficos para los segmentos con la ruta y capacidad de crear o editar trazas de segmentos múltiples
+\n
+\n • Se ha añadido el método de autenticación OAuth para OpenStreetMap y se ha mejorado la interfaz de usuario de los diálogos de OSM
+\n
+\n • Se añadieron colores personalizados para los favoritos y los puntos de referencia de la traza
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/phrases.xml b/OsmAnd/res/values-fr/phrases.xml
index 3afde7dc60..a18a6a1d92 100644
--- a/OsmAnd/res/values-fr/phrases.xml
+++ b/OsmAnd/res/values-fr/phrases.xml
@@ -3633,7 +3633,7 @@
Indiqué
Oui
suspendu
- accès-voiture :
+ Accès véhicules : oui
accès-voiture : privé
accès-voiture : impossible
accès-voiture : possible
@@ -3873,4 +3873,16 @@
Parking couvert
Parking en terrasse
Point GPX
+ Base de sauveteur
+ Sirène
+ Infirmier
+ Agent de monnaie mobile
+ Infranational
+ Section intérêts
+ Succursale
+ Magasin de noix
+ Services aux citoyens
+ Visas d\'immigrant
+ Visas pour non-immigrants
+ Liaison diplomatique
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index 771d0674f6..efad296888 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -964,7 +964,7 @@
Modifications OSM
Autres actions
Le WiFi n\'est pas activé. Voulez-vous effectuer le téléchargement avec la connexion Internet actuelle ?
- Arrêter la navigation
+ Arrêter la navigation \?
Arrêter la navigation
Supprimer l\'arrivée
Autre
@@ -3408,7 +3408,7 @@
Nom d\'utilisateur et mot de passe
Les paramètres du greffon sont globaux et s\'appliquent à tous les profils
Édition OSM
- Vous pouvez consulter vos modifications et vos bugs OSM non envoyés dans %1$s. Les points envoyés ne s\'affichentr plus dans OsmAnd.
+ Vous pouvez consulter vos modifications et vos bugs OSM non envoyés dans %1$s. Les points envoyés ne sont plus affichés dans OsmAnd.
OSM
Icône affiché pendant la navigation ou en déplacement.
Icône affiché à l\'arrêt.
@@ -3978,4 +3978,20 @@
%1$s * %2$s
Allemand (courant)
Aviation légère
+ Vous pouvez utiliser l\'altitude pour prendre en compte les dénivellés sur votre itinéraire
+ « Traçable » signifie que la trace ne s\'affichera pas dans les listes publiques, mais que les points de cheminement horodatés qu\'elle contient seront téléchargeables depuis l\'API GPS publique (ces points sont traités afin de n\'avoir aucun lien direct avec vous).
+ • Ajout d\'une option pour exporter et importer toutes les données, y compris les paramètres, les ressources, mes lieux
+\n
+\n • Planifier l\'itinéraire : graphiques pour les segments avec l\'itinéraire, ajout de la possibilité de créer et de modifier des pistes à segments multiples
+\n
+\n • Ajout de la méthode d\'authentification OAuth pour OpenStreetMap, amélioration de l\'interface utilisateur des boîtes de dialogue OSM
+\n
+\n • Couleurs personnalisées pour les favoris et les points de passage
+\n
+\n
+ Joindre les segments
+ Couper avant
+ Couper après
+ Ajouter un nouveau segment
+ « Identifiable » siginifie que la trace sera affichée publiquement dans « Vos traces GPS » ainsi que dans les listes de traces GPS publiques. Ceci signifie que les autres utilisateurs peuvent télécharger la trace brute et l\'associer avec votre nom d\'utilisateur. Quand ils sont servis par l\'API de point de cheminement, les données de points de trace horodatés provenant de l\'API GPS publique feront référence à la page de votre trace originelle.
\ No newline at end of file
diff --git a/OsmAnd/res/values-gl/phrases.xml b/OsmAnd/res/values-gl/phrases.xml
index 1b72fedd88..8a8c18e087 100644
--- a/OsmAnd/res/values-gl/phrases.xml
+++ b/OsmAnd/res/values-gl/phrases.xml
@@ -3873,4 +3873,7 @@
Ligazón
Consulado
Embaixada
+ Serea
+ Enfermeira
+ Axente de diñeiro móbil
\ No newline at end of file
diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml
index 42fb8639e7..6a334c14d7 100644
--- a/OsmAnd/res/values-gl/strings.xml
+++ b/OsmAnd/res/values-gl/strings.xml
@@ -339,7 +339,7 @@
Faltan %1$d ficheiros
Aínda faltan %1$d ficheiros para baixar
Versión completa
- Rexeitar rota
+ Rexeitar rota\?
Deter a navegación
Limpar o destino
Non estás conectado a unha rede Wi-Fi. Empregar a conexión actual á Internet para baixar\?
diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml
index 5385b21b40..06fec48153 100644
--- a/OsmAnd/res/values-hu/phrases.xml
+++ b/OsmAnd/res/values-hu/phrases.xml
@@ -3660,7 +3660,7 @@
Járművel katonai célra használható
Járművel áruszállításra használható
Járművel erdészeti célra használható
- Személyautóval használható:
+ Személyautóval használható
Személyautóval a tulajdonos engedélyével használható
Személyautóval nem használható
Személyautóval célforgalomra használható
@@ -3875,4 +3875,5 @@
Ápoló
Sziréna
Mobilpénzfizetési iroda
+ Vízimentő-támaszpont
\ No newline at end of file
diff --git a/OsmAnd/res/values-hu/strings.xml b/OsmAnd/res/values-hu/strings.xml
index 34b05bcc92..e431f5ba01 100644
--- a/OsmAnd/res/values-hu/strings.xml
+++ b/OsmAnd/res/values-hu/strings.xml
@@ -966,7 +966,7 @@
OSM-módosítások
További műveletek
Jelenleg nincs Wi-Fi kapcsolat. Szeretnéd a jelenlegi internetkapcsolatot használni a letöltéshez?
- Útvonal elvetése
+ Elveti az útvonalat\?
Navigáció megállítása
Célpont törlése
Egyéb
@@ -3994,4 +3994,17 @@
%1$s * %2$s
A magassági adatokat az utazás során előforduló emelkedés/lejtés megfontolásához használhatja
Könnyű légi jármű
+ Elvágás előtte
+ Elvágás utána
+ Szakaszok egyesítése
+ Új szakasz hozzáadása
+ "• Lehetőség az összes adat – többek között beállítások, erőforrások és helyek – exportálására és importálására
+\n
+\n • Útvonaltervezés: grafikonok az útvonalat tartalmazó szegmensekhez, útszakasznyomvonalak létrehozása és szerkesztése
+\n
+\n • OAuth hitelesítési módszer az OpenStreetMap-hez, javított felhasználói felület az OSM-párbeszédpanelekhez
+\n
+\n • Egyéni színek a kedvencekhez és az útvonalak útpontjaihoz
+\n
+\n"
\ No newline at end of file
diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml
index cd7ba3fc5b..7116cf48e9 100644
--- a/OsmAnd/res/values-it/strings.xml
+++ b/OsmAnd/res/values-it/strings.xml
@@ -931,7 +931,7 @@
Seleziona Preferito
Modifiche OSM
Non connesso al Wi-Fi. Usare la connessione a Internet attuale per il download\?
- Cancella il percorso
+ Cancellare il percorso\?
Interrompere la navigazione
Cancella la destinazione
Altra
diff --git a/OsmAnd/res/values-iw/strings.xml b/OsmAnd/res/values-iw/strings.xml
index ef3ad7571e..31489ef758 100644
--- a/OsmAnd/res/values-iw/strings.xml
+++ b/OsmAnd/res/values-iw/strings.xml
@@ -970,7 +970,7 @@
שינויים ב־OSM
פעולות אחרות
אין חיבור לרשת אלחוטית כרגע. להשתמש בחיבור האינטרנט הנוכחי להורדה?
- התעלמות מהמסלול
+ להתעלם מהמסלול\?
הפסקת הניווט
מחיקת היעד
אחר
@@ -4005,4 +4005,8 @@
%1$s * %2$s
אפשר להשתמש בנתוני רום לצורך התחשבות בעליה / ירידה במהלך הטיול
כלי טיס קל
+ צירוף מקטעים
+ לפצל לפני
+ לפצל אחרי
+ הוספת מקטע חדש
\ No newline at end of file
diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml
index e0c2624bce..584299e186 100644
--- a/OsmAnd/res/values-nb/strings.xml
+++ b/OsmAnd/res/values-nb/strings.xml
@@ -2159,7 +2159,7 @@
Lag audio/foto/video-notater på en tur, enten ved bruk av en knapp på kartet eller posisjon-kontekstmeny.
Gjennomsnitt
%1$d av %2$d
- Stigning/fall
+ Stigning/nedstigning
Tid i bevegelse
Maks./min.
Min./maks.
@@ -3856,7 +3856,7 @@
Er du sikker på at du vil slette %d hurtighandlinger for godt\?
Skjermtidsavbrudd
Forvalgt skjermtidsavbrudd
- Gatenivåbildedata
+ Bilder på gatenivå
Beskjær før
Beskjær før
Utvikling
@@ -3924,4 +3924,11 @@
Legg til i Mapillary
Legg til i OpenPlaceReviews
Bruk dev.openstreetmap.org
+ OsmAnd viser bilder fra flere kilder:
+\nOpenPlaceReviews - interessepunktbilder;
+\nMapillary - bilder på gatenivå;
+\nWeb / Wikimedia - interessepunktbilder spesifisert i OpenStreetMap-data.
+ Du kan bruke høydedata for å ta i betraktning stigning/nedstigning på turen din
+ Småfly
+ %1$s * %2$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml
index dc8809751f..b572932d6a 100644
--- a/OsmAnd/res/values-pl/strings.xml
+++ b/OsmAnd/res/values-pl/strings.xml
@@ -972,7 +972,7 @@
Brak połączenia z Wi-Fi. Użyć do pobierania obecnego połączenia z Internetem?
Usuń cel trasy
Zakończ nawigację
- Odrzucenie trasy
+ Odrzucić trasę\?
Pełna wersja
Inna
Pozostało %1$d plików
@@ -4005,4 +4005,6 @@
Nie można przesłać obrazu, spróbuj ponownie później
%1$s * %2$s
Niemiecki (styl potoczny)
+ \"Publiczny\" oznacza, że ślad jest pokazywany publicznie w śladach GPS i na publicznych listach śladów GPS oraz na publicznej liście śladów z surowymi znacznikami czasowymi. Dane obsługiwane przez API nie odnoszą się do strony śladów. Znaczniki czasu punktów śladowych nie są dostępne za pośrednictwem publicznego API GPS, a punkty śladowe nie są uporządkowane chronologicznie.
+ Lekki samolot
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml
index 42c3d92278..5797b56235 100644
--- a/OsmAnd/res/values-pt-rBR/phrases.xml
+++ b/OsmAnd/res/values-pt-rBR/phrases.xml
@@ -3626,7 +3626,7 @@
Acesso de veículos: militar
Acesso de veículos: entrega
Acesso de veículos: florestal
- Acesso de automóveis:
+ Acesso de automóveis: sim
Acesso de automóveis: privado
Acesso de automóveis: não
Acesso de automóveis: para trânsito local
@@ -3883,4 +3883,5 @@
Sereia
Enfermaria
Agente de dinheiro móvel
+ Base do salva-vidas
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml
index 9e353d63cb..ebc9a5c228 100644
--- a/OsmAnd/res/values-pt-rBR/strings.xml
+++ b/OsmAnd/res/values-pt-rBR/strings.xml
@@ -641,7 +641,7 @@
Restando %1$d arquivos
%1$d arquivos restantes para download
Versão completa
- Descartar rota
+ Descartar rota\?
Parar navegação
Apagar destino
Não conectado ao Wi-Fi. Use a conexão atual com a Internet para baixar\?
@@ -3998,4 +3998,17 @@
Alemão (casual)
Você pode usar os dados de elevação para consideração de subida / descida para sua viagem
Avião leve
+ "• Adicionada opção para exportar e importar todos os dados, incluindo configurações, recursos, meus lugares
+\n
+\n • Planejar rota: gráficos para segmentos com a rota, adicionada a capacidade de criar e editar faixas de múltiplos segmentos
+\n
+\n • Método de autenticação OAuth adicionado para OpenStreetMap, interface de usuário aprimorada de caixas de diálogo OSM
+\n
+\n • Cores personalizadas para favoritos e rastreia pontos de referência
+\n
+\n"
+ Unir segmentos
+ Dividir antes
+ Dividir depois
+ Adicionar novo segmento
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt/phrases.xml b/OsmAnd/res/values-pt/phrases.xml
index 0795fa347c..900b1b946f 100644
--- a/OsmAnd/res/values-pt/phrases.xml
+++ b/OsmAnd/res/values-pt/phrases.xml
@@ -3610,7 +3610,7 @@
Acesso de veículos: militar
Acesso de veículos: entrega
Acesso de veículos: florestal
- Acesso de automóveis:
+ Acesso de automóveis: sim
Acesso de automóveis: privado
Acesso de automóveis: não
Acesso de automóveis: para trânsito local
@@ -3865,4 +3865,8 @@
Ligação
Consulado
Embaixada
+ Sereia
+ Enfermeira
+ Agente de dinheiro móvel
+ Base de salva-vidas
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml
index 539a28aacc..64de702a5d 100644
--- a/OsmAnd/res/values-pt/strings.xml
+++ b/OsmAnd/res/values-pt/strings.xml
@@ -949,7 +949,7 @@
Restando %1$d ficheiros
Faltam %1$d ficheiros para descarregar
Versão completa
- Descartar rota
+ Descartar a rota\?
Parar navegação
Ficheiro de alterações OSM gerado %1$s
Não foi possível fazer backup das alterações do OSM.
@@ -4005,4 +4005,17 @@
Alemão (casual)
Pode usar os dados de elevação para considerar a ascensão / descida na sua viagem
Aeronaves ligeiras
+ Unir segmentos
+ Dividir antes
+ Dividir após
+ Adicionar novo segmento
+ • Opção de exportar e importar todos os dados adicionada, que inclui configurações, recursos, meus lugares
+\n
+\n• Planear rota: gráficos para segmentos com a rota, adicionado a capacidade de criar e editar trilhos de segmentos múltiplos
+\n
+\n• Método de autenticação OAuth para OpenStreetMap adicionado, melhor IU dos diálogos OSM
+\n
+\n• Cores personalizadas para favoritos e pontos de rotas de trilhos
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml
index c3980aa38b..0bfeda0e63 100644
--- a/OsmAnd/res/values-ru/phrases.xml
+++ b/OsmAnd/res/values-ru/phrases.xml
@@ -3572,7 +3572,7 @@
Доступ для транспортных средств: военные
Доступ для транспортных средств: курьеры/доставка
Доступ для транспортных средств: лесное хозяйство
- Доступ для автомобилей:
+ Доступ для автомобилей: да
Доступ для автомобилей: частный
Доступ для автомобилей: нет
Доступ для автомобилей: пункт назначения
@@ -3869,5 +3869,4 @@
Раздел интересов
Консульство
Сирена
-
\ No newline at end of file
diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml
index 82d6e3dbdd..456371cc4b 100644
--- a/OsmAnd/res/values-sc/strings.xml
+++ b/OsmAnd/res/values-sc/strings.xml
@@ -199,7 +199,7 @@
tenes galu %1$d documentos
%1$d documentos galu de iscarrigare
Versione cumprida
- Iscantzella s’àndala
+ Iscantzellare s’àndala\?
Firma sa navigatzione
Iscantzella sa destinatzione
Non ses connessu a su WiFi. Boles sighire a iscarrigare impreende sa connessione a ìnternet atuale?
@@ -3998,6 +3998,6 @@
Ischerta un\'immàgine
%1$s * %2$s
Tedescu (informale)
- Podes impreare sos datos de s\'artària pro pigare in cunsideru s\'Artziada / Achirrada pro su biàgiu tuo
+ Podes impreare sos datos de s\'artària pro valutare s\'Artziada / Achirrada pro su biàgiu tuo
Aèreu lèbiu
\ No newline at end of file
diff --git a/OsmAnd/res/values-sk/phrases.xml b/OsmAnd/res/values-sk/phrases.xml
index 3a141ef175..15b02dfcb2 100644
--- a/OsmAnd/res/values-sk/phrases.xml
+++ b/OsmAnd/res/values-sk/phrases.xml
@@ -3364,7 +3364,7 @@
Prístup autobusom
Prístup karavanom
Prístup obytným autom
- Prístup s autom s prívesom
+ Prístup s prívesom
Prístup motocyklom
Prístup mopedom
Prístup malým motocyklom
@@ -3397,7 +3397,7 @@
Prístup vozidiel: vojenské
Prístup vozidiel: zásobovanie
Prístup vozidiel: lesnícke
- Prístup áut:
+ Prístup áut: áno
Prístup áut: súkromný
Prístup áut: nie
Prístup áut: návštevníci cieľa
@@ -3441,7 +3441,7 @@
Prístup chodcov: zákazníci
Prístup karavanov: nie
Prístup obytných vozidiel: nie
- Prístup ťahačov: nie
+ Prístup s prívesom: nie
Prístup vozidiel verejnej prepravy osôb: áno
Prístup vozidiel verejnej prepravy osôb: určený
Prístup vozidiel verejnej prepravy osôb: nie
diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml
index 54f7a87f39..de5058e7c2 100644
--- a/OsmAnd/res/values-sk/strings.xml
+++ b/OsmAnd/res/values-sk/strings.xml
@@ -934,7 +934,7 @@
Vybrať Obľúbený bod
OSM úpravy
Nie je pripojenie na Wi-Fi. Použiť aktuálne pripojenie na Internet pre sťahovanie?
- Zrušiť cestu
+ Zrušiť cestu\?
Zastaviť navigáciu
Zmazať cieľ
Iné
@@ -3997,4 +3997,10 @@
Zvoľte obrázok
Nemecky (Deutsch) úsporne
%1$s * %2$s
+ \"Identifikovateľná\" znamená, že trasa sa zobrazí verejne vo vašich GPS stopách, vo verejných zoznamoch GPS stôp a v zozname verejných trás s časovými pečiatkami v nespracovanej forme. Údaje poskytované cez rozhranie (API) nebudú odkazovať na vašu pôvodnú stránku s trasou. Časové pečiatky bodov trasy nebudú dostupné cez verejné GPS rozhranie (API) a body trasy nebudú v chronologickom poradí.
+ \"Súkromná\" znamená, že trasa sa nezobrazí vo verejných zoznamoch, ale body trasy z nej v budú dostupné v neusporiadanom poradí cez verejné GPS rozhranie (API) bez časových pečiatok.
+ \"Identifikovateľná\" znamená, že trasa sa zobrazí verejne vo vašich GPS stopách a vo verejných zoznamoch GPS stôp, tzn. iní používatelia budú môcť stiahnuť nespracovanú trasu a prepojiť su s vašim používateľkým menom. Verejné body trasy s časovými pečiatkami poskytované cez GPS rozhranie (API) budú odkazovať na vašu pôvodnú stránku s trasou.
+ \"Sledovateľná\" znamená, že trasa sa nezobrazí vo verejných zoznamoch, ale spracované body trasy s časovými pečiatkami (ktoré nie je možné spojiť s vami), budú dostupné na stiahnutie cez verejné GPS rozhranie (API).
+ Môžete použiť údaje nadmorskej výšky pre zohľadnenie výstupu / zostupu na vašom výlete
+ Ľahké lietadlo
\ No newline at end of file
diff --git a/OsmAnd/res/values-sr/phrases.xml b/OsmAnd/res/values-sr/phrases.xml
index e511263c30..2bc955c449 100644
--- a/OsmAnd/res/values-sr/phrases.xml
+++ b/OsmAnd/res/values-sr/phrases.xml
@@ -2525,7 +2525,7 @@
Приступ возилом: војни
Приступ возилом: достава
Приступ возилом: шумски саобраћај
- Приступ моторним аутом:
+ Приступ моторним аутом: да
Приступ моторним аутом: приватни
Приступ моторним аутом: не
Приступ моторним аутом: само до одредишта
@@ -3862,4 +3862,8 @@
Амбасада
Табла
Доливање воде за пиће
+ База спасиоца
+ Сирена
+ Медицинска сестра
+ Мобилни агент за новац
\ No newline at end of file
diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml
index 5b5058fea5..6e7307ece2 100644
--- a/OsmAnd/res/values-sr/strings.xml
+++ b/OsmAnd/res/values-sr/strings.xml
@@ -888,7 +888,7 @@
Сличице тачака од интереса
Месец и држава:
Седмично
- Откажи путању
+ Одбаци путању\?
Опције приступачности
GPS подаци
Отворене карте ЕУ-а
@@ -3994,4 +3994,19 @@
Употреби dev.openstreetmap.org
%1$s * %2$s
Немачки (говорни)
+ Податке о надморској висини можете користити за разматрање успона / спуштања за ваше путовање
+ Лака летелица
+ Споји сегменте
+ Подели пре
+ После подели
+ Додајте нови сегмент
+ • Додата је опција за извоз и увоз свих података, укључујући подешавања, ресурсе, моја места
+\n
+\n • Планирање руте: графикони за сегменте са рутом, додата је могућност креирања и уређивања вишеструких сегмената стаза
+\n
+\n • Додан је метод аутентификације ОАут за ОпенСтритМап, побољшан кориснички интерфејс ОСМ дијалога
+\n
+\n • Прилагођене боје за омиљене и путне тачаке стаза
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml
index 97c1941ddd..05bf9a4770 100644
--- a/OsmAnd/res/values-tr/strings.xml
+++ b/OsmAnd/res/values-tr/strings.xml
@@ -700,7 +700,7 @@
Manyetik sensörü kullan
Diğer
Tam sürüm
- Rotaya son ver
+ Rotaya son verilsin mi\?
Navigasyonu durdur
Varış noktasını temizle
Kablosuz ağa bağlı değil. İndirmek için şimdiki İnternet bağlantısı kullanılsın mı\?
@@ -1638,7 +1638,7 @@
İndirme bulunamadı, lütfen internet bağlantınızı gözden geçirin.
Önce uzun dokunarak bir GPX dosyası belirtin.
Bir izlenen yol seçin
- Bölünmüş aralık
+ Bölme aralığı
Navigasyon sırasında yakınlaştırma düğmelerini göster.
Yakınlaştırma düğmelerini göster
Sık Kullanılanlar grubu olarak kaydet
@@ -2757,7 +2757,7 @@
\nLütfen tam bir kod girin
Geçerli tam OLC
\nTemsil ettiği alan: %1$s x %2$s
- Boşluktan sonra kayıtları otomatik bölme
+ Boşluktan sonra kayıtları otomatik böl
6 dakikalık aralıktan sonra yeni segmenti, 2 saatlik aralıktan sonra yeni izlenen yolu veya tarih değiştiyse daha uzun aralıktan sonra yeni dosyayı başlatın.
Eş derinlik eğrilerini ve noktalarını göster.
Bu rotadan geçmek için döner
@@ -3337,7 +3337,7 @@
Eklenti tarafından eklenen profiller
Kapat
Yeni eklenti eklendi
- Segmentleri birleştir
+ Bölümleri birleştir
\'%1$s\' yeni profil eklensin mi\?
Başlığı dahil et
Kayıt sırasında her izleme noktasına başlığı kaydet.
@@ -3958,4 +3958,17 @@
%1$s * %2$s
Yolculuğunuzun Çıkış / İniş değerleri için Yükseklik verilerini kullanabilirsiniz
Hafif uçak
+ Bölümleri birleştir
+ Önce böl
+ Sonra böl
+ Yeni bölüm ekle
+ • Ayarlar, kaynaklar, yerlerim dahil tüm verileri dışa ve içe aktarma seçeneği eklendi
+\n
+\n • Güzergah Planla: güzergahla birlikte bölümler için grafikler, birden çok bölüm izi oluşturma ve düzenleme yeteneği eklendi
+\n
+\n • OpenStreetMap için OAuth kimlik doğrulama yöntemi eklendi, OSM iletişim kutularının kullanıcı arayüzü iyileştirildi
+\n
+\n • Sık kullanılanlar ve yol ara noktaları için özel renkler
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml
index 40c02a5830..8cb9561f9a 100644
--- a/OsmAnd/res/values-uk/strings.xml
+++ b/OsmAnd/res/values-uk/strings.xml
@@ -994,7 +994,7 @@
Завершити редагування
Очистити всі точки
Відкрити збережений GPX-файл
- Відхилити маршрут
+ Відхилити маршрут\?
Шукати вулицю в навколишніх містах
Оптимальний порядок проміжних точок на шляху до пункту призначення.
Впорядкувати від дверей до дверей
@@ -2045,7 +2045,7 @@
У Вас немає завантажених мап. Ви можете вибрати мапу зі списку або завантажити її пізніше за допомогою меню — %1$s.
Виберіть інший регіон
Пошук мапи…
- OsmAnd визначить ваше місце розташування і запропонує завантажити мапи для цього регіону.
+ OsmAnd визначить ваше розташування і запропонує завантажити мапи для цього регіону.
Неможливо визначити місце розташування
З’єднання з Інтернетом відсутнє
Необхідно завантажити мапи.
diff --git a/OsmAnd/res/values-zh-rTW/phrases.xml b/OsmAnd/res/values-zh-rTW/phrases.xml
index 0ff79b64b8..49c4923944 100644
--- a/OsmAnd/res/values-zh-rTW/phrases.xml
+++ b/OsmAnd/res/values-zh-rTW/phrases.xml
@@ -3624,7 +3624,7 @@
車輛進入:軍事
車輛進入:送貨
車輛進入:林業
- 汽車進入:
+ 汽車進入:是
汽車進入:私人
汽車進入:否
汽車進入:目的地
@@ -3882,4 +3882,5 @@
警報器
護理師
行動貨幣代理商
+ 救生員基地
\ No newline at end of file
diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml
index bd6e77050f..2374a22ebc 100644
--- a/OsmAnd/res/values-zh-rTW/strings.xml
+++ b/OsmAnd/res/values-zh-rTW/strings.xml
@@ -863,7 +863,7 @@
使用磁性感應器
其它
完整版
- 排除路線
+ 排除路線?
停止導航
清除目的地
並未連線至 Wi-Fi。使用目前的連線進行下載嗎?
@@ -3998,4 +3998,17 @@
%1$s * %2$s
您可以將海拔資料用於您旅程的上升與下降
輕型飛機
+ 加入線段
+ 分離前
+ 分離後
+ 加入新線段
+ • 新增匯出與匯入所有資料(包含設定、資源與我的位置)的選項
+\n
+\n • 路線計畫:有路線的線段圖,並有建立與編輯多個線段軌跡的功能
+\n
+\n • 加入 OpenStreetMap 的 OAuth 驗證方式,改善 OSM 對話框的使用者介面
+\n
+\n • 自訂最愛與軌跡航點的顏色
+\n
+\n
\ No newline at end of file
diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index 22a74625cc..1d9bb60dba 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -13,18 +13,18 @@
-->
• Added option to export and import all data including settings, resources, my places\n\n
- • Plan Route: graphs for segments with the route, added the ability to create and edit multiply segment tracks\n\n
- • Added OAuth authentication method for OpenStreetMap, improved UI of OSM dialogs \n\n
- • Custom colors for favorites and tracks waypoints\n\n
+ • Plan Route: graphs for track segments with route, and added the ability to create and edit multiple track segments\n\n
+ • Added OAuth authentication method for OpenStreetMap, improved UI of OSM dialogs\n\n
+ • Support custom colors for favorites and track waypoints\n\n
- Add new segment
+ Add a new segment
Split after
Split before
Join segments
Light aircraft
- You can use Elevation data for consideration of Ascent / Descent for your trip
+ You can use elevation data to account for ascent/descent of your trip
%1$s * %2$s
- OsmAnd shows photos from several sources:\nOpenPlaceReviews - POI photos;\nMapillary - street-level imagery;\nWeb / Wikimedia - POI photos specified in OpenStreetMap data.
+ OsmAnd shows photos from several sources:\nOpenPlaceReviews - POI photos;\nMapillary - street-level imagery;\nWeb / Wikimedia - POI photos as per OpenStreetMap data.
Use dev.openstreetmap.org
Switch to use "dev.openstreetmap.org" instead of "openstreetmap.org" to testing uploading OSM Note / POI / GPX.
Add to OpenPlaceReviews
@@ -32,7 +32,7 @@
Select items that will be imported.
Select groups that will be imported.
There is not enough space
- Your device only has %1$s free. Please free up some space or unselect some items to export.
+ Your device only has %1$s free. Please free up some space or deselect some items to export.
Needed for import
Select the data to be exported to the file.
Approximate file size
@@ -44,14 +44,14 @@
Search history
I already have an account
Create new account
- Photos are provided by open data project OpenPlaceReviews.org. In order to upload your photos you need to sign up on website.
+ Photos are provided by the OpenPlaceReviews.org open data project. In order to upload your photos you need to sign up on their website.
Register on\nOpenPlaceReviews.org
Add photo
You can log in using the safe OAuth method or use your login and password.
Comment OSM Note
Close OSM Note
\"Trackable\" means the trace does not show up in any public listings, but processed trackpoints with timestamps from it (that can\'t be associated with you directly) do through downloads from the public GPS API.
- \"Identifiable\" means that the trace will be shown publicly in Your GPS traces and in public GPS trace listings, i.e. other users will be able to download the raw trace and associate it with your username. Public timestamped tracepoint data from the GPS API served via the trackpoints API will reference your original trace page.
+ \"Identifiable\" means that the trace will be shown publicly in your GPS traces and in public GPS trace listings, i.e. other users will be able to download the raw trace and associate it with your username. Public timestamped tracepoint data from the GPS API served via the trackpoints API will reference your original trace page.
\"Private\" means the trace does not show up in any public listings, but trackpoints from it in unchronological order are available through the public GPS API without timestamps.
\"Public\" means the trace is shown publicly in your GPS traces and in public GPS trace listings, and in the public trace list with timestamps in raw form. Data served via the API does not reference your trace page. Tracepoint timestamps are not available through the public GPS API, and tracepoints are not chronologically ordered.
Enter tags separated by comma.
@@ -60,7 +60,7 @@
OsmAnd Live subscription is on hold
OsmAnd Live subscription has been paused
OsmAnd Live subscription has been expired
- There is a problem with your subscription. Click the button to go to the Google Play subscription settings to fix your payment method.
+ There is a problem with your subscription. Tap the button to go to the Google Play subscription settings to fix your payment method.
Manage subscription
Login
Password
@@ -71,8 +71,8 @@
Sign in with OpenStreetMap
Login to OpenStreetMap.org
Login to OpenStreetMap
- These plugin setting are global, and apply to all profiles
- You need to add at least two points
+ These plugin settings are global, and apply to all profiles
+ Add at least two points
Travel
Emergency
Sport
@@ -84,8 +84,8 @@
Gap
%1$s — %2$s
Local maps
- Wait for the route recalculation.\nGraph will be available after recalculation.
- %1$s data available only on the roads, you need to calculate a route using “Route between points” to get it.
+ Please wait.\nGraph will be available after route recalculation.
+ %1$s data available only on roads, calculate a route using “Route between points” to see graphs.
Graph
Use 2-phase A* routing algorithm
File is already imported in OsmAnd
@@ -93,9 +93,9 @@
Clear OpenStreetMap OAuth token
Log in via OAuth
Log in with OAuth to use osmedit features
- Switch to Java (safe) Public Transport routing calculation
+ Switch to Java (safe) Public Transport route calculation
Native Public Transport development
- Recalculates only the initial part of the route. Can be used for long trips.
+ Recalculates only the initial part of the route, useful for long trips.
Two-phase routing for car navigation.
OsmAnd Live data
OsmAnd Live data
diff --git a/OsmAnd/src/net/osmand/plus/AppInitializer.java b/OsmAnd/src/net/osmand/plus/AppInitializer.java
index e6271f4509..0afa87c32a 100644
--- a/OsmAnd/src/net/osmand/plus/AppInitializer.java
+++ b/OsmAnd/src/net/osmand/plus/AppInitializer.java
@@ -760,8 +760,7 @@ public class AppInitializer implements IProgress {
}
}
if(app.getSettings().SAVE_GLOBAL_TRACK_TO_GPX.get() && OsmandPlugin.getEnabledPlugin(OsmandMonitoringPlugin.class) != null){
- int interval = app.getSettings().SAVE_GLOBAL_TRACK_INTERVAL.get();
- app.startNavigationService(NavigationService.USED_BY_GPX, app.navigationServiceGpsInterval(interval));
+ app.startNavigationService(NavigationService.USED_BY_GPX);
}
}
diff --git a/OsmAnd/src/net/osmand/plus/NavigationService.java b/OsmAnd/src/net/osmand/plus/NavigationService.java
index b1acef28ad..3a824f937e 100644
--- a/OsmAnd/src/net/osmand/plus/NavigationService.java
+++ b/OsmAnd/src/net/osmand/plus/NavigationService.java
@@ -1,9 +1,6 @@
package net.osmand.plus;
-import android.annotation.SuppressLint;
-import android.app.AlarmManager;
import android.app.Notification;
-import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
@@ -11,13 +8,8 @@ import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Binder;
-import android.os.Build;
import android.os.Bundle;
-import android.os.Handler;
import android.os.IBinder;
-import android.os.PowerManager;
-import android.os.PowerManager.WakeLock;
-import android.os.SystemClock;
import android.util.Log;
import android.widget.Toast;
@@ -28,26 +20,17 @@ import net.osmand.plus.settings.backend.OsmandSettings;
public class NavigationService extends Service implements LocationListener {
public static class NavigationServiceBinder extends Binder {
-
}
// global id don't conflict with others
public static int USED_BY_NAVIGATION = 1;
public static int USED_BY_GPX = 2;
public final static String USAGE_INTENT = "SERVICE_USED_BY";
- public final static String USAGE_OFF_INTERVAL = "SERVICE_OFF_INTERVAL";
private final NavigationServiceBinder binder = new NavigationServiceBinder();
- private int serviceOffInterval;
private String serviceOffProvider;
- private int serviceErrorTimeout;
- private long nextManualWakeup;
private OsmandSettings settings;
- private Handler handler;
-
- private static WakeLock lockStatic;
- private PendingIntent pendingIntent;
protected int usedBy = 0;
private OsmAndLocationProvider locationProvider;
@@ -57,26 +40,6 @@ public class NavigationService extends Service implements LocationListener {
return binder;
}
- protected synchronized static PowerManager.WakeLock getLock(Context context) {
- if (lockStatic == null) {
- PowerManager mgr = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
- lockStatic = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "OsmAnd:NavigationServiceLock");
- }
- return lockStatic;
- }
-
- public long getNextManualWakeup() {
- return nextManualWakeup;
- }
-
- public void setNextManualWakeup(long value) {
- nextManualWakeup = value;
- }
-
- public int getServiceOffInterval() {
- return serviceOffInterval;
- }
-
public int getUsedBy() {
return usedBy;
}
@@ -97,24 +60,7 @@ public class NavigationService extends Service implements LocationListener {
final Intent serviceIntent = new Intent(ctx, NavigationService.class);
ctx.stopService(serviceIntent);
} else {
- // Issue #3604
final OsmandApplication app = (OsmandApplication) getApplication();
- if ((usedBy == USED_BY_GPX) && (app.navigationServiceGpsInterval(app.getSettings().SAVE_GLOBAL_TRACK_INTERVAL.get()) != 0) && (serviceOffInterval == 0)) {
- serviceOffInterval = app.getSettings().SAVE_GLOBAL_TRACK_INTERVAL.get();
- setupServiceErrorTimeout();
- app.setNavigationService(this);
- AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
- pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(this, OnNavigationServiceAlarmReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
- nextManualWakeup = SystemClock.elapsedRealtime() + serviceOffInterval;
- if (Build.VERSION.SDK_INT >= 23) {
- alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 500, pendingIntent);
- } else if (Build.VERSION.SDK_INT >= 19) {
- // setRepeating() became inexact starting with SDK 19
- alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 500, pendingIntent);
- } else {
- alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 500, serviceOffInterval, pendingIntent);
- }
- }
app.getNotificationHelper().updateTopNotification();
app.getNotificationHelper().refreshNotifications();
}
@@ -122,46 +68,25 @@ public class NavigationService extends Service implements LocationListener {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
- handler = new Handler();
final OsmandApplication app = (OsmandApplication) getApplication();
settings = app.getSettings();
usedBy = intent.getIntExtra(USAGE_INTENT, 0);
- serviceOffInterval = intent.getIntExtra(USAGE_OFF_INTERVAL, 0);
- if ((usedBy & USED_BY_NAVIGATION) != 0) {
- serviceOffInterval = 0;
- }
+
// use only gps provider
serviceOffProvider = LocationManager.GPS_PROVIDER;
- setupServiceErrorTimeout();
-
locationProvider = app.getLocationProvider();
app.setNavigationService(this);
- // requesting
- if (isContinuous()) {
- // request location updates
- LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
- try {
- locationManager.requestLocationUpdates(serviceOffProvider, 0, 0, NavigationService.this);
- } catch (SecurityException e) {
- Toast.makeText(this, R.string.no_location_permission, Toast.LENGTH_LONG).show();
- Log.d(PlatformUtil.TAG, "Location service permission not granted"); //$NON-NLS-1$
- } catch (IllegalArgumentException e) {
- Toast.makeText(this, R.string.gps_not_available, Toast.LENGTH_LONG).show();
- Log.d(PlatformUtil.TAG, "GPS location provider not available"); //$NON-NLS-1$
- }
- } else {
- AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
- pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(this, OnNavigationServiceAlarmReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
- nextManualWakeup = SystemClock.elapsedRealtime() + serviceOffInterval;
- if (Build.VERSION.SDK_INT >= 23) {
- alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 500, pendingIntent);
- } else if (Build.VERSION.SDK_INT >= 19) {
- // setRepeating() became inexact starting with SDK 19
- alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 500, pendingIntent);
- } else {
- alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 500, serviceOffInterval, pendingIntent);
- }
+ // request location updates
+ LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
+ try {
+ locationManager.requestLocationUpdates(serviceOffProvider, 0, 0, NavigationService.this);
+ } catch (SecurityException e) {
+ Toast.makeText(this, R.string.no_location_permission, Toast.LENGTH_LONG).show();
+ Log.d(PlatformUtil.TAG, "Location service permission not granted"); //$NON-NLS-1$
+ } catch (IllegalArgumentException e) {
+ Toast.makeText(this, R.string.gps_not_available, Toast.LENGTH_LONG).show();
+ Log.d(PlatformUtil.TAG, "GPS location provider not available"); //$NON-NLS-1$
}
// registering icon at top level
@@ -185,20 +110,6 @@ public class NavigationService extends Service implements LocationListener {
// initializing variables
}
- private boolean isContinuous() {
- return serviceOffInterval == 0;
- }
-
- private void setupServiceErrorTimeout() {
- serviceErrorTimeout = serviceOffInterval / 5;
- // 1. not more than 12 mins
- serviceErrorTimeout = Math.min(serviceErrorTimeout, 12 * 60 * 1000);
- // 2. not less than 30 seconds
- serviceErrorTimeout = Math.max(serviceErrorTimeout, 30 * 1000);
- // 3. not more than serviceOffInterval
- serviceErrorTimeout = Math.min(serviceErrorTimeout, serviceOffInterval);
- }
-
@Override
public void onDestroy() {
super.onDestroy();
@@ -212,20 +123,6 @@ public class NavigationService extends Service implements LocationListener {
} catch (SecurityException e) {
Log.d(PlatformUtil.TAG, "Location service permission not granted"); //$NON-NLS-1$
}
-
- if (!isContinuous()) {
- WakeLock lock = getLock(this);
- if (lock.isHeld()) {
- lock.release();
- }
- }
-
- if (pendingIntent != null) {
- // remove alarm
- AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
- alarmManager.cancel(pendingIntent);
- }
-
// remove notification
stopForeground(Boolean.TRUE);
app.getNotificationHelper().updateTopNotification();
@@ -237,47 +134,11 @@ public class NavigationService extends Service implements LocationListener {
}, 500);
}
- @SuppressLint("MissingPermission")
- public void onWakeUp() {
- // request location updates
- final LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
- try {
- locationManager.requestLocationUpdates(serviceOffProvider, 0, 0, this);
- if (serviceOffInterval > serviceErrorTimeout) {
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- WakeLock lock = getLock(NavigationService.this);
- if (lock.isHeld()) {
- lock.release();
- locationManager.removeUpdates(NavigationService.this);
- }
- }
- }, serviceErrorTimeout);
- }
- } catch (RuntimeException e) {
- // ignore
- }
- }
-
@Override
public void onLocationChanged(Location l) {
if (l != null && !settings.MAP_ACTIVITY_ENABLED.get()) {
net.osmand.Location location = OsmAndLocationProvider.convertLocation(l, (OsmandApplication) getApplication());
- if (!isContinuous()) {
- // unregister listener and wait next time
- LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
- try {
- locationManager.removeUpdates(this);
- } catch (SecurityException e) {
- Log.d(PlatformUtil.TAG, "Location service permission not granted"); //$NON-NLS-1$
- }
- WakeLock lock = getLock(this);
- if (lock.isHeld()) {
- lock.release();
- }
- }
- locationProvider.setLocationFromService(location, isContinuous());
+ locationProvider.setLocationFromService(location);
}
}
diff --git a/OsmAnd/src/net/osmand/plus/OnNavigationServiceAlarmReceiver.java b/OsmAnd/src/net/osmand/plus/OnNavigationServiceAlarmReceiver.java
deleted file mode 100644
index f9ae1debec..0000000000
--- a/OsmAnd/src/net/osmand/plus/OnNavigationServiceAlarmReceiver.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package net.osmand.plus;
-
-import android.annotation.SuppressLint;
-import android.app.AlarmManager;
-import android.app.PendingIntent;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Build;
-import android.os.PowerManager.WakeLock;
-import android.os.SystemClock;
-
-public class OnNavigationServiceAlarmReceiver extends BroadcastReceiver {
- @SuppressLint("WakelockTimeout")
- @Override
- public void onReceive(Context context, Intent intent) {
- final WakeLock lock = NavigationService.getLock(context);
- final NavigationService service = ((OsmandApplication) context.getApplicationContext()).getNavigationService();
-
- // do not do nothing
- if (service == null) {
- return;
- } else if (lock.isHeld()) {
- rescheduleAlarm(context, service);
- return;
- }
-
- lock.acquire();
- rescheduleAlarm(context, service);
- service.onWakeUp();
- }
-
- private void rescheduleAlarm(Context context, NavigationService service) {
- //Unless setRepeating was used, manually re-schedule service to the next measurement point in the future
- int serviceOffInterval = service.getServiceOffInterval();
- if (Build.VERSION.SDK_INT >= 19 && serviceOffInterval > 0) {
- // Avoid drift
- while ((service.getNextManualWakeup() - SystemClock.elapsedRealtime()) < 0) {
- service.setNextManualWakeup(service.getNextManualWakeup() + serviceOffInterval);
- }
- AlarmManager alarmManager = (AlarmManager) service.getSystemService(Context.ALARM_SERVICE);
- PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 1, new Intent(context, OnNavigationServiceAlarmReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);
- if (Build.VERSION.SDK_INT >= 23) {
- alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, service.getNextManualWakeup(), pendingIntent);
- } else {
- alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, service.getNextManualWakeup(), pendingIntent);
- }
- }
- }
-}
diff --git a/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java b/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java
index 577258a5f4..c465ce2f77 100644
--- a/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java
+++ b/OsmAnd/src/net/osmand/plus/OsmAndLocationProvider.java
@@ -791,19 +791,17 @@ public class OsmAndLocationProvider implements SensorEventListener {
}
}
}
-
-
- public void setLocationFromService(net.osmand.Location location, boolean continuous) {
+
+ public void setLocationFromService(net.osmand.Location location) {
if (locationSimulation.isRouteAnimating()) {
return;
}
if (location != null) {
notifyGpsLocationRecovered();
}
- // if continuous notify about lost location
- if (continuous) {
- scheduleCheckIfGpsLost(location);
- }
+ // notify about lost location
+ scheduleCheckIfGpsLost(location);
+
app.getSavingTrackHelper().updateLocation(location, heading);
OsmandPlugin.updateLocationPlugins(location);
app.getRoutingHelper().updateLocation(location);
diff --git a/OsmAnd/src/net/osmand/plus/OsmandApplication.java b/OsmAnd/src/net/osmand/plus/OsmandApplication.java
index bbe45aab51..36c566a7a6 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandApplication.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandApplication.java
@@ -945,34 +945,14 @@ public class OsmandApplication extends MultiDexApplication {
}
}
-
- public int navigationServiceGpsInterval(int interval) {
- // Issue 5632 Workaround: Keep GPS always on instead of using AlarmManager, as API>=19 restricts repeated AlarmManager reception
- // Maybe do not apply to API=19 devices, many still behave acceptably (often restriction not worse than 1/min)
- if ((Build.VERSION.SDK_INT > 19) && (getSettings().SAVE_GLOBAL_TRACK_INTERVAL.get() < 5 * 60000)) {
- return 0;
- }
- // Default: Save battery power by turning off GPS between measurements
- if (interval >= 30000) {
- return interval;
- // GPS continuous
- } else {
- return 0;
- }
- }
-
-
- public void startNavigationService(int intent, int interval) {
+ public void startNavigationService(int intent) {
final Intent serviceIntent = new Intent(this, NavigationService.class);
-
if (getNavigationService() != null) {
intent |= getNavigationService().getUsedBy();
- interval = Math.min(getNavigationService().getServiceOffInterval(), interval);
getNavigationService().stopSelf();
}
serviceIntent.putExtra(NavigationService.USAGE_INTENT, intent);
- serviceIntent.putExtra(NavigationService.USAGE_OFF_INTERVAL, interval);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(serviceIntent);
} else {
diff --git a/OsmAnd/src/net/osmand/plus/measurementtool/command/ReversePointsCommand.java b/OsmAnd/src/net/osmand/plus/measurementtool/command/ReversePointsCommand.java
index 364556635c..3c17998f3c 100644
--- a/OsmAnd/src/net/osmand/plus/measurementtool/command/ReversePointsCommand.java
+++ b/OsmAnd/src/net/osmand/plus/measurementtool/command/ReversePointsCommand.java
@@ -32,8 +32,22 @@ public class ReversePointsCommand extends MeasurementModeCommand {
MeasurementEditingContext editingCtx = getEditingCtx();
oldPoints = new ArrayList<>(editingCtx.getPoints());
oldRoadSegmentData = editingCtx.getRoadSegmentData();
- newPoints = new ArrayList<>(oldPoints);
- Collections.reverse(newPoints);
+ newPoints = new ArrayList<>(oldPoints.size());
+ for (int i = oldPoints.size() - 1; i >= 0; i--) {
+ WptPt point = oldPoints.get(i);
+ WptPt prevPoint = i > 0 ? oldPoints.get(i - 1) : null;
+ WptPt newPoint = new WptPt(point);
+ newPoint.copyExtensions(point);
+ if (prevPoint != null) {
+ String profileType = prevPoint.getProfileType();
+ if (profileType != null) {
+ newPoint.setProfileType(profileType);
+ } else {
+ newPoint.removeProfileType();
+ }
+ }
+ newPoints.add(newPoint);
+ }
executeCommand();
return true;
}
diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java
index 26d186782d..7429caadd6 100644
--- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java
+++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java
@@ -500,8 +500,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin {
settings.SAVE_GLOBAL_TRACK_INTERVAL.set(vs.value);
settings.SAVE_GLOBAL_TRACK_TO_GPX.set(true);
settings.SAVE_GLOBAL_TRACK_REMEMBER.set(choice.value);
- int interval = settings.SAVE_GLOBAL_TRACK_INTERVAL.get();
- app.startNavigationService(NavigationService.USED_BY_GPX, app.navigationServiceGpsInterval(interval));
+ app.startNavigationService(NavigationService.USED_BY_GPX);
}
};
if (choice.value || map == null) {
diff --git a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java
index e92c8c0504..49b8babdc8 100644
--- a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java
+++ b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java
@@ -164,7 +164,7 @@ public class RoutingHelper {
app.getNotificationHelper().refreshNotifications();
}
} else {
- app.startNavigationService(NavigationService.USED_BY_NAVIGATION, 0);
+ app.startNavigationService(NavigationService.USED_BY_NAVIGATION);
}
}
@@ -183,7 +183,7 @@ public class RoutingHelper {
app.getNotificationHelper().refreshNotifications();
}
} else {
- app.startNavigationService(NavigationService.USED_BY_NAVIGATION, 0);
+ app.startNavigationService(NavigationService.USED_BY_NAVIGATION);
}
}
diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/AlarmWidget.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/AlarmWidget.java
index 2dc092139e..9862993386 100644
--- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/AlarmWidget.java
+++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/widgets/AlarmWidget.java
@@ -116,7 +116,9 @@ public class AlarmWidget {
} else if (alarm.getType() == AlarmInfo.AlarmInfoType.STOP) {
locimgId = R.drawable.warnings_stop;
} else if (alarm.getType() == AlarmInfo.AlarmInfoType.RAILWAY) {
- if (americanType) {
+ if (isCanadianRegion) {
+ locimgId = R.drawable.warnings_railways_ca;
+ } else if (americanType) {
locimgId = R.drawable.warnings_railways_us;
} else {
locimgId = R.drawable.warnings_railways;