diff --git a/OsmAnd-java/src/main/java/net/osmand/NativeLibrary.java b/OsmAnd-java/src/main/java/net/osmand/NativeLibrary.java
index 85212d65d8..8893c01286 100644
--- a/OsmAnd-java/src/main/java/net/osmand/NativeLibrary.java
+++ b/OsmAnd-java/src/main/java/net/osmand/NativeLibrary.java
@@ -25,10 +25,12 @@ import net.osmand.data.MapObject;
import net.osmand.data.QuadRect;
import net.osmand.render.RenderingRuleSearchRequest;
import net.osmand.render.RenderingRulesStorage;
+import net.osmand.router.NativeTransportRoutingResult;
import net.osmand.router.PrecalculatedRouteDirection;
import net.osmand.router.RouteCalculationProgress;
import net.osmand.router.RouteSegmentResult;
import net.osmand.router.RoutingConfiguration;
+import net.osmand.router.TransportRoutingConfiguration;
import net.osmand.util.Algorithms;
import org.apache.commons.logging.Log;
@@ -128,6 +130,11 @@ public class NativeLibrary {
return closeBinaryMapFile(filePath);
}
+ public NativeTransportRoutingResult[] runNativePTRouting(int sx31, int sy31, int ex31, int ey31,
+ TransportRoutingConfiguration cfg, RouteCalculationProgress progress) {
+ return nativeTransportRouting(new int[] { sx31, sy31, ex31, ey31 }, cfg, progress);
+ }
+
public RouteSegmentResult[] runNativeRouting(int sx31, int sy31, int ex31, int ey31, RoutingConfiguration config,
RouteRegion[] regions, RouteCalculationProgress progress, PrecalculatedRouteDirection precalculatedRouteDirection,
boolean basemap, boolean publicTransport, boolean startTransportStop, boolean targetTransportStop) {
@@ -160,6 +167,9 @@ public class NativeLibrary {
PrecalculatedRouteDirection precalculatedRouteDirection, boolean basemap,
boolean publicTransport, boolean startTransportStop, boolean targetTransportStop);
+ protected static native NativeTransportRoutingResult[] nativeTransportRouting(int[] coordinates, TransportRoutingConfiguration cfg,
+ RouteCalculationProgress progress);
+
protected static native void deleteSearchResult(long searchResultHandle);
protected static native boolean initBinaryMapFile(String filePath, boolean useLive, boolean routingOnly);
diff --git a/OsmAnd-java/src/main/java/net/osmand/binary/BinaryMapTransportReaderAdapter.java b/OsmAnd-java/src/main/java/net/osmand/binary/BinaryMapTransportReaderAdapter.java
index 56fe23e511..bf3a217306 100644
--- a/OsmAnd-java/src/main/java/net/osmand/binary/BinaryMapTransportReaderAdapter.java
+++ b/OsmAnd-java/src/main/java/net/osmand/binary/BinaryMapTransportReaderAdapter.java
@@ -465,8 +465,6 @@ public class BinaryMapTransportReaderAdapter {
s.setName(stringTable.get(e.getKey().charAt(0)), stringTable.get(e.getValue().charAt(0)));
}
}
-
-
private TransportStop readTransportRouteStop(int[] dx, int[] dy, long did, TIntObjectHashMap stringTable,
int filePointer) throws IOException {
@@ -637,6 +635,4 @@ public class BinaryMapTransportReaderAdapter {
}
}
}
-
-
}
diff --git a/OsmAnd-java/src/main/java/net/osmand/data/TransportRoute.java b/OsmAnd-java/src/main/java/net/osmand/data/TransportRoute.java
index a353148bce..02dbf811c3 100644
--- a/OsmAnd-java/src/main/java/net/osmand/data/TransportRoute.java
+++ b/OsmAnd-java/src/main/java/net/osmand/data/TransportRoute.java
@@ -41,7 +41,23 @@ public class TransportRoute extends MapObject {
public List getForwardStops() {
return forwardStops;
}
-
+
+ public void setForwardStops(List forwardStops) {
+ this.forwardStops = forwardStops;
+ }
+
+ public void setDist(Integer dist) {
+ this.dist = dist;
+ }
+
+ public void setForwardWays(List forwardWays) {
+ this.forwardWays = forwardWays;
+ }
+
+ public void setSchedule(TransportSchedule schedule) {
+ this.schedule = schedule;
+ }
+
public List getForwardWays() {
if(forwardWays == null) {
return Collections.emptyList();
diff --git a/OsmAnd-java/src/main/java/net/osmand/data/TransportSchedule.java b/OsmAnd-java/src/main/java/net/osmand/data/TransportSchedule.java
index fc24674e1a..f7c812b43d 100644
--- a/OsmAnd-java/src/main/java/net/osmand/data/TransportSchedule.java
+++ b/OsmAnd-java/src/main/java/net/osmand/data/TransportSchedule.java
@@ -8,7 +8,16 @@ public class TransportSchedule {
public TIntArrayList tripIntervals = new TIntArrayList();
public TIntArrayList avgStopIntervals = new TIntArrayList();
public TIntArrayList avgWaitIntervals = new TIntArrayList();
-
+
+ public TransportSchedule() {
+ }
+
+ public TransportSchedule(TIntArrayList tripIntervals, TIntArrayList avgStopIntervals, TIntArrayList avgWaitIntervals) {
+ this.tripIntervals = tripIntervals;
+ this.avgStopIntervals = avgStopIntervals;
+ this.avgWaitIntervals = avgWaitIntervals;
+ }
+
public int[] getTripIntervals() {
return tripIntervals.toArray();
}
diff --git a/OsmAnd-java/src/main/java/net/osmand/data/TransportStopExit.java b/OsmAnd-java/src/main/java/net/osmand/data/TransportStopExit.java
index ce3ba30f68..a05c153df0 100644
--- a/OsmAnd-java/src/main/java/net/osmand/data/TransportStopExit.java
+++ b/OsmAnd-java/src/main/java/net/osmand/data/TransportStopExit.java
@@ -8,6 +8,14 @@ public class TransportStopExit extends MapObject {
public int y31;
public String ref = null;
+ public TransportStopExit() {}
+
+ public TransportStopExit(int x31, int y31, String ref) {
+ this.x31 = x31;
+ this.y31 = y31;
+ this.ref = ref;
+ }
+
@Override
public void setLocation(double latitude, double longitude) {
super.setLocation(latitude, longitude);
diff --git a/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRoute.java b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRoute.java
new file mode 100644
index 0000000000..71cb5596b8
--- /dev/null
+++ b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRoute.java
@@ -0,0 +1,33 @@
+package net.osmand.router;
+
+public class NativeTransportRoute {
+ //MapObject part:
+ public long id = -1l;
+ public double routeLat = -1;
+ public double routeLon = -1;
+ public String name = "";
+ public String enName = "";
+ //to HashMap names
+ public String[] namesLng;
+ public String[] namesNames;
+ public int fileOffset;
+ //-----
+ public NativeTransportStop[] forwardStops;
+ public String ref = "";
+ public String routeOperator = "";
+ public String type = "";
+ public int dist = -1;
+ public String color = "";
+
+ // Convert into TransportSchedule:
+ public int[] intervals;
+ public int[] avgStopIntervals;
+ public int[] avgWaitIntervals;
+
+ // Convert into ways (and nodes):
+ public long[] waysIds;
+ public long[][] waysNodesIds;
+ public double[][] waysNodesLats;
+ public double[][] waysNodesLons;
+
+}
diff --git a/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRouteResultSegment.java b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRouteResultSegment.java
new file mode 100644
index 0000000000..0edef7d9e8
--- /dev/null
+++ b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRouteResultSegment.java
@@ -0,0 +1,12 @@
+package net.osmand.router;
+
+public class NativeTransportRouteResultSegment {
+ public NativeTransportRoute route;
+ public double walkTime;
+ public double travelDistApproximate;
+ public double travelTime;
+ public int start;
+ public int end;
+ public double walkDist ;
+ public int depTime;
+}
diff --git a/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRoutingResult.java b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRoutingResult.java
new file mode 100644
index 0000000000..23bbf337a1
--- /dev/null
+++ b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportRoutingResult.java
@@ -0,0 +1,10 @@
+package net.osmand.router;
+
+public class NativeTransportRoutingResult {
+
+ public NativeTransportRouteResultSegment[] segments;
+ public double finishWalkDist;
+ public double routeTime;
+
+
+}
diff --git a/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportStop.java b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportStop.java
new file mode 100644
index 0000000000..6a7c0883a8
--- /dev/null
+++ b/OsmAnd-java/src/main/java/net/osmand/router/NativeTransportStop.java
@@ -0,0 +1,29 @@
+package net.osmand.router;
+
+public class NativeTransportStop {
+ //MapObject part:
+ public long id;
+ public double stopLat;
+ public double stopLon;
+ public String name;
+ public String enName;
+ public String[] namesLng;
+ public String[] namesNames;
+ public int fileOffset;
+ //Leave next 3 field as arrays:
+ public int[] referencesToRoutes;
+ public long[] deletedRoutesIds;
+ public long[] routesIds;
+ public int distance;
+ public int x31;
+ public int y31;
+
+ public NativeTransportRoute[] routes;
+ // Convert into List exits:
+ public int[] pTStopExit_x31s;
+ public int[] pTStopExit_y31s;
+ public String[] pTStopExit_refs;
+ // Convert into LinkedHashMap
+ public String[] referenceToRoutesKeys;
+ public int[][] referenceToRoutesVals;
+}
\ No newline at end of file
diff --git a/OsmAnd-java/src/main/java/net/osmand/router/TransportRoutePlanner.java b/OsmAnd-java/src/main/java/net/osmand/router/TransportRoutePlanner.java
index 002a0cec17..d55a7e8087 100644
--- a/OsmAnd-java/src/main/java/net/osmand/router/TransportRoutePlanner.java
+++ b/OsmAnd-java/src/main/java/net/osmand/router/TransportRoutePlanner.java
@@ -15,6 +15,8 @@ import gnu.trove.iterator.TIntIterator;
import gnu.trove.list.array.TIntArrayList;
import gnu.trove.map.hash.TIntObjectHashMap;
import gnu.trove.map.hash.TLongObjectHashMap;
+
+import net.osmand.NativeLibrary;
import net.osmand.binary.BinaryMapIndexReader;
import net.osmand.binary.BinaryMapIndexReader.SearchRequest;
import net.osmand.data.LatLon;
@@ -22,6 +24,7 @@ import net.osmand.data.QuadRect;
import net.osmand.data.TransportRoute;
import net.osmand.data.TransportSchedule;
import net.osmand.data.TransportStop;
+import net.osmand.data.TransportStopExit;
import net.osmand.osm.edit.Node;
import net.osmand.osm.edit.Way;
import net.osmand.util.MapUtils;
@@ -36,7 +39,7 @@ public class TransportRoutePlanner {
ctx.startCalcTime = System.currentTimeMillis();
List startStops = ctx.getTransportStops(start);
List endStops = ctx.getTransportStops(end);
-
+
TLongObjectHashMap endSegments = new TLongObjectHashMap();
for(TransportRouteSegment s : endStops) {
endSegments.put(s.getId(), s);
@@ -50,6 +53,7 @@ public class TransportRoutePlanner {
r.distFromStart = r.walkDist / ctx.cfg.walkSpeed;
queue.add(r);
}
+
double finishTime = ctx.cfg.maxRouteTime;
double maxTravelTimeCmpToWalk = MapUtils.getDistance(start, end) / ctx.cfg.walkSpeed - ctx.cfg.changeTime / 2;
List results = new ArrayList();
@@ -179,7 +183,6 @@ public class TransportRoutePlanner {
updateCalculationProgress(ctx, queue);
}
-
return prepareResults(ctx, results);
}
@@ -447,11 +450,27 @@ public class TransportRoutePlanner {
public TransportRouteResult(TransportRoutingContext ctx) {
cfg = ctx.cfg;
}
-
+
+ public TransportRouteResult(TransportRoutingConfiguration cfg) {
+ this.cfg = cfg;
+ }
+
public List getSegments() {
return segments;
}
+ public void setFinishWalkDist(double finishWalkDist) {
+ this.finishWalkDist = finishWalkDist;
+ }
+
+ public void setRouteTime(double routeTime) {
+ this.routeTime = routeTime;
+ }
+
+ public void addSegment(TransportRouteResultSegment seg) {
+ segments.add(seg);
+ }
+
public double getWalkDist() {
double d = finishWalkDist;
for (TransportRouteResultSegment s : segments) {
@@ -678,7 +697,7 @@ public class TransportRoutePlanner {
}
public static class TransportRoutingContext {
-
+ public NativeLibrary library;
public RouteCalculationProgress calculationProgress;
public TLongObjectHashMap visitedSegments = new TLongObjectHashMap();
public TransportRoutingConfiguration cfg;
@@ -705,11 +724,12 @@ public class TransportRoutePlanner {
- public TransportRoutingContext(TransportRoutingConfiguration cfg, BinaryMapIndexReader... readers) {
+ public TransportRoutingContext(TransportRoutingConfiguration cfg, NativeLibrary library, BinaryMapIndexReader... readers) {
this.cfg = cfg;
walkRadiusIn31 = (int) (cfg.walkRadius / MapUtils.getTileDistanceWidth(31));
walkChangeRadiusIn31 = (int) (cfg.walkChangeRadius / MapUtils.getTileDistanceWidth(31));
quadTree = new TLongObjectHashMap>();
+ this.library = library;
for (BinaryMapIndexReader r : readers) {
routeMap.put(r, new TIntObjectHashMap());
}
@@ -943,9 +963,140 @@ public class TransportRoutePlanner {
}
}
}
+ }
+ //cache for converted TransportRoutes:
+ private static TLongObjectHashMap convertedRoutesCache;
+ private static TLongObjectHashMap convertedStopsCache;
+ public static List convertToTransportRoutingResult(NativeTransportRoutingResult[] res,
+ TransportRoutingConfiguration cfg) {
+ if (res.length == 0) {
+ return new ArrayList();
+ }
+ List convertedRes = new ArrayList();
+ for (NativeTransportRoutingResult ntrr : res) {
+ TransportRouteResult trr = new TransportRouteResult(cfg);
+ trr.setFinishWalkDist(ntrr.finishWalkDist);
+ trr.setRouteTime(ntrr.routeTime);
+
+ for (NativeTransportRouteResultSegment ntrs : ntrr.segments) {
+ TransportRouteResultSegment trs = new TransportRouteResultSegment();
+ trs.route = convertTransportRoute(ntrs.route);
+ trs.walkTime = ntrs.walkTime;
+ trs.travelDistApproximate = ntrs.travelDistApproximate;
+ trs.travelTime = ntrs.travelTime;
+ trs.start = ntrs.start;
+ trs.end = ntrs.end;
+ trs.walkDist = ntrs.walkDist;
+ trs.depTime = ntrs.depTime;
+
+ trr.addSegment(trs);
+ }
+ convertedRes.add(trr);
+ }
+ convertedStopsCache.clear();
+ convertedRoutesCache.clear();
+ return convertedRes;
+ }
+
+ private static TransportRoute convertTransportRoute(NativeTransportRoute nr) {
+ TransportRoute r = new TransportRoute();
+ r.setId(nr.id);
+ r.setLocation(nr.routeLat, nr.routeLon);
+ r.setName(nr.name);
+ r.setEnName(nr.enName);
+ if (nr.namesLng.length > 0 && nr.namesLng.length == nr.namesNames.length) {
+ for (int i = 0; i < nr.namesLng.length; i++) {
+ r.setName(nr.namesLng[i], nr.namesNames[i]);
+ }
+ }
+ r.setFileOffset(nr.fileOffset);
+ r.setForwardStops(convertTransportStops(nr.forwardStops));
+ r.setRef(nr.ref);
+ r.setOperator(nr.routeOperator);
+ r.setType(nr.type);
+ r.setDist(nr.dist);
+ r.setColor(nr.color);
+
+ if (nr.intervals != null && nr.intervals.length > 0 && nr.avgStopIntervals !=null && nr.avgStopIntervals.length > 0 && nr.avgWaitIntervals != null && nr.avgWaitIntervals.length > 0) {
+ r.setSchedule(new TransportSchedule(new TIntArrayList(nr.intervals), new TIntArrayList(nr.avgStopIntervals), new TIntArrayList(nr.avgWaitIntervals)));
+ }
+
+ for (int i = 0; i < nr.waysIds.length; i++) {
+ List wnodes = new ArrayList<>();
+ for (int j = 0; j < nr.waysNodesLats[i].length; j++) {
+ wnodes.add(new Node(nr.waysNodesLats[i][j], nr.waysNodesLons[i][j], -1));
+ }
+ r.addWay(new Way(nr.waysIds[i], wnodes));
+ }
+
+ if (convertedRoutesCache == null) {
+ convertedRoutesCache = new TLongObjectHashMap<>();
+ }
+ if (convertedRoutesCache.get(r.getId()) == null) {
+ convertedRoutesCache.put(r.getId(), r);
+ }
+ return r;
+ }
+
+ private static List convertTransportStops(NativeTransportStop[] nstops) {
+ List stops = new ArrayList<>();
+ for (NativeTransportStop ns : nstops) {
+ if (convertedStopsCache != null && convertedStopsCache.get(ns.id) != null) {
+ stops.add(convertedStopsCache.get(ns.id));
+ continue;
+ }
+ TransportStop s = new TransportStop();
+ s.setId(ns.id);
+ s.setLocation(ns.stopLat, ns.stopLon);
+ s.setName(ns.name);
+ s.setEnName(ns.enName);
+ if (ns.namesLng.length > 0 && ns.namesLng.length == ns.namesNames.length) {
+ for (int i = 0; i < ns.namesLng.length; i++) {
+ s.setName(ns.namesLng[i], ns.namesNames[i]);
+ }
+ }
+ s.setFileOffset(ns.fileOffset);
+ s.setReferencesToRoutes(ns.referencesToRoutes);
+ s.setDeletedRoutesIds(ns.deletedRoutesIds);
+ s.setRoutesIds(ns.routesIds);
+ s.distance = ns.distance;
+ s.x31 = ns.x31;
+ s.y31 = ns.y31;
+// List routes1 = new ArrayList<>();
+ //cache routes to avoid circular conversion and just search them by id
+// for (int i = 0; i < ns.routes.length; i++) {
+// if (s.getRoutesIds().length == ns.routes.length && convertedRoutesCache != null
+// && convertedRoutesCache.get(ns.routesIds[i]) != null) {
+// s.addRoute(convertedRoutesCache.get(ns.routesIds[i]));
+// } else {
+// s.addRoute(convertTransportRoute(ns.routes[i]));
+// }
+// }
+
+ if (ns.pTStopExit_refs != null && ns.pTStopExit_refs.length > 0) {
+ for (int i = 0; i < ns.pTStopExit_refs.length; i++) {
+ s.addExit(new TransportStopExit(ns.pTStopExit_x31s[i],
+ ns.pTStopExit_y31s[i], ns.pTStopExit_refs[i]));
+ }
+ }
+
+ if (ns.referenceToRoutesKeys != null && ns.referenceToRoutesKeys.length > 0) {
+ for (int i = 0; i < ns.referenceToRoutesKeys.length; i++) {
+ s.putReferencesToRoutes(ns.referenceToRoutesKeys[i], ns.referenceToRoutesVals[i]);
+ }
+ }
+ if (convertedStopsCache == null) {
+ convertedStopsCache = new TLongObjectHashMap<>();
+ }
+ if (convertedStopsCache.get(s.getId()) == null) {
+ convertedStopsCache.put(s.getId(), s);
+ }
+ stops.add(s);
+ }
+ return stops;
}
}
diff --git a/OsmAnd-telegram/res/values-fr/strings.xml b/OsmAnd-telegram/res/values-fr/strings.xml
index 622a55faae..c37f41f872 100644
--- a/OsmAnd-telegram/res/values-fr/strings.xml
+++ b/OsmAnd-telegram/res/values-fr/strings.xml
@@ -242,4 +242,6 @@
Nommez votre nouveau périphérique en max 200 symboles.
Choisissez un nom que vous n\'avez pas encore utilisé
La surveillance est désactivée
+ Choisissez la version d\'OsmAnd qu\'OsmAnd Tracker utilise pour afficher les positions.
+ Pour révoquer l\'accès au partage de localisation. Ouvrez Telegram, allez dans Paramètres → Vie privée et sécurité → Sessions, et terminez la session OsmAnd Tracker.
\ No newline at end of file
diff --git a/OsmAnd-telegram/res/values-kab/strings.xml b/OsmAnd-telegram/res/values-kab/strings.xml
index 9f266551c5..3b16250899 100644
--- a/OsmAnd-telegram/res/values-kab/strings.xml
+++ b/OsmAnd-telegram/res/values-kab/strings.xml
@@ -99,7 +99,7 @@
m/tasint
h
m/s
- h
+ nmi/h
tasint
tasint
m
@@ -118,7 +118,7 @@
Sekcem awal n uffir
Tangalt n usesteb s snat n tarrayin
Kcem
- Awal n uɛeddi
+ Awal uffir
Uṭṭun n tiliɣri
Bḍu adɣar
Akud
@@ -207,4 +207,64 @@
Yettwazen akken iwata
Adig aneggaru yettwaleqmen:
Ma tebɣiḍ ad teqqneḍ ddeqs n yibenkan ɣer yiwet n umiḍan Telegram, ilaq ad tesqedceḍ ibenk-nniḍen i beṭṭu n wadig-ik.
+ Aneḍfaṛ OsmAnd ad k-yeǧǧ ad tebḍuḍ adig-ik daɣen ad twaliḍ wid-nniḍen deg OsmAnd.
Asnas iseqdac API n Telegram, ihi tesriḍ amiḍan Telegram.
+ Amayel / Amitr
+ Ikilumitren/imitren
+ Miles/yards
+ Amayel/aḍar
+ Amayel n waman deg usrag (tikerras)
+ Tisdatin deg umayl
+ Tisdatin deg ukilumitr
+ nmi
+ ft
+ Ttxil-k sekcem uṭṭun-ik n tiliɣri Telegram s umasal agraɣlan
+ Asqerdec urmid
+ Sken iseqdacen ɣef tkarḍa
+ Sbedd OsmAnd
+ Tersriḍ deg tazwara ad tesbeddeḍ lqem ilelli neɣ n lexlaṣ n OsmAnd
+ Alugu OsmAnd
+ Ameẓlu uneḍfaṛ OsmAnd
+ Bḍu adig
+ Aneḍfaṛ OsmAnd yesselkam deg ugilal deg ugdil isekwṛen.
+ Fren yiwen seg yisaǧǧawen n adig akken ad tebḍuḍ adig-ik.
+ Ttixil-k rmed \"adig\" deg yiɣewwaṛen n unagraw
+ Asnas ixuṣ tisirag i unekcum ɣer yisefka n wadig.
+ Rmed \"adig\"\?
+ Awal uffir Telegram
+ Telegram yuzen-ak-d tangalt akken OsmAnd ad yeqqen ɣer umiḍan.
+ Uṭṭun n tiliɣri s umasal agraɣlan
+ Aneḍfaṛ GPS srid n OsmAnd
+ Nadid: Agraw neɣ anermis
+ Fren inermisen akked yigrawen ukud tebɣiḍ ad tebḍuḍ adig-ik.
+ Sbadu akud anid inermisen akked yigrawen yettwafernen ad walin adig-ik deg wakud ilaw.
+ Yettban-d i meṛṛa
+ %1$d sr %2$d sd
+ Sbadu akud n uskan i meṛṛa
+ Sekcem tangalt n usesteb
+ Sekcem uṭṭun n tiliɣri
+ Ur sɛiɣ ara amiḍan Telegram
+ Tesriḍ ad tjerrdeḍ s umiḍan ɣer Telegram akked wuṭṭun n tiliɣri
+ Tzemreḍ sakin ad tesqedceḍ asnas-a.
+ Ttxil-k sbedd Telegram daɣen rnu amiḍan.
+ Tesriḍ amiḍan Telegram akken ad tesqedceḍ beṭṭu n wadig.
+ Ajerred ɣer Telegram
+ Ldi OsmAnd
+ Sens beṭṭu n wadig
+ Beṭṭu yermed (sens)
+ Azen adig-iw
+ Sbadu azilal adday i beṭṭu n wadig.
+ Akud aneggaru i yettwasengez unermis.
+ Azray n usideg
+ Ffer inermisen ur nettawasengez ara deg wakud yettunefken.
+ OsmAnd qqen
+ Fren lqem OsmAnd i yesseqdac uneḍfaṛ OsmAnd akken ad d-yesken idigen.
+ Amiḍan yeqqen
+ Amek ara tsenseḍ aneḍfaṛ OsmAnd n Telegram
+ Amek ara tsenseḍ aneḍfaṛ OsmAnd n Telegram
+ Akken ad teḥwiḍ anekcum ɣer beṭṭu. Ldi Telegram, ddu ɣer Iɣewwaṛen → Tabaḍnit d tɣellist → Tiɣimiyin, sakin fak tiɣimit n uneḍfaṛ OsmAnd.
+ Qqen ɣer Internet ad teffɣeḍ akken iwata seg Telegram.
+ Sens meṛṛa
+ Sens akk beṭṭu
+ Sens beṭṭu n wadig i meṛṛa asqerdec yettwafernen (%1$d).
+ Fren lqem OsmAnd ara tesqedceḍ
\ No newline at end of file
diff --git a/OsmAnd/res/drawable-hdpi/bg_contextmenu_shadow_left_light.9.png b/OsmAnd/res/drawable-hdpi/bg_contextmenu_shadow_left_light.9.png
new file mode 100644
index 0000000000..dc61e19267
Binary files /dev/null and b/OsmAnd/res/drawable-hdpi/bg_contextmenu_shadow_left_light.9.png differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_altitude_day.png b/OsmAnd/res/drawable-hdpi/widget_altitude_day.png
deleted file mode 100644
index 755c8f99d1..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_altitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_altitude_night.png b/OsmAnd/res/drawable-hdpi/widget_altitude_night.png
deleted file mode 100644
index dd55d76103..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_altitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_av_audio_day.png b/OsmAnd/res/drawable-hdpi/widget_av_audio_day.png
deleted file mode 100644
index 5ea5115620..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_av_audio_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_av_audio_night.png b/OsmAnd/res/drawable-hdpi/widget_av_audio_night.png
deleted file mode 100644
index 189358f7cf..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_av_audio_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_av_photo_day.png b/OsmAnd/res/drawable-hdpi/widget_av_photo_day.png
deleted file mode 100644
index b618c1c1ae..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_av_photo_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_av_photo_night.png b/OsmAnd/res/drawable-hdpi/widget_av_photo_night.png
deleted file mode 100644
index 55596793db..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_av_photo_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_av_video_day.png b/OsmAnd/res/drawable-hdpi/widget_av_video_day.png
deleted file mode 100644
index 65b031ef97..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_av_video_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_av_video_night.png b/OsmAnd/res/drawable-hdpi/widget_av_video_night.png
deleted file mode 100644
index 1bf182e287..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_av_video_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_battery_charging_day.png b/OsmAnd/res/drawable-hdpi/widget_battery_charging_day.png
deleted file mode 100644
index fee614935b..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_battery_charging_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_battery_charging_night.png b/OsmAnd/res/drawable-hdpi/widget_battery_charging_night.png
deleted file mode 100644
index b915b5b7f4..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_battery_charging_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_battery_day.png b/OsmAnd/res/drawable-hdpi/widget_battery_day.png
deleted file mode 100644
index a82c873618..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_battery_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_battery_night.png b/OsmAnd/res/drawable-hdpi/widget_battery_night.png
deleted file mode 100644
index b63e78e5e3..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_battery_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_bearing_day.png b/OsmAnd/res/drawable-hdpi/widget_bearing_day.png
deleted file mode 100644
index 94f39bf45c..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_bearing_night.png b/OsmAnd/res/drawable-hdpi/widget_bearing_night.png
deleted file mode 100644
index fb28586698..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_day.png
deleted file mode 100644
index afcbe664e3..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_night.png
deleted file mode 100644
index 64e08635fe..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_north_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_north_day.png
deleted file mode 100644
index f91230fabe..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_north_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_north_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_north_night.png
deleted file mode 100644
index 1d1fae839d..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_north_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_south_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_south_day.png
deleted file mode 100644
index cf0e4682cf..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_south_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_south_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_south_night.png
deleted file mode 100644
index 68563c1e6c..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_latitude_south_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_day.png
deleted file mode 100644
index 8483e55c10..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_east_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_east_day.png
deleted file mode 100644
index 20f08cb140..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_east_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_east_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_east_night.png
deleted file mode 100644
index d05534c851..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_east_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_night.png
deleted file mode 100644
index b98df82372..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_west_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_west_day.png
deleted file mode 100644
index 8b3d6c84cc..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_west_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_west_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_west_night.png
deleted file mode 100644
index 5387e17c51..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_longitude_west_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_utm_day.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_utm_day.png
deleted file mode 100644
index 77ce6c000e..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_utm_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_coordinates_utm_night.png b/OsmAnd/res/drawable-hdpi/widget_coordinates_utm_night.png
deleted file mode 100644
index 9a9809fe58..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_coordinates_utm_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_gps_info_day.png b/OsmAnd/res/drawable-hdpi/widget_gps_info_day.png
deleted file mode 100644
index 9d250b4a30..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_gps_info_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_gps_info_night.png b/OsmAnd/res/drawable-hdpi/widget_gps_info_night.png
deleted file mode 100644
index 8c9691b5f9..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_gps_info_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_hidden_day.png b/OsmAnd/res/drawable-hdpi/widget_hidden_day.png
deleted file mode 100644
index 878f75d39e..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_hidden_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_hidden_night.png b/OsmAnd/res/drawable-hdpi/widget_hidden_night.png
deleted file mode 100644
index 22a2c39b3b..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_hidden_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_icon_av_active.png b/OsmAnd/res/drawable-hdpi/widget_icon_av_active.png
deleted file mode 100644
index a89b46d105..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_icon_av_active.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_icon_av_inactive_day.png b/OsmAnd/res/drawable-hdpi/widget_icon_av_inactive_day.png
deleted file mode 100644
index ca14f8c2da..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_icon_av_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_icon_av_inactive_night.png b/OsmAnd/res/drawable-hdpi/widget_icon_av_inactive_night.png
deleted file mode 100644
index 9dec9fc472..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_icon_av_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_intermediate_day.png b/OsmAnd/res/drawable-hdpi/widget_intermediate_day.png
deleted file mode 100644
index a28bc454e0..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_intermediate_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_intermediate_night.png b/OsmAnd/res/drawable-hdpi/widget_intermediate_night.png
deleted file mode 100644
index 2879387d1d..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_intermediate_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_intermediate_time_day.png b/OsmAnd/res/drawable-hdpi/widget_intermediate_time_day.png
deleted file mode 100644
index 4cbae4cd16..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_intermediate_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_intermediate_time_night.png b/OsmAnd/res/drawable-hdpi/widget_intermediate_time_night.png
deleted file mode 100644
index 39532f25f9..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_intermediate_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_big_day.png b/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_big_day.png
deleted file mode 100644
index 978b2a32c7..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_big_night.png b/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_big_night.png
deleted file mode 100644
index e27396aeed..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_small_day.png b/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_small_day.png
deleted file mode 100644
index a5ea3b2407..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_small_night.png b/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_small_night.png
deleted file mode 100644
index 325637dd70..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_live_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_location_sharing_day.png b/OsmAnd/res/drawable-hdpi/widget_location_sharing_day.png
deleted file mode 100644
index f042cf246b..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_location_sharing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_location_sharing_night.png b/OsmAnd/res/drawable-hdpi/widget_location_sharing_night.png
deleted file mode 100644
index 1cad588f44..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_location_sharing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_location_sharing_off_day.png b/OsmAnd/res/drawable-hdpi/widget_location_sharing_off_day.png
deleted file mode 100644
index 587280ca72..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_location_sharing_off_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_location_sharing_off_night.png b/OsmAnd/res/drawable-hdpi/widget_location_sharing_off_night.png
deleted file mode 100644
index cbfa7e210c..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_location_sharing_off_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_location_sharing_on_day.png b/OsmAnd/res/drawable-hdpi/widget_location_sharing_on_day.png
deleted file mode 100644
index 5e41580a9d..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_location_sharing_on_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_location_sharing_on_night.png b/OsmAnd/res/drawable-hdpi/widget_location_sharing_on_night.png
deleted file mode 100644
index d675bf433b..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_location_sharing_on_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_mapillary_day.png b/OsmAnd/res/drawable-hdpi/widget_mapillary_day.png
deleted file mode 100644
index 09301a1148..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_mapillary_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_mapillary_night.png b/OsmAnd/res/drawable-hdpi/widget_mapillary_night.png
deleted file mode 100644
index 342d1e7d04..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_mapillary_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_marker_day.png b/OsmAnd/res/drawable-hdpi/widget_marker_day.png
deleted file mode 100644
index 5aaf149bec..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_marker_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_marker_night.png b/OsmAnd/res/drawable-hdpi/widget_marker_night.png
deleted file mode 100644
index bac3a61db8..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_marker_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_marker_triangle.png b/OsmAnd/res/drawable-hdpi/widget_marker_triangle.png
deleted file mode 100644
index 74fb99e324..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_marker_triangle.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_max_speed_day.png b/OsmAnd/res/drawable-hdpi/widget_max_speed_day.png
deleted file mode 100644
index c11b0a0fc0..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_max_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_max_speed_night.png b/OsmAnd/res/drawable-hdpi/widget_max_speed_night.png
deleted file mode 100644
index ff0c655a41..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_max_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_big_day.png b/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_big_day.png
deleted file mode 100644
index 523b57cb05..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_big_night.png b/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_big_night.png
deleted file mode 100644
index 62e7826796..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_inactive_day.png b/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_inactive_day.png
deleted file mode 100644
index c39f19c695..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_inactive_night.png b/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_inactive_night.png
deleted file mode 100644
index 8880e901c5..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_small_day.png b/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_small_day.png
deleted file mode 100644
index 24be400951..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_small_night.png b/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_small_night.png
deleted file mode 100644
index e27e81abfd..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_parking_day.png b/OsmAnd/res/drawable-hdpi/widget_parking_day.png
deleted file mode 100644
index d6d90a7217..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_parking_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_parking_night.png b/OsmAnd/res/drawable-hdpi/widget_parking_night.png
deleted file mode 100644
index 5e3502f325..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_parking_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_relative_bearing_day.png b/OsmAnd/res/drawable-hdpi/widget_relative_bearing_day.png
deleted file mode 100644
index c1b307d817..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_relative_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_relative_bearing_night.png b/OsmAnd/res/drawable-hdpi/widget_relative_bearing_night.png
deleted file mode 100644
index 496b0c2dc1..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_relative_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_ruler_circle_day.png b/OsmAnd/res/drawable-hdpi/widget_ruler_circle_day.png
deleted file mode 100644
index 4d11b91379..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_ruler_circle_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_ruler_circle_night.png b/OsmAnd/res/drawable-hdpi/widget_ruler_circle_night.png
deleted file mode 100644
index 2b56d8a8d3..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_ruler_circle_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_speed_day.png b/OsmAnd/res/drawable-hdpi/widget_speed_day.png
deleted file mode 100644
index 8b9ec7518f..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_speed_night.png b/OsmAnd/res/drawable-hdpi/widget_speed_night.png
deleted file mode 100644
index e2f476429f..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_target_day.png b/OsmAnd/res/drawable-hdpi/widget_target_day.png
deleted file mode 100644
index 4619096a30..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_target_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_target_night.png b/OsmAnd/res/drawable-hdpi/widget_target_night.png
deleted file mode 100644
index 0447d9968f..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_target_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_time_day.png b/OsmAnd/res/drawable-hdpi/widget_time_day.png
deleted file mode 100644
index 280267e0b0..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_time_night.png b/OsmAnd/res/drawable-hdpi/widget_time_night.png
deleted file mode 100644
index 11b69882f1..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_time_to_distance_day.png b/OsmAnd/res/drawable-hdpi/widget_time_to_distance_day.png
deleted file mode 100644
index 572f95321a..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_time_to_distance_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-hdpi/widget_time_to_distance_night.png b/OsmAnd/res/drawable-hdpi/widget_time_to_distance_night.png
deleted file mode 100644
index 1ffb9bdea5..0000000000
Binary files a/OsmAnd/res/drawable-hdpi/widget_time_to_distance_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/bg_contextmenu_shadow_left_light.9.png b/OsmAnd/res/drawable-mdpi/bg_contextmenu_shadow_left_light.9.png
new file mode 100644
index 0000000000..da964c98e3
Binary files /dev/null and b/OsmAnd/res/drawable-mdpi/bg_contextmenu_shadow_left_light.9.png differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_altitude_day.png b/OsmAnd/res/drawable-mdpi/widget_altitude_day.png
deleted file mode 100644
index 7526009986..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_altitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_altitude_night.png b/OsmAnd/res/drawable-mdpi/widget_altitude_night.png
deleted file mode 100644
index 102b5ff003..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_altitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_av_audio_day.png b/OsmAnd/res/drawable-mdpi/widget_av_audio_day.png
deleted file mode 100644
index bf7b1f2dec..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_av_audio_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_av_audio_night.png b/OsmAnd/res/drawable-mdpi/widget_av_audio_night.png
deleted file mode 100644
index ded524752e..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_av_audio_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_av_photo_day.png b/OsmAnd/res/drawable-mdpi/widget_av_photo_day.png
deleted file mode 100644
index 6ade74aa6f..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_av_photo_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_av_photo_night.png b/OsmAnd/res/drawable-mdpi/widget_av_photo_night.png
deleted file mode 100644
index e3d8af6e58..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_av_photo_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_av_video_day.png b/OsmAnd/res/drawable-mdpi/widget_av_video_day.png
deleted file mode 100644
index 0df7312d57..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_av_video_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_av_video_night.png b/OsmAnd/res/drawable-mdpi/widget_av_video_night.png
deleted file mode 100644
index f203c4557e..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_av_video_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_battery_charging_day.png b/OsmAnd/res/drawable-mdpi/widget_battery_charging_day.png
deleted file mode 100644
index aefb4f4448..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_battery_charging_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_battery_charging_night.png b/OsmAnd/res/drawable-mdpi/widget_battery_charging_night.png
deleted file mode 100644
index ff34ec21cf..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_battery_charging_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_battery_day.png b/OsmAnd/res/drawable-mdpi/widget_battery_day.png
deleted file mode 100644
index d1b31d2db1..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_battery_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_battery_night.png b/OsmAnd/res/drawable-mdpi/widget_battery_night.png
deleted file mode 100644
index 6af33f09f1..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_battery_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_bearing_day.png b/OsmAnd/res/drawable-mdpi/widget_bearing_day.png
deleted file mode 100644
index 73f1f5261e..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_bearing_night.png b/OsmAnd/res/drawable-mdpi/widget_bearing_night.png
deleted file mode 100644
index c76e9325de..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_day.png
deleted file mode 100644
index ea2978a25c..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_night.png
deleted file mode 100644
index 2e97b76de6..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_north_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_north_day.png
deleted file mode 100644
index a1f236ea30..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_north_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_north_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_north_night.png
deleted file mode 100644
index b2b61d7978..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_north_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_south_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_south_day.png
deleted file mode 100644
index 9786c95845..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_south_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_south_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_south_night.png
deleted file mode 100644
index 2770fe7e97..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_latitude_south_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_day.png
deleted file mode 100644
index bbdc955ccb..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_east_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_east_day.png
deleted file mode 100644
index d95f7cf7e2..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_east_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_east_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_east_night.png
deleted file mode 100644
index a56ea6602d..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_east_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_night.png
deleted file mode 100644
index 6694986694..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_west_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_west_day.png
deleted file mode 100644
index ae0c1c6bbc..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_west_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_west_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_west_night.png
deleted file mode 100644
index 3cdbce0df4..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_longitude_west_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_utm_day.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_utm_day.png
deleted file mode 100644
index 6c9d74675f..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_utm_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_coordinates_utm_night.png b/OsmAnd/res/drawable-mdpi/widget_coordinates_utm_night.png
deleted file mode 100644
index 50a630a8b5..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_coordinates_utm_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_gps_info_day.png b/OsmAnd/res/drawable-mdpi/widget_gps_info_day.png
deleted file mode 100644
index 83caf487ce..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_gps_info_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_gps_info_night.png b/OsmAnd/res/drawable-mdpi/widget_gps_info_night.png
deleted file mode 100644
index edf9c4940c..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_gps_info_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_hidden_day.png b/OsmAnd/res/drawable-mdpi/widget_hidden_day.png
deleted file mode 100644
index e5fb55da90..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_hidden_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_hidden_night.png b/OsmAnd/res/drawable-mdpi/widget_hidden_night.png
deleted file mode 100644
index 864935e18c..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_hidden_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_icon_av_inactive_day.png b/OsmAnd/res/drawable-mdpi/widget_icon_av_inactive_day.png
deleted file mode 100644
index efbd5f3c6d..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_icon_av_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_icon_av_inactive_night.png b/OsmAnd/res/drawable-mdpi/widget_icon_av_inactive_night.png
deleted file mode 100644
index 40d730cbab..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_icon_av_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_intermediate_day.png b/OsmAnd/res/drawable-mdpi/widget_intermediate_day.png
deleted file mode 100644
index e5c91240f1..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_intermediate_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_intermediate_night.png b/OsmAnd/res/drawable-mdpi/widget_intermediate_night.png
deleted file mode 100644
index 401397274e..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_intermediate_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_intermediate_time_day.png b/OsmAnd/res/drawable-mdpi/widget_intermediate_time_day.png
deleted file mode 100644
index ca75bb70d9..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_intermediate_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_intermediate_time_night.png b/OsmAnd/res/drawable-mdpi/widget_intermediate_time_night.png
deleted file mode 100644
index 8cc569f29f..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_intermediate_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_big_day.png b/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_big_day.png
deleted file mode 100644
index 3477dfa3c5..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_big_night.png b/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_big_night.png
deleted file mode 100644
index 8ae9d0993d..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_small_day.png b/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_small_day.png
deleted file mode 100644
index b02a8d4343..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_small_night.png b/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_small_night.png
deleted file mode 100644
index 5ecf911646..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_live_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_location_sharing_day.png b/OsmAnd/res/drawable-mdpi/widget_location_sharing_day.png
deleted file mode 100644
index e157aa854d..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_location_sharing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_location_sharing_night.png b/OsmAnd/res/drawable-mdpi/widget_location_sharing_night.png
deleted file mode 100644
index 0daa96cbe5..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_location_sharing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_location_sharing_off_day.png b/OsmAnd/res/drawable-mdpi/widget_location_sharing_off_day.png
deleted file mode 100644
index e42bf97947..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_location_sharing_off_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_location_sharing_off_night.png b/OsmAnd/res/drawable-mdpi/widget_location_sharing_off_night.png
deleted file mode 100644
index 06b68c1a21..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_location_sharing_off_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_location_sharing_on_day.png b/OsmAnd/res/drawable-mdpi/widget_location_sharing_on_day.png
deleted file mode 100644
index 3800616648..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_location_sharing_on_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_location_sharing_on_night.png b/OsmAnd/res/drawable-mdpi/widget_location_sharing_on_night.png
deleted file mode 100644
index a87fbcb936..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_location_sharing_on_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_mapillary_day.png b/OsmAnd/res/drawable-mdpi/widget_mapillary_day.png
deleted file mode 100644
index b6749bed24..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_mapillary_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_mapillary_night.png b/OsmAnd/res/drawable-mdpi/widget_mapillary_night.png
deleted file mode 100644
index 74e6ca2b89..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_mapillary_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_marker_day.png b/OsmAnd/res/drawable-mdpi/widget_marker_day.png
deleted file mode 100644
index 9e7ba89700..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_marker_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_marker_night.png b/OsmAnd/res/drawable-mdpi/widget_marker_night.png
deleted file mode 100644
index dab9687579..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_marker_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_marker_triangle.png b/OsmAnd/res/drawable-mdpi/widget_marker_triangle.png
deleted file mode 100644
index b0d9fa24b2..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_marker_triangle.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_max_speed_day.png b/OsmAnd/res/drawable-mdpi/widget_max_speed_day.png
deleted file mode 100644
index b0f22f1ae9..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_max_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_max_speed_night.png b/OsmAnd/res/drawable-mdpi/widget_max_speed_night.png
deleted file mode 100644
index 242fb7c302..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_max_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_big_day.png b/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_big_day.png
deleted file mode 100644
index 27cae47b76..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_big_night.png b/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_big_night.png
deleted file mode 100644
index e2310eb562..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_inactive_day.png b/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_inactive_day.png
deleted file mode 100644
index e95da2d603..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_inactive_night.png b/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_inactive_night.png
deleted file mode 100644
index d8e3e7b77b..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_small_day.png b/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_small_day.png
deleted file mode 100644
index 6a62ba857f..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_small_night.png b/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_small_night.png
deleted file mode 100644
index 8d015a1cec..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_parking_day.png b/OsmAnd/res/drawable-mdpi/widget_parking_day.png
deleted file mode 100644
index 4683885023..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_parking_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_parking_night.png b/OsmAnd/res/drawable-mdpi/widget_parking_night.png
deleted file mode 100644
index 94035be5da..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_parking_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_relative_bearing_day.png b/OsmAnd/res/drawable-mdpi/widget_relative_bearing_day.png
deleted file mode 100644
index 0e4e379603..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_relative_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_relative_bearing_night.png b/OsmAnd/res/drawable-mdpi/widget_relative_bearing_night.png
deleted file mode 100644
index 12b2c545dc..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_relative_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_ruler_circle_day.png b/OsmAnd/res/drawable-mdpi/widget_ruler_circle_day.png
deleted file mode 100644
index 42bcf894db..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_ruler_circle_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_ruler_circle_night.png b/OsmAnd/res/drawable-mdpi/widget_ruler_circle_night.png
deleted file mode 100644
index 26fe457c3d..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_ruler_circle_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_speed_day.png b/OsmAnd/res/drawable-mdpi/widget_speed_day.png
deleted file mode 100644
index 16089a43f2..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_speed_night.png b/OsmAnd/res/drawable-mdpi/widget_speed_night.png
deleted file mode 100644
index cb8b5f5f3d..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_target_day.png b/OsmAnd/res/drawable-mdpi/widget_target_day.png
deleted file mode 100644
index 96b8c88142..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_target_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_target_night.png b/OsmAnd/res/drawable-mdpi/widget_target_night.png
deleted file mode 100644
index 596e722d4f..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_target_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_time_day.png b/OsmAnd/res/drawable-mdpi/widget_time_day.png
deleted file mode 100644
index c776050242..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_time_night.png b/OsmAnd/res/drawable-mdpi/widget_time_night.png
deleted file mode 100644
index 9c7e6052a0..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_time_to_distance_day.png b/OsmAnd/res/drawable-mdpi/widget_time_to_distance_day.png
deleted file mode 100644
index a5ae614bcf..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_time_to_distance_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-mdpi/widget_time_to_distance_night.png b/OsmAnd/res/drawable-mdpi/widget_time_to_distance_night.png
deleted file mode 100644
index 9f72ed52ef..0000000000
Binary files a/OsmAnd/res/drawable-mdpi/widget_time_to_distance_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/bg_contextmenu_shadow_left_light.9.png b/OsmAnd/res/drawable-xhdpi/bg_contextmenu_shadow_left_light.9.png
new file mode 100644
index 0000000000..435b8d4561
Binary files /dev/null and b/OsmAnd/res/drawable-xhdpi/bg_contextmenu_shadow_left_light.9.png differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_altitude_day.png b/OsmAnd/res/drawable-xhdpi/widget_altitude_day.png
deleted file mode 100644
index 923d6435b5..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_altitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_altitude_night.png b/OsmAnd/res/drawable-xhdpi/widget_altitude_night.png
deleted file mode 100644
index d5cc53749f..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_altitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_av_audio_day.png b/OsmAnd/res/drawable-xhdpi/widget_av_audio_day.png
deleted file mode 100644
index 69a403c77e..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_av_audio_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_av_audio_night.png b/OsmAnd/res/drawable-xhdpi/widget_av_audio_night.png
deleted file mode 100644
index b7260d476e..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_av_audio_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_av_photo_day.png b/OsmAnd/res/drawable-xhdpi/widget_av_photo_day.png
deleted file mode 100644
index 4650905cf7..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_av_photo_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_av_photo_night.png b/OsmAnd/res/drawable-xhdpi/widget_av_photo_night.png
deleted file mode 100644
index 66982a0a10..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_av_photo_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_av_video_day.png b/OsmAnd/res/drawable-xhdpi/widget_av_video_day.png
deleted file mode 100644
index f11f5ae919..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_av_video_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_av_video_night.png b/OsmAnd/res/drawable-xhdpi/widget_av_video_night.png
deleted file mode 100644
index b69977c284..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_av_video_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_battery_charging_day.png b/OsmAnd/res/drawable-xhdpi/widget_battery_charging_day.png
deleted file mode 100644
index e91cf10623..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_battery_charging_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_battery_charging_night.png b/OsmAnd/res/drawable-xhdpi/widget_battery_charging_night.png
deleted file mode 100644
index ec49609559..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_battery_charging_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_battery_day.png b/OsmAnd/res/drawable-xhdpi/widget_battery_day.png
deleted file mode 100644
index c6731bf259..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_battery_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_battery_night.png b/OsmAnd/res/drawable-xhdpi/widget_battery_night.png
deleted file mode 100644
index e1d76d8663..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_battery_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_bearing_day.png b/OsmAnd/res/drawable-xhdpi/widget_bearing_day.png
deleted file mode 100644
index db643d69a3..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_bearing_night.png b/OsmAnd/res/drawable-xhdpi/widget_bearing_night.png
deleted file mode 100644
index 608e7342d8..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_day.png
deleted file mode 100644
index fe264228da..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_night.png
deleted file mode 100644
index de8b7bb08d..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_north_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_north_day.png
deleted file mode 100644
index ef9b1d4921..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_north_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_north_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_north_night.png
deleted file mode 100644
index de23935ddb..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_north_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_south_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_south_day.png
deleted file mode 100644
index 0c5ccb70d3..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_south_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_south_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_south_night.png
deleted file mode 100644
index a8c68d8177..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_latitude_south_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_day.png
deleted file mode 100644
index 089004d130..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_east_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_east_day.png
deleted file mode 100644
index 3d45550fbb..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_east_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_east_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_east_night.png
deleted file mode 100644
index 329b1c9fdb..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_east_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_night.png
deleted file mode 100644
index be12ce8613..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_west_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_west_day.png
deleted file mode 100644
index 6964de3f49..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_west_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_west_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_west_night.png
deleted file mode 100644
index 2db87609f9..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_longitude_west_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_utm_day.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_utm_day.png
deleted file mode 100644
index c1c520d139..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_utm_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_coordinates_utm_night.png b/OsmAnd/res/drawable-xhdpi/widget_coordinates_utm_night.png
deleted file mode 100644
index ee30b4647c..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_coordinates_utm_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_gps_info_day.png b/OsmAnd/res/drawable-xhdpi/widget_gps_info_day.png
deleted file mode 100644
index 81ab1594b0..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_gps_info_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_gps_info_night.png b/OsmAnd/res/drawable-xhdpi/widget_gps_info_night.png
deleted file mode 100644
index 74ba9bd3c0..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_gps_info_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_hidden_day.png b/OsmAnd/res/drawable-xhdpi/widget_hidden_day.png
deleted file mode 100644
index 2544472c4b..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_hidden_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_hidden_night.png b/OsmAnd/res/drawable-xhdpi/widget_hidden_night.png
deleted file mode 100644
index c6bbf2fcee..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_hidden_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_icon_av_inactive_day.png b/OsmAnd/res/drawable-xhdpi/widget_icon_av_inactive_day.png
deleted file mode 100644
index 883d9bc606..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_icon_av_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_icon_av_inactive_night.png b/OsmAnd/res/drawable-xhdpi/widget_icon_av_inactive_night.png
deleted file mode 100644
index 7f5c88317e..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_icon_av_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_intermediate_day.png b/OsmAnd/res/drawable-xhdpi/widget_intermediate_day.png
deleted file mode 100644
index e8f5f456bf..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_intermediate_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_intermediate_night.png b/OsmAnd/res/drawable-xhdpi/widget_intermediate_night.png
deleted file mode 100644
index b71f301b82..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_intermediate_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_intermediate_time_day.png b/OsmAnd/res/drawable-xhdpi/widget_intermediate_time_day.png
deleted file mode 100644
index c4d15166b5..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_intermediate_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_intermediate_time_night.png b/OsmAnd/res/drawable-xhdpi/widget_intermediate_time_night.png
deleted file mode 100644
index c6de96431b..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_intermediate_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_big_day.png b/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_big_day.png
deleted file mode 100644
index 012338139f..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_big_night.png b/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_big_night.png
deleted file mode 100644
index c1a5ce5880..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_small_day.png b/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_small_day.png
deleted file mode 100644
index f85e569009..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_small_night.png b/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_small_night.png
deleted file mode 100644
index 5b909d04a7..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_live_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_day.png b/OsmAnd/res/drawable-xhdpi/widget_location_sharing_day.png
deleted file mode 100644
index a7673a172a..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_night.png b/OsmAnd/res/drawable-xhdpi/widget_location_sharing_night.png
deleted file mode 100644
index 5e0e9b6f15..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_off_day.png b/OsmAnd/res/drawable-xhdpi/widget_location_sharing_off_day.png
deleted file mode 100644
index d569092886..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_off_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_off_night.png b/OsmAnd/res/drawable-xhdpi/widget_location_sharing_off_night.png
deleted file mode 100644
index 0a379c5b0b..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_off_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_on_day.png b/OsmAnd/res/drawable-xhdpi/widget_location_sharing_on_day.png
deleted file mode 100644
index 010dd37f15..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_on_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_on_night.png b/OsmAnd/res/drawable-xhdpi/widget_location_sharing_on_night.png
deleted file mode 100644
index 802dfd4c44..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_location_sharing_on_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_mapillary_day.png b/OsmAnd/res/drawable-xhdpi/widget_mapillary_day.png
deleted file mode 100644
index a251b970a6..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_mapillary_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_mapillary_night.png b/OsmAnd/res/drawable-xhdpi/widget_mapillary_night.png
deleted file mode 100644
index 2a975b9fe6..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_mapillary_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_marker_day.png b/OsmAnd/res/drawable-xhdpi/widget_marker_day.png
deleted file mode 100644
index 592950090b..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_marker_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_marker_night.png b/OsmAnd/res/drawable-xhdpi/widget_marker_night.png
deleted file mode 100644
index a44e123c1a..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_marker_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_marker_triangle.png b/OsmAnd/res/drawable-xhdpi/widget_marker_triangle.png
deleted file mode 100644
index 5b5a1149e8..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_marker_triangle.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_max_speed_day.png b/OsmAnd/res/drawable-xhdpi/widget_max_speed_day.png
deleted file mode 100644
index 346b36726e..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_max_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_max_speed_night.png b/OsmAnd/res/drawable-xhdpi/widget_max_speed_night.png
deleted file mode 100644
index 08de97209f..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_max_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_big_day.png b/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_big_day.png
deleted file mode 100644
index dceecad1df..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_big_night.png b/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_big_night.png
deleted file mode 100644
index 360328a20f..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_inactive_day.png b/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_inactive_day.png
deleted file mode 100644
index d1b700e940..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_inactive_night.png b/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_inactive_night.png
deleted file mode 100644
index 0d0c4e6873..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_small_day.png b/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_small_day.png
deleted file mode 100644
index 235ad81fb1..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_small_night.png b/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_small_night.png
deleted file mode 100644
index 788ff05bdb..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_parking_day.png b/OsmAnd/res/drawable-xhdpi/widget_parking_day.png
deleted file mode 100644
index a31e73698f..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_parking_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_parking_night.png b/OsmAnd/res/drawable-xhdpi/widget_parking_night.png
deleted file mode 100644
index f9135e3094..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_parking_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_relative_bearing_day.png b/OsmAnd/res/drawable-xhdpi/widget_relative_bearing_day.png
deleted file mode 100644
index f7c15f860b..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_relative_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_relative_bearing_night.png b/OsmAnd/res/drawable-xhdpi/widget_relative_bearing_night.png
deleted file mode 100644
index 975a899b62..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_relative_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_ruler_circle_day.png b/OsmAnd/res/drawable-xhdpi/widget_ruler_circle_day.png
deleted file mode 100644
index 24ef5c68e2..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_ruler_circle_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_ruler_circle_night.png b/OsmAnd/res/drawable-xhdpi/widget_ruler_circle_night.png
deleted file mode 100644
index 54daa3d858..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_ruler_circle_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_speed_day.png b/OsmAnd/res/drawable-xhdpi/widget_speed_day.png
deleted file mode 100644
index fb2d0860d3..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_speed_night.png b/OsmAnd/res/drawable-xhdpi/widget_speed_night.png
deleted file mode 100644
index 10444ed996..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_target_day.png b/OsmAnd/res/drawable-xhdpi/widget_target_day.png
deleted file mode 100644
index eb89ea1574..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_target_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_target_night.png b/OsmAnd/res/drawable-xhdpi/widget_target_night.png
deleted file mode 100644
index 26140686e4..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_target_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_time_day.png b/OsmAnd/res/drawable-xhdpi/widget_time_day.png
deleted file mode 100644
index f4d397a489..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_time_night.png b/OsmAnd/res/drawable-xhdpi/widget_time_night.png
deleted file mode 100644
index 155bc5049d..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_time_to_distance_day.png b/OsmAnd/res/drawable-xhdpi/widget_time_to_distance_day.png
deleted file mode 100644
index a146b1b83e..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_time_to_distance_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xhdpi/widget_time_to_distance_night.png b/OsmAnd/res/drawable-xhdpi/widget_time_to_distance_night.png
deleted file mode 100644
index 20f3ea91aa..0000000000
Binary files a/OsmAnd/res/drawable-xhdpi/widget_time_to_distance_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/bg_contextmenu_shadow_left_light.9.png b/OsmAnd/res/drawable-xxhdpi/bg_contextmenu_shadow_left_light.9.png
new file mode 100644
index 0000000000..c37fed2652
Binary files /dev/null and b/OsmAnd/res/drawable-xxhdpi/bg_contextmenu_shadow_left_light.9.png differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_altitude_day.png b/OsmAnd/res/drawable-xxhdpi/widget_altitude_day.png
deleted file mode 100644
index b10fd9bf1f..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_altitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_altitude_night.png b/OsmAnd/res/drawable-xxhdpi/widget_altitude_night.png
deleted file mode 100644
index 4c41e6d61a..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_altitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_av_audio_day.png b/OsmAnd/res/drawable-xxhdpi/widget_av_audio_day.png
deleted file mode 100644
index 8fd9c308a6..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_av_audio_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_av_audio_night.png b/OsmAnd/res/drawable-xxhdpi/widget_av_audio_night.png
deleted file mode 100644
index ed045a0d11..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_av_audio_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_av_photo_day.png b/OsmAnd/res/drawable-xxhdpi/widget_av_photo_day.png
deleted file mode 100644
index 7db2ce3e5c..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_av_photo_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_av_photo_night.png b/OsmAnd/res/drawable-xxhdpi/widget_av_photo_night.png
deleted file mode 100644
index ab0bfb66fc..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_av_photo_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_av_video_day.png b/OsmAnd/res/drawable-xxhdpi/widget_av_video_day.png
deleted file mode 100644
index cf2c2777b5..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_av_video_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_av_video_night.png b/OsmAnd/res/drawable-xxhdpi/widget_av_video_night.png
deleted file mode 100644
index 030f0999ac..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_av_video_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_battery_charging_day.png b/OsmAnd/res/drawable-xxhdpi/widget_battery_charging_day.png
deleted file mode 100644
index 6b05f7f62c..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_battery_charging_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_battery_charging_night.png b/OsmAnd/res/drawable-xxhdpi/widget_battery_charging_night.png
deleted file mode 100644
index 85dd36cd64..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_battery_charging_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_battery_day.png b/OsmAnd/res/drawable-xxhdpi/widget_battery_day.png
deleted file mode 100644
index 0f2726b32e..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_battery_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_battery_night.png b/OsmAnd/res/drawable-xxhdpi/widget_battery_night.png
deleted file mode 100644
index 2bb5ee9264..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_battery_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_bearing_day.png b/OsmAnd/res/drawable-xxhdpi/widget_bearing_day.png
deleted file mode 100644
index 49acc9c374..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_bearing_night.png b/OsmAnd/res/drawable-xxhdpi/widget_bearing_night.png
deleted file mode 100644
index 0420bd80d5..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_day.png
deleted file mode 100644
index dee3f6d6a9..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_night.png
deleted file mode 100644
index 85e481a7ff..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_north_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_north_day.png
deleted file mode 100644
index 6ce4c6e5f2..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_north_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_north_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_north_night.png
deleted file mode 100644
index 7d51861955..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_north_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_south_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_south_day.png
deleted file mode 100644
index 10a698872e..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_south_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_south_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_south_night.png
deleted file mode 100644
index 854b5bbd9e..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_latitude_south_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_day.png
deleted file mode 100644
index e533b2dfd1..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_east_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_east_day.png
deleted file mode 100644
index 7f361d3e06..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_east_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_east_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_east_night.png
deleted file mode 100644
index 56ebe4e471..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_east_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_night.png
deleted file mode 100644
index af70a72659..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_west_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_west_day.png
deleted file mode 100644
index 54027d7678..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_west_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_west_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_west_night.png
deleted file mode 100644
index e5a1d1aa0f..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_longitude_west_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_utm_day.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_utm_day.png
deleted file mode 100644
index 1f17c3bf08..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_utm_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_utm_night.png b/OsmAnd/res/drawable-xxhdpi/widget_coordinates_utm_night.png
deleted file mode 100644
index e4724a0655..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_coordinates_utm_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_gps_info_day.png b/OsmAnd/res/drawable-xxhdpi/widget_gps_info_day.png
deleted file mode 100644
index dea28b37c3..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_gps_info_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_gps_info_night.png b/OsmAnd/res/drawable-xxhdpi/widget_gps_info_night.png
deleted file mode 100644
index 35003b649a..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_gps_info_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_hidden_day.png b/OsmAnd/res/drawable-xxhdpi/widget_hidden_day.png
deleted file mode 100644
index c1fbaac609..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_hidden_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_hidden_night.png b/OsmAnd/res/drawable-xxhdpi/widget_hidden_night.png
deleted file mode 100644
index 058879480b..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_hidden_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_icon_av_inactive_day.png b/OsmAnd/res/drawable-xxhdpi/widget_icon_av_inactive_day.png
deleted file mode 100644
index 1f41ab9267..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_icon_av_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_icon_av_inactive_night.png b/OsmAnd/res/drawable-xxhdpi/widget_icon_av_inactive_night.png
deleted file mode 100644
index d26b7572a3..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_icon_av_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_day.png b/OsmAnd/res/drawable-xxhdpi/widget_intermediate_day.png
deleted file mode 100644
index a158ac3d74..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_night.png b/OsmAnd/res/drawable-xxhdpi/widget_intermediate_night.png
deleted file mode 100644
index 42674da97b..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_time_day.png b/OsmAnd/res/drawable-xxhdpi/widget_intermediate_time_day.png
deleted file mode 100644
index f1b34258e5..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_time_night.png b/OsmAnd/res/drawable-xxhdpi/widget_intermediate_time_night.png
deleted file mode 100644
index 5226f4bf94..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_intermediate_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_big_day.png b/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_big_day.png
deleted file mode 100644
index 4669962b98..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_big_night.png b/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_big_night.png
deleted file mode 100644
index bf20021550..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_small_day.png b/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_small_day.png
deleted file mode 100644
index 5abf9287c4..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_small_night.png b/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_small_night.png
deleted file mode 100644
index ca380dac1e..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_live_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_day.png b/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_day.png
deleted file mode 100644
index e61fb7b82b..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_night.png b/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_night.png
deleted file mode 100644
index 6f37ba384d..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_off_day.png b/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_off_day.png
deleted file mode 100644
index 860943b7a6..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_off_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_off_night.png b/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_off_night.png
deleted file mode 100644
index ca4e77402e..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_off_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_on_day.png b/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_on_day.png
deleted file mode 100644
index 2150e2d21f..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_on_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_on_night.png b/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_on_night.png
deleted file mode 100644
index efa4e2bdf2..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_location_sharing_on_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_mapillary_day.png b/OsmAnd/res/drawable-xxhdpi/widget_mapillary_day.png
deleted file mode 100644
index b3701cf8f0..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_mapillary_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_mapillary_night.png b/OsmAnd/res/drawable-xxhdpi/widget_mapillary_night.png
deleted file mode 100644
index ce749dfc4d..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_mapillary_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_marker_day.png b/OsmAnd/res/drawable-xxhdpi/widget_marker_day.png
deleted file mode 100644
index c559ef242a..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_marker_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_marker_night.png b/OsmAnd/res/drawable-xxhdpi/widget_marker_night.png
deleted file mode 100644
index 5eaf996a9f..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_marker_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_marker_triangle.png b/OsmAnd/res/drawable-xxhdpi/widget_marker_triangle.png
deleted file mode 100644
index c37ebe0866..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_marker_triangle.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_max_speed_day.png b/OsmAnd/res/drawable-xxhdpi/widget_max_speed_day.png
deleted file mode 100644
index dd359976f4..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_max_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_max_speed_night.png b/OsmAnd/res/drawable-xxhdpi/widget_max_speed_night.png
deleted file mode 100644
index 859ad5b42b..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_max_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_big_day.png b/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_big_day.png
deleted file mode 100644
index 7e6c5df500..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_big_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_big_night.png b/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_big_night.png
deleted file mode 100644
index 14839494ad..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_big_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_inactive_day.png b/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_inactive_day.png
deleted file mode 100644
index 8d23795788..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_inactive_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_inactive_night.png b/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_inactive_night.png
deleted file mode 100644
index 46b073416e..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_inactive_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_small_day.png b/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_small_day.png
deleted file mode 100644
index 98695ff9e0..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_small_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_small_night.png b/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_small_night.png
deleted file mode 100644
index 3ea3259148..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_monitoring_rec_small_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_parking_day.png b/OsmAnd/res/drawable-xxhdpi/widget_parking_day.png
deleted file mode 100644
index d21d271ab6..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_parking_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_parking_night.png b/OsmAnd/res/drawable-xxhdpi/widget_parking_night.png
deleted file mode 100644
index 321d1f3fb0..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_parking_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_relative_bearing_day.png b/OsmAnd/res/drawable-xxhdpi/widget_relative_bearing_day.png
deleted file mode 100644
index 11c99d0931..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_relative_bearing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_relative_bearing_night.png b/OsmAnd/res/drawable-xxhdpi/widget_relative_bearing_night.png
deleted file mode 100644
index d8c834b576..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_relative_bearing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_ruler_circle_day.png b/OsmAnd/res/drawable-xxhdpi/widget_ruler_circle_day.png
deleted file mode 100644
index ec5b244835..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_ruler_circle_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_ruler_circle_night.png b/OsmAnd/res/drawable-xxhdpi/widget_ruler_circle_night.png
deleted file mode 100644
index a8370c2210..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_ruler_circle_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_speed_day.png b/OsmAnd/res/drawable-xxhdpi/widget_speed_day.png
deleted file mode 100644
index 74692521e3..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_speed_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_speed_night.png b/OsmAnd/res/drawable-xxhdpi/widget_speed_night.png
deleted file mode 100644
index 48d9c86b31..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_speed_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_target_day.png b/OsmAnd/res/drawable-xxhdpi/widget_target_day.png
deleted file mode 100644
index 60749b7a02..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_target_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_target_night.png b/OsmAnd/res/drawable-xxhdpi/widget_target_night.png
deleted file mode 100644
index 08800c0052..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_target_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_time_day.png b/OsmAnd/res/drawable-xxhdpi/widget_time_day.png
deleted file mode 100644
index 77d7522e71..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_time_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_time_night.png b/OsmAnd/res/drawable-xxhdpi/widget_time_night.png
deleted file mode 100644
index f99a5bc6ed..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_time_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_time_to_distance_day.png b/OsmAnd/res/drawable-xxhdpi/widget_time_to_distance_day.png
deleted file mode 100644
index 1373854bd1..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_time_to_distance_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxhdpi/widget_time_to_distance_night.png b/OsmAnd/res/drawable-xxhdpi/widget_time_to_distance_night.png
deleted file mode 100644
index 2445ef4a92..0000000000
Binary files a/OsmAnd/res/drawable-xxhdpi/widget_time_to_distance_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_day.png
deleted file mode 100644
index f025fa2645..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_night.png
deleted file mode 100644
index 45ba510072..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_north_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_north_day.png
deleted file mode 100644
index 166bbf895c..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_north_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_north_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_north_night.png
deleted file mode 100644
index 12d3e4001f..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_north_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_south_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_south_day.png
deleted file mode 100644
index 41d5875091..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_south_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_south_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_south_night.png
deleted file mode 100644
index b0427ca2c6..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_latitude_south_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_day.png
deleted file mode 100644
index dac2533957..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_east_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_east_day.png
deleted file mode 100644
index d4be5534bc..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_east_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_east_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_east_night.png
deleted file mode 100644
index 8862fbceb1..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_east_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_night.png
deleted file mode 100644
index 06f13e7a91..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_west_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_west_day.png
deleted file mode 100644
index f408c0b6b4..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_west_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_west_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_west_night.png
deleted file mode 100644
index 9f39415757..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_longitude_west_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_utm_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_utm_day.png
deleted file mode 100644
index 1b4769ef3c..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_utm_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_utm_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_utm_night.png
deleted file mode 100644
index 92f1db61dc..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_coordinates_utm_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_day.png
deleted file mode 100644
index 089a3d6e1d..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_night.png
deleted file mode 100644
index f0d2c8cf03..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_off_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_off_day.png
deleted file mode 100644
index ae2293d2dc..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_off_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_off_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_off_night.png
deleted file mode 100644
index 19e9e213f1..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_off_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_on_day.png b/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_on_day.png
deleted file mode 100644
index 8a0b1b39f4..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_on_day.png and /dev/null differ
diff --git a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_on_night.png b/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_on_night.png
deleted file mode 100644
index 0868e1d358..0000000000
Binary files a/OsmAnd/res/drawable-xxxhdpi/widget_location_sharing_on_night.png and /dev/null differ
diff --git a/OsmAnd/res/drawable/purchase_dialog_outline_btn_bg_dark.xml b/OsmAnd/res/drawable/purchase_dialog_outline_btn_bg_dark.xml
new file mode 100644
index 0000000000..3a35b91f36
--- /dev/null
+++ b/OsmAnd/res/drawable/purchase_dialog_outline_btn_bg_dark.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/purchase_dialog_outline_btn_bg_light.xml b/OsmAnd/res/drawable/purchase_dialog_outline_btn_bg_light.xml
new file mode 100644
index 0000000000..8116459637
--- /dev/null
+++ b/OsmAnd/res/drawable/purchase_dialog_outline_btn_bg_light.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_altitude_day.xml b/OsmAnd/res/drawable/widget_altitude_day.xml
new file mode 100644
index 0000000000..7d9115f89a
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_altitude_day.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_altitude_night.xml b/OsmAnd/res/drawable/widget_altitude_night.xml
new file mode 100644
index 0000000000..4335ae00ee
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_altitude_night.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_av_audio_day.xml b/OsmAnd/res/drawable/widget_av_audio_day.xml
new file mode 100644
index 0000000000..fbd5904c12
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_av_audio_day.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_av_audio_night.xml b/OsmAnd/res/drawable/widget_av_audio_night.xml
new file mode 100644
index 0000000000..4565db061a
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_av_audio_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_av_photo_day.xml b/OsmAnd/res/drawable/widget_av_photo_day.xml
new file mode 100644
index 0000000000..cd7cfa7b6f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_av_photo_day.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_av_photo_night.xml b/OsmAnd/res/drawable/widget_av_photo_night.xml
new file mode 100644
index 0000000000..40e93d6fa7
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_av_photo_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_av_video_day.xml b/OsmAnd/res/drawable/widget_av_video_day.xml
new file mode 100644
index 0000000000..eb5616269e
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_av_video_day.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_av_video_night.xml b/OsmAnd/res/drawable/widget_av_video_night.xml
new file mode 100644
index 0000000000..aee80c543f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_av_video_night.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_battery_charging_day.xml b/OsmAnd/res/drawable/widget_battery_charging_day.xml
new file mode 100644
index 0000000000..aa7af9cdc1
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_battery_charging_day.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_battery_charging_night.xml b/OsmAnd/res/drawable/widget_battery_charging_night.xml
new file mode 100644
index 0000000000..1411c78df4
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_battery_charging_night.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_battery_day.xml b/OsmAnd/res/drawable/widget_battery_day.xml
new file mode 100644
index 0000000000..2c3f0ea0e4
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_battery_day.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_battery_night.xml b/OsmAnd/res/drawable/widget_battery_night.xml
new file mode 100644
index 0000000000..883b3555b6
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_battery_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_bearing_day.xml b/OsmAnd/res/drawable/widget_bearing_day.xml
new file mode 100644
index 0000000000..cc5cf3975e
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_bearing_day.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_bearing_night.xml b/OsmAnd/res/drawable/widget_bearing_night.xml
new file mode 100644
index 0000000000..9472ef519b
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_bearing_night.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_latitude_day.xml b/OsmAnd/res/drawable/widget_coordinates_latitude_day.xml
new file mode 100644
index 0000000000..62598b3dd5
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_latitude_day.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_latitude_night.xml b/OsmAnd/res/drawable/widget_coordinates_latitude_night.xml
new file mode 100644
index 0000000000..3932f24e17
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_latitude_night.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_latitude_north_day.xml b/OsmAnd/res/drawable/widget_coordinates_latitude_north_day.xml
new file mode 100644
index 0000000000..cbbd167c42
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_latitude_north_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_latitude_north_night.xml b/OsmAnd/res/drawable/widget_coordinates_latitude_north_night.xml
new file mode 100644
index 0000000000..7f42588c80
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_latitude_north_night.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_latitude_south_day.xml b/OsmAnd/res/drawable/widget_coordinates_latitude_south_day.xml
new file mode 100644
index 0000000000..5deb0be551
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_latitude_south_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_latitude_south_night.xml b/OsmAnd/res/drawable/widget_coordinates_latitude_south_night.xml
new file mode 100644
index 0000000000..07bcda77a8
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_latitude_south_night.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_longitude_day.xml b/OsmAnd/res/drawable/widget_coordinates_longitude_day.xml
new file mode 100644
index 0000000000..b0c91eee99
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_longitude_day.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_longitude_east_day.xml b/OsmAnd/res/drawable/widget_coordinates_longitude_east_day.xml
new file mode 100644
index 0000000000..b9a88b3d1e
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_longitude_east_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_longitude_east_night.xml b/OsmAnd/res/drawable/widget_coordinates_longitude_east_night.xml
new file mode 100644
index 0000000000..d7a5292557
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_longitude_east_night.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_longitude_night.xml b/OsmAnd/res/drawable/widget_coordinates_longitude_night.xml
new file mode 100644
index 0000000000..110ba4c488
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_longitude_night.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_longitude_west_day.xml b/OsmAnd/res/drawable/widget_coordinates_longitude_west_day.xml
new file mode 100644
index 0000000000..248806a199
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_longitude_west_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_longitude_west_night.xml b/OsmAnd/res/drawable/widget_coordinates_longitude_west_night.xml
new file mode 100644
index 0000000000..3706b921f3
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_longitude_west_night.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_utm_day.xml b/OsmAnd/res/drawable/widget_coordinates_utm_day.xml
new file mode 100644
index 0000000000..078456cae2
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_utm_day.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_coordinates_utm_night.xml b/OsmAnd/res/drawable/widget_coordinates_utm_night.xml
new file mode 100644
index 0000000000..5e6ce8385f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_coordinates_utm_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_distance_day.xml b/OsmAnd/res/drawable/widget_distance_day.xml
new file mode 100644
index 0000000000..58c386dc48
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_distance_day.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_distance_night.xml b/OsmAnd/res/drawable/widget_distance_night.xml
new file mode 100644
index 0000000000..994d8de9d4
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_distance_night.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_gps_info_day.xml b/OsmAnd/res/drawable/widget_gps_info_day.xml
new file mode 100644
index 0000000000..d3eeafef72
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_gps_info_day.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_gps_info_night.xml b/OsmAnd/res/drawable/widget_gps_info_night.xml
new file mode 100644
index 0000000000..4d51f77616
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_gps_info_night.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_hidden_day.xml b/OsmAnd/res/drawable/widget_hidden_day.xml
new file mode 100644
index 0000000000..630b4fe8d9
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_hidden_day.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_hidden_night.xml b/OsmAnd/res/drawable/widget_hidden_night.xml
new file mode 100644
index 0000000000..5dc91cf897
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_hidden_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_icon_av_active.xml b/OsmAnd/res/drawable/widget_icon_av_active.xml
new file mode 100644
index 0000000000..fe0ccaf55e
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_icon_av_active.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_icon_av_active_night.xml b/OsmAnd/res/drawable/widget_icon_av_active_night.xml
new file mode 100644
index 0000000000..e8a0566f11
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_icon_av_active_night.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_icon_av_inactive_day.xml b/OsmAnd/res/drawable/widget_icon_av_inactive_day.xml
new file mode 100644
index 0000000000..cd7cfa7b6f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_icon_av_inactive_day.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_icon_av_inactive_night.xml b/OsmAnd/res/drawable/widget_icon_av_inactive_night.xml
new file mode 100644
index 0000000000..40e93d6fa7
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_icon_av_inactive_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_intermediate_day.xml b/OsmAnd/res/drawable/widget_intermediate_day.xml
new file mode 100644
index 0000000000..67f7fddbef
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_intermediate_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_intermediate_night.xml b/OsmAnd/res/drawable/widget_intermediate_night.xml
new file mode 100644
index 0000000000..0a0408445c
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_intermediate_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_intermediate_time_day.xml b/OsmAnd/res/drawable/widget_intermediate_time_day.xml
new file mode 100644
index 0000000000..37639951b8
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_intermediate_time_day.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_intermediate_time_night.xml b/OsmAnd/res/drawable/widget_intermediate_time_night.xml
new file mode 100644
index 0000000000..168a4b4653
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_intermediate_time_night.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_live_monitoring_rec_big_day.xml b/OsmAnd/res/drawable/widget_live_monitoring_rec_big_day.xml
new file mode 100644
index 0000000000..a023b6d56f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_live_monitoring_rec_big_day.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_live_monitoring_rec_big_night.xml b/OsmAnd/res/drawable/widget_live_monitoring_rec_big_night.xml
new file mode 100644
index 0000000000..97c2e0ce73
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_live_monitoring_rec_big_night.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_live_monitoring_rec_small_day.xml b/OsmAnd/res/drawable/widget_live_monitoring_rec_small_day.xml
new file mode 100644
index 0000000000..035fd2d48d
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_live_monitoring_rec_small_day.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_live_monitoring_rec_small_night.xml b/OsmAnd/res/drawable/widget_live_monitoring_rec_small_night.xml
new file mode 100644
index 0000000000..71e09ed8cb
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_live_monitoring_rec_small_night.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_location_sharing_day.xml b/OsmAnd/res/drawable/widget_location_sharing_day.xml
new file mode 100644
index 0000000000..5f6f50ac39
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_location_sharing_day.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_location_sharing_night.xml b/OsmAnd/res/drawable/widget_location_sharing_night.xml
new file mode 100644
index 0000000000..8a6f82c600
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_location_sharing_night.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_location_sharing_off_day.xml b/OsmAnd/res/drawable/widget_location_sharing_off_day.xml
new file mode 100644
index 0000000000..973ba3e630
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_location_sharing_off_day.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_location_sharing_off_night.xml b/OsmAnd/res/drawable/widget_location_sharing_off_night.xml
new file mode 100644
index 0000000000..70b1ca4667
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_location_sharing_off_night.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_location_sharing_on_day.xml b/OsmAnd/res/drawable/widget_location_sharing_on_day.xml
new file mode 100644
index 0000000000..c41ab305e9
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_location_sharing_on_day.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_location_sharing_on_night.xml b/OsmAnd/res/drawable/widget_location_sharing_on_night.xml
new file mode 100644
index 0000000000..3b921d6233
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_location_sharing_on_night.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_mapillary_dat.xml b/OsmAnd/res/drawable/widget_mapillary_dat.xml
new file mode 100644
index 0000000000..2e5c466792
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_mapillary_dat.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_mapillary_day.xml b/OsmAnd/res/drawable/widget_mapillary_day.xml
new file mode 100644
index 0000000000..c05c16d520
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_mapillary_day.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_mapillary_night.xml b/OsmAnd/res/drawable/widget_mapillary_night.xml
new file mode 100644
index 0000000000..46184e337f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_mapillary_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_marker_day.xml b/OsmAnd/res/drawable/widget_marker_day.xml
new file mode 100644
index 0000000000..b02c42e183
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_marker_day.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_marker_night.xml b/OsmAnd/res/drawable/widget_marker_night.xml
new file mode 100644
index 0000000000..48119cd88b
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_marker_night.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_marker_triangle.xml b/OsmAnd/res/drawable/widget_marker_triangle.xml
new file mode 100644
index 0000000000..5b396191a3
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_marker_triangle.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/OsmAnd/res/drawable/widget_max_speed_day.xml b/OsmAnd/res/drawable/widget_max_speed_day.xml
new file mode 100644
index 0000000000..c560eee924
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_max_speed_day.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_max_speed_night.xml b/OsmAnd/res/drawable/widget_max_speed_night.xml
new file mode 100644
index 0000000000..49613643f0
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_max_speed_night.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_monitoring_rec_big_day.xml b/OsmAnd/res/drawable/widget_monitoring_rec_big_day.xml
new file mode 100644
index 0000000000..837efc613f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_monitoring_rec_big_day.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_monitoring_rec_big_night.xml b/OsmAnd/res/drawable/widget_monitoring_rec_big_night.xml
new file mode 100644
index 0000000000..548ffdc96c
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_monitoring_rec_big_night.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_monitoring_rec_inactive_day.xml b/OsmAnd/res/drawable/widget_monitoring_rec_inactive_day.xml
new file mode 100644
index 0000000000..6d5a01dd76
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_monitoring_rec_inactive_day.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_monitoring_rec_inactive_night.xml b/OsmAnd/res/drawable/widget_monitoring_rec_inactive_night.xml
new file mode 100644
index 0000000000..c3573ca88e
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_monitoring_rec_inactive_night.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_monitoring_rec_small_day.xml b/OsmAnd/res/drawable/widget_monitoring_rec_small_day.xml
new file mode 100644
index 0000000000..7e380b90f6
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_monitoring_rec_small_day.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_monitoring_rec_small_night.xml b/OsmAnd/res/drawable/widget_monitoring_rec_small_night.xml
new file mode 100644
index 0000000000..71269f02a3
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_monitoring_rec_small_night.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_parking_day.xml b/OsmAnd/res/drawable/widget_parking_day.xml
new file mode 100644
index 0000000000..255fe216d8
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_parking_day.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_parking_night.xml b/OsmAnd/res/drawable/widget_parking_night.xml
new file mode 100644
index 0000000000..2cb49cef9c
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_parking_night.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_relative_bearing_day.xml b/OsmAnd/res/drawable/widget_relative_bearing_day.xml
new file mode 100644
index 0000000000..d1b76e70f9
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_relative_bearing_day.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_relative_bearing_night.xml b/OsmAnd/res/drawable/widget_relative_bearing_night.xml
new file mode 100644
index 0000000000..a95c4883b1
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_relative_bearing_night.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_ruler_circle_day.xml b/OsmAnd/res/drawable/widget_ruler_circle_day.xml
new file mode 100644
index 0000000000..6c2ce3c0ce
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_ruler_circle_day.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_ruler_circle_night.xml b/OsmAnd/res/drawable/widget_ruler_circle_night.xml
new file mode 100644
index 0000000000..a3e561682f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_ruler_circle_night.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_speed_day.xml b/OsmAnd/res/drawable/widget_speed_day.xml
new file mode 100644
index 0000000000..ecbb6d7510
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_speed_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_speed_night.xml b/OsmAnd/res/drawable/widget_speed_night.xml
new file mode 100644
index 0000000000..c890f0d90b
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_speed_night.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_target_day.xml b/OsmAnd/res/drawable/widget_target_day.xml
new file mode 100644
index 0000000000..f1905ad586
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_target_day.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_target_night.xml b/OsmAnd/res/drawable/widget_target_night.xml
new file mode 100644
index 0000000000..7b4c53d0e0
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_target_night.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_time_day.xml b/OsmAnd/res/drawable/widget_time_day.xml
new file mode 100644
index 0000000000..695e26e9ba
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_time_day.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_time_night.xml b/OsmAnd/res/drawable/widget_time_night.xml
new file mode 100644
index 0000000000..d52749f466
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_time_night.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_time_to_distance_day.xml b/OsmAnd/res/drawable/widget_time_to_distance_day.xml
new file mode 100644
index 0000000000..c81360ebf5
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_time_to_distance_day.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/drawable/widget_time_to_distance_night.xml b/OsmAnd/res/drawable/widget_time_to_distance_night.xml
new file mode 100644
index 0000000000..26224a7e9f
--- /dev/null
+++ b/OsmAnd/res/drawable/widget_time_to_distance_night.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/OsmAnd/res/layout/expandable_list_item_category.xml b/OsmAnd/res/layout/expandable_list_item_category.xml
index e25f0f48d8..f1699c775a 100644
--- a/OsmAnd/res/layout/expandable_list_item_category.xml
+++ b/OsmAnd/res/layout/expandable_list_item_category.xml
@@ -18,8 +18,8 @@
+ android:layout_marginStart="@dimen/card_content_padding_large" />
+ android:paddingStart="@dimen/list_header_text_left_margin"
+ android:paddingLeft="@dimen/list_header_text_left_margin"
+ android:paddingEnd="@dimen/list_header_text_left_margin"
+ android:paddingRight="@dimen/list_header_text_left_margin">
diff --git a/OsmAnd/res/layout/group_description_item.xml b/OsmAnd/res/layout/group_description_item.xml
index 512e65a606..0c73281929 100644
--- a/OsmAnd/res/layout/group_description_item.xml
+++ b/OsmAnd/res/layout/group_description_item.xml
@@ -16,7 +16,8 @@
+ android:layout_height="@dimen/download_description_images_height"
+ tools:visibility="gone" />
+
+
+
+
+ android:layout_height="match_parent"
+ android:background="?attr/activity_background_basic">
+ android:scrollbars="none">
+ android:orientation="vertical">
-
+ android:layout_height="@dimen/download_description_images_height"
+ tools:visibility="gone" />
+ tools:text="@string/plugin_disabled_descr" />
@@ -71,14 +71,12 @@
-
-
-
-
+ android:background="?attr/list_background_color"
+ android:orientation="vertical" />
diff --git a/OsmAnd/res/layout/purchase_dialog_card_button_ex.xml b/OsmAnd/res/layout/purchase_dialog_card_button_ex.xml
index 726c6f11ee..a0dd5f8f8e 100644
--- a/OsmAnd/res/layout/purchase_dialog_card_button_ex.xml
+++ b/OsmAnd/res/layout/purchase_dialog_card_button_ex.xml
@@ -16,10 +16,10 @@
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="vertical"
- android:paddingLeft="@dimen/card_padding"
- android:paddingRight="@dimen/card_padding"
- android:paddingEnd="@dimen/card_padding"
- android:paddingStart="@dimen/card_padding">
+ android:paddingLeft="@dimen/list_content_padding"
+ android:paddingRight="@dimen/list_content_padding"
+ android:paddingEnd="@dimen/list_content_padding"
+ android:paddingStart="@dimen/list_content_padding">
-
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
+ android:background="?attr/purchase_dialog_outline_btn_bg">
-
-
-
diff --git a/OsmAnd/res/layout/purchase_dialog_fragment.xml b/OsmAnd/res/layout/purchase_dialog_fragment.xml
index 17466ed5b7..db87e7d0c6 100644
--- a/OsmAnd/res/layout/purchase_dialog_fragment.xml
+++ b/OsmAnd/res/layout/purchase_dialog_fragment.xml
@@ -1,6 +1,5 @@
-
+ android:tint="@color/icon_color_default_light" />
+ android:layout_marginStart="@dimen/list_header_padding" />
@@ -54,8 +53,8 @@
android:layout_marginLeft="@dimen/list_content_padding_large"
android:layout_marginRight="@dimen/list_content_padding_large"
android:orientation="vertical"
- android:layout_marginStart="@dimen/list_content_padding_large"
- android:layout_marginEnd="@dimen/list_content_padding_large">
+ android:layout_marginStart="@dimen/list_content_padding_large"
+ android:layout_marginEnd="@dimen/list_content_padding_large">
+ tools:text="@string/purchase_dialog_travel_description" />
-
+ android:orientation="vertical" />
+
+
+
+
+
+
+ android:layout_marginEnd="@dimen/card_padding"
+ android:layout_marginStart="@dimen/card_padding">
+ android:paddingStart="@dimen/list_content_padding"
+ android:paddingEnd="@dimen/list_content_padding" />
+ android:layout_marginEnd="@dimen/card_padding"
+ android:layout_marginStart="@dimen/card_padding">
+ android:paddingStart="@dimen/list_content_padding"
+ android:paddingEnd="@dimen/list_content_padding" />
diff --git a/OsmAnd/res/layout/purchase_dialog_osm_live_card.xml b/OsmAnd/res/layout/purchase_dialog_osm_live_card.xml
index 9ac1fb62ed..20c35a3926 100644
--- a/OsmAnd/res/layout/purchase_dialog_osm_live_card.xml
+++ b/OsmAnd/res/layout/purchase_dialog_osm_live_card.xml
@@ -1,7 +1,6 @@
diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml
index 1473b93b73..5c5fa8c9cd 100644
--- a/OsmAnd/res/values-ar/strings.xml
+++ b/OsmAnd/res/values-ar/strings.xml
@@ -2699,7 +2699,7 @@
سنوي
%1$s / شهر
%1$.2f %2$s / شهر
- وفر %1$s.
+ وفر %1$s
الاشتراك الحالي
يجدد شهريا
تجديد فصلي
@@ -3605,7 +3605,7 @@
حدد اللغات التي ستظهر بها مقالات ويكيبيديا على الخريطة. يمكنك التبديل بين جميع اللغات المتاحة أثناء قراءة المقالة.
قد لا تتوفر بعض مقالات ويكيبيديا بلغتك.
الكانتونية
- جنوب دقيقة
+ مين نان
اليوروبية
واراي
الأوزبكية
@@ -3632,4 +3632,5 @@
ارجواني
لومبارد
لون مخصص
+ خرائط إضافية
\ No newline at end of file
diff --git a/OsmAnd/res/values-b+be+Latn/strings.xml b/OsmAnd/res/values-b+be+Latn/strings.xml
index 99a2c0c80e..a5a49915b4 100644
--- a/OsmAnd/res/values-b+be+Latn/strings.xml
+++ b/OsmAnd/res/values-b+be+Latn/strings.xml
@@ -2846,7 +2846,7 @@ Praparcyjnaj pamiacі %4$s MB (Abmiežavańnie Android %5$s MB, Dalvik %6$s MB).
Štohod
%1$s / miesiac
%1$.2f %2$s / miesiac
- Aščada %1$s.
+ Aščada %1$s
Dziejnaja padpiska
Abnaŭliajecca štomiesiac
Abnaŭliajecca štokvartaĺna
diff --git a/OsmAnd/res/values-b+kab/strings.xml b/OsmAnd/res/values-b+kab/strings.xml
index df0921875b..684d9cf3c1 100644
--- a/OsmAnd/res/values-b+kab/strings.xml
+++ b/OsmAnd/res/values-b+kab/strings.xml
@@ -1262,4 +1262,40 @@
Fren ini n lexṣas
Takatut
Ini udmawan
+ Kraḍ n wayyuren
+ Ales asiḍen n ubrid ma yella ibeddel ubrid
+ Fren ameccaq ugar n wanida ara d-yettwasiden ubrid.
+ Abrid ad yettwasiḍen ticki ameccaq gar ubrid akked wadig-ik yugar azal i d-yettwammlen.
+ Iberdan isnawanen
+ Sken/ffer akal
+ Ffer akal
+ Sken akal
+ Taqeffalt i uskan neɣ tuffra n tissi n wakal n tkarḍa.
+ Kkes aglam
+ Fren agraw
+ Fren talɣa
+ Sbadu amḍan n yiferdisen deg ugalis adruram, sbadu takarḍa akked wumuɣ n usatal.
+\n
+\nTzemreḍ ad tsenseḍ izegrar ur nettwaseqdac ara, akken ad teffreḍ meṛṛa imsefraken deg usnas %1$s.
+ Iferdisen n ugalis adruram, umuɣ n usatal
+ Amuddu n udem i ugrudem n useqdac
+ Agalis adruram
+ Tigawin n wumuɣ n usatal
+ Ales tuddsa neɣ ffer iferdisen seg %1$s.
+ Iferdisen ddaw n wagaz-a ɛezlen s unabraz.
+ Iferdisen-a ffren deg umuɣ maca isenfran-a neɣ izegrar ur teddun ara akken iwata.
+ Iɣewwaṛen ad alsen awennez ɣer wazalen-nsen imezwura deffir n tuffra-nsen.
+ Tigawin tigejdanin gebrent kan 4 n tqeffalin.
+ Tzemreḍ dad tkecmeḍ ɣer tigawin-a s utekki ɣef tqeffalt \"Tigawin\".
+ Tzemreḍ kan ad tawiḍ iferdisen daxel n taggayt-a.
+ Uccuḍ deg udfel
+ Tikarḍiwin-nniḍen
+ Amayel / Amitr
+ Ikilumitren/imitren
+ Miles/yards
+ Amayel/aḍar
+ Tisdatin deg umayl
+ Tisdatin deg ukilumitr
+ nmi
+ ft
\ No newline at end of file
diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml
index 1ac9a2a332..504fa380c9 100644
--- a/OsmAnd/res/values-be/strings.xml
+++ b/OsmAnd/res/values-be/strings.xml
@@ -2919,7 +2919,7 @@
Штогод
%1$s / месяц
%1$.2f %2$s / месяц
- Ашчада %1$s.
+ Ашчада %1$s
Дзейная падпіска
Абнаўляецца штомесяц
Абнаўляецца штоквартал
diff --git a/OsmAnd/res/values-bg/strings.xml b/OsmAnd/res/values-bg/strings.xml
index 6f717b0f3d..1e6cdd2c11 100644
--- a/OsmAnd/res/values-bg/strings.xml
+++ b/OsmAnd/res/values-bg/strings.xml
@@ -131,11 +131,13 @@
Старт
Аудио/видео бележки
Добавка на OsmAnd за офлайн контурни линии
- "Тази добавка изчертава линии на релефа върху основните карти на OsmAnd. Това е особено полезно за туристи и хора интересуващи се от релефа на местността.\n\nГлобалната карта (между 70 градуса северна ширина и 70 градуса южна ширина) се базира на измервания от SRTM (Shuttle Radar Topography Mission) и ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), устройство за изображения на борда на Terra, най-добрият спътник на програмата на NASA Earth Observing System. ASTER е съвместен проект на NASA, Японското правителсто и японската компания Japan Space Systems (J-spacesystems). "
+ Тази добавка изчертава линии на релефа върху основните карти на OsmAnd. Това е особено полезно за туристи и хора интересуващи се от релефа на местността.
+\n
+\nГлобалната карта (между 70° северна ширина и 70° южна ширина) се базира на измервания от SRTM (Shuttle Radar Topography Mission) и ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), устройство за изображения на борда на Terra, най-добрият спътник на програмата на NASA Earth Observing System. ASTER е съвместен проект на NASA, Японското правителство и японската компания Japan Space Systems (J-spacesystems).
Измерване на дистанции
Няма определена позиция за тази бележка. Използвайте контекстното меню за да изберете място и да направите бележка
Аудио бележки
- С добавката можете да правите бележки (глас, снимка или видео) по време на пътуване, ползвайки специалния бутон или контекстното меню.
+ С добавката можете да правите бележки (гласови, снимка или видео) по време на пътуване, ползвайки специалния бутон или контекстното меню.
Аудио/видео бележки
части
Контури
@@ -332,9 +334,11 @@
Използване на онлайн карти (сваляне на карти в SD картата)
Онлайн карти
Настройване на източниците за онлайн карти
- "С този плъгин можете да получите достъп до много типове онлайн (или растерни) карти, достъп до предварително създадени Openstreetmap растерни изображения (като Mapnik), до сателитни снимки и до слоеве със специално предназначение, като карти за времето, карти на климата, геоложки карти, географски терен и др.
-\n\nНякои от тези карти могат да бъдат използвани като основна (базова) карта на екрана на OsmAnd или като подложка на друга базова карта (като на OsmAnd стандартната офлайн карта). За да се направи всяка подложка по-видима, някои елементи на OsmAnd картата могат лесно да бъдат скрити чрез менюто \"Настройки на картата\".
-\n\nРастерните карти могат да бъдат получени директно чрез онлайн източници, или могат да бъдат подготвени за офлайн употреба (и ръчно копирани в папката за данни OsmAnd) под формата на sqlite база данни от друго приложение. "
+ "Можете да ползвате много видове онлайн (растерни) карти: OSM растерни изображения (като Mapnik), сателитни снимки, слоеве със специално предназначение - прогнози за времето, климатични карти, географски терени и др.
+\n
+\nНякои от тези карти могат да бъдат използвани като основна (базова) карта на екрана на OsmAnd или като подложка на друга базова карта (като на OsmAnd стандартната офлайн карта). За да се направи всяка подложка по-видима, някои елементи на OsmAnd картата могат лесно да бъдат скрити чрез менюто \"Настройки на картата\".
+\n
+\nРастерните карти могат да бъдат получени директно чрез онлайн източници, или могат да бъдат подготвени за офлайн употреба (и ръчно копирани в папката за данни OsmAnd) под формата на sqlite база данни от друго приложение."
Настройки на специалните функции за достъпност. Настройване скоростта на гласовите напътствия и допълнителни настройки за хора със специални потребности.
Добавката показва настройки за отстраняване на неизправности по програмата - тестване или симулиране на маршрут, честота на опресняване на екрана, работата на гласовите напътствия. Тези настройки са предназначени за разработчици и не са необходими на обикновения потребител.
Добавки
@@ -1178,7 +1182,7 @@
Избрани
избрани
Няма избрани GPX файлове. За да изберете натиснете и задръжте на някой от маршрутите.
- Можете да активирате алтернативен маршрут, като изберете кои пътища да бъдат избегнати
+ Можете да зададете алтернативен маршрут, като изберете кои пътища да бъдат избегнати
Ръчно задаване
Вътрешна памет
Съхраняване на карти
@@ -1209,8 +1213,8 @@
\n\nAnd it provides special touring options like showing bicycle routes or Alpine mountain routes.
\n\nНе се изисква специална карта, изгледът се създава от стандартните карти на приложението.
\n\nThis view can be reverted by either de-activating it again here, or by changing the \'Map style\' under \"Настройка на картата\" as desired. "
- Покажи ЖП прелези
- Покажи пешеходни пътеки
+ ЖП прелези
+ Пешеходни пътеки
Улично осветление
Оцветяване на пътищата
Германски стил
@@ -1287,19 +1291,19 @@
Сподели бележката
Позиция:\n шир: %1$s\n дълж: %2$s
Виж
- Бележки
+ A/V бележки
Онлайн карта
Само пътища
Ски писти
- "Свободни %1$s "
+ Свободни %1$s
Памет на устройството
Паркинг място
ПРЕМАХНИ ЕТИКЕТА
GPS статус
- Сваляне на бета версии
+ Изтегляне на бета версии.
Версии
Прокси
- Настройка на прокси интернет комуникация
+ Настройка на прокси сървър.
Поверителност
Точки
"Тази добавка позволява записване на изминатия път в GPX файл. Записът може да се активира чрез докосване на бутон на главния екран или автоматично при стартиране на навигацията.\n\nЗаписаните следи могат да бъдат споделяни или да се изпращат към OSM. Спортистите могат да използват записаните следи за да проследят своя напредък. Основните данни на следата можете да видите директно в OsmAnd, като междинни времена, средната скорост и т.н. По-късно можете да анализирате следите в специални приложения за целта. "
@@ -1314,7 +1318,7 @@
%1$s карти са обновени
Обработена ски писта
Трябва да изтеглите специалната карта за скиори за правилното изобразяване на ски писти и други подробности
- За правилното изобразяване на морските навигационни ориентири трябва да изтеглите специална карта за тях
+ Изтеглете специалната карта за морска навигация.
Редактиране на група
Пешеходни пътеки
По подразбиране
@@ -1322,7 +1326,7 @@
Контрастни пътища
ЖП прелези
Пешеходна пътека
- Искате ли да свалите карти?
+ Сваляне на офлайн карти\?
Свалихте %1$s карти
Свалете нова карта
Управление
@@ -1332,7 +1336,7 @@
Свалянето не е възможно, моля проверете Вашата интернет връзка.
Всички файлове са актуални
OpenGL изчертаване
- Използване на хардуерно ускорено OpenGL изчертаване (възможно е да не работи на някои устройства)
+ Използване на хардуерно ускорено OpenGL изчертаване (възможно е да има повишена консумация и да не работи на някои по-стари устройства).
Няма намерен заобиколен път
Начало
Координати
@@ -1510,7 +1514,7 @@
Актуализация
Качване
Създаден OSM POI
- Световната базова карта (покриваща целия свят в при малък мащаб) липсва или е остаряла. Моля, помислите за изтеглянето й .
+ Световната базова карта (покриваща целия свят в при малък мащаб) липсва или е остаряла. Изтеглете я за показване на този мащаб.
QR код
Картата е изтеглена
Картата на %1$s е готова за ползване.
@@ -1532,7 +1536,7 @@
Изберете категория
Дефиниране на единица за скорост.
Единица за скорост
- nm
+ мор. мили
Морски мили
Км в час
Мили в час
@@ -1550,8 +1554,7 @@
м/сек
Записване на изминатия път
Навигация
- Работа
-\n във фонов режим
+ Работа във фонов режим
Предпочитана информация
Да се показва при стартиране
Копирано
@@ -1573,7 +1576,7 @@
Отворете наново
Затворете бележката
Бележката беше създадена
- Бележката не беше създадена
+ Бележката не беше създадена.
Бележката беше затворена
Бележката не може да се затвори.
Изпращане на данни до OSM
@@ -1756,7 +1759,7 @@
Актуализации онлайн
Достъпни карти
Изберете гласов пакет
- Изберете или свалете гласов пакет на вашия език
+ Изберете или свалете гласов пакет за вашия език.
Изберете пътищата, които да се избегнат при навигация.
Звук
Последна актуализация: %s
@@ -2082,9 +2085,104 @@
Как да отворите статии от Уикипедия\?
Статията не е намерена
Търсене на съответната уики статия
- UTM Standard
+ UTM стандарт
Пример
OsmAnd използва стандарта UTM, който е подобен, но не е еднакъв с формата UTM NATO .
Настройки за профил:
Инсталирани добавки
+ Онлайн проследяване
+ Изберете икона, цвят и име
+ Размер на картината, качество на аудио и видео
+ Навигация, точност на вписване
+ Импортиране на профил
+ Импортиране на файл за маршрутизация
+ Импортиране от файл
+ Упълномощаването е успешно
+ Звук на затвора на камерата
+ Използване на системно приложение
+ Минимално изместване
+ Минимална точност
+ Минимална скорост
+ Уведомяване
+ %1$s/%2$s
+ Потребителски профил
+ Терен
+ Стръмност
+ Стартиране на OsmAnd\?
+ Склонове за използване на шейни.
+ Шейни
+ Разрешаване на експертни маршрути
+ Предпочитана трудност
+ Извън пистата
+ Необходими са допълнителни карти, за да видите склоновете на картата.
+ Необходими са допълнителни карти, за да видите склоновете на картата.
+ Можете да прочетете повече за наклоните в %1$s.
+ Прозрачност
+ Нива на мащабиране
+ Легенда
+ Оцветяване на релефа
+ Импортирането завърши
+ Добавени са елементи
+ Импортиране
+ Импортиране на данни от %1$s
+ Неуспех при създаването на резервно копие на профила.
+ Запазване на нов профил
+ Чекмедже
+ Някои статии в Уикипедия може да не са достъпни на вашия език.
+ Кантонски
+ Южен Мин
+ Йоруба
+ Варай
+ Узбекски
+ Урду
+ Татарски
+ Таджикски
+ Шотландски
+ Сицилиански
+ Пенджабски
+ Непалски
+ Неаполитански
+ Бирмански
+ Монголски
+ Минангкабау
+ Малагасийски
+ Киргизки
+ Казахски
+ Явански
+ Гуджарати
+ Чувашки
+ Чеченски
+ Баварски
+ Башкирски
+ Арагонски
+ Ломбардия
+ Друг цвят
+ Необходими са допълнителни карти, за да видите обектите на Уикипедия на картата.
+ Неподдържано действие %1$s
+ Икона на позицията по време на движение
+ Нулиране на всички настройки на профила\?
+ Нулирайте всички настройки на профила до настройките по подразбиране.
+ Докосването на %1$s ще отхвърли всичките ви промени.
+ %1$s: %2$s
+ %1$s %2$s
+ Икона показвана в покой.
+ Икона, показана по време на навигация или движение.
+ OSM
+ Редактиране на OSM
+ Тези настройки се отнасят за всички профили.
+ Потребителско име и парола
+ Обявяване
+ Преизчисляване на маршрута
+ Фото бележки
+ Видео бележки
+ Вашите OSM бележки са в %1$s.
+ Точност на регистриране
+ Вход, парола, редактиране офлайн
+ Възстановяване на настройките на добавката към фабричните
+ Директно към точката
+ Импортиране на файл за изобразяване
+ Задайте минималните и максималните нива на мащабиране, при които ще се показва слоят.
+ Възстановяване на всички настройки на профила\?
+ Наистина ли искате да изчистите записаните данни\?
+ Преизчисляване на маршрута в случай на отклонение
\ No newline at end of file
diff --git a/OsmAnd/res/values-ca/strings.xml b/OsmAnd/res/values-ca/strings.xml
index 4a7b09c6c1..6363be3f85 100644
--- a/OsmAnd/res/values-ca/strings.xml
+++ b/OsmAnd/res/values-ca/strings.xml
@@ -2790,7 +2790,7 @@ Abasta l\'àrea: %1$s x %2$s
Buscant el corresponent article a la wiki
Adreça d\'interès
Dissenyat per un ús alternatiu en conducció. Pensat per posar imatges de satèl·lit com un mapa de fons. Principals característiques: gruix reduit de les carreteres principals, augment del gruix de pistes, camins, vies ciclistes i altres vies. Basat en l\'estil Topo.
- Estil contrastat dissenyat principalment per senderisme, excursionisme i ciclisme de natura. Força llegible amb il·luminació ambient extrema. Principals característiques: Contrast de vies i objectes naturals, diferents tipus de rutes, corbes de nivell amb configuració avançada, més detallat que l\'estil normal i ajustat al nivell de zoom. L\'opció d\'integritat de superfície permet distingir el tipus de superfície de la via. No hi ha mode nocturn.
+ Per senderisme, excursionisme i ciclisme de natura. Pensat per il·luminació d\'exteriors. Contrast de vies i objectes naturals, diferents tipus de rutes, configuració avançada de corbes de nivell, detalls addicionals. Ajustant la integritat de superfície es distingeix el tipus de superfície de la via. No hi ha mode nocturn.
Antic estil per defecte de \'Mapnik\'. Colors semblants als de \'Mapnik\'.
Estil molt detallat per fer turisme. Inclou totes les opcions de configuració de l\'estil per defecte, afegint: Pantalles amb el màxim detall, en particular totes les carreteres, camins, i altres maneres de viatjar. Distinció visual clara entre tots els tipus diferents de via, semblant al de molts atles de viatge. Paleta de colors d\'alt contrast per utilitzar a l\'exterior, mode diürn i nocturn.
Estil de propòsit general. Les ciutats denses es mostren amb claredat. Disposa de corbes de nivell, vies, tipus de superfície, restriccions d\'accés, codis de carreteres, camins representats segons l\'escala SAC, elements d\'esports aquàtics.
@@ -2874,7 +2874,7 @@ Abasta l\'àrea: %1$s x %2$s
Anualment
%1$s / mes
%1$.2f %2$s / mes
- Desa %1$s.
+ Desa %1$s
Subscripció actual
Renovació mensual
Renovació trimestral
@@ -3626,11 +3626,11 @@ Abasta l\'àrea: %1$s x %2$s
Divisor
Elements per sota d’aquest punt separats per un divisor.
Amagat
- Aquests elements no es mostren al menú, però les opcions o els connectors que representen continuen funcionant.
+ Aquests elements no es mostren al menú, però les opcions o els connectors que representen continuaran funcionant.
La configuració es restablirà a l\'estat original després d\'amagar-se.
Les accions principals només contenen 4 botons.
Accions principals
- Podeu accedir a aquesta acció prement el botó \"Accions\".
+ Podeu accedir a aquestes accions prement el botó \"Accions\".
Només podeu moure els elements dins d\'aquesta categoria.
Connector per a desenvolupadors
Elements
@@ -3641,4 +3641,28 @@ Abasta l\'àrea: %1$s x %2$s
Aragonès
Llombard
Color personalitzat
+ Seleccioneu els idiomes de la Viquipèdia en que es veuran els articles al mapa. Mentre llegiu un article podeu modificar la llengua entre les disponibles.
+ Alguns articles de la Viquipèdia podrien no estar disponibles en el vostre idioma.
+ Cantonès
+ Min nan
+ Ioruba
+ Waray-waray
+ Uzbek
+ Mapes addicionals
+ Urdú
+ Tàtar
+ Tadjik
+ Escocès
+ Sicilià
+ Panjabi
+ Nepalès
+ Napolità
+ Birmà
+ Mongol
+ Minangkabau
+ Malgaix
+ Kirguís
+ Kazakh
+ Javanès
+ Gujarati
\ No newline at end of file
diff --git a/OsmAnd/res/values-cs/strings.xml b/OsmAnd/res/values-cs/strings.xml
index 74ccc1edef..962a29c222 100644
--- a/OsmAnd/res/values-cs/strings.xml
+++ b/OsmAnd/res/values-cs/strings.xml
@@ -2827,7 +2827,7 @@ Zobrazená oblast: %1$s x %2$s
Ročně
%1$s / měsíc
%1$.2f %2$s / měsíc
- Ušetříte %1$s.
+ Ušetříte %1$s
Aktuální předplatné
Obnovuje se měsíčně
Obnovuje se čtvrtletně
diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml
index 42697f3221..2e7ae0cc0a 100644
--- a/OsmAnd/res/values-da/strings.xml
+++ b/OsmAnd/res/values-da/strings.xml
@@ -2858,7 +2858,7 @@ Repræsenterer område: %1$s x %2$s
Årligt
%1$s / måned
%1$.2f %2$s / måned
- Spar %1$s.
+ Spar %1$s
Nuværende abonnement
Fornyes månedligt
Fornyes kvartalsvis
diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml
index ea63260ab9..c1890fef0d 100644
--- a/OsmAnd/res/values-de/strings.xml
+++ b/OsmAnd/res/values-de/strings.xml
@@ -1793,7 +1793,7 @@ Lon %2$s
Bitte die Erweiterung \'Höhenlinien\' aktivieren
Vollversion
Die reine Straßenkarte wird nicht benötigt, da Sie die Standardkarte haben. Trotzdem herunterladen?
- %1$.1f von %2$.1f MB
+ %1$,1f von %2$,1f MB
Alles aktualisieren (%1$s MB)
Verbrauchte freie Downloads
Ländernamen eingeben
@@ -1806,7 +1806,7 @@ Lon %2$s
Aufruf von der Karte aus
Neue Katagorie erstellen
Weiter
- %.1f MB
+ %,1f MB
Bitte einen gültigen POI-Typ angeben oder überspringen.
OSM-Bearbeitung mit OsmAnd geteilt
GPX-Datei mit Standorten.
@@ -2855,7 +2855,7 @@ Lon %2$s
Markierungen, die als Gruppe von Favoriten oder GPX-Wegpunkten hinzugefügt wurden, die als \'Passiert\' markiert sind, bleiben auf der Karte erhalten. Wenn die Gruppe nicht aktiv ist, verschwinden die Marker von der Karte.
Passierte Markierungen auf der Karte behalten
An dieser Haltestelle gibt es mehrere Verbindungen.
- Kartenmarkierung \'%s\' löschen\?
+ Kartenmarkierung „%s“ löschen\?
Kartenmarkierung bearbeiten
Drittanbieter-App
Plan und Preisgestaltung
@@ -2864,7 +2864,7 @@ Lon %2$s
Jährlich
%1$s / Monat
%1$.2f %2$s / Monat
- Sparen Sie %1$s.
+ Sparen Sie %1$s
Aktuelles Abonnement
Verlängert sich monatlich
Verlängert sich vierteljährlich
@@ -3037,7 +3037,7 @@ Lon %2$s
Fußgängerroute berechnen
Transportart
%1$d Dateien verschoben (%2$s).
- %1$d Dateien (%2$s) sind am vorherigen Ort \'%3$s\' vorhanden.
+ %1$d Dateien (%2$s) sind am vorherigen Ort „%3$s“ vorhanden.
Karten verschieben
Nicht verschieben
Die Route zu Fuß beträgt ca. %1$s und könnte schneller sein als mit öffentlichen Verkehrsmitteln
@@ -3417,7 +3417,7 @@ Lon %2$s
Für Wüsten und andere dünn besiedelte Gebiete. Umfangreicher.
Positionssymbol in Bewegung
Positionssymbol im Ruhezustand
- Durch Tippen auf \'Anwenden\' werden entfernte Profile dauerhaft gelöscht.
+ Durch Tippen auf „Anwenden“ werden entfernte Profile dauerhaft gelöscht.
Hauptprofil
Farbe wählen
OsmAnd-Standardprofile können nicht gelöscht, aber (auf dem vorherigen Bildschirm) deaktiviert oder nach unten verschoben werden.
@@ -3634,4 +3634,38 @@ Lon %2$s
Hauptaktionen
Sie können Elemente nur innerhalb dieser Kategorie verschieben.
Elemente
+ Einige Wikipedia-Artikel sind möglicherweise nicht in Ihrer Sprache verfügbar.
+ Kantonesisch
+ Minnan
+ Yoruba
+ Waray-Waray
+ Minangkabauisch
+ Neapolitanisch
+ Malagassi
+ Nepali
+ Birmanisch
+ Panjabi
+ Tatarisch
+ Tadschikisch
+ Urdu
+ Usbekisch
+ Sizilianisch
+ Scots
+ Mongolisch
+ Kirgisisch
+ Kasachisch
+ Javanisch
+ Tschuwaschisch
+ Gujarati
+ Nicht unterstützte Aktion %1$s
+ Zusätzliche Karten
+ Aragonesisch
+ Lombardisch
+ Benutzerdefinierte Farbe
+ Tschetschenisch
+ Bairisch
+ Baschkirisch
+ Die Hauptaktionen enthalten nur 4 Schaltflächen.
+ Sie können auf diese Aktionen zugreifen, indem Sie auf die Schaltfläche „Aktionen“ tippen.
+ 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.
\ No newline at end of file
diff --git a/OsmAnd/res/values-el/strings.xml b/OsmAnd/res/values-el/strings.xml
index cceaa6d0e4..f18342af5d 100644
--- a/OsmAnd/res/values-el/strings.xml
+++ b/OsmAnd/res/values-el/strings.xml
@@ -2831,7 +2831,7 @@
Ετήσια
%1$s / μήνα
%1$.2f %2$s / μήνα
- Εξοικονομήστε %1$s.
+ Εξοικονομήστε %1$s
Η τρέχουσα εγγραφή
Μηνιαίες ανανεώσεις
Τριμηνιαίες ανανεώσεις
diff --git a/OsmAnd/res/values-en-rGB/strings.xml b/OsmAnd/res/values-en-rGB/strings.xml
index e8ca75a7af..9b6748c72f 100644
--- a/OsmAnd/res/values-en-rGB/strings.xml
+++ b/OsmAnd/res/values-en-rGB/strings.xml
@@ -7,89 +7,3602 @@
GPX colour
GPX colour
Colour
- Old \'Mapnik\'-style default rendering style. Key features: colours are similar to \'Mapnik\' style.
- High detail style for touring purposes. Includes all configuration options of default style, in addition: Displays as much detail as possible, in particular all roads, paths, and other ways to travel. Clear visual distinction between all different road types, reminiscent of many touring atlases. High contrast colour scheme for outdoor use, day and night mode.
+ Old default ‘Mapnik’-style. Similar colours to ‘Mapnik’.
+ Touring style with high contrast and maximum detail. Includes all options of the OsmAnd default style, while displaying as much detail as possible, in particular roads, paths, and other ways to travel. Clear \"touring atlas\" distinction between road types. Suitable for day, night, and outdoor use.
Modification of the default style to increase contrast of pedestrian and bicycle roads. Uses legacy Mapnik colours.
- Select a Favourite category to add to the markers.
- Favourites category
- You can import groups from favourites or track waypoints.
- You can import favourite groups or track waypoints as markers.
- Add Favourites
- Add favourites on the map or import them from a file.
- can be imported as Favourites points, or as track file.
- Import as Favourites
- Search favourites
- Favourite information
- Save as group of favourites
- Add favourite
+ Select a category of Favorites to add to the markers.
+ Favorites category
+ Import groups from Favorites or GPX waypoints.
+ Import Favorite groups or waypoints as markers.
+ Add Favorites
+ Import Favorites, or add by marking points on the map.
+ can be imported as Favorites or a GPX file.
+ Import as Favorites
+ Search in Favorites
+ Favorite info
+ Save as group of Favorites
+ Add Favorite
Change colour
Colour scheme
- towards
+ toward
Default colour
- Colouring according to route scope
- Colouring according to OSMC
- Favourite
- Favourites
- Add to Favourites
- My Favourites
- Railway crossing
- Pedestrian crossing
- Railway crossings
- Pedestrian crossings
- Underground routes
- The favourite point name has been modified to %1$s to facilitate properly saving the string with emoticons to a file.
- Favourite point name duplicate
- Specified favourite name already in use, was changed to %1$s to avoid duplication.
- Nearby Favourites
- Colour-code buildings by type
- Display colour
- Select favourite
- Select a road colour scheme:
- Road colour scheme
- Favourites search
- File with previously exported favourites already exists. Do you want to replace it?
- Favourites…
- Favourite point(s) deleted successfully.
- You are going to delete %1$d favourite(s) and %2$d favourite group(s). Are you sure?
- Favourites successfully imported
- Favourites successfully saved to {0}
- No favourite points to save
- Favourites shared via OsmAnd
- Favourite point was edited
- No favourite points exist
- Enter favourite name
- Favourite
- Favourite point \'\'{0}\'\' was added successfully.
- Add favourite
- Edit favourite
- Delete favourite
- Delete favourite point \'%s\'?
- Favourite point {0} was successfully deleted.
- Are you sure you want to replace favourite %1$s?
- Display position always in centre
- Auto-centre map view
- Auto-centre nav only
- Auto-centre map view only while navigating.
- Auto-centre map view in use.
- Current map centre
- Search near current map centre
- Centre
- Total distance %1$s, travelling time %2$d h %3$d m.
+ Colour by network affiliation
+ Colour by OSMC hiking symbol
+ Favorite
+ Favorites
+ Add to \'Favorites\'
+ Favorites
+ Railroad crossing
+ Pedestrian crosswalk
+ Railroad crossings
+ Pedestrian crosswalks
+ Subway routes
+ Favorite renamed to \'%1$s\' to save the string containing emoticons to a file.
+ Duplicate Favorite name specified
+ Favorite renamed to %1$s to avoid duplication.
+ Favorites nearby
+ Color-code buildings by type
+ Display color
+ Select Favorite
+ Select a road color scheme:
+ Road color scheme
+ A way to search for Favorites
+ File containing previously exported Favorites already exists. Replace it\?
+ Favorites…
+ Favorite points deleted.
+ Are you sure you want to delete %1$d Favorites and %2$d Favorite groups\?
+ Favorites imported
+ Favorites saved to {0}
+ No Favorite points to save
+ Favorites shared via OsmAnd
+ Favorite point was edited
+ No Favorite points exist
+ Enter Favorite name
+ Favorite
+ Favorite point \'\'{0}\'\' added.
+ Add Favorite
+ Edit Favorite
+ Delete Favorite
+ Delete Favorite point \'%s\'\?
+ Favorite point {0} deleted.
+ Are you sure you want to replace Favorite %1$s\?
+ Display position always in center
+ Auto-center map view
+ Auto-center nav only
+ Auto-center map view only while navigating.
+ Auto-center map view in use.
+ Current map center
+ Search near current map center
+ Center
+ Total distance %1$s, traveling time %2$d h %3$d min.
Contour lines colour scheme
- Tapping the action button will add a destination at the screen centre location.
- Tapping the action button will replace the destination with the screen centre location.
- Tapping the action button will add a first intermediate point at the screen centre location.
- Tapping the action button will add a parking place at the screen centre location.
- Tapping the action button will add an OSM note at the screen centre location.
- Tapping the action button will add a POI at the screen centre location.
- Tapping the action button will add a map marker at the screen centre location.
- Tapping the action button will add a GPX waypoint at the screen centre location.
- Tapping the action button will show or hide the favourite points on the map.
- Show/hide favourites
- Show Favourites
- Hide Favourites
- Select the category to save the favourite in.
- Analyse on map
- You have cancelled your OsmAnd Live subscription
- Show transparency slider
+ A button to make the screen center the route destination, a previously selected destination would become the last intermediate destination.
+ A button to make the screen center the new route destination, replacing the previously selected destination (if any).
+ A button to make the screen center the first intermediate destination.
+ A button to add a parking location in the middle of the screen.
+ A button to add an OSM note in the middle of the screen.
+ A button to add a POI in the middle of the screen.
+ A button to add a map marker at the screen center location.
+ A button to add a GPX waypoint in the middle of the screen.
+ A toggle to show or hide the Favorite points on the map.
+ Show/hide Favorites
+ Show Favorites
+ Hide Favorites
+ Category to save the Favorite in:
+ Analyze on map
+ You have canceled your OsmAnd Live subscription
+ Show transparency seekbar
+ UI Customization
+ Drawer
+ Context menu actions
+ Reorder or hide items from the %1$s.
+ Divider
+ Elements below this point separated by a divider.
+ Hidden
+ These items are hidden from the menu, but the represented options or plugins will remain working.
+ Settings will be reset to the original state after hiding.
+ Main actions containt only 4 buttons.
+ Main actions
+ You can access these actions by tapping the “Actions” button.
+ You can move items only inside this category.
+ Developer Plugin
+ Items
+ Select track file
+ Languages
+ Language
+ All languages
+ Additional maps are needed to view Wikipedia POIs on the map.
+ Replace another point with this
+ Changes applied to %1$s profile.
+ Could not read %1$s.
+ Could not write %1$s.
+ Could not import %1$s.
+ Ski touring
+ Snowmobile
+ Custom OsmAnd plugin
+ Octagon
+ Min
+ Terrain
+ Hillshade map using dark shades to show slopes, peaks and lowlands.
+ Set the minimum and maximum zoom levels at which the layer will be displayed.
+ Additional maps are needed to view Hillshade on the map.
+ Additional maps are needed to view Slopes on the map.
+ You can read more about Slopes in %1$s.
+ Transparency
+ Zoom levels
+ Legend
+ Enable to view hillshade or slope map. You can read more about this map types on our site
+ Hillshade
+ Slopes
+ Show/hide terrain
+ Hide terrain
+ Show terrain
+ A button to show or hide terrain layer on the map.
+ Delete description
+ Add description
+ Select group
+ Select shape
+ Circle
+ Square
+ Recalculate route in case of deviation
+ Select the distance after which the route will be recalculated.
+ The route will be recalculated if the distance from the route to the current location is more than selected value.
+ Appearance
+ All data from the %1$s is imported, you can use buttons below to open needed part of the application to manage it.
+ Import complete
+ Items added
+ OsmAnd check %1$s for duplicates with existing items in the application.
+\n
+\nIt may take some time.
+ Importing
+ Importing data from %1$s
+ Are you sure you want to clear recorded data\?
+ Could not back up profile.
+ Saving new profile
+ Restore all profile settings\?
+ All profile settings will be restored to their original state after creating/importing this profile.
+ Import rendering file
+ Rendering style
+ Select the data to be imported.
+ Some items already exist
+ OsmAnd already has elements with the same names as those imported.
+\n
+\nSelect an action.
+ Imported items will be added with prefix
+ Keep both
+ Replace all
+ Current items will be replaced with items from the file
+ Listed %1$s, already exist in OsmAnd.
+ Profiles
+ Quick actions
+ Nothing selected
+ POI types
+ Preparing
+ Minimum angle between my location and route
+ Extra straight segment between my location and calculated route will be displayed until the route is recalculated
+ Angle
+ Angle: %s°
+ Custom profile
+ The route will be recalculated if the distance to the route is longer than specified parameter
+ Minimal distance to recalculate route
+ Disable recalculation
+ App Default (%s)
+ Antarctica
+ You can select additional data to export along with the profile.
+ The imported profile contains additional data. Click Import to import only profile data or select additional data to import.
+ Include additional data
+ Routing
+ Menu
+ This plugin is a separate application, you will need to remove it separately if you no longer plan to use it.
+\n
+\nThe plugin will remain on the device after removing OsmAnd.
+ Plugin disabled
+ Open settings
+ Please provide a name for the profile
+ Sort by category
+ Direct-to-point
+ Copy coordinates
+ • Profiles: now you can change order, set icon for map, change all setting for base profiles and restore them back to defaults
+\n
+\n • Added exit number in the navigation
+\n
+\n • Reworked plugin settings
+\n
+\n • Reworked Settings screen for quick access to all profiles
+\n
+\n • Added option to copy settings from another profile
+\n
+\n • Added ability to change an order or hide POI categories in Search
+\n
+\n • Correctly aligned POI icons on the map
+\n
+\n • Added Sunset / Sunrise data to Configure Map
+\n
+\n • Added Home/Work icons on the map
+\n
+\n • Added support for multiline description in Settings
+\n
+\n • Added correct transliteration into the map of Japan
+\n
+\n • Added Antarctica map
+\n
+\n
+ Clear recorded data
+ Disabled by default, if OsmAnd running on foreground, the screen doesn’t time out.
+\n
+\nIf enabled OsmAnd will use system timeout settings.
+ Use system screen timeout
+ Accessibility mode disabled in your system.
+ Sunrise at %1$s
+ Sunset at %1$s
+ All profile settings restored to default state.
+ All plugin settings restored to default state.
+ Show only at night
+ Add custom category
+ Available
+ Reset to default will reset sort order to the default state after installation.
+ You can add a new custom category by selecting one or a few needed categories.
+ Change the sort order of the list, hide unnecessary categories. You can import or export all changes with profiles.
+ Rearrange categories
+ Authorization is successful
+ Camera shutter sound
+ Use system app
+ Recorder split
+ Reset plugin settings to default
+ Minimum displacement
+ Minimum accuracy
+ Minimum speed
+ Notification
+ Specify the web address with parameter syntax: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.
+ Web address
+ Tracking interval
+ Time buffer
+ Recommendation: A setting of 5 meters may work well for you if you do not require to capture details finer than that, and do not want to explicitly capture data while at rest.
+ Side effects: Periods at rest are not recorded at all or by just one point each. Small (real world) movements (e.g. sideways, to mark a possible turnoff on your trip) may be filtered out. Your file contains less information for post-processing, and has worse stats by filtering out obviously redundant points at recording time, while potentially keeping artifacts caused by bad reception or GPS chipset effects.
+ This filter avoids duplicate points being recorded where too little actual motion may have occurred, makes a nicer spatial appearance of tracks not post-processed later.
+ 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.
+ Recommendation: It is hard to predict what will be recorded and what not, it may be best to turn this filter off.
+ 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.
+ 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.
+ 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.
+ 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.
+ 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.
+ This is a low-speed cut-off filter to not record points below a certain speed. This may make recorded tracks look smoother when viewed on the map.
+ Permission is required to use this option.
+ Could not parse geo intent \'%s\'.
+ Check and share detailed logs of the application
+ Icon shown at rest.
+ Icon shown while navigating or moving.
+ OSM
+ View your edits or OSM bugs not yet uploaded in %1$s. Uploaded points will not show any more.
+ OSM editing
+ These settings apply to all profiles.
+ Username and password
+ Announce
+ Route recalculation
+ Photo notes
+ Video notes
+ Your OSM notes are in %1$s.
+ Your recorded tracks are in %1$s, or the OsmAnd folder.
+ Logging accuracy
+ Online tracking
+ Allows sharing current location using trip recording.
+ Login, password, offline editing
+ Picture size, audio and video quality
+ Navigation, logging accuracy
+ Import profile
+ Import routing file
+ Import from file
+ Select a supported %1$s extension file instead.
+ No routing rules in \'%1$s\'. Please choose another file.
+ Reset all profile settings\?
+ Reset all profile settings to installation defaults.
+ Tapping %1$s will discard all your changes.
+ Selected profile
+ Edit profile list
+ Profile appearance
+ The \'Navigation type\' governs how routes are calculated.
+ Edit profiles
+ OsmAnd default profiles cannot be deleted, but disabled (on the previous screen), or be sorted to the bottom.
+ Master profile
+ Tapping \'Apply\' deletes removed profiles permanently.
+ Position icon at rest
+ Position icon while moving
+ For deserts and other sparsely populated areas. More detailed.
+ Thick
+ Downloading %s
+ Personal
+ Save heading to each track point while recording.
+ Include heading
+ Add the new profile \'%1$s\'\?
+ Join segments
+ New plugin added
+ Turn off
+ Profiles added by plugin
+ Added profiles
+ These maps are required for the plugin.
+ Suggested maps
+ Node networks
+ Control popups, dialogs and notifications.
+ Dialogs and notifications
+ Download map dialog
+ Clear %1$s\?
+ Show node network cycle routes
+ A button to make the screen center the point of departure. Will then ask to set destination or trigger the route calculation.
+ Revert
+ File name is empty
+ Track saved
+ Starting point
+ Swap %1$s and %2$s
+ White
+ Add a profile by opening its file with OsmAnd.
+ Import profile
+ Could not export profile.
+ \'%1$s\' already exists. Overwrite\?
+ OsmAnd profile: %1$s
+ Export profile
+ Simulate your position using a recorded GPX track.
+ Cannot start text-to-speech engine.
+ Show/hide hillshade
+ Hide hillshade
+ Show hillshade
+ A button to show or hide hillshades on the map.
+ Show/hide contour lines
+ Hide contour lines
+ Show contour lines
+ Button showing or hiding contour lines on the map.
+ OSM edits
+ Prefer unpaved over paved roads for routing.
+ Prefer unpaved roads
+ Shared
+ You can apply this change to all or only the selected profile.
+ • Updated app and profile settings: Settings are now arranged by type. Each profile can be customized separately.
+\n
+\n • New map download dialog suggesting a map to download while browsing
+\n
+\n • Dark theme fixes
+\n
+\n • Fixed several routing issues around the world
+\n
+\n • Updated basemap with more detailed road network
+\n
+\n • Fixed flooded areas around the world
+\n
+\n • Ski routing: Added elevation profile and route complexity to the route details
+\n
+\n • Other bugfixes
+\n
+\n
+ Are you sure you want to update all (%1$d) maps\?
+ Update all maps
+ Prefer unpaved roads.
+ Prefer unpaved roads
+ Contour lines and hillshade
+ Used %1$s kB
+ Used %1$s MB
+ Used %1$s GB
+ Used %1$s TB
+ Record tracks in sub-folders per recording day (like 2018-01-01).
+ Record tracks in daily folders
+ Record tracks to \'rec\' folder
+ Tracks can be stored in the \'rec\' folder, monthly, or daily folders.
+ Track storage folder
+ Maps
+ Tiles
+ OsmAnd usage
+ Calculate
+ Connection
+ Aerialway
+ Side by Side
+ Avoid certain routes and road types
+ Specify permitted vehicle width limit on routes.
+ Width limit
+ Piste difficulty
+ Undefined
+ Extreme
+ Freeride
+ Expert
+ Advanced
+ Intermediate
+ Easy
+ Novice
+ Piste type
+ Nordic
+ Downhill
+ Skitour
+ Connection
+ Hike
+ Sled
+ Sleigh
+ Terrain park
+ Change storage folder
+ Internal storage for OsmAnd, (hidden from users and other apps).
+ Move to the new destination
+ Change OsmAnd data folder\?
+ Paste path to the folder with OsmAnd data
+ Folder…
+ Enter path to the folder
+ Move OsmAnd data files to the new destination\?
+\n%1$s > %2$s
+ Download detailed %s map, to view this area.
+ By default
+ Plugin settings
+ Logcat buffer
+ App profile changed to \"%s\"
+ Route parameters
+ Configure route parameters
+ Screen alerts
+ Voice prompts
+ Navigation instructions and announcements
+ Voice announcements only occur during navigation.
+ Vehicle parameters
+ Weight, height, speed
+ Other
+ Map during navigation
+ Map during navigation
+ Turn screen on
+ Copy from another profile
+ OsmAnd settings
+ Effective for the entire app
+ Manage app profiles…
+ Create, import, edit profiles
+ Reset to default
+ Language and output
+ Switch profile
+ Alerts shown bottom left during navigation.
+ Configure profile
+ App theme, units, region
+ Configure navigation
+ Installed plugins
+ Map look
+ Map appearance
+ Units & formats
+ Wake time
+ Settings for routing in the selected profile \"%1$s\".
+ Show map on the lock screen during navigation.
+ Analytics
+ Start-up message
+ Apply to all profiles
+ Apply only to \"%1$s\"
+ Discard change
+ Change setting
+ This setting is selected by default for profiles: %s
+ The selected format will be applied throughout the app.
+ Open Location Code
+ UTM Standard
+ Example
+ OsmAnd uses the UTM Standard, which is similar but not identical to the UTM NATO format.
+ Settings for profile:
+ Cancel subscription
+ then %1$s
+ Get %1$d %2$s at %3$s off.
+ Free
+ Three months
+ Years
+ Years
+ Year
+ Months
+ Months
+ Month
+ Weeks
+ Weeks
+ Week
+ Days
+ Days
+ Day
+ Pickup truck
+ Wagon
+ Occitan
+ Route: distance %s, router time %s
+\nCalculation: %.1f sec, %d roads, %d tiles)
+ Default
+ Consider temporary limitations
+ Show Low Emission Zones
+ Show Low Emission Zones on the map. Does not affect routing.
+ Campervan (RV)
+ Camper
+ Join gaps
+ Track %s is saved
+ Open track
+ Surface firmness
+ Soft
+ Mostly soft
+ Mostly solid
+ Solid (unpaved)
+ Solid (paved)
+ Winter and ice roads
+ Ice road
+ Winter road
+ Please turn on at least one app profile to use this setting.
+ Steepness
+ Smoothness
+ Surface
+ Road type
+ Parrot
+ WunderLINQ
+ Keyboard
+ None
+ Select an external control device, such as a keyboard or WunderLINQ.
+ External input devices
+ Road types
+ Grade 5
+ Grade 4
+ Grade 3
+ Grade 2
+ Grade 1
+ Wave your hand over the top of the screen to turn it on while navigating.
+ Use proximity sensor
+ Adjust how long the screen should be on for.
+ Wake on turn
+ Number of changes
+ Specify upper limit of changes
+ Select navigation settings for the profile
+ Select screen options for the profile
+ Select map options for the profile
+ The profile keeps its own settings
+ Set up profile
+ Offroad
+ Horizontal precision: %s
+ Horizontal precision: %1$s, vertical: %2$s
+ This plugin enriches the OsmAnd map and navigation app to also produce nautical maps for boating, sailing, and other types of watersports.
+\n
+\nA special map add-on for OsmAnd will provide all nautical navigation marks and chart symbols, for inland as well as for nearshore navigation. The description of each navigation mark provides the details needed to identify them and their meaning (category, shape, colour, sequence, reference, etc.).
+\n
+\nTo return to one of OsmAnd\'s conventional map styles, simply either de-activate this plugin again, or change the \'Map style\' under \'Configure map\' as desired.
+ Activating this view changes OsmAnd\'s map style to \'Touring view\', this is a special high-detail view for travelers and professional drivers.
+\n
+\nThis view provides, at any given map zoom, the maximum amount of travel details available in the map data (particularly roads, tracks, paths, and orientation marks).
+\n
+\nIt also clearly depicts all types of roads unambiguously by colour coding, which is useful when e.g. driving large vehicles.
+\n
+\nAnd it provides special touring options like showing bicycle routes or Alpine mountain routes.
+\n
+\nA special map download is not needed, the view is created from our standard maps.
+\n
+\nThis view can be reverted by either de-activating it again here, or by changing the \'Map style\' under \'Configure map\' as desired.
+ Contour lines colour scheme
+ • App profiles: Create a custom profile for your own needs, with a custom icon and colour
+\n
+\n • Now customize any profile\'s default and min/max speeds
+\n
+\n • Added a widget for the current coordinates
+\n
+\n • Added options to show the compass and a radius ruler on the map
+\n
+\n • Fix background track logging
+\n
+\n • Improved background map downloads
+\n
+\n • Returned ‘Turn screen on’ option
+\n
+\n • Fixed Wikipedia language selection
+\n
+\n • Fixed compass button behavior during navigation
+\n
+\n • Other bugfixes
+\n
+\n
+ Icon, colour and name
+ Select colour
+ Choose icon, colour and name
+ Slope is colourised visualisations on terrain.
+ Custom colour
+ %.1f MB
+ %1$.1f of %2$.1f MB
+ %1$s downloads left
+ %1$d of %2$d item(s) activated.
+ %1$d of %2$d item(s) deleted.
+ %1$d of %2$d item(s) deactivated.
+ %1$d of %2$d item(s) uploaded.
+ %1$d files left to download
+ %1$d files left
+ %1$s
+\nTrack %2$s
+ %1$s
+\nPoints
+ %1$s
+\nRoute points %2$s
+ %1$s points
+ %1$d of %2$d
+ %1$s needs this permission to turn off the screen for the power saving feature.
+ %s GPX files selected
+ Remove selected items from ‘History’\?
+ %1$s stops before
+ %1$.2f %2$s
+ Delete map marker ‘%s’\?
+ %1$.2f %2$s / month
+ %1$s / month
+ %1$d transfers
+ %s mode
+ %1$d files (%2$s) are present in the previous location ‘%3$s’.
+ %s is saved
+ %1$s • Save %2$s
+ %1$s for the first %2$s
+ %1$s for the first %2$s
+ %1$s GB free (of %2$s GB)
+ %1$s • %2$s
+ %1$s kB
+ %1$s MB
+ %1$s GB
+ %1$s TB
+ %1$s imported.
+ %1$s import error: %2$s
+ %1$s, %2$s
+ %1$s • %2$s
+ %1$s: %2$s
+ %1$s %2$s
+ %1$s/%2$s
+ %1$s – %2$s – %3$s
+ %1$s of %2$s
+ Unsupported action %1$s
+ Extra maps
+ Select the languages in which Wikipedia articles will appear on the map. You can switch between all available languages while reading the article.
+ Some Wikipedia articles may not be available in your language.
+ Cantonese
+ Southern Min
+ Yoruba
+ Waray
+ Uzbek
+ Urdu
+ Tatar
+ Tajik
+ Scots
+ Sicilian
+ Punjabi
+ Nepali
+ Neapolitan
+ Burmese
+ Mongolian
+ Minangkabau
+ Malagasy
+ Kyrgyz
+ Kazakh
+ Javanese
+ Gujarati
+ Chuvash
+ Chechen
+ Bavarian
+ Bashkir
+ Aragonese
+ Lombard
+ Customize the quantity of items in Drawer, Configure map and context menu.
+\n
+\nYou can disable unused plugins, to hide all its controls from the application %1$s.
+ Drawer items, context menu
+ Scooter
+ Monowheel
+ Personal transporter
+ UFO
+ Last OsmAnd run crashed. Please help us improve OsmAnd by sharing the error message.
+ Crash
+ New profile
+ Estimates arrival time for unknown road types, and limits speed for all roads (may affect routing)
+ Set min/max speed
+ Change default speed settings
+ Default speed
+ Max. speed
+ Min. speed
+ Tap again to change map orientation
+ Data collected
+ Icon
+ Magenta
+ OsmAnd downloading service
+ \'Freeride\' and \'Off-piste\' are unofficial routes and passages. Typically ungroomed, unmaintained and not checked in the evening. Enter at your own risk.
+ Off-piste
+ Prefer routes of this difficulty, although routing over harder or easier pistes is still possible if shorter.
+ Preferred difficulty
+ Routes groomed for classic style only without skating trails. This includes routes groomed by a smaller snowmobile with looser piste and tracks made manually by skiers.
+ Allow classic only routes
+ Routes groomed for freestyle or skating only without classic tracks.
+ Select navigation type
+ Base your custom profile on one of the default app profiles, this defines the basic setup like default visibility of widgets and units of speed and distance. These are the default app profiles, together with examples of custom profiles they may be extended to:
+ Select profile to start with
+ Are you sure you want to delete the \"%s\" profile
+ Delete profile
+ Save changes to the profile first
+ Save changes
+ You cannot delete OsmAnd\'s base profiles
+ There is already profile with that name
+ Duplicate name
+ You must specify a profile name first.
+ Enter profile name
+ Please select a navigation type for the new app profile
+ Select navigation type
+ Base profile
+ Type: %s
+ Ski
+ User-mode, derived from: %s
+ Mode: %s
+ Select icon
+ Hide compass ruler
+ Show compass ruler
+ Skiing
+ Skiing
+ You can add your own modified version of the file routing.xml in ..osmand/routing
+ Helicopter
+ Horse
+ Subway
+ Shuttle bus
+ Taxi
+ Navigation type
+ Profile name
+ Allow
+ No, thanks
+ Pick what data you share
+ Privacy and security
+ Tap \"Allow\" if you agree with our %1$s
+ Helps us understand OsmAnd feature popularity.
+ Helps us understand country and region map popularity.
+ Define which data you allow OsmAnd to share.
+ Screens visited
+ Maps downloaded
+ Choose the type of data you want to share:
+ Allow OsmAnd to collect and process anonymous app usage data. No data about your position or locations you view on the map are collected.
+\n
+\nConfigure any time in \'Settings\' → \'Privacy and Security\'.
+ Help us make OsmAnd better
+ Privacy Policy
+ Rate
+ Please share your feedback and rate our work on Google Play.
+ Coordinates widget
+ Searching GPS
+ Transport type
+ Calculate route on foot
+ Try changing the settings.
+ Try navigation on foot.
+ Unfortunately, OsmAnd could not find a route suitable for your settings.
+ The route on foot is approximately %1$s, and may be faster than public transport
+ Don\'t move
+ Move maps
+ Could not copy %1$d files (%2$s).
+ Copied %1$d files (%2$s).
+ Moved %1$d files (%2$s).
+ Send log
+ Avoids ferries
+ No ferries
+ Avoids subways and lightweight rail transport
+ No subways
+ Avoids trains
+ No trains
+ Avoids share taxi
+ No share taxi
+ Avoids buses and trolleybuses
+ No buses
+ Avoids trams
+ No trams
+ Change what azimuth is measured in.
+ Angular unit
+ Milliradians
+ Degrees
+ Avoids cobblestone and sett
+ No cobblestone or sett
+ Avoid transport types…
+ Select public transport types to avoid for navigation:
+ Length of \"%s\" value
+ Shorten the length of the \"%s\" tag to less than 255 characters.
+ Walk
+ Add intermediate point
+ Public transport navigation is currently in beta testing, expect errors and inaccuracies.
+ Read more about OsmAnd routing on our blog.
+ Undefined
+ Cycleway
+ Path
+ Steps
+ Bridleway
+ Track
+ Footway
+ Service
+ Street
+ Road
+ State road
+ Motorway
+ Impassable
+ Very horrible
+ Horrible
+ Very bad
+ Bad
+ Intermediate
+ Good
+ Excellent
+ Compacted
+ Fine gravel
+ Gravel
+ Wood
+ Metal
+ Stone
+ Pebblestone
+ Paving stones
+ Cobblestone
+ Sett
+ Concrete
+ Paved
+ Asphalt
+ Snow
+ Salt
+ Ice
+ Mud
+ Dirt
+ Ground
+ Grass paver
+ Grass
+ Sand
+ Unpaved
+ Select point of departure
+ Add point of departure
+ Add departure and destination
+ Description
+ OsmAnd Live public transport
+ Enable public transport for OsmAnd Live changes.
+ Please set the destination first
+ Show GPX Tracks
+ Hide GPX Tracks
+ A button to show or hide selected GPX tracks on the map.
+ Show/hide GPX tracks
+ Board at stop
+ Exit at
+ Turn-by-turn
+ By %1$s
+ Time of day
+ Displayed tracks
+ Show more
+ Swap
+ Previous route
+ Work
+ Add work
+ Add home
+ Height
+ Width
+ Сapacity
+ t
+ m³
+ Arrive at %1$s
+ Intermediate destinations
+ Voice prompts
+ Select track file to follow
+ Simulate navigation
+ Show along the route
+ Select a road you want to avoid during navigation, either on the map, or from the list below:
+ Public transport
+ Calculating route…
+ Points of interest (POI)
+ Way
+ On foot
+ Transfers
+ Intermediate point
+ Set starting point
+ Add intermediate
+ Set destination
+ Switch day/night mode
+ Night mode
+ Day mode
+ A toggle to switch between day and night modes for OsmAnd.
+ Guaraní
+ Launch OsmAnd\?
+ You are using {0} Map which is powered by OsmAnd. Do you want to launch OsmAnd full version\?
+ Launch
+ Display only 360° images
+ Subscriptions
+ By OsmAnd
+ Donations help fund OSM cartography.
+ Payment interval:
+ Renews annually
+ Renews quarterly
+ Renews monthly
+ Current subscription
+ Save %1$s.
+ Annually
+ Every three months
+ Monthly
+ Plan & Pricing
+ Third-party app
+ Edit map marker
+ Keep passed markers on the map
+ Markers added as a group of Favorites or GPX waypoints marked Passed will remain on the map. If the group is not active, the markers will disappear from the map.
+ Restore
+ First specify city/town/locality
+ Search street
+ More transport available from this stop.
+ Black
+ Please grant OsmAnd location access to continue.
+ Tap a button and listen to its corresponding voice prompt to hear if it is missing or faulty
+ No search results\?
+\nProvide feedback
+ Could not find node or way.
+ Thank you for your feedback
+ Extend search radius to %1$s
+ Send search query\?
+ Your search query will be sent to: \"%1$s\", along with your location.
+\n
+\n Personal info is not collected, only search data needed to improve the search.
+ General purpose style. Dense cities shown cleanly. Features contour lines, routes, surface quality, access restrictions, road shields, paths rendering according to SAC scale, whitewater sports items.
+ For hiking, trekking, and nature cycling. Readable outdoors. Contrasting roads and natural objects, different route types, advanced contour line options, extra details. Adjusting Surface integrity distinguishes road quality. No night mode.
+ Simple driving style. Gentle night mode, contour lines, contrasting orange styled roads, dims secondary map objects.
+ For skiing. Features pistes, ski-lifts, cross country tracks, etc. Dims secondary map objects.
+ For nautical navigation. Features buoys, lighthouses, riverways, sea lanes and marks, harbors, seamark services, and depth contours.
+ Show full description
+ Hide full description
+ Read Wikipedia offline
+ How to open the link\?
+ Get OsmAnd Live subscription to read Wikipedia and Wikivoyage articles offline.
+ The link will be opened in a web browser.
+ Open Wikipedia link online
+ Download all
+ Renew subscription to continue using all the features:
+ Show images
+ App restart
+ Maps you need
+ Based on the articles you bookmarked, the following maps are recommended for you to download:
+ OsmAnd team
+ Popular destinations
+ Paid plugin
+ Paid app
+ How to open Wikipedia articles\?
+ Article not found
+ Searching for the corresponding wiki article
+ this region
+ View article in a web browser.
+ Open article online
+ Download Wikipedia data
+ Download the Wikipedia articles for %1$s to read them offline.
+ Contour lines & Hillshade maps
+ Welcome to the open beta
+ Get unlimited access
+ Start editing
+ You can and should edit any article on Wikivoyage. Share knowledge, experience, talent, and your attention.
+ Travel guides are currently based on Wikivoyage. Test all features during open beta testing for free. Afterwards, travel guides will be available to subscribers of OsmAnd Unlimited and owners of OsmAnd+.
+ The free worldwide travel guide anyone can edit.
+ Download file
+ Update available
+ Download Wikivoyage travel guides to view articles about places around the world without a connection to the Internet.
+ New Wikivoyage data available, update it to enjoy.
+ Hourly map updates
+ Monthly map updates
+ Unlock all OsmAnd features
+ Wikipedia offline
+ Unlimited downloads
+ Wikivoyage offline
+ Buy - %1$s
+ Once purchased, it will be permanently available to you.
+ One-time payment
+ In-app purchase
+ Choose suitable item
+ Purchase one of the following to receive the offline travel guide functionality:
+ Choose plan
+ Download images
+ Travel book
+ Select a travel book
+ Only on Wi-Fi
+ Article images can be downloaded for offline use.
+\nAlways available in \'Explore\' → \'Options\'.
+ Download images
+ Only on Wi-Fi
+ Do
+ Don\'t
+ Page only available online. Open in web browser\?
+ Delete search history
+ Image cache
+ Worldwide Wikivoyage articles
+ Wikivoyage
+ Travel guides
+ Article removed
+ Contents
+ Read
+ Search for country, city, or province
+ Explore
+ Bookmarked articles
+ Result
+ Use double digit longitude
+ Waypoints removed from map markers
+ Could not find anything:
+ Total
+ Add all of the track\'s waypoints, or select separate categories.
+ Clear all intermediate points
+ Group deleted
+ Whitewater sports
+ Nearest first
+ Farthest first
+ Enter latitude and longitude
+ Enter latitude
+ Enter longitude
+ Optional point name
+ N
+ S
+ W
+ E
+ DD°MM.MMM′
+ DD°MM.MMMM′
+ DD.DDDDD°
+ DD.DDDDDD°
+ DD°MM′SS″
+ Within
+ Nearby routes within
+ Type the filename.
+ Map imported
+ Map import error
+ Make this the point of departure
+ Move destination up, and create it
+ Adds initial stop
+ Adds intermediate stop
+ Current
+ Tunnels
+ Tunnel ahead
+ Show/hide OSM notes on the map.
+ Show closed notes
+ OSM notes
+ All data
+ Export as OSM notes, POIs, or both.
+ Select filetype
+ OSC file
+ OSC - suitable for export to OSM.
+ GPX - suitable for export to JOSM or other OSM editors.
+ Unnamed location
+ Copy location/POI name
+ Opens tomorrow at
+ POI labels
+ Nautical
+ Touring view
+ Winter and ski
+ off
+ Lao
+ Without name
+ Opens at
+ Opens at
+ Closes at
+ Open till
+ Open from
+ Marker
+ Actions
+ Additional actions
+ All points of the group
+ Read article
+ Read full article
+ Without time limit
+ Pick up until
+ parked at
+ What\'s here:
+ Total donations
+ OSM recipients
+ Edits %1$s, sum %2$s mBTC
+ GPX file with coordinates and data of all notes.
+ GPX file with coordinates and data of the selected notes.
+ Change your search.
+ By type
+ By date
+ OSM notes by date
+ Add audio, video or photo note to every point on the map, using widget or context menu.
+ Make notes!
+ \'One tap\' active
+ Tap a marker on the map to move it to the top of the active markers without opening the context menu.
+ Marker %s activated.
+ Added
+ Edited
+ Deleted
+ Create or modify OSM POIs, open or comment OSM notes, and contribute recorded GPX files.
+ Create or modify OSM objects
+ Looking for tracks with waypoints
+ More
+ Appearance on the map
+ Markers marked as passed will appear on this screen.
+ Import groups
+ Long or short tap \'Places\', then tap the marker flag button.
+ Create map markers!
+ Add a group
+ Select a track to add its waypoints to the markers.
+ Specify number of direction indicators:
+ Choose how to display the distance to active markers.
+ Show one or two arrows indicating the direction to the active markers.
+ Show directional line from your position to the active marker locations.
+ One
+ Two
+ Next field
+ Paste
+ Show number pad
+ Left
+ Allow skating only routes
+ Extremely difficult routes, with dangerous obstacles and surroundings.
+ Allow expert routes
+ Difficult routes, with dangerous obstacles and steep sections.
+ Allow advanced routes
+ More difficult routes with steeper sections. Generally some obstacles that should be avoided.
+ Allow intermediate routes
+ Slopes for sled usage.
+ Sled
+ Routes for ski touring.
+ Ski touring
+ Trails for nordic or cross-country skiing.
+ Cross country/nordic ski
+ Slopes for alpine or downhill skiing and access to ski lifts.
+ Alpine/downhill ski
+ Add at least one item to the list in the \'Quick action\' settings
+ App profiles
+ Select the profiles to be visible in the app.
+ Third-party routing
+ Special routing
+ Custom routing profile
+ OsmAnd routing
+ BRouter (offline)
+ Straight line
+ Geocoding
+ Airplane, gliding
+ Ship, rowing, sailing
+ Public transport types
+ Walking, hiking, running
+ Mountain bike, moped, horse
+ Car, truck, motorcycle
+ Right
+ Number of decimal digits
+ Rename marker
+ Mark passed
+ Fullscreen mode
+ A tap on the map toggles the control buttons and widgets.
+ Import file
+ Import as GPX file
+ Waypoints added to map markers
+ Back
+ Enter new name
+ Wrong input
+ Wrong format
+ Road
+ You must add at least one marker to use this function.
+ Round trip
+ Route calculated
+ Show map
+ Dark yellow
+ Modify OSM note
+ Modify note
+ Could not modify note.
+ Make round trip
+ Add copy of point of departure as destination.
+ Show OSM notes
+ Show or hide OSM notes
+ Sorted by distance
+ Hide starting from zoom level
+ Install the \'Contour lines\' plugin to show graded vertical areas.
+ Download the \'Hillshade Overlay\' map to show vertical shading.
+ Buy and install the \'Contour lines\' plugin to show graded vertical areas.
+ Plugin
+ Download the \'Contour line\' map for use in this region.
+ Allow private access
+ Display starting at zoom level
+ Display zoom level: %1$s
+ For long distances: Please add intermediate destinations if no route is found within 10 minutes.
+ The name contains too many capital letters. Continue\?
+ Edit name
+ Group name
+ Turn on animated map panning of \'My position\' during navigation.
+ Animate own position
+ Select street
+ Overview
+ in %1$s
+ Type address
+ Postcode search
+ Select city
+ Nearest cities
+ Type postcode
+ Type city/town/locality
+ Paused
+ Turn off auto zooming
+ Turn on auto zooming
+ Button to turn speed controlled auto zoom on or off.
+ Auto zoom map on/off
+ Add first intermediate
+ Replace destination
+ Set destination
+ No underlay
+ No overlay
+ Subscribe to our mailing list about app discounts and get 3 more map downloads!
+ Error
+ Sea depth contour lines and seamarks.
+ Nautical maps
+ Nautical depth contours
+ Northern hemisphere nautical depth points
+ Southern hemisphere nautical depth points
+ Nautical depth contours
+ Thank you for purchasing \'Nautical depth contours\'
+ Visible
+ Restore purchases
+ Map fonts
+ Approximate map coverage and quality:
+\n • Western Europe: ****
+\n • Eastern Europe: ***
+\n • Russia: ***
+\n • North America: ***
+\n • South America: **
+\n • Asia: **
+\n • Japan & Korea: ***
+\n • Middle East: **
+\n • Africa: **
+\n • Antarctica: *
+\n Most countries around the globe available as downloads
+\n From Afghanistan to Zimbabwe, from Australia to the USA. Argentina, Brazil, Canada, France, Germany, Mexico, UK, Spain, …
+\n
+ Contribute directly to OSM
+\n • Report data bugs
+\n • Upload GPX tracks to OSM directly from the app
+\n • Add POIs and directly upload them to OSM (or later if offline)
+\n • Optional trip recording also in background mode (while device is in sleep mode)
+\n OsmAnd is actively developed open source software. Everyone can contribute to the app by reporting bugs, improving translations or coding new features. Additionally the project relies on financial contributions to fund coding and testing of new functionalities.
+\n
+ Bicycle and Pedestrian Features
+\n • Viewing foot, hiking, and bike paths, great for outdoor activities
+\n • Special routing and display modes for bike and pedestrian
+\n • Optional public transport stops (bus, tram, train) including line names
+\n • Optional trip recording to local GPX file or online service
+\n • Optional speed and altitude display
+\n • Display of contour lines and hillshading (via additional plugin)
+ Safety Features
+\n • Optional automated day/night view switching
+\n • Optional speed limit display, with reminder if you exceed it
+\n • Optional speed-dependent zooming
+\n • Share your location so that your friends can find you
+\n
+ Use OSM and Wikipedia Data
+\n • High-quality info from the best collaborative projects of the world
+\n • OSM data available per country or region
+\n • Wikipedia POIs, great for sightseeing
+\n • Unlimited free downloads, directly from the app
+\n • Compact offline vector maps updated at least once a month
+\n
+\n • Choice between complete region data and just road network (Example: All of Japan is 700 MB or 200 MB for the road network part thereof)
+ Map Viewing
+\n • Display your position and orientation
+\n • Optionally align the picture according to compass or your direction of motion
+\n • Save your most important places as Favorites
+\n • Display POIs (points of interest) around you
+\n • Display specialized online tiles, satellite view (from Bing), different overlays like touring/navigation GPX tracks and additional layers with customizable transparency
+\n • Optionally display place names in English, local, or phonetic spelling
+\n
+ Navigation
+\n • Works online (fast) or offline (no roaming charges when you are abroad)
+\n • Turn-by-turn voice guidance (recorded and synthesized voices)
+\n • Optional lane guidance, street name display, and estimated time of arrival
+\n • Supports intermediate points on your itinerary
+\n • Automatic re-routing whenever you deviate from the route
+\n • Search for places by address, by type (e.g: Restaurant, hotel, gas station, museum), or by geographical coordinates
+\n
+ OsmAnd+ (OSM Automated Navigation Directions) is a map and navigation app with access to the free, worldwide, and high-quality OSM data.
+\n Enjoy voice and optical navigation, viewing POIs (points of interest), creating and managing GPX tracks, using contour lines visualization and altitude info, a choice between driving, cycling, pedestrian modes, OSM editing and much more.
+\n
+\n OsmAnd+ is the paid app version. By buying it, you support the project, fund the development of new features, and receive the latest updates.
+\n
+\n Some of the main features:
+ OsmAnd is actively developed open source software. Everyone can contribute to the app by reporting bugs, improving translations or coding new features. Additionally the project relies on financial contributions to fund coding and testing of new functionalities.
+\n Approximate map coverage and quality:
+\n • Western Europe: ****
+\n • Eastern Europe: ***
+\n • Russia: ***
+\n • North America: ***
+\n • South America: **
+\n • Asia: **
+\n • Japan & Korea: ***
+\n • Middle East: **
+\n • Africa: **
+\n • Antarctica: *
+\n Most countries around the globe are available for download!
+\n Get a reliable navigator in your country - be it France, Germany, Mexico, UK, Spain, Netherlands, USA, Russia, Brazil or any other.
+ Contribute to OSM
+\n • Report data bugs
+\n • Upload GPX tracks to OSM directly from the app
+\n • Add POIs and directly upload them to OSM (or later if offline)
+\n
+ Walking, hiking, city tour
+\n • The map shows you walking and hiking paths
+\n • Wikipedia in your preferred language can tell you a lot during a city tour
+\n • Public transport stops (bus, tram, train), including line names, help to navigate in a new city
+\n • GPS navigation in pedestrian mode builds your route using walking paths
+\n • Upload and follow a GPX route or record and share your own
+\n
+ Cycling
+\n • Find cycle paths on the map
+\n • GPS navigation in cycling mode builds your route using cycle paths
+\n • See your speed and altitude
+\n • GPX recording option enables you to record your trip and share it
+\n • Via an additional plugin you can enable contour lines and hillshading
+ Skiing
+\n OsmAnd ski maps plugin enables you to see ski tracks with level of complexity and some additional info, like location of lifts and other facilities.
+ Map
+\n • Displays POIs (point of interests) around you
+\n • Adjusts the map to your direction of motion (or compass)
+\n • Shows your location and the direction you are looking in
+\n • Share your location so that your friends can find you
+\n • Keeps your most important places in \'Favorites\'
+\n • Allows you to choose how to display names on the map: In English, local, or phonetic spelling
+\n • Displays specialized online tiles, satellite view (from Bing), different overlays like touring/navigation GPX tracks and additional layers with customizable transparency
+\n
+ GPS navigation
+\n • Choose between offline (no roaming charges when you are abroad) or online (faster) mode
+\n • Turn-by-turn voice guidance leads you along the way (recorded and synthesized voices)
+\n • The route gets rebuilt whenever you deviate from it
+\n • Lane guidance, street names, and estimated time of arrival will help along the way
+\n • To make your trip safer, day/night mode switches automatically
+\n • Show speed limits, and get reminders if you exceed it
+\n • Map zoom adjusts to your speed
+\n • Search for destinations by address, type (e.g: Parking, restaurant, hotel, gas station, museum), or geographical coordinates
+\n • Supports intermediate points on your itinerary
+\n • Record your own or upload a GPX track and follow it
+\n
+ OsmAnd (OSM Automated Navigation Directions) is a map and navigation app with access to the free, worldwide, and high-quality OSM data.
+\n
+\n Enjoy voice and optical navigator, viewing POIs (points of interest), creating and managing GPX tracks, using contour lines visualization and altitude info (through plugin), a choice between driving, cycling, pedestrian modes, OSM editing and much more.
+ Automatic
+ Right-hand traffic
+ Don\'t show app discounts & special local event messages.
+ Don\'t show startup messages
+ OsmAnd collects info about which parts of the app you open. Your location is never sent, nor is anything you enter into the app or details of areas you view, search, or download.
+ Don\'t send anonymous app usage statistics
+ Parking options
+ Thank you for purchasing the paid version of OsmAnd.
+ Select elevation fluctuation
+ Prefer byways
+ Balanced
+ Shorter routes
+ Flat
+ Less hilly
+ Hilly
+ Preferred terrain: flat or hilly.
+ Berber
+ Slope
+ Add new folder
+ Waypoints, points of interest, named features
+ Turns to pass on this route
+ Are you sure you want to delete %1$d point(s)\?
+ Point(s) deleted.
+ Average speed
+ Maximum speed
+ End time
+ Start time
+ Max
+ Time span
+ Time moving
+ Move
+ Could not move file.
+ Select GPX file folder
+ Driving style
+ Total distance
+ Time
+ Average altitude
+ Altitude range
+ Ascent
+ Descent
+ Route elevation
+ Factor in terrain elevation (via SRTM, ASTER, and EU-DEM data).
+ Use elevation data
+ Nautical depth contours
+ Show depth contours and points.
+ Start new segment after gap of 6 min, new track after gap of 2 h, or new file after a longer gap if the date has changed.
+ Auto-split recordings after gap
+ A button to page through the list below.
+ Valid full OLC
+\nRepresents area: %1$s x %2$s
+ Short OLC
+\nPlease provide a full code
+ Invalid OLC
+\n
+ Open Location Code
+ Map underlay changed to \"%s\".
+ Map overlay changed to \"%s\".
+ Show an interim dialog
+ Action name
+ A toggle to show or hide POIs on the map.
+ Choose an optional category.
+ This message is included in the comment field.
+ Leave blank to use the address or place name.
+ A toggle to disable or enable voice guidance during navigation.
+ A button to add a photo note in the middle of the screen.
+ A button to add a video note in the middle of the screen.
+ A button to add an audio note in the middle of the screen.
+ Long-tapping and dragging the button changes its position on the screen.
+ Change button position
+ Add one or more POI categories to display on the map.
+ Name
+ Map source changed to \"%s\".
+ Add map source
+ Map sources
+ Change map source
+ Add underlay
+ Map underlays
+ Change map underlay
+ Add overlay
+ Map overlays
+ Change map overlay
+ Map styles
+ Fill out all parameters
+ Add a map style
+ POI list
+ Message
+ Navigation
+ Configure map
+ Create items
+ Add a category
+ Hide %1$s
+ Show %1$s
+ Show/hide POI
+ Quick action name duplicate
+ Quick action renamed to %1$s to avoid duplication.
+ Place
+ " saved to "
+ Name preset
+ Show Favorites dialog
+ Are you sure you want to delete the action \"%s\"\?
+ Delete action
+ Add action
+ Edit action
+ Add action
+ Add parking place
+ Add GPX waypoint
+ Mute Voice
+ Unmute Voice
+ Voice on/off
+ World
+ Point %1$s deleted
+ You added %1$s points. Type a filename and tap \"Save\".
+ Save as track
+ Add point
+ Edit point
+ Please send a screenshot of this notification to support@osmand.net
+ Edit actions
+ Get OsmAnd Live to unlock all features: Daily map updates with unlimited downloads, all paid and free plugins, Wikipedia, Wikivoyage and much more.
+ Tracks
+ Travel guides
+ Guides to the most interesting places on the planet, inside OsmAnd, without a connection to the Internet.
+ Travel Guides
+ GPX route
+ Destinations
+ Waypoint
+ Waypoints
+ Points
+ GPX files
+ Tracks
+ Track
+ View
+ Track waypoints
+ GPX file
+ Intermediate time
+ Intermediate arrival time
+ For off-road driving based on \'Topo\' style and for use with green satellite images as an underlay. Reduced main road thickness, increased thickness of tracks, paths, bicycle and other routes.
+ Bookmark
+ Add OSM Note
+ New photo note
+ New video note
+ New audio note
+ Map style changed to \"%s\".
+ Change map style
+ Add POI
+ Add map marker
+ Screen %d
+ Action %d
+ Quick action
+ Hide water
+ Low
+ Medium
+ High
+ Contour line density
+ Contour line density
+ Contour line width
+ Contour line width
+ Water
+ Chinese (Traditional)
+ Chinese (Hong Kong)
+ Chinese (Simplified)
+ Belarusian (Latin)
+ Serbian (latin)
+ Allows motorways.
+ Please enter a name for the new filter, this will be added to your \'Categories\' tab.
+ New filter
+ Delete filter
+ Save filter
+ Apply filters
+ Filters
+ Kabyle
+ Australia
+ Miles/feet
+ Subscription enables hourly, daily, weekly updates, and unlimited downloads for all maps globally.
+ Part of your donation is sent to OSM contributors. The subscription cost remains the same.
+ Donation to the OSM community
+ Subscription charged per month. Cancel it on Google Play at any time.
+ Get it
+ Unlimited map downloads, updates, and Wikipedia plugin.
+ Get unlimited map downloads, adding weekly, daily, or even hourly updates.
+ Get for %1$s
+ Miles/meters
+ Get directions and discover new places without an Internet connection
+ Allow location access
+ Grant permission
+ OsmAnd\'s data storage (for maps, GPX files, etc.): %1$s.
+ Free space
+ Searching for location…
+ Required to download maps.
+ No Internet connection
+ Location not found
+ Let OsmAnd determine your location and suggest maps to download for that region.
+ Searching maps…
+ Select another region
+ You have no offline map installed. You may select a map from the list or download maps later via \'Menu - %1$s\'.
+ Skip downloading maps
+ Find my position
+ Update all maps now\?
+ Clear all tiles
+ Get started
+ Change
+ Overground objects
+ Advanced coordinates search
+ Coordinates search
+ Back to search
+ Search %1$s away
+ Show %1$s on the map
+ shared via OsmAnd
+ Sorbian (Upper)
+ Categories
+ Postcode
+ Neighbourhood
+ District
+ from
+ Search
+ Open 24/7
+ Open now
+ Memory card
+ Format for geographical coordinates.
+ Coordinate format
+ Train
+ Bus
+ Asturian
+ English (United Kingdom)
+ Kannada
+ Spanish (American)
+ Current track
+ Change marker position
+ Hungarian (formal)
+ Battery level
+ Move the map to change marker position
+ Follow us
+ Indicate target point direction by vibration.
+ Haptic directions
+ Indicate target point direction by sound.
+ Audio directions
+ OsmAnd Live navigation
+ Enable navigation for OsmAnd Live changes.
+ Destination not set
+ Magnetic bearing
+ Relative bearing
+ Minimal time interval between announcements.
+ Autoannounce period
+ Notify only when direction to the target point changes.
+ Smart autoannounce
+ No route recalculation while just moving in the opposite direction.
+ No route recalculation for opposite direction
+ No route recalculation after going off route.
+ No route recalculation after leaving it
+ Sort
+ Navigate up
+ Expand
+ Not installed
+ Tree list
+ Empty list
+ Expanded list
+ Collapsed list
+ Map linked to location
+ Enter description.
+ Enter category
+ Enter name
+ Choose category
+ Map mode
+ Bold
+ Medium
+ Thin
+ No waypoints found
+ Please add map markers via map
+ File name contains illegal character
+ Report
+ The app is now allowed to write to external storage, but needs to be started again to do so.
+ Needed for openstreetmap.org submissions.
+ OSM username and password
+ Full report
+ Move ↓
+ Move ↑
+ Finish navigation
+ Avoid road
+ Shared memory
+ Switched to internal memory since the selected data storage folder is write-protected. Please select a writable storage directory.
+ Top bar
+ Recalculate route
+ This subscription enables hourly updates for all maps around the world.
+\n Part of the income goes back to the OSM community and is paid out for each OSM contribution.
+\n If you love OsmAnd and OSM and want to support and be supported by them, this is the perfect way to do it.
+ Please purchase a subscription to OsmAnd Live first
+ Subscription settings
+ Part of your donation will be sent to OSM users who submit changes to the map in that region.
+ Thank you for supporting OsmAnd!
+\nTo activate all new features you need to restart OsmAnd.
+ Please enter a public name
+ Please enter a valid e-mail address
+ Inactive
+ Active
+ Monthly payment
+ Cost per month
+ Support region
+ Do not show my name in reports
+ Public name
+ Needed to update you about your contributions.
+ Subscribe
+ OsmAnd Live subscription
+ OSM Editor ranking
+ Edits %1$s, rank %2$s, total edits %3$s
+ Number of recipients
+ Donations
+ Other markers
+ Select map marker
+ Upload anonymously
+ Upload OSM Note
+ Upload your OSM note anonymously or by using your OpenStreetMap.org profile.
+ Download {0} file(s)\?
+\n {3} MB is used temporarily, {1} MB permanently. (Of {2} MB.)
+ Not enough space!
+\n {3} MB is needed temporarily, {1} MB permanently.
+\n (Only {2} MB available.)
+ Widgets
+ Toolbar
+ Second map marker
+ First map marker
+ Add to map markers
+ Add all points as map markers\?
+ It is recommended to turn off polygon rendering.
+ Select map markers
+ Reverse order
+ Map marker
+ Map markers
+ Active markers
+ Clear map marker history\?
+ Remove all active markers\?
+ Activate the map markers feature.
+ Show mountain bike trails
+ Show polygons
+ Find parking
+ Save changes
+ Status
+ E-mail address
+ Read more
+ Underground objects
+ Data not available
+ Night
+ items removed
+ Item removed
+ Remove
+ Road blocked
+ Add time span
+ Remove downloaded updates and get back to the original map edition
+ Select
+ Report for
+ Number of edits
+ Number of contributors
+ Reverse starting point & destination
+ POI icons
+ Undo all
+ Starting point
+ Type
+ Avoids ice roads and fords.
+ No ice roads or fords
+ Quick coordinate input
+ Select coordinate input format. You can always change it by tapping \'Options\'.
+ Use system keyboard
+ Coordinate format
+ Markers
+ The group will be gone the next time you start the app.
+ Move to history
+ Save as GPX file
+ Export your markers to the following GPX file:
+ Coordinate input
+ Sort
+ Plan route
+ Finish
+ My position
+ Add your position as point of departure to plan the perfect route.
+ Use position
+ Hide passed
+ Show passed
+ Show arrows on the map
+ Show directional lines
+ Order by:
+ Added
+ A-Z
+ Z-A
+ Remove from \'Map markers\'
+ Select how to indicate distance and direction to map markers on the map:
+ This year
+ Last 7 days
+ Yesterday
+ Today
+ Make active
+ Last used: %1$s
+ Groups
+ List
+ Map marker moved to active
+ Map marker moved to history
+ All map markers moved to history
+ Select speed of switching orientation from \'Movement direction\' to \'Compass directon\' below.
+ Map orientation threshold
+ Sort by
+ Distance indication
+ Move all to history
+ Turns off map animations.
+ No animations
+ Exit without saving\?
+ Keep showing on map
+ Add to a GPX file
+ Move Point
+ File %1$s does not contain waypoints, import it as a track\?
+ Import GPX file
+ Import GPX files, or record tracks.
+ Add GPX files
+ Add Line
+ Add Route Points
+ Select navigation profile
+ Save the points either as route points or as a line.
+ OsmAnd will connect the points with routes for the selected profile.
+ Options
+ Add point after
+ Add point before
+ Edit line
+ Route point
+ Save as line
+ Save as route points
+ Line
+ Route Point 1
+ Waypoint 1
+ Save route point
+ Save GPX waypoint
+ Add Waypoint
+ Show on map after saving
+ GPX file name:
+ Please add at least one point.
+ Browse the map and add points
+ Measure distance
+ Retry
+ Photos from Mapillary are only available online.
+ Specify a time buffer to keep locations to send without connection
+ Time buffer for online tracking
+ Button to start or end navigation.
+ Start/stop navigation
+ Show \'Navigation finished\' dialog
+ Button to pause or resume navigation.
+ Pause/resume navigation
+ Translucent pink
+ Radius ruler
+ Min/Max
+ Max/Min
+ Moving time
+ Ascent/Descent
+ Average
+ Store recorded tracks in sub-folders per recording month (like 2018-01).
+ Store recorded tracks in monthly folders
+ Reset
+ Tile cache
+ Reload tiles to see up to date data.
+ Reload
+ Filter images by submitter, by date or by type. Only active in closeup zoom.
+ Username
+ View only images added by
+ Type username
+ Date
+ Only view added images
+ From
+ To
+ Wrong username
+ Could not import file. Please ensure OsmAnd has permission to read it.
+ Permissions
+ Distance corrected
+ Mapillary image
+ Open Mapillary
+ Install Mapillary to add one or more photos to this map location.
+ Improve photo coverage with Mapillary
+ Install
+ No photos here.
+ Online photos
+ Street-level photos for everyone. Discover places, collaborate, capture the world.
+ Share your street-level view via Mapillary.
+ Add photos
+ Online street-level photos for everyone. Discover places, collaborate, capture the world.
+ Allows quick contributions to Mapillary.
+ Mapillary widget
+ Mapillary
+ Allow access to private areas.
+ Your destination is located in an area with private access. Allow using private roads for this trip\?
+ Change the search or increase its radius.
+ Nothing found
+ Increase search radius
+ Restart search
+ Button to show or hide OSM notes on the map.
+ Hide OSM notes
+ Month and country:
+ Update size
+ Not selected
+ Morning
+ Weekly
+ Daily
+ Hourly
+ Amount of space that can be occupied by all recorded clips.
+ Storage size
+ Upper time limit for recorded clips.
+ Clip length
+ Rewrite clips when used space exceeds the storage size.
+ Use Recorder Split
+ Recorder Split
+ Last map change: %s
+ Update time
+ Last update: %s
+ Available maps
+ Live updates
+ Select or download voice guidance for your language.
+ Select voice guidance
+ Sound
+ Select roads you want to avoid during navigation.
+ Grant mic access.
+ Grant camera access.
+ Grant location data access.
+ Create note
+ OSM Note
+ Created OSM Note
+ Deleted OSM Note
+ Commented OSM Note
+ Reopened OSM Note
+ Open OSM Note
+ Edit GPX waypoint
+ Delete GPX waypoint\?
+ Location
+ Modify OSM change
+ Do you really want to save POI without type\?
+ OSM edits shared via OsmAnd
+ Albanian (Tosk)
+ Frysk
+ Macedonian
+ Low German
+ What\'s new in
+ Read more
+ Proposed objects
+ Update
+ Upload
+ Feedback
+ Map legend
+ Accessibility
+ Created OSM POI
+ Contact
+ Versions
+ Technical articles
+ Installation and troubleshooting
+ Planning a trip
+ Searching the map
+ Map viewing
+ Frequently asked questions
+ FAQ
+ Set up navigation.
+ How to download maps, set basic settings.
+ First use
+ Plugins
+ Other
+ Help improve OsmAnd
+ Features
+ First steps with OsmAnd
+ New version
+ About
+ Online maps
+ World basemap (covering the whole world at low zoom level) missing or outdated. Please consider downloading it for a global overview.
+ Enter country name
+ QR code
+ Show map
+ The %1$s map is ready for use.
+ Map downloaded
+ \'Off\' launches the map directly.
+ Choose where you want to store maps and other data files.
+ Send
+ Share location
+ Simulate first app start
+ Sets the flag indicating first app startup, keeps all other settings unchanged.
+ geo:
+ Displays the amount of free downloads left.
+ Free downloads used
+ Update all (%1$s MB)
+ The roads-only map is not needed, since you have the standard (full) map. Download it anyway\?
+ Add new category
+ Category name
+ Please use a category name that doesn\'t already exist.
+ Downloads
+ World maps
+ Regionwide maps
+ Regions
+ Full version
+ Later
+ Please activate the \'Contour lines\' plugin
+ Please activate the \'Nautical map view\' plugin
+ Hillshade layer disabled
+ Buy
+ Downloading - %1$d file
+ Display the free version banner even in the paid version.
+ Show free version banner
+ Contour lines disabled
+ Choose category
+ Add new
+ m/s
+ min/km
+ min/m
+ kn
+ Nautical miles per hour (knots)
+ Minutes per mile
+ Minutes per kilometer
+ Meters per second
+ Miles per hour
+ Kilometers per hour
+ Nautical miles
+ nmi
+ Unit of speed
+ Define unit of speed.
+ Others
+ Run in background
+ Navigation
+ Trip recording
+ Roads
+ Wikipedia
+ Simulate your position using a calculated route or a recorded GPX track.
+ Stop simulating your position.
+ Any unsaved changes will be lost. Continue\?
+ Are you sure\?
+ Show on start
+ Count of lines
+ Show GPX data
+ POI will be deleted once you upload your changes
+ Now saved at: %1$s
+ delete
+ Favorites
+ Recent places
+ Working days
+ Please specify POI type.
+ Number of rows in dash %1$s
+ POI Type
+ Add opening hours
+ Contact info
+ Advanced
+ Basic
+ Add Tag
+ Locations
+ GPX file with locations.
+ Closing at
+ Opening at
+ Next
+ Building Number
+ Plugins
+ Avoids using shuttle trains
+ No shuttle train
+ Commit POI
+ Offline Maps
+\n& Navigation
+ OsmAnd
+ Skip
+ Undo
+ Card was hidden
+ Configure dashboard
+ Download map
+ Hazard
+ Bold outline
+ Your opinion and feedback is valued.
+ No updates available
+ Error: {0}
+ Try again
+ Uploaded {0}/{1}
+ Delete change
+ Could not upload
+ Live updates
+ Please let us know any suggestions.
+ Tell us why.
+ Please give OsmAnd a score on Google Play
+ Rate this app
+ Do you like OsmAnd\?
+ No, thanks
+ Default (translucent cyan)
+ Default (13)
+ Translucent purple
+ Translucent blue
+ Translucent light blue
+ Translucent green
+ Translucent light green
+ Translucent yellow
+ Translucent orange
+ Translucent red
+ GPX width
+ Purple
+ Blue
+ Light blue
+ Green
+ Light green
+ Yellow
+ Brown
+ Red
+ A restart is required to apply the change.
+ Dark
+ Light
+ Esperanto
+ Ossetian
+ Luxembourgish
+ Malayalam
+ Tamil
+ Kurdish
+ Latin
+ Irish
+ Navajo
+ Use motorways
+ Nearby Wikipedia articles
+ City or region
+ Take %1$d exit and go
+ Upload POI
+ Route calculation
+ Fine
+ Add more…
+ You may also add GPX files to the folder
+ You do not have any GPX files yet
+ Notifications
+ Display a system notification allowing trip recording.
+ Turn on quick recording
+ No data
+ Record
+ Recorded
+ Trip
+ Pause
+ Continue
+ Filter: No logging unless this accuracy is reached.
+ Logging minimum accuracy
+ Filter: Set minimum distance from a point to log a new one.
+ Logging minimum displacement
+ Filter: No logging of points below this speed.
+ Logging minimum speed
+ Show Christmas holiday POIs\?
+ Anticipating Christmas and New Year holidays, you can choose to display associated POIs like Christmas trees and markets, etc.
+ Christmas POI
+ Road surface integrity
+ Dark brown
+ Light brown
+ Type city, address, POI name
+ Transliterate if %1$s name is missing
+ Transliterate names
+ Subcategories
+ Edit categories
+ Custom search
+ Create custom filter
+ Selected categories
+ Bishnupriya
+ Icelandic
+ Albanian
+ Breton
+ Azerbaijani
+ Serbo-Croatian
+ Tagalog
+ Bengali
+ Piedmontese
+ Spanish (Argentina)
+ Norwegian Bokmål
+ Cebuano
+ Estonian
+ Galician
+ Haitian
+ Malaysian
+ Newar / Nepal Bhasa
+ Norwegian Nynorsk
+ Telugu
+ Thai
+ Volapuk
+ Download additional Wikipedia data (%1$s MB)\?
+ You have old incompatible Wikipedia data. Archive it\?
+ Location service is off. Turn it on\?
+ Will pause GPX logging when the app is killed (via recent apps). (OsmAnd background indication disappears from the Android notification bar.)
+ Prevent standalone logging
+ Enable
+ Next
+ Previous
+ Off
+ On
+ No
+ Yes
+ Dismiss
+ Cancel
+ OK
+ …
+ Released
+ Route points
+ Track points
+ Track segments
+ This plugin for OsmAnd puts at your fingertips details of global downhill ski slopes, cross country ski runs, Alpine ski routes, cable cars and ski lifts. Routes and pistes are shown color-coded by difficulty, and depicted in a special \'Winter\' map style which assimilates a snow-colored winter landscape.
+\n
+\nActivating this view changes the map style to \'Winter and ski\', showing all landscape features under wintry conditions. This view can be reverted by either de-activating it again here, or by changing the \'Map style\' under \'Configure map\' as desired.
+ Back to map
+ Renaming failed.
+ days behind
+ Location:
+\n Lat %1$s
+\n Lon %2$s
+ Touring map view
+ Share note
+ Online map
+ A/V notes
+ Watch
+ Roads only
+ Ski slopes
+ Device memory
+ Free %1$s
+ Piste grooming
+ Download the special offline map to display nautical details.
+ Download the special offline map to display skiing facilities.
+ Nautical map view
+ Ski map view
+ Get
+ You need to be online to install this plugin.
+ Edit group
+ REMOVE THE TAG
+ Parking spot
+ GPS status
+ Builds
+ Download nightly builds.
+ Street lighting
+ Privacy
+ Specify a proxy server.
+ Specify your proxy\'s port number (e.g. 8118).
+ Proxy Port
+ Specify your proxy\'s hostname (e.g. 127.0.0.1).
+ Proxy Host
+ Configure an HTTP proxy for all network requests.
+ Enable HTTP proxy
+ Proxy
+ Trigger an alternative route by selecting roads to avoid
+ Start navigation along track\?
+ On demand track logging
+ Default
+ Pedestrian crosswalks
+ Do not use routing rules introduced in v1.9.
+ No v1.9 routing rules
+ American road atlas
+ German road atlas
+ Orange
+ Default
+ Road style
+ Manage
+ Download new map
+ You have downloaded %1$s maps
+ Download offline maps\?
+ Voice prompts
+ Map language
+ Transport stops
+ Easting
+ Northing
+ Zone
+ Local
+ Updates
+ All Downloads
+ Unable to download, please check your Internet connection.
+ All files up to date
+ Use hardware accelerated OpenGL rendering (may use more battery, or not work on very old devices).
+ Use OpenGL rendering
+ No bypass found
+ Updates available for %1$s maps
+ Coordinates
+ Search for
+ Home
+ Turn on device screen (if off) when approaching a turn.
+ Turn screen on
+ Hide
+ Avoid roads…
+ Tram and train routes
+ Bus routes
+ Trolleybus routes
+ Share taxi routes
+ Tram routes
+ Train routes
+ Routes
+ Left panel
+ Right panel
+ Status bar
+ Remaining elements
+ Other map attributes
+ Transport
+ Details
+ Within
+ Configure map
+ Logged in as %1$s
+ Anonymous user
+ Anonymous users cannot:
+\n- Create groups;
+\n- Sync groups and devices with the server;
+\n- Manage groups and devices in a personal dashboard on the website.
+ Choose speed limit tolerance margin, above which you will receive a voice warning.
+ Speed limit tolerance
+ Print route
+ Text size
+ Set the text size on the map.
+ Tap any existing item to see more details, long-tap to deactivate or delete. Current data on device (%1$s free):
+ Traffic warning
+ Speed camera
+ Traffic calming
+ Stop sign
+ Toll booth
+ Border control
+ Speed limit
+ General logging interval
+ Specify the logging interval for the general track recording (enabled via the GPX logging widget on the map).
+ Always ask
+ Logging interval
+ General position logging to a GPX file can be turned on or off using the GPX logging widget on the map.
+ Log track to GPX file
+ Bus, trolleybus, shuttle routes
+ Trip recording
+ This plugin activates the functionality to record and save your tracks by manually touching the GPX logging widget on the map, or also to automatically log all of your navigation routes to a GPX file.
+\n
+\n Recorded tracks can be shared with your friends or be used for OSM contributions. Athletes can use recorded tracks to monitor their trainings. Some basic track analysis can be performed directly in OsmAnd, like lap times, average speed etc., and tracks can of course also later be analyzed in special 3rd party analysis tools.
+ Distance
+ Duration
+ h
+ Tours
+ Traffic warnings
+ Nearby POI
+ Download missing maps %1$s (%2$d MB)\?
+ On foot
+ Bicycle
+ Car
+ Browse map
+ Set camera picture size
+ Camera picture size
+ In the last meters
+ Late
+ Normal
+ Early
+ Render paths according to the SAC scale.
+ Alpine hiking scale (SAC)
+ Pause Navigation
+ Continue Navigation
+ Serbian (cyrillic)
+ Sardinian
+ Arabic
+ Albanian
+ Stop GPS background mode\?
+ GPS wake-up interval
+ Enable GPS background mode
+ Stop
+ Keep
+ Persian
+ Start new segment
+ Stop GPX logging
+ Start GPX logging
+ Stop online tracking
+ Start online tracking
+ Online tracking (GPX required)
+ Send tracking data to a specified web service if GPX logging is on.
+ Dashboard
+ Forward
+ Hebrew
+ Swahili
+ Local names
+ Preferred map language
+ Preferred language for labels on the map (if unavailable, English or local names will be used).
+ Show cycle routes
+ Show road surface
+ OsmAnd lacks permission to use the memory card
+ Time:
+ Distance:
+ Update now
+ Live update
+ Only download on Wi-Fi
+ Horse routes
+ Looking up address
+ No address determined
+ Near
+ Select audio bitrate.
+ Audio bitrate
+ Select audio output format.
+ Audio output format
+ Select video quality.
+ Video output quality
+ Highest quality
+ Lowest quality
+ Hide
+ Pink
+ Avoids stairs
+ No stairs
+ Please specify the correct POI type or skip it.
+ Access from map
+ Menu button launches the dashboard rather than the menu
+ Use menu
+ Use dashboard
+ Copied to clipboard
+ A choice is offered to primarily control the app via the flexible dashboard or a static menu. Your choice can always be changed in the dashboard settings.
+ Dashboard or menu control
+ Save offline
+ Road style
+ GPX width
+ Deleted OSM POI
+ Modified OSM POI
+ Commit
+ Reopen
+ Could not close note.
+ Note closed
+ Could not create note.
+ Note created
+ Close note
+ Reopen note
+ Add comment
+ Show road quality
+ Show access restrictions and toll
+ Access restrictions
+ Fewer details
+ More details
+ Buildings on zoom 15
+ Wood and scrubs
+ Text
+ Non-vehicle highways
+ Buildings
+ Downloads not found, please check your connection to the Internet.
+ Select a track
+ Specify a GPX file by long-tapping first.
+ Sort by name
+ Sort by distance
+ Show zoom buttons
+ Show zoom buttons during navigation.
+ POI overlay labels
+ Set destinations
+ Empty GPX file
+ Point %1$s
+ Segment
+ Time moving: %1$s
+ Time span: %1$s
+ Descent/ascent: %1$s
+ World overview map
+ World bitcoin payments
+ World seamarks
+ World altitude correction
+ addresses nationwide
+ North America - Canada
+ Portuguese (Brazil)
+ Chinese
+ Welsh
+ Vietnamese
+ Ukrainian
+ Turkish
+ Swedish
+ Spanish
+ Slovenian
+ Slovak
+ Russian
+ Romanian
+ Portuguese
+ Polish
+ Norwegian Bokmål
+ Marathi
+ Lithuanian
+ Latvian
+ Korean
+ Japanese
+ Italian
+ Indonesian
+ Hungarian
+ Hindi
+ Hebrew
+ Greek
+ German
+ Georgian
+ French
+ Finnish
+ Dutch
+ Danish
+ Czech
+ Catalan
+ Bulgarian
+ Bosnian
+ Belarusian
+ Basque
+ Armenian
+ Afrikaans
+ English
+ Europe - Great Britain
+ Europe - Italy
+ Calculate OsmAnd route for first and last route segment
+ Offline calculation of OsmAnd route segment
+ Use shown track for navigation\?
+ Add as subsequent destination
+ Route info
+ Route preferences
+ Set destination
+ Select GPX…
+ Specify permitted vehicle weight limit on routes.
+ Weight limit
+ Avoids motorways
+ No motorways
+ Avoids ferries
+ No ferries
+ Avoids unpaved roads
+ No unpaved roads
+ Avoids toll roads
+ No toll roads
+ Use fuel-efficient way (usually shorter).
+ Fuel-efficient way
+ Prefer motorways
+ Prefer motorways
+ Copying OsmAnd data files…
+ Copying OsmAnd data files to the new destination (%s)…
+ Copying file (%s) to the new destination…
+ On Android 4.4 (KitKat) onwards, the old storage folder (%s) is deprecated. Copy all OsmAnd files to new storage location\?
+\n Note 1: Your old files will remain untouched (but can be deleted manually).
+\n Note 2: In the new storage location it will not be possible to share files between OsmAnd and OsmAnd+.
+ Offline OsmAnd route calculation
+ Truck
+ Disable complex routing
+ Disable two-phase routing for car navigation.
+ Fast route calculation failed (%s), fallback to slow calculation.
+ Speech Rate
+ Specify the speech rate for text-to-speech.
+ Routing preferences
+ Navigation preferences
+ Aircraft
+ Boat
+ Motorcycle
+ Hiking
+ Map rendering
+ App profiles
+ Select shown profiles.
+ Seamark
+ Set sound or silence for photo shutter.
+ Play camera shutter sound
+ The camera continuously tries to focus
+ Macro (close-up) focus mode
+ Focus is set to infinity
+ Extended depth of field (EDOF)
+ Hyperfocal focus
+ Autofocus
+ Camera focus mode:
+ Camera focus type
+ e-mail
+ \'%1$s\' filter created
+ \'%1$s\' filter deleted
+ Delete this filter\?
+ Save As
+ Filter
+ Commit
+ All other tags are preserved
+ POI changing
+ Comment
+ Open
+ Info about node was not loaded
+ I/O error while performing action {0}.
+ Could not perform action {0}.
+ Action {0} completed.
+ change
+ add
+ Deleted
+ Delete POI
+ Delete {0} (comment)\?
+ Create POI
+ Edit POI
+ Could not add comment.
+ Comment added
+ Author name
+ Message
+ OSM password (optional)
+ Create POI
+ Update map
+ Intersecting street
+ Building
+ Building
+ Street
+ City
+ Region
+ Address
+ DDD MM SS.S
+ DDD MM.MMM
+ DDD.DDDDD
+ Longitude
+ Latitude
+ Input latitude and longitude in the selected format (D - degrees, M - minutes, S - seconds)
+ Bottom
+ Walking
+ Cycling
+ Driving
+ Nearest amenities
+ Select intersecting street
+ Select region from list
+ Search building incrementally
+ Search street incrementally
+ Find more
+ Choose POI
+ Search
+ Search
+ Navigation app
+ Download missing map tiles
+ Show GPS coordinates on the map
+ Show your position
+ Use the Internet
+ Map source
+ Tile map source
+ Choose source of online or cached map tiles.
+ Show POI overlay
+ Show the last used POI overlay.
+ Map View 3D
+ Enable 3D view of the map.
+ Display viewing direction
+ Choose country
+ Choose city or postcode
+ Choose street
+ Choose building
+ Search address
+ App settings
+ Use English names on maps
+ Select between local and English names.
+ Target
+ Reload tile
+ Update map
+ Auto-record track during navigation
+ Import to OsmAnd
+ Are you sure you want to delete %1$d notes\?
+ Wikipedia
+ Wikipedia
+ Read full article (online)
+ Show details
+ Render paths according to OSMC traces.
+ Hiking symbol overlay
+ Delete OSM edit
+ Disabled
+ Log Off
+ For long trips, only recalculate the initial part of the route.
+ Smart route recalculation
+ Specify vehicle height to be permitted on routes.
+ Height limit
+ Avoids crossing national borders
+ No border crossings
+ House numbers
+ Move OsmAnd data files to the new destination\?
+ Copy
+ Map Storage
+ Internal memory
+ Manually specified
+ Internal app memory
+ Multiuser storage
+ External storage
+ Moving files failed
+ Maps could not be created in specified directory
+ High contrast roads
+ Europe - Netherlands
+ Type to search all
+ Filter by name
+ All
+ Edit
+ Manage
+ OSM mapper assistant
+ Places
+ Search
+ Show description.
+ Address
+ Don\'t use
+ Message
+ A-GPS data downloaded: %1$s
+ A-GPS info
+ In many countries (Germany, France, Italy, and others) the use of speed camera warnings is illegal. OsmAnd does not assume any liability if you violate the law. Please tap \'Yes\' only if you are eligible to use this feature.
+ Welcome
+ OsmAnd provides global offline map browsing and offline navigation.
+ To correctly reflect your traffic signs and regulations, please select your driving region:
+ Download maps
+ Current route
+ Mark to delete
+ OSM changes added to local changeset
+ overdue
+ Are you sure you want to upload %1$d change(s) to OSM\?
+ Clear history\?
+ Go
+ Start turn-by-turn guidance after…
+ Specify wait time to remain on the route planning screen.
+ Your edits
+ Parking time limited to
+ left
+ min
+ h
+ OSM edits
+ Action delete
+ Action modify
+ Action create
+ Collapse
+ Visit before
+ Visit after
+ General settings
+ Navigation settings
+ Frequently asked questions, recent changes, and others.
+ Lat %1$s
+\nLon %2$s
+ Flat list
+ Simulate your position
+ Photo
+ Video
+ Audio
+ Currently recording track
+ My Places
+ My Position
+ Map
+ Show on map
+ Show all
+ Show
+ Exit
+ Close
+ Action {0}
+ Unexpected error
+ I/O error
+ Downloaded
+ Downloading…
+ Download
+ Refresh
+ Remember choice
+ Do not show again
+ More actions
+ More…
+ Export
+ Import
+ Stop
+ Start
+ Apply
+ Add
+ Share
+ Delete all
+ Delete
+ Rename
+ Save as new GPX file
+ Save
+ Clear all
+ Clear
+ Deselect all
+ Deselect
+ Select all
+ Select on map
+ History
+ Settings
+ Help
+ or
+ and
+ None
+ Never
+ selected
+ Selected
+ Disabled
+ Enabled
+ Disable
+ A GPX track is automatically saved to the tracks folder during navigation.
+ Specify the logging interval for track recording during navigation
+ Logging interval during navigation
+ Save current track
+ Save current track as GPX file now.
+ Additional settings
+ OpenStreetMap editing
+ Data
+ Specify language, download/reload data.
+ Specify OpenStreetMap.org (OSM) settings needed for OSM submissions.
+ Use online navigation
+ Use the Internet to calculate a route.
+ Finished
+ Saving GPX file…
+ Last OsmAnd run crashed. Log file is at {0}. Please report the issue and attach the log file.
+ Reading local data…
+ Loading data…
+ Go back to map
+ Invalid coordinates
+ You have arrived.
+ The calculated route is empty.
+ Could not calculate route.
+ Could not calculate route.
+ Could not save GPX file.
+ POI
+ Loading cities…
+ Share location
+ Send location
+ To see location follow the web link %1$s or Android intent link %2$s
+ Location: %1$s
+\n%2$s
+ Share location using
+ mi
+ mph
+ ft
+ yd
+ Kilometers/meters
+ Miles/yards
+ Units of length
+ Change what distance is measured in.
+ incomplete
+ Display language
+ App display language (used after OsmAnd is restarted).
+ System
+ Search by geo location
+ Could not perform offline search.
+ Online OSM map classification with images.
+ Minimum vector zoom level
+ Use raster maps for anything beyond this level.
+ Install more…
+ Unable to perform operation without a connection to the Internet.
+ Choose (tile) maps to install or update.
+ Map already installed, \'Settings\' will be updated.
+ Choose the overlay map
+ Overlay map
+ Overlay map…
+ Choose underlay map
+ Underlay map
+ Underlay map…
+ Base map transparency
+ Adjust base map transparency.
+ Overlay transparency
+ Adjust overlay transparency.
+ The app cannot download the map layer %1$s, reinstalling it might help.
+ Media/navigation audio
+ Notification audio
+ Phone call audio (to interrupt car Bluetooth stereos)
+ Select loudspeaker for voice guidance.
+ Voice guidance output
+ Offline vector map present for this location.
+\n\t
+\n\tTo use activate \'Menu\' → \'Configure map\' → \'Map Source…\' → \'Offline vector maps\'.
+ Pass along entire track
+ Use current destination
+ Reverse GPX direction
+ Go to the market to download selected language\?
+ Missing data
+ The selected language is not supported by the Android TTS (text-to-speech) engine installed, its preset TTS language will be used instead. Look for another TTS engine in the market\?
+ Unsupported language
+ Online navigation does not work offline.
+ Unpacking new data…
+ Display the rendering performance.
+ Rendering debug info
+ Map font size
+ Text size for names on the map:
+ New Search
+ TTS voice
+ POI data
+ Voice prompts (recorded)
+ Voice prompts (TTS)
+ Deactivated
+ Map data
+ Public transport data
+ Address data
+ POI data
+ Deactivate
+ Activate
+ Manage map files.
+ You are about to %1$s %2$s item(s). Continue\?
+ No items to %1$s
+ Local version
+ "
+\n
+\nLong-tap for options"
+ Download (\'offline\') data to use maps offline.
+ Download the base world map to get an overview covering the whole world at low zoom levels.
+ Category
+ Places
+ Friends
+ Home
+ Show some vector map detail (roads etc.) at lower zoom levels already.
+ Show more map detail
+ Send to OSM
+ Upload GPX files to the OSM community, improving the maps.
+ File with same name already exists.
+ Filename:
+ Route saved as \'%1$s\'.
+ Search nearby
+ Origin:
+ Undefined
+ Address…
+ My Position (found)
+ Searching position…
+ Online Nominatim
+ Download the new version of the app to be able to use the new map files.
+ Upgrade OsmAnd+
+ Local file to maintain POI changes not found and could not be created.
+ The POI data file \'%1$s\' is redundant and can be deleted.
+ Search by name
+ Download offline data to search for POIs.
+ Found several related POI categories.
+ A file with that name already exists.
+ Could not rename file.
+ Start simulation
+ Stop simulation
+ City
+ Town
+ Village
+ Hamlet
+ Suburb
+ Delete %1$s\?
+ Vector map settings
+ Map source settings
+ Overlay / underlay
+ Vector renderer specific options
+ Time until the map view synchronizes with the current position.
+ Initializing native library…
+ Native library not supported on this device.
+ Transparent theme
+ Download {0} file(s)\?
+\n {1} MB (of {2} MB) will be used.
+ There is not enough free space to download %1$s MB (free: %2$s).
+ OsmAnd runs in the background with the screen off.
+ Background mode
+ Your OSM password
+ Your OSM username
+ Global app settings
+ Set up display and common settings for the app.
+ General
+ Manage map files
+ Global Settings
+ Specify options for navigation.
+ Navigation
+ Profile Specific Settings
+ User defined
+ Wikipedia (offline)
+ Voice prompts (TTS, preferred)
+ Voice prompts (recorded, limited features)
+ Worldwide Wikipedia POIs
+ Worldwide and topic maps
+ Australia and Oceania
+ Asia
+ Africa
+ Russia
+ Europe - Germany
+ Europe - France
+ Europe
+ South America
+ Central America
+ North America - United States
+ North America
+ Show POI description.
+ Free version
+ You can download or update %1$s maps.
+ Show current track
+ Log track using GPX widget or via \'Trip recording\' settings.
+ Online tracking web address
+ Specify the web address with parameter syntax: lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.
+ Online tracking interval
+ Specify the online tracking interval.
+ Show and manage OSM- POIs/-notes in your device database.
+ OSM- POIs/-notes saved on device
+ Asynchronous OSM editing:
+ Delete edit
+ Upload edit to OSM
+ Upload all
+ {0} POI/notes were uploaded
+ Uploading…
+ POI changes inside app do not affect downloaded map files, changes are saved as a file on your device instead.
+ Always use offline editing.
+ Offline editing
+ Use fluorescent colors to display tracks and routes.
+ Fluorescent overlays
+ Not enough process memory to display selected area
+ Accessibility related preferences.
+ Use trackball for zoom control
+ Change map zooming by horizontal trackball movement.
+ I am here
+ Stop auto announcing
+ Start auto announcing
+ Choose style to express relative directions while moving
+ Direction style
+ Clockwise (12 sectors)
+ Altitude range: %1$s
+ Average altitude: %1$s
+ Maximum speed: %1$s
+ Average speed: %1$s
+ End time: %1$tF, %1$tT
+ Start time: %1$tF, %1$tT
+ Distance: %1$s (%2$s points)
+ Waypoints: %1$s
+ Subtracks: %1$s
+ Split interval
+ Start turn-by-turn guidance automatically
+ "
+\n
+\nLong-tap to view on the map"
+ Current time
+ Loading %1$s…
+ Save data as GPX file or import waypoints to \'Favorites\'\?
+ Connect
+ days
+ Calculate route between points
+ How soon do you want the arrival announcement\?
+ Arrival announcement
+ Invalid format: %s
+ Repeat navigation instructions
+ Re-announce navigation instructions at regular intervals.
+ Only manually (tap arrow)
+ Route shared via OsmAnd
+ Share route as GPX file
+ Localization
+ Misc
+ Voice
+ Pause music
+ Voice prompts pause music playback.
+ Croatian
+ World ski map
+ Sidewise (8 sectors)
+ No info
+ Altitude
+ Accuracy
+ o\'clock
+ left-forward
+ to the left
+ left-backward
+ backward
+ right-backward
+ to the right
+ right-forward
+ forward
+ north-northwest
+ northwest
+ west-northwest
+ west
+ west-southwest
+ southwest
+ south-southwest
+ south
+ south-southeast
+ south-east
+ east-southeast
+ east
+ east-northeast
+ northeast
+ north-northeast
+ north
+ Zoom level is
+ Zoom in
+ Zoom out
+ Back to menu
+ According to the Android system setting
+ Turns on the features for impaired users.
+ Accessibility mode
+ Return to position
+ Info
+ Display ruler
+ Donate to see new features implemented in the app.
+ Support new features
+ Support
+ Please specify your OSM username and password to upload GPX files.
+ Tags
+ Visibility
+ Send GPX files to OSM\?
+ Download an offline vector map for this location in \'Settings\' (\'Manage map files\'), or switch to the \'Online maps\' plugin.
+ Test voice prompts
+ Native rendering
+ OsmAnd development
+ Select a voice and test by playing announcements:
+ Vector maps likely display faster. May not work well on some devices.
+ Make OSM contributions like creating or modifying OSM POI objects, opening or commenting OSM notes, and contributing recorded GPX files in OsmAnd by supplying your username and password. OpenStreetMap.org is a community driven, global public domain mapping project.
+ Plugins
+ Plugins activate advanced settings and additional functionality.
+ Plugins
+ Settings for development and debugging features, like navigation simulation, rendering performance, or voice prompting. Intended for developers, not needed for normal app use.
+ Makes the device\'s accessibility features directly available in OsmAnd. It facilitates e.g. adjusting the speech rate for text-to-speech voices, configuring D-pad navigation, using a trackball for zoom control, or text-to-speech feedback, for example to auto announce your position.
+ Access many types of online (so called tile or raster) maps, from predefined OSM tiles (like Mapnik) to satellite images, and special purpose layers like weather maps, climate maps, geological maps, hillshade layers, etc.
+\n
+\n Any of these maps can either be used as the main (base) map to be displayed, or as an overlay or underlay to another base map (like OsmAnd\'s standard offline maps). Certain elements of the OsmAnd vector maps can be hidden via the \'Configure map\' menu to make any underlay map more visible.
+\n
+\n Download tile maps directly online, or prepared them for offline use (manually copied to OsmAnd\'s data folder) as an SQLite database which can be produced by a variety of 3rd party map preparation tools.
+ Select online or cached tile map sources.
+ Use online maps (download and cache tiles on memory card).
+ Online and tile maps
+ Enable the \'Online maps\' plugin to select different map sources
+ Download and manage offline map files stored on your device.
+ Standard maps (vector)
+ Online and cached tile maps
+ Nothing was found. If you can\'t find your region, you can make it yourself (see https://osmand.net).
+ The basemap needed to provide basic functionality is in the download queue.
+ Thank you for using OsmAnd. Download regional data for offline use via \'Settings\' → \'Manage map files\' to view maps, locate addresses, look up POIs, find public transport and more.
+ Cancel download\?
+ Set transparency (0 - transparent, 255 - opaque)
+ Position not yet known.
+ Point of departure not yet determined.
+ For countries where people drive on the left side of the road.
+ Left-hand traffic
+ OsmAnd offline navigation is temporarily not available.
+ Search for public transport
+ Coordinates
+ Address search
+ POI (Point of interest) search
+ Format
+ Routing data
+ Show more map detail
+ Increase amount of map detail shown.
+ Show contour lines
+ Display from zoom level (requires contour data):
+ Optimize map for
+ Rendering mode
+ Polygons
+ Make all areal land features on map transparent.
+ Keep right and go
+ Keep left and go
+ Roundabout: Take %1$d exit and go
+ ASAP
+ Private
+ Trackable
+ Identifiable
+ Public
+ Delete parking marker
+ Mark as parking location
+ Parking position
+ Lets you record where your car is parked, including how much parking time remains.
+\n Both location and time are visible on the dashboard as well as in a map widget. An alarm reminder can be added to the Android calendar.
+ Parking spot
+ AM
+ PM
+ To pick up the vehicle at:
+ The location of your parked vehicle. %1$s
+ Time-unlimited parking
+ Time-limited parking
+ Add a notification to the Calendar app
+ Time-unlimited
+ Time-limited
+ Select parking type
+ Delete a parking marker
+ Delete the parking location marker\?
+ Set parking time limit
+ A notification to pick up your car has been added to your calendar and can be edited or removed there.
+ Warning
+ Pick up the car from parking
+ Shared location
+ Point of departure too far from nearest road.
+ Total native memory
+ Total native memory allocated by app %1$s MB (Dalvik %2$s MB, other %3$s MB).
+\n Proportional memory %4$s MB (Android limit %5$s MB, Dalvik %6$s MB).
+ Allocated memory
+ Allocated memory %1$s MB (Android limit %2$s MB, Dalvik %3$s MB).
+ Route simulation speed:
+ The car is parked at
+ Minutes
+ Hours
+ Awaiting position to calculate route
+ Continue following previous unfinished navigation\? (%1$s seconds)
+ No toll roads
+ Traffic warnings
+ Speed cameras
+ Set wake-up interval:
+ The screen is locked
+ Unlock
+ Lock
+ Mini route map
+ Second next turn
+ Next turn (small)
+ Next turn
+ Time to go
+ Altitude
+ Destination
+ Speed
+ GPX logging
+ Parking
+ Reset to default
+ Compass
+ Lock
+ Where am I
+ Configure screen
+ Street name
+ Tap the lock icon to unlock
+ Continuous
+ Stop
+\n running in background
+ Run
+\n app in background
+ Transparent widgets
+ Viewing direction
+ Ruler
+ Fluorescent routes
+ Avoid…
+ No ferries
+ No unpaved roads
+ Lanes
+ Configure screen
+ Map style
+ Rendering attributes
+ Day/night info
+ Sunrise: %1$s
+\nSunset: %2$s
+ Transport mode:
+ Transport mode:
+ Create POI filter
+ OsmAnd+ (OSM Automated Navigation Directions)
+\n
+\n OsmAnd+ is an open source software navigation app with access to a wide variety of global OSM data. All map data (vector or tile maps) can be stored on the phone memory card for offline use. Offline and online routing functionality is also offered, including turn-by-turn voice guidance.
+\n
+\n OsmAnd+ is the paid app version, by buying it you support the project, fund the development of new features, and receive the latest updates.
+\n
+\n Some of the core features:
+\n - Complete offline functionality (store downloaded vector or tile maps in the device storage)
+\n - Compact offline vector maps for the whole world available
+\n - Unlimited downloading of country or region maps directly from the app
+\n - Offline Wikipedia feature (download Wikipedia POIs), great for sightseeing
+\n - Overlay of several map layers possible, like GPX or navigation tracks, points of interest, Favorites, contour lines, public transport stops, additional maps with customizable transparency
+\n
+\n - Offline search for addresses and places (POIs)
+\n - Offline routing for medium-range distances
+\n - Car, bicycle, and pedestrian modes with optional:
+\n - Automated day/night view switching
+\n - Speed-dependent map zooming
+\n - Map alignment according to compass or direction of motion
+\n - Lane guidance, speed limit display, recorded and text-to-speech voices
+\n
+ Global Mobile Map Viewing & Navigation for Offline and Online OSM Maps
+ OsmAnd+ Maps & Navigation
+ OsmAnd (OSM Automated Navigation Directions)
+\n
+\n OsmAnd is an open source software navigation app with access to a wide variety of global OSM data. All map data (vector or tile maps) can be stored on the phone memory card for offline usage. Offline and online routing functionality is also offered, including turn-by-turn voice guidance.
+\n
+\n Some of the core features:
+\n - Complete offline functionality (store downloaded vector or tile maps in the device storage)
+\n - Compact offline vector maps for the whole world available
+\n - Download country or region maps directly from the app
+\n - Overlay of several map layers possible, like GPX or navigation tracks, points of interest, Favorites, contour lines, public transport stops, additional maps with customizable transparency
+\n - Offline search for addresses and places (POIs)
+\n - Offline routing for medium-range distances
+\n - Car, bicycle, and pedestrian modes with optional:
+\n - Automated day/night view switching
+\n - Speed-dependent map zooming
+\n - Map alignment according to compass or direction of motion
+\n - Lane guidance, speed limit display, recorded and text-to-speech voices
+\n
+\n Limitations of this free version of OsmAnd:
+\n - Number of map downloads limited
+\n - No offline access to Wikipedia POIs
+\n
+\n OsmAnd is actively being developed and our project and its continued progress relies on financial contributions for development and testing of new functionality. Please consider buying OsmAnd+, or funding specific new features or making a general donation on https://osmand.net.
+ Global mobile map viewing and navigation for offline and online OSM maps
+ OsmAnd Maps & Navigation
+ Snap to road
+ Snap position to roads during navigation.
+ Auto zoom map
+ Zoom level according to your speed (while map is synchronized with current position).
+ No motorways
+ Use compass
+ Use the compass when no heading is detected otherwise.
+ Set up traffic warnings (speed limits, forced stops, speed bumps, tunnels), speed camera warnings, and lane info.
+ Show alerts…
+ Fuel
+ For tourists
+ Food shop
+ Car aid
+ Sightseeing
+ Restaurants
+ Accommodation
+ Entertainment
+ Public transport
+ Emergency
+ Parking
+ Advanced Mode…
+ Ending point too far from nearest road.
+ Intermediate destination
+ Add as intermediate destination
+ Intermediate destination reached
+ Intermediate destination %1$s is too far from the nearest road.
+ You have already set a destination:
+ Replace the destination
+ Add as first intermediate destination
+ Add as last intermediate destination
+ Add as first intermediate destination
+ Add as last intermediate destination
+ Intermediate destination %1$s
+ Destination %1$s
+ Loading streets…
+ Loading postcodes…
+ Loading streets/buildings…
+ Converting local/English names…
+ failed
+ Authorization failed
+ Loading POI…
+ Committing node…
+ Closing changeset…
+ Opening changeset…
+ Opening hours
+ Directions
+ Please set the destination first
+ Start guidance
+ Display route
+ Replace
+ Could not fetch list of regions from https://osmand.net.
+ Downloading list of available regions…
+ Address
+ Offline data for {0} already exists ({1}). Update it ({2})\?
+ Download {0} - {1} \?
+ The storage folder on the memory card is not accessible!
+ Navigation service
+ Online or offline navigation service.
+ Do not browse online maps for zoom levels beyond this.
+ Max. online zoom
+ Online search
+ Offline search
+ Online search: House number, street, city
+ Online search using OSM Nominatim
+ Searching address…
+ Searching…
+ Nothing found
+ Uploading…
+ Uploading data…
+ Favorite
+ Building: {0}, {1}, {2}
+ Intersection: {0} x {1} in {2}
+ Street: {0}, {1}
+ City: {0}
+ Update local data from the Internet\?
+ Update POI
+ Zooming in lets you update POIs
+ No offline POI data available for this area
+ Could not load data from server.
+ Could not update local POI list.
+ POI data was updated ({0} were loaded)
+ OsmAnd navigation app
+ Show transport stops
+ Show public transport stops on the map.
+ Transport
+ Itinerary distance
+ stops to pass
+ subsequent distance
+ prior distance
+ Choose stop to get off
+ Finish search
+ Prior itinerary
+ Subsequent itinerary
+ stops
+ Stop
+ Routes
+ Add new rule
+ Cannot change opening hours format.
+ Portrait, landscape, or device.
+ Screen orientation
+ Landscape
+ Portrait
+ Same as device
+ Search nearby
+ Awaiting signal…
+ Download regions
+ Later
+ Head
+ Make U-turn and go
+ Turn slightly left and go
+ Turn sharply left and go
+ Turn left and go
+ Turn slightly right and go
+ Turn sharply right and go
+ Turn right and go
+ Unzipping file…
+ Memory card read-only.
+\nIt is now only possible to see the preloaded map, not download new areas.
+ Memory card not accessible.
+\nYou won\'t be able to see maps or find things.
+ Selected voice prompt package is not available
+ Specified voice data is corrupted
+ Unsupported version of voice data
+ Initializing voice data…
+ Voice guidance
+ Select the voice guidance for navigation.
+ Sound is off
+ Sound is on
+ Filter
+ Show filter
+ Hide filter
+ The background navigation service requires a location provider to be turned on.
+ Run OsmAnd in background
+ Tracks your position while the screen is off.
+ Location provider
+ Location method used by the background service:
+ GPS Wake-up interval
+ Wake-up interval used by the background service:
+ min.
+ seconds
+ GPS
+ Network
+ OsmAnd navigation service
+ Where am I\?
+ Maximum wait for fix
+ Sets highest waiting time allowed for each background position fix.
+ Use trackball
+ Use a trackball device to move the map.
+ Search for POI
+ Map layers
+ Map source…
+ POI overlay…
+ OSM notes (online)
+ Route
+ Yandex traffic
+ Thanks to Yandex for traffic info.
+ Any
+ Type to find a POI
+ Could not find any downloaded maps on memory card.
+ Send report
+ Could not load GPX.
+ GPX file containing Favorites not found at {0}
+ Route details
+ Map orientation
+ Map alignment:
+ No rotation (north always upwards)
+ Movement direction
+ Compass direction
+ Delete POI
+ Modify POI
+ Search for transport at stop
+ Offline vector maps
+ Could not read GPX data.
+ GPX files…
+ No GPX files found in the tracks folder
+ Vector maps were not loaded
+ Recorded voice
+ Reset transport search
+ Transport results ({0} to destination):
+ Transport results (no destination):
+ Search public transport
+ Do not stretch (and blur) map tiles on high density displays.
+ High resolution display
+ type to filter
+ Show POI phone
+ Show POI website
+ Choose rendering appearance
+ Vector renderer
+ Could not load renderer.
+ Renderer loaded
+ Use location…
+ Could not draw chosen area.
+ Display continuous rendering instead of image-at-once.
+ Continuous rendering
+ This map could not be downloaded
+ Maximum zoom to preload
+ At zoom {0} download {1} tiles ({2} MB)
+ Enable to calculate fastest route or disable for fuel-saving route.
+ Fastest route
+ Downloaded
+ {0} item(s) selected
+ Download {0} file(s) ({1} MB)\?
+ Day/night mode
+ Adjust switching between night and day mode.
+ Light sensor
+ Sunrise/sunset
+ Night
+ Day
+ Select a voice prompt package
+ No voice guidance available, please go to \'Settings\' → \'Navigation settings\', select the profile → \'Voice guidance\' and select or download a voice prompt package.
+ GPS status app not installed. Search in market\?
+ Select the OsmAnd build to install
+ Loading OsmAnd builds…
+ Retrieving the list of OsmAnd builds failed
+ Install OsmAnd - {0} of {1} {2} MB \?
+ Downloading build…
+ Build {0} was installed ({1}).
+ All offline data in the old installed app will be supported by the new one, but Favorite points must be exported from the old app and then imported in the new one.
+ Data storage folder
+ Could not find the specified folder.
+ OsmAnd offline navigation is an experimental feature and it does not work for longer distances than about 20 km.
+\n
+\nNavigation temporarily switched to online CloudMade service.
+ The version of index \'\'{0}\'\' is not supported
+ The index \'\'{0}\'\' did not fit into memory
+ Reading cached tiles…
+ Online NameFinder
+ Custom filter
+ Nearest POIs
+ Deprecated map data format \'\'{0}\'\', not supported
+ m
+ km/h
+ km
+ Indexing transport…
+ Indexing POI…
+ Indexing map…
+ Indexing address…
+ Transport
+ Tourism
+ Sustenance
+ Sport
+ Shop
+ Other
+ Office
+ Natural
+ Military
+ Man made
+ Leisure
+ Landuse
+ Historic
+ Healthcare
+ Geocache
+ Finance
+ Entertainment
+ Emergency
+ Education
+ Barrier
+ Administrative
+ Add GPX waypoint
+ Add waypoint to recorded GPX track
+ GPX waypoint \'\'{0}\'\' added
+ Remove destination
+ No route
+ Logging services
+ Please enable GPS in the settings
+ Calculate possibly non-optimal route over long distances
+ Enable the \"Trip recording\" plugin to use position logging services (GPX logging, online tracking)
+ Show destination direction
+ ZXing Barcode Scanner app not installed. Search in Google Play\?
+ Close changeset
+ OsmAnd background service still running. Stop it, too\?
+ The app is running in safe mode (turn it off in \'Settings\').
+ Safe mode
+ Run the app in safe mode (using slower Android instead of native code).
+ Roads-only maps
+ Choose when to display roads-only maps:
+ Search for more villages/postcodes
+ Search city incrementally
+ No buildings found.
+ GPX
+ Speed limit
+ Suppress display of regional boundaries (admin levels 5–9).
+ Boundaries
+ Roads-only map
+ Standard map
+ Contour lines
+ Roads only
+ Other maps
+ Contour lines
+ This plugin provides both a contour line overlay and a (relief) hillshade layer to be displayed on top of OsmAnd\'s standard maps. This functionality will be much appreciated by athletes, hikers, trekkers, and anybody interested in the relief structure of a landscape. (Please note that contour line and/or relief data are separate, additional downloads available after activating the plugin.)
+\n
+\nThe global data (between 70 ° north and 70 ° south) is based on measurements by SRTM (Shuttle Radar Topography Mission) and ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), an imaging instrument onboard Terra, the flagship satellite of NASA\'s Earth Observing System. ASTER is a cooperative effort between NASA, Japan\'s Ministry of Economy, Trade and Industry (METI), and Japan Space Systems (J-spacesystems).
+ Contour lines
+ parts
+ Audio/video notes
+ Make audio/photo/video notes during a trip, using either a map button or location context menu.
+ Audio notes
+ Tap \'Use location…\' to add a note to the location.
+ Distance measurement
+ This plugin provides both a contour line overlay and a (relief) hillshade layer to be displayed on top of OsmAnd\'s standard maps. This functionality will be much appreciated by athletes, hikers, trekkers, and anybody interested in the relief structure of a landscape.
+\n
+\n The global data (between 70 ° north and 70 ° south) is based on measurements by SRTM (Shuttle Radar Topography Mission) and ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), an imaging instrument onboard Terra, the flagship satellite of NASA\'s Earth Observing System. ASTER is a cooperative effort between NASA, Japan\'s Ministry of Economy, Trade and Industry (METI), and Japan Space Systems (J-spacesystems).
+ OsmAnd plugin for offline contour lines
+ Audio/video notes
+ Recording
+ Recording %1$s %3$s %2$s
+ Play
+ Delete recording
+ Could not play recording.
+ Recording layer
+ Take a video note
+ Take an audio note
+ unavailable
+ Delete this item\?
+ Open external player
+ An audio from the specified recording is being played.
+\n%1$s
+ Recording audio/video. Stop by tapping the AV widget.
+ Camera not available
+ Recording failed
+ Audio/video settings
+ Set up audio and video settings.
+ Use camera app
+ Use the system app for photos.
+ Use system recorder
+ Use system recorder for video.
+ Video output format
+ Video output format:
+ Default widget action
+ Default widget action:
+ Record audio
+ Record video
+ On request\?
+ Contour lines plugin
+ Please consider paying for the \'Contour lines\' plugin to support further development.
+ Change order
+ Dropbox plugin
+ Sync tracks and audio/video notes with your Dropbox account.
+ Take a photo
+ Take a photo
+ Photo %1$s %2$s
+ Show
+ Precise routing (alpha)
+ Calculate precise routes without glitches. Still distance-limited and slow.
+ Are you sure you want to clear your destination (and intermediate destinations)\?
+ Are you sure you want to stop the navigation\?
+ Audio/Video data
+ Contour lines
+ Hillshades
+ OpenMaps EU
+ none
+ Prefer motorways.
+ Prefer…
+ Prefer motorways
+ unchecked
+ checked
+ Arrival time
+ GPS info
+ Hillshade layer
+ OSM modifications
+ Specify address
+ Accessibility options
+ App theme
+ Customize app appearance.
+ Install version
+ Shows settings for turning on background tracking and navigation by periodically waking up the GPS device (with the screen off).
+ Set up how to record your trips.
+ Trip recording
+ Phone
+ Website
+ House number
+ Street name
+ Not connected to Wi-Fi. Use current connection to the Internet to download\?
+ Clear destination
+ Stop navigation
+ Dismiss route
+ Full version
+ Other
+ Use magnetic sensor
+ For the compass reading, use the magnetic sensor instead of the orientation sensor.
+ Use Kalman filter
+ Reduces noise in compass readings but adds inertia.
+ Please wait until current task is finished
+ Open existing GPX file
+ Clear all points
+ Begin a new subtrack
+ Finish editing
+ Start editing
+ * Tap to mark a point.
+\n * Long-tap the map to delete previous point.
+\n * Long-tap on a point to view and attach description.
+\n * Tap the measurement widget to see more actions.
+ Distance calculator and planning tool
+ Create paths by tapping the map, or by using or modifying existing GPX files, to plan a trip and measure the distance between points. The result can be saved as a GPX file to use later for guidance.
+ GPX file saved to {0}
+ GPX filename
+ Point
+ elevation
+ speed
+ accuracy
+ time
+ Delete Point
+ Back up as OSM change
+ Could not back up OSM changes.
+ OSM change file was generated %1$s
+ Sort door-to-door
+ Optimized order of intermediate destinations en-route to the destination.
+ Search for street in neighborhood cities
+ Set city or street first
+ Set as destination
+ Destination %1$s
+ Map view and navigation settings are remembered per use profile. Set your default profile here.
+ Default profile
+ Browse map
+ From:
+ Via:
+ To:
+ Destination
+ Lat %1$.3f, lon %2$.3f
+ Map:
+ Directions from
+ Directions to
+ You already have intermediate destinations set.
+ Keep intermediate destinations
+ Clear intermediate destinations
+ Please specify OSM user and password in \'Settings\'
+ Traffic warnings
+ Speed cameras
+ Speed limit
+ Street names (TTS)
+ Set up announcement of street names, traffic warnings (forced stops, speed bumps), speed camera warnings, and speed limits.
+ Announce…
+ UK, India, & similar
+ Europe, Asia, Latin America, & similar
+ Canada
+ United States
+ Japan
+ Driving region
+ Select driving region: US, Europe, UK, Asia, and others.
+ FPS debug info
+ Define/Edit…
+ Select existing…
+ URL
+ Minimum zoom
+ Expire (minutes)
+ Maximum zoom
+ Elliptic mercator
+ Tilesource %1$s was saved
+ Tile data: %1$s
+ Minimum zoom: %1$s
+ Maximum zoom: %1$s
+ Downloadable: %1$s
+ Expire (minutes): %1$s
+ Zooms downloaded: %1$s
+ Version info, licenses, project members
+ Version:
+ World basemap
+ Map magnifier
+ To long-range
+ To mid-range
+ To close-up
+ No auto zoom
+ Simulate using GPX track
+ Simulate using calculated route
+ Please calculate the route first
+ Are you sure you want to delete %1$d OSM changes\?
\ No newline at end of file
diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml
index 59a6a36628..bfb65bd7d9 100644
--- a/OsmAnd/res/values-eo/strings.xml
+++ b/OsmAnd/res/values-eo/strings.xml
@@ -2844,7 +2844,7 @@ Indikas lokon: %1$s x %2$s"
Ĉiujare
%1$s / monato
%1$,2f %2$s / monato
- Ŝparu %1$s.
+ Ŝparu %1$s
Nuna kotizo
Reaboni ĉiumonate
Reaboni ĉiukvaronjare
@@ -3655,4 +3655,5 @@ Indikas lokon: %1$s x %2$s"
Lombarda
Propra koloro
Kromaj mapoj
+ Nesubtenata ago %1$s
\ 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 3ec3bfc10b..766c4fa8d3 100644
--- a/OsmAnd/res/values-es-rAR/strings.xml
+++ b/OsmAnd/res/values-es-rAR/strings.xml
@@ -2858,7 +2858,7 @@ Lon %2$s
Anual
%1$s / mes
%1$.2f %2$s / mes
- Ahorra %1$s.
+ Ahorra %1$s
Suscripción actual
Renovar mensualmente
Renovar trimestralmente
@@ -3616,18 +3616,18 @@ Lon %2$s
No se pudo escribir «%1$s».
No se pudo importar «%1$s».
Cambios aplicados al perfil «%1$s».
- Personaliza la cantidad de elementos en el cajón, el la configuración del mapa y el menú contextual.
-\n
-\nPuedes desactivar los complementos no utilizados, para ocultar todos sus controles de la aplicación «%1$s».
- Elementos del cajón, menú contextual
- Personalización de la interfaz de usuario
- Cajón
+ Personaliza la cantidad de elementos en el menú lateral, la configuración del mapa y el menú contextual.
+\n
+\nPuedes desactivar los complementos no utilizados, para ocultar todos sus controles desde «%1$s».
+ Elementos del menú lateral y menú contextual
+ Personalizar interfaz de usuario
+ Menú lateral
Acciones del menú contextual
- Reordenar u ocultar elementos de «%1$s».
+ Reordena u oculta elementos en «%1$s».
Divisor
- Elementos debajo de este punto separados por un divisor.
+ Los elementos debajo de este punto están separados por un divisor.
Oculto
- Estos elementos están ocultos en el menú, pero las opciones o complementos representados siguen funcionando.
+ Estos elementos no se muestran en el menú, pero las opciones o complementos que representan seguirán funcionando.
Los ajustes se restablecerán al estado original después de ocultarse.
Las acciones principales contienen sólo 4 botones.
Acciones principales
@@ -3642,4 +3642,36 @@ Lon %2$s
Algunos artículos de Wikipedia pueden no estar disponibles en tu idioma, elige los idiomas en los que los artículos de Wikipedia aparecerán en el mapa.
\nPodrás cambiar entre todos los idiomas disponibles mientras lees el artículo.
Se necesitan mapas adicionales para ver los puntos de interés de Wikipedia en el mapa.
+ Marca los idiomas en los que los artículos de Wikipedia aparecerán en el mapa. Puedes cambiar entre todos los idiomas disponibles mientras lees el artículo.
+ Es posible que algunos artículos de Wikipedia no estén disponibles en tu idioma.
+ Cantonés
+ Min del Sur
+ Yoruba
+ Waray
+ Uzbeko
+ Urdu
+ Tártaro
+ Tayiko
+ Escocés
+ Siciliano
+ Punjabi
+ Nepalí
+ Napolitano
+ Birmano
+ Mongol
+ Minangkabau
+ Malgache
+ Kirguís
+ Kazajo
+ Javanés
+ Gujarati
+ Chuvash
+ Checheno
+ Bávaro
+ Bashkir
+ Aragonés
+ Lombardo
+ Color personalizado
+ Mapas adicionales
+ Acción «%1$s» no admitida
\ 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 147cbbbad9..336f032e6d 100644
--- a/OsmAnd/res/values-es-rUS/strings.xml
+++ b/OsmAnd/res/values-es-rUS/strings.xml
@@ -2858,7 +2858,7 @@ Lon %2$s
Anual
%1$s / mes
%1$.2f %2$s / mes
- Ahorra %1$s.
+ Ahorra %1$s
Suscripción actual
Renovar mensualmente
Renovar trimestralmente
diff --git a/OsmAnd/res/values-es/strings.xml b/OsmAnd/res/values-es/strings.xml
index 80a140d695..448a1a4214 100644
--- a/OsmAnd/res/values-es/strings.xml
+++ b/OsmAnd/res/values-es/strings.xml
@@ -2850,7 +2850,7 @@
Anual
%1$s / mes
%1$.2f %2$s / mes
- Ahorra %1$s.
+ Ahorra %1$s
Suscripción actual
Renovar mensualmente
Renovar trimestralmente
diff --git a/OsmAnd/res/values-et/strings.xml b/OsmAnd/res/values-et/strings.xml
index 6791a51366..83b9a9ec24 100644
--- a/OsmAnd/res/values-et/strings.xml
+++ b/OsmAnd/res/values-et/strings.xml
@@ -558,7 +558,7 @@
Igal aastal
%1$s / kuu
%1$.2f %2$s / kuu
- Salvesta %1$s.
+ Salvesta %1$s
Praegune tellimus
Uueneb igakuiselt
Uueneb kord kvartalis
diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml
index a2f100666d..0aeaa13716 100644
--- a/OsmAnd/res/values-fa/strings.xml
+++ b/OsmAnd/res/values-fa/strings.xml
@@ -3468,7 +3468,7 @@
این مورد فقط نقاطی را ضبط میکند که با شاخص کمترین صحت (به متر/فوت، مطابق گزارش اندروید از چیپست) اندازهگیری شدهاند. منظور از صحت، پراکندگی اندازهگیریهای تکراری است و مستقیماً مربوط به دقت نمیشود (دقت: میزان نزدیکی اندازهگیریها به موقعیت واقعی).
اثر جانبی: درنتیجهٔ پالایش بر اساس صحت، ممکن است مثلاً زیر پلها، زیر درختان، میان ساختمانهای بلند یا در شرایط جوّی بخصوص، نقاط تماماً از دست بروند.
توصیه: سخت است آنچه ثبت میشود یا آنچه ثبت نمیشود را پیشبینی کنیم. شاید بهتر باشد این پالایه را خاموش کنید.
- توجه: اگر بلافاصله پیش از ضبط، GPS خاموش بوده، ممکن است نخستین نقطه صحت کمتری داشته باشد؛ بنابراین ممکن است بخواهیم طوری کدنویسی کنیم که یک نقطه با یک یا چند ثانیه تأخیر ضبط شود (یا از سه نقطهٔ پیدرپی بهترینشان را ضبط کنیم و...)، البته این هنوز پیاده نشده.
+ توجه: اگر بلافاصله پیش از ضبط، GPS خاموش بوده، ممکن است نخستین نقطه صحت کمتری داشته باشد؛ بنابراین ممکن است بخواهیم طوری کدنویسی کنیم که یک نقطه با یک یا چند ثانیه تأخیر ضبط شود یا از سه نقطهٔ پیدرپی بهترینشان را ضبط کنیم و... . البته این هنوز پیادهسازی نشده است.
اعلان
کمترین سرعت
کمترین صحت
@@ -3650,9 +3650,9 @@
زبانها
زبان
همهٔ زبانها
- تعداد اقلام کشو را بهدلخواه تنظیم کنید، نقشه و منوی زمینه را پیکربندی نمایید.
-\n
-\nمیتوانید افزونههای بیاستفاده را غیرفعال کنید تا همهٔ کنترلهای آنها از %1$s برنامه پنهان شود.
+ تعداد اقلام کشو را بهدلخواه تنظیم کنید، نقشه و منوی زمینه را پیکربندی نمایید.
+\n
+\nمیتوانید افزونهٔ بیاستفاده را غیرفعال کنید تا همهٔ کنترلهای آن از برنامه پنهان شود.
تنظیمات پس از پنهانسازی به حالت اولیه بازنشانی میشود.
این اقلام در منو پنهان میشوند، اما گزینهها یا افزونههای متناظر همچنان کار میکنند.
پنهان
@@ -3673,4 +3673,7 @@
ممکن است برخی مقالههای ویکیپدیا به زبان شما در دسترس نباشد.
لومبارد
رنگ دلخواه
+ اردو
+ تاجیکی
+ نقشههای بیشتر
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index 51ddd4d171..5c128369ff 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -3,10 +3,10 @@
Modifications hors-ligne
Toujours utiliser l\'édition hors-ligne.
Les modifications de points d\'intérêt dans l\'application sont sans effet sur les cartes téléchargées, les modifications sont enregistrées dans un fichier de votre appareil.
- Envoi…
- {0} Points d\'intérêt / Notes ont été envoyés
- Tout envoyer
- Envoyer les modifications vers OSM
+ Téléversement…
+ {0} Points d\'intérêt / Notes ont été téléversés
+ Tout téléverser
+ Téléverser les modifications vers OSM
Supprimer la modification
Modification asynchrone d\'OSM :
Points d\'intérêt / notes OSM enregistrés sur l\'appareil
@@ -15,7 +15,7 @@
Intervalle pour le suivi en ligne
Préciser l\'adresse web pour le suivi en ligne avec la syntaxe : lat={0}, lon={1}, timestamp={2}, hdop={3}, altitude={4}, speed={5}, bearing={6}.
Adresse web pour le suivi en ligne
- Enregistrer la trace avec le composant GPX ou avec l\'option \"Enregistrer l\'itinéraire\".
+ Enregistrer la trace avec le composant GPX ou avec l\'option « Enregistrer l\'itinéraire ».
Afficher la trace actuelle
La version gratuite d\'OsmAnd est limitée à %1$s téléchargements (un téléchargement correspond à l\'installation ou à la mise à jour d\'une carte).
Version gratuite
@@ -54,8 +54,8 @@
Votre mot de passe OSM
Mode arrière-plan
OsmAnd s\'exécute en arrière-plan, écran éteint.
- Téléchargez une carte vectorielle hors-ligne pour ce lieu (depuis \'Paramètres\' > \'Gérer les cartes\') ou utilisez le greffon \"cartes en ligne\".
- Il n\'y a pas suffisamment d\'espace pour télécharger %1$s MB (disponible : %2$s).
+ Téléchargez une carte vectorielle hors-ligne pour ce lieu (depuis « Paramètres » > « Gérer les cartes ») ou utilisez le greffon « cartes en ligne ».
+ Il n\'y a pas suffisamment d\'espace pour télécharger %1$s Mo (disponible : %2$s).
Télécharger {0} fichier(s) \?
\n{1} Mo (sur {2} Mo) seront utilisés.
Thème de transparence
@@ -103,8 +103,8 @@
Nom du fichier :
Le même nom existe déjà.
Enregistrer
- Envoyer les fichiers GPX à la communauté OSM. Ils seront utilisés pour améliorer les cartes.
- %1$d sur %2$d élément(s) envoyé(s).
+ Téléverser les fichiers GPX à la communauté OSM. Ils seront utilisés pour améliorer les cartes.
+ %1$d sur %2$d élément(s) téléversé(s).
Envoyer à OSM
Afficher plus de détails
Afficher certains détails des cartes vectorielles (routes, etc.) y compris aux niveaux de zooms inférieurs.
@@ -417,8 +417,8 @@
Favoris
Tout supprimer
Historique
- Envoi des données…
- Envoi…
+ Téléversement des données…
+ Téléversement…
Rien n\'a été trouvé
Recherche en cours…
Recherche de l\'adresse…
@@ -591,14 +591,14 @@
Point de départ non défini.
Annuler le téléchargement ?
Le fond de carte mondial, nécessaire pour un fonctionnement de base, est en attente de téléchargement.
- Activez le greffon \"Cartes en ligne\" pour sélectionner différentes sources de cartes
+ Activez le greffon « Cartes en ligne » pour sélectionner différentes sources de cartes
Carte en ligne (tuiles)
Utiliser les cartes en ligne (télécharge et conserve en cache les tuiles sur la carte mémoire).
Cartes en ligne
Sélectionnez la source de la carte : en ligne ou tuile en cache.
Accédez à une grand nombre de cartes en ligne (aussi appelées tuiles ou cartes raster) qui vont de cartes OpenStreetMap (comme Mapnik) jusqu\'aux images satellites en passant par des cartes spécialisées comme des cartes météo, des cartes de climat, des cartes géologiques, les couches de relief, etc.
\n
-\nChacune de ces cartes est utilisable, comme carte principale, sur-couche ou sous-couche d\'une autre carte. Afin de gérer au mieux la superposition des cartes et améliorer la lisibilité, vous pouvez masquer certains éléments des cartes vectorielles hors ligne depuis le menu \"Paramétrer la carte\".
+\nChacune de ces cartes est utilisable, comme carte principale, sur-couche ou sous-couche d\'une autre carte. Afin de gérer au mieux la superposition des cartes et améliorer la lisibilité, vous pouvez masquer certains éléments des cartes vectorielles hors ligne depuis le menu « Paramétrer la carte ».
\n
\nLes cartes tuiles peuvent être obtenues directement en ligne ou peuvent être préparées pour un usage hors ligne grâce à des outils tiers puis copiées dans le dossier de données d\'OsmAnd sous forme de base de données SQLite.
Affiche les préférences afin d\'activer le suivi et la navigation en arrière-plan (écran éteint) en réveillant périodiquement le GPS.
@@ -617,7 +617,7 @@
Visibilité
Libellés
Description
- Veuillez renseigner le compte et le mot de passe OSM pour envoyer les fichiers GPX.
+ Veuillez renseigner le compte et le mot de passe OSM pour téléverser les fichiers GPX.
Soutien
Soutenir le développement
Afficher l\'échelle
@@ -694,7 +694,7 @@
Polygones
Profil pour l\'affichage
Optimisation de la carte selon le profil d\'utilisation
- Afficher à partir du niveau de zoom (données courbes de niveau requises)
+ Afficher à partir du niveau de zoom (données courbes de niveau requises) :
Afficher les courbes de niveau
Augmenter le niveau de détail affiché.
Afficher plus de détail
@@ -728,7 +728,7 @@
Point de départ trop éloigné de la route la plus proche.
Lieu partagé
Vitesse de simulation de l\'itinéraire :
- Mémoire allouée %1$s MB (limite Android %2$s MB, Dalvik %3$s MB).
+ Mémoire allouée %1$s Mo (limite Android %2$s MB, Dalvik %3$s Mo).
Mémoire allouée
Mémoire totale utilisée par l\'application %1$s Mo (Dalvik %2$s Mo, divers %3$s Mo).
\nMémoire proportionnelle %4$s Mo (limite Android %5$s Mo, Dalvik %6$s Mo).
@@ -886,19 +886,19 @@
Courbes de niveau
Ce greffon permet l\'affichage de courbes de niveau ainsi que du relief (ombres) qui s\'ajoutent au-dessus des cartes standards d\'OsmAnd. Ces informations sont particulièrement utiles pour les sportifs, les randonneurs, les cyclistes et d\'une manière générale par toutes les personnes qui souhaitent connaitre le relief. Les données pour les courbes de niveau et le relief sont des données supplémentaires que vous devez télécharger après avoir activé ce greffon.
\n
-\nLes données globales (entre 70° Nord et 70° Sud) sont basées sur des mesures de SRTM (Shuttle Radar Topography Mission) et ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), un instrument d\'imagerie embarqué à bord de Terra, le satellite phare du système d\'observation de la terre de la NASA. ASTER est un effort de coopération entre la NASA, le ministère japonais de l\'économie, du commerce et de l\'industrie (METI) et \"Japan Space Systems\" (J-Spacesystems).
+\nLes données globales (entre 70° Nord et 70° Sud) sont basées sur des mesures de SRTM (Shuttle Radar Topography Mission) et ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), un instrument d\'imagerie embarqué à bord de Terra, le satellite phare du système d\'observation de la terre de la NASA. ASTER est un effort de coopération entre la NASA, le ministère japonais de l\'économie, du commerce et de l\'industrie (METI) et Japan Space Systems (J-Spacesystems).
Courbes de niveaux
Autres cartes
Courbes de niveau
parties
- Appuyez sur \"Utiliser la position...\" pour ajouter une note sur le point.
+ Appuyez sur « Utiliser la position… » pour ajouter une note sur le point.
Notes audio
Prenez des notes (photos, audios ou vidéos) pendant votre itinéraire soit en utilisant un bouton, soit depuis le menu contextuel de n\'importe quel point.
Notes audio/vidéo
Greffon OsmAnd pour les courbes de niveau hors-ligne
Ce greffon permet l\'affichage de courbes de niveau ainsi que du relief (ombres) qui s\'ajoutent au-dessus des cartes standard d\'OsmAnd. Ces informations sont particulièrement utiles pour les sportifs, les randonneurs, les cyclistes et d\'une manière générale par toutes les personnes qui souhaitent connaitre le relief.
\n
-\nLes données globales (entre 70° Nord et 70° Sud) sont basées sur des mesures SRTM (Shuttle Radar Topography Mission) et ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), des instruments d\'imagerie embarqués à bord de Terra, le satellite phare du système d\'observation de la terre de la NASA. ASTER est un effort de coopération entre la NASA, le ministère japonais de l\'économie, du commerce et de l\'industrie (METI) et \"Japan Space Systems\" (J-Spacesystems).
+\nLes données globales (entre 70° Nord et 70° Sud) sont basées sur des mesures SRTM (Shuttle Radar Topography Mission) et ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), des instruments d\'imagerie embarqués à bord de Terra, le satellite phare du système d\'observation de la terre de la NASA. ASTER est un effort de coopération entre la NASA, le ministère japonais de l\'économie, du commerce et de l\'industrie (METI) et «Japan Space Systems (J-Spacesystems).
Mesure de distance
Enregistrer une vidéo
Enregistrer une note audio
@@ -928,8 +928,8 @@
Arrêter
Notes audio/vidéo
Démarrer
- Merci d\'acheter le greffon \"Courbes de niveau\" pour soutenir les développements futurs.
- Greffon \"Courbes de niveau\"
+ Merci d\'acheter le greffon « Courbes de niveau » pour soutenir les développements futurs.
+ Greffon « Courbes de niveau »
Modifier l\'ordre
Greffon Dropbox
Synchronisez vos itinéraires et notes audio / vidéo avec votre compte Dropbox.
@@ -1017,7 +1017,7 @@
Nom des rues (TTS)
Version :
Japon
- États-Unis d\'Amérique
+ États-Unis
Canada
Limitations de vitesse
À propos
@@ -1164,7 +1164,7 @@
Letton
Lituanien
Marathe
- Norvégien Bokmål
+ Norvégien bokmål
Polonais
Portugais
Roumain
@@ -1284,7 +1284,7 @@
Interrompre la navigation
Lignes de métro
Difficulté des chemins de randonnée (échelle CAS)
- Afficher la difficulté des chemins selon l\'échelle du CAS
+ Afficher la difficulté des chemins selon l\'échelle du CAS.
Légende de la sur-couche de randonnée
Afficher les chemins de randonnée d\'après les traces OSMC.
Bâtiments colorés par type
@@ -1445,8 +1445,8 @@
Exporter
Ce greffon pour OsmAnd affiche le relief en conditions hivernales, ainsi que les pistes de ski (dont la difficulté est représentée par un code couleurs) et les remontées mécaniques.
\n
-\nL\'activation de cette vue change le style de carte en \"Hiver et ski\", en affichant toutes les caractéristiques du paysage en condition neigeuse. Cet affichage peut être annulé soit en le désactivant ici, soit en modifiant le Style de la carte dans \"Paramétrer la carte\".
- Activer cette vue bascule vers le style d\'affichage \"Grand tourisme\", affichant une carte très détaillée adaptée aux voyageurs et chauffeurs routiers.
+\nL\'activation de cette vue change le style de carte en « Hiver et ski », en affichant toutes les caractéristiques du paysage en condition neigeuse. Cet affichage peut être annulé soit en le désactivant ici, soit en modifiant le Style de la carte dans « Paramétrer la carte ».
+ Activer cette vue bascule vers le style d\'affichage « Grand tourisme », affichant une carte très détaillée adaptée aux voyageurs et chauffeurs routiers.
\n
\nCet affichage, quel que soit le niveau de zoom, fournit le maximum de détails disponibles.
\n
@@ -1456,7 +1456,7 @@
\n
\nIl n\'est pas nécessaire de télécharger une carte supplémentaire, cet affichage s\'appuyant sur les cartes standards.
\n
-\nCet affichage peut être annulé soit en le désactivant ici, soit en modifiant le Style de la carte dans \"Paramétrer la carte\".
+\nCet affichage peut être annulé soit en le désactivant ici, soit en modifiant le Style de la carte dans « Paramétrer la carte ».
Grand tourisme
Ce greffon enrichit la carte OsmAnd ainsi que l\'application de navigation afin d\'afficher des cartes marines pour la navigation de plaisance, la voile et tous les sports nautiques.
\n
@@ -1502,7 +1502,7 @@
Indiquez le délai d\'affichage de l\'itinéraire détaillé, avant de démarrer la navigation.
Aller
Effacer l\'historique ?
- Êtes-vous certain de vouloir envoyer %1$d modification(s) à OSM \?
+ Êtes-vous certain·e de vouloir téléverser %1$d modification(s) à OSM \?
Lancer la navigation pas à pas après …
Modifications OSM mémorisées localement
Marquer pour suppression
@@ -1511,7 +1511,7 @@
Afin de prendre en compte la signalisation routière et le code de la route, merci de sélectionner votre région :
Avec OsmAnd visualisez des cartes hors-ligne et naviguez sans couverture réseau dans le monde entier.
Bienvenue
- Dans certains pays (France, Allemagne, Italie, …) l\'utilisation d\'alertes radars est interdite par la loi. OsmAnd décline toute responsabilité en cas de violation de la loi. Pour activer cette fonctionnalité en toute connaissance de cause, répondez \"Oui\".
+ Dans certains pays (France, Allemagne, Italie, …) l\'utilisation d\'alertes radars est interdite par la loi. OsmAnd décline toute responsabilité en cas de violation de la loi. Pour activer cette fonctionnalité en toute connaissance de cause, répondez « Oui ».
Données A-GPS
Données A-GPS mises à jour le %1$s
Message
@@ -1620,9 +1620,9 @@
Indiquez-nous pourquoi.
Merci de nous faire part de ce que vous voudriez améliorer dans cette application.
Mise à jour automatique
- Erreur lors de l\'envoi
+ Erreur lors du téléversement
Supprimer les modifications
- Envoi avec succès {0}/{1}
+ Téléversé avec succès {0}/{1}
Essayer à nouveau
Erreur : {0}
Aucune mise à jour disponible
@@ -1656,7 +1656,7 @@
Nombre de lignes
Nombre de lignes %1$s
Enregistré avec succès à : %1$s
- Le Point d\'Intérêt sera supprimé par l\'envoi de vos modifications
+ Le Point d\'intérêt sera supprimé par le téléversement de vos modifications
Éviter les trains-navettes
La carte a été masquée
Éviter les trains-navettes
@@ -1689,8 +1689,8 @@
Ajouter une catégorie
Sélectionner une catégorie
Courbes de niveau désactivées
- Afficher le bandeau \"Version Gratuite\"
- Afficher le bandeau \"Version Gratuite\" même dans la version payante
+ Afficher le bandeau « Version gratuite »
+ Afficher le bandeau « Version gratuite » même dans la version payante
Téléchargement de %1$d fichiers
Affichage du relief désactivé
Acheter
@@ -1706,9 +1706,9 @@
Ajouter une catégorie
Cette catégorie existe déjà. Merci d\'utiliser un autre nom.
Êtes-vous certain de vouloir télécharger la carte des routes alors que vous disposez déjà d\'une carte complète ?
- %1$.1f de %2$.1f MB
- %.1f MB
- Tout mettre à jour (%1$s MB)
+ %1$,1f de %2$,1f Mo
+ %,1f Mo
+ Tout mettre à jour (%1$s Mo)
Téléchargements gratuits effectués
Affiche le nombre de téléchargements gratuits restants.
geo :
@@ -1745,7 +1745,7 @@
Nous contacter
Point d\'intérêt créé sur OSM
Légende
- Téléversement
+ Téléverser
Mettre à jour
En savoir +
Nouveautés de la version
@@ -1868,9 +1868,9 @@
Barre d\'outils
Widgets
Il est recommandé de désactiver le rendu des polygones.
- Envoyer de manière anonyme
+ Téléverser anonymement
Envoyez vos notes OSM en anonyme ou avec votre compte OpenStreetMap.org.
- Envoyer la note OSM
+ Téléverser la note OSM
Espace insuffisant !
\nCette opération requiert temporairement {3} Mo et {1} Mo seront utilisés de manière permanente.
\n(actuellement seuls {2} Mo sont disponibles)
@@ -2077,7 +2077,7 @@
Bien
Translittérer si le nom %1$s est absent
Calcul de l\'itinéraire
- Télécharger les points d\'intérêt
+ Téléverser les points d\'intérêt
Prenez la sortie %1$d
Ville ou région
Autoriser les trajets sur autoroute.
@@ -2103,7 +2103,7 @@
Ajouter une marque
Ajouter un point d\'intérêt
Modifier le style de carte
- Style de carte modifié pour \"%s\".
+ Style de carte modifié pour « %s ».
Nouvelle note sonore
Nouvelle note vidéo
Nouvelle note photo
@@ -2118,7 +2118,7 @@
Ajouter un favori
Ajouter une action
Supprimer l\'action
- Êtes-vous certain de vouloir supprimer l\'action \"%s\" ?
+ Êtes-vous certain·e de vouloir supprimer l\'action « %s » \?
Afficher la liste des favoris
Nom du réglage
Nom de l\'action
@@ -2153,7 +2153,7 @@
Modifier la source de la carte
Sources de cartes
Ajouter une source de carte
- Source de la carte modifiée pour \"%s\".
+ Source de la carte modifiée pour « %s ».
Déplacer le bouton
Appui long pour déplacer le bouton sur l\'écran.
Bouton pour ajouter une marque au centre de la carte.
@@ -2170,8 +2170,8 @@
Afficher une fenêtre intermédiaire
Créer des éléments
Ce message est ajouté en commentaire.
- Sur-couche de la carte modifiée pour \"%s\".
- Sous-couche de la carte modifiée pour \"%s\".
+ Sur-couche de la carte modifiée pour « %s ».
+ Sous-couche de la carte modifiée pour « %s ».
Ouvrir un code d\'emplacement
Code d\'emplacement incorrect
@@ -2235,10 +2235,11 @@ représentant la zone : %1$s x %2$s
\nProfitez 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 Conduite, Piéton, Cycliste ; Contribuez à l\'amélioration des cartes OSM et bien plus encore.
Ski
\nLe greffon OsmAnd ski maps permet de visualiser les pistes de ski avec leur niveau de difficulté et d\'autres informations utiles comme l\'emplacement et le type des remontées mécaniques.
- Contribuez à OpenStreetMap (OSM)
-\n • Signalez des anomalies
-\n • Envoyez des traces GPX vers OSM directement depuis l\'application
-\n • Ajoutez des Points d\'Intérêt et envoyez-les vers OSM (immédiatement ou plus tard si vous êtes hors-ligne)
+ Contribuez à OpenStreetMap (OSM)
+\n • Signalez des anomalies
+\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)
\n • Europe de l\'Ouest : **** (4)
\n • Europe de l\'Est : *** (3)
@@ -2260,12 +2261,13 @@ représentant la zone : %1$s x %2$s
Restaurer vos achats
Visible
Contribuez concrètement à l\'amélioration d\'OpenStreetMap :
-\n • Signalez des erreurs de données
-\n • Envoyez des traces GPX à OpenStreetMap directement depuis l\'application
-\n • Ajoutez des points d\'intérêt et envoyez-les à OpenStreetMap (immédiatement si vous êtes en ligne ou plus tard si vous êtes hors-ligne)
+\n • Signalez des erreurs de données
+\n • Téléversez des traces GPX à OpenStreetMap directement depuis l\'application
+\n • Ajoutez des points d\'intérêt et téléversez-les à OpenStreetMap (immédiatement si vous êtes en ligne ou plus tard si vous êtes hors-ligne)
\n • Enregistrez vos itinéraires en arrière-plan (pendant que votre appareil est en veille).
\n
-\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.
+\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 !
\n
@@ -2349,7 +2351,8 @@ représentant la zone : %1$s x %2$s
\n • Le niveau de zoom de la carte s\'adapte à votre vitesse
\n • Recherchez des destinations par adresse, type (par exemple : parking, restaurant, hôtel, station service, musée) ou par coordonnées géographiques
\n • Possibilité d\'ajouter des points de passage à votre itinéraire
-\n • Enregistrez votre itinéraire au format GPX ou suivre une trace GPX existante
+\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)
@@ -2406,7 +2409,7 @@ représentant la zone : %1$s x %2$s
Rose translucide
Suspendre / Reprendre la Navigation
Bouton pour suspendre ou reprendre la navigation.
- Afficher la fenêtre \"Navigation terminée\"
+ Afficher la fenêtre « Navigation terminée »
Démarrer / Arrêter la Navigation
Bouton pour démarrer ou arrêter la navigation.
Vous devez être connectés à Internet pour afficher les photos Mapillary.
@@ -2453,7 +2456,8 @@ représentant la zone : %1$s x %2$s
\n• Articles Wikipédia dans la langue de votre choix pour découvrir les lieux visités
\n• Arrêts de transports publics (bus, tram, train), incluant les noms de lignes, pour vous aider dans vos déplacements en ville
\n• Guidage de navigation piéton en suivant les itinéraires piétons
-\n• Vous pouvez charger et suivre une trace GPX existante; enregistrer et partager un nouvel itinéraire GPX
+\n• Vous pouvez téléverser et suivre une trace GPX existante ; enregistrer et partager un nouvel itinéraire GPX
+\n
Déplacer tout dans l\'historique
Indication de distance
Trier par
@@ -2765,11 +2769,11 @@ représentant la zone : %1$s x %2$s
Pour la navigation en mer et en rivière. Fonctions clés : bouées, phares, balises, chenaux de navigation, ports, lignes de sonde.
Sports d\'hiver. Fonctions clés : tracés et difficultés des pistes de ski, remontées mécaniques, courses hors-piste, rendu hivernal et masquage des objets secondaires.
Style simple pour la conduite. Mode nuit doux, courbes de niveaux, routes contrastées de couleur orange, objets secondaires masqués.
- Ancien rendu par défaut \'Mapnik\'. Fonctions clés : couleurs identiques au style \'Mapnik\'.
+ Ancien rendu par défaut Mapnik. Fonctions clés : couleurs identiques au style Mapnik.
Style générique. Zones urbaines affichées clairement, courbes de niveaux, routes et revêtement des routes, restrictions d\'accès, chemins identifiés sur l\'échelle SAC.
Favori
Pour les activités en extérieur (randonnée, VTT). Lisibilité optimisée pour l\'extérieur, routes et éléments naturels contrastés, distinction des types de routes en fonction de leur revêtement, options avancées pour les courbes de niveaux, nombreux détails. Pas de mode nuit.
- Pour la conduite sur voies non revêtues. Style basé sur le style \"Topo\" et à utiliser avec la sous-couche verte d\'images satellites. Largeur réduite pour les routes, largeur augmentée pour les chemins et autres pistes.
+ Pour la conduite sur voies non revêtues. Style basé sur le style « Topo » et à utiliser avec la sous-couche verte d\'images satellites. Largeur réduite pour les routes, largeur augmentée pour les chemins et autres pistes.
Style très détaillé pour le tourisme. Inclus tous les caractéristiques du style OsmAnd par défaut plus : information les plus détaillées possibles sur les routes, chemins, sentiers et tous les moyens permettant de se déplacer. Distinction visuelle claire des différents types de routes. Adapté à un usage en extérieur, de jour comme de nuit.
Heure d\'arrivée à l\'étape
Heure d\'arrivée à l\'étape
@@ -2781,11 +2785,12 @@ représentant la zone : %1$s x %2$s
Modifier le point
Ajouter un point
Enregistrer comme trace
- Vous avez ajouté %1$s points. Donnez un nom au fichier et cliquez sur Enregistrer.
+ Vous avez ajouté %1$s points. Donnez un nom au fichier et cliquez sur « Enregistrer ».
Point %1$s supprimé
Monde
- Vous êtes sur le point d\'envoyer la recherche : \"%1$s\" ainsi que votre position.\n
- \nAucune donnée personnelle ne sera envoyée. Ces informations seront utilisées afin d\'améliorer l\'algorithme de recherche.
+ Vous êtes sur le point d\'envoyer la recherche : « %1$s » ainsi que votre position.
+\n
+\nAucune donnée personnelle ne sera envoyée. Ces informations seront utilisées afin d\'améliorer l\'algorithme de recherche.
Aucun résultat ?
\nSignalez-le nous.
Envoyez votre recherche ?
@@ -2829,7 +2834,7 @@ représentant la zone : %1$s x %2$s
Restaurer
Les marques visitées resteront affichées sur la carte, que les marques appartiennent à un groupe de favoris ou qu\'il s\'agisse de points de passage GPX. Ces marques ne disparaîtront que lorsque le groupe ou la trace sera désactivé.
Afficher sur la carte les marques visitées
- Supprimer la marque \'%s\' \?
+ Supprimer la marque « %s » \?
Modifier la marque
Application tierce
Mensuel
@@ -2839,7 +2844,7 @@ représentant la zone : %1$s x %2$s
%1$.2f %2$s / mois
Économisez %1$s
Abonnement en cours
- %1$.2f %2$s
+ %1$,2f %2$s
Fréquence de règlement :
Les dons financent la cartographie OSM / OpenStreetMap.
Abonnements & tarifs
@@ -2954,8 +2959,8 @@ représentant la zone : %1$s x %2$s
Les itinéraires en transports publics sont actuellement en phase de test. Des erreurs ou des imprécisions peuvent avoir lieu.
Ajouter un point intermédiaire
Marche
- Merci de réduire la taille de l\'étiquette \"%s\" à moins de 255 caractères.
- Taille de \"%s\"
+ Merci de réduire la taille de l\'étiquette « %s » à moins de 255 caractères.
+ Taille de « %s »
Sélectionnez les types de transports publics à éviter lors de la navigation :
Éviter des types de transports …
Mode %s
@@ -2998,7 +3003,7 @@ représentant la zone : %1$s x %2$s
%1$d fichiers déplacés (%2$s).
%1$d fichiers copiés (%2$s).
Impossible de copier %1$d fichiers (%2$s).
- %1$d fichiers (%2$s) sont présents dans l\'emplacement précédent \'%3$s\'.
+ %1$d fichiers (%2$s) sont présents dans l\'emplacement précédent « %3$s ».
Déplacer les cartes
Ne pas déplacer
L\'itinéraire piéton est approximativement de %1$s et peut-être plus rapide qu\'en transport public
@@ -3037,7 +3042,7 @@ représentant la zone : %1$s x %2$s
Enregistrer les modifications
Enregistrez d\'abord les modifications apportées au profil
Supprimer le profil
- Êtes-vous certain de vouloir supprimer le profil \"%s\" \?
+ Êtes-vous certain·e de vouloir supprimer le profil « %s » \?
Sélectionnez un profil avec lequel démarrer
Magenta
icône
@@ -3108,7 +3113,7 @@ représentant la zone : %1$s x %2$s
\n
\nVous pouvez changer d\'avis à tout moment dans Paramètres > Vie privée et Sécurité.
Aidez nous à connaître les pays et régions les plus populaires.
- Appuyez sur \"Autoriser\" pour accepter nos %1$s
+ Appuyez sur « Autoriser » pour accepter nos %1$s
Mode utilisateur, dérive de : %s
Merci de sélectionner un type de navigation pour le nouveau profil
Merci d\'activer au moins un profil pour utiliser cette option.
@@ -3152,7 +3157,7 @@ représentant la zone : %1$s x %2$s
\n
\n• Téléchargements de cartes en arrière-plan améliorés
\n
-\n• Retour de l\'option \"Allumer l\'écran\"
+\n• Retour de l\'option « Allumer l\'écran »
\n
\n• Correction de la sélection de la langue Wikipédia
\n
@@ -3209,7 +3214,7 @@ représentant la zone : %1$s x %2$s
Ce paramètre est sélectionné par défaut dans les profils : %s
Modifier le paramètre
Ignorer la modification
- Appliquer uniquement à \"%1$s\"
+ Appliquer uniquement à « %1$s »
Appliquer à tous les profils
Message au démarrage
Unités et formats
@@ -3239,7 +3244,7 @@ représentant la zone : %1$s x %2$s
Code Open Location
Analyses
Afficher la carte sur l\'écran de verrouillage pendant la navigation.
- Paramètres de calcul d\'itinéraire pour le profil sélectionné : \"%1$s\".
+ Paramètres de calcul d\'itinéraire pour le profil sélectionné : « %1$s ».
Heure de réveil
Apparence de la carte
Apparence de la carte
@@ -3248,7 +3253,7 @@ représentant la zone : %1$s x %2$s
Alertes visuelles
Définir les paramètres de l\'itinéraire
Paramètres de l\'itinéraire
- Profil de l\'appli basculé à \"%s\"
+ Profil de l\'appli basculé à « %s »
Buffer Logcat
Paramètres du greffon
Payez %1$d %2$s et gagnez %3$s.
@@ -3292,16 +3297,16 @@ représentant la zone : %1$s x %2$s
Utilisation d\'OsmAnd
Tuiles
Cartes
- %1$s TB
- %1$s GB
- %1$s MB
- %1$s kB
+ %1$s To
+ %1$s Go
+ %1$s Mo
+ %1$s ko
%1$s • %2$s
- %1$s GB libre (sur %2$s GB)
+ %1$s Go libre (sur %2$s Go)
Dossier de stockage des traces
%1$s TB utilisés
%1$s GB utilisés
- %1$s MB utilisés
+ %1$s Mo utilisés
%1$s kB utilisés
Courbes de niveaux et Ombrage du relief
Privilégier les routes non revêtues
@@ -3384,7 +3389,7 @@ représentant la zone : %1$s x %2$s
Pour les déserts et autres zones faiblement peuplées, affiche plus de détails.
Icône de votre position en déplacement
Icône de votre position à l\'arrêt
- \'Appliquer\' supprimera définitivement les profils retirés.
+ « Appliquer » supprimera définitivement les profils retirés.
Profil principal
Sélectionnez la couleur
Les profils OsmAnd par défaut ne peuvent pas être supprimés mais vous pouvez les désactiver (depuis l\'écran précédent) ou les déplacer vers le bas.
@@ -3421,7 +3426,7 @@ représentant la zone : %1$s x %2$s
Nom d\'utilisateur et mot de passe
Ces paramètres s\'appliquent à tous les profils.
Édition OSM
- Vous pouvez consulter vos modifications non envoyées comme vos bugs OSM dans %1$s. Les points envoyés ne sont plus affichés dans OsmAnd.
+ Vous pouvez consulter vos modifications non téléversées comme vos bugs OSM 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.
@@ -3599,7 +3604,7 @@ représentant la zone : %1$s x %2$s
\nVous pouvez désactiver les greffons inutilisés, pour masquer tous leurs contrôles dans l’application %1$s.
Ces éléments sont masqués dans le menu mais les options présentes ou les greffons fonctionneront toujours.
Les paramètres seront réinitialisés à leurs valeurs par défaut après avoir été masqués.
- Vous pouvez accéder à ces actions en appuyant sur le bouton \"Actions\".
+ Vous pouvez accéder à ces actions en appuyant sur le bouton « Actions ».
Éléments du panneau déroulant, menu contextuel
Panneau déroulant
Réorganisez ou masquez les éléments à partir de %1$s.
@@ -3620,4 +3625,28 @@ représentant la zone : %1$s x %2$s
Certains articles Wikipédia peuvent ne pas être disponibles dans votre langue.
Couleur personnalisée
Cartes supplémentaires
+ Tadjik
+ Punjabi
+ Népalais
+ Napolitain
+ Birman
+ Minangkabau
+ Bashkir
+ Lombard
+ Cantonais
+ Min du Sud
+ Yoruba
+ Waray
+ Ouzbek
+ Ourdou
+ Tatar
+ Écossais
+ Malgache
+ Kazakh
+ Tchouvache
+ Tchétchène
+ Aragonais
+ Action %1$s non prise en charge
+ Kirghize
+ Gujarati
\ No newline at end of file
diff --git a/OsmAnd/res/values-gl/strings.xml b/OsmAnd/res/values-gl/strings.xml
index f04476fd63..01387f5729 100644
--- a/OsmAnd/res/values-gl/strings.xml
+++ b/OsmAnd/res/values-gl/strings.xml
@@ -38,7 +38,7 @@
Liñas de bus, trolebus e transbordos
Gravación de viaxes
Configurar de que xeito gravar as túas viaxes.
- Este engadido activa a funcionalidade para rexistrar e gardar as túas pistas de xeito manual premendo no trebello de gravación GPX no mapa, ou automáticamente rexistrando todas as túas rutas percorridas nun ficheiro GPX.
+ Este plugin activa a funcionalidade para rexistrar e gardar as túas pistas de xeito manual premendo no trebello de gravación GPX no mapa, ou automáticamente rexistrando todas as túas rutas percorridas nun ficheiro GPX.
\n
\nAs pistas gravadas poden ser compartidas coas túas amizades ou ser empregadas para contribuír ó OSM. Os atletas poden empregar as pistas gravadas para seguir os seus adestramentos. Algunhas análises básicas de pistas pódense facer directamente no OsmAnd, coma tempos por volta, velocidade media, etc., e por suposto as pistas poden analizarse de xeito posterior con ferramentas de análise de terceiros.
Gravación de viaxes
@@ -352,7 +352,7 @@
Número do edificio
Sitio web
Teléfono
- Amosa-las opcións para permitir o seguemento e a navegación no modo de segundo plano (pantalla apagada) espertando periodicamente o dispositivo do GPS.
+ Amosar as opcións para permitir o seguemento e a navegación no modo de segundo plano (pantalla apagada) espertando periodicamente o dispositivo do GPS.
Install version
Personalizar a aparencia da aplicación.
Tema da aplicación
@@ -384,10 +384,10 @@
Fotografar
Fotografar
Sincroniza pistas e notas multimedia coa túa conta do Dropbox.
- Engadido do Dropbox
+ Plugin do Dropbox
Muda-la orde
- Coida a posibilidade de mercar o engadido de \'Curvas de nivel\' para así apoiar o seu desenvolvemento.
- Engadido das curvas do nivel
+ Coida a posibilidade de mercar o plugin de \'Curvas de nivel\' para así apoiar o seu desenvolvemento.
+ Plugin de curvas de nivel
Baixo demanda\?
Gravar vídeo
Gravar son
@@ -419,10 +419,10 @@
Deter
Comezar
Notas de son/vídeo
- Engadido do OsmAnd para curvas do nivel sen conexión
- Este engadido fornece unha capa de sobreposición de curvas do nivel e unha capa de sombras da altitude (relevo) que poden ser amosadas nos mapas sen conexión do OsmAnd. Esta funcionalidade pode ser moi apreciada por atletas, camiñantes, sendeiristas e calquera que teña interese pola estrutura do relevo da paisaxe.
-\n
-\n
+ Plugin do OsmAnd para curvas de nivel sen conexión
+ Este plugin fornece unha capa de sobreposición de curvas do nivel e unha capa de sombras da altitude (relevo) que poden ser amosadas nos mapas sen conexión do OsmAnd. Esta funcionalidade pode ser moi apreciada por atletas, camiñantes, sendeiristas e calquera que teña interese pola estrutura do relevo da paisaxe.
+\n
+\n
\nOs datos globais (entre os 70 graos norte e os 70 graos sul) están baseados nas medicións do SRTM (Misión Topográfica con Radar da Lanzadeira Espacial) e ASTER (Radiómetro Espacial Avanzado de Emisión Térmica e Reflexión) e instrumentos de imaxes a bordo do Terra, o satélite máis importante do Sistema de Observación Terrestre da NASA. ASTER é un esforzo cooperativo entre a NASA, o Ministerio de Economía do Xapón, Comercio e Industria (METI) e Sistemas Espaciais Xaponeses (J-spaceystems).
Medición de distancias
Preme \'Empregar localización…\' para engadir unha nota á localización.
@@ -431,7 +431,7 @@
Notas de son/vídeo
partes
Curvas de nivel
- Este engadido fornece unha capa de sobreposición das curvas do nivel e unha capa de sombras da altitude (relevo) que poden ser amosadas nos mapas sen conexión do OsmAnd. Esta funcionalidade pode ser moi apreciada por atletas, camiñantes, sendeiristas e calquera que teña interese pola estrutura de relevo da paisaxe. (Ten en conta que as curvas do nivel e/ou os datos do relevo están dispoñíbeis en baixadas adicionais separadas logo de activares o engadido.)
+ Este plugin fornece unha capa de sobreposición das curvas do nivel e unha capa de sombras da altitude (relevo) que poden ser amosadas nos mapas sen conexión do OsmAnd. Esta funcionalidade pode ser moi apreciada por atletas, camiñantes, sendeiristas e calquera que teña interese pola estrutura de relevo da paisaxe. (Ten en conta que as curvas do nivel e/ou os datos do relevo están dispoñíbeis en descargas adicionais separadas logo de activares o plugin)
\n
\nOs datos globais (entre os 70 graos norte e os 70 graos sul) están baseados nas medicións do SRTM (Misión Topográfica con Radar da Lanzadeira Espacial) e o ASTER (Radiómetro Espacial Avanzado de Emisión Térmica e Reflexión) e instrumentos de imaxes a bordo do Terra, o satélite máis importante do Sistema de Observación Terrestre da NASA. O ASTER é un esforzo cooperativo entre a NASA, o Ministerio de Economía do Xapón, Comercio e Industria (METI) e Sistemas Espaciais Xaponeses (J-spaceystems).
Curvas de nivel
@@ -461,7 +461,7 @@
Escoller un esquema de cores das estradas:
Esquema de cores de estrada
Amosar en que dirección está o destino
- Permitir que o engadido da \"Gravación de viaxes\" empregue os servizos de rexistro da posición (rexistro do GPX, seguemento na rede)
+ Permitir que o plugin da \"Gravación de viaxes\" empregue os servizos de rexistro da posición (rexistro do GPX, seguimento na rede)
Calcular rota posíbelmente non óptima nas distancias longas
Activa o GPS nos axustes
Servizos de rexistro
@@ -706,7 +706,7 @@
Mapas con conexión e en teselas baixadas
Mapas normais (vectoriais)
Baixar e xestionar mapas sen conexión almacenados no dispositivo.
- Activa-lo engadido dos mapas con conexión para escolleres fontes de mapas diferentes
+ Activar o plugin dos mapas con conexión para escolleres fontes de mapas diferentes
Mapas con conexión e en teselas
Empregar mapas con conexión (baixar e garda-las teselas no cartón SD).
Mapas con conexión
@@ -718,16 +718,16 @@
\nBaixa as teselas dos mapas directamente en liña, ou prepárao para o seu emprego sen conexión (copiar de xeito manual no cartagol de datos OsmAnd) coma unha base de datos SQLite que pode ser producida por unha variedade de ferramentas de preparación de mapas de terceiros.
Activa as funcións de accesibilidade do dispositivo de xeito directo no OsmAnd. Fai máis doado por exemplo, o axuste da velocidade da voz para sintetizadores de voz, os axustes de navegación D-pad, empregando a roda de desprazamento para o control do achegamento (zoom), ou a retroalimentación de texto a voz, por exemplo, para anunciar a túa posición de xeito automático.
Axusta as funcións de desenvolvemento e depuración, como a simulación de navegación, o rendemento do renderizado ou as indicacións por voz. Destinado para desenvolvedores, non é necesario para o normal uso da aplicación.
- Engadidos
- Os engadidos activan opcións avanzadas e funcionalidades adicionais.
- Engadidos
+ Plugins
+ Os plugins activan opcións avanzadas e funcións adicionais.
+ Plugins
Fai contribucións no OSM, como o crear ou modificar obxectos PDI, abrir ou comentar notas do OSM e contribuír con ficheiros de pistas GPX gravados no OsmAnd, fornecendo o teu nome de usuario e contrasinal. O OpenStreetMap.org é un proxecto de cartografado de dominio público, global, ceibe e impulsado pola comunidade.
Os mapas vectoriais seguramente amósanse máis axiña. Poden non funcionar ben nalgúns dispositivos.
Escolle unha voz e reproduce probas dos avisos:
Desenvolvemento do OsmAnd
Renderizado nativo
Probar indicacións por voz
- Baixar un mapa vectorial sen conexión desta localización en \'Axustes\' (\'Xestionar ficheiros de mapas\'), ou mudar ó engadido de \'Mapas en liña\'.
+ Baixar un mapa vectorial sen conexión desta localización en \'Axustes\' (\'Xestionar ficheiros de mapas\'), ou mudar ó plugin de \'Mapas en liña\'.
Enviar ficheiros GPX a OSM?
Visibilidade
Etiquetas
@@ -1441,7 +1441,7 @@
Atlas de estradas norteamericanas
Non seguir as regras de v1.9
Non empregar regras de navegación engadidas na versión 1.9.
- Engadidos
+ Plugins
Non hai actualizacións dispoñíbeis
Actualizacións ao vivo
Predeterminado (13)
@@ -1602,7 +1602,7 @@ Lon %2$s
Wikipedia
Europa - Países Baixos
Publicado
- Precisas estar conectado para instalar este engadido.
+ Precisas estar conectado para instalar este plugin.
Obter
Nas viaxes longas, recalcula só o anaco inicial da rota.
Gosta do OsmAnd?
@@ -1728,7 +1728,7 @@ Lon %2$s
Estradas
Estase a baixar - ficheiro %1$d
Mercar
- Activa o engadido das \"Curvas do nivel\"
+ Activa o plugin das \"Curvas de nivel\"
Noutro intre
Versión completa
Baixadas
@@ -1743,7 +1743,7 @@ Lon %2$s
Primeiros pasos co OsmAnd
Funcionalidades
Axudar a mellora-lo OsmAnd
- Engadidos
+ Plugins
Primeiro emprego
De que xeito baixar mapas e axusta-las opcións básicas.
Axustes da navegación.
@@ -1771,12 +1771,12 @@ Lon %2$s
\n
\nNon se precisa baixar ningún mapa especial, xa que a vista se xera a partir dos mapas normais.
\n
-\nPódese pechar esta vista desactivándoa eiquí ou mudando o «Estilo do mapa» en «Configura-lo mapa» coma se desexe.
- Este engadido enriquece a aplicación de mapas de navegación OsmAnd para que amose tamén mapas náuticos para viaxes en barco e outros tipos de deportes acuáticos.
+\nPódese pechar esta vista desactivándoa eiquí ou mudando o «Estilo do mapa» en «Configurar o mapa» coma se desexe.
+ Este plugin enriquece a aplicación de mapas de navegación OsmAnd para que amose tamén mapas náuticos para viaxes en barco e outros tipos de deportes acuáticos.
\n
\nUnha extensión dos mapas especial para o OsmAnd fornece tódalas marcaxes náuticas e símbolos das cartas para a navegación en augas interiores e de cabotaxe. A descrición de cada marcaxe da navegación fornece os detalles precisos para identificala, así coma o seu significado (categoría, forma, cor, secuencia, referencia, etc.).
\n
-\nPara voltar a un dos estilos do mapa convencionais do OsmAnd, sinxelamente hai que desactivar este engadido de novo ou muda-lo «Estilo do mapa» en «Configura-lo mapa» coma se desexe.
+\nPara voltar a un dos estilos do mapa convencionais do OsmAnd, sinxelamente hai que desactivar este plugin de novo ou mudar o «Estilo do mapa» en «Configurar o mapa» coma se desexe.
Escolle as estradas que desexes evitar durante a navegación.
Son
Outorgar acceso ós datos de localización.
@@ -2035,7 +2035,7 @@ Lon %2$s
Listaxe baleira
Listaxe en árbore
%s ficheiros GPX seleccionados
- Baixadas ilimitadas dos mapas, actualizacións e engadido da Wikipedia.
+ Descargas ilimitadas dos mapas, actualizacións e plugin da Wikipedia.
Camiño con aforro no combustíbel
Emprega-lo camiño con aforro no combustíbel (normalmente máis curto).
Mudar
@@ -2112,7 +2112,7 @@ Lon %2$s
Australia
Amosar publicidade na versión de balde
Amosa o anuncio da versión de balde, mesmo na versión de pago.
- Activa o engadido da \"Vista náutica\"
+ Activa o plugin da \"Vista náutica\"
Outros
Modificar mudanza do OSM
Número de colaboradores
@@ -2247,8 +2247,8 @@ Lon %2$s
Tempo
Distancia total
Empregar datos de elevación
- Engadido
- Merca e instala o engadido de \'Curvas de nivel\' para amosar áreas verticais graduadas.
+ Plugin
+ Merca e instala o plugin de \'Curvas de nivel\' para amosar áreas verticais graduadas.
Esquema de cores
Permiti-lo acceso privado
Permitir acceso ás zonas privadas.
@@ -2495,7 +2495,7 @@ Lon %2$s
Mundo
Gardar coma pista
Engadiches %1$s puntos. Insire un nome do ficheiro e preme en \"Gardar\".
- Obter OsmAnd ao Vivo para desbloqueares tódalas funcionalidades: actualizacións dos mapas diarias cas baixadas ilimitadas, tódolos engadidos de pagamento e de balde, Wikipedia, Wikiviaxes e moito máis.
+ Obter OsmAnd ao Vivo para desbloqueares tódalas funcionalidades: actualizacións dos mapas diarias coas descargas ilimitadas, tódolos plugins de pagamento e de balde, Wikipedia, Wikiviaxes e moito máis.
Obteña unha subscrición do OsmAnd ao Vivo para ler artigos da Wikipedia e Wikiviaxes, sen conexión.
Cancelaches a subscrición do OsmAnd ao Vivo
Equipa do OsmAnd
@@ -2586,7 +2586,7 @@ Lon %2$s
Mapas que ti precisas
Destinos populares
Aplicación de pagamento
- Engadido de pagamento
+ Plugin de pagamento
Novos datos dispoñíbeis do Wikiviaxes, actualiza para desfrutalos.
Baixa os guieiros de viaxes do Wikiviaxes para ollar artigos sobre os lugares darredor do mundo, sen unha conexión á Internet.
Actualización dispoñíbel
@@ -2651,7 +2651,7 @@ Lon %2$s
Mudar a procura ou aumentar o seu raio.
Un botón que amosa ou agocha as notas do OSM no mapa.
Baixar o mapa de \'Sobreposición de asombreado\' para amosar o asombreado vertical.
- Instalar o engadido de \'Curvas de nivel\' para amosar as áreas verticais graduadas.
+ Instalar o plugin de \'Curvas de nivel\' para amosar as áreas verticais graduadas.
Agochar a partir do nivel de achegamento
Baixar o mapa de \'Curvas de nivel\' para empregalas nesta rexión.
Amosar dende o nivel de achegamento
@@ -2695,7 +2695,7 @@ Lon %2$s
Laosiano
Cor por símbolo do sendeirismo OSMC
Ficheiros GPX
- Este engadido para o OsmAnd pon ó teu acade detalles sobre pistas do esquí de baixada, de travesía, roteiros do esquí alpino, teleféricos e refachos a nivel mundial. As rotas e pistas amósanse polo código de cor en función da súa dificuldade e representados cun estilo do mapa especial «Inverno» que o asemella a unha paisaxe invernal nevada.
+ Este plugin para o OsmAnd pon ó teu acade detalles sobre pistas do esquí de baixada, de travesía, roteiros do esquí alpino, teleféricos e refachos a nivel mundial. As rotas e pistas amósanse polo código de cor en función da súa dificuldade e representados cun estilo do mapa especial «Inverno» que o asemella a unha paisaxe invernal nevada.
\n
\nActivando esta vista, muda o estilo do mapa a «Inverno e esquí», amosando as características do terreo en condicións invernais. Esta vista pódese revertir desactivando de novo eiquí ou mudando o «Estilo do mapa» en «Configurar mapa» cando o desexes.
Código de Localización Aberto (OLC)
@@ -2712,9 +2712,9 @@ Lon %2$s
Para longas distancias: Engade destinos intermedios se non se atopan camiños dentro dos 10 minutos.
O OsmAnd (OSM Automated Navigation Directions, e no galego, Guía da Navegación Automatizada do OSM) é unha aplicación de mapa e navegación co acceso ós datos ceibes ou libres do OSM, en todo o mundo e de alta calidade.
\n
-\n Desfruta do navegador por voz e óptico, a visualización dos PDI (puntos de interese), a creación e xestión das pistas GPX, emprega a información de visualización e a altitude das curvas do nivel (mediante un engadido), escolle entre modos de automóbil, bicicleta ou peón, edita no OSM e moito máis.
- Esquí
-\nO engadido do OsmAnd para o estilo do mapa de inverno, amosa pistas co nivel de complexidade e algunha información adicional, coma a localización dos elevadoiros e outras instalacións invernais.
+\n Desfruta do navegador por voz e óptico, a visualización dos PDI (puntos de interese), a creación e xestión das pistas GPX, emprega a información de visualización e a altitude das curvas do nivel (mediante un plugin), escolle entre modos de automóbil, bicicleta ou peón, edita no OSM e moito máis.
+ Esquí
+\nO plugin do OsmAnd para o estilo do mapa de inverno, amosa pistas co nivel de complexidade e algunha información adicional, coma a localización dos elevadoiros e outras instalacións invernais.
O OsmAnd é activamente software de código aberto desenvolvido. Todo o mundo pode contribuír á aplicación ó informar de erros, mellorando traducións ou desenvolvendo funcións novas. Ademais o proxecto confía en contribucións financeiras para financia-lo desenvolvemento e probando de funcións novas.
\n Cobertura do mapa e calidade:
\n • Europa Occidental: ****
@@ -2813,10 +2813,10 @@ Lon %2$s
\n
Ciclismo
\n• Atopa roteiros ciclistas no mapa
-\n• A navegación GPS no modo bicicleta, constrúe a rota empregando roteiros ciclistas
-\n• Olle a velocidade e altitude
-\n• A opción da gravación GPX, permite grava-lo viaxe e partillalo ou compartilo
-\n• Mediante un engadido adicional, podes activa-las curvas do nivel e o asombreado dos outeiros ou colinas
+\n• A navegación GPS no modo bicicleta, constrúe a ruta empregando roteiros ciclistas
+\n• Olla a velocidade e altitude
+\n• A opción da gravación GPX, permite gravar o viaxe e partillalo ou compartilo
+\n• Mediante un plugin adicional, podes activar as curvas de nivel e o asombreado dos outeiros ou colinas
Camiñar, sendeirismo, turismo de cidade
\n • O mapa amosa as rotas para camiñar e de sendeirismo
\n • Wikipedia na lingua de preferencia, pode dicir moito durante unha visita turística
@@ -2869,7 +2869,7 @@ Lon %2$s
\n • (Opcional) Paraxes do transporte público (autobús, tranvía, tren) incluíndo nomes de liñas
\n • (Opcional) Grava a viaxe de xeito local nun ficheiro GPX ou con un servizo en liña
\n • (Opcional) Amosa a velocidade e altitude
-\n • Activa a visualización das curvas do nivel e o asombreado dos outeiros ou colinas (mediante un engadido adicional)
+\n • Activa a visualización das curvas do nivel e o asombreado dos outeiros ou colinas (mediante un plugin adicional)
"Contribúe de xeito directo co OSM
\n
\n • Informa sobre problemas dos datos no mapa
@@ -2914,7 +2914,7 @@ Lon %2$s
Anual
%1$s / mes
%1$.2f %2$s / mes
- Aforra un %1$s.
+ Aforra un %1$s
Subscrición actual
Renovación mensual
Renovación trimestral
@@ -3322,7 +3322,7 @@ Lon %2$s
Aparencia
Aparencia do mapa
Aparencia do mapa
- Engadidos instalados
+ Plugins instalados
Configurar a navegación
Tema da aplicación, unidades, rexión
Configurar o perfil
@@ -3350,7 +3350,7 @@ Lon %2$s
Perfil da aplicación mudado a \"%s\"
Búfer de Logcat
Predefinido
- Axustes do engadido
+ Axustes do plugin
Baixa o mapa detallado de %s, para poder ollar esta área.
Baixa o mapa detallado de %s para ollar esta área.
Mover os ficheiros de datos do OsmAnd ó novo destino\?
@@ -3466,11 +3466,11 @@ Lon %2$s
Controla as xanelas emerxentes, diálogos e notificacións.
Redes de nós
Mapas suxeridos
- Estes mapas son requiridos para o engadido.
+ Estes mapas son requiridos para o plugin.
Perfís engadidos
- Perfís engadidos polo complemento
+ Perfís engadidos polo plugin
Apagar
- Novo engadido agregado
+ Novo plugin engadido
Unir segmentos
Engadir o novo perfil \'%1$s\'\?
Incluír encabezamento
@@ -3558,7 +3558,7 @@ Lon %2$s
Dispoñíbel
Engadir categoría personalizada
Amosar só á noite
- Todos os axustes do engadido restabelecéronse ó estado por defecto.
+ Todos os axustes do plugin restabelecéronse ó estado por defecto.
Todos os axustes do perfil restabelecéronse ó estado por defecto.
%1$s/%2$s
Solpor ás %1$s
@@ -3573,7 +3573,7 @@ Lon %2$s
\n
\n • Engadíronse os números de saída na navegación
\n
-\n • Redeseñáronse os axustes dos engadidos
+\n • Redeseñáronse os axustes dos plugins
\n
\n • Redeseñouse a lapela de axustes, para un acceso rápido a todos os perfís
\n
@@ -3599,10 +3599,10 @@ Lon %2$s
Ordenar por categoría
Fornece un nome para o perfil
Abrir os axustes
- Engadido desactivado
- Este engadido é unha aplicación independente, terás que eliminalo por separado se non pensas seguir empregándoo.
-\n
-\nO engadido ficará no dispositivo após desinstalar o OsmAnd.
+ Plugin desactivado
+ Este plugin é unha aplicación independente, terás que eliminalo por separado se non pensas seguir empregándoo.
+\n
+\nO plugin ficará no dispositivo após desinstalar o OsmAnd.
Menú
%1$s — %2$s — %3$s
Enrutamento
@@ -3642,11 +3642,11 @@ Lon %2$s
Restabelecer todos os axustes de perfil\?
Gardando novo perfil
Non foi posíbel facer unha copia de seguranza do perfil.
- Engadido do desenvolvedor
+ Plugin do desenvolvedor
Substitúe outro punto por este
Esquí de ruta
Moto de neve
- Engadido personalizado do OsmAnd
+ Plugin personalizado do OsmAnd
Elementos
Modificacións aplicadas ó perfil %1$s.
Non foi posíbel ler %1$s.
@@ -3657,4 +3657,39 @@ 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.
+ Accións principais
+ Podes acceder a esas accións premendo no botón de \"Accións\".
+ 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.
+ Algúns artigos da Wikipedia poden non estar dispoñíbeis na túa lingua.
+ Cantonés
+ Min do sur
+ Ioruba
+ Samareño
+ Uzbeco
+ Urdú
+ Tátaro
+ Taxico
+ Escocés
+ Siciliano
+ Punjabi
+ Nepalés
+ Napolitano
+ Birmano
+ Mongol
+ Minangkabau
+ Malgaxe
+ Quirguiz
+ Casaco
+ Xavanés
+ Guxarati
+ Chuvaxo
+ Checheno
+ Bávaro
+ Basquir
+ Aragonés
+ Lombardo
+ Cor personalizada
+ Mapas adicionais
\ No newline at end of file
diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml
index 6b4ddab4f7..c4ccb4508c 100644
--- a/OsmAnd/res/values-he/strings.xml
+++ b/OsmAnd/res/values-he/strings.xml
@@ -2850,7 +2850,7 @@
שנתית
%1$s לחודש
%1$.2f %2$s לחודש
- חיסכון של %1$s.
+ חיסכון של %1$s
המינוי הנוכחי
מתחדש חודשית
מתחדש רבעונית
@@ -3628,10 +3628,42 @@
קו הפרדה
הפריטים מתחת לנקודה זו מופרדים בקו הפרדה.
מוסתר
- הפריטים האלו מוסתרים מהתפריט אבל האפשרויות המיוצגות או התוספים עדיין עובדים.
+ הפריטים האלו מוסתרים מהתפריט אבל האפשרויות המיוצגות או התוספים יישארו זמינים.
ההגדרות יאופסו למצב המקורי לאחר ההסתרה.
פעולות ראשיות מכילות 4 כפתורים בלבד.
פעולות ראשית
ניתן לגשת לפעולות האלה על ידי לחיצה על הכפתור „פעולות”.
ניתן להעביר פריטים בתוך קטגוריה זו בלבד.
+ נא לבחור את השפות בהן יופיעו ערכים של ויקיפדיה במפה. ניתן להחליף בין כל השפות הזמינות בזמן קריאת הערך.
+ יתכן שחלק מהערכים בוויקיפדיה לא יהיו זמינים בשפה שלך.
+ קנטונזית
+ מין נאן
+ יורובה
+ אוזבקית
+ אורדו
+ טטרית
+ טג׳יקית
+ סקוטית
+ סיציליאנית
+ פנג׳אבי
+ נפאלית
+ נפוליטנית
+ בורמזית
+ מונגולית
+ מיננגקבאו
+ מלגשית
+ קירגיזית
+ קזחית
+ ג׳אוואנית
+ גוג׳ראטית
+ צ׳ובשית
+ צ׳צ׳נית
+ בווארית
+ בשקירית
+ אראגונית
+ לומברדית
+ צבע בהתאמה אישית
+ מפות נוספות
+ וראי
+ הפעולה %1$s אינה נתמכת
\ No newline at end of file
diff --git a/OsmAnd/res/values-hi/strings.xml b/OsmAnd/res/values-hi/strings.xml
index 936cba2484..781c766621 100644
--- a/OsmAnd/res/values-hi/strings.xml
+++ b/OsmAnd/res/values-hi/strings.xml
@@ -161,4 +161,13 @@
अस्थायी सीमाओं पर विचार करें
चूक
मुफ़्त
+ "अज्ञात मार्ग द्वारा आने जाने का समय निर्णय करना और सभी पटरी पर वेग नियंत्रित करना (routing पर स्वाधीन हो जायेगा )"
+ पंजाबी
+ नेपाल के नागरिक
+ "बर्मा के नागरिक"
+ मंगोलिया के नागरिक
+ कज़ाकिस्तान के नागरिक
+ गुजराती
+ असामान्य रंग
+ ज़्यादा मापें
\ No newline at end of file
diff --git a/OsmAnd/res/values-id/strings.xml b/OsmAnd/res/values-id/strings.xml
index ff0a3abcbe..941b4b3137 100644
--- a/OsmAnd/res/values-id/strings.xml
+++ b/OsmAnd/res/values-id/strings.xml
@@ -708,12 +708,12 @@
Tahunan
%1$s / bulan
%1$.2f %2$s / bulan
- Hemat %1$s.
+ Hemat %1$s
Langganan saat ini
Perpanjang tiap bulan
Perpanjang tiap 4 bulan
Perpanjang tiap tahun
-
+ %1$.2f %2$s
Pilih periode pembayaran yang anda inginkan:
Sebagian pendapatan diberikan untuk kontributor OpenStreetMap.
Oleh OsmAnd
diff --git a/OsmAnd/res/values-is/strings.xml b/OsmAnd/res/values-is/strings.xml
index 22116be1f8..80b0850a41 100644
--- a/OsmAnd/res/values-is/strings.xml
+++ b/OsmAnd/res/values-is/strings.xml
@@ -2864,7 +2864,7 @@ Stendur fyrir svæði: %1$s x %2$s
Árlega
%1$s / mánuði
%1$.2f %2$s / mánuði
- Sparaðu %1$s.
+ Sparaðu %1$s
Núverandi áskrift
Endurnýjast mánaðarlega
Endurnýjast ársfjórðungslega
diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml
index 0daff2361b..0d0c57886a 100644
--- a/OsmAnd/res/values-it/strings.xml
+++ b/OsmAnd/res/values-it/strings.xml
@@ -1704,10 +1704,10 @@ Memoria in proporzione %4$s MB (limite di Android %5$s MB, Dalvik %6$s MB).Nome della categoria
Aggiungi una nuova categoria
Le mappe solo stradali non sono necessarie dato che disponi già delle mappe standard complete. Scaricare comunque\?
- %1$.1f di %2$.1f MB
- %.1f MB
+ %1$,1f di %2$,1f MB
+ %,1f MB
Aggiorna tutto (%1$s MB)
- Download gratuiti utilizzati
+ Scaricamenti gratuiti utilizzati
Mostra il numero di download gratuiti rimasti.
geo:
Invia
@@ -1982,7 +1982,7 @@ Memoria in proporzione %4$s MB (limite di Android %5$s MB, Dalvik %6$s MB).Ricerca per coordinate
Ricerca avanzata per coordinate
Ritorna alla ricerca
- Rimuovere gli elementi selezionati dalla \'Cronologia\'\?
+ Rimuovere gli elementi selezionati dalla Cronologia\?
Mostra %1$s sulla mappa
Cerca a %1$s di distanza
condiviso attraverso OsmAnd
@@ -2843,7 +2843,7 @@ Rappresenta l\'area: %1$s x %2$s
Disponibilità di più trasporti pubblici da questa fermata.
I marcatori aggiunti come gruppo di Preferiti o come punti GPX marcati come Superati rimarranno sulla mappa. Se il gruppo non è attivo i marcatori spariranno dalla mappa.
Nero
- Eliminare il marcatore \'%s\'\?
+ Eliminare il marcatore «%s»\?
Modifica marcatore
App di terze parti
Piani & Tariffe
@@ -2852,7 +2852,7 @@ Rappresenta l\'area: %1$s x %2$s
Annualmente
%1$s / mese
%1$.2f %2$s / mese
- Risparmia %1$s.
+ Risparmia %1$s
Attuale sottoscrizione
Abbonamento mensile
Rinnovo trimestrale
diff --git a/OsmAnd/res/values-ka/strings.xml b/OsmAnd/res/values-ka/strings.xml
index 5c83ad4fb1..7458713fa9 100644
--- a/OsmAnd/res/values-ka/strings.xml
+++ b/OsmAnd/res/values-ka/strings.xml
@@ -1185,7 +1185,7 @@
წელიწადში ერთხელ გადახდა
%1$s თვეში
%1$.2f %2$s თვეში
- დაზოგეთ %1$s !
+ დაზოგეთ %1$s
თქვენი მიმდინარე გამოწერა
თვიური განახლება
წლიური განახლება
diff --git a/OsmAnd/res/values-large/sizes.xml b/OsmAnd/res/values-large/sizes.xml
index d503d642db..131f2840a2 100644
--- a/OsmAnd/res/values-large/sizes.xml
+++ b/OsmAnd/res/values-large/sizes.xml
@@ -241,4 +241,5 @@
108dp
108dp
+ 198dp
\ No newline at end of file
diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml
index 57dafaef09..a8f4eee382 100644
--- a/OsmAnd/res/values-lt/strings.xml
+++ b/OsmAnd/res/values-lt/strings.xml
@@ -2555,7 +2555,7 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka.
Kartą per metus
%1$s / mėnuo
%1$.2f %2$s / mėnuo
- Sutaupyk %1$s!
+ Sutaupyk %1$s
%1$.2f %2$s
Pirmiausiai parinkite miestą
Vengti tramvajų
diff --git a/OsmAnd/res/values-lv/strings.xml b/OsmAnd/res/values-lv/strings.xml
index 670dc847a9..2ee47646cc 100644
--- a/OsmAnd/res/values-lv/strings.xml
+++ b/OsmAnd/res/values-lv/strings.xml
@@ -2652,7 +2652,7 @@ No Afganistānas līdz Zimbabvei, no Austrālijas līdz ASV, Argentīna, Brazīl
Ikgadēja
%1$s / mēnesī
%1$.2f %2$s / mēnesī
- Ietaupiet %1$s.
+ Ietaupiet %1$s
Patreizējais abonoments
Atjaunojas katru mēnesi
Atjaunojas katru ceturksni
diff --git a/OsmAnd/res/values-ml/strings.xml b/OsmAnd/res/values-ml/strings.xml
index 14e9ed86b3..5a7b728ea8 100644
--- a/OsmAnd/res/values-ml/strings.xml
+++ b/OsmAnd/res/values-ml/strings.xml
@@ -1797,7 +1797,7 @@
വര്ഷത്തിലൊരിക്കൽ
"പ്റതിമാസം %1$s"
"പ്റതിമാസം %1$.2f %2$s "
- %1$s ലാഭിക്കുക .
+ %1$s ലാഭിക്കുക
നിലവിലെ സബ്സ്ക്രിപ്ഷൻ
മാസത്തിലൊരിക്കൽ ആവര്ത്തിക്കുക
മൂന്നുമാസത്തിലൊരിക്കൽ ആവര്ത്തിക്കുക
diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml
index fac215406e..13d0fbde8f 100644
--- a/OsmAnd/res/values-nb/strings.xml
+++ b/OsmAnd/res/values-nb/strings.xml
@@ -2846,7 +2846,7 @@
Årlig
%1$s per måned
%1$.2f %2$s per måned
- Lagre %1$s.
+ Lagre %1$s
Nåværende abonnement
Fornyes månedlig
Fornyes kvartalsvis
diff --git a/OsmAnd/res/values-nl/strings.xml b/OsmAnd/res/values-nl/strings.xml
index 4327f37146..7374f8bca9 100644
--- a/OsmAnd/res/values-nl/strings.xml
+++ b/OsmAnd/res/values-nl/strings.xml
@@ -2228,7 +2228,7 @@ voor Gebied: %1$s x %2$s
Zeediepte-contourlijnen
Zeediepten Zuidelijk Halfrond
Zeediepten Noordelijk Halfrond
- Zeediepte-contourlijnen
+ Diepte contourlijnen
Zeekaarten
Analyse op kaart
Zichtbaar
@@ -2739,7 +2739,7 @@ voor Gebied: %1$s x %2$s
Jaarlijks
%1$s / maand
%1$.2f %2$s / maand
- Bespaar %1$s.
+ Bespaar %1$s
"Uw huidige abonnement "
Wordt maandelijks verlengd
"Wordt per kwartaal verlengd "
diff --git a/OsmAnd/res/values-oc/strings.xml b/OsmAnd/res/values-oc/strings.xml
index 6df44d7459..646da2f246 100644
--- a/OsmAnd/res/values-oc/strings.xml
+++ b/OsmAnd/res/values-oc/strings.xml
@@ -184,7 +184,7 @@
Cada an
%1$s / mes
%1$.2f %2$s / mes
- Esparnha %1$s.
+ Esparnha %1$s
Soscripcion actuala
Abonament mesadier
Abonament trimestriau
diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml
index 4a034c7aa7..58ec110250 100644
--- a/OsmAnd/res/values-pl/strings.xml
+++ b/OsmAnd/res/values-pl/strings.xml
@@ -2854,7 +2854,7 @@ Reprezentuje obszar: %1$s x %2$s
Raz w roku
%1$s / miesiąc
%1$.2f %2$s / miesiąc
- Oszczędź %1$s.
+ Oszczędź %1$s
Aktualna subskrypcja
Odnawia się co miesiąc
Odnawia się co kwartał
@@ -3629,7 +3629,7 @@ Reprezentuje obszar: %1$s x %2$s
Ustawienia zostaną zrestetowane po schowaniu.
Główne działania zajmują tylko 4 przyciski.
Główne działania
- Możesz uzyskać te akcje przez naciśnięcie przycisku \"Działania\".
+ Możesz uzyskać dostęp do tych akcji, naciskając przycisk „Działania”.
Możesz przemieszczać elementy tylko wewnątrz tej kategorii.
Wtyczka deweloperska
Elementy
@@ -3642,4 +3642,20 @@ Reprezentuje obszar: %1$s x %2$s
Potrzebne są dodatkowe mapy, żeby przeglądać UM Wikipedii na mapie.
Pewne artykuły Wikipedii mogą być nie dostępne w wybranym języku.
Dostosowany kolor
+ Wybierz języki, w których będą pojawiać się artykuły z Wikipedii na mapie. Możesz przełączać się pomiędzy wszystkimi dostępnymi językami podczas czytania artykułu.
+ Kantoński
+ Uzbecki
+ Urdu
+ Tatarski
+ Tadżycki
+ Nepalski
+ Neapolitański
+ Mongolski
+ Kirgiski
+ Kazachski
+ Jawajski
+ Czeczeński
+ Bawarski
+ Lombard
+ Dodatkowe mapy
\ 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 b2a5399e1e..0da23b66b4 100644
--- a/OsmAnd/res/values-pt-rBR/strings.xml
+++ b/OsmAnd/res/values-pt-rBR/strings.xml
@@ -2829,7 +2829,7 @@ Pôr do Sol: %2$s
Anualmente
%1$s / mês
%1$.2f %2$s / mês
- Menos %1$s.
+ Menos %1$s
Assinatura atual
Renova mensalmente
Renova anualmente
@@ -3656,4 +3656,6 @@ Pôr do Sol: %2$s
Aragonês
Lombardo
Cor customizada
+ Mapas extras
+ Ação não suportada %1$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-pt/strings.xml b/OsmAnd/res/values-pt/strings.xml
index 3ace6a28db..7b52230870 100644
--- a/OsmAnd/res/values-pt/strings.xml
+++ b/OsmAnd/res/values-pt/strings.xml
@@ -2182,7 +2182,7 @@
Anualmente
%1$s / mês
%1$.2f %2$s / mês
- Poupe %1$s.
+ Poupe %1$s
Assinatura atual
Renova mensalmente
Renova trimestralmente
diff --git a/OsmAnd/res/values-ro/strings.xml b/OsmAnd/res/values-ro/strings.xml
index 67c7894459..3e7d433de9 100644
--- a/OsmAnd/res/values-ro/strings.xml
+++ b/OsmAnd/res/values-ro/strings.xml
@@ -2238,7 +2238,7 @@
Anual
%1$s / lună
%1$.2f %2$s / lună
- Salvați %1$s.
+ Salvați %1$s
Abonament curent
Reînnoire lunară
Se reînnoiește trimestrial
diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml
index f50faecd7a..f1f7f5d3f4 100644
--- a/OsmAnd/res/values-ru/phrases.xml
+++ b/OsmAnd/res/values-ru/phrases.xml
@@ -3736,4 +3736,17 @@
Тип 2
Тип 1 комбинированный
Доступ для автодомов
+ Неправильный
+ Примитивный
+ Тип стенда
+ Стенд
+ URL
+ CEE красный 125A
+ CEE красный 64A
+ CEE красный 32A
+ CEE красный 16A
+ CEE синий
+ Металлическая сетка
+ DecoTurf
+ Тартан
\ No newline at end of file
diff --git a/OsmAnd/res/values-ru/strings.xml b/OsmAnd/res/values-ru/strings.xml
index 9dbf3b08ed..04ee5159c8 100644
--- a/OsmAnd/res/values-ru/strings.xml
+++ b/OsmAnd/res/values-ru/strings.xml
@@ -2883,7 +2883,7 @@
Ежегодно
%1$s / месяц
%1$.2f %2$s / месяц
- Экономия %1$s.
+ Экономия %1$s
Текущая подписка
Продлевается ежемесячно
Продлевается ежеквартально
@@ -3662,4 +3662,5 @@
Арагонский
Ломбардский
Дополнительные карты
+ Неподдерживаемое действие %1$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-sc/strings.xml b/OsmAnd/res/values-sc/strings.xml
index 5120a4ecde..f5654e013d 100644
--- a/OsmAnd/res/values-sc/strings.xml
+++ b/OsmAnd/res/values-sc/strings.xml
@@ -2856,7 +2856,7 @@ Pro praghere iscrie su còdighe intreu
Una borta a s\'annu
%1$s / mese
%1$.2f %2$s / mese
- Rispàrmia %1$s.
+ Rispàrmia %1$s
Abbonamentu atuale
Si rinnovat cada mese
Si rinnovat cada tres meses
@@ -3638,4 +3638,36 @@ Pro praghere iscrie su còdighe intreu
Podes mòere elementos in intro de custa categoria ebbia.
Estensione pro sos isvilupadores
Elementos
+ Issèbera sa limba in sa cale sos artìculos de Wikipedia ant a aparire in sa mapa. Podes colare dae una limba a s\'àtera cando ses leghende s\'artìculu.
+ Unos cantos artìculos de Wikipedia diant pòdere no èssere a disponimentu in sa limba tua.
+ Cantonesu
+ Min meridionale
+ Yoruba
+ Waray
+ Uzbecu
+ Urdu
+ Tàtaru
+ Tagicu
+ Iscotzesu (scots)
+ Sitzilianu
+ Punjabi
+ Nepalesu
+ Napoletanu
+ Birmanu
+ Mòngolu
+ Minangkabau
+ Malgàsciu
+ Kirghisu
+ Kazaku
+ Giavanesu
+ Gujarati
+ Ciuvàsciu
+ Cecenu
+ Bavaresu
+ Baschiru
+ Aragonesu
+ Lombardu
+ Colore personalizadu
+ Mapas additzionales
+ Atzione %1$s non suportada
\ No newline at end of file
diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml
index 42eac3f419..41a294d2c6 100644
--- a/OsmAnd/res/values-sk/strings.xml
+++ b/OsmAnd/res/values-sk/strings.xml
@@ -2843,7 +2843,7 @@ Zodpovedá oblasti: %1$s x %2$s
Ročne
%1$s / mesiac
%1$.2f %2$s / mesiac
- Ušetríte %1$s.
+ Ušetríte %1$s
Aktuálne predplatné
Obnovuje sa mesačne
Obnovuje sa štvrťročne
@@ -3622,12 +3622,15 @@ Zodpovedá oblasti: %1$s x %2$s
Rozdeľovač
Položky pod týmto bodom sú oddelené rozdeľovačom.
Skryté
- Tieto položky sú skryté z menu, ale ich možnosti a moduly sú stále funkčné.
+ Tieto položky sú skryté z menu, ale ich možnosti a moduly zostanú funkčné.
Po skrytí sa nastavenia resetujú do pôvodného stavu.
Hlavné akcie sú obmedzené na 4 tlačidlá.
Hlavné akcie
- K akciám sa môžete pristúpiť stlačením tlačidla \"Akcie\".
+ K akciám môžete pristúpiť stlačením tlačidla \"Akcie\".
Môžete presúvať položky len v rámci tejto kategórie.
Doplnok pre vývojárov
Položky
+ Vlastná farba
+ Ďalšie mapy
+ Nepodporovaná akcia %1$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-sl/strings.xml b/OsmAnd/res/values-sl/strings.xml
index e06ef3099b..78db35b699 100644
--- a/OsmAnd/res/values-sl/strings.xml
+++ b/OsmAnd/res/values-sl/strings.xml
@@ -2763,7 +2763,7 @@ Koda predstavlja območje: %1$s x %2$s
Letno
%1$s / mesec
%1$.2f %2$s / mesec
- Prihranite %1$s!
+ Prihranite %1$s
Trenutno naročen paket
Mesečna obnovitev
Četrtletna obnovitev
diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml
index 2f2a240c0e..1a3340e84b 100644
--- a/OsmAnd/res/values-sr/strings.xml
+++ b/OsmAnd/res/values-sr/strings.xml
@@ -2856,7 +2856,7 @@
годишње
%1$s / месечно
%1$.2f %2$s / месечно
- Уштедите %1$s.
+ Уштедите %1$s
Тренутна претплата
Месечно обнављање
Квартално обнављање
diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml
index fc8bf50103..20b9ae5977 100644
--- a/OsmAnd/res/values-sv/strings.xml
+++ b/OsmAnd/res/values-sv/strings.xml
@@ -2725,7 +2725,7 @@ Vänligen tillhandahåll fullständig kod
Årligen
%1$s / månad
%1$.2f %2$s / månad
- Spara %1$s.
+ Spara %1$s
Aktuell prenumeration
Förnyas varje månad
Förnyas kvartalsvis
diff --git a/OsmAnd/res/values-ta/strings.xml b/OsmAnd/res/values-ta/strings.xml
index 366c656a9f..3b4855713e 100644
--- a/OsmAnd/res/values-ta/strings.xml
+++ b/OsmAnd/res/values-ta/strings.xml
@@ -266,7 +266,7 @@
பயண பதிவுகள்
எல்லைகொடு வரிகளின் செருகி
"எல்லைகோடு "
- சேமிக்க %1$s!
+ சேமிக்க %1$s
\'%s\' வரைப்படப் புள்ளியை அழிக்க\?
பாதசாரி மற்றும் மிதிவண்டி சாலைகள் வேறுபடுவதை இயல்புநிலை பாணியின் மாற்றல். மரபுவழி Mapnik வண்ணங்களைப் பயன்படுத்துகிறது.
அடையாளக்குறி
diff --git a/OsmAnd/res/values-tr/strings.xml b/OsmAnd/res/values-tr/strings.xml
index ee1efe89ed..282e2d2a4a 100644
--- a/OsmAnd/res/values-tr/strings.xml
+++ b/OsmAnd/res/values-tr/strings.xml
@@ -2910,7 +2910,7 @@
\'%s\' harita işaretleyicisini sil\?
Harita işaretleyicisini düzenle
Plan ve Fiyatlandırma
- %1$s tasarruf edin.
+ %1$s tasarruf edin
Mevcut abonelik
Üç ayda bir yeniler
%1$.2f %2$s
diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml
index 1a4d5018e6..41ded8daa3 100644
--- a/OsmAnd/res/values-uk/strings.xml
+++ b/OsmAnd/res/values-uk/strings.xml
@@ -579,7 +579,7 @@
Закрити
Дані завантажуються…
Зчитування даних…
- Помилка у роботі застосунку. Файл часопису знаходиться тут {0}. Будь ласка, напишіть розробнику про помилку (з вкладеним часописним файлом).
+ Помилка у роботі застосунку. Файл журналу знаходиться тут {0}. Будь ласка, напишіть розробнику про помилку (з вкладеним журнальним файлом).
Збереження GPX-файлу…
Закінчено
Використовувати Інтернет для прокладання маршруту.
@@ -1091,7 +1091,7 @@
Іврит
Вперед
Домівка
- Надішліть дані відстеження до вказаної веб-служби, якщо ввімкнено часопис GPX.
+ Надішліть дані відстеження до вказаної мережевої служби, якщо ввімкнено записування GPX.
Мережеве відслідковування (потрібен GPX)
Розпочати моніторинг
Зупинити моніторинг
@@ -1305,11 +1305,11 @@
Автівка
Велосипед
Пішки
- Цей втулок задіює можливість записувати та зберігати Ваші треки вручну, торкаючись віджету часопису GPX на екрані мапи, або автоматично записувати всі Ваші подорожі у файл GPX.
+ Цей втулок задіює можливість записувати та зберігати Ваші треки вручну, торкаючись віджету записування GPX на екрані мапи, або автоматично записувати всі Ваші подорожі у файл GPX.
\n
\nЗаписаними треками можна поділитись з Вашими друзями або іншими учасниками спільноти OSM. Атлети можуть використовувати записані треки для відстежування власних тренувань. Основний розбір треків наявний безпосередньо в OsmAnd, наприклад: час проходження кола, середня швидкість й т.п., звісно, записані треки можна також проаналізувати за допомогою іншого програмного забезпечення.
Писати трек у файл GPX
- Загальний запис розташування до файлу GPX можна ввімкнути або вимкнути кнопкою часопису GPX на екрані з мапою.
+ Загальний запис розташування до файлу GPX можна ввімкнути або вимкнути кнопкою запис GPX на екрані з мапою.
Інтервал записування
Маршрути автобусів, тролейбусів та шатлів
Запис подорожі
@@ -2019,7 +2019,7 @@
Мінімальне зміщення для запису
Фільтр: налаштуйте найменшу відстань від точки, коли її можна записувати як нову.
Мінімальна точність запису
- Фільтр: не часописати, якщо ця точність не досягнута.
+ Фільтр: не журналювати, якщо ця точність не досягнута.
Різдвяні POI
Напередодні різдвяних і новорічних свят, Ви можете вибрати для відображення POI, пов\'язані з Різдвом: ялинки, ярмарки і т.п.
Показати різдвяні POI?
@@ -2544,7 +2544,7 @@
Приховати проходження
Позначки
Формат координат
- Використовувати системну набірницю
+ Використовувати системну клавіатуру
Виберіть формат введення координат. Ви завжди можете змінити його, натиснувши „Параметри“.
Швидке введення координат
Уникати льодових доріг і бродів
@@ -2850,7 +2850,7 @@
Щорічно
%1$s / місяць
%1$.2f %2$s / місяць
- Заощадьте %1$s.
+ Заощадьте %1$s
Поточна підписка
Оновлюється щомісяця
Оновлюється щокварталу
@@ -3014,7 +3014,7 @@
Ви використовуєте {0} мапу, надану OsmAnd. Хочете запустити повну версію OsmAnd\?
Без мостових та бруківки
Уникати мостові та бруківку
- Надіслати часопис
+ Надіслати журнал
Переміщено %1$d файлів (%2$s).
Скопійовано %1$d файлів (%2$s).
Невдача при копіюванні %1$d файлів (%2$s).
@@ -3174,9 +3174,9 @@
4 клас
5 клас
Зовнішні пристрої введення
- Оберіть пристрій на зразок звичайної набірниці чи WunderLINQ для зовнішнього управління.
+ Оберіть пристрій на зразок звичайної клавіатури чи WunderLINQ для зовнішнього керування.
Немає
- Звичайна набірниця
+ Звичайна клавіатура
WundеrLINQ
Parrot
Увімкніть принаймні один профіль застосунку, щоб скористатися цим параметром.
@@ -3423,13 +3423,13 @@
Імпорт з файлу
Імпортувати файл маршрутизації
Імпорт профілю
- Навігація, точність часопису
+ Навігація, точність журналювання
Розмір зображення, якість звуку та відео
Логін, пароль, редагування в безмережному режимі
Оберіть значок, колір та назву
Дозволяє ділитися поточним місцезнаходженням, використовуючи запис поїздки.
Мережеве відстеження
- Точність часопису
+ Точність журналювання
Ви можете знайти всі записи в %1$s або в теці OsmAnd за допомогою файлового провідника.
Ваші нотатки OSM знаходяться в %1$s.
Відеонотатки
@@ -3443,7 +3443,7 @@
OSM
Значок відображається під час навігації чи переміщення.
Значок показано в спокої.
- Перевіряти та обмінюватися докладними часописами застосунку
+ Перевіряти та обмінюватися докладними журналами застосунку
Не вдалося розібрати метод \'%s\'.
Для використання цього параметра потрібен дозвіл.
Це низькошвидкісний відсічний фільтр, щоб не записувати точки нижче певної швидкості. Це може призвести до плавнішого вигляду записаних треків при перегляді на мапі.
@@ -3611,4 +3611,55 @@
Мова
Усі мови
Для перегляду POI Вікіпедії на мапі потрібні додаткові мапи.
+ Налаштуйте кількість елементів у скриньці, Налаштування мапи та контекстного меню.
+\n
+\nВи можете вимкнути невикористані втулки, щоб приховати всі їх елементи керування від застосунку.
+ Елементи скриньки, контекстне меню
+ Налаштування інтерфейсу
+ Скринька
+ Дії контекстного меню
+ Впорядкувати або приховати елементи з %1$s.
+ Дільник
+ Елементи нижче цієї точки розділені дільником.
+ Приховано
+ Ці елементи приховані від меню, але подані параметри або втулки залишаться справними.
+ Після приховування налаштування буде повернено до початкового стану.
+ Основні дії містять лише 4 кнопки.
+ Основні дії
+ Ви можете отримати доступ до цих дій, натиснувши кнопку «Дії».
+ Ви можете переміщувати елементи лише всередині цієї категорії.
+ Втулок розробника
+ Елементи
+ Виберіть мови, якими статті на Вікіпедії з’являться на мапі. Під час читання статті ви можете переключатися між усіма доступними мовами.
+ Деякі статті у Вікіпедії можуть бути недоступними вашою мовою.
+ Кантонська
+ Південний Мін
+ Йоруба
+ Варей
+ Узбецька
+ Урду
+ Татарська
+ Таджицька
+ Шотландська
+ Сіцілійська
+ Панджабі
+ Непальська
+ Неаполітанська
+ Бірманська
+ Монгольська
+ Мінангкабау
+ Малаґасійська
+ Кирґизька
+ Казахська
+ Яванська
+ Ґуджараті
+ Чуваська
+ Чеченська
+ Баварська
+ Башкірська
+ Арагонська
+ Ломбардська
+ Користувацький колір
+ Додаткові мапи
+ Непідтримувана дія %1$s
\ No newline at end of file
diff --git a/OsmAnd/res/values-zh-rCN/strings.xml b/OsmAnd/res/values-zh-rCN/strings.xml
index 99f6bd51d0..7f0187f5d9 100644
--- a/OsmAnd/res/values-zh-rCN/strings.xml
+++ b/OsmAnd/res/values-zh-rCN/strings.xml
@@ -2528,7 +2528,7 @@
年度
%1$s / 每月
%1$.2f %2$s / 每月
- 省下 %1$s。
+ 省下 %1$s
当前订阅
在网页浏览器中查看条目。
订阅
diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml
index 09886a6345..2016fdfbdf 100644
--- a/OsmAnd/res/values-zh-rTW/strings.xml
+++ b/OsmAnd/res/values-zh-rTW/strings.xml
@@ -2846,7 +2846,7 @@
每年
%1$s / 月
%1$.2f %2$s / 月
- 節省 %1$s。
+ 節省 %1$s
目前的訂閱
每月續訂
每季續訂
@@ -3660,4 +3660,6 @@
亞拉岡語
倫巴底語
自訂顏色
+ 額外地圖
+ 不支援的動作 %1$s
\ No newline at end of file
diff --git a/OsmAnd/res/values/attrs.xml b/OsmAnd/res/values/attrs.xml
index 048cd83aca..28bdb7b983 100644
--- a/OsmAnd/res/values/attrs.xml
+++ b/OsmAnd/res/values/attrs.xml
@@ -103,6 +103,7 @@
+
diff --git a/OsmAnd/res/values/colors.xml b/OsmAnd/res/values/colors.xml
index 2d2f8ddb2d..59415b1a6a 100644
--- a/OsmAnd/res/values/colors.xml
+++ b/OsmAnd/res/values/colors.xml
@@ -461,7 +461,8 @@
#727272
- #1A237BFF
+ #1A237BFF
+ #1AD28521
#80237BFF
#80000000
diff --git a/OsmAnd/res/values/sherpafy.xml b/OsmAnd/res/values/sherpafy.xml
deleted file mode 100644
index 3dcacab69d..0000000000
--- a/OsmAnd/res/values/sherpafy.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
- Next Stage
- Start over
- Stage Statistics
- Stage is completed
- Complete Stage
- About waypoint
- Public access
- Do you want to interrupt current stage and start new ?
- Enter access code for a specific tour (optional)
- List
- Hotel
- Map
- Info
- Important Info
- Hide POI on map
- Stages
- Tour Information
- Key facts and contact info
- Overview
- About your tour
- Gallery
- Pictures of your tour
- GO TO TOUR
- Continue
- Start
- Download Tours
- Sherpafy Tours
- Access code is not valid
- Overview
- Selecting tour…
- No stages provided
- Download more
- No tour selected
- Couldn\'t create settings file in tour folder.
- Stage
- Stages
- Tours
- Current
- Tour
- None
- Tours
- Loading selected tour \'%s\'…
- Tour
- Select tour
- Continue
- Start
- Continue tour
- Start tour
- Download tour
- Sherpafy
- See waypoint information
-
diff --git a/OsmAnd/res/values/sizes.xml b/OsmAnd/res/values/sizes.xml
index e46c3a8df8..b579010a6d 100644
--- a/OsmAnd/res/values/sizes.xml
+++ b/OsmAnd/res/values/sizes.xml
@@ -71,7 +71,7 @@
24dp
40dp
- 66dp
+ 60dp
10dp
13dp
16dp
@@ -367,4 +367,6 @@
@dimen/slider_thumb_size
65dp
+
+ 132dp
\ No newline at end of file
diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index cbcb069d30..15483e1f0b 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -15,6 +15,8 @@
Extra maps
Combine POI types from different categories. Tap switch to select all, tap left side to category selection.
Search poi types
+ Payment will be charged to your Google Play account at the confirmation of purchase.\n\nSubscription 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\nYou can manage and cancel your subscriptions by going to your Google Play settings.
+ %1$s / %2$s
Custom color
Lombard
Aragonese
@@ -719,7 +721,7 @@
Annually
%1$s / month
%1$.2f %2$s / month
- Save %1$s.
+ Save %1$s
Current subscription
Renews monthly
Renews quarterly
diff --git a/OsmAnd/res/values/styles.xml b/OsmAnd/res/values/styles.xml
index 3b25e68f60..8298bc9957 100644
--- a/OsmAnd/res/values/styles.xml
+++ b/OsmAnd/res/values/styles.xml
@@ -251,6 +251,7 @@
- @drawable/wikivoyage_primary_btn_bg_light
- @drawable/dialog_active_card_bg_light
- @drawable/purchase_dialog_shadow_btn_bg_light
+ - @drawable/purchase_dialog_outline_btn_bg_light
- @drawable/bg_bottom_bar_shadow_with_line_day
@@ -517,6 +518,7 @@
- @drawable/wikivoyage_primary_btn_bg_dark
- @drawable/dialog_active_card_bg_dark
- @drawable/purchase_dialog_shadow_btn_bg_dark
+ - @drawable/purchase_dialog_outline_btn_bg_dark
- @drawable/bg_bottom_bar_shadow_with_line_night
diff --git a/OsmAnd/res/xml/development_settings.xml b/OsmAnd/res/xml/development_settings.xml
index 6382759667..d01a1f169d 100644
--- a/OsmAnd/res/xml/development_settings.xml
+++ b/OsmAnd/res/xml/development_settings.xml
@@ -25,6 +25,13 @@
android:summaryOn="@string/shared_string_enabled"
android:title="@string/safe_mode" />
+
+
collectRegionsFromJson(JSONArray jsonArray) throws JSONException {
+ public static List collectRegionsFromJson(@NonNull Context ctx, JSONArray jsonArray) throws JSONException {
List customRegions = new ArrayList<>();
Map flatRegions = new HashMap<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject regionJson = jsonArray.getJSONObject(i);
- CustomRegion region = CustomRegion.fromJson(regionJson);
+ CustomRegion region = CustomRegion.fromJson(ctx, regionJson);
flatRegions.put(region.getPath(), region);
}
for (CustomRegion region : flatRegions.values()) {
diff --git a/OsmAnd/src/net/osmand/plus/CustomRegion.java b/OsmAnd/src/net/osmand/plus/CustomRegion.java
index a6f72891df..fc433a7a5e 100644
--- a/OsmAnd/src/net/osmand/plus/CustomRegion.java
+++ b/OsmAnd/src/net/osmand/plus/CustomRegion.java
@@ -1,6 +1,9 @@
package net.osmand.plus;
+import android.content.Context;
+
import androidx.annotation.ColorInt;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import net.osmand.JsonUtils;
@@ -74,7 +77,7 @@ public class CustomRegion extends WorldRegion {
return descriptionInfo;
}
- public static CustomRegion fromJson(JSONObject object) throws JSONException {
+ public static CustomRegion fromJson(@NonNull Context ctx, JSONObject object) throws JSONException {
String scopeId = object.optString("scope-id", null);
String path = object.optString("path", null);
String type = object.optString("type", null);
@@ -90,9 +93,9 @@ public class CustomRegion extends WorldRegion {
region.names = JsonUtils.getLocalizedMapFromJson("name", object);
if (!Algorithms.isEmpty(region.names)) {
region.regionName = region.names.get("");
- region.regionNameEn = region.names.get("");
+ region.regionNameEn = region.names.get("en");
region.regionFullName = region.names.get("");
- region.regionNameLocale = region.names.get("");
+ region.regionNameLocale = JsonUtils.getLocalizedResFromMap(ctx, region.names, region.regionName);
}
region.icons = JsonUtils.getLocalizedMapFromJson("icon", object);
@@ -143,15 +146,15 @@ public class CustomRegion extends WorldRegion {
long containerSize = itemJson.optLong("containerSize");
String indexType = itemJson.optString("type", type);
- String webUrl = itemJson.optString("weburl");
String fileName = itemJson.optString("filename");
String downloadUrl = itemJson.optString("downloadurl");
String size = new DecimalFormat("#.#").format(containerSize / (1024f * 1024f));
- List descrImageUrl = JsonUtils.jsonArrayToList("image-description-url", itemJson);
Map indexNames = JsonUtils.getLocalizedMapFromJson("name", itemJson);
- Map descriptions = JsonUtils.getLocalizedMapFromJson("description", itemJson);
- Map webButtonText = JsonUtils.getLocalizedMapFromJson("web-button-text", itemJson);
+ Map firstSubNames = JsonUtils.getLocalizedMapFromJson("firstsubname", itemJson);
+ Map secondSubNames = JsonUtils.getLocalizedMapFromJson("secondsubname", itemJson);
+
+ DownloadDescriptionInfo descriptionInfo = DownloadDescriptionInfo.fromJson(itemJson.optJSONObject("description"));
DownloadActivityType type = DownloadActivityType.getIndexType(indexType);
if (type != null) {
@@ -160,10 +163,9 @@ public class CustomRegion extends WorldRegion {
.setSubfolder(subfolder)
.setDownloadUrl(downloadUrl)
.setNames(indexNames)
- .setDescriptions(descriptions)
- .setImageDescrUrl(descrImageUrl)
- .setWebUrl(webUrl)
- .setWebButtonText(webButtonText)
+ .setFirstSubNames(firstSubNames)
+ .setSecondSubNames(secondSubNames)
+ .setDescriptionInfo(descriptionInfo)
.setTimestamp(timestamp)
.setSize(size)
.setContentSize(contentSize)
diff --git a/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java b/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java
index d91ec51e8f..69015288be 100644
--- a/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java
+++ b/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java
@@ -17,6 +17,7 @@ import androidx.annotation.Nullable;
import net.osmand.AndroidUtils;
import net.osmand.IProgress;
import net.osmand.IndexConstants;
+import net.osmand.JsonUtils;
import net.osmand.PlatformUtil;
import net.osmand.aidl.ConnectedApp;
import net.osmand.data.LocationPoint;
@@ -253,7 +254,15 @@ public class OsmAndAppCustomization {
@Nullable
public String getNavDrawerLogoUrl() {
- return app.getSettings().NAV_DRAWER_URL.get();
+ String url = app.getSettings().NAV_DRAWER_URL.get();
+ try {
+ JSONObject json = new JSONObject(url);
+ Map localizedMap = JsonUtils.getLocalizedMapFromJson(json);
+ url = JsonUtils.getLocalizedResFromMap(app, localizedMap, url);
+ } catch (JSONException e) {
+ LOG.error(e);
+ }
+ return url;
}
public boolean setNavDrawerLogo(String uri, @Nullable String packageName, @Nullable String intent) {
diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
index 462b61dc32..10f6bbf6df 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
@@ -3692,7 +3692,7 @@ public class OsmandSettings {
// this value string is synchronized with settings_pref.xml preference name
public final OsmandPreference SAFE_MODE = new BooleanPreference("safe_mode", false).makeGlobal();
-
+ public final OsmandPreference PT_SAFE_MODE = new BooleanPreference("pt_safe_mode", false).makeGlobal();
public final OsmandPreference NATIVE_RENDERING_FAILED = new BooleanPreference("native_rendering_failed_init", false).makeGlobal();
public final OsmandPreference USE_OPENGL_RENDER = new BooleanPreference("use_opengl_render",
diff --git a/OsmAnd/src/net/osmand/plus/SettingsHelper.java b/OsmAnd/src/net/osmand/plus/SettingsHelper.java
index 1e19886497..532a9abd8d 100644
--- a/OsmAnd/src/net/osmand/plus/SettingsHelper.java
+++ b/OsmAnd/src/net/osmand/plus/SettingsHelper.java
@@ -603,7 +603,7 @@ public class SettingsHelper {
return;
}
JSONArray jsonArray = json.getJSONArray("items");
- items.addAll(CustomOsmandPlugin.collectRegionsFromJson(jsonArray));
+ items.addAll(CustomOsmandPlugin.collectRegionsFromJson(app, jsonArray));
} catch (JSONException e) {
warnings.add(app.getString(R.string.settings_item_read_error, String.valueOf(getType())));
throw new IllegalArgumentException("Json parse error", e);
@@ -784,6 +784,10 @@ public class SettingsHelper {
} catch (JSONException e) {
throw new IllegalArgumentException("Json parse error", e);
}
+ readPreferencesFromJson(json);
+ }
+
+ void readPreferencesFromJson(final JSONObject json) {
settings.getContext().runInUIThread(new Runnable() {
@Override
public void run() {
@@ -900,13 +904,13 @@ public class SettingsHelper {
private ApplicationMode appMode;
private ApplicationModeBuilder builder;
private ApplicationModeBean modeBean;
+
+ private JSONObject additionalPrefsJson;
private Set appModeBeanPrefsIds;
- private Map drawerLogoParams;
public ProfileSettingsItem(@NonNull OsmandApplication app, @NonNull ApplicationMode appMode) {
super(app.getSettings());
this.appMode = appMode;
- appModeBeanPrefsIds = new HashSet<>(Arrays.asList(app.getSettings().appModeBeanPrefsIds));
}
public ProfileSettingsItem(@NonNull OsmandApplication app, @NonNull ApplicationModeBean modeBean) {
@@ -914,18 +918,16 @@ public class SettingsHelper {
this.modeBean = modeBean;
builder = ApplicationMode.fromModeBean(app, modeBean);
appMode = builder.getApplicationMode();
- appModeBeanPrefsIds = new HashSet<>(Arrays.asList(app.getSettings().appModeBeanPrefsIds));
}
public ProfileSettingsItem(@NonNull OsmandApplication app, @NonNull JSONObject json) throws JSONException {
super(SettingsItemType.PROFILE, app.getSettings(), json);
- appModeBeanPrefsIds = new HashSet<>(Arrays.asList(app.getSettings().appModeBeanPrefsIds));
}
@Override
protected void init() {
super.init();
- drawerLogoParams = new HashMap<>();
+ appModeBeanPrefsIds = new HashSet<>(Arrays.asList(app.getSettings().appModeBeanPrefsIds));
}
@NonNull
@@ -981,24 +983,7 @@ public class SettingsHelper {
@Override
void readItemsFromJson(@NonNull JSONObject json) throws IllegalArgumentException {
- JSONObject prefsJson = json.optJSONObject("prefs");
- try {
- JSONObject drawerLogoJson = prefsJson.optJSONObject("drawer_logo");
- if (drawerLogoJson != null) {
- for (Iterator it = drawerLogoJson.keys(); it.hasNext(); ) {
- String localeKey = it.next();
- String name = drawerLogoJson.getString(localeKey);
- drawerLogoParams.put(localeKey, name);
- }
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @NonNull
- public Map getDrawerLogoParams() {
- return drawerLogoParams;
+ additionalPrefsJson = json.optJSONObject("prefs");
}
@Override
@@ -1063,6 +1048,59 @@ public class SettingsHelper {
ApplicationMode.changeProfileAvailability(appMode, true, app);
}
+ public void applyAdditionalPrefs() {
+ if (additionalPrefsJson != null) {
+ updatePluginResPrefs();
+
+ SettingsItemReader reader = getReader();
+ if (reader instanceof OsmandSettingsItemReader) {
+ ((OsmandSettingsItemReader) reader).readPreferencesFromJson(additionalPrefsJson);
+ }
+ }
+ }
+
+ private void updatePluginResPrefs() {
+ String pluginId = getPluginId();
+ if (Algorithms.isEmpty(pluginId)) {
+ return;
+ }
+ OsmandPlugin plugin = OsmandPlugin.getPlugin(pluginId);
+ if (plugin instanceof CustomOsmandPlugin) {
+ CustomOsmandPlugin customPlugin = (CustomOsmandPlugin) plugin;
+ String resDirPath = IndexConstants.PLUGINS_DIR + pluginId + "/" + customPlugin.getResourceDirName();
+
+ for (Iterator it = additionalPrefsJson.keys(); it.hasNext(); ) {
+ try {
+ String prefId = it.next();
+ Object value = additionalPrefsJson.get(prefId);
+ if (value instanceof JSONObject) {
+ JSONObject jsonObject = (JSONObject) value;
+ for (Iterator iterator = jsonObject.keys(); iterator.hasNext(); ) {
+ String key = iterator.next();
+ Object val = jsonObject.get(key);
+ if (val instanceof String) {
+ val = checkPluginResPath((String) val, resDirPath);
+ }
+ jsonObject.put(key, val);
+ }
+ } else if (value instanceof String) {
+ value = checkPluginResPath((String) value, resDirPath);
+ additionalPrefsJson.put(prefId, value);
+ }
+ } catch (JSONException e) {
+ LOG.error(e);
+ }
+ }
+ }
+ }
+
+ private String checkPluginResPath(String path, String resDirPath) {
+ if (path.startsWith("@")) {
+ return resDirPath + "/" + path.substring(1);
+ }
+ return path;
+ }
+
@Override
void writeToJson(@NonNull JSONObject json) throws JSONException {
super.writeToJson(json);
diff --git a/OsmAnd/src/net/osmand/plus/activities/FavoritesTreeFragment.java b/OsmAnd/src/net/osmand/plus/activities/FavoritesTreeFragment.java
index 826a2383ac..2388e0ffe8 100644
--- a/OsmAnd/src/net/osmand/plus/activities/FavoritesTreeFragment.java
+++ b/OsmAnd/src/net/osmand/plus/activities/FavoritesTreeFragment.java
@@ -44,6 +44,7 @@ import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
+import net.osmand.plus.UiUtilities;
import net.osmand.plus.base.FavoriteImageDrawable;
import net.osmand.plus.base.OsmandExpandableListFragment;
import net.osmand.plus.helpers.AndroidUiHelper;
@@ -957,8 +958,14 @@ public class FavoritesTreeFragment extends OsmandExpandableListFragment implemen
if (model.isAddressSpecified()) {
distanceText.setText(String.format(getString(R.string.ltr_or_rtl_combine_via_comma), distance.trim(), model.getAddress()));
}
- icon.setImageDrawable(FavoriteImageDrawable.getOrCreate(getActivity(),
- visible ? model.getColor() : getResources().getColor(disabledIconColor), false, model));
+ if(model.getBackgroundType().equals(FavouritePoint.BackgroundType.CIRCLE)){
+ int color = visible ? model.getColor() : getResources().getColor(disabledIconColor);
+ int col = color == 0 || color == Color.BLACK ? getResources().getColor(R.color.color_favorite) : color;
+ icon.setImageDrawable(UiUtilities.createTintedDrawable(getActivity(),model.getIconId(),col));
+ }else {
+ icon.setImageDrawable(FavoriteImageDrawable.getOrCreate(getActivity(),
+ visible ? model.getColor() : getResources().getColor(disabledIconColor), false, model));
+ }
if (visible) {
distanceText.setTextColor(getResources().getColor(R.color.color_distance));
} else {
diff --git a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java
index 7a5f5876e2..cba81e6113 100644
--- a/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java
+++ b/OsmAnd/src/net/osmand/plus/chooseplan/ChoosePlanDialogFragment.java
@@ -37,6 +37,7 @@ import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
+import net.osmand.plus.UiUtilities;
import net.osmand.plus.Version;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.base.BaseOsmAndDialogFragment;
@@ -352,18 +353,24 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
osmLiveCardButtonsContainer.removeAllViews();
View lastBtn = null;
List visibleSubscriptions = purchaseHelper.getLiveUpdates().getVisibleSubscriptions();
- boolean anyPurchasedOrIntroducted = false;
+ InAppSubscription maxDiscountSubscription = null;
+ double maxDiscount = 0;
+ boolean anyPurchased = false;
for (final InAppSubscription s : visibleSubscriptions) {
- if (s.isPurchased() || s.getIntroductoryInfo() != null) {
- anyPurchasedOrIntroducted = true;
- break;
+ if (s.isPurchased()) {
+ anyPurchased = true;
+ }
+ double discount = s.getDiscountPercent(purchaseHelper.getMonthlyLiveUpdates());
+ if (discount > maxDiscount) {
+ maxDiscountSubscription = s;
+ maxDiscount = discount;
}
}
+ boolean maxDiscountAction = maxDiscountSubscription != null && maxDiscountSubscription.hasDiscountOffer();
for (final InAppSubscription s : visibleSubscriptions) {
InAppSubscriptionIntroductoryInfo introductoryInfo = s.getIntroductoryInfo();
boolean hasIntroductoryInfo = introductoryInfo != null;
- CharSequence descriptionText = hasIntroductoryInfo ?
- introductoryInfo.getDescriptionTitle(ctx) : s.getDescription(ctx, purchaseHelper.getMonthlyLiveUpdates());
+ CharSequence descriptionText = s.getDescription(ctx);
if (s.isPurchased()) {
View buttonPurchased = inflate(R.layout.purchase_dialog_card_button_active_ex, osmLiveCardButtonsContainer);
TextViewEx title = (TextViewEx) buttonPurchased.findViewById(R.id.title);
@@ -377,9 +384,13 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
AppCompatImageView rightImage = (AppCompatImageView) buttonPurchased.findViewById(R.id.right_image);
CharSequence priceTitle = hasIntroductoryInfo ?
- introductoryInfo.getFormattedDescription(ctx, buttonTitle.getCurrentTextColor()) : s.getPrice(ctx);
+ introductoryInfo.getFormattedDescription(ctx, buttonTitle.getCurrentTextColor()) : s.getPriceWithPeriod(ctx);
title.setText(s.getTitle(ctx));
- description.setText(descriptionText);
+ if (Algorithms.isEmpty(descriptionText.toString())) {
+ description.setVisibility(View.GONE);
+ } else {
+ description.setText(descriptionText);
+ }
buttonTitle.setText(priceTitle);
buttonView.setVisibility(View.VISIBLE);
buttonCancelView.setVisibility(View.GONE);
@@ -421,7 +432,6 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
rightImage.setVisibility(View.VISIBLE);
osmLiveCardButtonsContainer.addView(buttonCancel);
lastBtn = buttonCancel;
-
} else {
View button = inflate(R.layout.purchase_dialog_card_button_ex, osmLiveCardButtonsContainer);
TextViewEx title = (TextViewEx) button.findViewById(R.id.title);
@@ -433,18 +443,41 @@ public abstract class ChoosePlanDialogFragment extends BaseOsmAndDialogFragment
View buttonExView = button.findViewById(R.id.button_ex_view);
TextViewEx buttonTitle = (TextViewEx) button.findViewById(R.id.button_title);
TextViewEx buttonExTitle = (TextViewEx) button.findViewById(R.id.button_ex_title);
- boolean showSolidButton = !anyPurchasedOrIntroducted || hasIntroductoryInfo;
+
+ boolean showSolidButton = !anyPurchased
+ && (!maxDiscountAction || hasIntroductoryInfo || maxDiscountSubscription.isUpgrade());
+ int descriptionColor = showSolidButton ? buttonExTitle.getCurrentTextColor() : buttonTitle.getCurrentTextColor();
buttonView.setVisibility(!showSolidButton ? View.VISIBLE : View.GONE);
buttonExView.setVisibility(showSolidButton ? View.VISIBLE : View.GONE);
View div = button.findViewById(R.id.div);
CharSequence priceTitle = hasIntroductoryInfo ?
- introductoryInfo.getFormattedDescription(ctx, buttonExTitle.getCurrentTextColor()) : s.getPrice(ctx);
+ introductoryInfo.getFormattedDescription(ctx, descriptionColor) : s.getPriceWithPeriod(ctx);
title.setText(s.getTitle(ctx));
- description.setText(descriptionText);
+ if (Algorithms.isEmpty(descriptionText.toString())) {
+ description.setVisibility(View.GONE);
+ } else {
+ description.setText(descriptionText);
+ }
buttonTitle.setText(priceTitle);
buttonExTitle.setText(priceTitle);
+ TextViewEx buttonDiscountTitle = (TextViewEx) button.findViewById(R.id.button_discount_title);
+ View buttonDiscountView = button.findViewById(R.id.button_discount_view);
+ String discountTitle = s.getDiscountTitle(ctx, purchaseHelper.getMonthlyLiveUpdates());
+ if (!Algorithms.isEmpty(discountTitle)) {
+ buttonDiscountTitle.setText(discountTitle);
+ buttonDiscountView.setVisibility(View.VISIBLE);
+ if (s.equals(maxDiscountSubscription)) {
+ int saveTextColor = R.color.color_osm_edit_delete;
+ if (hasIntroductoryInfo || maxDiscountSubscription.isUpgrade()) {
+ saveTextColor = R.color.active_buttons_and_links_text_light;
+ AndroidUtils.setBackground(buttonDiscountView, UiUtilities.tintDrawable(buttonDiscountView.getBackground(),
+ ContextCompat.getColor(ctx, R.color.color_osm_edit_delete)));
+ }
+ buttonDiscountTitle.setTextColor(ContextCompat.getColor(ctx, saveTextColor));
+ }
+ }
if (!showSolidButton) {
buttonView.setOnClickListener(new OnClickListener() {
@Override
diff --git a/OsmAnd/src/net/osmand/plus/development/DevelopmentSettingsFragment.java b/OsmAnd/src/net/osmand/plus/development/DevelopmentSettingsFragment.java
index 549914ca09..cc85939308 100644
--- a/OsmAnd/src/net/osmand/plus/development/DevelopmentSettingsFragment.java
+++ b/OsmAnd/src/net/osmand/plus/development/DevelopmentSettingsFragment.java
@@ -35,6 +35,7 @@ public class DevelopmentSettingsFragment extends BaseSettingsFragment {
setupOpenglRenderPref();
setupSafeModePref();
+ setupPTSafeMode();
setupDisableComplexRoutingPref();
setupFastRecalculationPref();
@@ -81,6 +82,16 @@ public class DevelopmentSettingsFragment extends BaseSettingsFragment {
}
}
+ private void setupPTSafeMode() {
+ SwitchPreferenceEx ptSafeMode = (SwitchPreferenceEx) findPreference(settings.PT_SAFE_MODE.getId());
+ if (!Version.isBlackberry(app)) {
+ ptSafeMode.setDescription("Switch to Java (safe) Public Transport routing calculation");
+ ptSafeMode.setIconSpaceReserved(false);
+ } else {
+ ptSafeMode.setVisible(false);
+ }
+ }
+
private void setupDisableComplexRoutingPref() {
SwitchPreferenceEx disableComplexRouting = (SwitchPreferenceEx) findPreference(settings.DISABLE_COMPLEX_ROUTING.getId());
disableComplexRouting.setDescription(getString(R.string.disable_complex_routing_descr));
diff --git a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java
index af8c1969fb..83095b45b6 100644
--- a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java
+++ b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java
@@ -42,12 +42,14 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity {
if (!Version.isBlackberry(app)) {
CheckBoxPreference nativeCheckbox = createCheckBoxPreference(settings.SAFE_MODE, R.string.safe_mode, R.string.safe_mode_description);
+ CheckBoxPreference nativePTCheckbox = createCheckBoxPreference(settings.PT_SAFE_MODE, "Native PT routing development", "Switch to Java (safe) Public Transport routing calculation");
// disable the checkbox if the library cannot be used
if ((NativeOsmandLibrary.isLoaded() && !NativeOsmandLibrary.isSupported()) || settings.NATIVE_RENDERING_FAILED.get()) {
nativeCheckbox.setEnabled(false);
nativeCheckbox.setChecked(true);
}
cat.addPreference(nativeCheckbox);
+ cat.addPreference(nativePTCheckbox);
}
PreferenceCategory navigation = new PreferenceCategory(this);
diff --git a/OsmAnd/src/net/osmand/plus/download/CustomIndexItem.java b/OsmAnd/src/net/osmand/plus/download/CustomIndexItem.java
index 6bacdb237a..16067b7c04 100644
--- a/OsmAnd/src/net/osmand/plus/download/CustomIndexItem.java
+++ b/OsmAnd/src/net/osmand/plus/download/CustomIndexItem.java
@@ -7,44 +7,42 @@ import androidx.annotation.NonNull;
import net.osmand.JsonUtils;
import net.osmand.map.OsmandRegions;
import net.osmand.plus.OsmandApplication;
+import net.osmand.plus.download.ui.DownloadDescriptionInfo;
import net.osmand.util.Algorithms;
import java.io.File;
-import java.util.List;
import java.util.Map;
public class CustomIndexItem extends IndexItem {
private String subfolder;
private String downloadUrl;
- private String webUrl;
- private List imageDescrUrl;
private Map names;
- private Map descriptions;
- private Map webButtonTexts;
+ private Map firstSubNames;
+ private Map secondSubNames;
+
+ private DownloadDescriptionInfo descriptionInfo;
public CustomIndexItem(String fileName,
String subfolder,
String downloadUrl,
- String webUrl,
String size,
long timestamp,
long contentSize,
long containerSize,
- List imageDescrUrl,
Map names,
- Map descriptions,
- Map webButtonTexts,
- @NonNull DownloadActivityType type) {
+ Map firstSubNames,
+ Map secondSubNames,
+ @NonNull DownloadActivityType type,
+ DownloadDescriptionInfo descriptionInfo) {
super(fileName, null, timestamp, size, contentSize, containerSize, type);
+ this.names = names;
+ this.firstSubNames = firstSubNames;
+ this.secondSubNames = secondSubNames;
this.subfolder = subfolder;
this.downloadUrl = downloadUrl;
- this.webUrl = webUrl;
- this.imageDescrUrl = imageDescrUrl;
- this.names = names;
- this.descriptions = descriptions;
- this.webButtonTexts = webButtonTexts;
+ this.descriptionInfo = descriptionInfo;
}
@Override
@@ -52,6 +50,7 @@ public class CustomIndexItem extends IndexItem {
DownloadEntry entry = super.createDownloadEntry(ctx);
if (entry != null) {
entry.urlToDownload = downloadUrl;
+ entry.zipStream = fileName.endsWith(".zip");
}
return entry;
}
@@ -76,21 +75,26 @@ public class CustomIndexItem extends IndexItem {
return JsonUtils.getLocalizedResFromMap(ctx, names, name);
}
- public List getDescriptionImageUrl() {
- return imageDescrUrl;
+ public String getSubName(Context ctx) {
+ String subName = getFirstSubName(ctx);
+
+ String secondSubName = getSecondSubName(ctx);
+ if (secondSubName != null) {
+ subName = subName == null ? secondSubName : subName + " • " + secondSubName;
+ }
+ return subName;
}
- public String getLocalizedDescription(Context ctx) {
- String description = super.getDescription();
- return JsonUtils.getLocalizedResFromMap(ctx, descriptions, description);
+ public String getFirstSubName(Context ctx) {
+ return JsonUtils.getLocalizedResFromMap(ctx, firstSubNames, null);
}
- public String getWebUrl() {
- return webUrl;
+ public String getSecondSubName(Context ctx) {
+ return JsonUtils.getLocalizedResFromMap(ctx, secondSubNames, null);
}
- public String getWebButtonText(Context ctx) {
- return JsonUtils.getLocalizedResFromMap(ctx, webButtonTexts, null);
+ public DownloadDescriptionInfo getDescriptionInfo() {
+ return descriptionInfo;
}
public static class CustomIndexItemBuilder {
@@ -98,19 +102,18 @@ public class CustomIndexItem extends IndexItem {
private String fileName;
private String subfolder;
private String downloadUrl;
- private String webUrl;
private String size;
private long timestamp;
private long contentSize;
private long containerSize;
- private List imageDescrUrl;
private Map names;
- private Map descriptions;
- private Map webButtonText;
+ private Map firstSubNames;
+ private Map secondSubNames;
private DownloadActivityType type;
+ private DownloadDescriptionInfo descriptionInfo;
public CustomIndexItemBuilder setFileName(String fileName) {
this.fileName = fileName;
@@ -127,11 +130,6 @@ public class CustomIndexItem extends IndexItem {
return this;
}
- public CustomIndexItemBuilder setWebUrl(String webUrl) {
- this.webUrl = webUrl;
- return this;
- }
-
public CustomIndexItemBuilder setSize(String size) {
this.size = size;
return this;
@@ -152,23 +150,23 @@ public class CustomIndexItem extends IndexItem {
return this;
}
- public CustomIndexItemBuilder setImageDescrUrl(List imageDescrUrl) {
- this.imageDescrUrl = imageDescrUrl;
- return this;
- }
-
public CustomIndexItemBuilder setNames(Map names) {
this.names = names;
return this;
}
- public CustomIndexItemBuilder setDescriptions(Map descriptions) {
- this.descriptions = descriptions;
+ public CustomIndexItemBuilder setFirstSubNames(Map firstSubNames) {
+ this.firstSubNames = firstSubNames;
return this;
}
- public CustomIndexItemBuilder setWebButtonText(Map webButtonText) {
- this.webButtonText = webButtonText;
+ public CustomIndexItemBuilder setSecondSubNames(Map secondSubNames) {
+ this.secondSubNames = secondSubNames;
+ return this;
+ }
+
+ public CustomIndexItemBuilder setDescriptionInfo(DownloadDescriptionInfo descriptionInfo) {
+ this.descriptionInfo = descriptionInfo;
return this;
}
@@ -181,16 +179,15 @@ public class CustomIndexItem extends IndexItem {
return new CustomIndexItem(fileName,
subfolder,
downloadUrl,
- webUrl,
size,
timestamp,
contentSize,
containerSize,
- imageDescrUrl,
names,
- descriptions,
- webButtonText,
- type);
+ firstSubNames,
+ secondSubNames,
+ type,
+ descriptionInfo);
}
}
}
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/download/ui/DownloadDescriptionInfo.java b/OsmAnd/src/net/osmand/plus/download/ui/DownloadDescriptionInfo.java
index 20f685bb1c..2a110f15da 100644
--- a/OsmAnd/src/net/osmand/plus/download/ui/DownloadDescriptionInfo.java
+++ b/OsmAnd/src/net/osmand/plus/download/ui/DownloadDescriptionInfo.java
@@ -21,14 +21,14 @@ public class DownloadDescriptionInfo {
private JSONArray buttonsJson;
private List imageUrls;
- private Map texts;
+ private Map localizedDescription;
public List getImageUrls() {
return imageUrls;
}
public CharSequence getLocalizedDescription(Context ctx) {
- String description = JsonUtils.getLocalizedResFromMap(ctx, texts, null);
+ String description = JsonUtils.getLocalizedResFromMap(ctx, localizedDescription, null);
return description != null ? Html.fromHtml(description) : null;
}
@@ -63,7 +63,7 @@ public class DownloadDescriptionInfo {
if (json != null) {
DownloadDescriptionInfo downloadDescriptionInfo = new DownloadDescriptionInfo();
try {
- downloadDescriptionInfo.texts = JsonUtils.getLocalizedMapFromJson("text", json);
+ downloadDescriptionInfo.localizedDescription = JsonUtils.getLocalizedMapFromJson("text", json);
downloadDescriptionInfo.imageUrls = JsonUtils.jsonArrayToList("image", json);
downloadDescriptionInfo.buttonsJson = json.optJSONArray("button");
} catch (JSONException e) {
@@ -77,7 +77,7 @@ public class DownloadDescriptionInfo {
public JSONObject toJson() throws JSONException {
JSONObject descrJson = new JSONObject();
- JsonUtils.writeLocalizedMapToJson("text", descrJson, texts);
+ JsonUtils.writeLocalizedMapToJson("text", descrJson, localizedDescription);
JsonUtils.writeStringListToJson("image", descrJson, imageUrls);
descrJson.putOpt("button", buttonsJson);
@@ -87,6 +87,8 @@ public class DownloadDescriptionInfo {
public static class ActionButton {
+ public static final String DOWNLOAD_ACTION = "download";
+
private String actionType;
private String name;
private String url;
diff --git a/OsmAnd/src/net/osmand/plus/download/ui/DownloadItemFragment.java b/OsmAnd/src/net/osmand/plus/download/ui/DownloadItemFragment.java
index bd709d80ac..7d38a92f73 100644
--- a/OsmAnd/src/net/osmand/plus/download/ui/DownloadItemFragment.java
+++ b/OsmAnd/src/net/osmand/plus/download/ui/DownloadItemFragment.java
@@ -2,37 +2,43 @@ package net.osmand.plus.download.ui;
import android.graphics.drawable.Drawable;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ImageView;
+import android.view.ViewTreeObserver;
import android.widget.TextView;
+import android.widget.Toast;
+import androidx.annotation.LayoutRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.DialogFragment;
-
-import com.squareup.picasso.Callback;
-import com.squareup.picasso.Picasso;
-import com.squareup.picasso.RequestCreator;
+import androidx.viewpager.widget.ViewPager;
import net.osmand.AndroidUtils;
-import net.osmand.PicassoUtils;
-import net.osmand.map.WorldRegion;
-import net.osmand.plus.CustomRegion;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.download.CustomIndexItem;
import net.osmand.plus.download.DownloadActivity;
+import net.osmand.plus.download.DownloadActivity.BannerAndDownloadFreeVersion;
+import net.osmand.plus.download.DownloadIndexesThread.DownloadEvents;
import net.osmand.plus.download.DownloadResourceGroup;
import net.osmand.plus.download.DownloadResources;
+import net.osmand.plus.download.IndexItem;
+import net.osmand.plus.download.ui.DownloadDescriptionInfo.ActionButton;
+import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.plus.wikipedia.WikipediaDialogFragment;
import net.osmand.util.Algorithms;
+import java.util.List;
+
import static net.osmand.plus.download.ui.DownloadResourceGroupFragment.REGION_ID_DLG_KEY;
-public class DownloadItemFragment extends DialogFragment {
+public class DownloadItemFragment extends DialogFragment implements DownloadEvents {
public static final String ITEM_ID_DLG_KEY = "index_item_dialog_key";
@@ -41,14 +47,14 @@ public class DownloadItemFragment extends DialogFragment {
private String regionId = "";
private int itemIndex = -1;
+ private BannerAndDownloadFreeVersion banner;
private DownloadResourceGroup group;
- private CustomIndexItem indexItem;
- private View view;
private Toolbar toolbar;
- private ImageView image;
private TextView description;
- private TextView buttonTextView;
+ private ViewPager imagesPager;
+ private View descriptionContainer;
+ private ViewGroup buttonsContainer;
private boolean nightMode;
@@ -58,12 +64,11 @@ public class DownloadItemFragment extends DialogFragment {
nightMode = !getMyApplication().getSettings().isLightContent();
int themeId = nightMode ? R.style.OsmandDarkTheme : R.style.OsmandLightTheme;
setStyle(STYLE_NO_FRAME, themeId);
-
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- view = inflater.inflate(R.layout.item_info_fragment, container, false);
+ final View view = inflater.inflate(R.layout.item_info_fragment, container, false);
if (savedInstanceState != null) {
regionId = savedInstanceState.getString(REGION_ID_DLG_KEY);
@@ -85,77 +90,131 @@ public class DownloadItemFragment extends DialogFragment {
}
});
- description = view.findViewById(R.id.item_description);
- image = view.findViewById(R.id.item_image);
+ banner = new BannerAndDownloadFreeVersion(view, (DownloadActivity) getActivity(), false);
- View dismissButton = view.findViewById(R.id.dismiss_button);
- dismissButton.setOnClickListener(new View.OnClickListener() {
+ description = view.findViewById(R.id.description);
+ imagesPager = view.findViewById(R.id.images_pager);
+ buttonsContainer = view.findViewById(R.id.buttons_container);
+ descriptionContainer = view.findViewById(R.id.description_container);
+
+ reloadData();
+
+ view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
- public void onClick(View v) {
- if (indexItem != null && !Algorithms.isEmpty(indexItem.getWebUrl())) {
- WikipediaDialogFragment.showFullArticle(v.getContext(), Uri.parse(indexItem.getWebUrl()), nightMode);
+ public void onGlobalLayout() {
+ ViewTreeObserver obs = view.getViewTreeObserver();
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ obs.removeOnGlobalLayoutListener(this);
+ } else {
+ obs.removeGlobalOnLayoutListener(this);
}
+ descriptionContainer.setPadding(0, 0, 0, buttonsContainer.getHeight());
}
});
- UiUtilities.setupDialogButton(nightMode, dismissButton, UiUtilities.DialogButtonType.PRIMARY, "");
- buttonTextView = (TextView) dismissButton.findViewById(R.id.button_text);
return view;
}
@Override
- public void onResume() {
- super.onResume();
- reloadData();
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
+ public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(REGION_ID_DLG_KEY, regionId);
outState.putInt(ITEM_ID_DLG_KEY, itemIndex);
}
+ @Override
+ public void newDownloadIndexes() {
+ if (banner != null) {
+ banner.updateBannerInProgress();
+ }
+ reloadData();
+ }
+
+ @Override
+ public void downloadHasFinished() {
+ if (banner != null) {
+ banner.updateBannerInProgress();
+ }
+ reloadData();
+ }
+
+ @Override
+ public void downloadInProgress() {
+ if (banner != null) {
+ banner.updateBannerInProgress();
+ }
+ }
+
private void reloadData() {
- DownloadActivity downloadActivity = getDownloadActivity();
- if (downloadActivity != null) {
- OsmandApplication app = downloadActivity.getMyApplication();
- DownloadResources indexes = getDownloadActivity().getDownloadThread().getIndexes();
- group = indexes.getGroupById(regionId);
- indexItem = (CustomIndexItem) group.getItemByIndex(itemIndex);
- if (indexItem != null) {
- toolbar.setTitle(indexItem.getVisibleName(app, app.getRegions()));
- WorldRegion region = group.getRegion();
- if (region instanceof CustomRegion) {
- CustomRegion customRegion = (CustomRegion) region;
- int color = customRegion.getHeaderColor();
- if (color != -1) {
- toolbar.setBackgroundColor(color);
+ DownloadActivity activity = getDownloadActivity();
+ OsmandApplication app = activity.getMyApplication();
+ DownloadResources indexes = activity.getDownloadThread().getIndexes();
+ group = indexes.getGroupById(regionId);
+ CustomIndexItem indexItem = (CustomIndexItem) group.getItemByIndex(itemIndex);
+ if (indexItem != null) {
+ toolbar.setTitle(indexItem.getVisibleName(app, app.getRegions()));
+
+ DownloadDescriptionInfo descriptionInfo = indexItem.getDescriptionInfo();
+ if (descriptionInfo != null) {
+ updateDescription(app, descriptionInfo, description);
+ updateImagesPager(app, descriptionInfo, imagesPager);
+ updateActionButtons(activity, descriptionInfo, indexItem, buttonsContainer, R.layout.bottom_buttons, nightMode);
+ }
+ }
+ }
+
+ static void updateActionButtons(final DownloadActivity ctx, DownloadDescriptionInfo descriptionInfo,
+ @Nullable final IndexItem indexItem, ViewGroup buttonsContainer,
+ @LayoutRes int layoutId, final boolean nightMode) {
+ buttonsContainer.removeAllViews();
+
+ List actionButtons = descriptionInfo.getActionButtons(ctx);
+ if (Algorithms.isEmpty(actionButtons) && indexItem != null && !indexItem.isDownloaded()) {
+ actionButtons.add(new ActionButton(ActionButton.DOWNLOAD_ACTION, ctx.getString(R.string.shared_string_download), null));
+ }
+
+ for (final ActionButton actionButton : actionButtons) {
+ View buttonView = UiUtilities.getInflater(ctx, nightMode).inflate(layoutId, buttonsContainer, false);
+ View button = buttonView.findViewById(R.id.dismiss_button);
+ if (button != null) {
+ UiUtilities.setupDialogButton(nightMode, button, UiUtilities.DialogButtonType.PRIMARY, actionButton.getName());
+ } else {
+ TextView buttonText = buttonView.findViewById(R.id.button_text);
+ buttonText.setText(actionButton.getName());
+ }
+ buttonView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (actionButton.getUrl() != null) {
+ WikipediaDialogFragment.showFullArticle(ctx, Uri.parse(actionButton.getUrl()), nightMode);
+ } else if (ActionButton.DOWNLOAD_ACTION.equalsIgnoreCase(actionButton.getActionType()) && indexItem != null) {
+ boolean isDownloading = ctx.getDownloadThread().isDownloading(indexItem);
+ if (!isDownloading) {
+ ctx.startDownload(indexItem);
+ }
+ } else {
+ String text = ctx.getString(R.string.download_unsupported_action, actionButton.getActionType());
+ Toast.makeText(ctx, text, Toast.LENGTH_SHORT).show();
}
}
+ });
+ buttonsContainer.addView(buttonView);
+ }
+ }
- description.setText(indexItem.getLocalizedDescription(app));
- buttonTextView.setText(indexItem.getWebButtonText(app));
+ static void updateDescription(OsmandApplication app, DownloadDescriptionInfo descriptionInfo, TextView descriptionView) {
+ CharSequence descr = descriptionInfo.getLocalizedDescription(app);
+ descriptionView.setText(descr);
+ AndroidUiHelper.updateVisibility(descriptionView, !Algorithms.isEmpty(descr));
+ }
- final PicassoUtils picassoUtils = PicassoUtils.getPicasso(app);
- Picasso picasso = Picasso.get();
- for (final String imageUrl : indexItem.getDescriptionImageUrl()) {
- RequestCreator rc = picasso.load(imageUrl);
- rc.into(image, new Callback() {
- @Override
- public void onSuccess() {
- image.setVisibility(View.VISIBLE);
- picassoUtils.setResultLoaded(imageUrl, true);
- }
-
- @Override
- public void onError(Exception e) {
- image.setVisibility(View.GONE);
- picassoUtils.setResultLoaded(imageUrl, false);
- }
- });
- }
- }
+ static void updateImagesPager(OsmandApplication app, DownloadDescriptionInfo descriptionInfo, ViewPager viewPager) {
+ if (!Algorithms.isEmpty(descriptionInfo.getImageUrls())) {
+ ImagesPagerAdapter adapter = new ImagesPagerAdapter(app, descriptionInfo.getImageUrls());
+ viewPager.setAdapter(adapter);
+ viewPager.setVisibility(View.VISIBLE);
+ } else {
+ viewPager.setVisibility(View.GONE);
}
}
diff --git a/OsmAnd/src/net/osmand/plus/download/ui/DownloadResourceGroupFragment.java b/OsmAnd/src/net/osmand/plus/download/ui/DownloadResourceGroupFragment.java
index 2904339a51..adeb95ea28 100644
--- a/OsmAnd/src/net/osmand/plus/download/ui/DownloadResourceGroupFragment.java
+++ b/OsmAnd/src/net/osmand/plus/download/ui/DownloadResourceGroupFragment.java
@@ -5,7 +5,6 @@ import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
-import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.TypedValue;
@@ -22,19 +21,13 @@ import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ImageView;
import android.widget.TextView;
-import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.MenuItemCompat;
import androidx.fragment.app.DialogFragment;
-import androidx.viewpager.widget.PagerAdapter;
-
-import com.squareup.picasso.Callback;
-import com.squareup.picasso.Picasso;
import net.osmand.AndroidNetworkUtils;
import net.osmand.AndroidUtils;
-import net.osmand.PicassoUtils;
import net.osmand.plus.CustomRegion;
import net.osmand.plus.LockableViewPager;
import net.osmand.plus.OsmandApplication;
@@ -51,12 +44,9 @@ import net.osmand.plus.download.DownloadResourceGroup.DownloadResourceGroupType;
import net.osmand.plus.download.DownloadResources;
import net.osmand.plus.download.DownloadValidationManager;
import net.osmand.plus.download.IndexItem;
-import net.osmand.plus.download.ui.DownloadDescriptionInfo.ActionButton;
-import net.osmand.plus.helpers.AndroidUiHelper;
import net.osmand.plus.inapp.InAppPurchaseHelper;
import net.osmand.plus.inapp.InAppPurchaseHelper.InAppPurchaseListener;
import net.osmand.plus.inapp.InAppPurchaseHelper.InAppPurchaseTaskType;
-import net.osmand.plus.wikipedia.WikipediaDialogFragment;
import net.osmand.util.Algorithms;
import org.json.JSONException;
@@ -68,6 +58,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static net.osmand.plus.download.ui.DownloadItemFragment.updateActionButtons;
+import static net.osmand.plus.download.ui.DownloadItemFragment.updateDescription;
+import static net.osmand.plus.download.ui.DownloadItemFragment.updateImagesPager;
+
public class DownloadResourceGroupFragment extends DialogFragment implements DownloadEvents,
InAppPurchaseListener, OnChildClickListener {
public static final int RELOAD_ID = 0;
@@ -254,40 +248,17 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
if (descriptionView != null) {
if (group != null && group.getRegion() instanceof CustomRegion) {
CustomRegion customRegion = (CustomRegion) group.getRegion();
- DownloadDescriptionInfo downloadDescriptionInfo = customRegion.getDescriptionInfo();
- if (downloadDescriptionInfo != null) {
+ DownloadDescriptionInfo descriptionInfo = customRegion.getDescriptionInfo();
+ if (descriptionInfo != null) {
+ OsmandApplication app = activity.getMyApplication();
TextView description = descriptionView.findViewById(R.id.description);
- CharSequence descr = downloadDescriptionInfo.getLocalizedDescription(activity);
- description.setText(descr);
- AndroidUiHelper.updateVisibility(description, !Algorithms.isEmpty(descr));
+ updateDescription(app, descriptionInfo, description);
ViewGroup buttonsContainer = descriptionView.findViewById(R.id.buttons_container);
- buttonsContainer.removeAllViews();
- for (final ActionButton actionButton : downloadDescriptionInfo.getActionButtons(activity)) {
- String name = actionButton.getName();
- if (!Algorithms.isEmpty(name)) {
- TextView buttonText = (TextView) activity.getLayoutInflater().inflate(R.layout.download_description_button, buttonsContainer, false);
- buttonText.setText(name);
- buttonText.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- if (actionButton.getUrl() != null) {
- WikipediaDialogFragment.showFullArticle(activity, Uri.parse(actionButton.getUrl()), nightMode);
- } else {
- activity.getMyApplication().showShortToastMessage(R.string.download_unsupported_action, actionButton.getActionType());
- }
- }
- });
- buttonsContainer.addView(buttonText);
- }
- }
+ updateActionButtons(activity, descriptionInfo, null, buttonsContainer, R.layout.download_description_button, nightMode);
+
LockableViewPager viewPager = descriptionView.findViewById(R.id.images_pager);
- if (!Algorithms.isEmpty(downloadDescriptionInfo.getImageUrls())) {
- ImagesPagerAdapter adapter = new ImagesPagerAdapter(downloadDescriptionInfo.getImageUrls());
- viewPager.setAdapter(adapter);
- } else {
- viewPager.setVisibility(View.GONE);
- }
+ updateImagesPager(app, descriptionInfo, viewPager);
descriptionView.findViewById(R.id.container).setVisibility(View.VISIBLE);
return;
@@ -798,60 +769,4 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
return true;
}
}
-
- private class ImagesPagerAdapter extends PagerAdapter {
-
- private PicassoUtils picassoUtils;
-
- private List imageUrls;
-
- public ImagesPagerAdapter(List imageUrls) {
- this.imageUrls = imageUrls;
- picassoUtils = PicassoUtils.getPicasso(getMyApplication());
- }
-
- @Override
- public int getCount() {
- return imageUrls.size();
- }
-
- @Override
- public Object instantiateItem(ViewGroup container, int position) {
- View view = createImageView(position);
- container.addView(view, 0);
-
- return view;
- }
-
- @Override
- public void destroyItem(ViewGroup collection, int position, @NonNull Object view) {
- collection.removeView((View) view);
- }
-
- @Override
- public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
- return view == object;
- }
-
- private View createImageView(int position) {
- final ImageView imageView = new ImageView(getContext());
- imageView.setScaleType(ImageView.ScaleType.FIT_XY);
-
- final String imageUrl = imageUrls.get(position);
- Picasso.get().load(imageUrl).into(imageView, new Callback() {
- @Override
- public void onSuccess() {
- imageView.setVisibility(View.VISIBLE);
- picassoUtils.setResultLoaded(imageUrl, true);
- }
-
- @Override
- public void onError(Exception e) {
- imageView.setVisibility(View.INVISIBLE);
- picassoUtils.setResultLoaded(imageUrl, false);
- }
- });
- return imageView;
- }
- }
}
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/download/ui/ImagesPagerAdapter.java b/OsmAnd/src/net/osmand/plus/download/ui/ImagesPagerAdapter.java
new file mode 100644
index 0000000000..af3cea834c
--- /dev/null
+++ b/OsmAnd/src/net/osmand/plus/download/ui/ImagesPagerAdapter.java
@@ -0,0 +1,74 @@
+package net.osmand.plus.download.ui;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.viewpager.widget.PagerAdapter;
+
+import com.squareup.picasso.Callback;
+import com.squareup.picasso.Picasso;
+
+import net.osmand.PicassoUtils;
+import net.osmand.plus.OsmandApplication;
+
+import java.util.List;
+
+public class ImagesPagerAdapter extends PagerAdapter {
+
+ private OsmandApplication app;
+ private PicassoUtils picassoUtils;
+
+ private List imageUrls;
+
+ public ImagesPagerAdapter(@NonNull OsmandApplication app, List imageUrls) {
+ this.app = app;
+ this.imageUrls = imageUrls;
+ picassoUtils = PicassoUtils.getPicasso(app);
+ }
+
+ @Override
+ public int getCount() {
+ return imageUrls.size();
+ }
+
+ @Override
+ public Object instantiateItem(ViewGroup container, int position) {
+ View view = createImageView(position);
+ container.addView(view, 0);
+
+ return view;
+ }
+
+ @Override
+ public void destroyItem(ViewGroup collection, int position, @NonNull Object view) {
+ collection.removeView((View) view);
+ }
+
+ @Override
+ public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
+ return view == object;
+ }
+
+ private View createImageView(int position) {
+ final ImageView imageView = new ImageView(app);
+ imageView.setScaleType(ImageView.ScaleType.FIT_XY);
+
+ final String imageUrl = imageUrls.get(position);
+ Picasso.get().load(imageUrl).into(imageView, new Callback() {
+ @Override
+ public void onSuccess() {
+ imageView.setVisibility(View.VISIBLE);
+ picassoUtils.setResultLoaded(imageUrl, true);
+ }
+
+ @Override
+ public void onError(Exception e) {
+ imageView.setVisibility(View.INVISIBLE);
+ picassoUtils.setResultLoaded(imageUrl, false);
+ }
+ });
+ return imageView;
+ }
+}
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java b/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java
index 0190cfb5e7..ec1c70fd41 100644
--- a/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java
+++ b/OsmAnd/src/net/osmand/plus/download/ui/ItemViewHolder.java
@@ -27,6 +27,7 @@ import net.osmand.plus.activities.LocalIndexHelper.LocalIndexType;
import net.osmand.plus.activities.LocalIndexInfo;
import net.osmand.plus.chooseplan.ChoosePlanDialogFragment;
import net.osmand.plus.download.CityItem;
+import net.osmand.plus.download.CustomIndexItem;
import net.osmand.plus.download.DownloadActivity;
import net.osmand.plus.download.DownloadActivityType;
import net.osmand.plus.download.DownloadResourceGroup;
@@ -179,22 +180,24 @@ public class ItemViewHolder {
if (!isDownloading) {
progressBar.setVisibility(View.GONE);
descrTextView.setVisibility(View.VISIBLE);
- if (indexItem.getType() == DownloadActivityType.DEPTH_CONTOUR_FILE && !depthContoursPurchased) {
+ if (indexItem instanceof CustomIndexItem && (((CustomIndexItem) indexItem).getSubName(context) != null)) {
+ descrTextView.setText(((CustomIndexItem) indexItem).getSubName(context));
+ } else if (indexItem.getType() == DownloadActivityType.DEPTH_CONTOUR_FILE && !depthContoursPurchased) {
descrTextView.setText(context.getString(R.string.depth_contour_descr));
} else if ((indexItem.getType() == DownloadActivityType.SRTM_COUNTRY_FILE
|| indexItem.getType() == DownloadActivityType.HILLSHADE_FILE
|| indexItem.getType() == DownloadActivityType.SLOPE_FILE) && srtmDisabled) {
- if(showTypeInName) {
+ if (showTypeInName) {
descrTextView.setText("");
} else {
descrTextView.setText(indexItem.getType().getString(context));
}
} else if (showTypeInDesc) {
- descrTextView.setText(indexItem.getType().getString(context) +
+ descrTextView.setText(indexItem.getType().getString(context) +
" • " + indexItem.getSizeDescription(context) +
" • " + (showRemoteDate ? indexItem.getRemoteDate(dateFormat) : indexItem.getLocalDate(dateFormat)));
} else {
- descrTextView.setText(indexItem.getSizeDescription(context) + " • " +
+ descrTextView.setText(indexItem.getSizeDescription(context) + " • " +
(showRemoteDate ? indexItem.getRemoteDate(dateFormat) : indexItem.getLocalDate(dateFormat)));
}
diff --git a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java
index 1c2c1a4b88..f20b51dfc2 100644
--- a/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java
+++ b/OsmAnd/src/net/osmand/plus/helpers/ImportHelper.java
@@ -64,7 +64,6 @@ import net.osmand.router.RoutingConfiguration;
import net.osmand.util.Algorithms;
import org.apache.commons.logging.Log;
-import org.json.JSONObject;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -80,7 +79,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
-import java.util.Map;
import java.util.zip.ZipInputStream;
import static android.app.Activity.RESULT_OK;
@@ -850,20 +848,7 @@ public class ImportHelper {
for (SettingsItem item : items) {
if (item instanceof ProfileSettingsItem) {
- ProfileSettingsItem profileItem = (ProfileSettingsItem) item;
- Map drawerLogoNames = profileItem.getDrawerLogoParams();
- if (!Algorithms.isEmpty(drawerLogoNames)) {
- String pluginResDir = IndexConstants.PLUGINS_DIR + plugin.getId() + "/" + plugin.getPluginResDir().getName();
- for (Map.Entry entry : drawerLogoNames.entrySet()) {
- String value = entry.getValue();
- if (value.startsWith("@") || value.startsWith("/")) {
- value = value.substring(1);
- }
- entry.setValue(pluginResDir + "/" + value);
- }
- String json = new JSONObject(drawerLogoNames).toString();
- app.getSettings().NAV_DRAWER_LOGO.setModeValue(profileItem.getAppMode(), json);
- }
+ ((ProfileSettingsItem) item).applyAdditionalPrefs();
}
}
if (activity != null) {
diff --git a/OsmAnd/src/net/osmand/plus/inapp/InAppPurchases.java b/OsmAnd/src/net/osmand/plus/inapp/InAppPurchases.java
index 2fb216419e..b42b57f045 100644
--- a/OsmAnd/src/net/osmand/plus/inapp/InAppPurchases.java
+++ b/OsmAnd/src/net/osmand/plus/inapp/InAppPurchases.java
@@ -575,13 +575,6 @@ public class InAppPurchases {
}
}
- public CharSequence getDescriptionTitle(@NonNull Context ctx) {
- long totalPeriods = getTotalPeriods();
- String unitStr = getTotalUnitsString(ctx, false).toLowerCase();
- int discountPercent = subscription.getDiscountPercent(null);
- return ctx.getString(R.string.get_discount_title, totalPeriods, unitStr, discountPercent + "%");
- }
-
public CharSequence getFormattedDescription(@NonNull Context ctx, @ColorInt int textColor) {
long totalPeriods = getTotalPeriods();
String singleUnitStr = getUnitString(ctx).toLowerCase();
@@ -677,6 +670,10 @@ public class InAppPurchases {
return s;
}
+ public boolean isUpgrade() {
+ return upgrade;
+ }
+
public boolean isAnyPurchased() {
if (isPurchased()) {
return true;
@@ -728,24 +725,21 @@ public class InAppPurchases {
@Override
public CharSequence getDescription(@NonNull Context ctx) {
- if (getMonthlyPriceValue() == 0) {
+ double monthlyPriceValue = getMonthlyPriceValue();
+ if (monthlyPriceValue == 0) {
return ctx.getString(R.string.osm_live_payment_month_cost_descr, getDefaultMonthlyPrice(ctx));
} else {
NumberFormat currencyFormatter = getCurrencyFormatter();
+ if (getIntroductoryInfo() != null)
+ monthlyPriceValue = getIntroductoryInfo().getIntroductoryMonthlyPriceValue();
if (currencyFormatter != null) {
- return ctx.getString(R.string.osm_live_payment_month_cost_descr, currencyFormatter.format(getMonthlyPriceValue()));
+ return ctx.getString(R.string.osm_live_payment_month_cost_descr, currencyFormatter.format(monthlyPriceValue));
} else {
- return ctx.getString(R.string.osm_live_payment_month_cost_descr_ex, getMonthlyPriceValue(), getPriceCurrencyCode());
+ return ctx.getString(R.string.osm_live_payment_month_cost_descr_ex, monthlyPriceValue, getPriceCurrencyCode());
}
}
}
- public CharSequence getDescription(@NonNull Context ctx, @Nullable InAppSubscription monthlyLiveUpdates) {
- CharSequence descr = getDescription(ctx);
- int discountPercent = getDiscountPercent(monthlyLiveUpdates);
- return discountPercent > 0 ? ctx.getString(R.string.price_and_discount, descr, discountPercent + "%") : descr;
- }
-
public CharSequence getRenewDescription(@NonNull Context ctx) {
return "";
}
@@ -753,21 +747,34 @@ public class InAppPurchases {
@Nullable
protected abstract InAppSubscription newInstance(@NonNull String sku);
- public int getDiscountPercent(@Nullable InAppSubscription monthlyLiveUpdates) {
- double monthlyPriceValue = getMonthlyPriceValue();
- if (monthlyLiveUpdates != null) {
- double regularMonthlyPrice = monthlyLiveUpdates.getPriceValue();
- if (regularMonthlyPrice > 0 && monthlyPriceValue > 0 && monthlyPriceValue < regularMonthlyPrice) {
- return (int) ((1 - monthlyPriceValue / regularMonthlyPrice) * 100d);
- }
- } else if (introductoryInfo != null) {
+ public String getDiscountTitle(@NonNull Context ctx, @NonNull InAppSubscription monthlyLiveUpdates) {
+ int discountPercent = getDiscountPercent(monthlyLiveUpdates);
+ return discountPercent > 0 ? ctx.getString(R.string.osm_live_payment_discount_descr, discountPercent + "%") : "";
+ }
+
+ public int getDiscountPercent(@NonNull InAppSubscription monthlyLiveUpdates) {
+ double regularMonthlyPrice = monthlyLiveUpdates.getPriceValue();
+ if (introductoryInfo != null) {
double introductoryMonthlyPrice = introductoryInfo.getIntroductoryMonthlyPriceValue();
- if (introductoryMonthlyPrice > 0 && monthlyPriceValue > 0 && monthlyPriceValue > introductoryMonthlyPrice) {
- return (int) ((1 - introductoryMonthlyPrice / monthlyPriceValue) * 100d);
+ if (introductoryMonthlyPrice >= 0 && regularMonthlyPrice > 0 && introductoryMonthlyPrice < regularMonthlyPrice) {
+ return (int) ((1 - introductoryMonthlyPrice / regularMonthlyPrice) * 100d);
+ }
+ } else {
+ double monthlyPriceValue = getMonthlyPriceValue();
+ if (regularMonthlyPrice >= 0 && monthlyPriceValue > 0 && monthlyPriceValue < regularMonthlyPrice) {
+ return (int) ((1 - monthlyPriceValue / regularMonthlyPrice) * 100d);
}
}
return 0;
}
+
+ public String getPriceWithPeriod(Context ctx) {
+ return getPrice(ctx);
+ }
+
+ public boolean hasDiscountOffer() {
+ return getIntroductoryInfo() != null || isUpgrade();
+ }
}
public static class InAppPurchaseFullVersion extends InAppPurchase {
@@ -881,10 +888,21 @@ public class InAppPurchases {
return ctx.getString(R.string.osm_live_payment_monthly_title);
}
+ @Override
+ public String getPriceWithPeriod(Context ctx) {
+ return ctx.getString(R.string.ltr_or_rtl_combine_via_slash_with_space, getPrice(ctx),
+ ctx.getString(R.string.month).toLowerCase());
+ }
+
@Override
public CharSequence getRenewDescription(@NonNull Context ctx) {
return ctx.getString(R.string.osm_live_payment_renews_monthly);
}
+
+ @Override
+ public CharSequence getDescription(@NonNull Context ctx) {
+ return "";
+ }
}
public static class InAppPurchaseLiveUpdatesMonthlyFull extends InAppPurchaseLiveUpdatesMonthly {
@@ -956,6 +974,12 @@ public class InAppPurchases {
return ctx.getString(R.string.osm_live_payment_3_months_title);
}
+ @Override
+ public String getPriceWithPeriod(Context ctx) {
+ return ctx.getString(R.string.ltr_or_rtl_combine_via_slash_with_space, getPrice(ctx),
+ ctx.getString(R.string.months_3).toLowerCase());
+ }
+
@Override
public CharSequence getRenewDescription(@NonNull Context ctx) {
return ctx.getString(R.string.osm_live_payment_renews_quarterly);
@@ -1031,6 +1055,12 @@ public class InAppPurchases {
return ctx.getString(R.string.osm_live_payment_annual_title);
}
+ @Override
+ public String getPriceWithPeriod(Context ctx) {
+ return ctx.getString(R.string.ltr_or_rtl_combine_via_slash_with_space, getPrice(ctx),
+ ctx.getString(R.string.year).toLowerCase());
+ }
+
@Override
public CharSequence getRenewDescription(@NonNull Context ctx) {
return ctx.getString(R.string.osm_live_payment_renews_annually);
diff --git a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java
index 0d2c996d1f..c64bc6b475 100644
--- a/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java
+++ b/OsmAnd/src/net/osmand/plus/rastermaps/OsmandRasterMapsPlugin.java
@@ -496,8 +496,6 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin {
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);
- name.setFocusable(false);
- name.setFocusableInTouchMode(false);
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);
@@ -521,6 +519,8 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin {
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);
diff --git a/OsmAnd/src/net/osmand/plus/routing/TransportRoutingHelper.java b/OsmAnd/src/net/osmand/plus/routing/TransportRoutingHelper.java
index 3fc20b5d6c..822f1dac85 100644
--- a/OsmAnd/src/net/osmand/plus/routing/TransportRoutingHelper.java
+++ b/OsmAnd/src/net/osmand/plus/routing/TransportRoutingHelper.java
@@ -6,6 +6,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import net.osmand.Location;
+import net.osmand.NativeLibrary;
import net.osmand.PlatformUtil;
import net.osmand.ValueHolder;
import net.osmand.binary.BinaryMapIndexReader;
@@ -17,10 +18,12 @@ import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.R;
+import net.osmand.plus.render.NativeOsmandLibrary;
import net.osmand.plus.routing.RouteCalculationParams.RouteCalculationResultListener;
import net.osmand.plus.routing.RouteProvider.RouteService;
import net.osmand.plus.routing.RoutingHelper.RouteCalculationProgressCallback;
import net.osmand.router.GeneralRouter;
+
import net.osmand.router.RouteCalculationProgress;
import net.osmand.router.RoutingConfiguration;
import net.osmand.router.TransportRoutePlanner;
@@ -28,6 +31,8 @@ import net.osmand.router.TransportRoutePlanner.TransportRouteResult;
import net.osmand.router.TransportRoutePlanner.TransportRouteResultSegment;
import net.osmand.router.TransportRoutePlanner.TransportRoutingContext;
import net.osmand.router.TransportRoutingConfiguration;
+import net.osmand.router.NativeTransportRoutingResult;
+import net.osmand.util.Algorithms;
import net.osmand.util.MapUtils;
import java.io.IOException;
@@ -211,7 +216,8 @@ public class TransportRoutingHelper {
final Thread prevRunningJob = currentRunningJob;
app.getSettings().LAST_ROUTE_APPLICATION_MODE.set(routingHelper.getAppMode());
RouteRecalculationThread newThread =
- new RouteRecalculationThread("Calculating public transport route", params);
+ new RouteRecalculationThread("Calculating public transport route", params,
+ app.getSettings().SAFE_MODE.get() ? null : NativeOsmandLibrary.getLoadedLibrary());
currentRunningJob = newThread;
startProgress(params);
updateProgress(params);
@@ -439,10 +445,12 @@ public class TransportRoutingHelper {
private final Queue walkingSegmentsToCalculate = new ConcurrentLinkedQueue<>();
private Map, RouteCalculationResult> walkingRouteSegments = new HashMap<>();
private boolean walkingSegmentsCalculated;
+ private NativeLibrary lib;
- public RouteRecalculationThread(String name, TransportRouteCalculationParams params) {
+ public RouteRecalculationThread(String name, TransportRouteCalculationParams params, NativeLibrary library) {
super(name);
this.params = params;
+ this.lib = library;
if (params.calculationProgress == null) {
params.calculationProgress = new RouteCalculationProgress();
}
@@ -452,7 +460,16 @@ public class TransportRoutingHelper {
params.calculationProgress.isCancelled = true;
}
- private List calculateRouteImpl(TransportRouteCalculationParams params) throws IOException, InterruptedException {
+
+ /**
+ * TODO Check if native lib available and calculate route there.
+ * @param params
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ */
+ private List calculateRouteImpl(TransportRouteCalculationParams params, NativeLibrary library)
+ throws IOException, InterruptedException {
RoutingConfiguration.Builder config = params.ctx.getRoutingConfigForMode(params.mode);
BinaryMapIndexReader[] files = params.ctx.getResourceManager().getTransportRoutingMapFiles();
params.params.clear();
@@ -475,9 +492,20 @@ public class TransportRoutingHelper {
GeneralRouter prouter = config.getRouter(params.mode.getRoutingProfile());
TransportRoutingConfiguration cfg = new TransportRoutingConfiguration(prouter, params.params);
TransportRoutePlanner planner = new TransportRoutePlanner();
- TransportRoutingContext ctx = new TransportRoutingContext(cfg, files);
+ TransportRoutingContext ctx = new TransportRoutingContext(cfg, library, files);
ctx.calculationProgress = params.calculationProgress;
- return planner.buildRoute(ctx, params.start, params.end);
+ if (ctx.library != null && !settings.PT_SAFE_MODE.get()) {
+ NativeTransportRoutingResult[] nativeRes = library.runNativePTRouting(
+ MapUtils.get31TileNumberX(params.start.getLongitude()),
+ MapUtils.get31TileNumberY(params.start.getLatitude()),
+ MapUtils.get31TileNumberX(params.end.getLongitude()),
+ MapUtils.get31TileNumberY(params.end.getLatitude()),
+ cfg, ctx.calculationProgress);
+ List res = TransportRoutePlanner.convertToTransportRoutingResult(nativeRes, cfg);
+ return res;
+ } else {
+ return planner.buildRoute(ctx, params.start, params.end);
+ }
}
@Nullable
@@ -615,7 +643,7 @@ public class TransportRoutingHelper {
List res = null;
String error = null;
try {
- res = calculateRouteImpl(params);
+ res = calculateRouteImpl(params, lib);
if (res != null && !params.calculationProgress.isCancelled) {
calculateWalkingRoutes(res);
}