From 35f2361a3306407d3839977c0e43ea268b5f307f Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Wed, 13 Dec 2017 16:50:33 +0200 Subject: [PATCH 01/28] Open the combined context menu for marker which was added on map object --- .../src/net/osmand/plus/MapMarkersHelper.java | 24 ++++++++-- .../plus/activities/MapActivityActions.java | 5 ++- .../plus/mapcontextmenu/MapContextMenu.java | 2 +- .../controllers/AmenityMenuController.java | 14 ++++++ .../mapmarkers/MapMarkersActiveFragment.java | 14 +++++- .../plus/mapmarkers/MapMarkersDbHelper.java | 18 +++++--- .../quickaction/actions/MarkerAction.java | 3 +- .../osmand/plus/views/ContextMenuLayer.java | 45 +------------------ .../osmand/plus/views/MapMarkersLayer.java | 14 +++++- .../net/osmand/plus/views/OsmandMapLayer.java | 45 ++++++++++++++++++- 10 files changed, 123 insertions(+), 61 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java b/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java index 6b27448356..5e45d9fe92 100644 --- a/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java +++ b/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java @@ -76,6 +76,7 @@ public class MapMarkersHelper { public String groupName; public WptPt wptPt; public FavouritePoint favouritePoint; + public String mapObjectName; public MapMarker(LatLon point, PointDescription name, int colorIndex, boolean selected, int index) { @@ -597,6 +598,16 @@ public class MapMarkersHelper { return null; } + @Nullable + public MapMarker getMapMarker(@NonNull String mapObjectName) { + for (MapMarker marker : mapMarkers) { + if (marker.mapObjectName != null && marker.mapObjectName.equals(mapObjectName)) { + return marker; + } + } + return null; + } + private void addNewMarkerIfNeeded(@NonNull MarkersSyncGroup group, @NonNull List markers, @NonNull LatLon latLon, @@ -628,7 +639,7 @@ public class MapMarkersHelper { if (!exists) { addMarkers(Collections.singletonList(latLon), Collections.singletonList(new PointDescription(POINT_TYPE_MAP_MARKER, name)), - group, enabled, Collections.singletonList(favouritePoint), Collections.singletonList(wptPt)); + group, enabled, Collections.singletonList(favouritePoint), Collections.singletonList(wptPt), null); } } @@ -936,16 +947,21 @@ public class MapMarkersHelper { addMarkers(Collections.singletonList(point), Collections.singletonList(historyName), null, true); } + public void addMapMarker(@NonNull LatLon point, @Nullable PointDescription historyName, @Nullable String mapObjectName) { + addMarkers(Collections.singletonList(point), Collections.singletonList(historyName), null, + true, null, null, Collections.singletonList(mapObjectName)); + } + public void addMapMarkers(@NonNull List points, @NonNull List historyNames, @Nullable MarkersSyncGroup group) { addMarkers(points, historyNames, group, true); } private void addMarkers(@NonNull List points, @NonNull List historyNames, @Nullable MarkersSyncGroup group, boolean enabled) { - addMarkers(points, historyNames, group, enabled, null, null); + addMarkers(points, historyNames, group, enabled, null, null, null); } private void addMarkers(@NonNull List points, @NonNull List historyNames, @Nullable MarkersSyncGroup group, - boolean enabled, @Nullable List favouritePoints, @Nullable List wptPts) { + boolean enabled, @Nullable List favouritePoints, @Nullable List wptPts, @Nullable List mapObjNames) { if (points.size() > 0) { int colorIndex = -1; List addedMarkers = new ArrayList<>(); @@ -954,6 +970,7 @@ public class MapMarkersHelper { PointDescription historyName = historyNames.get(i); FavouritePoint favouritePoint = favouritePoints == null ? null : favouritePoints.get(i); WptPt wptPt = wptPts == null ? null : wptPts.get(i); + String mapObjName = mapObjNames == null ? null : mapObjNames.get(i); final PointDescription pointDescription; if (historyName == null) { pointDescription = new PointDescription(PointDescription.POINT_TYPE_LOCATION, ""); @@ -986,6 +1003,7 @@ public class MapMarkersHelper { marker.nextKey = MapMarkersDbHelper.TAIL_NEXT_VALUE; marker.favouritePoint = favouritePoint; marker.wptPt = wptPt; + marker.mapObjectName = mapObjName; markersDbHelper.addMarker(marker); if (enabled) { addToMapMarkersList(0, marker); diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java index aed969a25e..ab56118d2c 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityActions.java @@ -6,6 +6,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; +import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; import android.view.View; @@ -104,9 +105,9 @@ public class MapActivityActions implements DialogProvider { } - public void addMapMarker(double latitude, double longitude, PointDescription pd) { + public void addMapMarker(double latitude, double longitude, PointDescription pd, @Nullable String mapObjectName) { MapMarkersHelper markersHelper = getMyApplication().getMapMarkersHelper(); - markersHelper.addMapMarker(new LatLon(latitude, longitude), pd); + markersHelper.addMapMarker(new LatLon(latitude, longitude), pd, mapObjectName); } public void editWaypoints() { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java index 68b1b93c9d..0d7236c23a 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java @@ -789,7 +789,7 @@ public class MapContextMenu extends MenuTitleController implements StateChangedL MapMarkersDialogFragment.showInstance(mapActivity); } else { mapActivity.getMapActions().addMapMarker(latLon.getLatitude(), latLon.getLongitude(), - getPointDescriptionForMarker()); + getPointDescriptionForMarker(), object instanceof Amenity ? ((Amenity) object).getName() : null); } } else { mapActivity.getMapActions().addAsTarget(latLon.getLatitude(), latLon.getLongitude(), diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java index dcbacd66df..9a4e83c729 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java @@ -11,6 +11,7 @@ import net.osmand.data.TransportStop; import net.osmand.osm.PoiCategory; import net.osmand.osm.PoiFilter; import net.osmand.osm.PoiType; +import net.osmand.plus.MapMarkersHelper.MapMarker; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.mapcontextmenu.MapContextMenu; @@ -53,6 +54,14 @@ public class AmenityMenuController extends MenuController { processTransportStop(); } } + + final MapMarker marker = mapActivity.getMyApplication().getMapMarkersHelper().getMapMarker(amenity.getName()); + if (marker != null) { + MapMarkerMenuController markerMenuController = + new MapMarkerMenuController(mapActivity, marker.getPointDescription(mapActivity), marker); + leftTitleButtonController = markerMenuController.getLeftTitleButtonController(); + leftSubtitleButtonController = markerMenuController.getLeftSubtitleButtonController(); + } } @Override @@ -67,6 +76,11 @@ public class AmenityMenuController extends MenuController { return amenity; } + @Override + public boolean isWaypointButtonEnabled() { + return getMapActivity().getMyApplication().getMapMarkersHelper().getMapMarker(amenity.getName()) == null; + } + @Override public boolean needStreetName() { if (amenity.getSubType() != null && amenity.getType() != null) { diff --git a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java index 867700c77c..d2e2181ddc 100644 --- a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java +++ b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java @@ -13,6 +13,7 @@ import android.view.ViewGroup; import android.widget.ImageView; import net.osmand.Location; +import net.osmand.data.Amenity; import net.osmand.data.FavouritePoint; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; @@ -32,6 +33,8 @@ import net.osmand.plus.mapmarkers.adapters.MapMarkersItemTouchHelperCallback; import net.osmand.plus.widgets.EmptyStateRecyclerView; import net.osmand.util.MapUtils; +import java.util.Collections; + public class MapMarkersActiveFragment extends Fragment implements OsmAndCompassListener, OsmAndLocationListener { private MapMarkersActiveAdapter adapter; @@ -78,8 +81,15 @@ public class MapMarkersActiveFragment extends Fragment implements OsmAndCompassL pointDescription = new PointDescription(PointDescription.POINT_TYPE_FAVORITE, favouritePoint.getName()); objectToShow = favouritePoint; } else { - pointDescription = marker.getPointDescription(mapActivity); - objectToShow = marker; + Amenity mapObj = null; + if (marker.mapObjectName != null && marker.point != null) { + mapObj = mapActivity.getMapLayers().getMapMarkersLayer() + .findAmenity(mapActivity.getMyApplication(), -1, Collections.singletonList(marker.mapObjectName), marker.point); + } + pointDescription = mapObj == null + ? marker.getPointDescription(mapActivity) + : mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj); + objectToShow = mapObj == null ? marker : mapObj; } mapActivity.getMyApplication().getSettings().setMapLocationToShow(marker.getLatitude(), marker.getLongitude(), 15, pointDescription, true, objectToShow); diff --git a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersDbHelper.java b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersDbHelper.java index 3cab3d6b15..556bf4148e 100644 --- a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersDbHelper.java +++ b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersDbHelper.java @@ -25,7 +25,7 @@ import java.util.Set; public class MapMarkersDbHelper { - private static final int DB_VERSION = 11; + private static final int DB_VERSION = 12; public static final String DB_NAME = "map_markers_db"; private static final String MARKERS_TABLE_NAME = "map_markers"; @@ -42,6 +42,7 @@ public class MapMarkersDbHelper { private static final String MARKERS_COL_NEXT_KEY = "marker_next_key"; private static final String MARKERS_COL_DISABLED = "marker_disabled"; private static final String MARKERS_COL_SELECTED = "marker_selected"; + private static final String MARKERS_COL_MAP_OBJECT_NAME = "marker_map_object_name"; private static final String MARKERS_TABLE_CREATE = "CREATE TABLE IF NOT EXISTS " + MARKERS_TABLE_NAME + " (" + @@ -57,7 +58,8 @@ public class MapMarkersDbHelper { MARKERS_COL_COLOR + " int, " + MARKERS_COL_NEXT_KEY + " TEXT, " + MARKERS_COL_DISABLED + " int, " + // 1 = true, 0 = false - MARKERS_COL_SELECTED + " int);"; // 1 = true, 0 = false + MARKERS_COL_SELECTED + " int, " + // 1 = true, 0 = false + MARKERS_COL_MAP_OBJECT_NAME + " TEXT);"; private static final String MARKERS_TABLE_SELECT = "SELECT " + MARKERS_COL_ID + ", " + @@ -72,7 +74,8 @@ public class MapMarkersDbHelper { MARKERS_COL_COLOR + ", " + MARKERS_COL_NEXT_KEY + ", " + MARKERS_COL_DISABLED + ", " + - MARKERS_COL_SELECTED + + MARKERS_COL_SELECTED + ", " + + MARKERS_COL_MAP_OBJECT_NAME + " FROM " + MARKERS_TABLE_NAME; private static final String GROUPS_TABLE_NAME = "map_markers_groups"; @@ -150,6 +153,9 @@ public class MapMarkersDbHelper { " SET " + MARKERS_COL_SELECTED + " = ? " + "WHERE " + MARKERS_COL_SELECTED + " IS NULL", new Object[]{0}); } + if (oldVersion < 12) { + db.execSQL("ALTER TABLE " + MARKERS_TABLE_NAME + " ADD " + MARKERS_COL_MAP_OBJECT_NAME + " TEXT"); + } } private void saveExistingMarkersToDb() { @@ -365,10 +371,10 @@ public class MapMarkersDbHelper { "WHERE " + MARKERS_COL_NEXT_KEY + " = ?", new Object[]{marker.id, TAIL_NEXT_VALUE}); } - db.execSQL("INSERT INTO " + MARKERS_TABLE_NAME + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", + db.execSQL("INSERT INTO " + MARKERS_TABLE_NAME + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", new Object[]{marker.id, marker.getLatitude(), marker.getLongitude(), descr, active, currentTime, visited, marker.groupName, marker.groupKey, marker.colorIndex, - marker.history ? HISTORY_NEXT_VALUE : TAIL_NEXT_VALUE, 0, 0}); + marker.history ? HISTORY_NEXT_VALUE : TAIL_NEXT_VALUE, 0, 0, marker.mapObjectName}); } public List getMarkersFromGroup(MarkersSyncGroup group) { @@ -445,6 +451,7 @@ public class MapMarkersDbHelper { int colorIndex = query.getInt(9); String nextKey = query.getString(10); boolean selected = query.getInt(12) == 1; + String mapObjectName = query.getString(13); LatLon latLon = new LatLon(lat, lon); MapMarker marker = new MapMarker(latLon, PointDescription.deserializeFromString(desc, latLon), @@ -457,6 +464,7 @@ public class MapMarkersDbHelper { marker.groupKey = groupKey; marker.nextKey = nextKey; marker.selected = selected; + marker.mapObjectName = mapObjectName; return marker; } diff --git a/OsmAnd/src/net/osmand/plus/quickaction/actions/MarkerAction.java b/OsmAnd/src/net/osmand/plus/quickaction/actions/MarkerAction.java index 1a9488172a..64121971a0 100644 --- a/OsmAnd/src/net/osmand/plus/quickaction/actions/MarkerAction.java +++ b/OsmAnd/src/net/osmand/plus/quickaction/actions/MarkerAction.java @@ -40,7 +40,8 @@ public class MarkerAction extends QuickAction { activity.getMapActions().addMapMarker( latLon.getLatitude(), latLon.getLongitude(), - pointDescription); + pointDescription, + null); } @Override diff --git a/OsmAnd/src/net/osmand/plus/views/ContextMenuLayer.java b/OsmAnd/src/net/osmand/plus/views/ContextMenuLayer.java index 7614f8d7fc..d56479c0b9 100644 --- a/OsmAnd/src/net/osmand/plus/views/ContextMenuLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/ContextMenuLayer.java @@ -24,13 +24,10 @@ import net.osmand.AndroidUtils; import net.osmand.CallbackWithObject; import net.osmand.NativeLibrary.RenderedObject; import net.osmand.RenderingContext; -import net.osmand.binary.BinaryMapIndexReader; import net.osmand.data.Amenity; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; -import net.osmand.data.QuadRect; import net.osmand.data.RotatedTileBox; -import net.osmand.osm.PoiCategory; import net.osmand.osm.PoiFilter; import net.osmand.osm.PoiType; import net.osmand.plus.ContextMenuAdapter; @@ -627,7 +624,7 @@ public class ContextMenuLayer extends OsmandMapLayer { if (searchLatLon == null) { searchLatLon = tileBox.getLatLonFromPixel(point.x, point.y); } - Amenity amenity = findAmenity(renderedObject.getId() >> 7, names, searchLatLon); + Amenity amenity = findAmenity(activity.getMyApplication(), renderedObject.getId() >> 7, names, searchLatLon); if (amenity != null) { if (renderedObject.getX() != null && renderedObject.getX().size() > 1 && renderedObject.getY() != null && renderedObject.getY().size() > 1) { @@ -823,46 +820,6 @@ public class ContextMenuLayer extends OsmandMapLayer { return false; } - private Amenity findAmenity(long id, List names, LatLon latLon) { - QuadRect rect = MapUtils.calculateLatLonBbox(latLon.getLatitude(), latLon.getLongitude(), 50); - List amenities = activity.getMyApplication().getResourceManager().searchAmenities( - new BinaryMapIndexReader.SearchPoiTypeFilter() { - @Override - public boolean accept(PoiCategory type, String subcategory) { - return true; - } - - @Override - public boolean isEmpty() { - return false; - } - }, rect.top, rect.left, rect.bottom, rect.right, -1, null); - - Amenity res = null; - for (Amenity amenity : amenities) { - Long amenityId = amenity.getId() >> 1; - if (amenityId == id) { - res = amenity; - break; - } - } - if (res == null && names != null && names.size() > 0) { - for (Amenity amenity : amenities) { - for (String name : names) { - if (name.equals(amenity.getName())) { - res = amenity; - break; - } - } - if (res != null) { - break; - } - } - } - - return res; - } - private boolean hideVisibleMenues() { if (multiSelectionMenu.isVisible()) { multiSelectionMenu.hide(); diff --git a/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java b/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java index 38efc761ff..680255d434 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java @@ -21,6 +21,7 @@ import android.view.MotionEvent; import android.view.View; import net.osmand.Location; +import net.osmand.data.Amenity; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.QuadPoint; @@ -34,7 +35,6 @@ import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.TargetPointsHelper.TargetPoint; import net.osmand.plus.activities.MapActivity; -import net.osmand.plus.base.FavoriteImageDrawable; import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.views.ContextMenuLayer.ApplyMovedObjectCallback; import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider; @@ -43,6 +43,7 @@ import net.osmand.plus.views.mapwidgets.MapMarkersWidgetsFactory; import net.osmand.util.MapUtils; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import gnu.trove.list.array.TIntArrayList; @@ -529,7 +530,16 @@ public class MapMarkersLayer extends OsmandMapLayer implements IContextMenuProvi int x = (int) tileBox.getPixXFromLatLon(latLon.getLatitude(), latLon.getLongitude()); int y = (int) tileBox.getPixYFromLatLon(latLon.getLatitude(), latLon.getLongitude()); if (calculateBelongs(ex, ey, x, y, r)) { - o.add(marker); + if (map.getMyApplication().getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) { + o.add(marker); + } else { + Amenity mapObj = null; + if (marker.mapObjectName != null && marker.point != null) { + mapObj = findAmenity(map.getMyApplication(), -1, + Collections.singletonList(marker.mapObjectName), marker.point); + } + o.add(mapObj == null ? marker : mapObj); + } } } } diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java index bdbb19c4e8..46e1d76cd5 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapLayer.java @@ -12,14 +12,16 @@ import android.graphics.PointF; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffColorFilter; import android.os.AsyncTask; -import android.os.Build; import android.support.annotation.NonNull; import android.view.MotionEvent; +import net.osmand.binary.BinaryMapIndexReader; +import net.osmand.data.Amenity; import net.osmand.data.LatLon; import net.osmand.data.QuadRect; import net.osmand.data.QuadTree; import net.osmand.data.RotatedTileBox; +import net.osmand.osm.PoiCategory; import net.osmand.plus.ContextMenuAdapter; import net.osmand.plus.OsmandApplication; import net.osmand.plus.activities.MapActivity; @@ -28,6 +30,7 @@ import net.osmand.plus.render.OsmandRenderer.RenderingContext; import net.osmand.render.RenderingRuleSearchRequest; import net.osmand.render.RenderingRulesStorage; import net.osmand.util.MapAlgorithms; +import net.osmand.util.MapUtils; import java.util.ArrayList; import java.util.Arrays; @@ -218,6 +221,46 @@ public abstract class OsmandMapLayer { return rf; } + public Amenity findAmenity(OsmandApplication app, long id, List names, LatLon latLon) { + QuadRect rect = MapUtils.calculateLatLonBbox(latLon.getLatitude(), latLon.getLongitude(), 50); + List amenities = app.getResourceManager().searchAmenities( + new BinaryMapIndexReader.SearchPoiTypeFilter() { + @Override + public boolean accept(PoiCategory type, String subcategory) { + return true; + } + + @Override + public boolean isEmpty() { + return false; + } + }, rect.top, rect.left, rect.bottom, rect.right, -1, null); + + Amenity res = null; + for (Amenity amenity : amenities) { + Long amenityId = amenity.getId() >> 1; + if (amenityId == id) { + res = amenity; + break; + } + } + if (res == null && names != null && names.size() > 0) { + for (Amenity amenity : amenities) { + for (String name : names) { + if (name.equals(amenity.getName())) { + res = amenity; + break; + } + } + if (res != null) { + break; + } + } + } + + return res; + } + public abstract class MapLayerData { public int ZOOM_THRESHOLD = 1; public RotatedTileBox queriedBox; From 75066e4a3b20600b974b8eae25f1097db5a88e4a Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Wed, 13 Dec 2017 17:31:41 +0200 Subject: [PATCH 02/28] Find marker by amenity name only once --- .../mapcontextmenu/controllers/AmenityMenuController.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java index 9a4e83c729..1b4a2e5ce4 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/AmenityMenuController.java @@ -36,6 +36,8 @@ public class AmenityMenuController extends MenuController { private Amenity amenity; private List routes = new ArrayList<>(); + private MapMarker marker; + public AmenityMenuController(MapActivity mapActivity, PointDescription pointDescription, Amenity amenity) { super(new AmenityMenuBuilder(mapActivity, amenity), pointDescription, mapActivity); this.amenity = amenity; @@ -55,7 +57,7 @@ public class AmenityMenuController extends MenuController { } } - final MapMarker marker = mapActivity.getMyApplication().getMapMarkersHelper().getMapMarker(amenity.getName()); + marker = mapActivity.getMyApplication().getMapMarkersHelper().getMapMarker(amenity.getName()); if (marker != null) { MapMarkerMenuController markerMenuController = new MapMarkerMenuController(mapActivity, marker.getPointDescription(mapActivity), marker); @@ -78,7 +80,7 @@ public class AmenityMenuController extends MenuController { @Override public boolean isWaypointButtonEnabled() { - return getMapActivity().getMyApplication().getMapMarkersHelper().getMapMarker(amenity.getName()) == null; + return marker == null; } @Override From 20ce59612a3032f906e70364ba1ea84b8873670e Mon Sep 17 00:00:00 2001 From: Alexander Sytnyk Date: Thu, 14 Dec 2017 17:24:52 +0200 Subject: [PATCH 03/28] Add an considering of the map object on which the marker stands --- .../net/osmand/plus/views/MapMarkersLayer.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java b/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java index b75f9e0fb1..76ac2761dc 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java @@ -21,6 +21,7 @@ import android.view.MotionEvent; import android.view.View; import net.osmand.Location; +import net.osmand.data.Amenity; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.data.QuadPoint; @@ -43,6 +44,7 @@ import net.osmand.plus.views.mapwidgets.MapMarkersWidgetsFactory; import net.osmand.util.MapUtils; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import gnu.trove.list.array.TIntArrayList; @@ -518,14 +520,26 @@ public class MapMarkersLayer extends OsmandMapLayer implements IContextMenuProvi OsmandApplication app = map.getMyApplication(); int r = getRadiusPoi(tileBox); + boolean selectMarkerOnSingleTap = app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get(); + for (MapMarker marker : app.getMapMarkersHelper().getMapMarkers()) { - if ((!unknownLocation && app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) || !isSynced(marker)) { + if ((!unknownLocation && selectMarkerOnSingleTap) || !isSynced(marker)) { LatLon latLon = marker.point; if (latLon != null) { int x = (int) tileBox.getPixXFromLatLon(latLon.getLatitude(), latLon.getLongitude()); int y = (int) tileBox.getPixYFromLatLon(latLon.getLatitude(), latLon.getLongitude()); + if (calculateBelongs((int) point.x, (int) point.y, x, y, r)) { - o.add(marker); + if (!unknownLocation && selectMarkerOnSingleTap) { + o.add(marker); + } else { + Amenity mapObj = null; + if (marker.mapObjectName != null && marker.point != null) { + mapObj = findAmenity(map.getMyApplication(), -1, + Collections.singletonList(marker.mapObjectName), marker.point); + } + o.add(mapObj == null ? marker : mapObj); + } } } } From 6e63b644bd7defdbd165542efb3fd5170720c0e9 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 15 Dec 2017 13:40:10 +0200 Subject: [PATCH 04/28] Open combined context menu for marker which was added on waypoint or favorite --- .../net/osmand/plus/FavouritesDbHelper.java | 13 ++++ .../net/osmand/plus/GpxSelectionHelper.java | 17 +++++ .../src/net/osmand/plus/MapMarkersHelper.java | 10 +++ .../FavouritePointMenuController.java | 8 +- .../controllers/WptPtMenuController.java | 10 ++- .../mapmarkers/MapMarkersActiveFragment.java | 59 +++++++------- .../mapmarkers/MapMarkersGroupsFragment.java | 76 +++++++++++-------- .../osmand/plus/views/MapMarkersLayer.java | 23 +++++- 8 files changed, 149 insertions(+), 67 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/FavouritesDbHelper.java b/OsmAnd/src/net/osmand/plus/FavouritesDbHelper.java index 47635fa5f9..a4a71c4efa 100644 --- a/OsmAnd/src/net/osmand/plus/FavouritesDbHelper.java +++ b/OsmAnd/src/net/osmand/plus/FavouritesDbHelper.java @@ -1,10 +1,13 @@ package net.osmand.plus; import android.content.Context; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.v7.app.AlertDialog; import net.osmand.PlatformUtil; import net.osmand.data.FavouritePoint; +import net.osmand.data.LatLon; import net.osmand.plus.GPXUtilities.GPXFile; import net.osmand.plus.GPXUtilities.WptPt; import net.osmand.plus.MapMarkersHelper.MarkersSyncGroup; @@ -451,6 +454,16 @@ public class FavouritesDbHelper { return fp; } + @Nullable + public FavouritePoint getVisibleFavByLatLon(@NonNull LatLon latLon) { + for (FavouritePoint fav : cachedFavoritePoints) { + if (fav.isVisible() && latLon.equals(new LatLon(fav.getLatitude(), fav.getLongitude()))) { + return fav; + } + } + return null; + } + public List getFavoriteGroups() { return favoriteGroups; diff --git a/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java b/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java index 3225081c2f..3cf44fe0a8 100644 --- a/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java +++ b/OsmAnd/src/net/osmand/plus/GpxSelectionHelper.java @@ -3,10 +3,12 @@ package net.osmand.plus; import android.graphics.Bitmap; import android.graphics.Matrix; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import net.osmand.AndroidUtils; import net.osmand.IProgress; +import net.osmand.data.LatLon; import net.osmand.plus.GPXDatabase.GpxDataItem; import net.osmand.plus.GPXUtilities.GPXFile; import net.osmand.plus.GPXUtilities.GPXTrackAnalysis; @@ -389,6 +391,21 @@ public class GpxSelectionHelper { return null; } + @Nullable + public WptPt getVisibleWayPointByLatLon(@NonNull LatLon latLon) { + for (SelectedGpxFile selectedGpx : selectedGPXFiles) { + GPXFile gpx; + if (selectedGpx != null && (gpx = selectedGpx.getGpxFile()) != null) { + for (WptPt pt : gpx.getPoints()) { + if (latLon.equals(new LatLon(pt.getLatitude(), pt.getLongitude()))) { + return pt; + } + } + } + } + return null; + } + public void setGpxFileToDisplay(GPXFile... gpxs) { // special case for gpx current route for (GPXFile gpx : gpxs) { diff --git a/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java b/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java index 5e45d9fe92..0d69166011 100644 --- a/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java +++ b/OsmAnd/src/net/osmand/plus/MapMarkersHelper.java @@ -598,6 +598,16 @@ public class MapMarkersHelper { return null; } + @Nullable + public MapMarker getMapMarker(@NonNull LatLon latLon) { + for (MapMarker marker : mapMarkers) { + if (marker.point != null && marker.point.equals(latLon)) { + return marker; + } + } + return null; + } + @Nullable public MapMarker getMapMarker(@NonNull String mapObjectName) { for (MapMarker marker : mapMarkers) { diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java index f9f16681ad..96dec7c05c 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/FavouritePointMenuController.java @@ -22,13 +22,17 @@ import net.osmand.util.Algorithms; public class FavouritePointMenuController extends MenuController { private FavouritePoint fav; + private MapMarker mapMarker; public FavouritePointMenuController(MapActivity mapActivity, PointDescription pointDescription, final FavouritePoint fav) { super(new FavouritePointMenuBuilder(mapActivity, fav), pointDescription, mapActivity); this.fav = fav; final MapMarkersHelper markersHelper = mapActivity.getMyApplication().getMapMarkersHelper(); - final MapMarker mapMarker = markersHelper.getMapMarker(fav); + mapMarker = markersHelper.getMapMarker(fav); + if (mapMarker == null) { + mapMarker = markersHelper.getMapMarker(new LatLon(fav.getLatitude(), fav.getLongitude())); + } if (mapMarker != null) { MapMarkerMenuController markerMenuController = new MapMarkerMenuController(mapActivity, mapMarker.getPointDescription(mapActivity), mapMarker); @@ -81,7 +85,7 @@ public class FavouritePointMenuController extends MenuController { @Override public boolean isWaypointButtonEnabled() { - return getMapActivity().getMyApplication().getMapMarkersHelper().getMapMarker(fav) == null; + return mapMarker == null; } @Override diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java index cf57c719e6..74c7fe2d44 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/WptPtMenuController.java @@ -3,6 +3,7 @@ package net.osmand.plus.mapcontextmenu.controllers; import android.graphics.drawable.Drawable; import android.support.v4.content.ContextCompat; +import net.osmand.data.LatLon; import net.osmand.data.PointDescription; import net.osmand.plus.GPXUtilities.WptPt; import net.osmand.plus.MapMarkersHelper; @@ -17,14 +18,17 @@ import net.osmand.util.Algorithms; public class WptPtMenuController extends MenuController { private WptPt wpt; + private MapMarker mapMarker; public WptPtMenuController(MapActivity mapActivity, PointDescription pointDescription, WptPt wpt) { super(new WptPtMenuBuilder(mapActivity, wpt), pointDescription, mapActivity); this.wpt = wpt; final MapMarkersHelper markersHelper = mapActivity.getMyApplication().getMapMarkersHelper(); - final MapMarker mapMarker = markersHelper.getMapMarker(wpt); - + mapMarker = markersHelper.getMapMarker(wpt); + if (mapMarker == null) { + mapMarker = markersHelper.getMapMarker(new LatLon(wpt.lat, wpt.lon)); + } if (mapMarker != null) { MapMarkerMenuController markerMenuController = new MapMarkerMenuController(mapActivity, mapMarker.getPointDescription(mapActivity), mapMarker); @@ -84,7 +88,7 @@ public class WptPtMenuController extends MenuController { @Override public boolean isWaypointButtonEnabled() { - return getMapActivity().getMyApplication().getMapMarkersHelper().getMapMarker(wpt) == null; + return mapMarker == null; } @Override diff --git a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java index d2e2181ddc..4f561ebdfe 100644 --- a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java +++ b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersActiveFragment.java @@ -33,8 +33,6 @@ import net.osmand.plus.mapmarkers.adapters.MapMarkersItemTouchHelperCallback; import net.osmand.plus.widgets.EmptyStateRecyclerView; import net.osmand.util.MapUtils; -import java.util.Collections; - public class MapMarkersActiveFragment extends Fragment implements OsmAndCompassListener, OsmAndLocationListener { private MapMarkersActiveAdapter adapter; @@ -65,39 +63,44 @@ public class MapMarkersActiveFragment extends Fragment implements OsmAndCompassL if (pos == RecyclerView.NO_POSITION) { return; } + MapMarker marker = adapter.getItem(pos); - if (mapActivity.getMyApplication().getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) { - mapActivity.getMyApplication().getMapMarkersHelper().moveMarkerToTop(marker); + OsmandApplication app = mapActivity.getMyApplication(); + if (app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) { + app.getMapMarkersHelper().moveMarkerToTop(marker); updateAdapter(); } else { - WptPt wptPt = marker.wptPt; - FavouritePoint favouritePoint = marker.favouritePoint; - Object objectToShow; - PointDescription pointDescription; - if (wptPt != null) { - pointDescription = new PointDescription(PointDescription.POINT_TYPE_WPT, wptPt.name); - objectToShow = wptPt; - } else if (favouritePoint != null) { - pointDescription = new PointDescription(PointDescription.POINT_TYPE_FAVORITE, favouritePoint.getName()); - objectToShow = favouritePoint; - } else { - Amenity mapObj = null; - if (marker.mapObjectName != null && marker.point != null) { - mapObj = mapActivity.getMapLayers().getMapMarkersLayer() - .findAmenity(mapActivity.getMyApplication(), -1, Collections.singletonList(marker.mapObjectName), marker.point); - } - pointDescription = mapObj == null - ? marker.getPointDescription(mapActivity) - : mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj); - objectToShow = mapObj == null ? marker : mapObj; + FavouritePoint fav = marker.favouritePoint == null + ? app.getFavorites().getVisibleFavByLatLon(marker.point) + : marker.favouritePoint; + if (fav != null) { + showMap(marker.point, fav.getPointDescription(), fav); + return; } - mapActivity.getMyApplication().getSettings().setMapLocationToShow(marker.getLatitude(), marker.getLongitude(), - 15, pointDescription, true, objectToShow); - MapActivity.launchMapActivityMoveToTop(mapActivity); - ((DialogFragment) getParentFragment()).dismiss(); + + WptPt pt = marker.wptPt == null + ? app.getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point) + : marker.wptPt; + if (pt != null) { + showMap(marker.point, pt.getPointDescription(mapActivity), pt); + return; + } + + Amenity mapObj = mapActivity.getMapLayers().getMapMarkersLayer().getMapObjectByMarker(marker); + PointDescription desc = mapObj == null + ? marker.getPointDescription(mapActivity) + : mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj); + showMap(marker.point, desc, mapObj == null ? marker : mapObj); } } + private void showMap(LatLon latLon, PointDescription desc, Object objToShow) { + mapActivity.getMyApplication().getSettings().setMapLocationToShow(latLon.getLatitude(), + latLon.getLongitude(), 15, desc, true, objToShow); + MapActivity.launchMapActivityMoveToTop(mapActivity); + ((DialogFragment) getParentFragment()).dismiss(); + } + @Override public void onDragStarted(RecyclerView.ViewHolder holder) { compassUpdateAllowed = false; diff --git a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersGroupsFragment.java b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersGroupsFragment.java index 9f23c3de6f..8e139ce0fb 100644 --- a/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersGroupsFragment.java +++ b/OsmAnd/src/net/osmand/plus/mapmarkers/MapMarkersGroupsFragment.java @@ -23,6 +23,7 @@ import android.widget.ImageView; import android.widget.TextView; import net.osmand.Location; +import net.osmand.data.Amenity; import net.osmand.data.FavouritePoint; import net.osmand.data.LatLon; import net.osmand.data.PointDescription; @@ -35,9 +36,9 @@ import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.dashboard.DashLocationFragment; +import net.osmand.plus.mapmarkers.SelectionMarkersGroupBottomSheetDialogFragment.AddMarkersGroupFragmentListener; import net.osmand.plus.mapmarkers.adapters.MapMarkerItemViewHolder; import net.osmand.plus.mapmarkers.adapters.MapMarkersGroupsAdapter; -import net.osmand.plus.mapmarkers.SelectionMarkersGroupBottomSheetDialogFragment.AddMarkersGroupFragmentListener; import net.osmand.plus.widgets.EmptyStateRecyclerView; import net.osmand.util.MapUtils; @@ -230,44 +231,59 @@ public class MapMarkersGroupsFragment extends Fragment implements OsmAndCompassL Object item = adapter.getItem(pos); if (item instanceof MapMarker) { MapMarker marker = (MapMarker) item; + OsmandApplication app = mapActivity.getMyApplication(); if (!marker.history) { - if (mapActivity.getMyApplication().getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) { - mapActivity.getMyApplication().getMapMarkersHelper().moveMarkerToTop(marker); + if (app.getSettings().SELECT_MARKER_ON_SINGLE_TAP.get()) { + app.getMapMarkersHelper().moveMarkerToTop(marker); updateAdapter(); } else { - WptPt wptPt = marker.wptPt; - FavouritePoint favouritePoint = marker.favouritePoint; - Object objectToShow; - PointDescription pointDescription; - if (wptPt != null) { - pointDescription = new PointDescription(PointDescription.POINT_TYPE_WPT, wptPt.name); - objectToShow = wptPt; - } else if (favouritePoint != null) { - pointDescription = new PointDescription(PointDescription.POINT_TYPE_FAVORITE, favouritePoint.getName()); - objectToShow = favouritePoint; - } else { - pointDescription = marker.getPointDescription(mapActivity); - objectToShow = marker; + FavouritePoint fav = marker.favouritePoint == null + ? app.getFavorites().getVisibleFavByLatLon(marker.point) + : marker.favouritePoint; + if (fav != null) { + showMap(marker.point, fav.getPointDescription(), fav); + return; } - mapActivity.getMyApplication().getSettings().setMapLocationToShow(marker.getLatitude(), marker.getLongitude(), - 15, pointDescription, true, objectToShow); - MapActivity.launchMapActivityMoveToTop(mapActivity); - ((DialogFragment) getParentFragment()).dismiss(); + + WptPt pt = marker.wptPt == null + ? app.getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point) + : marker.wptPt; + if (pt != null) { + showMap(marker.point, pt.getPointDescription(mapActivity), pt); + return; + } + + Amenity mapObj = mapActivity.getMapLayers().getMapMarkersLayer().getMapObjectByMarker(marker); + PointDescription desc = mapObj == null + ? marker.getPointDescription(mapActivity) + : mapActivity.getMapLayers().getPoiMapLayer().getObjectName(mapObj); + showMap(marker.point, desc, mapObj == null ? marker : mapObj); } } else { - HistoryMarkerMenuBottomSheetDialogFragment fragment = new HistoryMarkerMenuBottomSheetDialogFragment(); - fragment.setUsedOnMap(false); - Bundle arguments = new Bundle(); - arguments.putInt(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_POSITION, pos); - arguments.putString(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_NAME, marker.getName(mapActivity)); - arguments.putInt(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_COLOR_INDEX, marker.colorIndex); - arguments.putLong(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_VISITED_DATE, marker.visitedDate); - fragment.setArguments(arguments); - fragment.setListener(createHistoryMarkerMenuListener()); - fragment.show(getChildFragmentManager(), HistoryMarkerMenuBottomSheetDialogFragment.TAG); + showHistoryMenuFragment(pos, marker); } } } + + private void showMap(LatLon latLon, PointDescription desc, Object objToShow) { + mapActivity.getMyApplication().getSettings().setMapLocationToShow(latLon.getLatitude(), + latLon.getLongitude(), 15, desc, true, objToShow); + MapActivity.launchMapActivityMoveToTop(mapActivity); + ((DialogFragment) getParentFragment()).dismiss(); + } + + private void showHistoryMenuFragment(int pos, MapMarker marker) { + HistoryMarkerMenuBottomSheetDialogFragment fragment = new HistoryMarkerMenuBottomSheetDialogFragment(); + fragment.setUsedOnMap(false); + Bundle arguments = new Bundle(); + arguments.putInt(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_POSITION, pos); + arguments.putString(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_NAME, marker.getName(mapActivity)); + arguments.putInt(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_COLOR_INDEX, marker.colorIndex); + arguments.putLong(HistoryMarkerMenuBottomSheetDialogFragment.MARKER_VISITED_DATE, marker.visitedDate); + fragment.setArguments(arguments); + fragment.setListener(createHistoryMarkerMenuListener()); + fragment.show(getChildFragmentManager(), HistoryMarkerMenuBottomSheetDialogFragment.TAG); + } }); adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { @Override diff --git a/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java b/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java index 76ac2761dc..34216fc1c2 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapMarkersLayer.java @@ -533,11 +533,10 @@ public class MapMarkersLayer extends OsmandMapLayer implements IContextMenuProvi if (!unknownLocation && selectMarkerOnSingleTap) { o.add(marker); } else { - Amenity mapObj = null; - if (marker.mapObjectName != null && marker.point != null) { - mapObj = findAmenity(map.getMyApplication(), -1, - Collections.singletonList(marker.mapObjectName), marker.point); + if (isMarkerOnFavorite(marker) || isMarkerOnWaypoint(marker)) { + continue; } + Amenity mapObj = getMapObjectByMarker(marker); o.add(mapObj == null ? marker : mapObj); } } @@ -546,6 +545,22 @@ public class MapMarkersLayer extends OsmandMapLayer implements IContextMenuProvi } } + private boolean isMarkerOnWaypoint(@NonNull MapMarker marker) { + return marker.point != null && map.getMyApplication().getSelectedGpxHelper().getVisibleWayPointByLatLon(marker.point) != null; + } + + private boolean isMarkerOnFavorite(@NonNull MapMarker marker) { + return marker.point != null && map.getMyApplication().getFavorites().getVisibleFavByLatLon(marker.point) != null; + } + + @Nullable + public Amenity getMapObjectByMarker(@NonNull MapMarker marker) { + if (marker.mapObjectName != null && marker.point != null) { + return findAmenity(map.getMyApplication(), -1, Collections.singletonList(marker.mapObjectName), marker.point); + } + return null; + } + private boolean calculateBelongs(int ex, int ey, int objx, int objy, int radius) { return Math.abs(objx - ex) <= radius && (ey - objy) <= radius && (objy - ey) <= 2.5 * radius; } From 1e16b06abb3965850316c7be4a97acadaccfdfe3 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 15 Dec 2017 14:21:57 +0000 Subject: [PATCH 05/28] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3322 of 3322 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index faf2a9d924..999d609788 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -1600,7 +1600,7 @@ Servicio en el automóvil: No - Nombre de cervecería + Nombre de la cervecería Cerveza artesanal: No @@ -3704,7 +3704,7 @@ Buzón postal Calle Número de portal - Plano + Pisos de oficina Centro de pagos Transferencia de dinero From 5cfd50bfe1e9ddd42bd9ee7d1a1292aacaf1d8ae Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Fri, 15 Dec 2017 01:15:14 +0000 Subject: [PATCH 06/28] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2516 of 2516 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index 1dbf04b9aa..0e86a2b523 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2969,10 +2969,10 @@ OsmAnd (Automated Navigation Directions) 是一個地圖和導航的應用程式 按照類型 輕點在地圖上的標記,將其移動到活動標記的頂端,而不用打開內容選單。 變更搜尋的查詢。 - \\022 停止標誌的檢測現在考量駕駛的方向 -\n -\n• 為 GPX 軌跡提供有意義的上坡/下坡值的新運算法則 -\n + \\022 停止標誌的檢測現在考量了駕駛的方向 +\n +\n• 為 GPX 軌跡提供有意義的上坡/下坡值的新運算法則 +\n \n• 地形(上坡)察覺爬山時間(尼史密夫定律) \n \n From aa7c66507f65419dd08bd93c5edf223f8ea7bc81 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Fri, 15 Dec 2017 12:11:14 +0000 Subject: [PATCH 07/28] Translated using Weblate (Danish) Currently translated at 99.9% (2515 of 2516 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 29b222138d..717bd6e8e7 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -1596,7 +1596,7 @@ OSM er et i fællesskab drevet, globalt offentligt domæne kortlægningsprojekt. Skjul Tænd for skærmen Tænd for skærmen (hvis slukket) ved navigationsinstruktioner. - %1$s behøver denne tilladelse til at slukke for skærmen for strømbesparende funktion. + %1$s behøver denne tilladelse til at slukke for skærmen for strømbesparefunktion. From a0a4e61a7483fcd07b673ced6e6920b2e6975832 Mon Sep 17 00:00:00 2001 From: Mirco Zorzo Date: Fri, 15 Dec 2017 12:26:22 +0000 Subject: [PATCH 08/28] Translated using Weblate (Italian) Currently translated at 90.8% (2286 of 2516 strings) --- OsmAnd/res/values-it/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-it/strings.xml b/OsmAnd/res/values-it/strings.xml index c6318f8dda..5b1ffe99a8 100644 --- a/OsmAnd/res/values-it/strings.xml +++ b/OsmAnd/res/values-it/strings.xml @@ -2711,7 +2711,7 @@ Rappresenta l\'area: %1$s x %2$s In pausa Scrivi la città o il paese Scrivi il codice postale - Città nei dintorni + Città vicine Seleziona la città Seleziona il codice postale Seleziona la strada @@ -2740,7 +2740,7 @@ Rappresenta l\'area: %1$s x %2$s Nascondi dal livello di zoom Per visualizzare le linee isoipse nella mappa, devi scaricare la mappa delle linee isoipse per questa regione. Componente aggiuntivo - Per visualizzare le linee isoipse nella mappa, devi acquistare e installare il componente aggiuntivo Contour Lines + Per visualizzare le linee isoipse nella mappa, devi acquistare e installare il componente aggiuntivo delle curve di livello Schema colori Permetti l\'accesso alle proprietà private Permetti l\'accesso alle aree private. @@ -2837,7 +2837,7 @@ Rappresenta l\'area: %1$s x %2$s Distanziometro Aggiungi almeno un punto. Nome del file GPX: - Mostra sulla mappa dopo averlo salvato + Dopo averlo salvato mostralo sulla mappa Hai bisogno di internet per vedere le foto di Mapillary Aggiungi Waypoint Salva Waypoint GPX @@ -2852,7 +2852,7 @@ Rappresenta l\'area: %1$s x %2$s Aggiungi un punto prima Aggiungi un punto dopo Opzioni - OsmAnd aggiungerà i punti al percorso, in base al tipo di navigazione. + OsmAnd collegherà i punti ai percorso in base al profilo di navigazione. Puoi salvare i punti sia come punti di un percorso che come linea. Scegli il profilo di navigazione Uscire senza salvare? @@ -2898,7 +2898,7 @@ Rappresenta l\'area: %1$s x %2$s Evita strade di ghiaccio e guadi Evita strade di ghiaccio e guadi. Utilizza la posizione - Aggiungo la tua posizione come primo punto per pianificare un percorso perfetto. + Aggiungi la tua posizione come primo punto per pianificare un percorso perfetto. Mia posizione Fine Pianifica percorso @@ -2911,8 +2911,8 @@ Rappresenta l\'area: %1$s x %2$s Il gruppo verrà rimosso al prossimo riavvio dell\'app. Mostra le linee guida Mostra le frecce nella mappa - Mostra i precedenti - Nascondi i precedenti + Mostra superati + Nascondi i superati Navigazione GPS • Puoi scegliere fra la modalità offline (nessun costo di roaming quando sei all\'estero) oppure online (più veloce) • La guida vocale svolta per svolta ti guida lungo il percorso (voci registrate e sintetizzate) • Il percorso viene ricalcolato quando devii • Indicazioni di corsia, nomi delle strade e tempo di arrivo stimato saranno d\'aiuto lungo il percorso • Per rendere il percorso più veloce il passaggio dalla modalità diurna/notturna automatico •Puoi scegliere di visualizzare i limiti di velocità, ed essere avvisato quando li superi • Lo zoom della mappa si adegua alla velocità • Puoi cercare le destinazioni per indirizzo, per categoria (es.: parcheggio, ristorante, hotel, stazione di rifornimento, museo), oppure tramite le coordinate geografiche • Supporta i punti intermedi nel tuo itinerario • Puoi registrare la tua traccia GPX oppure caricarne una e seguirla Mappa • Mostra i PDI (punti di interesse) vicino a te • Disponi la mappa nella direzione del movimento (o della bussola) • Mostra dove sei e dove stai andando • Condividi la tua posizione perché i tuoi amici possano trovarti • Raccogli i luoghi più importanti nei Favoriti • Ti permette di scegliere come visualizzare i nomi nella mappa: in inglese, locale, oppure la pronuncia • Visualizza mattonelle online speciali, vista satellitare (di Bing), diverse sovrapposizioni come turistico/navigazione tracce GPX e strati aggiuntivi con trasparenze personalizzabili OsmAnd+ (OSM Automatizzata Navigazione Direzioni) è un\'applicazione di navigazione con l\'accesso ai dati delle mappe mondiali, gratuite e di grande qualità OpenStreetMap (OSM). Goditi la navigazione con indicazioni visive e vocali, la visualizzazione dei PDI (punti di interesse), creando e gestendo le tracce GPX, usando visualizzazione delle linee isoipse e dell\'altitudine, scegliendo fra le modalità auto, bici, pedone, modifiche OSM e molto altro. OsmAnd+ è la versione dell\'app a pagamento. Acquistandola supporti il progetto, finanzi lo sviluppo di nuove funzionalità e ricevi gli ultimi aggiornamenti. Alcune delle maggiori caratteristiche: @@ -2931,10 +2931,10 @@ Rappresenta l\'area: %1$s x %2$s Il file %1$s non contiene punti intermedi, importarlo come traccia? Sposta il punto Aggiungi a una traccia GPX -Si é verificato un errore: la nota non è stata modificata +Si è verificato un errore: la nota non è stata modificata Strada Mostra la mappa - Percorso ricalcolato + Il percorso è calcolato Percorso circolare Devi aggiungere almeno un marcatore per utilizzare questa funzionalità. Dati immessi errati @@ -2998,7 +2998,7 @@ Rappresenta l\'area: %1$s x %2$s Tappa un marcatore sulla mappa per muoverlo al primo posto nei marcatori attivi senza aprire il menù contestuale. Un solo tap attivo Prendi delle note! - Aggiungi note audio, video o foto ad ogni punto sulla mappa, utilizzando il widget o il menù contestuale. + Aggiungi note audio, video o foto in qualsiasi punto sulla mappa, utilizzando il widget o il menù contestuale. Note ordinate per data Per data Per ordine alfabetico From f9b00ad8fb1937009547c374a88c39f9d3078107 Mon Sep 17 00:00:00 2001 From: iman Date: Fri, 15 Dec 2017 09:27:18 +0000 Subject: [PATCH 09/28] Translated using Weblate (Persian) Currently translated at 100.0% (2516 of 2516 strings) --- OsmAnd/res/values-fa/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-fa/strings.xml b/OsmAnd/res/values-fa/strings.xml index 4a626b1d34..a64f1e2d11 100644 --- a/OsmAnd/res/values-fa/strings.xml +++ b/OsmAnd/res/values-fa/strings.xml @@ -2977,7 +2977,7 @@ بر اساس تاریخ بر اساس نوع \@string/shared_string_history - کلمات جست‌وجوشده را اصلاح کنید. + عبارت جست‌وجوشده را اصلاح کنید. • تشخیص علائم ایست با توجه به مسیر رانندگی \n \n• الگوریتم جدید برای دادن مقادیر صعود و نزولِ مناسب به مسیرهای GPX From bd48a691055ae18affedd4d9b6d2f7c84b252ef2 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 15 Dec 2017 14:22:31 +0000 Subject: [PATCH 10/28] Translated using Weblate (Spanish (American)) Currently translated at 99.9% (3321 of 3322 strings) --- OsmAnd/res/values-es-rUS/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-es-rUS/phrases.xml b/OsmAnd/res/values-es-rUS/phrases.xml index 3e2cefa71e..9298438932 100644 --- a/OsmAnd/res/values-es-rUS/phrases.xml +++ b/OsmAnd/res/values-es-rUS/phrases.xml @@ -1487,7 +1487,7 @@ Conducir dentro: No Servicio en el automóvil: No - Nombre de cervecería + Nombre de la cervecería Cerveza artesanal: No Comida para llevar: Sí From c482594b179ac47b52ed6c23db57a498d3984ef5 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Fri, 15 Dec 2017 18:21:34 +0200 Subject: [PATCH 11/28] Add new icon Route Distance for Route Preparation screen --- .../drawable-hdpi/ic_action_route_distance.png | Bin 0 -> 1534 bytes .../drawable-mdpi/ic_action_route_distance.png | Bin 0 -> 1313 bytes .../drawable-xhdpi/ic_action_route_distance.png | Bin 0 -> 1719 bytes .../drawable-xxhdpi/ic_action_route_distance.png | Bin 0 -> 2131 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/ic_action_route_distance.png create mode 100644 OsmAnd/res/drawable-mdpi/ic_action_route_distance.png create mode 100644 OsmAnd/res/drawable-xhdpi/ic_action_route_distance.png create mode 100644 OsmAnd/res/drawable-xxhdpi/ic_action_route_distance.png diff --git a/OsmAnd/res/drawable-hdpi/ic_action_route_distance.png b/OsmAnd/res/drawable-hdpi/ic_action_route_distance.png new file mode 100644 index 0000000000000000000000000000000000000000..fd22d832b734a19f7d022a9bb5234469edcbd401 GIT binary patch literal 1534 zcmbVMZBWx@9FKs!IXA{}__E1DD;>_IN!pYqu@z}k1fhtfDmu0^O;U)^q)UP=Y%&Mu z9L^m#Wy70u2&W7Y#mPL~P|-~{U+`@&hd6cY1INx2oi}x--sw`LZXY~9EO*KCJpbqS z`@jEFUsy1AV*J#2001WD=1?wmogR8)qt);4z{ZX0GDUF|D@CGL3D6P;WU-=$19N?J zDd*y7w(89joCN?PgS@*~DR$H;@YUCt1!CUZ7u36iP;AE(e@&{rYIWYDS^)k~`TkQmm0 zqY$Oss(Iv8v9l1gixLN#^cfI?8gbA}=us1a8?aYF1A=D22mzxQgrFoskO&HnJsQ=T z#Ck~=l|5!lJy|tnisC0>I1mWv14g|lmBJ`N5HMnZ4F*U>KysC!&_PI$wP6huCo>Z7 zS9nnXLmFw1SgBYws;7@a@cEt2$BG4cEKzF8;2`aXQ9T0te4)5T(X!&={&nMtXxUxm z=U^8nidvXt#%|ZU)nxG{Xxa;fzqB z9>q;@62F3DvnA07j%J$VpWp?SVKjOO4+ELJW&*+(GX{A~C;^#JFH18tW<*V9%^08k zzZry8r{GY#{HJ}wBDE(&+sDJ89v+VqC#W+dsl$RqZoLHn5ijOaS?=J)YfX815et%j zSorhDJ8Qw#HFt_{#kGED1r6_md-`8#?cdYi0e0*?f5ox0HGOHEW5-n^8EzJf&;@XkgedQrdTCa_aFj*Y@Yn>XOsfq4C1unElb(rMj7m z6F1!GmS*Ar@4vNU-v!R)+TQ5>!<_n_a=@?Kv}o0YPS@Ref&evlPCKwFV{^*#Hp`qB zQs)dMA1p6RaWB~Q@@3bdXG$9Xs=i%^ZY~(^o0`zFSC`C21|QsPsQB&SjH4a*(!RTU zq^0kYeQ;dtpz~#c$I3>r-oWNAJ1fm$Y9l%&PHbzUxcaP!eOgS@xyP zYk8yToHjlC*P_lQ-R>Oo-H6xMi|Zc*`mQ%l=~^>zzE+#P0_o_%dq$2eYNoGTq+8Y| z;3v*>FFUk(QODvnb>Eiko7Wp#HET(}Woue}Tt@nZvy>E>B7Fgmiw5#Wo?ZLe;O(2CKXR_4fZAnSR{IZNBQPZZ literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-mdpi/ic_action_route_distance.png b/OsmAnd/res/drawable-mdpi/ic_action_route_distance.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed3fe5e9d4eff94f55f8598132e5ab6d3ac286a GIT binary patch literal 1313 zcmbVMZEO=|9KWv4DPwL3xH$=4Zo~|;>%H`D*E?29+v`}#T93Ag)epkGJYCPNckSKH zc1sLHa25kI!D%pC0w0hsfB|A6(F8-70is4@{DPTEmgpBv48)K{Ve`3doqkyO;3ap@ z^ZcLR@BjY4BT{mA)4KL`2!b@l`@|Gn+uZlDN8$H&IXDlOr=3{VNt-#REL#8xYo-Fw zctIWjDIjYjrJJA!LA(_`lXbF*enB-0KH0_iDup6sBS=rEQk2y};GhZ^(2XGW$7i2o zsICRE7uf`vC`LhE?;Ev1dNi3)M+a42!$LdJo{9h!6o4b6mBNr=3zZs+%Brf?{xz5=dSkDRkw*pfyX& z2`RC6#TGmTvAp9H1%fD-%f7PTXIcXU#q&Ht(gaQ85P{nxh9g&S!|teQ5P_{)dePBM z19dgZiaG2AG3e=X2!&!Iv8vdxR}uwNMpWb?LHS6cP;lc~LfcLX{OiV=Xgf1f1Vjqh z=CGy0dgMB4WSF~$8*+ir8{q{@heeTxL{l9u0KJMh(@Ds)j6~?A*;IK3b(t3T8>);mi`*h zdM&enE@fKK*YJYr_WKoHQE@iM@i?P$46d*gkF!)xlU14VQ!IzA@U{P&K>|8Oxb5ff2( z)N(KC6#Q*Eug<4<+%pV@HpyIr%5Gqd@*eFrbMRZphc#gcUGo5<@Mnt>htrE|iY zz0hAbSC)Dne?BKRHC{gT=Z5`ZnU##8t~@b=_1*pX)W`8J zkW%wRlhUi6bEoS!SH`7<5%iVAXAgrd=ihCZts6tU$i0&FTknr&r`(@bJeCwc IitK;mA6@9SDgXcg literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xhdpi/ic_action_route_distance.png b/OsmAnd/res/drawable-xhdpi/ic_action_route_distance.png new file mode 100644 index 0000000000000000000000000000000000000000..46c011ed8b242ab338e85a7cc167369c20f4ef84 GIT binary patch literal 1719 zcmbVNX;2eq7+wxh0SgLvR$LPZR82OUI}rqufP@;r5CvL~Y&IJbCD|N{3AB`e;4!pF zhXP`Cv{gW-GtvRXg9@mnr5<3d)ccqss0~V684j)54T9|t#~H`RS~E4j=eV$+BeTuayx3kJk!a5V+KDk(5-f zoGCX+Fr7X=$AYEgBr4IIji^vViCP9m*hQoQ14baA-H>UtitLe;F})&k?-D~4a126h zjHJABDovgYN^lDXav3~23bO?uU&w&DLII1j1Y|K`9>f$vFo({BMNFZH34`Mgg|ueT zXhjNX+_)|B6iLw$gh>QJHk*xMV>56|1_TR*LWs$NSS&h;pj)$z1Y)Nft<(t(Qp}24 z^d>@&8$p*wM2%+=krdL?S0NZoa`|h;M(cQ@$do~L#00?%CS)+U;u=F+2?h4A8*fBg zmDwf?Qeaj*%Yu^i&{8MJWbWQ>$OR<55hYplWKobzDUN0tFe4$8MpDQdhDNUuX#`9S zpQ9Dfg&Yo_&Vhw&x`3tD(lHh+L^Ns*7lY9WJ#XTRS!}L=87q+rIdL!?%NN9oxnfu< zX2uF6Y?gpC!Ic@U1Y$(73EO(o_BdDkR<1~5!4LwsC~-VhvXH~V?>@a20NlG} z(io-vdVjh+epO6h%P^vfnkQL&#FA>PUyw=$;%#BRj~&;ZGGpf zmOi;1MF-+C^|*Hu%Z@1#U8z3BVy{SyY&oDtyfDVrTmluErcobS9G zwL@MZ3(0RaQ=&KLd9S(H`11TvvpLR(3^yscD@W;Wg92LGzuwYFlIb!opqEe+fzzSF4X*_y!O0OpNbc<#(gkJ(s!= ztgCF?`e?zKBbx$t28hii&a>*UV6Pg->bv0na_71VHT9SBVZ~@%a95K4eCLNfb2>Dv z7FGE3f@K#T9xcf#|Llct$7b`|qux!11vE!1};Je*fqPzgp`9cLL&?tta=E%{}b1h+1&_6w(ly zTmPvi4cOuL;PR;dSq2nweXqxW`*cSw)bsN}-G+Nj`^3&e0V5qgymnD_SInJfj?yA+ z{^IPXDL1--^n;DXvx5)+u)qDxfg*$YBibjc+xmdoE6W!?y7`n1bkY3R-J(6@8lSbz z-BJbUy(ByW(lk2 z9;p#5U(m<9)w4l2d6$<;X)cSI{33|4-ZR|oa`8vuwY~Vt0PtbfP#q{Qe1~0^U_LlZ zm6e%HLv@rg8f21;RMsD;JZ0RL*Kn!(fPH@Jxocarx;TE{{t*As_KHx|)HL@BN9Z4W b`=>GiYxJLwuCz!yUB41pY@+nASXJ;3Evk(^ literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-xxhdpi/ic_action_route_distance.png b/OsmAnd/res/drawable-xxhdpi/ic_action_route_distance.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b06e899fda06bffae67622236015113dbeba52 GIT binary patch literal 2131 zcmbVNc~ld39*-g10;^Jxg)L){3P_I0K@N#>gd>y$2xk1Zf;1J2#MFokZec?V}hj`F%0ljP#P?R zA!$xVCme{uSQr!uB1FWGW=k|GB4pMf8dO>ojll$NFlZr3I*b5fI8CAE;Geer6Avh) z9Q>c@d@^4f3dR z5dII1cWUbsa2fI zuF(Raq2{VH03SXiQK-#AUvr_}#Lb0uiY!tl2B44bG!Uk`z(sko-`ld4g-35J5I0~ogp1M zEJ09hF9w6l;BkW!3?mbV5+j}CR$jeU3x~UssjW3P%a+>PeZ4!%3s337H!>#oe}&|? z*gIFBDED@j^PCQZYnJV_-27tydtY&JQ>mshqSHqc;_2(R=R9Y5-L$ly66 zM&nI=ukrQtY;T^v*X`){PhI^wD`RXw#|g2%g;haOfOq-wNZZf%qlELJK9=oM`$P&x_-v0 zU~=5JYOX1zPHf>&mps;>c5hbEnGU-Y&(FHqxkr7ybI#6rmRiAlh+OI0@=H#O-(6hP zz2QnN-rzTIrLajt{QJeDmLrXit=rliwFmZ;g~Z%q`Mz_16NbXdr2bZV}gsIh#Ncd7bDo_9-%Pv8N6 zdz^h>Nlz?x*1<95H?N+I3cbyVdw>!jaA0XZ&Ivp8RAtRy62yb~w23_GHb~vQKx$$?}uF4Q~15OLEH0 zx5p+%M6Ny{cKj4MF3ZU&j9IPB9>i4+QQZ&uuh{ry+?us@NnZ$S4slMr{Oi3Cpx_*7 zZ@ahsNp+yeq+WLO1*IeE7Kii)|Kr!casSOK#vbRoxwuDU|Ilq;fQw-hAleSQ+P;@_ zwYAjEA?4g<_R#j88{7T_xn~*6+?vQGtwB6?sP#0^wOpCj&hFi@;zmqFvhTjWnadZK zM5U~LRms0ys%&f>C|SQ}$f-Y-QMN7xcdiAn{w!%AX$UH+B8#N@)Ab-+TQw($Ifhj`XeLn@Rrjy_q#fd zscUl^+)ufVIkfLy+IE4^y%xR`z=$FC$>UZx-de5P^0%i$r}Mwa>(?gLBw|-qVyC8f z-uRa1cU^Z4av#*!h-Q-gXU;a-{_y=shrp5Sx&78CpC)Kte=`1mh8rj3%?~{5=$suH Y(=(jg@0V@!#QdA*g$cOLA*n_G25dh@NB{r; literal 0 HcmV?d00001 From 4d2bdd803bc64cb5c76fc7ea7f159a396d0bb4e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Babos=20G=C3=A1bor?= Date: Fri, 15 Dec 2017 22:22:34 +0000 Subject: [PATCH 12/28] Translated using Weblate (Hungarian) Currently translated at 100.0% (3322 of 3322 strings) --- OsmAnd/res/values-hu/phrases.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml index 6eadfacf79..ec396ceb05 100644 --- a/OsmAnd/res/values-hu/phrases.xml +++ b/OsmAnd/res/values-hu/phrases.xml @@ -3660,4 +3660,12 @@ Járműtároló +Levélszekrény + Utca + Házszám + Lakás száma + + Befizetőpont + Pénzküldő + From e51eeeaf650319e45189800f594a263985d2f60d Mon Sep 17 00:00:00 2001 From: Softmap Date: Fri, 15 Dec 2017 16:08:52 +0000 Subject: [PATCH 13/28] Translated using Weblate (Arabic) Currently translated at 96.9% (2440 of 2516 strings) --- OsmAnd/res/values-ar/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index 541c0a2b63..920fef76b9 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -2845,7 +2845,7 @@ تعيين كمتجاوز إنشاء أو تعديل أشياء OSM إنشاء أو تعديل OSM POI، فتح أو التعليق على ملاحظات OSM والمساهمة بملفات GPX مسجلة. - تم حذفه + حُذف تم تعديله تمت إضافة تغيير طلب البحث. From 97b9164e19f4b3787b6ed2c2e97d7b82e7313336 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Fri, 15 Dec 2017 22:24:00 +0000 Subject: [PATCH 14/28] Translated using Weblate (German) Currently translated at 98.8% (2486 of 2516 strings) --- OsmAnd/res/values-de/strings.xml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index b6632cf444..a916f5b78e 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -2109,9 +2109,9 @@ Lon %2$s neu erstellen Weiter %.1f MB - Bitte einen gültigen POI-Typ angeben oder überspringen + Bitte einen gültigen POI-Typ angeben oder überspringen. OSM-Bearbeitung mit OsmAnd geteilt - GPX-Datei mit Notizen + GPX-Datei mit Notizen. Anzeige der genutzten freien Downloads. Standort @@ -2225,7 +2225,7 @@ Derzeit sind nur {2} MB verfügbar. Öffentlicher Name Meinen Namen nicht in Berichten anzeigen Monatliche Kosten - Monatliche Zahlung + Monatliche Zahlung. Aktiv Inaktiv Bitte gültige E-Mail-Adresse eingeben @@ -2234,7 +2234,7 @@ Derzeit sind nur {2} MB verfügbar. Abonnementeinstellungen Bitte kaufen Sie zuerst ein OsmAnd-Live-Abonnement - Teile Ihrer Spende werden an OSM-Mitwirkende weitergegeben, die diese Region bearbeiten + Teile Ihrer Spende werden an OSM-Mitwirkende weitergegeben, die diese Region bearbeiten. Dieses Abonnement schaltet stündliche Updates für die gesamten weltweiten Karten frei. Ein Teil dieser Einnahmen geht zurück an die OSM-Gemeinschaft, eine Auszahlung erfolgt je nach Anzahl der Beiträge zu den OSM-Daten. Wenn Sie OsmAnd und OSM lieben und unterstützen wollen, so ist dies die perfekte Möglichkeit. @@ -2317,7 +2317,7 @@ Wenn Sie OsmAnd und OSM lieben und unterstützen wollen, so ist dies die perfekt Bus Zug Koordinatenformat - Format geographischer Koordinaten + Format geographischer Koordinaten. 24/7 geöffnet Speicherkarte @@ -2660,7 +2660,7 @@ Abgedeckte Fläche: %1$s x %2$s Drücken der Aktionstaste fügt die zum Bildschirmmittelpunkt gehörende Position als ersten Zwischenstopp ein. Fehler Tragen Sie sich in unsere Mail-Liste zu App-Angeboten ein, und erhalten Sie dafür 3 zusätzliche Karten-Downloads! - Kartensatz, der die Meeresbodenkonturlinien und Meerestiefen enthält. + Kartensatz, der die Meeresbodenkonturlinien und nautischen Punkte enthält. Vielen Dank, dass Sie die Meerestiefenkonturen erworben haben! Nautische Tiefenkonturen Nautische Meerestiefen der Südhalbkugel @@ -2730,7 +2730,7 @@ Abgedeckte Fläche: %1$s x %2$s Berechtigungen OsmAnd kann die Datei nicht importieren. Überprüfen Sie, ob OsmAnd Leserechte für den Dateispeicherort besitzt. Benutzernamen eingeben - Bilder betrachten, die von einem bestimmten Benutzer eingestellt wurden. + Nur Bilder betrachten von Benutzername Erneut laden Kacheln neu laden, um nach Datumswerten zu suchen. @@ -2738,8 +2738,8 @@ Abgedeckte Fläche: %1$s x %2$s Falscher Benutzername! Bis Von - Bilder betrachten, die in einem bestimmten Zeitabschnitt eingestellt wurden. - Datumswerte + Nur hinzugefügte Bilder betrachten + Datum Durchschnitt max/min Zurücksetzen @@ -2831,7 +2831,7 @@ Abgedeckte Fläche: %1$s x %2$s Gestern Letzte 7 Tage Dieses Jahr - Passiert: %1$s + Zuletzt verwendet: %1$s Markierungen Koordinatenformat Format zur Koordinateneingabe auswählen. Kann durch Anklicken von »Einstellungen« jederzeit geändert werden. @@ -2847,7 +2847,7 @@ Abgedeckte Fläche: %1$s x %2$s Markierungen in die hier festgelegte Datei exportieren: Als Track speichern In den Verlauf verschieben - Gruppe wird bei einem Neustart entfernt + Gruppe wird beim nächsten Neustart entfernt. Passierte anzeigen Passierte ausblenden Auswahl der Anzeige für Entfernungen und Richtungen zu Kartenmarkierungen in der Kartenansicht: @@ -2864,10 +2864,10 @@ Abgedeckte Fläche: %1$s x %2$s Beenden Gerätetastatur verwenden Kartenmarkierung auf Karte verschoben - • Komplett überarbeitete Kartenmarkierungen mit Linien und Routenplanung -\n -\n• Entfernungsmesser bietet ausrichten auf Straße Funktion und speichern als Track -\n + • Komplett überarbeitete Kartenmarkierungen mit Linien und Routenplanung +\n +\n• Entfernungsmesser bietet ausrichten auf Straße Funktion und speichern als Track +\n \n• Bug-Fixes, neue Daten auf dem Server alle 30 Minuten, Updates implementiert in der Navigation \n \n @@ -2924,5 +2924,5 @@ Abgedeckte Fläche: %1$s x %2$s kann als Favoriten-Punkte oder als Track-Datei importiert werden. Audio-, Video- oder Fotonotizen zu jedem Punkt auf der Karte über Widget oder Kontextmenü hinzufügen. Notizen nach Datum - Berührung der Karte wechselt zwischen Steuerungselementen und Widgets. + Berührung der Karte verbirgt Steuerungselementen und Widgets. From 795643567aa6632ffb06dc4a216f4dbcf867a28e Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Fri, 15 Dec 2017 22:23:41 +0000 Subject: [PATCH 15/28] Translated using Weblate (Hebrew) Currently translated at 84.6% (2129 of 2516 strings) --- OsmAnd/res/values-he/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index c46641e69f..104746d74d 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -2483,4 +2483,5 @@ יש להגדיר כדי לצורך הקראה של שמות רחובות, אזהרות תנועה (עצירות מאולצות, פסי האטה), אזהרות על מצלמות מהירות, מגבלת מהירות. הפעלת הנפשת גלישת מפה של המיקום שלי במהלך ניווט. ב־%1$s + ניתן לגעת בסמן על המפה כדי להעביר אותו לראש הסמנים הפעילים מבלי לפתוח את תפריט ההקשר. From 6bc03db099d456fa8426f4c00dbac7e700d0d0cd Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Fri, 15 Dec 2017 22:14:43 +0000 Subject: [PATCH 16/28] Translated using Weblate (Sardinian) Currently translated at 72.7% (2417 of 3322 strings) --- OsmAnd/res/values-sc/phrases.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml index 18b1e76aea..6d25eddf8a 100644 --- a/OsmAnd/res/values-sc/phrases.xml +++ b/OsmAnd/res/values-sc/phrases.xml @@ -2679,4 +2679,9 @@ Visibilidade: àrea Istadu operativu - + Istrada + Nùmeru tzìvicu + Tzentru de pagamentu + Tramudòngiu de dinare + + From 83a899d6e36260878f4c296f2495b2c65e9a7c52 Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Fri, 15 Dec 2017 22:58:34 +0000 Subject: [PATCH 17/28] Translated using Weblate (German) Currently translated at 100.0% (3322 of 3322 strings) --- OsmAnd/res/values-de/phrases.xml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 3ba63ce29a..34167037ce 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -3013,7 +3013,7 @@ Gewürzgeschäft -Typ +Kraftstoffart Zahlungsart Zusätzlich Ladestation: ja @@ -3021,7 +3021,7 @@ Geschäft für Kunsthandwerksbedarf - Typ + Kraftstoffart (avia) Tankkarten Internet-Zugangsart Typ @@ -3647,4 +3647,16 @@ Lager +Kartengröße: Platz + Kartengröße: Stadt + Kartengröße: Region + + Briefkasten + Straße + Hausnummer + Flach + + Zahlungs-Zentrum + Überweisung + From 45003c897d2a456042afba4b831ce5d729578744 Mon Sep 17 00:00:00 2001 From: PaulStets Date: Sat, 16 Dec 2017 17:06:29 +0200 Subject: [PATCH 18/28] Added navigation for the boat profile --- OsmAnd-java/src/net/osmand/router/GeneralRouter.java | 3 ++- OsmAnd/src/net/osmand/plus/routing/RouteProvider.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/OsmAnd-java/src/net/osmand/router/GeneralRouter.java b/OsmAnd-java/src/net/osmand/router/GeneralRouter.java index d9204779a3..694493c8d8 100644 --- a/OsmAnd-java/src/net/osmand/router/GeneralRouter.java +++ b/OsmAnd-java/src/net/osmand/router/GeneralRouter.java @@ -87,7 +87,8 @@ public class GeneralRouter implements VehicleRouter { public enum GeneralRouterProfile { CAR, PEDESTRIAN, - BICYCLE + BICYCLE, + BOAT } diff --git a/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java b/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java index fef10ce10f..ef847f7d8b 100644 --- a/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java +++ b/OsmAnd/src/net/osmand/plus/routing/RouteProvider.java @@ -728,6 +728,8 @@ public class RouteProvider { p = GeneralRouterProfile.PEDESTRIAN; } else if(params.mode.isDerivedRoutingFrom(ApplicationMode.CAR)){ p = GeneralRouterProfile.CAR; + } else if (params.mode.isDerivedRoutingFrom(ApplicationMode.BOAT)) { + p = GeneralRouterProfile.BOAT; } else { return null; } @@ -830,7 +832,7 @@ public class RouteProvider { } private RouteCalculationResult applicationModeNotSupported(RouteCalculationParams params) { - return new RouteCalculationResult("Application mode '"+ params.mode.toHumanStringCtx(params.ctx)+ "'is not supported."); + return new RouteCalculationResult("Application mode '"+ params.mode.toHumanStringCtx(params.ctx)+ "' is not supported."); } private RouteCalculationResult interrupted() { From f579d2d1d9fe9b1bf101ee1c463ebf288ba489df Mon Sep 17 00:00:00 2001 From: anonymous <> Date: Sat, 16 Dec 2017 20:10:00 +0000 Subject: [PATCH 19/28] Translated using Weblate (Portuguese (Brazil)) Currently translated at 71.5% (1800 of 2516 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 239acb579e..576735f23b 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -2264,4 +2264,7 @@ Pôr do Sol: %2$s Velocidade mínima para registro Acuidade mínima para registro Formato para as coordenadas geográficas - + Voltar + Ver + Pontos de passagem adicionados nos marcadores de mapa + From 3db5096ec52e8fdb68bbc33cf9d9aefe48c3e9d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ja=C5=ADhien?= Date: Sat, 16 Dec 2017 13:03:49 +0000 Subject: [PATCH 20/28] Translated using Weblate (Belarusian) Currently translated at 100.0% (2516 of 2516 strings) --- OsmAnd/res/values-be/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-be/strings.xml b/OsmAnd/res/values-be/strings.xml index 3b6da2457c..96b3dd8b7e 100644 --- a/OsmAnd/res/values-be/strings.xml +++ b/OsmAnd/res/values-be/strings.xml @@ -2937,7 +2937,7 @@ Імпартаваць як GPX-файл Імпартаваць як Улюбёныя Імпартаваць файл - Дотык на мапе хавае кнопкі кіравання і віджэты. + Дотык на мапе хавае кнопкі кіраваньня і віджэты. Поўныэкранны рэжым Паказаць на верхняй панэлі Адзначыць прайдзеныя From 678d7057054fccfc077af55d90b6c279256e4e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ja=C5=ADhien?= Date: Sat, 16 Dec 2017 13:04:00 +0000 Subject: [PATCH 21/28] Translated using Weblate (Belarusian (latin)) Currently translated at 100.0% (2516 of 2516 strings) --- OsmAnd/res/values-be-rBY/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-be-rBY/strings.xml b/OsmAnd/res/values-be-rBY/strings.xml index 1165f5d23b..90fd35c999 100644 --- a/OsmAnd/res/values-be-rBY/strings.xml +++ b/OsmAnd/res/values-be-rBY/strings.xml @@ -2888,7 +2888,7 @@ U vypadku, kali vy lubіcie OsmAnd і OSM і chočacie padtrymać jaho, heta іd Impartavać jak GPX-fajł Impartavać jak Ulubionyja Impartavać fajł - Dotyk na mapie chavaje knopki kiravannia i vidžety. + Dotyk na mapie chavaje knopki kiravańnia i vidžety. Poŭnyekranny režym Pakazać na vierchniaj paneli Adznačyć prajdzienyja From 4356373bd396c5a057b06261aee21a05e4b8830d Mon Sep 17 00:00:00 2001 From: Hakuchi Date: Fri, 15 Dec 2017 23:01:33 +0000 Subject: [PATCH 22/28] Translated using Weblate (German) Currently translated at 99.5% (2504 of 2516 strings) --- OsmAnd/res/values-de/strings.xml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index a916f5b78e..b95284eae0 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -177,7 +177,7 @@ Diese Erweiterung aktiviert Entwicklereinstellungen und Funktionen zur Fehlersuche, wie Testung oder Simulation der Routenberechnung, der Bildschirm-Render-Leistung oder der Sprachsteuerung. Diese Einstellungen sind für Entwickler gedacht und werden für die Verwendung von OsmAnd sonst nicht benötigt. Erweiterungen - Erweiterungen aktivieren weiterte Einstellungen und zusätzliche Funktionen + Erweiterungen aktivieren weitere Einstellungen und zusätzliche Funktionen. Erweiterungen Diese Erweiterung ermöglicht das Erstellen und Bearbeiten von OSM-POI-Objekten, das Eintragen oder Kommentieren von OSM-Notizen, sowie das Hochladen von GPX-Dateien als Beiträge zu OSM (benötigt ein OSM-Benutzerkonto). \n @@ -275,7 +275,7 @@ Online-Aufzeichnung starten Online-Aufzeichnung beenden Aktuellen Track anzeigen - Diese kostenlose Version von OsmAnd ist limitiert auf %1$s Downloads und unterstützt keine offline Wikipedia-Artikel. + Diese kostenlose Version von OsmAnd ist limitiert auf %1$s Downloads(Zum Hinzufügen und Aktualisieren der Karten) und unterstützt keine offline Wikipedia-Artikel. Kostenlose Version Zeige POI-Beschreibung. Nordamerika @@ -383,7 +383,7 @@ Datei mit gleichem Namen besteht bereits. Speichern - GPX-Dateien an OSM-Gemeinschaft übermitteln. Die Dateien können dort zur Kartenverbesserung verwendet werden. + GPX-Dateien an die OSM-Gemeinschaft übermitteln. Die Dateien können dort zur Kartenverbesserung verwendet werden. %1$d von %2$d Datei(en) erfolgreich hochgeladen. An OSM senden Mehr Kartendetails @@ -462,15 +462,15 @@ Keine(r/s) Overlay-Karte Karte als Überlagerung auswählen. - Karte schon installiert, Einstellungen werden aktualisiert - Wähle Karten(Kacheln) zu installieren oder aktualisieren - Internet Verbindung erforderlich, aber nicht verfügbar! + Karte schon installiert, Einstellungen werden aktualisiert. + Wähle Karten(Kacheln) zu installieren oder aktualisieren. + Internet Verbindung erforderlich, aber nicht verfügbar. Weitere installieren… Niedrigste Zoomstufe mit der Vektorkarten (statt Kacheln) verwendet werden sollen. Min. Vektor-Zoomstufe - Online OSM Klassifizierung mit Bildern" + Online OSM Klassifizierung mit Bildern. Fehler in der Offline-Suche aufgetreten Konnte geointent nicht verarbeiten: \'%s\' Adresssuche mit Offline-Daten @@ -587,8 +587,8 @@ Telefon Nach Typ filtern Hochauflösende Anzeige - Unterdrückt Streckung (Unschärfe) von Kartenkacheln auf manchen Anzeigen - Standort noch nicht ermittelt + Unterdrückt Streckung (Unschärfe) von Kartenkacheln auf manchen Anzeigen. + Position noch nicht bekannt Suche ÖPNV ÖPNV-Ergebnisse (kein Ziel): @@ -1263,7 +1263,7 @@ Proportionaler Speicher %4$s MB (Android Limit %5$s MB, Dalvik %6$s MB).LKW Navigationseinstellungen Einstellungen für Routenberechnung - Sprachgeschwindigkeit der TTS-Ausgabe + Sprachgeschwindigkeit der TTS-Ausgabe bestimmen. Sprachgeschwindigkeit Schnelle Routenberechnung fehlgeschlagen (%s), Rückfall auf langsame Berechnung. Zwei-Phasen-Routing für Autonavigation deaktivieren. @@ -2925,4 +2925,12 @@ Abgedeckte Fläche: %1$s x %2$s Audio-, Video- oder Fotonotizen zu jedem Punkt auf der Karte über Widget oder Kontextmenü hinzufügen. Notizen nach Datum Berührung der Karte verbirgt Steuerungselementen und Widgets. + • Erkennung von Stoppschildern jetzt nach Fahrtrichtung +\n +\n• Neuer Algorithmus für die Bereitstellung von sinnvollen Auf-/Abstieg-Werten für GPX-tracks +\n +\n• Dauer des Aufstiegs entsprechend dem Gelände (Naismiths Regel) +\n +\n + Aktiviren mit einem Tap From d868f8b829ece3957a6cfd5e5b3e0d27d3da5a94 Mon Sep 17 00:00:00 2001 From: Leif Larsson Date: Sat, 16 Dec 2017 12:41:35 +0000 Subject: [PATCH 23/28] Translated using Weblate (Swedish) Currently translated at 92.8% (2337 of 2516 strings) --- OsmAnd/res/values-sv/strings.xml | 160 +++++++++++++++---------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml index ef04360041..d435b11f2f 100644 --- a/OsmAnd/res/values-sv/strings.xml +++ b/OsmAnd/res/values-sv/strings.xml @@ -17,13 +17,13 @@ Nästa sväng Visa varningar … Konfigurera trafikvarningar (hastighetsbegränsningar, stopp, vägbulor), varning för fartkameror samt körfältsinformation. - Använd kompassen när ingen riktning upptäcks på annat sätt + Använd kompassen när ingen riktning upptäcks på annat sätt. Använd kompass Undvik motorvägar - Zooma in/ut automatiskt på kartan beroende på din hastighet (när kartan är synkroniserad med aktuell position) + Zooma in/ut automatiskt på kartan beroende på din hastighet (när kartan är synkroniserad med aktuell position). Automatisk kartzoomning - Fäst positionen på vägen under navigering + Fäst positionen på vägen under navigering. Fäst på vägen Skapa POI-filter @@ -42,7 +42,7 @@ Undvik oasfalterade vägar Undvik färjor Undvik … - Undvik motorvägar, betalvägar, oasfalterade vägar, färjor + Undvik motorvägar, betalvägar, oasfalterade vägar, färjor. Linjal Färdriktning @@ -133,7 +133,7 @@ Proportionellt minne %4$s MB (Android-gräns %5$s MB, Dalvik %6$s MB). Kollektivtrafiksökning OsmAnd offlinenavigering är inte tillgänglig för tillfället. Vänstertrafik - Välj för länder med vänstertrafik + Välj för länder med vänstertrafik. Startpunkten är ännu inte bestämd Positionen är ännu inte känd @@ -141,7 +141,7 @@ Proportionellt minne %4$s MB (Android-gräns %5$s MB, Dalvik %6$s MB). Online-kartor och mellanlagrade kartbitar (tiles) Standardkartor (vektor) - Ladda ner och hantera offline-kartor lagrade på din enhet + Ladda ner och hantera offline-kartor lagrade på din enhet. Online-kartor Denna modul gör så att inställningarna för att aktivera speciella tillgänglighetsfunktioner blir direkt åtkomliga i OsmAnd och underlättar t.ex. justering av talhastigheten för TTS-röster, konfigurering av skärmnavigering med hjälp av en styrkula för zoomkontroll eller användande av återkoppling med text-till-tal, t.ex. för att meddela din position automatiskt. @@ -154,7 +154,7 @@ Proportionellt minne %4$s MB (Android-gräns %5$s MB, Dalvik %6$s MB). Vänligen ange OSM användarnamn och lösenord för att ladda upp GPX-filer. Tillgänglighetsläge - Sätter på tillgänglighetsfunktioner + Sätter på tillgänglighetsfunktioner. Av Enligt de globala systeminställningarna @@ -202,12 +202,12 @@ Du hittar din parkeringsplats och -tid på instrumentbrädan och i widgeten på Ta bort P-markering Snarast Rondell: ta %1$d avfarten och kör - Gör alla ytor på kartan transparenta + Gör alla ytor på kartan transparenta. Polygoner Renderingsläge Visning från zoomnivå (kräver höjdkurvsdata): Visa höjdkurvor - Öka antalet kartdetaljer som visas + Öka antalet kartdetaljer som visas. Visa mer kartdetaljer Ruttdata Format @@ -220,8 +220,8 @@ Du hittar din parkeringsplats och -tid på instrumentbrädan och i widgeten på Hittade ingenting. Om du inte kan hitta din region, kan du skapa den själv (se http://osmand.net). Aktivera modulen online-kartor för att välja olika kartkällor Online-kartor och kartbitar (tiles) - Använd online-kartor (ladda ner och cacha kartbitar på SD-kortet) - Konfigurera online- eller cachade källor för kartbitar + Använd online-kartor (ladda ner och cacha kartbitar på SD-kortet). + Konfigurera online- eller cachade källor för kartbitar. "Med denna modul får man tillgång till många typer av online-kartor, från fördefinierade Openstreetmap-rutor (som Mapnik) till satellitbilder och speciella lager såsom väderkartor, klimatkartor, geologiska kartor, reliefkartor etc. @@ -240,7 +240,7 @@ Du hittar din parkeringsplats och -tid på instrumentbrädan och i widgeten på Ej tidsbegränsad parkering Din parkerade bils plats. %1$s - Insticksmoduler aktiverar avancerade inställningar samt ger ytterligare funktionalitet + Insticksmoduler aktiverar avancerade inställningar samt ger ytterligare funktionalitet. Insticksmoduler "Med denna modul kan OsmAnd användas för att göra bidrag till OSM såsom samlande/modifierande av OSM POI-objekt, öppnande/kommenterande av OSM-anteckningar, och bidragande med inspelade GPX-filer. OSM är ett globalt kartprojekt inom public domain, För mer info, se https://openstreetmap.org. Aktivt deltagande uppskattas och bidrag kan ges direkt i OsmAnd om du anger dina personiga OSM-referenser i appen." @@ -284,19 +284,19 @@ OsmAnd utvecklas aktivt och vårt projekt och dess fortsatta framsteg bygger på Sidled (8 sektorer) Medurs (12 sektorer) Riktningsstil - Välj sätt att uttrycka relativa riktningar under rörelse + Välj sätt att uttrycka relativa riktningar under rörelse. Börja meddela automatiskt Sluta meddela automatiskt Jag är här - Ändra kartzoom med horisontell flyttning av styrkulan + Ändra kartzoom med horisontell flyttning av styrkulan. Använd styrkula för zoom-kontroll - Tillgänglighetsrelaterade inställningar + Tillgänglighetsrelaterade inställningar. Tillgänglighet Inte tillräckligt med processminne för att visa valt område Fluorescerande överlägg - Använd fluorescerande färger för att visa spår och rutter + Använd fluorescerande färger för att visa spår och rutter. Offline-redigering - Använd alltid offline-redigering + Använd alltid offline-redigering. POI-förändringar inom programmet påverkar inte nedladdade kartfiler; förändringar sparas till en lokal fil istället. Laddar upp … @@ -307,19 +307,19 @@ OsmAnd utvecklas aktivt och vårt projekt och dess fortsatta framsteg bygger på Ta bort ändringen Asynkron OSM-redigering: Lokalt sparade OSM-POIs/-Anteckningar - Visa och hantera OSM-POIs/-anteckningar noterade i lokal databas + Visa och hantera OSM-POIs/-anteckningar noterade i lokal databas. - Ange intervall för direktspårning + Ange intervall för direktspårning. Intervall för direktspårning - Ange webbadressen med parametersyntax: lat={0}, lon={1}, tidsstämpel={2}, hdop={3}, höjd={4}, hastighet={5}, bearing={6} + Ange webbadressen med parametersyntax: lat={0}, lon={1}, tidsstämpel={2}, hdop={3}, höjd={4}, hastighet={5}, bäring={6}. Webbadress för direktspårning Logga spår med GPX-widget eller via inställningen \'Trippinspelning\'. Visa aktuellt spår - Denna gratisversion av OsmAnd är begränsad till %1$s nedladdningar och stöder inte Wikipedia-artiklar offline. + Denna gratisversion av OsmAnd är begränsad till %1$s nedladdningar (för att lägga till eller uppdatera kartor) och stöder inte Wikipedia-artiklar offline. Gratisversion - Visa POI-beskrivning + Visa POI-beskrivning. Nordamerika Nordamerika - USA Centralamerika @@ -342,17 +342,17 @@ OsmAnd utvecklas aktivt och vårt projekt och dess fortsatta framsteg bygger på Standardprofil Kartvy och navigeringsinställningar är kopplade till din profil. Ange din standardprofil här. Navigering - Ange navigeringsalternativ + Ange navigeringsalternativ. Globala inställningar Allmänna inställningar - Konfigurera globala inställningar + Konfigurera globala inställningar. Globala inställningar Ditt OSM-användarnamn - Behövs för ändringar i openstreetmap.org + Behövs för ändringar i openstreetmap.org. Ditt OSM-lösenord Bakgrundsläge - OsmAnd körs i bakgrunden medan skärmen är avstängd + OsmAnd körs i bakgrunden medan skärmen är avstängd. Det finns inte tillräckligt med ledigt utrymme för att ladda ner %1$s MB (ledigt: %2$s). @@ -365,7 +365,7 @@ Nyttjat utrymme är {1} MB. Inbyggt bibliotek stöds inte på den här enheten. Initierar inbyggt bibliotek … Auto-centrerad kartvy - Tid tills kartvyn synkroniseras med aktuell position + Tid tills kartvyn synkroniseras med aktuell position. Auto-centrera endast nav Auto-centrera kartan endast vid navigering. @@ -410,7 +410,7 @@ Nyttjat utrymme är {1} MB. %1$d av %2$d post(er) har överförts utan problem. Skicka till OSM Visa mer kartdetaljer - Visa några vektor-kartdetaljer (vägar, etc.) vid lägre zoom + Visa några vektor-kartdetaljer (vägar, etc.) vid lägre zoom. Favoritpunkt(er) har tagits bort utan problem. Du håller på att ta bort %1$d favorit(er) och %2$d favoritgrupp(er). Är du säker? Hem @@ -445,10 +445,10 @@ Nyttjat utrymme är {1} MB. Intressepunktsdata TTS-röst Ny sökning - Välj textstorlek för namn på kartan + Välj textstorlek för namn på kartan. Teckenstorlek på karta Renderingsfelsökningsinformation - Visa renderingsprestanda + Visa renderingsprestanda. Packar upp nya data … @@ -463,40 +463,40 @@ Nyttjat utrymme är {1} MB. \'Konfigurera karta\' -> \'Kartkälla…\' -> \'Offline vektor-kartor\'.]]> Röstväglednings-output - Välj högtalare för uppspelning av röstvägledning + Välj högtalare för uppspelning av röstvägledning. Telefonsamtalsljud (även för att avbryta bluetooth-bilstereo) Ljudnotifiering Media-/musikljud Appen kan inte hämta kartlager %1$s. Försök installera om det. - Ändra överläggstransparens + Ändra överläggstransparens. Överläggstransparens - Ändra transparens för baskartan + Ändra transparens för baskartan. Transparens för baskartan Underläggskarta … Underläggskarta - Välj underläggskarta + Välj underläggskarta. Överläggskarta … Överläggskarta - Välj överläggskarta - Kartan är redan installerad; inställningarna kommer att uppdateras - Välj kartor/kartrutor att installera eller uppdatera - En anslutning till Internet krävs för denna åtgärd men någon sådan är inte tillgänglig + Välj överläggskarta. + Kartan är redan installerad; inställningarna kommer att uppdateras. + Välj kartor/kartrutor att installera eller uppdatera. + En anslutning till Internet krävs för denna åtgärd men någon sådan är inte tillgänglig. Installera fler … - Minsta zoomnivå för att använda vektorkartor + Minsta zoomnivå för att använda vektorkartor. Minsta vektor-zoomnivå - Ett fel uppstod vid offline-sökning - Det gick inte att tolka geo uppsåt \'%s\' + Ett fel uppstod vid offline-sökning. + Det gick inte att tolka geo-uppsåt \'%s\'. Sök adress med hjälp av offline-kartor System - Välj visningsspråk (starta om OsmAnd efter språkbyte) + Välj visningsspråk (starta om OsmAnd efter språkbyte). Visningsspråk Nästa Föregående - Ändra enheter för avstånd + Ändra enheter för avstånd. Enheter för avstånd Eng. mil/fot Eng. mil/yard @@ -594,14 +594,14 @@ Nyttjat utrymme är {1} MB. Natt Soluppgång/solnedgång Ljussensor - Välj regel för byte mellan dag- och nattläge + Välj regel för byte mellan dag- och nattläge. Dag-/nattläge Ladda ner {0} fil(er) ({1} MB)? {0} post(er) markerad(e) Visa nerladdat Snabbaste vägen - Aktivera för att beräkna den snabbaste vägen eller inaktivera för den bränslesnålaste vägen + Aktivera för att beräkna den snabbaste vägen eller inaktivera för den bränslesnålaste vägen. Vid zoom {0} hämta {1} kartbitar ({2} MB) Ladda ner karta Sevärdheter @@ -610,13 +610,13 @@ Nyttjat utrymme är {1} MB. Välj maximal zoom att förladda Denna karta kunde inte laddas ner Kontinuerlig rendering - Visa kontinuerlig rendering istället för bild-direkt + Visa kontinuerlig rendering istället för direkt-bild. Ett fel uppstod vid renderingen av valt område Använd platsen … Renderaren laddades utan problem Ett undantagsfel inträffade: renderaren laddades inte Vektorrenderare - Välj renderingsutseende + Välj renderingsutseende. Visa POI-webbplats Visa POI-telefon @@ -626,7 +626,7 @@ Nyttjat utrymme är {1} MB. Telefon Skriv för att filtrera Skärm med hög upplösning - Sträck inte ut (och gör oskarpa) kartbitar på högupplösta skärmar + Sträck inte ut (och gör oskarpa) kartbitar på högupplösta skärmar. Sök kollektivtrafik Transportresultat (ingen destination): @@ -648,7 +648,7 @@ Nyttjat utrymme är {1} MB. Till kompass I färdriktningen Vrid inte (norr är uppåt) - Välj justering av kartskärmen + Välj justering av kartskärmen. Kartorientering Ruttdetaljer Favoriterna importerades utan problem @@ -666,14 +666,14 @@ Nyttjat utrymme är {1} MB. Rutt OSM-anteckningar (online) - Intressepunkter (POI) … + Överlägg (POI) … Kartkälla … Kartlager Sök intressepunkt - Använd styrkulan för att flytta kartan + Använd styrkulan för att flytta kartan. Använd styrkula - Ange maximal väntetid för varje positionsbestämning i bakgrunden + Ange maximal väntetid för varje positionsbestämning i bakgrunden. Maximal väntetid för fix Var är jag? @@ -681,11 +681,11 @@ Nyttjat utrymme är {1} MB. Nätverk GPS sekunder - Ange väckningsintervall som används av bakgrundstjänsten + Ange väckningsintervall som används av bakgrundstjänsten. GPS-väckningsintervall - Välj platsleverantör för bakgrundstjänsten + Välj platsleverantör för bakgrundstjänsten. Platsleverantör - Kör OsmAnd i bakgrunden för att spåra din position medan skärmen är avstängd + Kör OsmAnd i bakgrunden för att spåra din position medan skärmen är avstängd. Kör OsmAnd i bakgrunden Tjänsten bakgrundsnavigering kräver en platsleverantör för att vara påslagen. Dölj filter @@ -721,7 +721,7 @@ Nyttjat utrymme är {1} MB. Stående Liggande Skärmorientering - Stående, liggande eller som enheten + Stående, liggande eller som enheten. Öppettider format stöds inte för redigering Lägg till en ny regel Rutter @@ -737,7 +737,7 @@ Nyttjat utrymme är {1} MB. Resvägssträcka Transporter OK - Visa hållplatser för kollektivtrafik på kartan + Visa hållplatser för kollektivtrafik på kartan. Visa hållplatser Navigationsappen OsmAnd POI-data har uppdaterats utan problem ({0} laddades) @@ -758,9 +758,9 @@ Nyttjat utrymme är {1} MB. Söker adress … Online-sökning: Husnummer, gata, stad Offline - Välj högsta zoomnivå att ladda ner för online-kartbitar + Välj högsta zoomnivå att ladda ner för online-kartbitar. Total sträcka %1$s, restid %2$d h %3$d min. - Välj en online- eller offline-navigeringstjänst + Välj en online- eller offline-navigeringstjänst. Navigeringstjänst Datalagringsmappen på SD-kortet är inte tillgänglig! Ladda ner {0} - {1}? @@ -918,7 +918,7 @@ Nyttjat utrymme är {1} MB. Ta bort destination Mellanliggande destination %1$s Online Nominatim - Hantera kartfiler + Hantera kartfiler. ofullständig Sök adress med OSM Nominatim Max. online-zoom @@ -940,10 +940,10 @@ Nyttjat utrymme är {1} MB. Slutförd - Använd Internet för att beräkna rutt + Använd Internet för att beräkna en rutt. Använd online-navigering - Ange inställningar för Openstreetmap.org (OSM) som behövs för bidrag till OSM - Ange språk, ladda ner/om data + Ange inställningar för OpenStreetMap.org (OSM) som behövs för bidrag till OSM. + Ange språk, ladda ner/om data. Data Redigera OSM @@ -959,15 +959,15 @@ Nyttjat utrymme är {1} MB. Mål - Välj mellan inhemska och engelska namn på kartorna + Välj mellan inhemska och engelska namn på kartorna. Namn på engelska Appinställningar Sök adress - Aktivera 3D-vy på kartan + Aktivera 3D-vy på kartan. 3D-vy på kartan - Visa POI över karta (använd det senast valda filtret) - Visa intressepunkt - Välj källa för onlinekartor eller cachade kartbitar + Visa det senast valda POI-överlägget på kartan. + Visa POI-överlägg + Välj källa för onlinekartor eller cachade kartbitar. Källa för kartbitar Kartkälla Visa din position @@ -1000,7 +1000,7 @@ Nyttjat utrymme är {1} MB. Sök byggnader stegvis Visa färdriktning Närmaste bekvämligheter - Skänk lite pengar så att nya funktioner kan läggas till i appen + Skänk lite pengar så att nya funktioner kan läggas till i appen. Skuggad relief @@ -1141,7 +1141,7 @@ Nyttjat utrymme är {1} MB. Baskarta (världen) Typ av kamerafokus - Välj typ av intern kamerafokus + Välj läge för intern kamerafokus. Autofokus Hyperfokal fokus Utökat skärpedjup (EDOF) @@ -1149,7 +1149,7 @@ Nyttjat utrymme är {1} MB. Makrofokusläge (närbild) Kameran försöker fokusera hela tiden Spela upp ljud vid tagning av foto - Välj om ett ljud ska spelas upp vid fotografering + Välj om ett ljud ska spelas upp vid fotografering. Kartförstoring @@ -1281,12 +1281,12 @@ Nyttjat utrymme är {1} MB. \nDu kan spåra alla enheter som är medlemmar i en grupp i realtid och ni kan kommunicera med varandra. Det finns olika alternativ för sessionsspårning eller permanent spårning. \n \nAnonyma grupper kan skapas för ett specificerat antal dagar och begränsas till bestämda funktioner, d.v.s. det finns ingen fjärrkontroll eller gruppadministratör. Helt fungerande grupper kan å andra sidan skapas på webbplatsen och endast registrerade användare har tillgång till dem. " - Avbryt all musik vid meddelanden (sänk inte endast volymen) + Avbryt all musik vid röstmeddelanden (sänk inte endast volymen). Pausa musiken Dela rutt som GPX-fil Utdelad rutt via OsmAnd Endast manuellt (tryck på pilen) - Läs upp navigationsinstruktioner med regelbundna intervall + Läs upp navigationsinstruktioner med regelbundna intervall. Upprepa navigationsinstruktioner Anslutningsproblem med OsMo: @@ -1408,7 +1408,7 @@ Nyttjat utrymme är {1} MB. Ankomstmeddelande Hur tidigt vill du höra ankomstmeddelandet? - Online OSM-kartklassificering med bilder + Online OSM-kartklassificering med bilder. Spara data som GPX-fil eller importera waypoints till favoriter? Favoriter utdelade via OsmAnd Skickar nod… @@ -1496,7 +1496,7 @@ Vill du fortsätta med en ny registrering? De sista metrarna Fotostorlek - Välj fotostorlek för intern kamera + Välj fotostorlek för den interna kameran. Bil Cykel @@ -1795,7 +1795,7 @@ Long %2$s Undvik att korsa gränsen till ett annat land. Höjdgräns Smart omräkning av rutt - Räkna om endast början av rutten för långa resor + Räkna om endast början av rutten för långa resor. Ange tillåten fordonshöjd på rutter. Skicka positionen @@ -1966,7 +1966,7 @@ Long %2$s %1$.1f av %2$.1f MB Uppdatera alla (%1$s MB) Gratis nedladdningar hämtade - Visar antalet gratisnedladdningar du gjort + Visar antalet gratisnedladdningar du gjort. Hämtar - %1$d fil(er) geo: @@ -1988,8 +1988,8 @@ Long %2$s Annat Insticksmoduler Första gången - Hur man hämtar kartor och gör grundinställningar - Ställa in navigering + Hur man hämtar kartor och gör grundinställningar. + Ställa in navigering. Frågor och svar Frågor och svar Kartvisning @@ -2503,7 +2503,7 @@ Vänligen tillhandahåll fullständig kod Kartöverlägg Lägg till överlägg "Kartöverlägget har ändrats till \"%s\"." - Tryck länge och dra knappen för att ändra dess position på skärmen + Tryck länge och dra knappen för att ändra dess position på skärmen. Använd höjddata Använd terränghöjddata från SRTM, ASTER och EU-DEM. From cb73059a9c28a72766bce225cdbe7fb46d687af5 Mon Sep 17 00:00:00 2001 From: Waleed Abdeen Date: Sat, 16 Dec 2017 00:11:16 +0000 Subject: [PATCH 24/28] Translated using Weblate (Arabic) Currently translated at 44.0% (1462 of 3322 strings) --- OsmAnd/res/values-ar/phrases.xml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-ar/phrases.xml b/OsmAnd/res/values-ar/phrases.xml index 7caa517a9c..aa6f8c577c 100644 --- a/OsmAnd/res/values-ar/phrases.xml +++ b/OsmAnd/res/values-ar/phrases.xml @@ -529,7 +529,7 @@ صحن نوع الدفع (نقل) نوع - نوع + نوع الوقود سق في سق عبر الفئة المستهدفة @@ -1607,4 +1607,19 @@ ركوب الأمواج عمل فني ميدان معركة - + نوع إمدادات المياه + تنقية المياه + نقطة دراسة استقصائية + رسوم الموقف + + نوع الخريطة: شارع + محطة شحن + + شارع + رقم المنزل + شقة + + مركز الدفع + تحويل أموال + + From 771f956f5020db2b7aedc90c11a14c2a4afe984a Mon Sep 17 00:00:00 2001 From: anonymous <> Date: Sat, 16 Dec 2017 20:10:00 +0000 Subject: [PATCH 25/28] Translated using Weblate (Portuguese (Brazil)) Currently translated at 71.5% (1801 of 2516 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 576735f23b..a9a5f75523 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -2267,4 +2267,5 @@ Pôr do Sol: %2$s Voltar Ver Pontos de passagem adicionados nos marcadores de mapa - + Mostrar o que passou + From 9831ea656eea60a71f35c0cc90d7a97e5fc567d5 Mon Sep 17 00:00:00 2001 From: Guilherme Peev dos Santos Date: Sat, 16 Dec 2017 20:11:14 +0000 Subject: [PATCH 26/28] Translated using Weblate (Portuguese (Brazil)) Currently translated at 71.6% (1802 of 2516 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index a9a5f75523..b441d7b5b3 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -2268,4 +2268,5 @@ Pôr do Sol: %2$s Ver Pontos de passagem adicionados nos marcadores de mapa Mostrar o que passou + Ocultar o que passou From 3b2957f4d4bd6c745c78b076562c4b846103676b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Mon, 11 Dec 2017 09:39:54 +0000 Subject: [PATCH 27/28] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2516 of 2516 strings) --- OsmAnd/res/values-uk/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index f4b587930c..1c0de8df0c 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -3067,7 +3067,7 @@ Імпортувати як GPX-файл Імпортувати як закладки Імпортувати файл - Дотик на мапі перемикає кнопки управління і віджети. + Дотик на мапі приховує кнопки управління і віджети. Повноекранний режим Показати на верхній панелі Позначати пройдене From fd0651faab900b761b2fe8a70028663b941fba0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D1=96=D0=B9=20=D0=94=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BA?= Date: Sun, 17 Dec 2017 20:03:41 +0000 Subject: [PATCH 28/28] Translated using Weblate (Ukrainian) Currently translated at 100.0% (3322 of 3322 strings) --- OsmAnd/res/values-uk/phrases.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml index 29b5a981c1..8151d754fa 100644 --- a/OsmAnd/res/values-uk/phrases.xml +++ b/OsmAnd/res/values-uk/phrases.xml @@ -3644,4 +3644,12 @@ Депо +Поштова скринька + Вулиця + Номер будинку + Квартира + + Платіжний центр + Грошові перекази +