Merge branch 'master' into gpx_appearance

This commit is contained in:
Vitaliy 2020-07-13 12:25:58 +03:00
commit 9de83eed83
100 changed files with 1796 additions and 287 deletions

View file

@ -936,7 +936,6 @@ public class GPXUtilities {
sp = new SplitSegment(segment, k - 1, cf);
currentMetricEnd += metricLimit;
prev = sp.get(0);
}
total += currentSegment;
}

View file

@ -26,10 +26,9 @@ 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.RoutingContext;
import net.osmand.router.TransportRoutingConfiguration;
import net.osmand.util.Algorithms;
@ -135,12 +134,10 @@ public class NativeLibrary {
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) {
public RouteSegmentResult[] runNativeRouting(RoutingContext c, RouteRegion[] regions, boolean basemap) {
// config.router.printRules(System.out);
return nativeRouting(new int[] { sx31, sy31, ex31, ey31 }, config, config.initialDirection == null ? -360 : config.initialDirection.floatValue(),
regions, progress, precalculatedRouteDirection, basemap, publicTransport, startTransportStop, targetTransportStop);
return nativeRouting(c, c.config.initialDirection == null ? -360 : c.config.initialDirection.floatValue(),
regions, basemap);
}
@ -156,16 +153,15 @@ public class NativeLibrary {
protected static native NativeRouteSearchResult loadRoutingData(RouteRegion reg, String regName, int regfp, RouteSubregion subreg,
boolean loadObjects);
public static native void deleteNativeRoutingContext(long handle);
protected static native void deleteRenderingContextHandle(long handle);
protected static native void deleteRouteSearchResult(long searchResultHandle);
protected static native RouteDataObject[] getRouteDataObjects(RouteRegion reg, long rs, int x31, int y31);
protected static native RouteSegmentResult[] nativeRouting(int[] coordinates, RoutingConfiguration r,
float initDirection, RouteRegion[] regions, RouteCalculationProgress progress,
PrecalculatedRouteDirection precalculatedRouteDirection, boolean basemap,
boolean publicTransport, boolean startTransportStop, boolean targetTransportStop);
protected static native RouteSegmentResult[] nativeRouting(RoutingContext c, float initDirection, RouteRegion[] regions, boolean basemap);
protected static native NativeTransportRoutingResult[] nativeTransportRouting(int[] coordinates, TransportRoutingConfiguration cfg,
RouteCalculationProgress progress);

View file

@ -4,6 +4,7 @@ import net.osmand.PlatformUtil;
import net.osmand.ResultMatcher;
import net.osmand.CollatorStringMatcher.StringMatcherMode;
import net.osmand.binary.BinaryMapIndexReader.SearchRequest;
import net.osmand.binary.BinaryMapRouteReaderAdapter.RouteRegion;
import net.osmand.data.Building;
import net.osmand.data.City;
import net.osmand.data.LatLon;
@ -23,9 +24,11 @@ import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import gnu.trove.set.hash.TLongHashSet;
@ -40,7 +43,7 @@ public class GeocodingUtilities {
public static final float STOP_SEARCHING_STREET_WITH_MULTIPLIER_RADIUS = 250;
public static final float STOP_SEARCHING_STREET_WITHOUT_MULTIPLIER_RADIUS = 400;
public static final int DISTANCE_STREET_NAME_PROXIMITY_BY_NAME = 15000;
public static final int DISTANCE_STREET_NAME_PROXIMITY_BY_NAME = 45000;
public static final float DISTANCE_STREET_FROM_CLOSEST_WITH_SAME_NAME = 1000;
public static final float THRESHOLD_MULTIPLIER_SKIP_BUILDINGS_AFTER = 1.5f;
@ -142,15 +145,12 @@ public class GeocodingUtilities {
RoutePlannerFrontEnd rp = new RoutePlannerFrontEnd();
List<GeocodingResult> lst = new ArrayList<GeocodingUtilities.GeocodingResult>();
List<RouteSegmentPoint> listR = new ArrayList<BinaryRoutePlanner.RouteSegmentPoint>();
rp.findRouteSegment(lat, lon, ctx, listR);
// we allow duplications to search in both files for boundary regions
rp.findRouteSegment(lat, lon, ctx, listR, false, true);
double distSquare = 0;
TLongHashSet set = new TLongHashSet();
Set<String> streetNames = new HashSet<String>();
Map<String, List<RouteRegion>> streetNames = new HashMap<>();
for (RouteSegmentPoint p : listR) {
RouteDataObject road = p.getRoad();
if (!set.add(road.getId())) {
continue;
}
// System.out.println(road.toString() + " " + Math.sqrt(p.distSquare));
String name = Algorithms.isEmpty(road.getName()) ? road.getRef("", false, true) : road.getName();
if (allowEmptyNames || !Algorithms.isEmpty(name)) {
@ -164,7 +164,13 @@ public class GeocodingUtilities {
sr.connectionPoint = new LatLon(MapUtils.get31LatitudeY(p.preciseY), MapUtils.get31LongitudeX(p.preciseX));
sr.regionFP = road.region.getFilePointer();
sr.regionLen = road.region.getLength();
if (streetNames.add(sr.streetName)) {
List<RouteRegion> plst = streetNames.get(sr.streetName);
if (plst == null) {
plst = new ArrayList<BinaryMapRouteReaderAdapter.RouteRegion>();
streetNames.put(sr.streetName, plst);
}
if (!plst.contains(road.region)) {
plst.add(road.region);
lst.add(sr);
}
}
@ -308,6 +314,48 @@ public class GeocodingUtilities {
return res;
}
public void filterDuplicateRegionResults(final List<GeocodingResult> res) {
Collections.sort(res, DISTANCE_COMPARATOR);
// filter duplicate city results (when building is in both regions on boundary)
for (int i = 0; i < res.size() - 1;) {
int cmp = cmpResult(res.get(i), res.get(i + 1));
if (cmp > 0) {
res.remove(i);
} else if (cmp < 0) {
res.remove(i + 1);
} else {
// nothing to delete
i++;
}
}
}
private int cmpResult(GeocodingResult gr1, GeocodingResult gr2) {
boolean eqStreet = Algorithms.stringsEqual(gr1.streetName, gr2.streetName);
if (eqStreet) {
boolean sameObj = false;
if (gr1.building != null && gr2.building != null) {
if (Algorithms.stringsEqual(gr1.building.getName(), gr2.building.getName())) {
// same building
sameObj = true;
}
} else if (gr1.building == null && gr2.building == null) {
// same street
sameObj = true;
}
if (sameObj) {
double cityDist1 = MapUtils.getDistance(gr1.searchPoint, gr1.city.getLocation());
double cityDist2 = MapUtils.getDistance(gr2.searchPoint, gr2.city.getLocation());
if (cityDist1 < cityDist2) {
return -1;
} else {
return 1;
}
}
}
return 0;
}
private List<GeocodingResult> loadStreetBuildings(final GeocodingResult road, BinaryMapIndexReader reader,
GeocodingResult street) throws IOException {
final List<GeocodingResult> streetBuildings = new ArrayList<GeocodingResult>();

View file

@ -38,6 +38,7 @@ public class Amenity extends MapObject {
public static final String COLLECTION_TIMES = "collection_times";
public static final String CONTENT = "content";
public static final String CUISINE = "cuisine";
public static final String WIKIDATA = "wikidata";
public static final String DISH = "dish";
public static final String REF = "ref";
public static final String OSM_DELETE_VALUE = "delete";

View file

@ -68,7 +68,6 @@ public class BinaryRoutePlanner {
FinalRouteSegment searchRouteInternal(final RoutingContext ctx, RouteSegmentPoint start, RouteSegmentPoint end,
RouteSegment recalculationEnd ) throws InterruptedException, IOException {
// measure time
ctx.timeToLoad = 0;
ctx.memoryOverhead = 1000;
// Initializing priority queue to visit way segments
@ -120,7 +119,9 @@ public class BinaryRoutePlanner {
if (ctx.memoryOverhead > ctx.config.memoryLimitation * 0.95) {
throw new IllegalStateException("There is not enough memory " + ctx.config.memoryLimitation / (1 << 20) + " Mb");
}
ctx.visitedSegments ++;
if (ctx.calculationProgress != null) {
ctx.calculationProgress.visitedSegments++;
}
if (forwardSearch) {
boolean doNotAddIntersections = onlyBackward;
processRouteSegment(ctx, false, graphDirectSegments, visitedDirectSegments,
@ -164,12 +165,14 @@ public class BinaryRoutePlanner {
throw new InterruptedException("Route calculation interrupted");
}
}
ctx.visitedSegments += visitedDirectSegments.size() + visitedOppositeSegments.size();
ctx.visitedDirectSegments += visitedDirectSegments.size();
ctx.visitedOppositeSegments += visitedOppositeSegments.size();
ctx.directQueueSize = graphDirectSegments.size(); // Math.max(ctx.directQueueSize, graphDirectSegments.size());
ctx.oppositeQueueSize = graphReverseSegments.size();
ctx.visitedOppositeSegments += visitedOppositeSegments.size();
if (ctx.calculationProgress != null) {
ctx.calculationProgress.visitedDirectSegments += visitedDirectSegments.size();
ctx.calculationProgress.visitedOppositeSegments += visitedOppositeSegments.size();
ctx.calculationProgress.directQueueSize += graphDirectSegments.size(); // Math.max(ctx.directQueueSize,
// graphDirectSegments.size());
ctx.calculationProgress.oppositeQueueSize += graphReverseSegments.size();
ctx.calculationProgress.visitedOppositeSegments += visitedOppositeSegments.size();
}
return finalSegment;
}
@ -371,18 +374,21 @@ public class BinaryRoutePlanner {
}
public static void printDebugMemoryInformation(RoutingContext ctx) {
printInfo(String.format("Time. Total: %.2f, to load: %.2f, to load headers: %.2f, to calc dev: %.2f ",
(System.nanoTime() - ctx.timeToCalculate) / 1e6, ctx.timeToLoad / 1e6,
ctx.timeToLoadHeaders / 1e6, ctx.timeNanoToCalcDeviation / 1e6));
if (ctx.calculationProgress != null) {
RouteCalculationProgress p = ctx.calculationProgress;
printInfo(String.format("Time. Total: %.2f, to load: %.2f, to load headers: %.2f, to find start/end: %.2f, extra: %.2f ",
p.timeToCalculate / 1e6, p.timeToLoad / 1e6, p.timeToLoadHeaders / 1e6,
p.timeToFindInitialSegments / 1e6, p.timeNanoToCalcDeviation / 1e6));
// GeneralRouter.TIMER = 0;
int maxLoadedTiles = Math.max(ctx.maxLoadedTiles, ctx.getCurrentlyLoadedTiles());
printInfo("Current loaded tiles : " + ctx.getCurrentlyLoadedTiles() + ", maximum loaded tiles " + maxLoadedTiles);
printInfo("Loaded tiles " + ctx.loadedTiles + " (distinct " + ctx.distinctLoadedTiles + "), unloaded tiles " + ctx.unloadedTiles +
", loaded more than once same tiles "
+ ctx.loadedPrevUnloadedTiles);
printInfo("Visited segments " + ctx.visitedSegments + ", relaxed roads " + ctx.relaxedSegments);
printInfo("Priority queues sizes : " + ctx.directQueueSize + "/" + ctx.oppositeQueueSize);
printInfo("Visited interval sizes: " + ctx.visitedDirectSegments + "/" + ctx.visitedOppositeSegments);
int maxLoadedTiles = Math.max(p.maxLoadedTiles, ctx.getCurrentlyLoadedTiles());
printInfo("Current loaded tiles : " + ctx.getCurrentlyLoadedTiles() + ", maximum loaded tiles "
+ maxLoadedTiles);
printInfo("Loaded tiles " + p.loadedTiles + " (distinct " + p.distinctLoadedTiles + "), unloaded tiles "
+ p.unloadedTiles + ", loaded more than once same tiles " + p.loadedPrevUnloadedTiles);
printInfo("Visited segments: " + ctx.getVisitedSegments() + ", relaxed roads " + p.relaxedSegments);
printInfo("Priority queues sizes : " + p.directQueueSize + "/" + p.oppositeQueueSize);
printInfo("Visited interval sizes: " + p.visitedDirectSegments + "/" + p.visitedOppositeSegments);
}
}
@ -849,9 +855,12 @@ public class BinaryRoutePlanner {
}
public static class RouteSegmentPoint extends RouteSegment {
public RouteSegmentPoint(RouteDataObject road, int segmentStart, double distSquare) {
super(road, segmentStart);
this.distSquare = distSquare;
this.preciseX = road.getPoint31XTile(segmentStart);
this.preciseY = road.getPoint31YTile(segmentStart);
}
public RouteSegmentPoint(RouteSegmentPoint pnt) {
@ -871,6 +880,11 @@ public class BinaryRoutePlanner {
}
@Override
public String toString() {
return String.format("%d (%s): %s", segStart, getPreciseLatLon(), road);
}
}
public static class RouteSegment {

View file

@ -12,12 +12,29 @@ public class RouteCalculationProgress {
public float totalEstimatedDistance = 0;
public float routingCalculatedTime = 0;
public int loadedTiles = 0;
public int relaxedSegments = 0;
public int visitedSegments = 0;
public int visitedDirectSegments = 0;
public int visitedOppositeSegments = 0;
public int directQueueSize = 0;
public int oppositeQueueSize = 0;
public int totalIterations = 1;
public int iteration = -1;
public long timeNanoToCalcDeviation = 0;
public long timeToLoad = 0;
public long timeToLoadHeaders = 0;
public long timeToFindInitialSegments = 0;
public long timeToCalculate = 0;
public int distinctLoadedTiles = 0;
public int maxLoadedTiles = 0;
public int loadedPrevUnloadedTiles = 0;
public int unloadedTiles = 0;
public int loadedTiles = 0;
public boolean isCancelled;
public boolean requestPrivateAccessRouting;

View file

@ -117,15 +117,21 @@ public class RoutePlannerFrontEnd {
}
public RouteSegmentPoint findRouteSegment(double lat, double lon, RoutingContext ctx, List<RouteSegmentPoint> list, boolean transportStop) throws IOException {
return findRouteSegment(lat, lon, ctx, list, false, false);
}
public RouteSegmentPoint findRouteSegment(double lat, double lon, RoutingContext ctx, List<RouteSegmentPoint> list, boolean transportStop,
boolean allowDuplications) throws IOException {
long now = System.nanoTime();
int px = MapUtils.get31TileNumberX(lon);
int py = MapUtils.get31TileNumberY(lat);
ArrayList<RouteDataObject> dataObjects = new ArrayList<RouteDataObject>();
ctx.loadTileData(px, py, 17, dataObjects);
ctx.loadTileData(px, py, 17, dataObjects, allowDuplications);
if (dataObjects.isEmpty()) {
ctx.loadTileData(px, py, 15, dataObjects);
ctx.loadTileData(px, py, 15, dataObjects, allowDuplications);
}
if (dataObjects.isEmpty()) {
ctx.loadTileData(px, py, 14, dataObjects);
ctx.loadTileData(px, py, 14, dataObjects, allowDuplications);
}
if (list == null) {
list = new ArrayList<BinaryRoutePlanner.RouteSegmentPoint>();
@ -167,6 +173,9 @@ public class RoutePlannerFrontEnd {
return Double.compare(o1.distSquare, o2.distSquare);
}
});
if (ctx.calculationProgress != null) {
ctx.calculationProgress.timeToFindInitialSegments += (System.nanoTime() - now);
}
if (list.size() > 0) {
RouteSegmentPoint ps = null;
if (ctx.publicTransport) {
@ -203,12 +212,12 @@ public class RoutePlannerFrontEnd {
useSmartRouteRecalculation = use;
}
// TODO native matches less roads
public GpxRouteApproximation searchGpxRoute(GpxRouteApproximation gctx, List<LatLon> points) throws IOException, InterruptedException {
gctx.ctx.timeToCalculate = System.nanoTime();
long timeToCalculate = System.nanoTime();
if (gctx.ctx.calculationProgress == null) {
gctx.ctx.calculationProgress = new RouteCalculationProgress();
}
gctx.ctx.keepNativeRoutingContext = true;
List<GpxPoint> gpxPoints = generageGpxPoints(points, gctx);
GpxPoint start = null;
GpxPoint prev = null;
@ -228,6 +237,8 @@ public class RoutePlannerFrontEnd {
routeFound = findGpxRouteSegment(gctx, gpxPoints, start, next, prev != null);
if (routeFound) {
// route is found - cut the end of the route and move to next iteration
// start.stepBackRoute = new ArrayList<RouteSegmentResult>();
// boolean stepBack = true;
boolean stepBack = stepBackAndFindPrevPointInRoute(gctx, gpxPoints, start, next);
if (!stepBack) {
// not supported case (workaround increase MAXIMUM_STEP_APPROXIMATION)
@ -268,6 +279,10 @@ public class RoutePlannerFrontEnd {
}
start = next;
}
if(gctx.ctx.calculationProgress != null) {
gctx.ctx.calculationProgress.timeToCalculate = System.nanoTime() - timeToCalculate;
}
gctx.ctx.deleteNativeRoutingContext();
BinaryRoutePlanner.printDebugMemoryInformation(gctx.ctx);
calculateGpxRoute(gctx, gpxPoints);
if (!gctx.res.isEmpty()) {
@ -336,8 +351,8 @@ public class RoutePlannerFrontEnd {
}
if (gctx.distFromLastPoint(startPoint) > 1) {
gctx.routeGapDistance += gctx.distFromLastPoint(startPoint);
System.out.println(String.format("????? gap of route point = %f, gap of actual gpxPoint = %f ",
gctx.distFromLastPoint(startPoint), gctx.distFromLastPoint(pnt.loc)));
System.out.println(String.format("????? gap of route point = %f, gap of actual gpxPoint = %f, %s ",
gctx.distFromLastPoint(startPoint), gctx.distFromLastPoint(pnt.loc), pnt.loc));
}
gctx.res.addAll(pnt.routeToTarget);
i = pnt.targetInd;
@ -518,9 +533,16 @@ public class RoutePlannerFrontEnd {
// make first position precise
makeSegmentPointPrecise(res.get(0), start.loc, true);
} else {
assert res.get(0).getObject().getId() == start.pnt.getRoad().getId();
if(res.get(0).getObject().getId() == start.pnt.getRoad().getId()) {
// start point could shift to +-1 due to direction
res.get(0).setStartPointIndex(start.pnt.getSegmentStart());
} else {
// for native routing this is possible when point lies on intersection of 2 lines
// solution here could be to pass to native routing id of the route
// though it should not create any issue
System.out.println("??? not found " + start.pnt.getRoad().getId() + " instead "
+ res.get(0).getObject().getId());
}
}
start.routeToTarget = res;
start.targetInd = target.ind;
@ -580,7 +602,7 @@ public class RoutePlannerFrontEnd {
public List<RouteSegmentResult> searchRoute(final RoutingContext ctx, LatLon start, LatLon end, List<LatLon> intermediates,
PrecalculatedRouteDirection routeDirection) throws IOException, InterruptedException {
ctx.timeToCalculate = System.nanoTime();
long timeToCalculate = System.nanoTime();
if (ctx.calculationProgress == null) {
ctx.calculationProgress = new RouteCalculationProgress();
}
@ -612,6 +634,7 @@ public class RoutePlannerFrontEnd {
}
routeDirection = PrecalculatedRouteDirection.build(ls, ctx.config.DEVIATION_RADIUS, ctx.getRouter().getMaxSpeed());
}
List<RouteSegmentResult> res ;
if (intermediatesEmpty && ctx.nativeLib != null) {
ctx.startX = MapUtils.get31TileNumberX(start.getLongitude());
ctx.startY = MapUtils.get31TileNumberY(start.getLatitude());
@ -625,13 +648,9 @@ public class RoutePlannerFrontEnd {
ctx.precalculatedRouteDirection = routeDirection.adopt(ctx);
}
ctx.calculationProgress.nextIteration();
List<RouteSegmentResult> res = runNativeRouting(ctx, recalculationEnd);
if (res != null) {
new RouteResultPreparation().printResults(ctx, start, end, res);
}
res = runNativeRouting(ctx, recalculationEnd);
makeStartEndPointsPrecise(res, start, end, intermediates);
return res;
}
} else {
int indexNotFound = 0;
List<RouteSegmentPoint> points = new ArrayList<RouteSegmentPoint>();
if (!addSegment(start, ctx, indexNotFound++, points, ctx.startTransportStop)) {
@ -649,7 +668,12 @@ public class RoutePlannerFrontEnd {
return null;
}
ctx.calculationProgress.nextIteration();
List<RouteSegmentResult> res = searchRouteImpl(ctx, points, routeDirection);
res = searchRouteImpl(ctx, points, routeDirection);
}
if (ctx.calculationProgress != null) {
ctx.calculationProgress.timeToCalculate += (System.nanoTime() - timeToCalculate);
}
BinaryRoutePlanner.printDebugMemoryInformation(ctx);
if (res != null) {
new RouteResultPreparation().printResults(ctx, start, end, res);
}
@ -764,8 +788,12 @@ public class RoutePlannerFrontEnd {
if (ctx.nativeLib != null) {
ctx.startX = start.preciseX;
ctx.startY = start.preciseY;
ctx.startRoadId = start.road.id;
ctx.startSegmentInd = start.segStart;
ctx.targetX = end.preciseX;
ctx.targetY = end.preciseY;
ctx.targetRoadId = end.road.id;
ctx.targetSegmentInd = end.segStart;
return runNativeRouting(ctx, recalculationEnd);
} else {
refreshProgressDistance(ctx);
@ -829,11 +857,9 @@ public class RoutePlannerFrontEnd {
ctx.checkOldRoutingFiles(ctx.startX, ctx.startY);
ctx.checkOldRoutingFiles(ctx.targetX, ctx.targetY);
long time = System.currentTimeMillis();
RouteSegmentResult[] res = ctx.nativeLib.runNativeRouting(ctx.startX, ctx.startY, ctx.targetX, ctx.targetY,
ctx.config, regions, ctx.calculationProgress, ctx.precalculatedRouteDirection, ctx.calculationMode == RouteCalculationMode.BASE,
ctx.publicTransport, ctx.startTransportStop, ctx.targetTransportStop);
log.info("Native routing took " + (System.currentTimeMillis() - time) / 1000f + " seconds");
// long time = System.currentTimeMillis();
RouteSegmentResult[] res = ctx.nativeLib.runNativeRouting(ctx, regions, ctx.calculationMode == RouteCalculationMode.BASE);
// log.info("Native routing took " + (System.currentTimeMillis() - time) / 1000f + " seconds");
ArrayList<RouteSegmentResult> result = new ArrayList<RouteSegmentResult>(Arrays.asList(res));
if (recalculationEnd != null) {
log.info("Native routing use precalculated route");
@ -844,9 +870,7 @@ public class RoutePlannerFrontEnd {
current = pr;
}
}
ctx.routingTime = ctx.calculationProgress.routingCalculatedTime;
ctx.visitedSegments = ctx.calculationProgress.visitedSegments;
ctx.loadedTiles = ctx.calculationProgress.loadedTiles;
ctx.routingTime += ctx.calculationProgress.routingCalculatedTime;
return new RouteResultPreparation().prepareResult(ctx, result, recalculationEnd != null);
}
@ -860,7 +884,6 @@ public class RoutePlannerFrontEnd {
}
pringGC(ctx, true);
List<RouteSegmentResult> res = searchRouteInternalPrepare(ctx, points.get(0), points.get(1), routeDirection);
BinaryRoutePlanner.printDebugMemoryInformation(ctx);
pringGC(ctx, false);
makeStartEndPointsPrecise(res, points.get(0).getPreciseLatLon(), points.get(1).getPreciseLatLon(), null);
return res;
@ -907,16 +930,7 @@ public class RoutePlannerFrontEnd {
List<RouteSegmentResult> res = searchRouteInternalPrepare(local, points.get(i), points.get(i + 1), routeDirection);
makeStartEndPointsPrecise(res, points.get(i).getPreciseLatLon(), points.get(i + 1).getPreciseLatLon(), null);
results.addAll(res);
ctx.distinctLoadedTiles += local.distinctLoadedTiles;
ctx.loadedTiles += local.loadedTiles;
ctx.visitedSegments += local.visitedSegments;
ctx.loadedPrevUnloadedTiles += local.loadedPrevUnloadedTiles;
ctx.timeToCalculate += local.timeToCalculate;
ctx.timeToLoad += local.timeToLoad;
ctx.timeToLoadHeaders += local.timeToLoadHeaders;
ctx.relaxedSegments += local.relaxedSegments;
ctx.routingTime += local.routingTime;
// local.unloadAllData(ctx);
if (restPartRecalculatedRoute != null) {
results.addAll(restPartRecalculatedRoute);

View file

@ -394,8 +394,8 @@ public class RouteResultPreparation {
private List<RouteSegmentResult> convertFinalSegmentToResults(RoutingContext ctx, FinalRouteSegment finalSegment) {
List<RouteSegmentResult> result = new ArrayList<RouteSegmentResult>();
if (finalSegment != null) {
ctx.routingTime = finalSegment.distanceFromStart;
println("Routing calculated time distance " + finalSegment.distanceFromStart);
ctx.routingTime += finalSegment.distanceFromStart;
// println("Routing calculated time distance " + finalSegment.distanceFromStart);
// Get results from opposite direction roads
RouteSegment segment = finalSegment.reverseWaySearch ? finalSegment :
finalSegment.opposite.getParentRoute();
@ -496,8 +496,9 @@ public class RouteResultPreparation {
String msg = String.format("<test regions=\"\" description=\"\" best_percent=\"\" vehicle=\"%s\" \n"
+ " start_lat=\"%.5f\" start_lon=\"%.5f\" target_lat=\"%.5f\" target_lon=\"%.5f\" "
+ " routing_time=\"%.2f\" loadedTiles=\"%d\" visitedSegments=\"%d\" complete_distance=\"%.2f\" complete_time=\"%.2f\" >",
ctx.config.routerName, startLat, startLon, endLat, endLon, ctx.routingTime, ctx.loadedTiles,
ctx.visitedSegments, completeDistance, completeTime);
ctx.config.routerName, startLat, startLon, endLat, endLon, ctx.routingTime,
ctx.getLoadedTiles(),
ctx.getVisitedSegments(), completeDistance, completeTime);
// String msg = MessageFormat.format("<test regions=\"\" description=\"\" best_percent=\"\" vehicle=\"{4}\" \n"
// + " start_lat=\"{0}\" start_lon=\"{1}\" target_lat=\"{2}\" target_lon=\"{3}\" {5} >",
// startLat + "", startLon + "", endLat + "", endLon + "", ctx.config.routerName,

View file

@ -41,8 +41,6 @@ public class RoutingContext {
private final static Log log = PlatformUtil.getLog(RoutingContext.class);
// Final context variables
public final RoutingConfiguration config;
public final RouteCalculationMode calculationMode;
@ -50,23 +48,31 @@ public class RoutingContext {
public final Map<BinaryMapIndexReader, List<RouteSubregion>> map = new LinkedHashMap<BinaryMapIndexReader, List<RouteSubregion>>();
public final Map<RouteRegion, BinaryMapIndexReader> reverseMap = new LinkedHashMap<RouteRegion, BinaryMapIndexReader>();
// 0. Reference to native routingcontext for multiple routes
public long nativeRoutingContext;
public boolean keepNativeRoutingContext;
// 1. Initial variables
public int startX;
public int startY;
public long startRoadId;
public int startSegmentInd;
public boolean startTransportStop;
public int targetX;
public int targetY;
public long targetRoadId;
public int targetSegmentInd;
public boolean targetTransportStop;
public boolean publicTransport;
// deprecated
public long firstRoadId;
public int firstRoadDirection;
public RouteCalculationProgress calculationProgress;
public boolean leftSideNavigation;
public List<RouteSegmentResult> previouslyCalculatedRoute;
public PrecalculatedRouteDirection precalculatedRouteDirection;
// 2. Routing memory cache (big objects)
TLongObjectHashMap<List<RoutingSubregionTile>> indexedSubregions = new TLongObjectHashMap<List<RoutingSubregionTile>>();
@ -82,26 +88,8 @@ public class RoutingContext {
public TileStatistics global = new TileStatistics();
// updated by route planner in bytes
public int memoryOverhead = 0;
long timeNanoToCalcDeviation = 0;
long timeToLoad = 0;
long timeToLoadHeaders = 0;
long timeToFindInitialSegments = 0;
public long timeToCalculate = 0;
int distinctLoadedTiles = 0;
int maxLoadedTiles = 0;
int loadedPrevUnloadedTiles = 0;
int unloadedTiles = 0;
public float routingTime = 0;
public int loadedTiles = 0;
public int visitedSegments = 0;
public int relaxedSegments = 0;
public int visitedDirectSegments = 0;
public int visitedOppositeSegments = 0;
public int directQueueSize = 0;
public int oppositeQueueSize = 0;
// callback of processing segments
RouteSegmentVisitor visitor = null;
@ -208,11 +196,15 @@ public class RoutingContext {
initTargetPoint(end);
startX = start.road.getPoint31XTile(start.getSegmentStart());
startY = start.road.getPoint31YTile(start.getSegmentStart());
startRoadId = start.road.getId();
startSegmentInd = start.getSegmentStart();
}
public void initTargetPoint(RouteSegment end) {
targetX = end.road.getPoint31XTile(end.getSegmentStart());
targetY = end.road.getPoint31YTile(end.getSegmentStart());
targetRoadId = end.road.getId();
targetSegmentInd = end.getSegmentStart();
}
public void unloadAllData() {
@ -224,7 +216,9 @@ public class RoutingContext {
if (tl.isLoaded()) {
if(except == null || except.searchSubregionTile(tl.subregion) < 0){
tl.unload();
unloadedTiles ++;
if(calculationProgress != null) {
calculationProgress.unloadedTiles ++;
}
global.size -= tl.tileStatistics.size;
}
}
@ -308,27 +302,37 @@ public class RoutingContext {
} catch (IOException e) {
throw new RuntimeException("Loading data exception", e);
}
timeToLoad += (System.nanoTime() - now);
if (calculationProgress != null) {
calculationProgress.timeToLoad += (System.nanoTime() - now);
}
} else {
long now = System.nanoTime();
NativeRouteSearchResult ns = nativeLib.loadRouteRegion(ts.subregion, loadObjectsInMemory);
// System.out.println(ts.subregion.shiftToData + " " + Arrays.toString(ns.objects));
ts.setLoadedNative(ns, this);
timeToLoad += (System.nanoTime() - now);
if (calculationProgress != null) {
calculationProgress.timeToLoad += (System.nanoTime() - now);
}
loadedTiles++;
}
if (calculationProgress != null) {
calculationProgress.loadedTiles++;
}
if (wasUnloaded) {
if(ucount == 1) {
loadedPrevUnloadedTiles++;
if(calculationProgress != null) {
calculationProgress.loadedPrevUnloadedTiles++;
}
}
} else {
if(global != null) {
global.allRoutes += ts.tileStatistics.allRoutes;
global.coordinates += ts.tileStatistics.coordinates;
}
distinctLoadedTiles++;
if (calculationProgress != null) {
calculationProgress.distinctLoadedTiles++;
}
}
global.size += ts.tileStatistics.size;
}
@ -402,7 +406,9 @@ public class RoutingContext {
}
collection.add(found);
}
timeToLoadHeaders += (System.nanoTime() - now);
if (calculationProgress != null) {
calculationProgress.timeToLoadHeaders += (System.nanoTime() - now);
}
}
} catch (IOException e) {
throw new RuntimeException("Loading data exception", e);
@ -412,6 +418,10 @@ public class RoutingContext {
}
public void loadTileData(int x31, int y31, int zoomAround, final List<RouteDataObject> toFillIn) {
loadTileData(x31, y31, zoomAround, toFillIn, false);
}
public void loadTileData(int x31, int y31, int zoomAround, final List<RouteDataObject> toFillIn, boolean allowDuplications) {
int t = config.ZOOM_TO_LOAD_TILES - zoomAround;
int coordinatesShift = (1 << (31 - config.ZOOM_TO_LOAD_TILES));
if(t <= 0) {
@ -422,7 +432,6 @@ public class RoutingContext {
}
TLongHashSet ts = new TLongHashSet();
long now = System.nanoTime();
for(int i = -t; i <= t; i++) {
for(int j = -t; j <= t; j++) {
ts.add(getRoutingTile(x31 +i*coordinatesShift, y31 + j*coordinatesShift, 0));
@ -432,8 +441,10 @@ public class RoutingContext {
TLongObjectHashMap<RouteDataObject> excludeDuplications = new TLongObjectHashMap<RouteDataObject>();
while (it.hasNext()) {
getAllObjects(it.next(), toFillIn, excludeDuplications);
if (allowDuplications) {
excludeDuplications.clear();
}
}
timeToFindInitialSegments += (System.nanoTime() - now);
}
@SuppressWarnings("unused")
@ -516,7 +527,9 @@ public class RoutingContext {
loaded++;
}
}
maxLoadedTiles = Math.max(maxLoadedTiles, getCurrentlyLoadedTiles());
if(calculationProgress != null) {
calculationProgress.maxLoadedTiles = Math.max(calculationProgress.maxLoadedTiles, getCurrentlyLoadedTiles());
}
Collections.sort(list, new Comparator<RoutingSubregionTile>() {
private int pow(int base, int pw) {
int r = 1;
@ -538,7 +551,9 @@ public class RoutingContext {
i++;
// System.out.println("Unload " + unload);
unload.unload();
unloadedTiles ++;
if(calculationProgress != null) {
calculationProgress.unloadedTiles ++;
}
global.size -= unload.tileStatistics.size;
// tile could be cleaned from routing tiles and deleted from whole list
@ -789,7 +804,31 @@ public class RoutingContext {
return map.keySet().toArray(new BinaryMapIndexReader[map.size()]);
}
public int getVisitedSegments() {
if(calculationProgress != null) {
return calculationProgress.visitedSegments;
}
return 0;
}
public int getLoadedTiles() {
if (calculationProgress != null) {
return calculationProgress.loadedTiles;
}
return 0;
}
public synchronized void deleteNativeRoutingContext() {
if (nativeRoutingContext != 0) {
NativeLibrary.deleteNativeRoutingContext(nativeRoutingContext);
}
nativeRoutingContext = 0;
}
@Override
protected void finalize() throws Throwable {
deleteNativeRoutingContext();
super.finalize();
}
}

View file

@ -236,13 +236,13 @@ public class TestRouting {
throw new IllegalArgumentException(MessageFormat.format("Complete routing time (expected) {0} != {1} (original) : {2}", routing_time, calcRoutingTime, testDescription));
}
if (visitedSegments > 0 && !isInOrLess(visitedSegments, ctx.visitedSegments, percent)) {
if (visitedSegments > 0 && !isInOrLess(visitedSegments, ctx.getVisitedSegments(), percent)) {
throw new IllegalArgumentException(MessageFormat.format("Visited segments (expected) {0} != {1} (original) : {2}", visitedSegments,
ctx.visitedSegments, testDescription));
ctx.getVisitedSegments(), testDescription));
}
if (loadedTiles > 0 && !isInOrLess(loadedTiles, ctx.loadedTiles, percent)) {
if (loadedTiles > 0 && !isInOrLess(loadedTiles, ctx.getLoadedTiles(), percent)) {
throw new IllegalArgumentException(MessageFormat.format("Loaded tiles (expected) {0} != {1} (original) : {2}", loadedTiles,
ctx.loadedTiles, testDescription));
ctx.getLoadedTiles(), testDescription));
}
if(TEST_BOTH_DIRECTION){

View file

@ -248,4 +248,20 @@
<string name="start_location_sharing">Partager la position</string>
<string name="show_on_map">Afficher sur la carte</string>
<string name="already_registered_in_telegram">Vous avez besoin d\'un compte Telegram enregistré et d\'un numéro de téléphone</string>
<string name="app_name">OsmAnd Online GPS Tracker</string>
<string name="location_service_no_gps_available">Sélectionnez lun des services de localisation pour partager votre position.</string>
<string name="welcome_descr"><b>OsmAnd Tracker</b> vous permet de partager votre position et voir celle des autres dans OsmAnd.<br/><br/>Cette application utilise l\'API de Telegram, et donc vous avez besoin d\'un compte Telegram.</string>
<string name="install_osmand_dialog_message">Vous avez besoin d\'installer la version gratuite ou payante d\'OsmAnd d\'abord</string>
<string name="osmand_service_descr">OsmAnd Tracker s\'exécute en arrière-plan, écran éteint.</string>
<string name="gps_not_available">Merci d\'activer la géolocalisation dans les paramètres du système</string>
<string name="phone_number_descr">Numéro de téléphone au format international</string>
<string name="phone_number_title">Numéro de téléphone</string>
<string name="my_location_search_hint">Recherche : groupe ou contact</string>
<string name="location_sharing_description">Sélectionner les contacts et les groupes avec lesquels vous souhaitez partager votre position.</string>
<string name="set_time">Définir l\'heure</string>
<string name="visible_time_for_all">Heure visible par tous</string>
<string name="set_visible_time_for_all">Rendre l\'heure visible par tous</string>
<string name="send_my_location_desc">Définir l\'intervalle minimum pour partager sa position.</string>
<string name="stale_location_desc">La dernière fois qu\'un contact s\'est déplacé.</string>
<string name="location_history_desc">Cacher les contacts qui ne se sont pas déplacés depuis un temps donné.</string>
</resources>

View file

@ -955,6 +955,7 @@
android:process="net.osmand.plus"
android:label="@string/process_navigation_service"
android:name="net.osmand.plus.NavigationService"
android:foregroundServiceType="location"
android:stopWithTask="false">
<intent-filter>
<action android:name="net.osmand.plus.NavigationService" />

View file

@ -22,8 +22,8 @@ task printc {
}
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
compileSdkVersion 29
buildToolsVersion "29.0.3"
// compileNdkVersion "android-ndk-r17b"
signingConfigs {

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M16.9285,4.6286C16.7318,4.137 16.1861,3.8839 15.6838,4.0513L12.6838,5.0513L13.3162,6.9487L15.4217,6.2468L16.2071,8.2102L13.8377,9H9.5811C8.6414,9 7.7078,8.8485 6.8162,8.5513C5.7208,8.1861 4.5736,8 3.4189,8H3C2.4477,8 2,8.4477 2,9C2,9.5523 2.4477,10 3,10H3.4189C4.3586,10 5.2922,10.1515 6.1838,10.4487C6.3323,10.4982 6.4818,10.5444 6.6321,10.5873C7.5714,11.0587 8.2953,11.8858 8.6325,12.8974L8.7408,13.2223C8.7467,13.24 8.7531,13.2576 8.7599,13.2748L7.3486,13.4865C7.2195,13.4558 7.1027,13.3741 7.0311,13.25C6.8982,13.0199 6.9691,12.728 7.1877,12.5833C6.967,12.2926 6.7074,12.033 6.4167,11.8123C6.272,12.031 5.9801,12.1018 5.75,11.969C5.5196,11.836 5.4351,11.5473 5.5527,11.3125C5.2218,11.173 4.8682,11.0768 4.4991,11.0308C4.4831,11.2926 4.2658,11.5 4,11.5C3.7342,11.5 3.5169,11.2926 3.5009,11.0308C3.1318,11.0768 2.7782,11.173 2.4473,11.3125C2.5649,11.5473 2.4804,11.8359 2.25,11.9689C2.0199,12.1018 1.728,12.0309 1.5833,11.8123C1.2926,12.033 1.0331,12.2926 0.8123,12.5833C1.0309,12.728 1.1018,13.0198 0.9689,13.2499C0.8359,13.4803 0.5473,13.5647 0.3125,13.4473C0.173,13.7782 0.0768,14.1317 0.0308,14.5009C0.2926,14.5169 0.5,14.7342 0.5,15C0.5,15.2658 0.2926,15.4831 0.0308,15.4991C0.0768,15.8682 0.173,16.2218 0.3125,16.5527C0.5473,16.4352 0.8359,16.5196 0.9689,16.75C1.1018,16.9801 1.0309,17.272 0.8123,17.4167C1.033,17.7074 1.2926,17.967 1.5833,18.1877C1.7281,17.9691 2.0199,17.8983 2.25,18.0311C2.4803,18.1641 2.5648,18.4527 2.4474,18.6875C2.7782,18.827 3.1318,18.9232 3.5009,18.9692C3.5169,18.7074 3.7342,18.5 4,18.5C4.2658,18.5 4.4831,18.7074 4.4991,18.9692C4.8682,18.9232 5.2218,18.827 5.5526,18.6875C5.4351,18.4527 5.5196,18.1641 5.75,18.0311C5.9801,17.8982 6.2719,17.9691 6.4167,18.1877C6.7074,17.967 6.967,17.7073 7.1877,17.4166C6.9691,17.2719 6.8982,16.98 7.0311,16.7499C7.1641,16.5195 7.4527,16.435 7.6875,16.5526C7.827,16.2217 7.9232,15.8682 7.9692,15.4991C7.8986,15.4948 7.832,15.4759 7.7724,15.4453L13.4317,14.5964C14.1262,14.4922 14.7623,14.1476 15.2289,13.6227L17.3966,11.184L17.6962,11.9331C17.6531,11.9002 17.6147,11.8597 17.5833,11.8122C17.2926,12.033 17.0331,12.2925 16.8123,12.5832C17.0309,12.7279 17.1018,13.0197 16.9689,13.2498C16.8359,13.4802 16.5473,13.5647 16.3125,13.4472C16.173,13.7781 16.0768,14.1317 16.0308,14.5009C16.2926,14.5168 16.5,14.7341 16.5,14.9999C16.5,15.2657 16.2926,15.4831 16.0308,15.499C16.0768,15.8682 16.173,16.2217 16.3125,16.5526C16.5473,16.4351 16.8359,16.5196 16.9689,16.7499C17.1018,16.9801 17.0309,17.2719 16.8123,17.4166C17.033,17.7073 17.2926,17.9669 17.5833,18.1876C17.7281,17.9691 18.0199,17.8982 18.25,18.0311C18.4803,18.1641 18.5648,18.4527 18.4474,18.6874C18.7782,18.8269 19.1318,18.9232 19.5009,18.9691C19.5169,18.7073 19.7342,18.4999 20,18.4999C20.2658,18.4999 20.4831,18.7073 20.4991,18.9691C20.8682,18.9232 21.2218,18.8269 21.5527,18.6874C21.4351,18.4526 21.5196,18.164 21.75,18.031C21.9801,17.8982 22.2719,17.969 22.4167,18.1876C22.7074,17.9669 22.967,17.7073 23.1877,17.4165C22.9691,17.2718 22.8982,16.98 23.0311,16.7498C23.1641,16.5195 23.4527,16.435 23.6875,16.5525C23.827,16.2217 23.9232,15.8681 23.9692,15.499C23.7074,15.4831 23.5,15.2657 23.5,14.9999C23.5,14.7341 23.7074,14.5168 23.9692,14.5009C23.9232,14.1317 23.827,13.7781 23.6875,13.4473C23.4527,13.5648 23.1641,13.4803 23.0311,13.2499C22.8982,13.0198 22.9691,12.728 23.1877,12.5833C22.967,12.2926 22.7074,12.033 22.4167,11.8122C22.272,12.0309 21.9801,12.1018 21.75,11.9689C21.5196,11.8359 21.4351,11.5472 21.5527,11.3125C21.2218,11.173 20.8682,11.0767 20.4991,11.0308C20.4831,11.2925 20.2658,11.4999 20,11.4999C19.8325,11.4999 19.6842,11.4176 19.5935,11.2911L19.5048,11.0693C19.503,11.0566 19.5017,11.0438 19.5009,11.0308C19.4973,11.0312 19.4936,11.0317 19.4899,11.0322L16.9285,4.6286ZM18.4282,13.7631L19.0715,15.3714C19.2766,15.8841 19.8586,16.1336 20.3714,15.9284C20.8842,15.7233 21.1336,15.1414 20.9285,14.6286L20.2851,13.0201C21.2546,13.1585 22,13.9921 22,14.9999C22,16.1045 21.1046,16.9999 20,16.9999C18.8954,16.9999 18,16.1045 18,14.9999C18,14.533 18.16,14.1034 18.4282,13.7631ZM5.5646,13.7541C5.1982,13.2945 4.6335,13 4,13C2.8954,13 2,13.8954 2,15C2,16.1046 2.8954,17 4,17C4.8462,17 5.5697,16.4744 5.8618,15.7319L4.1483,15.9889C3.6022,16.0708 3.093,15.6945 3.0111,15.1483C2.9291,14.6021 3.3055,14.093 3.8517,14.011L5.5646,13.7541Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M14.1159,9.6799L16.6159,6.6799L17.3841,7.3201L16.6441,8.2081L24,14L24,16H21.95C21.7184,17.1411 20.7095,18 19.5,18C18.2905,18 17.2816,17.1411 17.05,16H5.95C5.7183,17.1411 4.7095,18 3.5,18C2.2905,18 1.2816,17.1411 1.05,16H1C0.4477,16 0,15.5523 0,15V11H4V8H6L8,13.0343H18V11.5L15.5808,9.484L14.8841,10.3201L14.1159,9.6799ZM5.0001,15.5C5.0001,16.3284 4.3285,17 3.5001,17C2.6717,17 2.0001,16.3284 2.0001,15.5C2.0001,14.6716 2.6717,14 3.5001,14C4.3285,14 5.0001,14.6716 5.0001,15.5ZM21.0001,15.5C21.0001,16.3284 20.3285,17 19.5001,17C18.6717,17 18.0001,16.3284 18.0001,15.5C18.0001,14.6716 18.6717,14 19.5001,14C20.3285,14 21.0001,14.6716 21.0001,15.5Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -4,7 +4,12 @@
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M7.9665536 4.070941C7.0068803 4.072229 6.0149912 4.2865025 5.1455896 4.5791361 5.0603526 4.6078099 4.954574 4.6755988 4.9331717 4.7455086L4.4546022 6.4097024c-0.09638 0.276188 -2.2440733 5.4113916 -0.6413745 7.2190636 1.8562508 2.093638 3.9856671 0.756751 5.7439389 0.878178 6.0284454 0.416328 9.1646024 0.719802 10.7497374 -0.350348 0.07881 -0.27154 0.167915 -0.774966 -0.04706 -1.265918 -0.197091 -0.449986 -0.313908 -0.78041 -0.911789 -0.982077 -0.282059 -0.09516 -0.538381 -0.165061 -0.809702 -0.239042 -0.546449 -0.149007 -1.12557 -0.307169 -1.996593 -0.697203l-1.142303 1.195054c-0.135847 0.142129 -0.359638 0.14724 -0.501766 0.01138l-0.01955 -0.01871c-0.142128 -0.135848 -0.147169 -0.359639 -0.01132 -0.501767l0.974683 -1.019741c-0.276445 -0.138894 -0.578762 -0.298709 -0.911513 -0.48325l-1.110788 1.16215c-0.135848 0.14213 -0.359639 0.147163 -0.501766 0.01132l-0.01955 -0.01871c-0.142128 -0.135847 -0.147169 -0.359637 -0.01132 -0.501766L14.269833 9.7795574C13.99751 9.6208066 13.706502 9.4467709 13.396156 9.2568292l-1.157188 1.2106388c-0.135847 0.142128 -0.359573 0.147168 -0.501702 0.01132l-0.01961 -0.01871C11.575529 10.32423 11.570495 10.10051 11.706336 9.9583831L12.7564 8.8597385C12.486211 8.6897723 12.202108 8.5083044 11.903655 8.3150003l-1.24488 1.3024534c-0.135847 0.1421277 -0.359638 0.1472397 -0.501767 0.01138l-0.01955 -0.01871C9.9953356 9.4742772 9.9902246 9.2504871 10.126085 9.1083586L11.278591 7.9026053C11.115203 7.7652924 10.274809 6.9496638 10.398949 4.7963435c0.0032 -0.056447 -0.02893 -0.11177 -0.07365 -0.1391902C9.6350936 4.2343495 8.8134596 4.069803 7.9666947 4.0709795ZM4.4388766 15.318046A2.3390127 2.3390127 0 0 0 2.1008871 17.657013 2.3390127 2.3390127 0 0 0 4.43986 19.996057 2.3390127 2.3390127 0 0 0 6.7788983 17.657013 2.3390127 2.3390127 0 0 0 4.43986 15.318046a2.3390127 2.3390127 0 0 0 -0.00133 0zm4.993565 0.0019a2.3390127 2.3390127 0 0 0 -2.3379198 2.339039 2.3390127 2.3390127 0 0 0 2.3389678 2.338973 2.3390127 2.3390127 0 0 0 2.3390454 -2.338973 2.3390127 2.3390127 0 0 0 -2.3390454 -2.339039 2.3390127 2.3390127 0 0 0 -0.0013 0zm4.9936354 0.0038a2.3390127 2.3390127 0 0 0 -2.337989 2.339037 2.3390127 2.3390127 0 0 0 2.339038 2.338974 2.3390127 2.3390127 0 0 0 2.339043 -2.338974 2.3390127 2.3390127 0 0 0 -2.339043 -2.339037 2.3390127 2.3390127 0 0 0 -0.0012 0zm4.993635 0.0019a2.3390127 2.3390127 0 0 0 -2.337996 2.338974 2.3390127 2.3390127 0 0 0 2.339045 2.339037 2.3390127 2.3390127 0 0 0 2.338972 -2.339037 2.3390127 2.3390127 0 0 0 -2.338972 -2.338974 2.3390127 2.3390127 0 0 0 -0.0012 0zM4.4327307 16.429285a1.227233 1.227233 0 0 1 0.00716 0 1.227233 1.227233 0 0 1 1.2272714 1.2272 1.227233 1.227233 0 0 1 -1.2272714 1.227273 1.227233 1.227233 0 0 1 -1.227207 -1.227273 1.227233 1.227233 0 0 1 1.2200766 -1.2272zm4.9935649 0.0019a1.227233 1.227233 0 0 1 0.0072 0 1.227233 1.227233 0 0 1 1.2272724 1.227272 1.227233 1.227233 0 0 1 -1.2272724 1.2272 1.227233 1.227233 0 0 1 -1.2272007 -1.2272 1.227233 1.227233 0 0 1 1.2200067 -1.227272zm4.9936354 0.0038a1.227233 1.227233 0 0 1 0.0073 0 1.227233 1.227233 0 0 1 1.227201 1.22727 1.227233 1.227233 0 0 1 -1.227201 1.227202 1.227233 1.227233 0 0 1 -1.227201 -1.227202 1.227233 1.227233 0 0 1 1.220007 -1.22727zm4.993629 0.0019a1.227233 1.227233 0 0 1 0.0073 0 1.227233 1.227233 0 0 1 1.227201 1.2272 1.227233 1.227233 0 0 1 -1.227201 1.227272 1.227233 1.227233 0 0 1 -1.227272 -1.227272 1.227233 1.227233 0 0 1 1.220071 -1.2272z"
android:fillColor="#727272"
android:pathData="M4,17.5C4,17.2239 4.2239,17 4.5,17H19.5C19.7761,17 20,17.2239 20,17.5C20,17.7761 19.7761,18 19.5,18H4.5C4.2239,18 4,17.7761 4,17.5Z"
android:strokeAlpha="0.2"
android:fillColor="#ffffff"
android:fillAlpha="0.2"/>
<path
android:pathData="M11,5C11,4.4477 10.5523,4 10,4H5.8346C5.3513,4 4.9372,4.3456 4.8507,4.8211L3.643,11.4633C3.3082,13.3049 4.7229,15 6.5946,15H9.5C8.1193,15 7,16.1193 7,17.5C7,16.1193 5.8807,15 4.5,15C3.1193,15 2,16.1193 2,17.5C2,18.8807 3.1193,20 4.5,20C5.8807,20 7,18.8807 7,17.5C7,18.8807 8.1193,20 9.5,20C10.8807,20 12,18.8807 12,17.5C12,18.8807 13.1193,20 14.5,20C15.8807,20 17,18.8807 17,17.5C17,18.8807 18.1193,20 19.5,20C20.8807,20 22,18.8807 22,17.5C22,16.1193 20.8807,15 19.5,15C18.1193,15 17,16.1193 17,17.5C17,16.1193 15.8807,15 14.5,15H18.7065C19.9731,15 21,13.9731 21,12.7065C21,11.6936 20.3356,10.8007 19.3655,10.5097L17.3233,9.897L16.9552,10.7069C16.8409,10.9583 16.5445,11.0695 16.2931,10.9552C16.0417,10.8409 15.9305,10.5445 16.0448,10.2931L16.3567,9.607L15.3991,9.3197L14.9472,10.2236C14.8237,10.4706 14.5234,10.5707 14.2764,10.4472C14.0294,10.3237 13.9293,10.0234 14.0528,9.7764L14.4269,9.0281L13.4903,8.7471L12.9371,9.7428C12.803,9.9842 12.4986,10.0712 12.2572,9.9371C12.0158,9.803 11.9288,9.4986 12.0629,9.2572L12.5097,8.4529L11.7127,8.2138C11.2897,8.0869 11,7.6976 11,7.256V5ZM14.5,15C13.1193,15 12,16.1193 12,17.5C12,16.1193 10.8807,15 9.5,15H14.5ZM4.5,18C4.7761,18 5,17.7761 5,17.5C5,17.2239 4.7761,17 4.5,17C4.2239,17 4,17.2239 4,17.5C4,17.7761 4.2239,18 4.5,18ZM9.5,18C9.7761,18 10,17.7761 10,17.5C10,17.2239 9.7761,17 9.5,17C9.2239,17 9,17.2239 9,17.5C9,17.7761 9.2239,18 9.5,18ZM15,17.5C15,17.7761 14.7761,18 14.5,18C14.2239,18 14,17.7761 14,17.5C14,17.2239 14.2239,17 14.5,17C14.7761,17 15,17.2239 15,17.5ZM19.5,18C19.7761,18 20,17.7761 20,17.5C20,17.2239 19.7761,17 19.5,17C19.2239,17 19,17.2239 19,17.5C19,17.7761 19.2239,18 19.5,18Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,21 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M5,17C5.5523,17 6,16.5523 6,16C6,15.4477 5.5523,15 5,15C4.4477,15 4,15.4477 4,16C4,16.5523 4.4477,17 5,17ZM5,19C6.6568,19 8,17.6569 8,16C8,14.3431 6.6568,13 5,13C3.3431,13 2,14.3431 2,16C2,17.6569 3.3431,19 5,19Z"
android:strokeAlpha="0.9"
android:fillColor="#ffffff"
android:fillType="evenOdd"
android:fillAlpha="0.9"/>
<path
android:pathData="M19,17C19.5523,17 20,16.5523 20,16C20,15.4477 19.5523,15 19,15C18.4477,15 18,15.4477 18,16C18,16.5523 18.4477,17 19,17ZM19,19C20.6569,19 22,17.6569 22,16C22,14.3431 20.6569,13 19,13C17.3431,13 16,14.3431 16,16C16,17.6569 17.3431,19 19,19Z"
android:strokeAlpha="0.9"
android:fillColor="#ffffff"
android:fillType="evenOdd"
android:fillAlpha="0.9"/>
<path
android:pathData="M13,7H15.1654L16,11.5902V14H10V11C10.5523,11 11,10.5523 11,10C11,9.4477 10.5523,9 10,9H6C5.4477,9 5,9.4477 5,10C5,10.5523 5.4477,11 6,11H5C3.3431,11 2,12.3431 2,14V16H22V15C22,12.7909 20.2091,11 18,11C17.9751,11 17.9504,11.0005 17.9257,11.0014L17.5417,8.889C17.679,8.9599 17.8348,9 18,9H19V7H18C17.7057,7 17.4411,7.1271 17.2581,7.3295L17.1332,6.6422C16.9603,5.6912 16.132,5 15.1654,5H13V7Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -4,7 +4,7 @@
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M13.5858,7H12V5H14.4142L18.415,9.0008C18.4433,9.0003 18.4716,9 18.5,9C20.9853,9 23,11.0147 23,13.5C23,15.9853 20.9853,18 18.5,18C16.244,18 14.3758,16.3399 14.0502,14.1746L13.5,15H8.7439C8.1262,16.7478 6.4593,18 4.5,18C2.0147,18 0,15.9853 0,13.5C0,11.0147 2.0147,9 4.5,9C4.6749,9 4.8474,9.01 5.0171,9.0294L5,9H6V8H9V9H15.5858L13.5858,7ZM7,13.5C7,14.8807 5.8807,16 4.5,16C3.1193,16 2,14.8807 2,13.5C2,12.1193 3.1193,11 4.5,11C5.8807,11 7,12.1193 7,13.5ZM21,13.5C21,14.8807 19.8807,16 18.5,16C17.1193,16 16,14.8807 16,13.5C16,12.1193 17.1193,11 18.5,11C19.8807,11 21,12.1193 21,13.5Z"
android:fillColor="#727272"
android:pathData="M13,7H15.3501L15.8603,8.148L13.6379,10H11V9C11,8.4477 10.5523,8 10,8H5C4.4477,8 4,8.4477 4,9H3C2.4477,9 2,9.4477 2,10C2,10.5523 2.4477,11 3,11H3.7639L3.7762,11.0062C1.6712,11.1222 0,12.8659 0,15C0,17.2091 1.7909,19 4,19C5.8638,19 7.4299,17.7252 7.874,16H11.9296C12.9327,16 13.8694,15.4987 14.4258,14.6641L17.0242,10.7666L17.5132,11.8668C16.5912,12.5996 16,13.7308 16,15C16,17.2091 17.7909,19 20,19C22.2091,19 24,17.2091 24,15C24,12.7909 22.2091,11 20,11C19.7754,11 19.5551,11.0185 19.3406,11.0541L18.8535,9.9581C19.5113,9.7992 20,9.2067 20,8.5C20,7.6716 19.3284,7 18.5,7C18.1864,7 17.8953,7.0962 17.6546,7.2607L17.1777,6.1877C16.8567,5.4655 16.1405,5 15.3501,5H13V7ZM18.3827,13.8232L19.0862,15.4061C19.3105,15.9108 19.9015,16.1381 20.4061,15.9138C20.9108,15.6895 21.1381,15.0985 20.9138,14.5939L20.2103,13.0109C21.216,13.116 22,13.9664 22,15C22,16.1046 21.1046,17 20,17C18.8954,17 18,16.1046 18,15C18,14.5601 18.142,14.1534 18.3827,13.8232ZM5.7324,14H4C3.4477,14 3,14.4477 3,15C3,15.5523 3.4477,16 4,16H5.7324C5.3866,16.5978 4.7403,17 4,17C2.8954,17 2,16.1046 2,15C2,13.8954 2.8954,13 4,13C4.7403,13 5.3866,13.4022 5.7324,14ZM7.874,14H9V12H6.6458C7.2362,12.5211 7.6716,13.2138 7.874,14Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12,6C13.1046,6 14,5.1046 14,4C14,2.8954 13.1046,2 12,2C10.8954,2 10,2.8954 10,4C10,5.1046 10.8954,6 12,6Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M19,12.9999V10.9999C17.46,11.0199 15.91,10.2499 14.93,9.1699L13.64,7.7399C13.47,7.5499 13.26,7.3999 13.03,7.2899C13.02,7.2899 13.02,7.2799 13.01,7.2799H13C12.65,7.0799 12.25,6.9799 11.81,7.0199C10.76,7.1099 10,8.0399 10,9.0899V14.9999C10,16.0999 10.9,16.9999 12,16.9999H17V21.9999H19V16.4999C19,15.3999 18.1,14.4999 17,14.4999H14V11.0499C15.29,12.1199 17.25,12.9899 19,12.9999ZM12.83,17.9999C12.42,19.1599 11.31,19.9999 10,19.9999C8.34,19.9999 7,18.6599 7,16.9999C7,15.6899 7.84,14.5899 9,14.1699V12.0999C6.72,12.5599 5,14.5799 5,16.9999C5,19.7599 7.24,21.9999 10,21.9999C12.42,21.9999 14.44,20.2799 14.9,17.9999H12.83Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M17,6.54C18.1046,6.54 19,5.6446 19,4.54C19,3.4355 18.1046,2.54 17,2.54C15.8954,2.54 15,3.4355 15,4.54C15,5.6446 15.8954,6.54 17,6.54Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M14,17H12C12,18.65 10.65,20 9,20C7.35,20 6,18.65 6,17C6,15.35 7.35,14 9,14V12C6.24,12 4,14.24 4,17C4,19.76 6.24,22 9,22C11.76,22 14,19.76 14,17ZM17,13.5H15.14L16.81,9.83C17.42,8.5 16.44,7 14.96,7H9.76C8.95,7 8.22,7.47 7.89,8.2L7.22,10L9.14,10.53L9.79,9H12L10.17,13.1C9.57,14.43 10.56,16 12.02,16H17V21H19V15.5C19,14.4 18.1,13.5 17,13.5Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -1842,7 +1842,6 @@
<string name="show_on_start_description">عند الإيقاف ستبدأ واجهة الخريطة مباشرة.</string>
<string name="osm_edit_modified_poi">OSM POI معدل</string>
<string name="osm_edit_commented_note">ملاحظة OSM معلق عليها</string>
<string name="osm_edit_removed_note">ملاحظة OSM محذوفة</string>
<string name="rendering_attr_pisteGrooming_name">مسار زلق</string>
<string name="world_ski_missing">لإظهار خرائط التزلج، يجب تحميل خريطة خاصة محلية.</string>
<string name="rendering_attr_publicTransportMode_name">حافلة، ترامواي وغيرها</string>
@ -3170,7 +3169,7 @@
<string name="map_during_navigation">خريطة أثناء التنقل</string>
<string name="shared_string_other">أخرى</string>
<string name="vehicle_parameters_descr">الوزن ، الارتفاع ، السرعة</string>
<string name="vehicle_parameters">معلمات السيارة</string>
<string name="vehicle_parameters">معلمات المركبات</string>
<string name="voice_announces_info">الإعلامات الصوتية تحدث فقط أثناء التنقل.</string>
<string name="voice_announces_descr">إرشادات التنقل والإعلامات</string>
<string name="voice_announces">المطالبات الصوتية</string>
@ -3212,7 +3211,7 @@
<string name="default_speed_setting_title">السرعة الافتراضية</string>
<string name="default_speed_setting_descr">تغيير إعدادات السرعة الافتراضية</string>
<string name="minmax_speed_dialog_title">تعيين حد السرعة الأدنى/الأعلى</string>
<string name="new_profile">وضع جديد</string>
<string name="new_profile">ملف تعريف جديد</string>
<string name="shared_string_crash">خروج مفاجئ</string>
<string name="last_launch_crashed">فشل العملية الأخيرة لأوسماند. الرجاء مساعدتنا في التحسين من خلال مشاركة رسالة الخطأ.</string>
<string name="release_3_4">• أوضاع التطبيق: قم بإنشاء وضع مخصص لاحتياجاتك الخاصة ، باستخدام رمز ولون مخصصين
@ -3805,4 +3804,10 @@
<string name="quick_action_remove_next_destination_descr">سيتم حذف نقطة الوجهة الحالية على المسار. إذا كانت هي الوجهة، سوف تتوقف الملاحة.</string>
<string name="search_download_wikipedia_maps">تنزيل بيانات ويكيبيديا</string>
<string name="plugin_wikipedia_description">الحصول على معلومات حول النقاط المثيرة للاهتمام من ويكيبيديا. إنه دليلك غير المتصل بجيبك - ما عليك سوى تمكين المكون الإضافي ويكبيديا والاستمتاع بمقالات حول الكائنات من حولك.</string>
<string name="app_mode_enduro_motorcycle">دراجة نارية</string>
<string name="app_mode_motor_scooter">سكوتر موتور</string>
<string name="app_mode_wheelchair_forward">منحدرات للأمام</string>
<string name="app_mode_wheelchair">منحدرات</string>
<string name="app_mode_go_cart">عربة التسوق</string>
<string name="osm_edit_closed_note">أغلق ملاحظة OSM</string>
</resources>

View file

@ -1578,7 +1578,6 @@
<string name="osm_edit_deleted_poi">Silinmiş OSM POI</string>
<string name="osm_edit_reopened_note">Yenidən açılmış OSM qeydi</string>
<string name="osm_edit_commented_note">Rəy yazılmış OSM qeydi</string>
<string name="osm_edit_removed_note">Silinmiş OSM qeydi</string>
<string name="osm_edit_created_note">Yaradılmış OSM qeydi</string>
<string name="shared_string_commit">Təsdiq et</string>
<string name="osm_edit_created_poi">Yaradılmış OSM POI</string>

View file

@ -1571,7 +1571,6 @@ Praparcyjnaj pamiacі %4$s MB (Abmiežavańnie Android %5$s MB, Dalvik %6$s MB).
<string name="context_menu_item_open_note">Dadać natatku OSM</string>
<string name="osm_edit_reopened_note">Natatka OSM adkryta znoŭ</string>
<string name="osm_edit_commented_note">Da natatkі OSM dadadzieny kamentar</string>
<string name="osm_edit_removed_note">Natatka OSM vydalenaja</string>
<string name="osm_edit_created_note">Natatka OSM stvorana</string>
<string name="osn_bug_name">Natatka OSM</string>
<string name="osn_add_dialog_title">Stvaryć natatku</string>

View file

@ -73,7 +73,6 @@
<string name="osm_edit_modified_poi">Změnjene OSM POI-dypki</string>
<string name="osm_edit_deleted_poi">Wotstronjene OSM POI-dypki</string>
<string name="osm_edit_commented_note">Komentowana OSM-notica</string>
<string name="osm_edit_removed_note">Wotstronjena OSM-notica</string>
<string name="osn_bug_name">OSM-notica</string>
<string name="osn_comment_dialog_title">Komentar přidać</string>
<string name="osn_close_dialog_title">Noticu začinić</string>

View file

@ -1808,7 +1808,6 @@
<string name="context_menu_item_open_note">Дадаць нататку OSM</string>
<string name="osm_edit_reopened_note">Нататка OSM адкрытая зноў</string>
<string name="osm_edit_commented_note">Да нататкі OSM дададзены каментар</string>
<string name="osm_edit_removed_note">Нататка OSM выдаленая</string>
<string name="osm_edit_created_note">Нататка OSM створаная</string>
<string name="osn_bug_name">Нататка OSM</string>
<string name="osn_add_dialog_title">Стварыць нататку</string>

View file

@ -1568,7 +1568,6 @@
<string name="show_on_start_description">\"Изкл.\" стартира директно картата.</string>
<string name="osm_edit_reopened_note">Отворена отново бележка на OSM</string>
<string name="osm_edit_commented_note">Бележка на OSM с коментар</string>
<string name="osm_edit_removed_note">Изтрита бележка на OSM</string>
<string name="osm_edit_created_note">Създадена бележка на OSM</string>
<string name="osn_bug_name">Бележка на OSM</string>
<string name="osn_add_dialog_title">Създайте Бележка</string>

View file

@ -1787,7 +1787,6 @@ Per retornar a l\'estil habitual dels mapes d\'OsmAnd, només cal desactivar aqu
<string name="context_menu_item_open_note">Obre una nota d\'OSM</string>
<string name="osm_edit_reopened_note">S\'ha reobert nota d\'OSM</string>
<string name="osm_edit_commented_note">S\'ha comentat nota d\'OSM</string>
<string name="osm_edit_removed_note">S\'ha eliminat nota d\'OSM</string>
<string name="osm_edit_created_note">S\'ha creat nota d\'OSM</string>
<string name="osn_bug_name">Nota d\'OSM</string>
<string name="osn_add_dialog_title">Crea nota</string>

View file

@ -1755,7 +1755,6 @@ Délka %2$s</string>
<string name="context_menu_item_open_note">Otevřít OSM poznámku</string>
<string name="osm_edit_reopened_note">Znovuotevřená OSM poznámka</string>
<string name="osm_edit_commented_note">Komentovaná OSM poznámka</string>
<string name="osm_edit_removed_note">Smazaná OSM poznámka</string>
<string name="osm_edit_created_note">Vytvořená OSM poznámka</string>
<string name="osn_bug_name">OSM poznámka</string>
<string name="osn_add_dialog_title">Vytvořit poznámku</string>

View file

@ -1778,7 +1778,6 @@
<string name="context_menu_item_open_note">Åbn OSM-note</string>
<string name="osm_edit_reopened_note">Genåbnet OSM-note</string>
<string name="osm_edit_commented_note">Kommenteret OSM-note</string>
<string name="osm_edit_removed_note">Slettet OSM-note</string>
<string name="osm_edit_created_note">Oprettet OSM-note</string>
<string name="osn_bug_name">OSM-note</string>
<string name="osn_add_dialog_title">Opret note</string>

View file

@ -2766,7 +2766,7 @@
<string name="poi_toilets_disposal_pitlatrine">Toilettenspülung: Plumpsklo</string>
<string name="poi_wiki_link">Wikipedia</string>
<string name="poi_spices">Gewürzgeschäft</string>
<string name="poi_fuel_type">Kraftstoffart</string>
<string name="poi_fuel_type">Kraftstoffsorte</string>
<string name="poi_payment_type">Zahlungsart</string>
<string name="poi_additional_type">Zusätzlich</string>
<string name="poi_service_bicycle_charging_yes">Ladestation: ja</string>
@ -3603,7 +3603,7 @@
<string name="poi_changing_table_count">Anzahl der Wickeltische</string>
<string name="poi_changing_table_fee_yes">Wickeltischgebühr: ja</string>
<string name="poi_changing_table_fee_no">Wickeltischgebühr: nein</string>
<string name="poi_charcoal_pile">Holzkohlestoß</string>
<string name="poi_charcoal_pile">Kohlenmeiler</string>
<string name="poi_historic_tank">Historischer Panzer</string>
<string name="poi_hookah_lounge">Wasserpfeifen-Lounge</string>
<string name="poi_source_biomass">Energiequelle: Biomasse</string>

View file

@ -1765,7 +1765,6 @@
<string name="context_menu_item_open_note">OSM-Notiz erstellen</string>
<string name="osm_edit_reopened_note">Wiedereröffnete OSM-Notiz</string>
<string name="osm_edit_commented_note">Kommentierte OSM-Notiz</string>
<string name="osm_edit_removed_note">Gelöschte OSM-Notiz</string>
<string name="osm_edit_created_note">Erstellte OSM-Notiz</string>
<string name="osn_bug_name">OSM-Notiz</string>
<string name="osn_add_dialog_title">Notiz erstellen</string>
@ -3822,4 +3821,10 @@
<string name="quick_action_remove_next_destination_descr">Der aktuelle Punkt auf der Route wird gelöscht. Wenn es das Ziel ist, wird die Navigation gestoppt.</string>
<string name="search_download_wikipedia_maps">Wikipedia-Karten herunterladen</string>
<string name="plugin_wikipedia_description">Informationen über Sehenswürdigkeiten erhalten Sie bei Wikipedia. Es ist Ihr Offline-Wegweiser für die Hosentasche - aktivieren Sie einfach das Wikipedia-Modul und genießen Sie Artikel über Objekte in Ihrer Umgebung.</string>
<string name="app_mode_enduro_motorcycle">Enduro</string>
<string name="app_mode_motor_scooter">Motorroller</string>
<string name="app_mode_wheelchair">Rollstuhl</string>
<string name="app_mode_go_cart">Go-Kart</string>
<string name="osm_edit_closed_note">Geschlossene OSM-Notiz</string>
<string name="app_mode_wheelchair_forward">Rollstuhl vorwärts</string>
</resources>

View file

@ -2190,7 +2190,6 @@
<string name="context_menu_item_open_note">Άνοιγμα σημείωσης OSM</string>
<string name="osm_edit_reopened_note">Ξανανοιγμένη σημείωση OSM</string>
<string name="osm_edit_commented_note">Σχολιασμένη Σημείωση OSM</string>
<string name="osm_edit_removed_note">Διαγράφηκε σημείωση OSM</string>
<string name="osm_edit_created_note">Δημιουργήθηκε σημείωση OSM</string>
<string name="osn_bug_name">Σημείωση OSM</string>
<string name="osn_add_dialog_title">Δημιουργία σημείωσης</string>

View file

@ -123,7 +123,6 @@
<string name="context_menu_item_open_note">Krei OSM-rimarkon</string>
<string name="osm_edit_reopened_note">Remalfermis OSM-rimarkon</string>
<string name="osm_edit_commented_note">Komentis OSM-rimarkon</string>
<string name="osm_edit_removed_note">Forigis OSM-rimarkon</string>
<string name="osm_edit_created_note">Kreita OSM-rimarko</string>
<string name="osn_bug_name">OSM-rimarko</string>
<string name="osn_add_dialog_title">Krei rimarkon</string>
@ -3815,4 +3814,10 @@
<string name="quick_action_remove_next_destination_descr">La markita celo de la kurso estos forigita. Se tio ĉi estos la fina celo, la navigado ĉesos.</string>
<string name="search_download_wikipedia_maps">Elŝuti vikipediajn mapojn</string>
<string name="plugin_wikipedia_description">Akiru informojn pri interesaj punktoj el Vikipedio. Gvidilo en via poŝo aktivigu la kromprogramon Vikipedio por ricevi artikolojn pri proksimaj objektoj.</string>
<string name="app_mode_enduro_motorcycle">Motorciklo (enduro)</string>
<string name="app_mode_motor_scooter">Motorciklo (skotero)</string>
<string name="app_mode_wheelchair">Rulseĝo</string>
<string name="app_mode_wheelchair_forward">Rulseĝo (klinita)</string>
<string name="app_mode_go_cart">Gokarto</string>
<string name="osm_edit_closed_note">Fermita OSMrimarko</string>
</resources>

View file

@ -1852,7 +1852,7 @@
<string name="poi_technical_monument">Monumento técnico</string>
<string name="poi_memorial_prasat">Templo piramidal</string>
<string name="poi_office_camping">Oficina del campamento</string>
<string name="poi_model_aerodrome">Aeródromo a escala</string>
<string name="poi_model_aerodrome">Pista de aeromodelismo</string>
<string name="poi_guide">Oficina del guía</string>
<string name="poi_quango">ONG casi autónoma</string>
<string name="poi_consulting">Oficina de consultoría</string>

View file

@ -1772,7 +1772,6 @@
<string name="context_menu_item_open_note">Abrir nota de OSM</string>
<string name="osm_edit_reopened_note">Nota de OSM reabierta</string>
<string name="osm_edit_commented_note">Nota de OSM comentada</string>
<string name="osm_edit_removed_note">Nota de OSM resuelta</string>
<string name="osm_edit_created_note">Nota de OSM creada</string>
<string name="osn_bug_name">Nota de OSM</string>
<string name="osn_add_dialog_title">Crear nota</string>
@ -3820,4 +3819,9 @@
<string name="quick_action_remove_next_destination_descr">El punto de destino actual de la ruta será borrado. Si será el destino, la navegación se detendrá.</string>
<string name="search_download_wikipedia_maps">Descargar datos de Wikipedia</string>
<string name="plugin_wikipedia_description">Obtén información sobre los puntos de interés de Wikipedia. Es tu guía de bolsillo sin conexión - sólo activa el complemento de Wikipedia y disfruta los artículos sobre los objetos de alrededor.</string>
<string name="app_mode_enduro_motorcycle">Motocicleta de enduro</string>
<string name="app_mode_motor_scooter">Motoneta (motor)</string>
<string name="app_mode_wheelchair">Silla de ruedas</string>
<string name="app_mode_go_cart">Go-kart</string>
<string name="osm_edit_closed_note">Nota de OSM cerrada</string>
</resources>

View file

@ -1852,7 +1852,7 @@
<string name="poi_technical_monument">Monumento técnico</string>
<string name="poi_memorial_prasat">Templo piramidal</string>
<string name="poi_office_camping">Oficina del campamento</string>
<string name="poi_model_aerodrome">Aeródromo a escala</string>
<string name="poi_model_aerodrome">Pista de aeromodelismo</string>
<string name="poi_guide">Oficina del guía</string>
<string name="poi_quango">ONG casi autónoma</string>
<string name="poi_consulting">Oficina de consultoría</string>
@ -3837,4 +3837,6 @@
<string name="poi_traffic_signals_arrow">Flecha</string>
<string name="poi_traffic_signals_vibration">Vibración</string>
<string name="poi_give_box">Caja de regalo</string>
<string name="poi_city_block">Manzana (cuadra)</string>
<string name="poi_borough">Municipio</string>
</resources>

View file

@ -1772,7 +1772,6 @@
<string name="context_menu_item_open_note">Abrir nota de OSM</string>
<string name="osm_edit_reopened_note">Nota de OSM reabierta</string>
<string name="osm_edit_commented_note">Nota de OSM comentada</string>
<string name="osm_edit_removed_note">Nota de OSM resuelta</string>
<string name="osm_edit_created_note">Nota de OSM creada</string>
<string name="osn_bug_name">Nota de OSM</string>
<string name="osn_add_dialog_title">Crear nota</string>
@ -3803,7 +3802,7 @@
<string name="quick_action_showhide_mapillary_descr">Un botón que alterna la capa de Mapillary en el mapa.</string>
<string name="shared_string_bearing">Rumbo</string>
<string name="item_deleted">%1$s borrado</string>
<string name="speed_cameras_restart_descr">Debes reiniciar para borrar completamente los datos de los radares de velocidad.</string>
<string name="speed_cameras_restart_descr">Se debe reiniciar para borrar completamente los datos de los radares de velocidad.</string>
<string name="shared_string_uninstall_and_restart">Desinstalar y reiniciar</string>
<string name="routing_attr_length_description">Indica la longitud permitida del vehículo en rutas.</string>
<string name="routing_attr_length_name">Límite de longitud</string>
@ -3811,4 +3810,12 @@
<string name="app_mode_inline_skates">Patines en línea</string>
<string name="use_volume_buttons_as_zoom_descr">Permite controlar el nivel de zoom del mapa con los botones de volumen del dispositivo.</string>
<string name="use_volume_buttons_as_zoom">Botones de volumen como zoom</string>
<string name="search_download_wikipedia_maps">Descargar datos de Wikipedia</string>
<string name="quick_action_remove_next_destination_descr">El punto de destino actual de la ruta será borrado. Si será el destino, la navegación se detendrá.</string>
<string name="quick_action_remove_next_destination">Borrar el siguiente punto de destino</string>
<string name="plugin_wikipedia_description">Obtén información sobre los puntos de interés de Wikipedia. Es tu guía de bolsillo sin conexión - sólo activa el complemento de Wikipedia y disfruta los artículos sobre los objetos de alrededor.</string>
<string name="please_provide_point_name_error">Proporciona un nombre para el punto</string>
<string name="lenght_limit_description">Proporciona la longitud del vehículo, se pueden aplicar algunas restricciones de rutas para vehículos largos.</string>
<string name="app_mode_motor_scooter">Motoneta (motor)</string>
<string name="app_mode_enduro_motorcycle">Motocicleta de enduro</string>
</resources>

View file

@ -1771,7 +1771,6 @@
<string name="context_menu_item_open_note">Abrir nota de OSM</string>
<string name="osm_edit_reopened_note">Nota de OSM reabierta</string>
<string name="osm_edit_commented_note">Nota de OSM comentada</string>
<string name="osm_edit_removed_note">Nota de OSM resuelta</string>
<string name="osm_edit_created_note">Nota de OSM creada</string>
<string name="osn_bug_name">Nota de OSM</string>
<string name="osn_add_dialog_title">Crear nota</string>

View file

@ -2254,7 +2254,6 @@
<string name="context_menu_item_open_note">Ava OSM märge</string>
<string name="osm_edit_reopened_note">Uuesti avatud OSM märge</string>
<string name="osm_edit_commented_note">Kommenteeritud OSM märge</string>
<string name="osm_edit_removed_note">Kustutatud OSM märge</string>
<string name="osm_edit_created_note">Loodud OSM märge</string>
<string name="osn_bug_name">OSM märge</string>
<string name="osn_add_dialog_title">Loo märge</string>

View file

@ -1374,7 +1374,6 @@ Lorratza %2$s</string>
<string name="context_menu_item_open_note">Ireki OSM oharra</string>
<string name="osm_edit_reopened_note">OSM oharra berrireki da</string>
<string name="osm_edit_commented_note">OSM oharrean iruzkina egin da</string>
<string name="osm_edit_removed_note">OSM oharra ezabatu da</string>
<string name="osm_edit_created_note">OSM oharra sortu da</string>
<string name="osn_bug_name">OSM oharra</string>
<string name="osn_add_dialog_title">Sortu oharra</string>

View file

@ -1963,7 +1963,6 @@
<string name="show_on_start">هنگام شروع نشانش بده</string>
<string name="copied_to_clipboard">کپی شد</string>
<string name="osm_edit_deleted_poi">حذف POI</string>
<string name="osm_edit_removed_note">بستن یادداشت OSM</string>
<string name="osn_bug_name">یادداشت OSM</string>
<string name="osn_add_dialog_title">نوشتن یادداشت</string>
<string name="osn_comment_dialog_title">افزودن توضیح</string>

View file

@ -1078,7 +1078,6 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist
<string name="context_menu_item_open_note">Avaa OSM Huomautus</string>
<string name="osm_edit_reopened_note">Uudelleen avattu OSM Huomautus</string>
<string name="osm_edit_commented_note">Kommentoitu OSM Huomautus</string>
<string name="osm_edit_removed_note">Poistettu OSM Huomautus</string>
<string name="osm_edit_created_note">OSM Huomautus luotu</string>
<string name="osn_bug_name">OSM Huomautus</string>
<string name="osn_add_dialog_title">Luo huomautus</string>

View file

@ -3600,7 +3600,7 @@
<string name="poi_changing_table_count">Nombre de tables à langer</string>
<string name="poi_changing_table_fee_yes">Table à langer payante</string>
<string name="poi_changing_table_fee_no">Table à langer gratuite</string>
<string name="poi_charcoal_pile">Pile de charbon</string>
<string name="poi_charcoal_pile">Meule</string>
<string name="poi_hookah_lounge">Bar à chicha</string>
<string name="poi_valley_balka">Balkanique</string>
<string name="poi_glacier_type_outlet">Point de vente</string>

View file

@ -1760,7 +1760,6 @@
<string name="context_menu_item_edit_waypoint">Modifier l\'étape GPX</string>
<string name="context_menu_item_open_note">Signaler une anomalie OSM</string>
<string name="osm_edit_reopened_note">Note OSM réouverte</string>
<string name="osm_edit_removed_note">Note OSM supprimée</string>
<string name="osm_edit_created_note">Note OSM créée</string>
<string name="osn_bug_name">Note OSM</string>
<string name="osn_add_dialog_title">Créer une note</string>
@ -3797,4 +3796,10 @@
<string name="please_provide_point_name_error">Merci de renseigner un nom pour le point</string>
<string name="plugin_wikipedia_description">Utilisez un guide de poche hors ligne grâce à Wikipédia. Activez le plugin Wikipédia : des points d\'intérêt seront affichés, ils vous permettrons d\'obtenir des informations sur les lieux qui vous entourent.</string>
<string name="search_download_wikipedia_maps">Télécharger les cartes Wikipédia</string>
<string name="app_mode_motor_scooter">Scooter</string>
<string name="app_mode_enduro_motorcycle">Moto enduro</string>
<string name="app_mode_go_cart">Kart</string>
<string name="osm_edit_closed_note">Note OSM fermée</string>
<string name="app_mode_wheelchair">Fauteuil roulant</string>
<string name="app_mode_wheelchair_forward">Fauteuil roulant vers l\'avant</string>
</resources>

View file

@ -1763,7 +1763,6 @@ Lon %2$s</string>
<string name="context_menu_item_open_note">Abrir nota do OSM</string>
<string name="osm_edit_reopened_note">Reabriuse a nota de OSM</string>
<string name="osm_edit_commented_note">Nota de OSM comentada</string>
<string name="osm_edit_removed_note">Nota de OSM eliminada</string>
<string name="osm_edit_created_note">Nota de OSM creada</string>
<string name="osn_bug_name">Nota de OSM</string>
<string name="osn_add_dialog_title">Crear unha nota</string>
@ -3842,4 +3841,10 @@ Lon %2$s</string>
<string name="quick_action_remove_next_destination_descr">O punto de destino actual na ruta será eliminado. Se fora o destino, a navegación sería interrompida.</string>
<string name="search_download_wikipedia_maps">Baixar mapas da Wikipedia</string>
<string name="plugin_wikipedia_description">Obter información sobre os puntos de interesse da Wikipédia. É o teu guía de peto sen conexión - só activar o complemento da Wikipédia e desfrutar dos artigos sobre os elementos ó teu redor.</string>
<string name="app_mode_enduro_motorcycle">Enduro</string>
<string name="app_mode_motor_scooter">Scooter</string>
<string name="app_mode_wheelchair">Cadeira de rodas</string>
<string name="app_mode_wheelchair_forward">Cadeira de rodas só cara adiante</string>
<string name="app_mode_go_cart">Kart</string>
<string name="osm_edit_closed_note">Nota do OSM pechada</string>
</resources>

View file

@ -1762,7 +1762,6 @@
<string name="context_menu_item_open_note">OSM Jegyzet megnyitása</string>
<string name="osm_edit_reopened_note">Újranyitott OSM Jegyzet</string>
<string name="osm_edit_commented_note">Kommentált OSM Jegyzet</string>
<string name="osm_edit_removed_note">Törölt OSM Jegyzet</string>
<string name="osm_edit_created_note">Létrehozott OSM Jegyzet</string>
<string name="osn_bug_name">OSM Jegyzet</string>
<string name="osn_add_dialog_title">Jegyzet létrehozása</string>
@ -3768,4 +3767,9 @@
\nAz előfizetéseit a Google Play beállításainál tudja kezelni és lemondani.</string>
<string name="quick_action_remove_next_destination_descr">Törli az útvonal soron következő célpontját. Amennyiben ez a végző célpont, a navigáció megáll.</string>
<string name="plugin_wikipedia_description">Szerezzen információt az érdekes helyekkel kapcsolatban a Wikipédiáról. Ez az ön offline zseb útikönyve - egyszerűen engedélyezze a Wikipédia bővítményt és élvezze az ön körül lévő objektumokról szóló cikkeket.</string>
<string name="app_mode_enduro_motorcycle">Salakmotor</string>
<string name="app_mode_motor_scooter">Robogó</string>
<string name="app_mode_wheelchair">Kerekesszék</string>
<string name="app_mode_go_cart">Gokart</string>
<string name="osm_edit_closed_note">Lezárt OSM-jegyzet</string>
</resources>

View file

@ -642,7 +642,6 @@
<string name="context_menu_item_open_note">Ավելացնել OSM նշումը</string>
<string name="osm_edit_reopened_note">OSM նշումը կրկին բացված է</string>
<string name="osm_edit_commented_note">OSM նշումին ավելացվել է մեկնաբանություն</string>
<string name="osm_edit_removed_note">OSM նշումը հեռացվեց</string>
<string name="osm_edit_created_note">OSM նշում ստեղծվել է</string>
<string name="osn_bug_name">OSM նշում</string>
<string name="osn_add_dialog_title">Ստեղծել նշում</string>

View file

@ -765,7 +765,6 @@
<string name="select_voice_provider">Veldu raddleiðsögn</string>
<string name="context_menu_item_open_note">Opna OSM-minnispunkt</string>
<string name="osm_edit_reopened_note">Enduropnaði OSM-minnispunkt</string>
<string name="osm_edit_removed_note">Eyddi OSM-minnispunkti</string>
<string name="osm_edit_created_note">Bjó til OSM-minnispunkt</string>
<string name="osn_bug_name">OSM-minnispunktur</string>
<string name="osn_add_dialog_title">Búa til minnispunkt</string>

View file

@ -1766,7 +1766,6 @@
<string name="context_menu_item_open_note">Apri una nota di OSM</string>
<string name="osm_edit_reopened_note">Nota di OSM riaperta</string>
<string name="osm_edit_commented_note">Nota di OSM commentata</string>
<string name="osm_edit_removed_note">Nota di OSM eliminata</string>
<string name="osm_edit_created_note">Nota di OSM creata</string>
<string name="osn_bug_name">Nota di OSM</string>
<string name="osn_add_dialog_title">Crea nota</string>

View file

@ -2390,7 +2390,6 @@
\n</string>
<string name="arrival_distance_descr">כמה לפני המועד ברצונך להיוודע על הגעה ליעד?</string>
<string name="live_monitoring_max_interval_to_send">חוצץ זמן למעקב מקוון</string>
<string name="osm_edit_removed_note">הערת OSM נמחקה</string>
<string name="osm_edit_created_note">נוצרה הערת OSM</string>
<string name="osn_bug_name">הערת OSM</string>
<string name="osn_add_dialog_title">יצירת הערה</string>
@ -3823,4 +3822,10 @@
<string name="quick_action_remove_next_destination_descr">נקודת היעד הנוכחית במסלול תימחק. אם זה יהיה היעד, הניווט ייעצר.</string>
<string name="search_download_wikipedia_maps">הורדת מפות ויקיפדיה</string>
<string name="plugin_wikipedia_description">קבלת מידע על נקודות עניין מוויקיפדיה. מדריך הכיס הפרטי שלך - עליך פשוט להפעיל את התוסף של ויקיפדיה וליהנות מערכים על מה שסביבך.</string>
<string name="app_mode_enduro_motorcycle">אופנוע שטח</string>
<string name="app_mode_motor_scooter">טוסטוס</string>
<string name="app_mode_wheelchair">כסא גלגלים</string>
<string name="app_mode_wheelchair_forward">כסא גלגלים ספורטיבי</string>
<string name="app_mode_go_cart">קארטינג</string>
<string name="osm_edit_closed_note">הערת OSM סגורה</string>
</resources>

View file

@ -1742,7 +1742,6 @@ POIの更新は利用できません</string>
<string name="context_menu_item_open_note">OSMでの注釈を開く</string>
<string name="osm_edit_reopened_note">OSMでの注釈を開き直す</string>
<string name="osm_edit_commented_note">OSMの注釈にコメントを付加しました</string>
<string name="osm_edit_removed_note">OSMの注釈を削除しました</string>
<string name="osm_edit_created_note">OSMに注釈を作成しました</string>
<string name="osn_bug_name">OSMでの注釈</string>
<string name="osn_add_dialog_title">注釈の作成</string>

View file

@ -209,7 +209,6 @@
<string name="available_maps">ಲಭ್ಯವಿರುವ ನಕ್ಷೆಗಳು</string>
<string name="route_distance">ದೂರ:</string>
<string name="context_menu_item_open_note">ಒಎಸ್ಎಂ ಟಿಪ್ಪಣಿಯನ್ನು ತೆರೆಯಿರಿ</string>
<string name="osm_edit_removed_note">ಅಳಿಸಲಾದ ಒಎಸ್ಎಂ ಟಿಪ್ಪಣಿ</string>
<string name="osm_edit_created_note">ಸೃಷ್ಟಿಸಲಾದ ಒಎಸ್ಎಂ ಟಿಪ್ಪಣಿ</string>
<string name="osn_bug_name">ಒಎಸ್ಎಂ ಟಿಪ್ಪಣಿ</string>
<string name="osn_add_dialog_title">ಟಿಪ್ಪಣಿಯನ್ನು ಹಾಕಿರಿ</string>

View file

@ -22,12 +22,12 @@
<dimen name="map_button_shadow_height">120dp</dimen>
<dimen name="map_button_shadow_margin">6dp</dimen>
<dimen name="map_button_shadow_width">84dp</dimen>
<dimen name="map_alarm_size">116dp</dimen>
<dimen name="map_alarm_size">138dp</dimen>
<dimen name="map_alarm_bottom_text_margin">12dp</dimen>
<dimen name="map_alarm_text_size">35sp</dimen>
<dimen name="map_alarm_text_top_padding">30dp</dimen>
<dimen name="map_alarm_bottom_text_size">22sp</dimen>
<dimen name="map_alarm_bottom_si_text_size">12sp</dimen>
<dimen name="map_alarm_bottom_si_text_size">18sp</dimen>
<dimen name="map_alarm_bottom_margin">131dp</dimen>
<dimen name="map_alarm_bottom_margin_land">81dp</dimen>

View file

@ -1749,7 +1749,6 @@ Ilguma %2$s</string>
<string name="context_menu_item_open_note">Pridėti OSM pastabą</string>
<string name="osm_edit_reopened_note">OSM pastaba iš naujo atidaryta</string>
<string name="osm_edit_commented_note">OSM pastaba papildyta komentaru</string>
<string name="osm_edit_removed_note">OSM pastaba ištrinta</string>
<string name="osm_edit_created_note">OSM pastaba sukurta</string>
<string name="osn_bug_name">OSM pastaba</string>
<string name="osn_reopen_dialog_title">Iš naujo atidaryti pastabą</string>

View file

@ -1615,7 +1615,6 @@
<string name="context_menu_item_open_note">Atvērt OSM piezīmi</string>
<string name="osm_edit_reopened_note">Atkārtoti atvērta OSM piezīme</string>
<string name="osm_edit_commented_note">OSM Note pievienots komentārs</string>
<string name="osm_edit_removed_note">OSM piezīme ir izdzēsta</string>
<string name="osm_edit_created_note">Izveidota OSM piezīme</string>
<string name="osn_bug_name">OSM piezīme</string>
<string name="osn_add_dialog_title">Izveidot piezīmi</string>

View file

@ -2058,7 +2058,6 @@
<string name="osm_edit_deleted_poi">OSM POI ഇല്ലാതാക്കി</string>
<string name="osm_edit_reopened_note">OSM കുറിപ്പ് വീണ്ടും തുറന്നു</string>
<string name="osm_edit_commented_note">OSM കുറിപ്പിൽ അഭിപ്രായമിട്ടു</string>
<string name="osm_edit_removed_note">OSM കുറിപ്പ് ഇല്ലാതാക്കി</string>
<string name="osm_edit_created_note">OSM കുറിപ്പു് സൃഷ്ടിച്ചു</string>
<string name="osn_add_dialog_title">കുറിപ്പ് സൃഷ്ടിക്കുക</string>
<string name="osm_edit_created_poi">OSM POI സൃഷ്ടിച്ചു</string>

View file

@ -1748,7 +1748,6 @@
<string name="context_menu_item_open_note">Åpne OSM-notat</string>
<string name="osm_edit_reopened_note">Gjenåpnet OSM-notat</string>
<string name="osm_edit_commented_note">Kommentert OSM-notat</string>
<string name="osm_edit_removed_note">Slettet OSM-notat</string>
<string name="osm_edit_created_note">Opprettet OSM-notat</string>
<string name="osn_bug_name">OSM-notat</string>
<string name="osn_add_dialog_title">Opprett notat</string>

View file

@ -3612,4 +3612,141 @@
<string name="poi_childcare">Kinderopvang</string>
<string name="poi_toll_gantry">Tolportaal</string>
<string name="poi_atoll">Atol</string>
<string name="poi_disabled_designated">Aangegeven</string>
<string name="poi_goods_designated">Aangegeven</string>
<string name="poi_hgv_delivery">Bestemmingsverkeer</string>
<string name="poi_hgv_designated">Aangegeven</string>
<string name="poi_hgv_permissive">Toegestaan</string>
<string name="poi_hgv_destination">Bestemmingsverkeer</string>
<string name="poi_mofa_designated">Aangegeven</string>
<string name="poi_moped_designated">Aangegeven</string>
<string name="poi_motorcycle_designated">Aangegeven</string>
<string name="poi_motorcycle_destination">Bestemmingsverkeer</string>
<string name="poi_motorcycle_permissive">Toegestaan</string>
<string name="poi_trailer_designated">Aangegeven</string>
<string name="poi_motorhome_designated">Aangegeven</string>
<string name="poi_caravan_designated">Aangegeven</string>
<string name="poi_bus_designated">Aangegeven</string>
<string name="poi_snowmobile_permissive">Toegestaan</string>
<string name="poi_snowmobile_designated">Aangegeven</string>
<string name="poi_disabled_no">Toegang voor gehandicapten: nee</string>
<string name="poi_taxi_no">Toegang voor taxis: nee</string>
<string name="poi_taxi_designated">Toegang voor taxis: aangegeven</string>
<string name="poi_taxi_yes">Toegang voor taxis: ja</string>
<string name="poi_agricultural_no">Toegang voor landbouwvoertuigen: nee</string>
<string name="poi_agricultural_yes">Toegang voor landbouwvoertuigen: ja</string>
<string name="poi_snowmobile_no">Toegang voor sneeuwscooters: nee</string>
<string name="poi_snowmobile_private">Toegang voor sneeuwscooters: privé</string>
<string name="poi_ski_no">Toegang voor skiërs: nee</string>
<string name="poi_ski_yes">Toegang voor skiërs: ja</string>
<string name="poi_tourist_bus_no">Toegang voor touringcars: nee</string>
<string name="poi_tourist_bus_designated">Toegang voor touringcars: aangegeven</string>
<string name="poi_bus_no">Toegang voor lijnbussen: nee</string>
<string name="poi_tourist_bus_yes">Toegang voor touringcars: ja</string>
<string name="poi_coach_yes">Toegang voor touringcars: ja</string>
<string name="poi_coach_no">Toegang voor touringcars: nee</string>
<string name="poi_psv_no">Toegang voor publiek transport of taxis: nee</string>
<string name="poi_psv_designated">Toegang voor publiek transport of taxis: aangegeven</string>
<string name="poi_psv_yes">Toegang voor publiek transport of taxis: ja</string>
<string name="poi_trailer_no">Toegang voor aanhangers: nee</string>
<string name="poi_motorhome_no">Toegang voor campers: nee</string>
<string name="poi_caravan_no">Toegang voor caravans: nee</string>
<string name="poi_bicycle_customers">Toegang voor fietsers: klanten</string>
<string name="poi_bicycle_permissive">Toegang voor fietsers: toegestaan</string>
<string name="poi_bicycle_destination">Toegang voor fietsers: bestemmingsverkeer</string>
<string name="poi_bicycle_dismount">Toegang voor fietsers: afstappen</string>
<string name="poi_bicycle_private">Toegang voor fietsers: privé</string>
<string name="poi_mofa_no">Toegang voor snorfietsers: nee</string>
<string name="poi_moped_no">Toegang voor bromfietsers: nee</string>
<string name="poi_motorcycle_no">Toegang voor motorbestuurders: nee</string>
<string name="poi_motorcycle_private">Toegang voor motorbestuurders: privé</string>
<string name="poi_foot_customers">Toegang voor voetgangers: klanten</string>
<string name="poi_foot_permissive">Toegang voor voetgangers: toegestaan</string>
<string name="poi_foot_destination">Toegang voor voetgangers: bestemmingsverkeer</string>
<string name="poi_foot_no">Toegang voor voetgangers: nee</string>
<string name="poi_foot_private">Toegang voor voetgangers: privé</string>
<string name="poi_foot_yes">Toegang voor voetgangers: ja</string>
<string name="poi_horse_forestry">Toegang voor ruiters: boswachterij</string>
<string name="poi_horse_permissive">Toegang voor ruiters: toegestaan</string>
<string name="poi_horse_destination">Toegang voor ruiters: bestemmingsverkeer</string>
<string name="poi_horse_private">Toegang voor ruiters: privé</string>
<string name="poi_goods_no">Toegang voor bestelwagens: nee</string>
<string name="poi_hgv_unsuitable">Toegang voor vrachtwagens: ongeschikt</string>
<string name="poi_hgv_discouraged">Toegang voor vrachtwagens: ontraden</string>
<string name="poi_hgv_agricultural">Toegang voor vrachtwagens: landbouw</string>
<string name="poi_hgv_no">Toegang voor vrachtwagens: nee</string>
<string name="poi_hgv_private">Toegang voor vrachtwagens: privé</string>
<string name="poi_motor_vehicle_agricultural">Toegang voor motorvoertuigen: landbouw</string>
<string name="poi_motor_vehicle_forestry">Toegang voor motorvoertuigen: boswachterij</string>
<string name="poi_motor_vehicle_delivery">Toegang voor motorvoertuigen: bezorging</string>
<string name="poi_motor_vehicle_military">Toegang voor motorvoertuigen: militair</string>
<string name="poi_motor_vehicle_customers">Toegang voor motorvoertuigen: klanten</string>
<string name="poi_motor_vehicle_permissive">Toegang voor motorvoertuigen: toegestaan</string>
<string name="poi_motor_vehicle_destination">Toegang voor motorvoertuigen: bestemmingsverkeer</string>
<string name="poi_motor_vehicle_no">Toegang voor motorvoertuigen: nee</string>
<string name="poi_motor_vehicle_private">Toegang voor motorvoertuigen: privé</string>
<string name="poi_motorcar_permissive">Toegang voor autos: toegestaan</string>
<string name="poi_motorcar_destination">Toegang voor autos: bestemmingsverkeer</string>
<string name="poi_motorcar_no">Toegang voor autos: nee</string>
<string name="poi_motorcar_private">Toegang voor autos: privé</string>
<string name="poi_motorcar_yes">Toegang voor autos: ja</string>
<string name="poi_motorcar_customers">Toegang voor autos: klanten</string>
<string name="poi_motorcar_forestry">Toegang voor autos: boswachterij</string>
<string name="poi_motor_vehicle_yes">Toegang voor motorvoertuigen: ja</string>
<string name="poi_vehicle_forestry">Toegang voor voertuigen: boswachterij</string>
<string name="poi_vehicle_delivery">Toegang voor voertuigen: bezorging</string>
<string name="poi_vehicle_military">Toegang voor voertuigen: militair</string>
<string name="poi_vehicle_customers">Toegang voor voertuigen: klanten</string>
<string name="poi_vehicle_permissive">Toegang voor voertuigen: toegestaan</string>
<string name="poi_vehicle_destination">Toegang voor voertuigen: bestemmingsverkeer</string>
<string name="poi_vehicle_no">Toegang voor voertuigen: nee</string>
<string name="poi_vehicle_private">Toegang voor voertuigen: privé</string>
<string name="poi_vehicle_yes">Toegang voor voertuigen: ja</string>
<string name="poi_hookah_lounge">Hookah lounge</string>
<string name="poi_charcoal_pile">Meiler</string>
<string name="poi_rescue_box">Noodhulpkist</string>
<string name="poi_pipeline_substation">Faciliteiten voor pijpleidingen</string>
<string name="poi_parking_space">Parkeerplaats</string>
<string name="poi_grave">Graf</string>
<string name="poi_monastery_type_clerks_regular">Soort klooster: reguliere orde</string>
<string name="poi_monastery_type_hermitage">Soort klooster: kluizenaars</string>
<string name="poi_monastery_type_canonry">Soort klooster: kanunniken</string>
<string name="poi_monastery_type_convent">Soort klooster: convent</string>
<string name="poi_monastery_type_monastics">Soort klooster: monniken</string>
<string name="poi_bath_open_air_no">Nee</string>
<string name="poi_bath_open_air_yes">Ja</string>
<string name="poi_bath_type_foot_bath">Voetenbad</string>
<string name="poi_bath_type_lake">Meer</string>
<string name="poi_bath_type_river">Rivier</string>
<string name="poi_bath_type_thermal">Thermisch</string>
<string name="poi_bath_type_hammam">Hamam</string>
<string name="poi_bath_type_onsen">Onsen</string>
<string name="poi_bath_type_hot_spring">Warmwaterbron</string>
<string name="poi_cash_withdrawal_postbank">Postbank</string>
<string name="poi_cash_withdrawal_girocard">Girokaart</string>
<string name="poi_cash_withdrawal_migros_bank">Migros bank</string>
<string name="poi_cash_withdrawal_postfinance_card">Postfinance card</string>
<string name="poi_cash_withdrawal_foreign_cards">Geldopname: internationaal</string>
<string name="poi_cash_withdrawal_purchase_minimum">Geldopname: minimum aankoopbedrag</string>
<string name="poi_cash_withdrawal_fee_no">Kostenloze geldopname: ja</string>
<string name="poi_cash_withdrawal_fee_yes">Kostenloze geldopname: nee</string>
<string name="poi_cash_withdrawal_purchase_required_no">Geldopname: zonder aankoop</string>
<string name="poi_cash_withdrawal_purchase_required_yes">Geldopname: bij aankoop</string>
<string name="poi_cash_withdrawal_currency">Munteenheid</string>
<string name="poi_cash_withdrawal_limit">Opnamelimiet</string>
<string name="poi_cash_withdrawal_type_self_checkout">Geldopname via: zelfbedieningskassa</string>
<string name="poi_cash_withdrawal_type_checkout">Geldopname via: kassa</string>
<string name="poi_cash_withdrawal_operator">Uitbatende organisatie van geldopname</string>
<string name="poi_cash_withdrawal">Geldopname</string>
<string name="poi_cash_withdrawal_yes">Geldopname: ja</string>
<string name="poi_pet_grooming">Huisdierverzorging</string>
<string name="poi_charge">Tarief</string>
<string name="poi_craft_cabinet_maker">Meubelmaker</string>
<string name="poi_craft_bakery">Bakkerij</string>
<string name="poi_craft_floorer">Vloerenlegger</string>
<string name="poi_craft_joiner">Schrijnwerker</string>
<string name="poi_craft_distillery">Destilleerderij</string>
<string name="poi_craft_builder">Aannemer</string>
<string name="poi_health_food">Health food</string>
<string name="poi_cellar_entrance">Kelderingang</string>
</resources>

View file

@ -1755,7 +1755,6 @@
<string name="context_menu_item_open_note">OSM-notitie aanmaken</string>
<string name="osm_edit_reopened_note">Heropen OSM-notitie</string>
<string name="osm_edit_commented_note">Becommentarieerde OSM-notitie</string>
<string name="osm_edit_removed_note">Verwijderde OSM-notitie</string>
<string name="osm_edit_created_note">Aangemaakte OSM-notitie</string>
<string name="osn_bug_name">OSM-notitie</string>
<string name="osn_add_dialog_title">Maak OSM-notitie aan</string>
@ -2556,7 +2555,7 @@
<string name="shared_string_road">Weg</string>
<string name="tap_on_map_to_hide_interface_descr">Een tik op de kaart verbergt/toont de bedieningsknoppen en widgets.</string>
<string name="tap_on_map_to_hide_interface">Volledig scherm</string>
<string name="mark_passed">Markering overslaan</string>
<string name="mark_passed">Markering gepasseerd</string>
<string name="import_gpx_file_description">kan worden geïmporteerd als Favorieten of als GPX-bestand.</string>
<string name="import_as_gpx">importeer als GPX-bestand</string>
<string name="import_as_favorites">Importeren als Favorieten</string>
@ -3432,7 +3431,7 @@
<string name="routing_profile_direct_to">Recht-naar-punt</string>
<string name="please_provide_profile_name_message">Kies een naam voor het profiel</string>
<string name="open_settings">Open instellingen</string>
<string name="plugin_disabled">Plugin uitgeschakeld</string>
<string name="plugin_disabled">Plug-in uit</string>
<string name="plugin_disabled_descr">Deze plug-in is een afzonderlijke app, die afzonderlijk verwijderd moet worden als je deze niet meer nodig denkt te hebben.
\n
\nDe plug-in blijft op het apparaat aanwezig na het verwijderen van OsmAnd.</string>
@ -3443,7 +3442,7 @@
<string name="import_profile_dialog_description">Het geïmporteerde profiel bevat bijkomende gegevens. Klik \'importeer\' om enkel de profielgegevens te importeren of kies bijkomende gegevens om te importeren.</string>
<string name="export_profile_dialog_description">Je kan bijkomende gegevens om mee met het profiel te exporteren.</string>
<string name="shared_string_app_default_w_val">App Standaardwaarde (%s)</string>
<string name="no_recalculation_setting">Herberekening uitschakelen</string>
<string name="no_recalculation_setting">Niet herberekenen</string>
<string name="route_recalculation_dist_title">Minimale afstand om route te herbereken</string>
<string name="route_recalculation_dist_descr">De route wordt herberekend wanneer de afstand tot die route groter is dan de opgegeven parameter</string>
<string name="profile_type_custom_string">Eigen profiel</string>
@ -3472,17 +3471,17 @@
<string name="restore_all_profile_settings">Alle profielinstellingen herstellen\?</string>
<string name="saving_new_profile">Slaat nieuw profiel op</string>
<string name="profile_backup_failed">Kan profiel niet back-uppen.</string>
<string name="n_items_of_z">%1$s of %2$s</string>
<string name="n_items_of_z">%1$s van %2$s</string>
<string name="download_slope_maps">Hellingen</string>
<string name="quick_action_show_hide_terrain">Terrein tonen / verbergen</string>
<string name="quick_action_terrain_hide">Terrein verbergen</string>
<string name="quick_action_terrain_show">Terrein tonen</string>
<string name="quick_action_terrain_descr">Een knop om de terreinlaag al dan niet te tonen op de kaart.</string>
<string name="delete_description">Verwijder een beschrijving</string>
<string name="add_description">Voeg een beschrijving toe</string>
<string name="select_group">Selecteer groep</string>
<string name="select_shape">Selecteer vorm</string>
<string name="shared_string_circle">cirkel</string>
<string name="delete_description">Beschrijving verwijderen</string>
<string name="add_description">Beschrijving toevoegen</string>
<string name="select_group">Groep kiezen</string>
<string name="select_shape">Vorm kiezen</string>
<string name="shared_string_circle">Cirkel</string>
<string name="shared_string_rhomb">Ruit</string>
<string name="shared_string_min">Min</string>
<string name="search_poi_types_descr">Combineer POI-types uit verschillende categorieën. Tik op \"Schakelen\" om alles te selecteren, tik op de linkerkant voor de categoriekeuze.</string>
@ -3702,4 +3701,16 @@
<string name="screen_timeout">Time-out van het scherm</string>
<string name="use_volume_buttons_as_zoom_descr">Inschakelen om het zoomniveau van de kaart in te stellen met de volumeknoppen.</string>
<string name="use_volume_buttons_as_zoom">Gebruik volumeknoppen om in en uit te zoomen</string>
<string name="plugin_wikipedia_description">Verkrijg informatie over POIs uit Wikipedia. Het is je offline reisgidsje - schakel de Wikipedia-plug-in in en geniet van artikelen over de bezienswaardigheden in je omgeving.</string>
<string name="lenght_limit_description">Geef de voertuiglengte op, er zijn mogelijk routebeperkingen voor lange voertuigen.</string>
<string name="quick_action_remove_next_destination_descr">Het volgende routepunt wordt verwijderd. Als dit de eindbestemming was, stopt de navigatie.</string>
<string name="quick_action_remove_next_destination">Verwijder het volgende routepunt</string>
<string name="please_provide_point_name_error">Kies een naam voor het punt</string>
<string name="search_download_wikipedia_maps">Wikipedia-kaarten downloaden</string>
<string name="app_mode_motor_scooter">Motorscooter</string>
<string name="app_mode_enduro_motorcycle">Enduromotor</string>
<string name="app_mode_wheelchair">Rolstoel</string>
<string name="app_mode_wheelchair_forward">Rolstoel vooraanzicht</string>
<string name="osm_edit_closed_note">Opgeloste OSM-notitie</string>
<string name="app_mode_go_cart">Kart</string>
</resources>

View file

@ -1781,7 +1781,6 @@
<string name="osm_edit_deleted_poi">Usunięto użyteczne miejce OSM</string>
<string name="osm_edit_reopened_note">Otwarto ponownie notatkę OSM</string>
<string name="osm_edit_commented_note">Skomentowano uwagę OSM</string>
<string name="osm_edit_removed_note">Usunięto uwagę OSM</string>
<string name="osm_edit_created_note">Utworzono uwagę OSM</string>
<string name="osn_add_dialog_title">Utwórz uwagę</string>
<string name="osn_add_dialog_error">Nie utworzono uwagi.</string>
@ -3251,7 +3250,7 @@
<string name="general_settings_profile_descr">Wybiera styl aplikacji, jednostki, region</string>
<string name="osmand_settings">Ustawienia OsmAnd</string>
<string name="copy_from_other_profile">Skopiuj z innego profilu</string>
<string name="vehicle_parameters_descr">Ciężar, wysokość, prędkość</string>
<string name="vehicle_parameters_descr">Waga, wysokość, długość, prędkość</string>
<string name="vehicle_parameters">Parametry pojazdu</string>
<string name="voice_announces_info">Komunikaty głosowe są odtwarzane tylko podczas nawigacji.</string>
<string name="voice_announces">Komunikaty głosowe</string>
@ -3463,12 +3462,12 @@
<string name="monitoring_min_speed_descr_side_effect">Efekt uboczny: trasa nie będzie zawierała sekcji, w których nie zostało spełnione kryterium minimalnej prędkości (np. podczas pchania roweru pod strome wzgórze). Nie będzie również zawierała informacji o czasach odpoczynku, np. przerwach. Ma to wpływ na analizę i przetwarzanie końcowe, np. przy próbie określenia całkowitej długości trasy, czasu w ruchu lub średniej prędkości.</string>
<string name="rearrange_categories">Zmień układ kategorii</string>
<string name="create_custom_categories_list_promo">Zmień kolejność sortowania listy, ukryj niepotrzebne kategorie. Wszystkie zmiany można importować lub eksportować za pomocą profili.</string>
<string name="add_new_custom_category_button_promo">Można dodać nową, niestandardową kategorię wybierając jedną lub kilka potrzebnych kategorii.</string>
<string name="add_new_custom_category_button_promo">Można dodać nową, niestandardową kategorię wybierając jedną lub kilka kategorii.</string>
<string name="shared_string_available">Dostępne</string>
<string name="add_custom_category">Dodaj niestandardową kategorię</string>
<string name="rendering_attr_streetLightingNight_name">Wyświetlaj tylko w nocy</string>
<string name="plugin_prefs_reset_successful">Ustawienia wtyczek przywrócone do stanu domyślnego.</string>
<string name="profile_prefs_reset_successful">Ustawienia profili przywrócone do stanu domyślnego.</string>
<string name="plugin_prefs_reset_successful">Ustawienia wtyczek przywrócone do domyślnych.</string>
<string name="profile_prefs_reset_successful">Ustawienia profili przywrócone do domyślnych.</string>
<string name="ltr_or_rtl_combine_via_slash">%1$s/%2$s</string>
<string name="sunset_at">Zachód słońca o %1$s</string>
<string name="sunrise_at">Wschód słońca o %1$s</string>
@ -3480,7 +3479,7 @@
<string name="multimedia_use_system_camera">Użyj aplikacji systemowej</string>
<string name="multimedia_photo_play_sound">Dźwięk migawki aparatu</string>
<string name="reset_to_default_category_button_promo">Przywrócenie domyślnej kolejności sortowania spowoduje przywrócenie porządku sortowania do stanu domyślnego po instalacji.</string>
<string name="accessibility_mode_disabled">Tryb ułatwień dostępu wyłączony w twoim systemie.</string>
<string name="accessibility_mode_disabled">Tryb ułatwień jest dostępu wyłączony w twoim systemie.</string>
<string name="use_system_screen_timeout">Wygaś ekran zgodnie z ustawieniami systemu</string>
<string name="clear_recorded_data">Wyczyść zarejestrowane dane</string>
<string name="release_3_6">- Profile: teraz można zmienić kolejność, ustawić ikonę dla mapy, zmienić wszystkie ustawienia dla profili bazowych i przywrócić je do domyślnych ustawień.
@ -3523,7 +3522,7 @@
<string name="navigation_notification_desc">Pokaż powiadomienia systemowe podczas nawigacji z instrukcjami nawigacji.</string>
<string name="navigation_notification">Powiadomienie nawigacyjne</string>
<string name="shared_string_app_default_w_val">Domyślnie (%s)</string>
<string name="no_recalculation_setting">Wyłączenie ponownego obliczania</string>
<string name="no_recalculation_setting">Bez ponownego obliczania</string>
<string name="route_recalculation_dist_title">Minimalna odległość do ponownego wyznaczenia trasy</string>
<string name="route_recalculation_dist_descr">Wyznacza ponownie trasę, jeśli odległość do trasy jest dłuższa niż określony parametr</string>
<string name="tracks_view_descr">Twoje nagrane ślady są w %1$s lub w folderze OsmAnd.</string>
@ -3630,7 +3629,7 @@
<string name="shared_string_hidden">Ukryte</string>
<string name="hidden_items_descr">Te elementy są ukryte w menu, jednak reprezentowane opcje i wtyczki będą wciąż działać.</string>
<string name="reset_items_descr">Ukrycie ustawień resetuje je do pierwotnego stanu.</string>
<string name="main_actions_descr">\"Główne czynności\" zawierają tylko 4 przyciski.</string>
<string name="main_actions_descr">Mieści tylko 4 przyciski.</string>
<string name="main_actions">Główne działania</string>
<string name="move_inside_category">Możesz przemieszczać elementy tylko wewnątrz tej kategorii.</string>
<string name="developer_plugin">Wtyczka deweloperska</string>
@ -3719,7 +3718,7 @@
<string name="quick_action_transport_hide">Ukryj transport publiczny</string>
<string name="quick_action_transport_show">Pokaż transport publiczny</string>
<string name="quick_action_show_hide_transport">Pokaż/ukryj transport publiczny</string>
<string name="create_edit_poi">Utwórz / Edytuj POI</string>
<string name="create_edit_poi">Utwórz / Edytuj użyteczne miejsce</string>
<string name="add_edit_favorite">Dodaj / Edytuj Ulubione</string>
<string name="quick_action_switch_profile_descr">Naciśnięcie przycisku akcji powoduje przełączanie między wybranymi profilami.</string>
<string name="shared_string_add_profile">Dodaj profil</string>

View file

@ -1682,7 +1682,6 @@ Pôr do Sol: %2$s</string>
<string name="context_menu_item_open_note">Abrir nota no OSM</string>
<string name="osm_edit_reopened_note">Nota no OSM reaberta</string>
<string name="osm_edit_commented_note">Nota no OSM comentada</string>
<string name="osm_edit_removed_note">Nota no OSM excluído</string>
<string name="osm_edit_created_note">Nota no OSM criada</string>
<string name="osn_bug_name">Nota no OSM</string>
<string name="osn_add_dialog_title">Criar nota</string>
@ -3802,4 +3801,10 @@ Pôr do Sol: %2$s</string>
<string name="quick_action_remove_next_destination_descr">O ponto de destino atual na rota será excluído. Se for o destino, a navegação será interrompida.</string>
<string name="search_download_wikipedia_maps">Baixar mapas da Wikipédia</string>
<string name="plugin_wikipedia_description">Obter informações sobre pontos de interesse da Wikipédia. É o seu guia de bolso off-line - só ativar o complemento Wikipédia e desfrutar de artigos sobre os elementos ao seu redor.</string>
<string name="app_mode_enduro_motorcycle">Motocicleta enduro</string>
<string name="app_mode_motor_scooter">Motoneta</string>
<string name="app_mode_wheelchair">Cadeira de rodas</string>
<string name="app_mode_wheelchair_forward">Cadeira de rodas para a frente</string>
<string name="app_mode_go_cart">Carrinho de compras</string>
<string name="osm_edit_closed_note">Nota OSM fechada</string>
</resources>

View file

@ -1506,7 +1506,6 @@
<string name="context_menu_item_open_note">Abrir anotação OSM</string>
<string name="osm_edit_reopened_note">Re-abrir anotação OSM</string>
<string name="osm_edit_commented_note">Anotação OSM comentada</string>
<string name="osm_edit_removed_note">Nota OSM eliminada</string>
<string name="osm_edit_created_note">Anotação OSM adicionada</string>
<string name="osn_bug_name">Anotação OSM</string>
<string name="osn_add_dialog_title">Adicionar anotação OSM</string>

View file

@ -1359,7 +1359,6 @@
<string name="show_on_start_description">\"Oprit\" lansează direct ecranul hărții.</string>
<string name="copied_to_clipboard">Copiat în clipboard</string>
<string name="osm_edit_commented_note">Nota OSM comentată</string>
<string name="osm_edit_removed_note">Nota OSM ștearsă</string>
<string name="osm_edit_created_note">Nota OSM creată</string>
<string name="osn_bug_name">Notă OSM</string>
<string name="osn_add_dialog_title">Crează notă</string>

View file

@ -3817,4 +3817,7 @@
<string name="poi_traffic_signals_vibration_no">Вибрация: нет</string>
<string name="poi_traffic_signals_arrow">Стрелка</string>
<string name="poi_traffic_signals_vibration">Вибрация</string>
<string name="poi_city_block">Городской квартал</string>
<string name="poi_borough">Муниципалитет</string>
<string name="poi_give_box">Подарочная коробка</string>
</resources>

View file

@ -274,7 +274,6 @@
<string name="poi_context_menu_modify_osm_change">Редактировать POI</string>
<string name="osm_edit_reopened_note">Заметка OSM открыта снова</string>
<string name="osm_edit_commented_note">К заметке OSM добавлен комментарий</string>
<string name="osm_edit_removed_note">Заметка OSM удалена</string>
<string name="osm_edit_created_note">Заметка OSM создана</string>
<string name="osn_bug_name">Заметка OSM</string>
<string name="osn_add_dialog_title">Создать заметку</string>
@ -548,7 +547,7 @@
<string name="level_to_switch_vector_raster">Минимальный масштаб векторных карт</string>
<string name="error_doing_search">Не удалось выполнить локальный поиск.</string>
<string name="search_osm_offline">Поиск по географическому положению</string>
<string name="system_locale">Системная</string>
<string name="system_locale">Системный</string>
<string name="preferred_locale_descr">Язык интерфейса приложения (будет использован после перезапуска OsmAnd).</string>
<string name="preferred_locale">Язык интерфейса</string>
<string name="shared_string_next">Далее</string>
@ -1120,7 +1119,7 @@
<string name="map_widget_renderer">Стиль карты</string>
<string name="email">Эл. почта</string>
<string name="day_night_info">Восход/закат</string>
<string name="osmand_short_description_80_chars">Мобильный просмотр и навигация по онлайн и локальным картам OSM всего мира</string>
<string name="osmand_short_description_80_chars">Мобильные карты и навигация по всему миру для локальных и онлайн-карт OSM</string>
<string name="osmand_long_description_1000_chars">OsmAnd (Open Street Maps Automated Navigation Directions)
\n
\n OsmAnd — это навигационное приложение с открытым исходным кодом и доступом к картам и данным на основе OSM. Все данные карт (векторные или растровые) могут быть сохранены на карту памяти устройства для использования без подключения к интернету. OsmAnd также предоставляет локальные и онлайн-средства построения маршрута, включая голосовые инструкции по маршруту.
@ -1200,7 +1199,7 @@
<string name="rendering_attr_roadColors_description">Выберите цветовую схему дорог:</string>
<string name="rendering_attr_roadColors_name">Цветовая схема дорог</string>
<string name="route_descr_lat_lon">Ш %1$.3f Д %2$.3f</string>
<string name="incomplete_locale">незавершённое</string>
<string name="incomplete_locale">неполный</string>
<string name="map_widget_max_speed">Ограничение скорости</string>
<string name="monitoring_control_start">GPX</string>
<string name="download_select_map_types">Прочие карты</string>
@ -1386,7 +1385,7 @@
\n Примечание 2: в новом хранилище совместное использование файлов OsmAnd и OsmAnd+ невозможно.</string>
<string name="copying_osmand_one_file_descr">Копирование файла (%s) на новое место…</string>
<string name="copying_osmand_files_descr">Копирование файлов данных OsmAnd на новое место (%s)…</string>
<string name="disable_complex_routing_descr">Выключение 2-фазной маршрутизации для автомобильной навигации.</string>
<string name="disable_complex_routing_descr">Выключение двухфазной маршрутизации для автомобильной навигации.</string>
<string name="complex_route_calculation_failed">Быстрое построение маршрута не удалось (%s), отмените для возврата к медленному построению.</string>
<string name="map_magnifier">Масштаб</string>
<string name="select_gpx">Выберите GPX…</string>
@ -1624,7 +1623,7 @@
<string name="impassable_road">Нежелательные участки</string>
<string name="lock_screen_request_explanation">%1$s необходимо это разрешение, чтобы выключить экран для экономии энергии.</string>
<string name="wake_on_voice">Автовключение экрана перед поворотом</string>
<string name="wake_on_voice_descr">Включать экран устройства (если он выключен) при приближении к повороту.</string>
<string name="wake_on_voice_descr">Включать экран перед поворотом (если выключен).</string>
<string name="map_update">Карты доступные для обновления: %1$s</string>
<string name="coordinates">Координаты</string>
<string name="home_button">Дом</string>
@ -1833,7 +1832,7 @@
<string name="use_fast_recalculation">Умный перерасчёт маршрута</string>
<string name="use_fast_recalculation_desc">Перерасчёт только начальной части маршрута для длительных поездок.</string>
<string name="osm_edit_context_menu_delete">Удалить правки OSM</string>
<string name="rendering_value_disabled_name">Выключен</string>
<string name="rendering_value_disabled_name">Выключено</string>
<string name="rendering_value_walkingRoutesScopeOSMC_name">Раскраска по сетевой принадлежности</string>
<string name="rendering_value_walkingRoutesOSMC_name">Раскраска туристических меток по OSMC</string>
<string name="shared_string_logoff">Выход</string>
@ -1998,7 +1997,7 @@
<string name="share_menu_location">Поделиться местоположением</string>
<string name="shared_string_send">Отправить</string>
<string name="application_dir_description">Выберите, где вы хотите хранить файлы карт и другие данные.</string>
<string name="show_on_start_description">«Выключено» запускает карту непосредственно.</string>
<string name="show_on_start_description">При выключении сразу открывается карта.</string>
<string name="map_downloaded">Карта загружена</string>
<string name="shared_string_qr_code">QR код</string>
<string name="go_to_map">Показать карту</string>
@ -2414,7 +2413,7 @@
<string name="marker_moved_to_active">Маркер перемещён в действующие</string>
<string name="show_direction">Указатель расстояния</string>
<string name="show_map">Показать карту</string>
<string name="plan_route_no_markers_toast">Для использования этой функции вы должны добавить хотя бы один маркер.</string>
<string name="plan_route_no_markers_toast">Для использования этой функции нужно добавить хотя бы один маркер.</string>
<string name="osn_modify_dialog_error">Не удалось изменить заметку.</string>
<string name="shared_string_road">Дорога</string>
<string name="show_guide_line">Показывать направляющие линии</string>
@ -3245,14 +3244,14 @@
<string name="appearance">Внешний вид</string>
<string name="configure_navigation">Настроить навигацию</string>
<string name="screen_alerts_descr">Предупреждения отображаются в левом нижнем углу во время навигации.</string>
<string name="osmand_settings_descr">Влияет для всего приложения</string>
<string name="osmand_settings_descr">Общие настройки приложения</string>
<string name="osmand_settings">Настройки OsmAnd</string>
<string name="copy_from_other_profile">Копировать из другого профиля</string>
<string name="turn_screen_on">Включить экран</string>
<string name="map_during_navigation_info">Карта во время навигации</string>
<string name="map_during_navigation">Карта во время навигации</string>
<string name="vehicle_parameters_descr">Вес, высота, длина, скорость</string>
<string name="vehicle_parameters">Параметры транспортного средства</string>
<string name="vehicle_parameters">Параметры автомобиля</string>
<string name="voice_announces_info">Голосовые оповещения происходят только во время навигации.</string>
<string name="voice_announces_descr">Навигационные инструкции и объявления</string>
<string name="voice_announces">Голосовые подсказки</string>
@ -3369,7 +3368,7 @@
<string name="select_color">Выберите цвет</string>
<string name="edit_profiles_descr">Вы не можете удалить стандартные профили OsmAnd, но вы можете отключить их на предыдущем экране или переместить вниз.</string>
<string name="edit_profiles">Редактировать профили</string>
<string name="select_nav_profile_dialog_message">Тип навигации влияет на правила расчёта маршрута.</string>
<string name="select_nav_profile_dialog_message">«Тип навигации» определяет способ расчета маршрутов.</string>
<string name="profile_appearance">Внешний вид профиля</string>
<string name="choose_icon_color_name">Значок, цвет и имя</string>
<string name="reorder_profiles">Редактировать список профилей</string>
@ -3814,4 +3813,8 @@
<string name="quick_action_remove_next_destination_descr">Текущий пункт назначения на маршруте будет удалён. Если это пункт назначения, навигация остановится.</string>
<string name="plugin_wikipedia_description">Информация о достопримечательностях из Википедии. Это ваш карманный автономный гид — просто включите плагин Википедии и наслаждайтесь статьями об объектах вокруг вас.</string>
<string name="search_download_wikipedia_maps">Скачать карты Википедии</string>
<string name="app_mode_enduro_motorcycle">Эндуро мотоцикл</string>
<string name="app_mode_motor_scooter">Мотороллер</string>
<string name="osm_edit_closed_note">Закрытая заметка OSM</string>
<string name="app_mode_wheelchair">Инвалидная коляска</string>
</resources>

View file

@ -1770,7 +1770,6 @@
<string name="context_menu_item_open_note">Aberi una nota de OSM</string>
<string name="osm_edit_reopened_note">Nota OSM torrada a abèrrere</string>
<string name="osm_edit_commented_note">Nota OSM cummentada</string>
<string name="osm_edit_removed_note">Nota OSM iscantzellada</string>
<string name="osm_edit_created_note">Nota OSM creada</string>
<string name="osn_bug_name">Nota OSM</string>
<string name="osn_add_dialog_title">Crea nota</string>
@ -3817,4 +3816,10 @@
<string name="quick_action_remove_next_destination_descr">Su puntu de destinatzione atuale in s\'àndala at a èssere iscantzelladu. Si at a èssere sa destinatzione, sa navigatzione s\'at a firmare.</string>
<string name="search_download_wikipedia_maps">Iscàrriga sas mapas de Wikipedia</string>
<string name="plugin_wikipedia_description">Otene informatziones a pitzu de puntos de interesse dae Wikipedia. Est sa ghia non in lìnia tua de mantènnere in butzaca - abìlita s\'estensione Wikipedia e ispassia·ti cun sos artìculos a pitzu de sos ogetos a fùrriu de tie.</string>
<string name="app_mode_enduro_motorcycle">Moto enduro</string>
<string name="app_mode_motor_scooter">Motorinu</string>
<string name="app_mode_wheelchair_forward">Cadira a rodas cara a in antis</string>
<string name="app_mode_wheelchair">Cadira a rodas</string>
<string name="app_mode_go_cart">Go-kart</string>
<string name="osm_edit_closed_note">Nota de OSM serrada</string>
</resources>

View file

@ -1767,7 +1767,6 @@
<string name="context_menu_item_open_note">Otvoriť OSM poznámku</string>
<string name="osm_edit_reopened_note">Znovuotvorená OSM poznámka</string>
<string name="osm_edit_commented_note">Pridaný komentár k OSM poznámke</string>
<string name="osm_edit_removed_note">Odstránená OSM poznámka</string>
<string name="osm_edit_created_note">Vytvorená OSM poznámka</string>
<string name="osn_bug_name">OSM poznámka</string>
<string name="osn_add_dialog_title">Vytvoriť poznámku</string>
@ -3813,4 +3812,10 @@
<string name="quick_action_remove_next_destination_descr">Aktuálny cieľový bod na trase bude vymazaný. Ak je to posledný cieľ, navigácia sa zastaví.</string>
<string name="search_download_wikipedia_maps">Stiahnuť mapy Wikipédia</string>
<string name="plugin_wikipedia_description">Získajte informácie o bodoch záujmu z Wikipédie. Je to váš vreckový sprievodca - zapnite modul Wikipédia a užívajte si články o objektoch okolo vás.</string>
<string name="app_mode_enduro_motorcycle">Enduro motorka</string>
<string name="app_mode_motor_scooter">Skúter</string>
<string name="app_mode_wheelchair">Invalidný vozík</string>
<string name="app_mode_wheelchair_forward">Invalidný vozík dopredu</string>
<string name="app_mode_go_cart">Motokára</string>
<string name="osm_edit_closed_note">Zatvorená OSM poznámka</string>
</resources>

View file

@ -1768,7 +1768,6 @@ Sorazmerna velikost pomnilnika je %4$s MB (omejitev na androidu je %5$s MB, na d
<string name="osm_edit_deleted_poi">Izbrisana točka POI</string>
<string name="context_menu_item_open_note">Odpri opombe OSM</string>
<string name="osm_edit_reopened_note">Ponovno odprte opombe OSM</string>
<string name="osm_edit_removed_note">Izbrisana opomba OSM</string>
<string name="osm_edit_created_note">Ustvarjena opomba OSM</string>
<string name="osn_bug_name">Opomba OSM</string>
<string name="osn_add_dialog_title">Ustvari opombo</string>

View file

@ -2815,4 +2815,820 @@
<string name="poi_access_mofa">Мофа приступ</string>
<string name="poi_access_motorhome">Приступ мотоциклима</string>
<string name="poi_climbing_crag_filter">Стена пењања</string>
<string name="poi_counselling_type_marriage_no">Саветовање (брачно): не</string>
<string name="poi_counselling_type_marriage_yes">Саветовање (брачно): да</string>
<string name="poi_counselling_type_immigrant_no">Саветовање (имигрант): не</string>
<string name="poi_counselling_type_immigrant_yes">Саветовање (имигрант): да</string>
<string name="poi_counselling_type_homeless_no">Саветовање (бескућно): не</string>
<string name="poi_counselling_type_homeless_yes">Саветовање (бескућно): да</string>
<string name="poi_counselling_type_family_no">Саветовање (породично): не</string>
<string name="poi_counselling_type_family_yes">Саветовање (породично): да</string>
<string name="poi_counselling_type_education_no">Саветовање (образовање): не</string>
<string name="poi_counselling_type_education_yes">Саветовање (образовање): да</string>
<string name="poi_counselling_type_drugs_no">Саветовање (око дрога): не</string>
<string name="poi_counselling_type_drugs_yes">Саветовање (око дрога): да</string>
<string name="poi_counselling_type_crisis_no">Саветовање (кризно): не</string>
<string name="poi_counselling_type_crisis_yes">Саветовање (кризно): да</string>
<string name="poi_counselling_type_couple_no">Саветовање (за парове): не</string>
<string name="poi_counselling_type_couple_yes">Саветовање (за парове): да</string>
<string name="poi_counselling_type_child_guidance_no">Саветовање (смернице за дете): не</string>
<string name="poi_counselling_type_child_guidance_yes">Саветовање (смернице за дете): да</string>
<string name="poi_counselling_type_antenatal_no">Саветовање (пренатално): не</string>
<string name="poi_counselling_type_antenatal_yes">Саветовање (пренатално): да</string>
<string name="poi_counselling_type_addiction_no">Саветовање (зависност): не</string>
<string name="poi_counselling_type_addiction_yes">Саветовање (зависност): да</string>
<string name="poi_health_person_type_witchdoctor">Улога здравственог радника: вештак</string>
<string name="poi_health_person_type_technician">Улога здравственог радника: техничар</string>
<string name="poi_health_person_type_physician_assitant">Улога здравственог радника: помоћник лекара</string>
<string name="poi_health_person_type_therapist">Улога здравственог радника: терапеут</string>
<string name="poi_health_person_type_psychologist">Улога здравственог радника: психолог</string>
<string name="poi_health_person_type_podologist">Улога здравственог радника: подолог</string>
<string name="poi_health_person_type_physician">Улога здравственог радника: лекар</string>
<string name="poi_health_person_type_paramedic">Улога здравственог радника: болничар</string>
<string name="poi_health_person_type_nurse">Улога здравственог радника: медицинска сестра</string>
<string name="poi_health_person_type_midwife">Улога здравственог радника: бабица</string>
<string name="poi_health_person_type_healer">Улога здравственог радника: исцелитељ</string>
<string name="poi_health_person_type_assistant">Улога здравственог радника: асистент</string>
<string name="poi_fire_hydrant_type_wall">Зид</string>
<string name="poi_fire_hydrant_type_pond">Понд</string>
<string name="poi_fire_hydrant_type_dry_barrel">Суво буре</string>
<string name="poi_fire_hydrant_type_pillar">Стуб</string>
<string name="poi_fire_hydrant_type_underground">Подземни</string>
<string name="poi_suction_point">Тачка усисавања</string>
<string name="poi_health_facility_type_support_group_home">Тип здравствене установе: дом групе за подршку</string>
<string name="poi_health_facility_type_nursing_home">Тип здравствене установе: старачки дом</string>
<string name="poi_health_facility_type_first_aid">Тип здравствене установе: прва помоћ</string>
<string name="poi_health_facility_type_dispensary">Тип здравствене установе: амбуланта</string>
<string name="poi_health_facility_type_department">Тип здравствене установе: одељење</string>
<string name="poi_health_facility_type_therapy">Тип здравствене установе: терапија</string>
<string name="poi_health_facility_type_laboratory">Тип здравствене установе: лабораторија</string>
<string name="poi_health_facility_type_counselling_centre">Тип здравствене установе: саветовалиште</string>
<string name="poi_health_facility_type_field_hospital">Тип здравствене установе: теренска болница</string>
<string name="poi_health_facility_type_office">Медицинска канцеларија</string>
<string name="poi_health_service_test_no">Здравствена услуга: тест: не</string>
<string name="poi_health_service_test_yes">Здравствена служба: тест: да</string>
<string name="poi_health_service_support_no">Здравствена служба: подршка: не</string>
<string name="poi_health_service_support_yes">Здравствена служба: подршка: да</string>
<string name="poi_health_service_prevention_vaccination_no">Здравствена служба: вакцинација: не</string>
<string name="poi_health_service_prevention_vaccination_yes">Здравствена служба: вакцинација: да</string>
<string name="poi_health_service_prevention_no">Здравствена служба: превенција: не</string>
<string name="poi_health_service_prevention_yes">Здравствена служба: превенција: да</string>
<string name="poi_health_service_child_care_no">Здравствена услуга: дечје одељење: не</string>
<string name="poi_health_service_child_care_yes">Здравствена услуга: дечје одељење: да</string>
<string name="poi_health_service_examination_no">Здравствена служба: преглед: не</string>
<string name="poi_health_service_examination_yes">Здравствена служба: преглед: да</string>
<string name="poi_health_service_counselling_no">Здравствена служба: саветовање: не</string>
<string name="poi_health_service_counselling_yes">Здравствена служба: саветовање: да</string>
<string name="poi_health_service_nursing_no">Здравствена служба: породилиште: не</string>
<string name="poi_health_service_nursing_yes">Здравствена служба: породилиште: да</string>
<string name="poi_medical_system_unani_yes">Унани</string>
<string name="poi_medical_system_sidda_yes">Сида</string>
<string name="poi_medical_system_tibetan_yes">Традиционално Тибетански</string>
<string name="poi_medical_system_mongolian_yes">Традиционално монголски</string>
<string name="poi_medical_system_kampo_yes">Кампо</string>
<string name="poi_medical_system_ayurveeda_yes">Ајурведа</string>
<string name="poi_medical_system_chinese_yes">Традиционално Кинески</string>
<string name="poi_medical_system_western_yes">Западни</string>
<string name="poi_sanitary_dump_station">Санитарна отпадна станица</string>
<string name="poi_tanning_salon">Соларијум</string>
<string name="poi_free_flying_guest_guidelines_no">Смернице за госте: не</string>
<string name="poi_free_flying_guest_guidelines_yes">Смернице за госте: да</string>
<string name="poi_free_flying_site_orientation_w">Оријентација места слободног летења: З</string>
<string name="poi_free_flying_site_orientation_sw">Оријентација места слободног летења: ЈЗ</string>
<string name="poi_free_flying_no_flight_time">Нема време лета (слободно летење)</string>
<string name="poi_free_flying_site_orientation_nw">Оријентација места слободног летења: СЗ</string>
<string name="poi_free_flying_site_orientation_s">Оријентација места слободног летења: Ј</string>
<string name="poi_free_flying_site_orientation_se">Оријентација места слободног летења: ЈИ</string>
<string name="poi_free_flying_site_orientation_e">Оријентација места слободног летења: И</string>
<string name="poi_free_flying_site_orientation_ne">Оријентација места слободног летења: СИ</string>
<string name="poi_free_flying_site_orientation_n">Оријентација места слободног летења: С</string>
<string name="poi_free_flying_rigid_no">Слободно летење круто: не</string>
<string name="poi_free_flying_rigid_yes">Крута</string>
<string name="poi_free_flying_hanggliding_no">Змајарство: не</string>
<string name="poi_free_flying_hanggliding_yes">Змајарство</string>
<string name="poi_free_flying_paragliding_no">Параглајдинг: не</string>
<string name="poi_free_flying_paragliding_yes">Параглајдинг</string>
<string name="poi_free_flying_official_no">Званично: не</string>
<string name="poi_free_flying_official_yes">Званично: да</string>
<string name="poi_free_flying_site_training">Обука</string>
<string name="poi_free_flying_site_towing">Вуча</string>
<string name="poi_free_flying_site_toplanding">Слетање на врху</string>
<string name="poi_free_flying_site_landing">Слетање</string>
<string name="poi_free_flying_site_takeoff">Полетање</string>
<string name="poi_button_operated_no">Управљано дугметом: не</string>
<string name="poi_button_operated_yes">Управљано дугметом: да</string>
<string name="poi_water_tap">Славина за воду</string>
<string name="poi_sport_free_flying">Слободно летење (спорт)</string>
<string name="poi_amenity_vacuum_cleaner">Усисивач</string>
<string name="poi_vacuum_cleaner_no">Усисавач: не</string>
<string name="poi_vacuum_cleaner_yes">Да</string>
<string name="poi_compressed_air_no">Компримовани ваздух: не</string>
<string name="poi_compressed_air_yes">Да</string>
<string name="poi_plant_nursery">Расадник биљака</string>
<string name="poi_addr_housename">Име куће</string>
<string name="poi_nuclear_explosion_device">Експлозија: уређај</string>
<string name="poi_nuclear_explosion_warhead">Експлозија: бојева глава</string>
<string name="poi_nuclear_explosion_crater_diameter">Експлозија: пречник кратера</string>
<string name="poi_nuclear_explosion_salvo_second_or_later_detonation">Плотун експлозија: друга или каснија детонација плотун теста</string>
<string name="poi_nuclear_explosion_salvo_first_detonation">Плотун експлозија: прва детонација плотун теста</string>
<string name="poi_shuffleboard">Куглање</string>
<string name="poi_netball">Мрежа</string>
<string name="poi_motorcycle_sales_used">Продаја: половна</string>
<string name="poi_motorcycle_sales_yes_used">Продаја: да, половна</string>
<string name="poi_motorcycle_sales_no">Продаја: не</string>
<string name="poi_motorcycle_sales_yes">Продаја</string>
<string name="poi_stands">Штандови</string>
<string name="poi_zoo_reptile">Рептили</string>
<string name="poi_zoo_falconry">Соколарник</string>
<string name="poi_zoo_aviary">Птичник</string>
<string name="poi_zoo_birds">Птице</string>
<string name="poi_zoo_safari_park">Сафари парк</string>
<string name="poi_zoo_enclosure">Кућиште</string>
<string name="poi_zoo_wildlife_park">Парк дивљих животиња</string>
<string name="poi_zoo_petting_zoo">Зоолошки врт са мажењем животиња</string>
<string name="poi_life_ring">Животни прстен</string>
<string name="poi_language_school">Школа страних језика</string>
<string name="poi_music_school">Музичка школа</string>
<string name="poi_resort_kids_camp">Дечији камп</string>
<string name="poi_electronics_repair_tv">Поправка електронике: ТВ</string>
<string name="poi_electronics_repair_phone">Поправка електронике: телефон</string>
<string name="poi_electronics_repair_appliance">Поправка електронике: апарати</string>
<string name="poi_electronics_repair_computer">Поправка електронике: рачунари</string>
<string name="poi_energy_supplier">Канцеларија снабдевача енергије</string>
<string name="poi_drink_wine_served">Вино: сервирано</string>
<string name="poi_drink_wine_retail">Вино: малопродаја</string>
<string name="poi_drink_wine_yes">Вино: да</string>
<string name="poi_fast_food_cafeteria">Да</string>
<string name="poi_coworking_space">Заједнички радни простор</string>
<string name="poi_railway_yard">Теретна станица</string>
<string name="poi_tower_construction_concealed">Конструкција: скривена</string>
<string name="poi_tower_construction_dome">Конструкција: купола</string>
<string name="poi_tower_construction_dish">Конструкција: тањир</string>
<string name="poi_tower_construction_freestanding">Конструкција: самостојећа</string>
<string name="poi_tower_construction_lattice">Конструкција: решетка</string>
<string name="poi_animal_keeping_type_open_stable">Тип: отворена штала</string>
<string name="poi_cuisine_buschenschank">Бушеншанк</string>
<string name="poi_operational_status_closed">Затворено</string>
<string name="poi_operational_status_open">Отворено</string>
<string name="poi_visibility_area">Видљивост: подручје</string>
<string name="poi_visibility_street">Видљивост: улица</string>
<string name="poi_visibility_house">Видљивост: кућа</string>
<string name="poi_location_entrance">Локација: улаз</string>
<string name="poi_location_wall">Локација: зид</string>
<string name="poi_location_bridge">Локација: мост</string>
<string name="poi_location_platform">Локација: платформа</string>
<string name="poi_location_indoor">Локација: унутар</string>
<string name="poi_location_outdoor">Локација: напољу</string>
<string name="poi_location_rooftop">Локација: врх крова</string>
<string name="poi_location_roof">Локација: кров</string>
<string name="poi_location_overhead">Локација: изнад главе</string>
<string name="poi_location_overground">Локација: надземље</string>
<string name="poi_location_underwater">Локација: подводна</string>
<string name="poi_location_underground">Локација: подземна</string>
<string name="poi_surface_metal_grid">Метална мрежа</string>
<string name="poi_surface_decoturf">Декотрава</string>
<string name="poi_surface_artificial_turf">Вештачка трава</string>
<string name="poi_surface_tartan">Тартан</string>
<string name="poi_surface_clay">Глина</string>
<string name="poi_mountain_area">Планинско подручје</string>
<string name="poi_couloir">Кулуар</string>
<string name="poi_gorge">Клисура</string>
<string name="poi_vhf">ВХФ канал</string>
<string name="poi_government_legislative">Законодавна институција</string>
<string name="poi_government_transportation">Транспортна институција</string>
<string name="poi_government_treasury">Благајна</string>
<string name="poi_government_social_services">Социјалне услуге</string>
<string name="poi_government_social_security">Социјално осигурање</string>
<string name="poi_government_public_service">Јавни сервис</string>
<string name="poi_government_ministry">Министарство</string>
<string name="poi_government_archive">Архива</string>
<string name="poi_network">Мрежа</string>
<string name="poi_boat_canoe_rental_rental_no">Кану: не</string>
<string name="poi_boat_canoe_rental_rental_yes">Кану: да</string>
<string name="poi_boat_kayak_rental_rental_no">Кајаци: не</string>
<string name="poi_boat_kayak_rental_rental_yes">Кајаци: да</string>
<string name="poi_boat_dinghy_rental_rental_no">Гумењак: не</string>
<string name="poi_boat_dinghy_rental_rental_yes">Гумењак: да</string>
<string name="poi_boat_sailboat_rental_no">Једрењаци: не</string>
<string name="poi_boat_sailboat_rental_yes">Једрењаци: да</string>
<string name="poi_boat_jetski_rental_no">Џетски: не</string>
<string name="poi_boat_jetski_rental_yes">Џетски: да</string>
<string name="poi_boat_pedalboat_rental_no">Бродови на веслање: не</string>
<string name="poi_boat_pedalboat_rental_yes">Бродови на веслање: да</string>
<string name="poi_boat_houseboat_rental_no">Кућни бродови: не</string>
<string name="poi_boat_houseboat_rental_yes">Кућни бродови: да</string>
<string name="poi_boat_motorboat_rental_no">Моторни бродови: не</string>
<string name="poi_boat_motorboat_rental_yes">Моторни бродови: да</string>
<string name="poi_animal_keeping_type_paddock">Тип: ограђен део</string>
<string name="poi_animal_keeping_sheep">Чување животиња: овца</string>
<string name="poi_animal_keeping_horse">Чување животиња: коњ</string>
<string name="poi_animal_keeping">Чување животиња</string>
<string name="poi_cliff">Литица</string>
<string name="poi_photo_studio">Фото студио</string>
<string name="poi_nutrition_supplements">Додаци исхрани</string>
<string name="poi_locomotive">Локомотива</string>
<string name="poi_e_cigarette">Продавница електронских цигарета</string>
<string name="poi_gambling_bingo">Бинго</string>
<string name="poi_gambling_betting">Клађење</string>
<string name="poi_gambling_slot_machines">Слот машине</string>
<string name="poi_gambling_pachinko">Пацинко</string>
<string name="poi_gambling_lottery">Лутрија</string>
<string name="poi_gambling_type">Врста</string>
<string name="poi_gambling">Место коцкања</string>
<string name="poi_lottery">Лото срећке</string>
<string name="poi_lighting">Опрема за расвету</string>
<string name="poi_locksmith">Браварска продавница</string>
<string name="poi_electrical">Електро продавница</string>
<string name="poi_party">Намирнице за забаву</string>
<string name="poi_feeding_place">Место за исхрану животиња</string>
<string name="poi_cuisine_cantonese">Кантонска</string>
<string name="poi_cuisine_pastel">Пастел</string>
<string name="poi_cuisine_sub">Суб</string>
<string name="poi_cuisine_sagardotegia">Сагардотегиа</string>
<string name="poi_cuisine_bubble_tea">Чај са мехурићима</string>
<string name="poi_cuisine_brasserie">Брасери</string>
<string name="poi_cuisine_empanada">Емпанада</string>
<string name="poi_cuisine_snack">Предјело</string>
<string name="poi_cuisine_piadina">Пиадина</string>
<string name="poi_cuisine_canteen">Кантина</string>
<string name="poi_cuisine_savory_pancakes">Слане палачинке</string>
<string name="poi_cuisine_frozen_yogurt">Замрзнути јогурт</string>
<string name="poi_cuisine_deli">Деликатеси</string>
<string name="poi_cuisine_fine_dining">Фина јела</string>
<string name="poi_cuisine_soba">Соба</string>
<string name="poi_cuisine_bagel">Багел</string>
<string name="poi_cuisine_heuriger">Хеуригер</string>
<string name="poi_cuisine_gastropub">Гастропуб</string>
<string name="poi_cuisine_beef_bowl">Гиудон</string>
<string name="poi_cuisine_fish_and_chips">Риба и помфрит</string>
<string name="poi_public_bookcase_type_metal_cabinet">Тип: метални орман</string>
<string name="poi_public_bookcase_type_wooden_cabinet">Тип: дрвени ормар</string>
<string name="poi_public_bookcase_type_reading_box">Тип: кутија за читање</string>
<string name="poi_public_bookcase_type_phone_box">Тип: телефонска кутија</string>
<string name="poi_public_bookcase">Јавна полица за књиге</string>
<string name="poi_xmas_url">Божић: вебсајт</string>
<string name="poi_xmas_location">Божић: локација</string>
<string name="poi_xmas_opening_hours">Божић: радно време</string>
<string name="poi_xmas_note">Божић: белешка</string>
<string name="poi_xmas_day_date">Божић: период догађаја</string>
<string name="poi_xmas_tree">Јелка</string>
<string name="poi_xmas_shop_christmas_tree">Продавница дрвећа</string>
<string name="poi_xmas_shop">Божићна радња</string>
<string name="poi_xmas_pyramid">Божићна пирамида</string>
<string name="poi_xmas_market">Божићно тржиште</string>
<string name="poi_xmas_event">Божићни догађај</string>
<string name="poi_xmas">Божић</string>
<string name="poi_wiki_link">Википедија</string>
<string name="poi_length">Дужина</string>
<string name="poi_toilets_disposal_bucket">Одлагање тоалета: кантом</string>
<string name="poi_toilets_disposal_chemical">Одлагање тоалета: хемијско</string>
<string name="poi_toilets_disposal_pitlatrine">Одлагање тоалета: питлатрине</string>
<string name="poi_toilets_disposal_flush">Одлагање тоалета: испирање</string>
<string name="poi_water_tank">Резервоар за воду</string>
<string name="poi_fire_operator">Противпожарни оператор</string>
<string name="poi_diplomatic_high_commission">Висока комисија</string>
<string name="poi_diplomatic_ambassadors_residence">Резиденција амбасадора</string>
<string name="poi_diplomatic_delegation">Делегација</string>
<string name="poi_diplomatic_permanent_mission">Стална мисија</string>
<string name="poi_diplomatic_honorary_consulate">Почасни конзулат</string>
<string name="poi_diplomatic_consulate_general">Генерални конзулат</string>
<string name="poi_diplomatic_consulate">Конзулат</string>
<string name="poi_traffic_mirror">Саобраћајно огледало</string>
<string name="poi_organic_only">Једино</string>
<string name="poi_organic_no">Не</string>
<string name="poi_organic_yes">Да</string>
<string name="poi_min_age">Минимална старост</string>
<string name="poi_mdf">Главни дистрибуциони оквир</string>
<string name="poi_aquaculture_mussels">Аквакултура: дагње</string>
<string name="poi_aquaculture_fish">Аквакултура: риба</string>
<string name="poi_aquaculture_shrimp">Аквакултура: шкампи</string>
<string name="poi_aquaculture">Аквакултура</string>
<string name="poi_passenger_information_display_no">Приказ информација путницима: не</string>
<string name="poi_passenger_information_display_yes">Приказ информација путницима: да</string>
<string name="poi_support_tower">Подршка: кула</string>
<string name="poi_support_roof">Подршка: кров</string>
<string name="poi_support_suspended">Подршка: носеће</string>
<string name="poi_support_ceiling">Подршка: плафон</string>
<string name="poi_support_billboard">Подршка: билбord</string>
<string name="poi_support_ground">Подршка: земља</string>
<string name="poi_support_pedestal">Подршка: постоље</string>
<string name="poi_support_tree">Подршка: дрво</string>
<string name="poi_support_wall_mounted">Подршка: зид</string>
<string name="poi_support_pole">Подршка: стуб</string>
<string name="poi_date_no">Приказ датума: не</string>
<string name="poi_date_yes">Приказ датума</string>
<string name="poi_hygrometer_no">Хигрометар: не</string>
<string name="poi_capacity_beds">Капацитет (кревета)</string>
<string name="poi_hygrometer_yes">ХигрометарHygrometer</string>
<string name="poi_thermometer_no">Термометар: не</string>
<string name="poi_thermometer_yes">Термометар</string>
<string name="poi_display_sundial_yes">Сунчани сат</string>
<string name="poi_display_digital_yes">Дигитални екран</string>
<string name="poi_display_analog_yes">Аналогни екран</string>
<string name="poi_pumping_station">Пумпна станица</string>
<string name="poi_display_no">Екран: не</string>
<string name="poi_display_yes">Екран: да</string>
<string name="poi_generator_output_biogas_yes">Излаз: биогас</string>
<string name="poi_generator_output_biogas">Излазна снага биогаса</string>
<string name="poi_generator_output_vacuum_yes">Излаз: вакуум</string>
<string name="poi_generator_output_compressed_air_yes">Излаз: компримовани ваздух</string>
<string name="poi_generator_output_cold_water_yes">Излаз: хладна вода</string>
<string name="poi_generator_output_hot_air_yes">Излаз: врућ ваздух</string>
<string name="poi_generator_output_steam_yes">Излаз: пара</string>
<string name="poi_generator_output_hot_water_yes">Излаз: топла вода</string>
<string name="poi_generator_output_electricity_no">Излаз (струја): не</string>
<string name="poi_generator_output_electricity_yes">Излаз: струја</string>
<string name="poi_voltage">Напон</string>
<string name="poi_greenhouse_horticulture">Стакленичка хортикултура</string>
<string name="poi_observatory_type_gravitational">Гравитациона</string>
<string name="poi_observatory_type_meteorological">Метеоролошка</string>
<string name="poi_observatory_type_espionage">Употреба: шпијунажа</string>
<string name="poi_telescope_usage_research">Употреба: истраживање</string>
<string name="poi_telescope_usage_espionage">Употреба: шпијунажа</string>
<string name="poi_telescope_usage_education">Употреба: образовање</string>
<string name="poi_telescope_spectrum">Спектар</string>
<string name="poi_telescope_diameter">Пречник</string>
<string name="poi_telescope_type_gamma">Гама</string>
<string name="poi_telescope_type_radio">Радио</string>
<string name="poi_telescope_type_optical">Оптички</string>
<string name="poi_telescope">Телескоп</string>
<string name="poi_payment_troika_no">Картица \"Тројка\" се не прихвата</string>
<string name="poi_payment_troika_yes">Тројка</string>
<string name="poi_pump_status_locked">Статус пумпе: закључана</string>
<string name="poi_pump_status_broken">Статус пумпе: поломљена</string>
<string name="poi_pump_status_ok">Статус пумпе: у реду</string>
<string name="poi_pump_style_historic">Стил пумпе: историјски</string>
<string name="poi_pump_style_modern">Стил пумпе: модеран</string>
<string name="poi_pump_type_gravity">Тип пумпе: гравитациона</string>
<string name="poi_pump_type_india_mk_2_3">Тип пумпе: Индија Мк II или III&gt;</string>
<string name="poi_pump_type_beam_pump">Тип пумпе: пумпа снопа</string>
<string name="poi_ventilation_shaft">Вентилациони отвор</string>
<string name="poi_valley_balka">Балка</string>
<string name="poi_aerodrome_type_private">Приватни</string>
<string name="poi_aerodrome_type_public">Јавни</string>
<string name="poi_aerodrome_type_regional">Регионални</string>
<string name="poi_aerodrome_type_international">Међународни</string>
<string name="poi_dispensing_no">Испорука: не</string>
<string name="poi_dispensing_yes">Да</string>
<string name="poi_crossing_supervision_camera">Надзор прелаза: камера</string>
<string name="poi_crossing_supervision_attendant">Надзор прелаза: полазник</string>
<string name="poi_crossing_supervision_no">Надзор прелаза: не</string>
<string name="poi_crossing_supervision_yes">Надзор прелаза</string>
<string name="poi_crossing_saltire_no">Прелазни салтир: не</string>
<string name="poi_crossing_saltire_yes">Прелазни салтир</string>
<string name="poi_crossing_on_demand_no">Прелаз на захтев: не</string>
<string name="poi_crossing_on_demand_yes">Прелаз на захтев</string>
<string name="poi_crossing_light_no">Прелазно светло: не</string>
<string name="poi_crossing_light_yes">Прелазно светло</string>
<string name="poi_crossing_bell_no">Прелазно звоно: не</string>
<string name="poi_crossing_bell_yes">Прелазно звоно</string>
<string name="poi_crossing_barrier_double_half">Прелазна баријера: дупло половична</string>
<string name="poi_crossing_barrier_half">Прелазна баријера: половична</string>
<string name="poi_crossing_barrier_full">Прелазна баријера: пуна</string>
<string name="poi_crossing_barrier_yes">Прелазна баријера</string>
<string name="poi_crossing_barrier_no">Прелазна баријера: не</string>
<string name="poi_crossing_activation_remote">Активирање прелаза: даљинско</string>
<string name="poi_crossing_activation_local">Активирање прелаза: локално</string>
<string name="poi_crossing_activation_automatic">Активирање прелаза: аутоматско</string>
<string name="poi_recreation_center">Рекреациони центар</string>
<string name="poi_summer_camp">Летњи камп</string>
<string name="poi_spoil_heap">Покварена гомила</string>
<string name="poi_wheelchair_designated">Одређено</string>
<string name="poi_salt_no">Со: не</string>
<string name="poi_salt_yes">Со</string>
<string name="poi_depth">Дубина</string>
<string name="poi_bicycle_parking_streetpod">Улично постоље</string>
<string name="poi_bicycle_parking_tree">Бицикл дрво</string>
<string name="poi_bicycle_parking_lockers">Ормарићи</string>
<string name="poi_military_checkpoint">Војни контролни пункт</string>
<string name="poi_street_cabinet_street_lighting">Тип кабинета: улична расвета</string>
<string name="poi_street_cabinet_water_management">Тип кабинета: водоводни</string>
<string name="poi_street_cabinet_waste">Тип кабинета: отпади</string>
<string name="poi_street_cabinet_postal_service">Тип кабинета: поштански</string>
<string name="poi_street_cabinet_gas">Тип кабинета: гасни</string>
<string name="poi_street_cabinet_cable_tv">Тип кабинета: кабловска телевизија</string>
<string name="poi_street_cabinet_telecom">Тип кабинета: телекомски</string>
<string name="poi_street_cabinet_power">Тип кабинета: енергетски</string>
<string name="poi_in_service_yes">У употреби: да</string>
<string name="poi_fire_hydrant_style_water_source_cistern">Цистерна</string>
<string name="poi_fire_hydrant_style_water_source_stream">Ток</string>
<string name="poi_fire_hydrant_style_water_source_pond">Понд</string>
<string name="poi_fire_hydrant_style_water_source_main">Главни</string>
<string name="poi_fire_hydrant_style_wsh">Стил хидранта: wsh</string>
<string name="poi_fire_hydrant_position_underground">Подземни</string>
<string name="poi_fire_hydrant_position_street">Улица</string>
<string name="poi_fire_hydrant_position_parking_lot">Паркинг</string>
<string name="poi_fire_hydrant_position_lane">Трака</string>
<string name="poi_fire_hydrant_position_green">Зелена</string>
<string name="poi_fire_hydrant_position_sidewalk">Тротоар</string>
<string name="poi_fire_hydrant_flow_capacity">Капацитет протока хидранта</string>
<string name="poi_fire_hydrant_count">Број хидранта</string>
<string name="poi_fire_hydrant_pressure">Притисак хидранта</string>
<string name="poi_fire_hydrant_diameter">Пречник хидранта</string>
<string name="poi_office_midwife">Канцеларија бабице</string>
<string name="poi_office_nursing_service">Услуга неге</string>
<string name="poi_office_psychologist">Канцеларија психолога</string>
<string name="poi_office_healer">Канцеларија исцелитеља</string>
<string name="poi_office_podologist">Канцеларија подолога</string>
<string name="poi_office_therapist">Канцеларија терапеута</string>
<string name="poi_office_physician">Лекарска ординација</string>
<string name="poi_disease_aids_no">СИДА: не</string>
<string name="poi_disease_aids_yes">СИДА: да</string>
<string name="poi_disease_autism_no">Аутизам: не</string>
<string name="poi_disease_autism_yes">Аутизам: да</string>
<string name="poi_disease_ebola_no">Ебола: не</string>
<string name="poi_disease_ebola_yes">Ебола: да</string>
<string name="poi_disease_malaria_no">Маларија: не</string>
<string name="poi_disease_malaria_yes">Маларија: да</string>
<string name="poi_home_visit_no">Кућна посета: не</string>
<string name="poi_home_visit_yes">Да</string>
<string name="poi_emergency_no">Хитна: не</string>
<string name="poi_emergency_yes">Хитна: да</string>
<string name="poi_counselling_no">Саветовање: не</string>
<string name="poi_counselling_yes">Саветовање: да</string>
<string name="poi_treat_inpatient_only">Болничке услуге: само</string>
<string name="poi_treat_inpatient_no">Болничке услуге: не</string>
<string name="poi_treat_inpatient_yes">Болничке услуге: да</string>
<string name="poi_provided_for_boy_no">Предвиђено за дечаке: не</string>
<string name="poi_provided_for_boy_yes">Предвиђено за дечаке: да</string>
<string name="poi_provided_for_man_no">Предвиђено за мушкарце: не</string>
<string name="poi_provided_for_man_yes">Предвиђено за мушкарце: да</string>
<string name="poi_provided_for_girl_no">Предвиђено за девојке: не</string>
<string name="poi_provided_for_girl_yes">Предвиђено за девојке: да</string>
<string name="poi_provided_for_senior_no">Предвиђено за старије особе: не</string>
<string name="poi_provided_for_senior_yes">Предвиђено за старије особе: да</string>
<string name="poi_provided_for_woman_no">Предвиђено за жене: не</string>
<string name="poi_provided_for_woman_yes">Предвиђено за жене: да</string>
<string name="poi_provided_for_adult_no">Предвиђено за одрасле: не</string>
<string name="poi_provided_for_adult_yes">Предвиђено за одрасле: да</string>
<string name="poi_provided_for_child_no">Предвиђено за децу: не</string>
<string name="poi_provided_for_child_yes">Предвиђено за децу: да</string>
<string name="poi_provided_for_toddler_no">Предвиђено за малишане: не</string>
<string name="poi_provided_for_toddler_yes">Предвиђено за малишане: да</string>
<string name="poi_provided_for_infant_no">Предвиђено за новорођенчад: не</string>
<string name="poi_provided_for_infant_yes">Предвиђено за новорођенчад: да</string>
<string name="poi_counselling_type_violence_no">Саветовање (насиље): не</string>
<string name="poi_counselling_type_violence_yes">Саветовање (насиље): да</string>
<string name="poi_counselling_type_victim_no">Саветовање (жртве): не</string>
<string name="poi_counselling_type_victim_yes">Саветовање (жртве): да</string>
<string name="poi_counselling_type_sexual_abuse_no">Саветовање (сексуално злостављање): не</string>
<string name="poi_counselling_type_sexual_abuse_yes">Саветовање (сексуално злостављање): да</string>
<string name="poi_counselling_type_sexual_no">Саветовање (сексуално): не</string>
<string name="poi_counselling_type_sexual_yes">Саветовање (сексуално): да</string>
<string name="poi_counselling_type_rehabilitation_no">Саветовање (рехабилитација): не</string>
<string name="poi_counselling_type_rehabilitation_yes">Саветовање (рехабилитација): да</string>
<string name="poi_counselling_type_nutrition_nfire_hydo">Саветовање (исхрана): не</string>
<string name="poi_counselling_type_nutrition_yes">Саветовање (исхрана): да</string>
<string name="poi_atoll">Атол</string>
<string name="poi_blood_donation">Донација крви</string>
<string name="poi_laboratory">Медицинска лабораторија</string>
<string name="poi_shop_wholesale">Велепродаја</string>
<string name="poi_craft_confectionery">Производња кондиторских производа</string>
<string name="poi_substation_field_gathering">Теренско прикупљање</string>
<string name="poi_substation_inspection_gauge">Уређај инспекције</string>
<string name="poi_substation_valve_group">Вентилски групна</string>
<string name="poi_substation_valve">Вентилска</string>
<string name="poi_substation_measurement">Мерна</string>
<string name="poi_substation_compression">Компресиона</string>
<string name="poi_substation_compensation">Компензациона</string>
<string name="poi_substation_converter">Претварачка</string>
<string name="poi_substation_traction">Вучна</string>
<string name="poi_substation_transition">Прелазна</string>
<string name="poi_substation_industrial">Индустријска</string>
<string name="poi_substation_minor_distribution">Мања дистрибуциона</string>
<string name="poi_substation_distribution">Дистрибуциона</string>
<string name="poi_substation_transmission">Преносна</string>
<string name="poi_pipeline_substation">Цевоводна подстаница</string>
<string name="poi_bulk_purchase_only">Једино</string>
<string name="poi_bulk_purchase_yes">Да</string>
<string name="poi_shoe_repair">Поправка обуће</string>
<string name="poi_hill">Брдо</string>
<string name="poi_license_classes">Лиценцни часови</string>
<string name="poi_ruins">Рушевине</string>
<string name="poi_hazard_minefield">Минско поље</string>
<string name="poi_hazard_flood">Опасност од поплаве</string>
<string name="poi_hazard_slippery_road">Клизав пут</string>
<string name="poi_hazard_avalanche">Опасност од лавине</string>
<string name="poi_hazard_erosion">Опасност од ерозије</string>
<string name="poi_hazard_nuclear">Нуклеарна опасност</string>
<string name="poi_hazard">Опасност</string>
<string name="poi_payment_contactless_no">Бесконтактно не прихвата се</string>
<string name="poi_payment_contactless_yes">Бесконтактно</string>
<string name="poi_outcrop">Нагла појава</string>
<string name="poi_appliance">Продавница апарата</string>
<string name="poi_end_date">Крајњи датум</string>
<string name="poi_rock">Стена</string>
<string name="poi_course">Курс</string>
<string name="poi_checkpoint_type_electronic">Електронски</string>
<string name="poi_checkpoint_type_needler">Инјектор</string>
<string name="poi_checkpoint_type_code">Код</string>
<string name="poi_checkpoint_type_stamp">Тачка уреза</string>
<string name="poi_checkpoint_hiking">Пешачка контролна тачка</string>
<string name="poi_glacier_slope">Просечан нагиб</string>
<string name="poi_glacier_ele_bottom">Најнижа тачка</string>
<string name="poi_glacier_ele_top">Највиша тачка</string>
<string name="poi_glacier_type_ice_tongue">Ледени језик</string>
<string name="poi_glacier_type_remnant">Остатак</string>
<string name="poi_glacier_type_shelf">Полица</string>
<string name="poi_glacier_type_rock">Стена</string>
<string name="poi_glacier_type_icefall">Ледопад</string>
<string name="poi_glacier_type_hanging">Висећи</string>
<string name="poi_glacier_type_mountain">Планински</string>
<string name="poi_glacier_type_tidewater">Плимски</string>
<string name="poi_glacier_type_outlet">Излазни</string>
<string name="poi_glacier_type_valley">Долина</string>
<string name="poi_glacier_type_plateau">Плато</string>
<string name="poi_glacier_type_icefield">Ледено поље</string>
<string name="poi_glacier_type_icecap">Ледена капа</string>
<string name="poi_via_ferrata_scale">Тежина</string>
<string name="poi_cable_number">Број кабла</string>
<string name="poi_via_ferrata">Виа ферата</string>
<string name="poi_climbing_adventure">Авантура пењања</string>
<string name="poi_aerialway_zip_line">Зип линија</string>
<string name="poi_service_vehicle_tyres_yes">Гуме</string>
<string name="poi_service_vehicle_insurance_yes">Осигурање</string>
<string name="poi_service_vehicle_motor_yes">Мотор</string>
<string name="poi_service_vehicle_transmission_repair_yes">Поправка трансмисије</string>
<string name="poi_service_vehicle_alignment_yes">Реглажа</string>
<string name="poi_service_vehicle_muffler_yes">Пригушивач</string>
<string name="poi_service_vehicle_truck_repair_yes">Поправка камиона</string>
<string name="poi_service_vehicle_glass_yes">Стакло</string>
<string name="poi_service_vehicle_wheels_yes">Точкови</string>
<string name="poi_service_vehicle_electrical_yes">Електрика</string>
<string name="poi_service_vehicle_body_repair_yes">Поправка каросерије</string>
<string name="poi_service_vehicle_air_conditioning_yes">Клима уређај</string>
<string name="poi_service_vehicle_batteries_yes">Батерије</string>
<string name="poi_service_vehicle_car_parts_yes">Ауто делови</string>
<string name="poi_service_vehicle_diagnostics_yes">Дијагностика</string>
<string name="poi_service_vehicle_new_car_sales_yes">Продаја нових аутомобила</string>
<string name="poi_service_vehicle_brakes_yes">Кочнице</string>
<string name="poi_service_vehicle_used_car_sales_yes">Продаја половних аутомобила</string>
<string name="poi_service_vehicle_oil_change_yes">Промена уља</string>
<string name="poi_service_vehicle_car_repair_yes">Ауто сервис</string>
<string name="poi_adult_gaming_centre">Играчки центар за одрасле</string>
<string name="poi_amusement_arcade">Забавна аркадна игра</string>
<string name="poi_water_utility">Канцеларија за водоснабдевање</string>
<string name="poi_outpost">Место испоруке продавнице</string>
<string name="poi_whitewater_rapid_name">Име речних брзака</string>
<string name="poi_pottery">Керамика</string>
<string name="poi_flooring">Продавница подова</string>
<string name="poi_socket_schuko_output_low">Низак</string>
<string name="poi_socket_schuko_output_medium">Средњи</string>
<string name="poi_socket_schuko_output_high">Висок</string>
<string name="poi_socket_cee_blue_output_low">Низак</string>
<string name="poi_socket_cee_blue_output_medium">Средњи</string>
<string name="poi_socket_cee_blue_output_high">Висок</string>
<string name="poi_socket_type3_output_low">Низак</string>
<string name="poi_socket_type3_output_medium">Средњи</string>
<string name="poi_socket_type3_output_high">Висок</string>
<string name="poi_socket_type2_combo_output_low">Низак</string>
<string name="poi_socket_type2_combo_output_medium">Средњи</string>
<string name="poi_socket_type2_combo_output_high">Висок</string>
<string name="poi_socket_type2_output_low">Низак</string>
<string name="poi_socket_type2_output_medium">Средњи</string>
<string name="poi_socket_type2_output_high">Висок</string>
<string name="poi_socket_chademo_output_low">Низак</string>
<string name="poi_socket_chademo_output_medium">Средњи</string>
<string name="poi_socket_chademo_output_high">Висок</string>
<string name="poi_socket_as3112_yes">АС / НЗС 3112</string>
<string name="poi_socket_bs1363_yes">БС 1363</string>
<string name="poi_socket_schuko_yes">Шуко</string>
<string name="poi_socket_nema_14_50_yes">НЕМА 14-30</string>
<string name="poi_socket_nema_14_30_yes">НЕМА 14-30</string>
<string name="poi_socket_nema_5_20_yes">НЕМА 5-20</string>
<string name="poi_socket_nema_5_15_yes">НЕМА 5-15Р</string>
<string name="poi_socket_tesla_roadster_yes">Тесла Роудстер</string>
<string name="poi_socket_tesla_supercharger_yes">Тесла Суперпуњач</string>
<string name="poi_socket_tesla_standard_yes">Тесла стандард</string>
<string name="poi_socket_chademo_yes">CHAdeMO</string>
<string name="poi_socket_type3_yes">Тип 3</string>
<string name="poi_socket_type2_combo_yes">Тип 2 комбо</string>
<string name="poi_socket_type2_yes">Тип 2</string>
<string name="poi_socket_type1_combo_yes">Тип 1 комбо</string>
<string name="poi_socket_type1_yes">Тип 1</string>
<string name="poi_socket_cee_red_125a_yes">ЦЕЕ црвена 125А</string>
<string name="poi_socket_cee_red_64a_yes">ЦЕЕ црвена 64А</string>
<string name="poi_socket_cee_red_32a_yes">ЦЕЕ црвена 32А</string>
<string name="poi_socket_cee_red_16a_yes">ЦЕЕ црвена 16А</string>
<string name="poi_socket_cee_blue_yes">ЦЕЕ плава</string>
<string name="poi_cannabis">Продавница канабиса</string>
<string name="poi_shop_boat">Продавница чамаца</string>
<string name="poi_shop_fireplace">Продавница камина</string>
<string name="poi_frozen_food">Замрзнута храна</string>
<string name="poi_meadow_pasture">Тип: пашњак</string>
<string name="poi_meadow_perpetual">Тип: трајна</string>
<string name="poi_meadow_transitional">Тип: прелазна</string>
<string name="poi_diameter_crown">Пречник круне</string>
<string name="poi_circumference">Обим</string>
<string name="poi_climbing_routes">Пењачке руте</string>
<string name="poi_climbing_summit_log_no">Дневник врха пењања: не</string>
<string name="poi_climbing_summit_log_yes">Дневник врха пењања: да</string>
<string name="poi_climbing_orientation_nw">Оријентација зида: СЗ</string>
<string name="poi_climbing_orientation_w">Оријентација зида: З</string>
<string name="poi_climbing_orientation_sw">Оријентација зида: ЈЗ</string>
<string name="poi_climbing_orientation_s">Оријентација зида: Ј</string>
<string name="poi_climbing_orientation_se">Оријентација зида: ЈИ</string>
<string name="poi_climbing_orientation_e">Оријентација зида: И</string>
<string name="poi_climbing_orientation_ne">Оријентација зида: СИ</string>
<string name="poi_climbing_orientation_n">Оријентација зида: С</string>
<string name="poi_climbing_bolted_no">Фиксна сидра: не</string>
<string name="poi_climbing_bolted_yes">Фиксна сидра: да</string>
<string name="poi_climbing_quality_fragile">Квалитет пењања: крх</string>
<string name="poi_climbing_quality_solid">Квалитет пењања: чврст</string>
<string name="poi_climbing_rock_porphyry">Стена за пењање: порфир</string>
<string name="poi_climbing_rock_gneiss">Стена за пењање: гнеисс</string>
<string name="poi_climbing_rock_quartzite">Стена за пењање: кварцит</string>
<string name="poi_climbing_rock_sandstone">Стена за пењање: пешчењак</string>
<string name="poi_climbing_rock_granite">Пењање на камен: гранит</string>
<string name="poi_climbing_rock_limestone">Стена за пењање: кречњак</string>
<string name="poi_climbing_length_max">Максимална дужина пењања</string>
<string name="poi_climbing_length_min">Минимална дужина пењања</string>
<string name="poi_climbing_length">Дужина пењања</string>
<string name="poi_climbing_deepwater_no">Соло у дубљим водама: не</string>
<string name="poi_climbing_deepwater_yes">Соло у дубљим водама: да</string>
<string name="poi_climbing_mixed_no">Мешовито: не</string>
<string name="poi_climbing_mixed_yes">Мешовито: да</string>
<string name="poi_climbing_ice_no">Лед: не</string>
<string name="poi_climbing_ice_yes">Лед: да</string>
<string name="poi_climbing_multipitch_no">Руте на више тачака: не</string>
<string name="poi_climbing_multipitch_yes">Руте са више тачака: да</string>
<string name="poi_climbing_trad_no">Традиционално: не</string>
<string name="poi_climbing_trad_yes">Традиционално: да</string>
<string name="poi_climbing_toprope_no">Горње уже: не</string>
<string name="poi_climbing_toprope_yes">Горње уже: да</string>
<string name="poi_climbing_boulder_no">Балванирање: не</string>
<string name="poi_climbing_boulder_yes">Балванирање: да</string>
<string name="poi_climbing_sport_no">Спорт: не</string>
<string name="poi_climbing_sport_yes">Спорт: да</string>
<string name="poi_ref_post">Поштански број</string>
<string name="poi_money_transfer">Трансфер новца</string>
<string name="poi_payment_centre">Центар плаћања</string>
<string name="poi_post_flats">Стан</string>
<string name="poi_post_housenumber">Кућни број</string>
<string name="poi_post_street">Улица</string>
<string name="poi_letter_box">Кутија писма</string>
<string name="poi_depot">Депо</string>
<string name="poi_charging_station">Станица пуњење</string>
<string name="poi_map_size_region">Величина мапе: регија</string>
<string name="poi_map_size_city">Величина мапе: град</string>
<string name="poi_map_size_site">Величина мапе: сајт</string>
<string name="poi_map_type_toposcope">Тип мапе: топоскопска</string>
<string name="poi_map_type_scheme">Тип мапе: шема</string>
<string name="poi_map_type_street">Врста мапе: улична</string>
<string name="poi_map_type_topo">Врста мапе: топо</string>
<string name="poi_charging_station_output">Излаз станице пуњења</string>
<string name="poi_amperage">Ампеража</string>
<string name="poi_parking_fee">Цена паркирања</string>
<string name="poi_parking_fee_no">Цена паркирања: не</string>
<string name="poi_parking_fee_yes">Цена паркирања: да</string>
<string name="poi_truck_no">Камион: не</string>
<string name="poi_truck_yes">Камион: да</string>
<string name="poi_scooter_no">Скутер: не</string>
<string name="poi_scooter_yes">Скутер: да</string>
<string name="poi_bicycle_no">Бицикл: не</string>
<string name="poi_bicycle_yes">Бицикл: да</string>
<string name="poi_car_no">Аутомобил: не</string>
<string name="poi_car_yes">Аутомобил: да</string>
<string name="poi_socket_as3112_output">Утичница: АС / НЗС 3112: излаз</string>
<string name="poi_socket_as3112_current">Утичница: АС / НЗС 3112: струја</string>
<string name="poi_socket_as3112">Утичница: АС / НЗС 3112</string>
<string name="poi_socket_bs1363_output">Утичница: БС 1363: излаз</string>
<string name="poi_socket_bs1363_current">Утичница: БС 1363: струја</string>
<string name="poi_socket_bs1363">Утичница: БС 1363</string>
<string name="poi_socket_schuko_output">Утичница: Шуко: излаз</string>
<string name="poi_socket_schuko_current">Утичница: Шуко: струја</string>
<string name="poi_socket_schuko">Утичница: Шуко</string>
<string name="poi_socket_nema_14_50_output">Утичница: НЕМА 14-50: излаз</string>
<string name="poi_socket_nema_14_50_current">Утичница: НЕМА 14-50: струја</string>
<string name="poi_socket_nema_14_50">Утичница: НЕМА 14-50</string>
<string name="poi_socket_nema_14_30_output">Утичница: НЕМА 14-30: излаз</string>
<string name="poi_socket_nema_14_30_current">Утичница: НЕМА 14-30: струја</string>
<string name="poi_socket_nema_14_30">Утичница: НЕМА 14-30</string>
<string name="poi_socket_nema_5_20_output">Утичница: НЕМА 5-20: излаз</string>
<string name="poi_socket_nema_5_20_current">Утичница: НЕМА 5-20: струја</string>
<string name="poi_socket_nema_5_20">Утичница: НЕМА 5-20</string>
<string name="poi_socket_nema_5_15_output">Утичница: НЕМА 5-15Р: излаз</string>
<string name="poi_socket_nema_5_15_current">Утичница: НЕМА 5-15Р: струја</string>
<string name="poi_socket_nema_5_15">Утичница: НЕМА 5-15Р</string>
<string name="poi_socket_tesla_roadster_output">Утичница: Тесла Роудстер: излаз</string>
<string name="poi_socket_tesla_roadster_current">Утичница: Тесла Роудстер: струја</string>
<string name="poi_socket_tesla_roadster">Утичница: Тесла Роудстер</string>
<string name="poi_socket_tesla_supercharger_output">Утичница: Тесла суперпуњач: излаз</string>
<string name="poi_socket_tesla_supercharger_current">Утичница: Тесла суперпуњач: струја</string>
<string name="poi_socket_tesla_supercharger">Утичница: Тесла суперпуњач</string>
<string name="poi_socket_tesla_standard_output">Утичница: Тесла стандард: излаз</string>
<string name="poi_socket_tesla_standard_current">Утичница: Тесла стандард: струја</string>
<string name="poi_socket_tesla_standard">Утичница: Тесла стандард</string>
<string name="poi_socket_chademo_output">Утичница: CHAdeMO: излаз</string>
<string name="poi_socket_chademo_current">Утичница: CHAdeMO: струја</string>
<string name="poi_socket_chademo">Утичница: CHAdeMO</string>
<string name="poi_socket_type3_output">Утичница: Тип 3: излаз</string>
<string name="poi_socket_type3_current">Утичница: Тип 3: струја</string>
<string name="poi_socket_type3">Утичница: Тип 3</string>
<string name="poi_socket_type2_combo_output">Утичница: Тип 2 комбо: излаз</string>
<string name="poi_socket_type2_combo_current">Утичница: Тип 2 комбо: струја</string>
<string name="poi_socket_type2_combo">Утичница: Тип 2 комбо</string>
<string name="poi_socket_type2_output">Утичница: Тип 2: излаз</string>
<string name="poi_socket_type2_current">Утичница: Тип 2: струја</string>
<string name="poi_socket_type2">Утичница: Тип 2</string>
<string name="poi_socket_type1_combo_output">Утичница: Тип 1 комбо: излаз</string>
<string name="poi_socket_type1_combo_current">Утичница: Тип 1 комбо: струја</string>
<string name="poi_socket_type1_combo">Утичница: Тип 1 комбо</string>
<string name="poi_socket_type1_output">Соцкет: Тип 1: излаз</string>
<string name="poi_socket_type1_current">Утичница: Тип 1: струја</string>
<string name="poi_socket_type1">Утичница: Тип 1</string>
<string name="poi_socket_cee_red_125a_output">Утичница: ЦЕЕ црвена 125А: излаз</string>
<string name="poi_socket_cee_red_125a_current">Утичница: ЦЕЕ црвена 125А: струја</string>
<string name="poi_socket_cee_red_125a">Утичница: ЦЕЕ црвена 125А</string>
<string name="poi_socket_cee_red_64a_output">Утичница: ЦЕЕ црвена 64А: излаз</string>
<string name="poi_socket_cee_red_64a_current">Утичница: ЦЕЕ црвена 64А: струја</string>
<string name="poi_socket_cee_red_64a">Утичница: ЦЕЕ црвена 64А</string>
<string name="poi_socket_cee_red_32a_output">Утичница: ЦЕЕ црвена 32А: излаз</string>
<string name="poi_socket_cee_red_32a_current">Утичница: ЦЕЕ црвена 32А: струја</string>
<string name="poi_socket_cee_red_32a">Утичница: ЦЕЕ црвена 32А</string>
<string name="poi_socket_cee_red_16a_output">Утичница: ЦЕЕ црвена 16А: излаз</string>
<string name="poi_socket_cee_red_16a_current">Утичница: ЦЕЕ црвена 16А: струја</string>
<string name="poi_socket_cee_red_16a">Утичница: ЦЕЕ црвена 16А</string>
<string name="poi_socket_cee_blue_output">Утичница: ЦЕЕ плава: излаз</string>
<string name="poi_socket_cee_blue_current">Утичница: ЦЕЕ плава: струја</string>
<string name="poi_socket_cee_blue">Утичница: ЦЕЕ плава</string>
<string name="poi_water_supply_bottled_water">Флаширана вода</string>
<string name="poi_water_supply_water_tank">Резервоар за воду</string>
<string name="poi_water_supply_water_trucking">Превоз воде</string>
<string name="poi_water_supply_borehole">Бушотина</string>
<string name="poi_water_supply_pump">Пумпа</string>
<string name="poi_water_supply_running_water">Текућа вода</string>
<string name="poi_water_supply_pipeline">Цевовод</string>
<string name="poi_water_supply_water_well">Бунар</string>
<string name="poi_water_purification_aquatabs">Акватаблете</string>
<string name="poi_water_purification_reverse_osmosis">Обрнута осмоза</string>
<string name="poi_water_purification_chlorine">Хлор</string>
<string name="poi_water_purification_none">Нема</string>
<string name="poi_water_place_durability_emergency">Трајност воденог места: хитно</string>
<string name="poi_water_place_durability_durable">Трајност воденог места: издржљива</string>
<string name="poi_operational_status_needs_maintenance">Потребно одржавање</string>
<string name="poi_operational_status_broken">Прекинуто</string>
<string name="poi_operational_status_restricted">Ограничен</string>
<string name="poi_location_kiosk">Локација: киоск</string>
<string name="poi_boat_rental">Изнајмљивање чамаца</string>
<string name="poi_beds">Кревети</string>
<string name="poi_reservation_members_only">Резервација: само чланови</string>
<string name="poi_reservation_no">Резервација: не</string>
<string name="poi_reservation_yes">Резервација: да</string>
<string name="poi_reservation_recommended">Резервације: препоручује се</string>
<string name="poi_reservation_required">Резервација: обавезна</string>
<string name="poi_winter_room_no">Зимска соба: не</string>
<string name="poi_winter_room_yes">Зимска соба: да</string>
<string name="poi_direction_all">Правац: сви</string>
<string name="poi_direction_exit">Правац: излаз</string>
<string name="poi_direction_entrance">Правац: улаз</string>
<string name="poi_direction_down">Правац: надоле</string>
<string name="poi_direction_up">Правац: нагоре</string>
<string name="poi_direction_anticlockwise">Правац: супротно од казаљке на сату</string>
<string name="poi_direction_clockwise">Правац: у смеру казаљке на сату</string>
<string name="poi_direction_backward">Правац: уназад</string>
<string name="poi_direction_forward">Правац: напред</string>
<string name="poi_direction_nnw">Правац: север-северозапад</string>
<string name="poi_direction_nw">Правац: северозапад</string>
<string name="poi_direction_wnw">Правац: запад-северозапад</string>
<string name="poi_direction_w">Правац: запад</string>
<string name="poi_direction_wsw">Правац: запад-југозапад</string>
<string name="poi_direction_sw">Правац: југозапад</string>
<string name="poi_direction_ssw">Правац: југ-југозапад</string>
<string name="poi_direction_s">Правац: југ</string>
<string name="poi_direction_sse">Правац: југ-југоисток</string>
<string name="poi_direction_se">Правац: југоисток</string>
<string name="poi_direction_ese">Правац: исток-југоисток</string>
<string name="poi_direction_e">Правац: исток</string>
<string name="poi_direction_ene">Правац: исток-североисток</string>
<string name="poi_direction_ne">Правац: североисток</string>
<string name="poi_direction_nne">Правац: север-североисток</string>
<string name="poi_direction_n">Правац: север</string>
<string name="poi_spaceport">Свемирска лука</string>
<string name="poi_animal_shelter_purpose_release_no">Пуштање: не</string>
<string name="poi_animal_shelter_purpose_release_yes">Пуштање: да</string>
<string name="poi_animal_shelter_purpose_adoption_no">Усвајање: не</string>
<string name="poi_animal_shelter_purpose_adoption_yes">Усвајање: да</string>
<string name="poi_owner">Власник</string>
<string name="poi_motorcycle_type_standard">Стандардни</string>
<string name="poi_motorcycle_type_dualsport">Дуалспорт</string>
<string name="poi_motorcycle_type_offroad">Ван пута</string>
<string name="poi_motorcycle_type_chopper">Чопер</string>
<string name="poi_motorcycle_type_sportbike">Спортски моторцикл</string>
<string name="poi_motorcycle_type_scooter">Скутер</string>
<string name="poi_motorcycle_clothes_no">Мото одећа: не</string>
<string name="poi_motorcycle_clothes_yes">Мото одећа</string>
<string name="poi_motorcycle_tyres_no">Гуме: не</string>
<string name="poi_motorcycle_tyres_yes">Гуме</string>
<string name="poi_motorcycle_parts_no">Делови: не</string>
<string name="poi_motorcycle_parts_yes">Делови</string>
<string name="poi_motorcycle_repair_no">Поправака: не</string>
<string name="poi_motorcycle_repair_yes">Поправка</string>
<string name="poi_motorcycle_rental_no">Изнајмљивање: не</string>
<string name="poi_motorcycle_rental_yes">Изнајмљивање</string>
<string name="poi_park_ride_yes">Да</string>
<string name="poi_denotation_landmark">Ознака земље</string>
<string name="poi_denotation_natural_monument">Природни споменик</string>
<string name="poi_childcare">Брига о деци</string>
<string name="poi_toll_gantry">Путарина</string>
</resources>

View file

@ -357,7 +357,6 @@
<string name="context_menu_item_open_note">Отвори белешку ОСМ-а</string>
<string name="osm_edit_reopened_note">Поново отворена белешка ОСМ-а</string>
<string name="osm_edit_commented_note">Искоментарисана белешка ОСМ-а</string>
<string name="osm_edit_removed_note">Избрисана белешка ОСМ-а</string>
<string name="osn_bug_name">Белешка ОСМ-а</string>
<string name="osn_add_dialog_title">Направи белешку</string>
<string name="osn_comment_dialog_title">Додај коментар</string>
@ -3812,4 +3811,10 @@
<string name="quick_action_remove_next_destination_descr">Тренутна одредишна тачка биће уклоњена. Ако је она одредишна, стопираће се навигација.</string>
<string name="search_download_wikipedia_maps">Преузмите мапе Википедије</string>
<string name="plugin_wikipedia_description">Информације о тачкама од интереса потражите од Википедије. То је ваш џепни ванмрежни водич - само омогућите додатак Википедиа и уживајте у чланцима о објектима око вас.</string>
<string name="app_mode_enduro_motorcycle">Ендуро скутер</string>
<string name="app_mode_motor_scooter">Скутер</string>
<string name="app_mode_wheelchair">Инвалидска колица</string>
<string name="app_mode_wheelchair_forward">Инвалидска колица напред</string>
<string name="app_mode_go_cart">Корпа</string>
<string name="osm_edit_closed_note">Затворена ОСМ белешка</string>
</resources>

View file

@ -1640,7 +1640,7 @@
<string name="poi_drive_in_yes">Ja</string>
<string name="poi_drive_in_no">Drive-in: nej</string>
<string name="poi_drive_through_yes">Ja</string>
<string name="poi_drive_through_no">Drive-through: ja</string>
<string name="poi_drive_through_no">Drive-through: nej</string>
<string name="poi_brewery_additional">Bryggerinamn</string>
<string name="poi_microbrewery_yes">Ja</string>
<string name="poi_microbrewery_no">Inget mikrobryggeri</string>

View file

@ -1711,7 +1711,6 @@ Long %2$s</string>
<string name="osm_edit_deleted_poi">Raderat OSM POI</string>
<string name="context_menu_item_open_note">Öppna OSM-anteckning</string>
<string name="osm_edit_commented_note">Kommenterat OSM-anteckning</string>
<string name="osm_edit_removed_note">Tagit bort OSM-anteckning</string>
<string name="osm_edit_created_note">Skapat OSM-anteckning</string>
<string name="osn_bug_name">OSM-anteckning</string>
<string name="osn_add_dialog_title">Skapa anteckning</string>

View file

@ -1476,7 +1476,7 @@
<string name="poi_piste_difficulty_freeride">Serbest sürüş</string>
<string name="poi_piste_grooming_classic">Klasik</string>
<string name="poi_piste_grooming_classic_skating">Klasik+paten</string>
<string name="poi_piste_grooming_scooter">Scooter</string>
<string name="poi_piste_grooming_scooter">Mobilet</string>
<string name="poi_piste_grooming_skating">Paten</string>
<string name="poi_piste_grooming_no">Hayır</string>
<string name="poi_piste_grooming_mogul">Tümsek</string>
@ -2394,4 +2394,7 @@
<string name="poi_url">URL</string>
<string name="poi_traffic_signals_arrow">Ok</string>
<string name="poi_traffic_signals_vibration">Titreşim</string>
<string name="poi_scooter_no">Mobilet: hayır</string>
<string name="poi_scooter_yes">Mobilet: evet</string>
<string name="poi_motorcycle_type_scooter">Mobilet</string>
</resources>

View file

@ -975,7 +975,7 @@
<string name="copying_osmand_one_file_descr">(%s) dosyası yeni hedefine kopyalanıyor…</string>
<string name="copying_osmand_files_descr">OsmAnd veri dosyaları yeni hedef (%s) \'e kopyalanıyor…</string>
<string name="guidance_preferences_descr">Navigasyon tercihleri</string>
<string name="routing_preferences_descr">Güzergah seçenekleri</string>
<string name="routing_preferences_descr">Yönlendirme tercihleri</string>
<string name="speech_rate_descr">Metinden konuşmaya konuşma hızını belirtin.</string>
<string name="speech_rate">Hoparlör yerleşimi</string>
<string name="complex_route_calculation_failed">Hızlı rota hesaplama ( $1%s) başarısız oldu , hesaplama yavaş çare .</string>
@ -1273,7 +1273,6 @@
<string name="context_menu_item_open_note">OSM Not\'u aç</string>
<string name="osm_edit_reopened_note">Yeniden açılmış OSM Notu</string>
<string name="osm_edit_commented_note">Yorum yazılmış OSM Notu</string>
<string name="osm_edit_removed_note">Silinmiş OSM Notu</string>
<string name="osm_edit_created_note">Oluşturulmuş OSM Notu</string>
<string name="osn_bug_name">OSM Notu</string>
<string name="osn_add_dialog_title">Not oluştur</string>
@ -2501,7 +2500,7 @@
<string name="coord_input_add_point">Nokta ekle</string>
<string name="hide_full_description">ıklamayı gizle</string>
<string name="show_full_description">ıklamayı göster</string>
<string name="move_maps">Haritaları taşı</string>
<string name="move_maps">Haritaları hareket ettir</string>
<string name="public_transport_try_ped">Yürüme navigasyonunu dene.</string>
<string name="public_transport_try_change_settings">Ayarları değiştirmeyi deneyin.</string>
<string name="shared_string_restore">Restore et</string>
@ -2582,7 +2581,7 @@
<string name="new_profile">Yeni profil</string>
<string name="shared_string_crash">Çökme</string>
<string name="app_mode_personal_transporter">Kişisel taşıyıcı</string>
<string name="app_mode_scooter">Scooter</string>
<string name="app_mode_scooter">Mobilet</string>
<string name="day">Gün</string>
<string name="days_2_4">Günler</string>
<string name="days_5">Günler</string>
@ -3371,7 +3370,7 @@
<string name="select_color">Renk seç</string>
<string name="edit_profiles_descr">OsmAnd öntanımlı profilleri silinemez, ancak (önceki ekranda) devre dışı bırakılabilir veya en altta sıralanabilir.</string>
<string name="edit_profiles">Profilleri düzenle</string>
<string name="select_nav_profile_dialog_message">\'Navigasyon türü\' rotaların nasıl hesaplandığını yönetir.</string>
<string name="select_nav_profile_dialog_message">\'Navigasyon türü\' güzergahın nasıl hesaplandığını yönetir.</string>
<string name="profile_appearance">Profil görünümü</string>
<string name="choose_icon_color_name">Simge, renk ve isim</string>
<string name="reorder_profiles">Profil listesini düzenle</string>
@ -3770,4 +3769,10 @@
<string name="use_volume_buttons_as_zoom">Yakınlaştırma için ses seviyesi düğmeleri</string>
<string name="search_download_wikipedia_maps">Wikipedia haritalarını indir</string>
<string name="plugin_wikipedia_description">Wikipedia\'dan ilgi çekici yerler hakkında bilgi alın. Bu sizin çevrim dışı cep rehberinizdir - sadece Wikipedia eklentisini etkinleştirin ve etrafınızdaki nesneler hakkında makalelerin tadını çıkarın.</string>
<string name="app_mode_enduro_motorcycle">Enduro motosiklet</string>
<string name="app_mode_motor_scooter">Küçük motosiklet</string>
<string name="app_mode_wheelchair">Tekerlekli sandalye</string>
<string name="app_mode_wheelchair_forward">İleri tekerlekli sandalye</string>
<string name="app_mode_go_cart">Go-kart</string>
<string name="osm_edit_closed_note">Kapatılmış OSM Notu</string>
</resources>

View file

@ -1127,7 +1127,7 @@
<string name="shared_string_waypoint">Маршрутна точка</string>
<string name="selected_gpx_info_show">"
\n
\nДовго утримуйте, щоб побачити на мапі"</string>
\nУтримуйте, щоб побачити на мапі"</string>
<string name="delay_navigation_start">Запускати навігацію автоматично</string>
<string name="shared_string_selected_lowercase">виділені</string>
<string name="gpx_info_subtracks">Під-треки: %1$s</string>
@ -1639,7 +1639,6 @@
<string name="context_menu_item_open_note">Відкрити OSM-нотатку</string>
<string name="osm_edit_reopened_note">Відкрити заново OSM-нотатку</string>
<string name="osm_edit_commented_note">До OSM-нотатки додано коментар</string>
<string name="osm_edit_removed_note">Вилучено OSM-нотатку</string>
<string name="osm_edit_created_note">Створено OSM-нотатку</string>
<string name="osn_bug_name">OSM-нотатка</string>
<string name="osn_add_dialog_title">Створити нотатку</string>
@ -3125,7 +3124,7 @@
<string name="base_profile_descr_pedestrian">Прогулянки, походи, біг</string>
<string name="base_profile_descr_public_transport">Види громадського транспорту</string>
<string name="base_profile_descr_boat">Корабель, веслування, вітрильний спорт</string>
<string name="base_profile_descr_aircraft">Літак, аероглайдинг</string>
<string name="base_profile_descr_aircraft">Літак, планер</string>
<string name="routing_profile_geocoding">Геокодування</string>
<string name="routing_profile_straightline">Пряма лінія</string>
<string name="routing_profile_broutrer">BRouter (автономний)</string>
@ -3408,10 +3407,10 @@
<string name="select_map_icon">Позиція значка в спокої</string>
<string name="delete_profiles_descr">Натиснення \"Застосувати\" видалить профілі назавжди.</string>
<string name="master_profile">Основний профіль</string>
<string name="select_color">Оберіть колір</string>
<string name="select_color">Виберіть колір</string>
<string name="edit_profiles_descr">Усталені профілі OsmAnd не видалено, проте вимкнуто (на попередньому екрані) чи відпорядковано донизу.</string>
<string name="edit_profiles">Редагувати профілі</string>
<string name="select_nav_profile_dialog_message">\"Вид навігації\" визначає спосіб обчислення маршрутів.</string>
<string name="select_nav_profile_dialog_message">\'Тип навігації\' визначає спосіб обчислення маршрутів.</string>
<string name="profile_appearance">Зовнішній вигляд профілю</string>
<string name="choose_icon_color_name">Значок, колір та назва</string>
<string name="reorder_profiles">Редагувати список профілів</string>
@ -3804,4 +3803,11 @@
<string name="app_mode_inline_skates">Роликові ковзани</string>
<string name="use_volume_buttons_as_zoom_descr">Увімкнути для зміни масштабу мапи кнопками гучності пристрою.</string>
<string name="use_volume_buttons_as_zoom">Масштабування кнопками гучності</string>
<string name="lenght_limit_description">Вкажіть довжину вашого автомобіля, для довгих транспортних засобів можуть застосовуватися деякі обмеження на маршрутах.</string>
<string name="quick_action_remove_next_destination">Видалити наступну точку призначення</string>
<string name="please_provide_point_name_error">Вкажіть назву пункту</string>
<string name="quick_action_remove_next_destination_descr">Поточну точку призначення на маршруті буде видалено. Якщо це буде місце призначення, навігація припиниться.</string>
<string name="search_download_wikipedia_maps">Завантажити мапи Вікіпедії</string>
<string name="plugin_wikipedia_description">Отримайте відомості про визначні місця у Вікіпедії. Це ваш кишеньковий посібник без мережі - просто ввімкніть втулок \"Вікіпедія\" і насолоджуйтесь статтями про об\'єкти навколо вас.</string>
<string name="app_mode_motor_scooter">Моторолер</string>
</resources>

View file

@ -911,7 +911,6 @@
<string name="context_menu_item_open_note">打开 OSM 注解</string>
<string name="osm_edit_reopened_note">重新打开 OSM 注解</string>
<string name="osm_edit_commented_note">已评论 OSM 注解</string>
<string name="osm_edit_removed_note">已删除 OSM 注解</string>
<string name="osm_edit_created_note">已创建 OSM 注解</string>
<string name="osn_bug_name">OSM 注解</string>
<string name="osn_add_dialog_title">创建注解</string>

View file

@ -1764,7 +1764,6 @@
<string name="context_menu_item_open_note">開啟 OSM 註解</string>
<string name="osm_edit_reopened_note">重新開啟 OSM 註解</string>
<string name="osm_edit_commented_note">已評論 OSM 註解</string>
<string name="osm_edit_removed_note">已刪除 OSM 註解</string>
<string name="osm_edit_created_note">建立 OSM 的註解</string>
<string name="osn_bug_name">OSM 註解</string>
<string name="osn_add_dialog_title">建立註解</string>
@ -3810,4 +3809,10 @@
<string name="quick_action_remove_next_destination_descr">目前路徑上的目的地點將會被刪除。如果其將為目的地,導航就會停止。</string>
<string name="search_download_wikipedia_maps">下載維基百科地圖</string>
<string name="plugin_wikipedia_description">從維基百科取得關於興趣點的資訊。這是您的離線口袋指南 ── 只要啟用維基百科外掛程式並享受有關於您周圍景點的文章。</string>
<string name="app_mode_enduro_motorcycle">耐力賽摩托車</string>
<string name="app_mode_motor_scooter">小型摩托車</string>
<string name="app_mode_wheelchair">輪椅</string>
<string name="app_mode_wheelchair_forward">輪椅向前</string>
<string name="app_mode_go_cart">卡丁車</string>
<string name="osm_edit_closed_note">已關閉的 OSM 註記</string>
</resources>

View file

@ -114,7 +114,7 @@
<dimen name="map_ruler_width">120dp</dimen>
<dimen name="map_ruler_bottom_margin">9dp</dimen>
<dimen name="map_alarm_size">78dp</dimen>
<dimen name="map_alarm_size">92dp</dimen>
<dimen name="map_alarm_bottom_text_margin">8dp</dimen>
@ -148,7 +148,7 @@
<dimen name="map_alarm_text_size">25sp</dimen>
<dimen name="map_alarm_text_top_padding">20dp</dimen>
<dimen name="map_alarm_bottom_text_size">16sp</dimen>
<dimen name="map_alarm_bottom_si_text_size">8sp</dimen>
<dimen name="map_alarm_bottom_si_text_size">12sp</dimen>
<dimen name="map_widget_text_bottom_margin">1sp</dimen>
<dimen name="map_widget_text_small_bottom_margin">3sp</dimen>
<dimen name="map_widget_icon_margin">2dp</dimen>

View file

@ -11,6 +11,12 @@
Thx - Hardy
-->
<string name="osm_edit_closed_note">Closed OSM Note</string>
<string name="app_mode_go_cart">Go-cart</string>
<string name="app_mode_wheelchair_forward">Wheelchair forward</string>
<string name="app_mode_wheelchair">Wheelchair</string>
<string name="app_mode_motor_scooter">Motor scooter</string>
<string name="app_mode_enduro_motorcycle">Enduro motorcycle</string>
<string name="plugin_wikipedia_description">Get information about points of interest from Wikipedia. It is your pocket offline guide - just enable Wikipedia plugin and enjoy articles about objects around you.</string>
<string name="search_download_wikipedia_maps">Download Wikipedia maps</string>
<string name="quick_action_remove_next_destination_descr">The current destination point on the route will be deleted. If it will be the Destination, navigation will stop.</string>
@ -1682,7 +1688,6 @@
<string name="context_menu_item_open_note">Open OSM Note</string>
<string name="osm_edit_reopened_note">Reopened OSM Note</string>
<string name="osm_edit_commented_note">Commented OSM Note</string>
<string name="osm_edit_removed_note">Deleted OSM Note</string>
<string name="osm_edit_created_note">Created OSM Note</string>
<string name="osn_bug_name">OSM Note</string>
<string name="osn_add_dialog_title">Create note</string>

View file

@ -237,6 +237,7 @@ public class CurrentPositionHelper {
List<GeocodingResult> complete = new ArrayList<>();
double minBuildingDistance = 0;
if (res != null) {
GeocodingUtilities gu = new GeocodingUtilities();
for (GeocodingResult r : res) {
BinaryMapIndexReader foundRepo = null;
List<BinaryMapReaderResource> rts = usedReaders;
@ -259,7 +260,7 @@ public class CurrentPositionHelper {
} else if (foundRepo != null) {
List<GeocodingResult> justified = null;
try {
justified = new GeocodingUtilities().justifyReverseGeocodingSearch(r, foundRepo,
justified = gu.justifyReverseGeocodingSearch(r, foundRepo,
minBuildingDistance, result);
} catch (IOException e) {
log.error("Exception happened during reverse geocoding", e);
@ -277,6 +278,7 @@ public class CurrentPositionHelper {
complete.add(r);
}
}
gu.filterDuplicateRegionResults(complete);
}
if (result.isCancelled()) {
@ -287,7 +289,7 @@ public class CurrentPositionHelper {
});
return;
}
Collections.sort(complete, GeocodingUtilities.DISTANCE_COMPARATOR);
// Collections.sort(complete, GeocodingUtilities.DISTANCE_COMPARATOR);
// for(GeocodingResult rt : complete) {
// System.out.println(rt.toString());
// }

View file

@ -679,6 +679,16 @@ public class FavouritesDbHelper {
return favoriteGroups;
}
public boolean isGroupVisible(String name) {
String nameLowercase = name.toLowerCase();
for (String groupName : flatGroups.keySet()) {
if (groupName.toLowerCase().equals(nameLowercase) || FavoriteGroup.getDisplayName(context, groupName).equals(name)) {
return flatGroups.get(groupName).isVisible();
}
}
return false;
}
public boolean groupExists(String name) {
String nameLowercase = name.toLowerCase();
for (String groupName : flatGroups.keySet()) {
@ -800,10 +810,12 @@ public class FavouritesDbHelper {
public void editFavouriteGroup(FavoriteGroup group, String newName, int color, boolean visible) {
if (color != 0 && group.color != color) {
FavoriteGroup gr = flatGroups.get(group.name);
group.color = color;
for (FavouritePoint p : gr.points) {
if (p.getColor() == group.color) {
p.setColor(color);
}
}
group.color = color;
runSyncWithMarkers(gr);
}
if (group.visible != visible) {

View file

@ -280,7 +280,7 @@ public class SettingsGeneralActivity extends SettingsBaseActivity implements OnR
"fi",
"fr",
"gl",
"he",
"iw",
"hr",
"hsb",
"hu",

View file

@ -471,7 +471,7 @@ public class AmenityMenuBuilder extends MenuBuilder {
}
textPrefix = app.getString(R.string.poi_cuisine);
vl = sb.toString();
} else if (key.contains(Amenity.ROUTE)) {
} else if (key.contains(Amenity.ROUTE) || key.equals(Amenity.WIKIDATA)) {
continue;
} else {
if (key.contains(Amenity.DESCRIPTION)) {
@ -784,12 +784,16 @@ public class AmenityMenuBuilder extends MenuBuilder {
Map<String, String> additionalInfo = amenity.getAdditionalInfo();
String imageValue = additionalInfo.get("image");
String mapillaryValue = additionalInfo.get("mapillary");
String wikidataValue = additionalInfo.get("wikidata");
if (!Algorithms.isEmpty(imageValue)) {
params.put("osm_image", imageValue);
}
if (!Algorithms.isEmpty(mapillaryValue)) {
params.put("osm_mapillary_key", mapillaryValue);
}
if (!Algorithms.isEmpty(wikidataValue)) {
params.put("wikidata_id", wikidataValue);
}
return params;
}

View file

@ -25,6 +25,7 @@ import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.MenuBuilder;
import net.osmand.plus.mapillary.MapillaryContributeCard;
import net.osmand.plus.mapillary.MapillaryImageCard;
import net.osmand.plus.wikimedia.WikiImageHelper;
import net.osmand.util.Algorithms;
import org.json.JSONArray;
@ -437,6 +438,11 @@ public abstract class ImageCard extends AbstractCard {
pms.put("lang", preferredLang);
}
if (this.params != null) {
String wikidataId = this.params.get("wikidata_id");
if (wikidataId != null) {
this.params.remove("wikidata_id");
WikiImageHelper.fillWikiMediaCards(mapActivity, wikidataId, result);
}
pms.putAll(this.params);
}
String response = AndroidNetworkUtils.sendRequest(app, "https://osmand.net/api/cm_place", pms,

View file

@ -97,7 +97,7 @@ public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew {
}
});
if (editor != null && editor.isNew()) {
ImageView toolbarAction = (ImageView) view.findViewById(R.id.toolbar_action);
ImageView toolbarAction = view.findViewById(R.id.toolbar_action);
toolbarAction.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@ -460,30 +460,36 @@ public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew {
@Override
public Set<String> getCategories() {
Set<String> categories = new LinkedHashSet<>();
Set<String> categoriesHidden = new LinkedHashSet<>();
FavouritesDbHelper helper = getHelper();
if (helper != null && editor != null) {
OsmandApplication app = getMyApplication();
if (editor.isNew()) {
FavoriteGroup lastUsedGroup = helper.getGroup(getLastUsedGroup());
if (lastUsedGroup != null && lastUsedGroup.isVisible()) {
if (lastUsedGroup != null) {
categories.add(lastUsedGroup.getDisplayName(app));
}
for (FavouritesDbHelper.FavoriteGroup fg : getHelper().getFavoriteGroups()) {
if (!fg.equals(lastUsedGroup) && fg.isVisible()) {
categories.add(fg.getDisplayName(app));
}
}
} else {
for (FavoriteGroup fg : helper.getFavoriteGroups()) {
for (FavouritesDbHelper.FavoriteGroup fg : helper.getFavoriteGroups()) {
if (!fg.equals(lastUsedGroup)) {
if (fg.isVisible()) {
categories.add(fg.getDisplayName(app));
} else {
categoriesHidden.add(fg.getDisplayName(app));
}
}
}
categories.addAll(categoriesHidden);
}
return categories;
}
@Override
public boolean isCategoryVisible(String name) {
if (getHelper() != null) {
return getHelper().isGroupVisible(name);
}
return true;
}
@Override
public int getCategoryPointsCount(String category) {
FavouritesDbHelper helper = getHelper();
@ -498,6 +504,7 @@ public class FavoritePointEditorFragmentNew extends PointEditorFragmentNew {
}
@Override
@ColorInt
public int getCategoryColor(String category) {
FavouritesDbHelper helper = getHelper();
if (helper != null) {

View file

@ -5,6 +5,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.os.Build;
@ -675,6 +676,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
public void setCategory(String name, int color) {
setSelectedItemWithScroll(name);
updateColorSelector(color, groupRecyclerView.getRootView());
}
private void setSelectedItemWithScroll(String name) {
@ -732,6 +734,7 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
public abstract String getToolbarTitle();
@ColorInt
public abstract int getCategoryColor(String category);
public abstract int getCategoryPointsCount(String category);
@ -762,6 +765,12 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
public abstract Set<String> getCategories();
protected boolean isCategoryVisible(String name) {
return true;
}
;
String getNameTextValue() {
EditText nameEdit = view.findViewById(R.id.name_edit);
return nameEdit.getText().toString().trim();
@ -885,16 +894,13 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
public void onClick(View view) {
int previousSelectedPosition = getItemPosition(selectedItemName);
selectedItemName = items.get(holder.getAdapterPosition());
updateColorSelector(getCategoryColor(selectedItemName), groupRecyclerView.getRootView());
notifyItemChanged(holder.getAdapterPosition());
notifyItemChanged(previousSelectedPosition);
}
});
final String group = items.get(position);
holder.groupName.setText(group);
int categoryColor = getCategoryColor(group);
int color = categoryColor == 0 ? getDefaultColor() : categoryColor;
holder.groupIcon.setImageDrawable(UiUtilities.tintDrawable(
AppCompatResources.getDrawable(app, R.drawable.ic_action_folder), color));
holder.pointsCounter.setText(String.valueOf(getCategoryPointsCount(group)));
int strokeColor;
int strokeWidth;
@ -913,6 +919,20 @@ public abstract class PointEditorFragmentNew extends BaseOsmAndFragment {
rectContourDrawable.setStroke(AndroidUtils.dpToPx(app, strokeWidth), strokeColor);
holder.groupButton.setImageDrawable(rectContourDrawable);
}
int color;
int iconID;
if (!isCategoryVisible(group)) {
color = ContextCompat.getColor(app, R.color.text_color_secondary_light);
iconID = R.drawable.ic_action_hide;
holder.groupName.setTypeface(null, Typeface.ITALIC);
} else {
int categoryColor = getCategoryColor(group);
color = categoryColor == 0 ? getDefaultColor() : categoryColor;
iconID = R.drawable.ic_action_folder;
holder.groupName.setTypeface(null, Typeface.NORMAL);
}
holder.groupIcon.setImageDrawable(UiUtilities.tintDrawable(
AppCompatResources.getDrawable(app, iconID), color));
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
AndroidUtils.setBackground(app, holder.groupButton, nightMode, R.drawable.ripple_solid_light_6dp,

View file

@ -8,6 +8,7 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
@ -454,6 +455,7 @@ public class WptPtEditorFragmentNew extends PointEditorFragmentNew {
}
@Override
@ColorInt
public int getCategoryColor(String category) {
if (categoriesMap != null) {
Integer color = categoriesMap.get(category);

View file

@ -46,6 +46,7 @@ import net.osmand.plus.helpers.GpxUiHelper.OrderedLineDataSet;
import net.osmand.plus.views.GPXLayer;
import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory;
import net.osmand.plus.views.mapwidgets.MapInfoWidgetsFactory.TopToolbarController;
import net.osmand.util.MapUtils;
import java.util.ArrayList;
import java.util.Collections;
@ -312,18 +313,15 @@ public class TrackDetailsMenu {
}
} else {
float distance = pos * dataSet.getDivX();
double previousSplitDistance = 0;
double totalDistance = 0;
WptPt previousPoint = null;
for (int i = 0; i < segment.points.size(); i++) {
WptPt currentPoint = segment.points.get(i);
if (previousPoint != null) {
if (currentPoint.distance < previousPoint.distance) {
previousSplitDistance += previousPoint.distance;
totalDistance += MapUtils.getDistance(previousPoint.lat, previousPoint.lon, currentPoint.lat, currentPoint.lon);
}
}
double totalDistance = previousSplitDistance + currentPoint.distance;
if (totalDistance >= distance) {
if (previousPoint != null) {
if (currentPoint.distance >= distance || Math.abs(totalDistance - distance) < 0.1) {
if (previousPoint != null && currentPoint.distance >= distance) {
double percent = 1 - (totalDistance - distance) / (currentPoint.distance - previousPoint.distance);
double dLat = (currentPoint.lat - previousPoint.lat) * percent;
double dLon = (currentPoint.lon - previousPoint.lon) * percent;
@ -500,6 +498,9 @@ public class TrackDetailsMenu {
} else {
mapActivity.getMapLayers().getGpxLayer().setTrackChartPoints(trackChartPoints);
}
if (location != null) {
mapActivity.refreshMap();
}
fitTrackOnMap(chart, location, forceFit);
}

View file

@ -57,7 +57,6 @@ import net.osmand.plus.GpxSelectionHelper.GpxDisplayItemType;
import net.osmand.plus.GpxSelectionHelper.SelectedGpxFile;
import net.osmand.plus.OsmAndFormatter;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.settings.backend.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.activities.MapActivity;
@ -70,12 +69,14 @@ import net.osmand.plus.helpers.GpxUiHelper.GPXDataSetType;
import net.osmand.plus.helpers.GpxUiHelper.OrderedLineDataSet;
import net.osmand.plus.measurementtool.NewGpxData;
import net.osmand.plus.myplaces.TrackBitmapDrawer.TrackBitmapDrawerListener;
import net.osmand.plus.settings.backend.OsmandSettings;
import net.osmand.plus.views.controls.PagerSlidingTabStrip;
import net.osmand.plus.views.controls.PagerSlidingTabStrip.CustomTabProvider;
import net.osmand.plus.views.controls.WrapContentHeightViewPager;
import net.osmand.plus.views.controls.WrapContentHeightViewPager.ViewAtPositionInterface;
import net.osmand.plus.widgets.IconPopupMenu;
import net.osmand.util.Algorithms;
import net.osmand.util.MapUtils;
import java.io.File;
import java.lang.ref.WeakReference;
@ -525,16 +526,14 @@ public class TrackSegmentFragment extends OsmAndListFragment implements TrackBit
}
} else {
float distance = pos * dataSet.getDivX();
double previousSplitDistance = 0;
double totalDistance = 0;
for (int i = 0; i < segment.points.size(); i++) {
WptPt currentPoint = segment.points.get(i);
if (i != 0) {
WptPt previousPoint = segment.points.get(i - 1);
if (currentPoint.distance < previousPoint.distance) {
previousSplitDistance += previousPoint.distance;
totalDistance += MapUtils.getDistance(previousPoint.lat, previousPoint.lon, currentPoint.lat, currentPoint.lon);
}
}
if (previousSplitDistance + currentPoint.distance >= distance) {
if (currentPoint.distance >= distance || Math.abs(totalDistance - distance) < 0.1) {
wpt = currentPoint;
break;
}

View file

@ -94,7 +94,7 @@ public class EditPOIMenuController extends MenuController {
}
} else if (osmPoint.getGroup() == OsmPoint.Group.BUG) {
if (osmPoint.getAction() == Action.DELETE) {
actionStr = mapActivity.getString(R.string.osm_edit_removed_note);
actionStr = mapActivity.getString(R.string.osm_edit_closed_note);
} else if (osmPoint.getAction() == Action.MODIFY) {
actionStr = mapActivity.getString(R.string.osm_edit_commented_note);
} else if (osmPoint.getAction() == Action.REOPEN) {

View file

@ -682,7 +682,8 @@ public class PoiUIFilter implements SearchPoiTypeFilter, Comparable<PoiUIFilter>
if (subtype != null) {
PoiCategory c = subtype.getCategory();
String typeName = subtype.getKeyName();
if (!getAcceptedSubtypes(c).contains(typeName)) {
Set<String> acceptedSubtypes = getAcceptedSubtypes(c);
if (acceptedSubtypes != null && !acceptedSubtypes.contains(typeName)) {
LinkedHashSet<String> typeNames = acceptedTypesOrigin.get(c);
if (typeNames == null) {
typeNames = new LinkedHashSet<>();

View file

@ -17,6 +17,8 @@ public enum ProfileIcons {
BUS(R.drawable.ic_action_bus_dark, R.string.app_mode_bus, "ic_action_bus_dark"),
SUBWAY(R.drawable.ic_action_subway, R.string.app_mode_subway, "ic_action_subway"),
MOTORCYCLE(R.drawable.ic_action_motorcycle_dark, R.string.app_mode_motorcycle, "ic_action_motorcycle_dark"),
ENDURO_MOTORCYCLE(R.drawable.ic_action_enduro_motorcycle, R.string.app_mode_enduro_motorcycle, "ic_action_enduro_motorcycle"),
MOTOR_SCOOTER(R.drawable.ic_action_motor_scooter, R.string.app_mode_motor_scooter, "ic_action_motor_scooter"),
BICYCLE(R.drawable.ic_action_bicycle_dark, R.string.app_mode_bicycle, "ic_action_bicycle_dark"),
HORSE(R.drawable.ic_action_horse, R.string.app_mode_horse, "ic_action_horse"),
PEDESTRIAN(R.drawable.ic_action_pedestrian_dark, R.string.app_mode_pedestrian, "ic_action_pedestrian_dark"),
@ -29,6 +31,8 @@ public enum ProfileIcons {
MONOWHEEL(R.drawable.ic_action_monowheel, R.string.app_mode_monowheel, "ic_action_monowheel"),
SCOOTER(R.drawable.ic_action_scooter, R.string.app_mode_scooter, "ic_action_scooter"),
INLINE_SKATES(R.drawable.ic_action_inline_skates, R.string.app_mode_inline_skates, "ic_action_inline_skates"),
WHEELCHAIR(R.drawable.ic_action_wheelchair, R.string.app_mode_wheelchair, "ic_action_wheelchair"),
WHEELCHAIR_FORWARD(R.drawable.ic_action_wheelchair_forward, R.string.app_mode_wheelchair_forward, "ic_action_wheelchair_forward"),
UFO(R.drawable.ic_action_ufo, R.string.app_mode_ufo, "ic_action_ufo"),
OFFROAD(R.drawable.ic_action_offroad, R.string.app_mode_offroad, "ic_action_offroad"),
CAMPERVAN(R.drawable.ic_action_campervan, R.string.app_mode_campervan, "ic_action_campervan"),
@ -38,6 +42,7 @@ public enum ProfileIcons {
UTV(R.drawable.ic_action_ski_touring, R.string.app_mode_utv, "ic_action_ski_touring"),
SKI_TOURING(R.drawable.ic_action_utv, R.string.app_mode_ski_touring, "ic_action_utv"),
SNOWMOBILE(R.drawable.ic_action_snowmobile, R.string.app_mode_ski_snowmobile, "ic_action_snowmobile"),
GO_CART(R.drawable.ic_action_go_cart, R.string.app_mode_go_cart, "ic_action_go_cart"),
OSM(R.drawable.ic_action_openstreetmap_logo, R.string.app_mode_osm, "ic_action_openstreetmap_logo");
@DrawableRes

View file

@ -140,9 +140,13 @@ public class RouteCalculationResult {
OsmandApplication ctx, boolean leftSide, RoutingContext rctx, List<LocationPoint> waypoints, ApplicationMode mode) {
if (rctx != null) {
this.routingTime = rctx.routingTime;
this.visitedSegments = rctx.visitedSegments;
this.loadedTiles = rctx.loadedTiles;
this.calculateTime = (float) (((System.nanoTime() - rctx.timeToCalculate) / 1e6) / 1000f);
this.visitedSegments = rctx.getVisitedSegments();
this.loadedTiles = rctx.getLoadedTiles();
if (rctx.calculationProgress != null) {
this.calculateTime = (float) (rctx.calculationProgress.timeToCalculate / 1.0e9);
} else {
this.calculateTime = 0;
}
} else {
this.routingTime = 0;
this.visitedSegments = 0;

View file

@ -473,7 +473,7 @@ public class QuickSearchListAdapter extends ArrayAdapter<QuickSearchListItem> {
ContextCompat.getColor(app, colorClosed));
int colorId = rs.isOpenedForTime(Calendar.getInstance()) ? colorOpen : colorClosed;
timeLayout.setVisibility(View.VISIBLE);
timeIcon.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_time_16, colorId));
timeIcon.setImageDrawable(app.getUIUtilities().getIcon(R.drawable.ic_action_opening_hour_16, colorId));
timeText.setText(openHours);
} else {
timeLayout.setVisibility(View.GONE);

View file

@ -1252,6 +1252,7 @@ public class RouteInfoWidgetsFactory {
private int imgId;
private String cachedText;
private String cachedBottomText;
private OsmandSettings.DrivingRegion cachedRegion;
public AlarmWidget(final OsmandApplication app, MapActivity ma) {
layout = ma.findViewById(R.id.map_alarm_warning);
@ -1366,7 +1367,7 @@ public class RouteInfoWidgetsFactory {
icon.setImageResource(locimgId);
}
Resources res = layout.getContext().getResources();
if (!Algorithms.objectEquals(text, cachedText)) {
if (!Algorithms.objectEquals(text, cachedText) || cachedRegion != region) {
cachedText = text;
widgetText.setText(cachedText);
if (alarm.getType() == AlarmInfoType.SPEED_LIMIT && americanType && !isCanadianRegion) {
@ -1376,9 +1377,10 @@ public class RouteInfoWidgetsFactory {
widgetText.setPadding(0, 0, 0, 0);
}
}
if (!Algorithms.objectEquals(bottomText, cachedBottomText)) {
if (!Algorithms.objectEquals(bottomText, cachedBottomText) || cachedRegion != region) {
cachedBottomText = bottomText;
widgetBottomText.setText(cachedBottomText);
cachedRegion = region;
if (alarm.getType() == AlarmInfoType.SPEED_LIMIT && isCanadianRegion) {
int bottomPadding = res.getDimensionPixelSize(R.dimen.map_button_margin);
widgetBottomText.setPadding(0, 0, 0, bottomPadding);

View file

@ -0,0 +1,28 @@
package net.osmand.plus.wikimedia;
public class WikiImage {
private String imageName;
private String imageStubUrl;
private String imageHiResUrl;
public WikiImage(String imageName, String imageStubUrl,
String imageHiResUrl) {
this.imageName = imageName;
this.imageStubUrl = imageStubUrl;
this.imageHiResUrl = imageHiResUrl;
}
public String getImageName() {
return imageName;
}
public String getImageStubUrl() {
return imageStubUrl;
}
public String getImageHiResUrl() {
return imageHiResUrl;
}
}

View file

@ -0,0 +1,40 @@
package net.osmand.plus.wikimedia;
import android.view.View;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.builders.cards.ImageCard;
import net.osmand.util.Algorithms;
public class WikiImageCard extends ImageCard {
public WikiImageCard(final MapActivity mapActivity,
final WikiImage wikiImage) {
super(mapActivity, null);
if (topIconId == 0) {
topIconId = R.drawable.ic_logo_wikimedia;
}
this.imageUrl = wikiImage.getImageStubUrl();
this.title = wikiImage.getImageName();
this.url = this.imageUrl;
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
openUrl(getMapActivity(), getMyApplication(), getTitle(), wikiImage.getImageHiResUrl(),
isExternalLink() || Algorithms.isEmpty(getImageHiresUrl()),
!Algorithms.isEmpty(getImageHiresUrl()));
}
};
if (!Algorithms.isEmpty(buttonText)) {
this.onButtonClickListener = onClickListener;
} else {
this.onClickListener = onClickListener;
}
}
}

View file

@ -0,0 +1,126 @@
package net.osmand.plus.wikimedia;
import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import net.osmand.PlatformUtil;
import net.osmand.osm.io.NetworkUtils;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.builders.cards.ImageCard;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.logging.Log;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;
public class WikiImageHelper {
private static final String WIKIDATA_API_ENDPOINT = "https://www.wikidata.org/w/api.php";
private static final String ACTION = "?action=wbgetclaims&property=P18&entity=";
private static final String FORMAT_JSON = "&format=json";
private static final String IMAGE_BASE_URL = "https://upload.wikimedia.org/wikipedia/commons/";
private static final String WIKIDATA_PREFIX = "Q";
private static final int THUMB_SIZE = 500;
private static final Log LOG = PlatformUtil.getLog(WikiImageHelper.class);
public static void fillWikiMediaCards(@NonNull MapActivity mapActivity, @NonNull String wikidata,
List<ImageCard> images) {
if (wikidata.startsWith(WIKIDATA_PREFIX)) {
StringBuilder rawResponse = new StringBuilder();
String url = WIKIDATA_API_ENDPOINT + ACTION + wikidata + FORMAT_JSON;
String error = NetworkUtils.sendGetRequest(url, null, rawResponse);
if (error == null) {
try {
Gson gson = new Gson();
WikipediaResponse response = gson.fromJson(rawResponse.toString(), WikipediaResponse.class);
for (WikiImage img : getImageData(response)) {
images.add(new WikiImageCard(mapActivity, img));
}
return;
} catch (JsonSyntaxException e) {
error = e.getLocalizedMessage();
}
}
LOG.error(error);
} else {
LOG.error("Wrong WikiMedia ID");
}
}
private static List<WikiImage> getImageData(WikipediaResponse response) {
List<WikiImage> images = new ArrayList<>();
for (P18 p18 : response.claims.p18) {
String imageFileName = p18.mainsnak.datavalue.value;
if (imageFileName != null) {
try {
String imageName = URLDecoder.decode(imageFileName, "UTF-8");
imageFileName = imageName.replace(" ", "_");
imageName = imageName.substring(0, imageName.lastIndexOf("."));
String[] urlHashParts = getHash(imageFileName);
String imageHiResUrl = IMAGE_BASE_URL +
urlHashParts[0] + "/" + urlHashParts[1] + "/" +
imageFileName;
String imageStubUrl = IMAGE_BASE_URL + "thumb/" +
urlHashParts[0] + "/" + urlHashParts[1] + "/" +
imageFileName + "/" + THUMB_SIZE + "px-" +
imageFileName;
images.add(new WikiImage(imageName, imageStubUrl, imageHiResUrl));
} catch (UnsupportedEncodingException e) {
LOG.error(e.getLocalizedMessage());
}
}
}
return images;
}
@NonNull
private static String[] getHash(@NonNull String s) {
String md5 = new String(Hex.encodeHex(DigestUtils.md5(s)));
return new String[]{md5.substring(0, 1), md5.substring(0, 2)};
}
private static class Claims {
@SerializedName("P18")
@Expose
private List<P18> p18 = null;
}
private static class Datavalue {
@SerializedName("value")
@Expose
private String value;
@SerializedName("type")
@Expose
private String type;
}
private static class Mainsnak {
@SerializedName("datavalue")
@Expose
private Datavalue datavalue;
@SerializedName("datatype")
@Expose
private String datatype;
}
private static class P18 {
@SerializedName("mainsnak")
@Expose
private Mainsnak mainsnak;
}
private static class WikipediaResponse {
@SerializedName("claims")
@Expose
private Claims claims;
}
}

View file

@ -191,6 +191,7 @@ public class CurrentPositionHelper {
private void justifyResult(List<GeocodingResult> res, final ResultMatcher<GeocodingResult> result) {
List<GeocodingResult> complete = new ArrayList<>();
double minBuildingDistance = 0;
GeocodingUtilities gu = new GeocodingUtilities();
if (res != null) {
for (GeocodingResult r : res) {
BinaryMapIndexReader foundRepo = null;
@ -208,7 +209,7 @@ public class CurrentPositionHelper {
} else if (foundRepo != null) {
List<GeocodingResult> justified = null;
try {
justified = new GeocodingUtilities().justifyReverseGeocodingSearch(r, foundRepo,
justified = gu.justifyReverseGeocodingSearch(r, foundRepo,
minBuildingDistance, result);
} catch (IOException e) {
log.error("Exception happened during reverse geocoding", e);
@ -227,6 +228,7 @@ public class CurrentPositionHelper {
complete.add(r);
}
}
gu.filterDuplicateRegionResults(complete);
}
if (result.isCancelled()) {
@ -237,7 +239,7 @@ public class CurrentPositionHelper {
});
return;
}
Collections.sort(complete, GeocodingUtilities.DISTANCE_COMPARATOR);
// Collections.sort(complete, GeocodingUtilities.DISTANCE_COMPARATOR);
// for(GeocodingResult rt : complete) {
// System.out.println(rt.toString());
// }